@bdky/aaas-pilot-kit 1.0.6 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js CHANGED
@@ -48,6 +48,6 @@ Binding constraints:
48
48
 
49
49
  - service redirections:
50
50
  - ${e.map(e=>k(e)).join("\n - ")}`}function eU(e,n,r){if(Array.isArray(e.bindings)&&1===e.bindings.length){let[i]=e.bindings;return void(ej(i)&&function e(n,r,i,o){if(1===n.redirections.length){let[s]=n.redirections;return void(ej(s)&&e(s,r,i,[...o,s.binding.targetServiceIdentifier]))}eA(n.redirections,r,i,o)}(i,n,r,[i.binding.targetServiceIdentifier]))}eA(e.bindings,n,r,[])}function eF(e){return M.is(e)?e.unwrap():e}function eq(e){return(n,r,i)=>{let o=eF(i.value),s=r.concat({getAncestorsCalled:!1,name:i.name,serviceIdentifier:o,tags:i.tags}),a=new ek(s.last),c=i.kind===cV.multipleInjection&&i.chained,d=eI(n,a,{chained:c}),l=[],u={bindings:l,isContextFree:!0,serviceIdentifier:o};if(l.push(...e(n,s,d,u,c)),u.isContextFree=!s.last.elem.getAncestorsCalled,i.kind===cV.singleInjection){eU(u,i.optional,s.last);let[e]=l;u.bindings=e}return u}}function eH(e){return(n,r,i)=>{let o=eF(i.value),s=r.concat({getAncestorsCalled:!1,name:i.name,serviceIdentifier:o,tags:i.tags}),a=new ek(s.last),c=i.kind===cG.multipleInjection&&i.chained,d=eI(n,a,{chained:c}),l=[],u={bindings:l,isContextFree:!0,serviceIdentifier:o};if(l.push(...e(n,s,d,u,c)),u.isContextFree=!s.last.elem.getAncestorsCalled,i.kind===cG.singleInjection){eU(u,i.optional,s.last);let[e]=l;u.bindings=e}return u}}function eV(e){var n,r,i;let o=(n=e,(e,r,i)=>{let o={binding:r,classMetadata:e.operations.getClassMetadata(r.implementationType),constructorParams:[],propertyParams:new Map};return n({autobindOptions:e.autobindOptions,node:o,operations:e.operations,servicesBranch:e.servicesBranch},i)}),s=(r=e,(e,n,i)=>r({autobindOptions:e.autobindOptions,node:{binding:n,params:[]},operations:e.operations,servicesBranch:e.servicesBranch},i)),a=(e,n,r,i,a)=>{let d=ej(i)?i.binding.targetServiceIdentifier:i.serviceIdentifier;e.servicesBranch.push(d);let l=[];for(let i of r)switch(i.type){case V:l.push(o(e,i,n));break;case G:l.push(s(e,i,n));break;case W:{let r=c(e,n,i,a);l.push(r);break}default:l.push({binding:i})}return e.servicesBranch.pop(),l},c=(i=a,(e,n,r,o)=>{let s={binding:r,redirections:[]},a=eI(e,new ek(n.last),{chained:o,customServiceIdentifier:r.targetServiceIdentifier});return s.redirections.push(...i(e,n,a,s,o)),s});return a}function ez(e,n,r,i){void 0!==e&&(eO.is(r)&&!r.isExpanded()||r.isContextFree)?n.setPlan(e,{tree:{root:r}}):n.setNonCachedServiceNode(r,i)}class eG extends eO{#_;#w;#S;#R;constructor(e,n,r,i,o){super(o,eF(i.value)),this.#w=n,this.#_=e,this.#S=r,this.#R=i}_buildPlanServiceNode(){return this.#w(this.#_,this.#S,this.#R)}}class eW extends eO{#_;#T;#S;#C;constructor(e,n,r,i,o){super(o,eF(i.value)),this.#_=e,this.#T=n,this.#S=r,this.#C=i}_buildPlanServiceNode(){return this.#T(this.#_,this.#S,this.#C)}}function eX(e,n,r,i){var o,s,a,c,d,l,u,f;let p,h,m=(o=e,s=r,a=o,c=s,p=(e,n,r)=>{if(r.kind===cV.unmanaged)return;let i=function(e){let n;if(0===e.tags.size)n=void 0;else{if(1!==e.tags.size)return;{let[r,i]=e.tags.entries().next().value;n={key:r,value:i}}}let r=M.is(e.value)?e.value.unwrap():e.value;return e.kind===cV.multipleInjection?{chained:e.chained,isMultiple:!0,name:e.name,optional:e.optional,serviceIdentifier:r,tag:n}:{isMultiple:!1,name:e.name,optional:e.optional,serviceIdentifier:r,tag:n}}(r);if(void 0!==i){let n=e.operations.getPlan(i);if(void 0!==n&&n.tree.root.isContextFree)return n.tree.root}let o=c(e,n,r),s=new eG(e,a,n,r,o);return ez(i,e.operations,s,{bindingConstraintsList:n,chainedBindings:r.kind===cV.multipleInjection&&r.chained,optionalBindings:r.optional}),s},(e,n,r)=>{let i=n.classMetadata;for(let[o,s]of i.constructorArguments.entries())n.constructorParams[o]=p(e,r,s);for(let[o,s]of i.properties){let i=p(e,r,s);void 0!==i&&n.propertyParams.set(o,i)}return e.node}),v=(d=n,l=i,u=d,f=l,h=(e,n,r)=>{let i=function(e){let n;if(0===e.tags.size)n=void 0;else{if(1!==e.tags.size)return;{let[r,i]=e.tags.entries().next().value;n={key:r,value:i}}}let r=M.is(e.value)?e.value.unwrap():e.value;return e.kind===cG.multipleInjection?{chained:e.chained,isMultiple:!0,name:e.name,optional:e.optional,serviceIdentifier:r,tag:n}:{isMultiple:!1,name:e.name,optional:e.optional,serviceIdentifier:r,tag:n}}(r);if(void 0!==i){let n=e.operations.getPlan(i);if(void 0!==n&&n.tree.root.isContextFree)return n.tree.root}let o=f(e,n,r),s=new eW(e,u,n,r,o);return ez(i,e.operations,s,{bindingConstraintsList:n,chainedBindings:r.kind===cG.multipleInjection&&r.chained,optionalBindings:r.optional}),s},(e,n,r)=>{for(let[i,o]of n.binding.metadata.arguments.entries())n.params[i]=h(e,r,o);return e.node});return(e,n)=>e.node.binding.type===V?m(e,e.node,n):v(e,e.node,n)}class e$ extends eO{#_;constructor(e,n){super(n,n.serviceIdentifier),this.#_=e}_buildPlanServiceNode(){return eZ(this.#_)}}let eJ=eq(eQ),eK=eH(eQ),eY=eV(eX(eJ,eK,eJ,eK));function eQ(e,n,r,i,o){return eY(e,n,r,i,o)}let eZ=(cR=eY,e=>{let n=eP(e),r=new ek(n.last),i=e.rootConstraints.isMultiple&&e.rootConstraints.chained,o=eI(e,r,{chained:i}),s=[],a={bindings:s,isContextFree:!0,serviceIdentifier:e.rootConstraints.serviceIdentifier};if(s.push(...cR(e,n,o,a,i)),a.isContextFree=!n.last.elem.getAncestorsCalled,!e.rootConstraints.isMultiple){var c;eU(a,null!=(c=e.rootConstraints.isOptional)&&c,n.last);let[r]=s;a.bindings=r}return a});(cT=cW||(cW={})).bindingAdded="bindingAdded",cT.bindingRemoved="bindingRemoved";class e0{#x;#E;#O;constructor(){this.#x=[],this.#E=8,this.#O=1024}*[Symbol.iterator](){let e=0;for(let n of this.#x){let r=n.deref();void 0===r?++e:yield r}this.#x.length>=this.#E&&this.#k(e)&&this.#I(e)}push(e){let n=new WeakRef(e);if(this.#x.push(n),this.#x.length>=this.#E&&this.#x.length%this.#O==0){let e=0;for(let n of this.#x)void 0===n.deref()&&++e;this.#k(e)&&this.#I(e)}}#I(e){let n=Array(this.#x.length-e),r=0;for(let e of this.#x)e.deref()&&(n[r++]=e);this.#x=n}#k(e){return e>=.5*this.#x.length}}let e1=eV(eX(eJ,eK,function(e,n,r){return e2(e,n,r)},function(e,n,r){return e3(e,n,r)})),e2=(r=eq(e1),(e,n,i)=>{try{return r(e,n,i)}catch(e){if(ee.isErrorOfKind(e,cU.planning))return;throw e}}),e3=(i=eH(e1),(e,n,r)=>{try{return i(e,n,r)}catch(e){if(ee.isErrorOfKind(e,cU.planning))return;throw e}});function e4(e,n,r,i,o){if(eO.is(n)&&!n.isExpanded())return{isContextFreeBinding:!0,shouldInvalidateServiceNode:!1};let s=new ek(i.last);return!r.isSatisfiedBy(s)||i.last.elem.getAncestorsCalled?{isContextFreeBinding:!i.last.elem.getAncestorsCalled,shouldInvalidateServiceNode:!1}:function(e,n,r,i,o){let s;try{[s]=e1(e,i,[r],n,o)}catch(e){if(ex(e))return{isContextFreeBinding:!1,shouldInvalidateServiceNode:!0};throw e}var a=n,c=s;if(Array.isArray(a.bindings))a.bindings.push(c);else{if(void 0!==a.bindings){if(!eO.is(a))throw new ee(cU.planning,"Unexpected non-lazy plan service node. This is likely a bug in the planning logic. Please, report this issue");return{isContextFreeBinding:!0,shouldInvalidateServiceNode:!0}}a.bindings=c}return{isContextFreeBinding:!0,shouldInvalidateServiceNode:!1}}(e,n,r,i,o)}function e5(e,n,r,i){var o;let s;if(eO.is(e)&&!e.isExpanded())return{bindingNodeRemoved:void 0,isContextFreeBinding:!0};let a=new ek(r.last);if(!n.isSatisfiedBy(a)||r.last.elem.getAncestorsCalled)return{bindingNodeRemoved:void 0,isContextFreeBinding:!r.last.elem.getAncestorsCalled};if(Array.isArray(e.bindings))e.bindings=e.bindings.filter(e=>e.binding!==n||(s=e,!1));else if((null==(o=e.bindings)?void 0:o.binding)===n)if(s=e.bindings,i)e.bindings=void 0;else{if(!eO.is(e))throw new ee(cU.planning,"Unexpected non-lazy plan service node. This is likely a bug in the planning logic. Please, report this issue");e.invalidate()}return{bindingNodeRemoved:s,isContextFreeBinding:!0}}class e6{#M;#P;#j;#A;#D;#B;constructor(){this.#M=new Map,this.#P=this.#N(),this.#j=this.#N(),this.#A=this.#N(),this.#D=this.#N(),this.#B=new e0}clearCache(){for(let e of this.#L())e.clear();for(let e of this.#B)e.clearCache()}get(e){var n,r,i,o,s,a;return void 0===e.name?void 0===e.tag?this.#U(this.#P,e).get(e.serviceIdentifier):null==(r=this.#U(this.#D,e).get(e.serviceIdentifier))||null==(n=r.get(e.tag.key))?void 0:n.get(e.tag.value):void 0===e.tag?null==(i=this.#U(this.#j,e).get(e.serviceIdentifier))?void 0:i.get(e.name):null==(a=this.#U(this.#A,e).get(e.serviceIdentifier))||null==(s=a.get(e.name))||null==(o=s.get(e.tag.key))?void 0:o.get(e.tag.value)}invalidateServiceBinding(e){for(let n of(this.#F(e),this.#q(e),this.#H(e),this.#V(e),this.#z(e),this.#B))n.invalidateServiceBinding(e)}set(e,n){void 0===e.name?void 0===e.tag?this.#U(this.#P,e).set(e.serviceIdentifier,n):this.#G(this.#G(this.#U(this.#D,e),e.serviceIdentifier),e.tag.key).set(e.tag.value,n):void 0===e.tag?this.#G(this.#U(this.#j,e),e.serviceIdentifier).set(e.name,n):this.#G(this.#G(this.#G(this.#U(this.#A,e),e.serviceIdentifier),e.name),e.tag.key).set(e.tag.value,n)}setNonCachedServiceNode(e,n){let r=this.#M.get(e.serviceIdentifier);void 0===r&&(r=new Map,this.#M.set(e.serviceIdentifier,r)),r.set(e,n)}subscribe(e){this.#B.push(e)}#N(){let e=Array(8);for(let n=0;n<e.length;++n)e[n]=new Map;return e}#W(e,n,r,i){let o,s=!!(2&n);return o=s?{chained:!!(0&n),isMultiple:s,serviceIdentifier:e.binding.serviceIdentifier}:{isMultiple:s,serviceIdentifier:e.binding.serviceIdentifier},1&n&&(o.isOptional=!0),void 0!==r&&(o.name=r),void 0!==i&&(o.tag=i),{autobindOptions:void 0,operations:e.operations,rootConstraints:o,servicesBranch:[]}}#G(e,n){let r=e.get(n);return void 0===r&&(r=new Map,e.set(n,r)),r}#U(e,n){return e[this.#X(n)]}#L(){return[this.#M,...this.#P,...this.#j,...this.#A,...this.#D]}#X(e){return e.isMultiple?4*!!e.chained|!!e.optional|2:+!!e.optional}#q(e){for(let[n,r]of this.#j.entries()){let i=r.get(e.binding.serviceIdentifier);if(void 0!==i)for(let[r,o]of i.entries())this.#$(e,o,n,r,void 0)}}#H(e){for(let[n,r]of this.#A.entries()){let i=r.get(e.binding.serviceIdentifier);if(void 0!==i)for(let[r,o]of i.entries())for(let[i,s]of o.entries())for(let[o,a]of s.entries())this.#$(e,a,n,r,{key:i,value:o})}}#J(e){switch(e.binding.type){case W:for(let n of e.redirections)this.#J(n);break;case V:for(let n of e.constructorParams)void 0!==n&&this.#K(n);for(let n of e.propertyParams.values())this.#K(n);break;case G:for(let n of e.params)this.#K(n)}}#K(e){let n=this.#M.get(e.serviceIdentifier);void 0!==n&&n.has(e)&&(n.delete(e),this.#Y(e))}#Y(e){if((!eO.is(e)||e.isExpanded())&&void 0!==e.bindings)if(Array.isArray(e.bindings))for(let n of e.bindings)this.#J(n);else this.#J(e.bindings)}#z(e){let n=this.#M.get(e.binding.serviceIdentifier);if(void 0!==n)switch(e.kind){case cW.bindingAdded:for(let[r,i]of n){let n=e4({autobindOptions:void 0,operations:e.operations,servicesBranch:[]},r,e.binding,i.bindingConstraintsList,i.chainedBindings);n.isContextFreeBinding?n.shouldInvalidateServiceNode&&eO.is(r)&&(this.#Y(r),r.invalidate()):this.clearCache()}break;case cW.bindingRemoved:for(let[r,i]of n){let n=e5(r,e.binding,i.bindingConstraintsList,i.optionalBindings);n.isContextFreeBinding?void 0!==n.bindingNodeRemoved&&this.#J(n.bindingNodeRemoved):this.clearCache()}}}#F(e){for(let[n,r]of this.#P.entries()){let i=r.get(e.binding.serviceIdentifier);this.#$(e,i,n,void 0,void 0)}}#V(e){for(let[n,r]of this.#D.entries()){let i=r.get(e.binding.serviceIdentifier);if(void 0!==i)for(let[r,o]of i.entries())for(let[i,s]of o.entries())this.#$(e,s,n,void 0,{key:r,value:i})}}#$(e,n,r,i,o){var s,a,c,d,l,u;if(void 0!==n&&eO.is(n.tree.root)){let f=this.#W(e,r,i,o);switch(e.kind){case cW.bindingAdded:{let r=(s=n.tree.root,a=e.binding,eO.is(s)&&!s.isExpanded()?{isContextFreeBinding:!0,shouldInvalidateServiceNode:!1}:e4(f,s,a,eP(f),f.rootConstraints.isMultiple&&f.rootConstraints.chained));r.isContextFreeBinding?r.shouldInvalidateServiceNode&&(this.#Y(n.tree.root),n.tree.root.invalidate()):this.clearCache()}break;case cW.bindingRemoved:{let r=(c=f,d=n.tree.root,l=e.binding,eO.is(d)&&!d.isExpanded()?{bindingNodeRemoved:void 0,isContextFreeBinding:!0}:e5(d,l,eP(c),null!=(u=c.rootConstraints.isOptional)&&u));r.isContextFreeBinding?void 0!==r.bindingNodeRemoved&&this.#J(r.bindingNodeRemoved):this.clearCache()}}}}}function e8(e,n){return O(n)?(e.cache={isRight:!0,value:n},n.then(n=>e9(e,n))):e9(e,n)}function e9(e,n){return e.cache={isRight:!0,value:n},n}async function e7(e,n,r){let i=await n,o=r.next();for(;!0!==o.done;)i=await o.value(e.context,i),o=r.next();return i}function te(e,n,r){var i,o,s;let a,c=r;if(void 0!==n.onActivation){let r=n.onActivation;c=O(c)?c.then(n=>r(e.context,n)):r(e.context,c)}return i=e,o=n.serviceIdentifier,s=c,void 0===(a=i.getActivations(o))?s:O(s)?e7(i,s,a[Symbol.iterator]()):function(e,n,r){let i=n,o=r.next();for(;!0!==o.done;){let n=o.value(e.context,i);if(O(n))return e7(e,n,r);i=n,o=r.next()}return i}(i,s,a[Symbol.iterator]())}function tt(e){return(n,r)=>r.cache.isRight?r.cache.value:e8(r,te(n,r,e(n,r)))}let tn=tt(function(e,n){return n.value});function tr(e){return e}function ti(e,n){return(r,i)=>{let o=e(i);switch(o.scope){case L:if(o.cache.isRight)return o.cache.value;return e8(o,te(r,o,n(r,i)));case N:{if(r.requestScopeCache.has(o.id))return r.requestScopeCache.get(o.id);let e=te(r,o,n(r,i));return r.requestScopeCache.set(o.id,e),e}case U:return te(r,o,n(r,i))}}}let to=ti(tr,function(e,n){return n.value(e.context)}),ts=tt(function(e,n){return n.factory(e.context)});function ta(e,n,r){let i=function(e,n,r){if(!(r in e))throw new ee(cU.resolution,`Expecting a "${r.toString()}" property when resolving "${n.implementationType.name}" class @postConstruct decorated method, none found.`);if("function"!=typeof e[r])throw new ee(cU.resolution,`Expecting a "${r.toString()}" method when resolving "${n.implementationType.name}" class @postConstruct decorated method, a non function property was found instead.`);{let i;try{i=e[r]()}catch(e){throw new ee(cU.resolution,`Unexpected error found when calling "${r.toString()}" @postConstruct decorated method on class "${n.implementationType.name}"`,{cause:e})}if(O(i))return async function(e,n,r){try{await r}catch(r){throw new ee(cU.resolution,`Unexpected error found when calling "${n.toString()}" @postConstruct decorated method on class "${e.implementationType.name}"`,{cause:r})}}(n,r,i)}}(e,n,r);return O(i)?i.then(()=>e):e}function tc(e,n,r){if(0===r.size)return e;let i=e;for(let e of r)i=O(i)?i.then(r=>ta(r,n,e)):ta(i,n,e);return i}function td(e){return(n,r,i)=>{let o=new i.binding.implementationType(...n),s=e(r,o,i);return O(s)?s.then(()=>tc(o,i.binding,i.classMetadata.lifecycle.postConstructMethodNames)):tc(o,i.binding,i.classMetadata.lifecycle.postConstructMethodNames)}}let tl=tt(function(e,n){return n.provider(e.context)});function tu(e){return e.binding}function tf(e){return e.binding}let tp=(cC=t_,(e,n,r)=>{let i=[];for(let[o,s]of r.propertyParams){let a=r.classMetadata.properties.get(o);if(void 0===a)throw new ee(cU.resolution,`Expecting metadata at property "${o.toString()}", none found`);a.kind!==cV.unmanaged&&void 0!==s.bindings&&(n[o]=cC(e,s),O(n[o])&&i.push((async()=>{n[o]=await n[o]})()))}if(i.length>0)return Promise.all(i).then(()=>{})}),th=(cx=tb,function e(n,r){let i=[];for(let o of r.redirections)ej(o)?i.push(...e(n,o)):i.push(cx(n,o));return i}),tm=(cE=t_,ck=(e,n)=>{let r=[];for(let i of n.constructorParams)void 0===i?r.push(void 0):r.push(cE(e,i));return r.some(O)?Promise.all(r):r},cO=td(tp),cI=async(e,n,r)=>cO(await e,n,r),cM=td(tp),(e,n)=>{let r=ck(e,n);return O(r)?cI(r,e,n):cM(r,e,n)}),tv=(cP=t_,cj=(e,n)=>{let r=[];for(let i of n.params)r.push(cP(e,i));return r.some(O)?Promise.all(r):r},(e,n)=>{let r=cj(e,n);return O(r)?r.then(e=>n.binding.factory(...e)):n.binding.factory(...r)}),tg=ti(tu,tm),ty=ti(tf,tv);function tb(e,n){switch(n.binding.type){case F:return tn(e,n.binding);case q:return to(e,n.binding);case H:return ts(e,n.binding);case V:return tg(e,n);case z:return tl(e,n.binding);case G:return ty(e,n)}}function t_(e,n){if(void 0!==n.bindings)return Array.isArray(n.bindings)?function(e,n){let r=[];for(let i of n)ej(i)?r.push(...th(e,i)):r.push(tb(e,i));return r.some(O)?Promise.all(r):r}(e,n.bindings):function(e,n){if(ej(n)){let r=th(e,n);if(1===r.length)return r[0];throw new ee(cU.resolution,"Unexpected multiple resolved values on single injection")}return tb(e,n)}(e,n.bindings)}function tw(e,n){if("function"==typeof e[n])return e[n]()}function tS(e,n){let r,i=e.lifecycle.preDestroyMethodNames;if(0!==i.size){for(let e of i)r=void 0===r?tw(n,e):r.then(()=>tw(n,e));return r}}function tR(e,n,r){let i=e.getDeactivations(n);if(void 0!==i)return O(r)?tT(r,i[Symbol.iterator]()):function(e,n){let r=n.next();for(;!0!==r.done;){if(O(r.value(e)))return tT(e,n);r=n.next()}}(r,i[Symbol.iterator]())}async function tT(e,n){let r=await e,i=n.next();for(;!0!==i.done;)await i.value(r),i=n.next()}function tC(e,n){let r=n.cache;return O(r.value)?r.value.then(r=>tx(e,n,r)):tx(e,n,r.value)}function tx(e,n,r){let i;return void 0!==n.onDeactivation&&(i=(0,n.onDeactivation)(r)),void 0===i?tR(e,n.serviceIdentifier,r):i.then(()=>tR(e,n.serviceIdentifier,r))}function tE(e,n){if(void 0===n)return;let r=function(e){let n=[];for(let r of e)void 0!==r.scope&&r.scope===L&&r.cache.isRight&&n.push(r);return n}(n),i=[];for(let n of r){let r=function(e,n){let r=function(e,n){if(n.type===V){let r=e.getClassMetadata(n.implementationType),i=n.cache.value;return O(i)?i.then(e=>tS(r,e)):tS(r,i)}}(e,n);return void 0===r?tC(e,n):r.then(()=>tC(e,n))}(e,n);void 0!==r&&i.push(r)}return i.length>0?Promise.all(i).then(()=>{}):void 0}let tO=Symbol.for("@inversifyjs/plugin/isPlugin"),tk=Symbol.for("@inversifyjs/container/bindingIdentifier");function tI(e){return"object"==typeof e&&null!==e&&!0===e[tk]}class tM{static #F=this.always=e=>!0}let tP=Symbol.for("@inversifyjs/container/InversifyContainerError");class tj extends Error{constructor(e,n,r){super(n,r),this[tP]=!0,this.kind=e}static is(e){return"object"==typeof e&&null!==e&&!0===e[tP]}static isErrorOfKind(e,n){return tj.is(e)&&e.kind===n}}function tA(e){return{[tk]:!0,id:e.id}}function tD(e){return n=>{for(let r=n.getAncestor();void 0!==r;r=r.getAncestor())if(e(r))return!0;return!1}}function tB(e){return n=>n.name===e}function tN(e){return n=>n.serviceIdentifier===e}function tL(e,n){return r=>r.tags.has(e)&&r.tags.get(e)===n}function tU(e){return void 0===e.name&&0===e.tags.size}function tF(e){let n=tD(e);return e=>!n(e)}function tq(e){return n=>{let r=n.getAncestor();return void 0===r||!e(r)}}function tH(e){return n=>{let r=n.getAncestor();return void 0!==r&&e(r)}}(cA=cX||(cX={}))[cA.invalidOperation=0]="invalidOperation";class tV{#r;constructor(e){this.#r=e}getIdentifier(){return tA(this.#r)}inRequestScope(){return this.#r.scope=N,new tX(this.#r)}inSingletonScope(){return this.#r.scope=L,new tX(this.#r)}inTransientScope(){return this.#r.scope=U,new tX(this.#r)}}class tz{#t;#o;#a;#s;constructor(e,n,r,i){this.#t=e,this.#o=n,this.#a=r,this.#s=i}to(e){var n;let r=et(e),i={cache:{isRight:!1,value:void 0},id:B(),implementationType:e,isSatisfiedBy:tM.always,moduleId:this.#o,onActivation:void 0,onDeactivation:void 0,scope:null!=(n=r.scope)?n:this.#a,serviceIdentifier:this.#s,type:V};return this.#t(i),new t$(i)}toSelf(){if("function"!=typeof this.#s)throw Error('"toSelf" function can only be applied when a newable function is used as service identifier');return this.to(this.#s)}toConstantValue(e){let n={cache:{isRight:!1,value:void 0},id:B(),isSatisfiedBy:tM.always,moduleId:this.#o,onActivation:void 0,onDeactivation:void 0,scope:L,serviceIdentifier:this.#s,type:F,value:e};return this.#t(n),new tX(n)}toDynamicValue(e){let n={cache:{isRight:!1,value:void 0},id:B(),isSatisfiedBy:tM.always,moduleId:this.#o,onActivation:void 0,onDeactivation:void 0,scope:this.#a,serviceIdentifier:this.#s,type:q,value:e};return this.#t(n),new t$(n)}toResolvedValue(e,n){let r={cache:{isRight:!1,value:void 0},factory:e,id:B(),isSatisfiedBy:tM.always,metadata:this.#i(n),moduleId:this.#o,onActivation:void 0,onDeactivation:void 0,scope:this.#a,serviceIdentifier:this.#s,type:G};return this.#t(r),new t$(r)}toFactory(e){let n={cache:{isRight:!1,value:void 0},factory:e,id:B(),isSatisfiedBy:tM.always,moduleId:this.#o,onActivation:void 0,onDeactivation:void 0,scope:L,serviceIdentifier:this.#s,type:H};return this.#t(n),new tX(n)}toProvider(e){let n={cache:{isRight:!1,value:void 0},id:B(),isSatisfiedBy:tM.always,moduleId:this.#o,onActivation:void 0,onDeactivation:void 0,provider:e,scope:L,serviceIdentifier:this.#s,type:z};return this.#t(n),new tX(n)}toService(e){let n={id:B(),isSatisfiedBy:tM.always,moduleId:this.#o,serviceIdentifier:this.#s,targetServiceIdentifier:e,type:W};this.#t(n)}#i(e){return{arguments:(null!=e?e:[]).map(e=>{var n,r,i,o,s,a;return"object"!=typeof(a=e)||M.is(a)?{kind:cG.singleInjection,name:void 0,optional:!1,tags:new Map,value:e}:!0===e.isMultiple?{chained:null!=(n=e.chained)&&n,kind:cG.multipleInjection,name:e.name,optional:null!=(r=e.optional)&&r,tags:new Map((null!=(i=e.tags)?i:[]).map(e=>[e.key,e.value])),value:e.serviceIdentifier}:{kind:cG.singleInjection,name:e.name,optional:null!=(o=e.optional)&&o,tags:new Map((null!=(s=e.tags)?s:[]).map(e=>[e.key,e.value])),value:e.serviceIdentifier}})}}}class tG{#r;constructor(e){this.#r=e}getIdentifier(){return tA(this.#r)}onActivation(e){return this.#r.onActivation=e,new tW(this.#r)}onDeactivation(e){if(this.#r.onDeactivation=e,this.#r.scope!==L)throw new tj(cX.invalidOperation,`Binding for service "${k(this.#r.serviceIdentifier)}" has a deactivation function, but its scope is not singleton. Deactivation functions can only be used with singleton bindings.`);return new tW(this.#r)}}class tW{#r;constructor(e){this.#r=e}getIdentifier(){return tA(this.#r)}when(e){return this.#r.isSatisfiedBy=e,new tG(this.#r)}whenAnyAncestor(e){return this.when(tD(e))}whenAnyAncestorIs(e){return this.when(tD(tN(e)))}whenAnyAncestorNamed(e){return this.when(tD(tB(e)))}whenAnyAncestorTagged(e,n){return this.when(tD(tL(e,n)))}whenDefault(){return this.when(tU)}whenNamed(e){return this.when(tB(e))}whenNoParent(e){return this.when(tq(e))}whenNoParentIs(e){return this.when(tq(tN(e)))}whenNoParentNamed(e){return this.when(tq(tB(e)))}whenNoParentTagged(e,n){return this.when(tq(tL(e,n)))}whenParent(e){return this.when(tH(e))}whenParentIs(e){return this.when(tH(tN(e)))}whenParentNamed(e){return this.when(tH(tB(e)))}whenParentTagged(e,n){return this.when(tH(tL(e,n)))}whenTagged(e,n){return this.when(tL(e,n))}whenNoAncestor(e){return this.when(tF(e))}whenNoAncestorIs(e){return this.when(tF(tN(e)))}whenNoAncestorNamed(e){return this.when(tF(tB(e)))}whenNoAncestorTagged(e,n){return this.when(tF(tL(e,n)))}}class tX extends tW{#c;constructor(e){super(e),this.#c=new tG(e)}onActivation(e){return this.#c.onActivation(e)}onDeactivation(e){return this.#c.onDeactivation(e)}}class t$ extends tX{#d;constructor(e){super(e),this.#d=new tV(e)}inRequestScope(){return this.#d.inRequestScope()}inSingletonScope(){return this.#d.inSingletonScope()}inTransientScope(){return this.#d.inTransientScope()}}class tJ{#u;#a;#l;#m;constructor(e,n,r,i){this.#u=e,this.#a=n,this.#l=r,this.#m=i}bind(e){return new tz(e=>{this.#h(e)},void 0,this.#a,e)}isBound(e,n){let r=this.#m.bindingService.get(e);return this.#v(e,r,n)}isCurrentBound(e,n){let r=this.#m.bindingService.getNonParentBindings(e);return this.#v(e,r,n)}async rebind(e){return await this.unbind(e),this.bind(e)}rebindSync(e){return this.unbindSync(e),this.bind(e)}async unbind(e){await this.#p(e)}async unbindAll(){let e=[...this.#m.bindingService.getNonParentBoundServices()];for(let n of(await Promise.all(e.map(async e=>{var n,r;let i;return n=this.#u,r=e,i=n.getBindings(r),tE(n,i)})),e))this.#m.activationService.removeAllByServiceId(n),this.#m.bindingService.removeAllByServiceId(n),this.#m.deactivationService.removeAllByServiceId(n);this.#m.planResultCacheService.clearCache()}unbindSync(e){void 0!==this.#p(e)&&this.#w(e)}#h(e){this.#m.bindingService.set(e),this.#l.invalidateService({binding:e,kind:cW.bindingAdded})}#w(e){var n;let r;if(tI(e)){let i=this.#m.bindingService.getById(e.id),o=null==(n=function(e){if(void 0===e)return;let n=e.next();return!0!==n.done?n.value:void 0}(null==i?void 0:i[Symbol.iterator]()))?void 0:n.serviceIdentifier;r=void 0===o?"Unexpected asynchronous deactivation when unbinding binding identifier. Consider using Container.unbind() instead.":`Unexpected asynchronous deactivation when unbinding "${k(o)}" binding. Consider using Container.unbind() instead.`}else r=`Unexpected asynchronous deactivation when unbinding "${k(e)}" service. Consider using Container.unbind() instead.`;throw new tj(cX.invalidOperation,r)}#p(e){return tI(e)?this.#f(e):this.#T(e)}#f(e){let n=this.#m.bindingService.getById(e.id),r=void 0===n?void 0:[...n],i=tE(this.#u,n);if(void 0!==i)return i.then(()=>{this.#b(r,e)});this.#b(r,e)}#b(e,n){if(this.#m.bindingService.removeById(n.id),void 0!==e)for(let n of e)this.#l.invalidateService({binding:n,kind:cW.bindingRemoved})}#T(e){let n=this.#m.bindingService.get(e),r=void 0===n?void 0:[...n],i=tE(this.#u,n);if(void 0!==i)return i.then(()=>{this.#O(e,r)});this.#O(e,r)}#O(e,n){if(this.#m.activationService.removeAllByServiceId(e),this.#m.bindingService.removeAllByServiceId(e),this.#m.deactivationService.removeAllByServiceId(e),void 0!==n)for(let e of n)this.#l.invalidateService({binding:e,kind:cW.bindingRemoved})}#v(e,n,r){if(void 0===n)return!1;let i={getAncestor:()=>{},name:null==r?void 0:r.name,serviceIdentifier:e,tags:new Map};for(let e of(void 0!==(null==r?void 0:r.tag)&&i.tags.set(r.tag.key,r.tag.value),n))if(e.isSatisfiedBy(i))return!0;return!1}}class tK{#y;#u;#a;#l;#m;constructor(e,n,r,i,o){this.#y=e,this.#u=n,this.#a=r,this.#l=i,this.#m=o}async load(){for(var e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r];await Promise.all(this.#n(...n))}loadSync(){for(var e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r];for(let e of this.#n(...n))if(void 0!==e)throw new tj(cX.invalidOperation,"Unexpected asynchronous module load. Consider using Container.load() instead.")}async unload(){for(var e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r];await Promise.all(this.#g(...n)),this.#S(n)}unloadSync(){for(var e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r];for(let e of this.#g(...n))if(void 0!==e)throw new tj(cX.invalidOperation,"Unexpected asynchronous module unload. Consider using Container.unload() instead.");this.#S(n)}#_(e){return{bind:n=>new tz(e=>{this.#h(e)},e,this.#a,n),isBound:this.#y.isBound.bind(this.#y),onActivation:(n,r)=>{this.#m.activationService.add(r,{moduleId:e,serviceId:n})},onDeactivation:(n,r)=>{this.#m.deactivationService.add(r,{moduleId:e,serviceId:n})},rebind:this.#y.rebind.bind(this.#y),rebindSync:this.#y.rebindSync.bind(this.#y),unbind:this.#y.unbind.bind(this.#y),unbindSync:this.#y.unbindSync.bind(this.#y)}}#S(e){for(let n of e)this.#m.activationService.removeAllByModuleId(n.id),this.#m.bindingService.removeAllByModuleId(n.id),this.#m.deactivationService.removeAllByModuleId(n.id);this.#m.planResultCacheService.clearCache()}#n(){for(var e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r];return n.map(e=>e.load(this.#_(e.id)))}#h(e){this.#m.bindingService.set(e),this.#l.invalidateService({binding:e,kind:cW.bindingAdded})}#g(){for(var e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r];return n.map(e=>{var n,r;let i;return n=this.#u,r=e.id,i=n.getBindingsFromModule(r),tE(n,i)})}}class tY{constructor(e){this.deactivationParams=function(e){return{getBindings:e.bindingService.get.bind(e.bindingService),getBindingsFromModule:e.bindingService.getByModuleId.bind(e.bindingService),getClassMetadata:et,getDeactivations:e.deactivationService.get.bind(e.deactivationService)}}(e),e.onReset(()=>{var n,r;n=e,(r=this.deactivationParams).getBindings=n.bindingService.get.bind(n.bindingService),r.getBindingsFromModule=n.bindingService.getByModuleId.bind(n.bindingService),r.getDeactivations=n.deactivationService.get.bind(n.deactivationService)})}}class tQ{#m;constructor(e){this.#m=e,this.planParamsOperations={getBindings:this.#m.bindingService.get.bind(this.#m.bindingService),getBindingsChained:this.#m.bindingService.getChained.bind(this.#m.bindingService),getClassMetadata:et,getPlan:this.#m.planResultCacheService.get.bind(this.#m.planResultCacheService),setBinding:this.#h.bind(this),setNonCachedServiceNode:this.#m.planResultCacheService.setNonCachedServiceNode.bind(this.#m.planResultCacheService),setPlan:this.#m.planResultCacheService.set.bind(this.#m.planResultCacheService)},this.#m.onReset(()=>{this.#E()})}#E(){this.planParamsOperations.getBindings=this.#m.bindingService.get.bind(this.#m.bindingService),this.planParamsOperations.getBindingsChained=this.#m.bindingService.getChained.bind(this.#m.bindingService),this.planParamsOperations.setBinding=this.#h.bind(this)}#h(e){this.#m.bindingService.set(e),this.#m.planResultCacheService.invalidateServiceBinding({binding:e,kind:cW.bindingAdded,operations:this.planParamsOperations})}}class tZ{#x;#m;constructor(e,n){this.#x=e,this.#m=n}invalidateService(e){this.#m.planResultCacheService.invalidateServiceBinding({...e,operations:this.#x.planParamsOperations})}}class t0{#R;#P;#L;#m;constructor(e,n,r){this.#m=n,this.#L=r,this.#R=this.#k(e),this.#P=this.#A()}register(e,n){let r=new n(e,this.#P);if(!0!==r[tO])throw new tj(cX.invalidOperation,"Invalid plugin. The plugin must extend the Plugin class");r.load(this.#R)}#k(e){return{define:(n,r)=>{if(Object.prototype.hasOwnProperty.call(e,n))throw new tj(cX.invalidOperation,`Container already has a method named "${String(n)}"`);e[n]=r},onPlan:this.#L.onPlan.bind(this.#L)}}#A(){let e=this.#m;return{get activationService(){return e.activationService},get bindingService(){return e.bindingService},get deactivationService(){return e.deactivationService},get planResultCacheService(){return e.planResultCacheService}}}}class t1{#C;constructor(e,n,r,i){this.activationService=e,this.bindingService=n,this.deactivationService=r,this.planResultCacheService=i,this.#C=[]}reset(e,n,r){for(let i of(this.activationService=e,this.bindingService=n,this.deactivationService=r,this.planResultCacheService.clearCache(),this.#C))i()}onReset(e){this.#C.push(e)}}class t2{#j;#a;#V;#B;#M;#x;#m;constructor(e,n,r,i){this.#x=e,this.#m=n,this.#B=this.#I(),this.#j=r,this.#a=i,this.#V=e=>this.#m.activationService.get(e),this.#M=[],this.#m.onReset(()=>{this.#E()})}get(e,n){let r=this.#N(!1,e,n),i=this.#U(r);if(O(i))throw new tj(cX.invalidOperation,`Unexpected asynchronous service when resolving service "${k(e)}"`);return i}getAll(e,n){let r=this.#N(!0,e,n),i=this.#U(r);if(O(i))throw new tj(cX.invalidOperation,`Unexpected asynchronous service when resolving service "${k(e)}"`);return i}async getAllAsync(e,n){let r=this.#N(!0,e,n);return this.#U(r)}async getAsync(e,n){let r=this.#N(!1,e,n);return this.#U(r)}onPlan(e){this.#M.push(e)}#E(){this.#B=this.#I()}#H(e,n,r){var i,o;let s=null==r?void 0:r.name,a=null!=(i=null==r?void 0:r.optional)&&i,c=null==r?void 0:r.tag;return e?{chained:null!=(o=null==r?void 0:r.chained)&&o,isMultiple:e,name:s,optional:a,serviceIdentifier:n,tag:c}:{isMultiple:e,name:s,optional:a,serviceIdentifier:n,tag:c}}#D(e,n,r){var i;let o={autobindOptions:(null!=(i=null==r?void 0:r.autobind)?i:this.#j)?{scope:this.#a}:void 0,operations:this.#x.planParamsOperations,rootConstraints:this.#G(e,n,r),servicesBranch:[]};return this.#W(o,r),o}#G(e,n,r){var i;return n?{chained:null!=(i=null==r?void 0:r.chained)&&i,isMultiple:n,serviceIdentifier:e}:{isMultiple:n,serviceIdentifier:e}}#N(e,n,r){let i=this.#H(e,n,r),o=this.#m.planResultCacheService.get(i);if(void 0!==o)return o;let s=function(e){try{var n,r,i;let o=(n=e).rootConstraints.isMultiple?{chained:n.rootConstraints.chained,isMultiple:!0,name:n.rootConstraints.name,optional:null!=(r=n.rootConstraints.isOptional)&&r,serviceIdentifier:n.rootConstraints.serviceIdentifier,tag:n.rootConstraints.tag}:{isMultiple:!1,name:n.rootConstraints.name,optional:null!=(i=n.rootConstraints.isOptional)&&i,serviceIdentifier:n.rootConstraints.serviceIdentifier,tag:n.rootConstraints.tag},s=e.operations.getPlan(o);if(void 0!==s)return s;let a=eZ(e),c={tree:{root:new e$(e,a)}};return e.operations.setPlan(o,c),c}catch(n){var o=e,s=n;if(ex(s)){let e,n=0===(e=[...function(e){let n=new Set;for(let r of e.servicesBranch){if(n.has(r))return[...n,r];n.add(r)}return[...n]}(o)]).length?"(No dependency trace)":e.map(k).join(" -> ");throw new ee(cU.planning,`Circular dependency found: ${n}`,{cause:s})}throw s}}(this.#D(n,e,r));for(let e of this.#M)e(i,s);return s}#I(){return{get:this.get.bind(this),getAll:this.getAll.bind(this),getAllAsync:this.getAllAsync.bind(this),getAsync:this.getAsync.bind(this)}}#U(e){var n={context:this.#B,getActivations:this.#V,planResult:e,requestScopeCache:new Map};try{return t_(n,n.planResult.tree.root)}catch(e){!function(e,n){if(ex(n)){var r;let i,o,s,a=0===(s=[...(i=e.planResult.tree.root,o=[],null!=(r=function e(n){let r=o.indexOf(n);if(-1!==r)return[...o.slice(r),n].map(e=>e.serviceIdentifier);o.push(n);try{for(let r of function(e){let n=[],r=e.bindings;if(void 0===r)return n;let i=e=>{if(ej(e))for(let n of e.redirections)i(n);else switch(e.binding.type){case V:for(let r of e.constructorParams)void 0!==r&&n.push(r);for(let r of e.propertyParams.values())n.push(r);break;case G:for(let r of e.params)n.push(r)}};if(Array.isArray(r))for(let e of r)i(e);else i(r);return n}(n)){let n=e(r);if(void 0!==n)return n}}finally{o.pop()}}(i))?r:[])]).length?"(No dependency trace)":s.map(k).join(" -> ");throw new ee(cU.planning,`Circular dependency found: ${a}`,{cause:n})}throw n}(n,e)}}#W(e,n){var r;void 0!==n&&(void 0!==n.name&&(e.rootConstraints.name=n.name),!0===n.optional&&(e.rootConstraints.isOptional=!0),void 0!==n.tag&&(e.rootConstraints.tag={key:n.tag.key,value:n.tag.value}),e.rootConstraints.isMultiple&&(e.rootConstraints.chained=null!=(r=null==n?void 0:n.chained)&&r))}}class t3{#m;#J;constructor(e){this.#m=e,this.#J=[]}restore(){let e=this.#J.pop();if(void 0===e)throw new tj(cX.invalidOperation,"No snapshot available to restore");this.#m.reset(e.activationService,e.bindingService,e.deactivationService)}snapshot(){this.#J.push({activationService:this.#m.activationService.clone(),bindingService:this.#m.bindingService.clone(),deactivationService:this.#m.deactivationService.clone()})}}class t4{#y;#F;#q;#m;#L;#z;constructor(e){var n,r;const i=null!=(n=null==e?void 0:e.autobind)&&n,o=null!=(r=null==e?void 0:e.defaultScope)?r:U;this.#m=this.#$(e,i,o);const s=new tQ(this.#m),a=new tZ(s,this.#m),c=new tY(this.#m);this.#y=new tJ(c.deactivationParams,o,a,this.#m),this.#F=new tK(this.#y,c.deactivationParams,o,a,this.#m),this.#L=new t2(s,this.#m,i,o),this.#q=new t0(this,this.#m,this.#L),this.#z=new t3(this.#m)}bind(e){return this.#y.bind(e)}get(e,n){return this.#L.get(e,n)}getAll(e,n){return this.#L.getAll(e,n)}async getAllAsync(e,n){return this.#L.getAllAsync(e,n)}async getAsync(e,n){return this.#L.getAsync(e,n)}isBound(e,n){return this.#y.isBound(e,n)}isCurrentBound(e,n){return this.#y.isCurrentBound(e,n)}async load(){for(var e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r];return this.#F.load(...n)}loadSync(){for(var e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r];this.#F.loadSync(...n)}onActivation(e,n){this.#m.activationService.add(n,{serviceId:e})}onDeactivation(e,n){this.#m.deactivationService.add(n,{serviceId:e})}register(e){this.#q.register(this,e)}restore(){this.#z.restore()}async rebind(e){return this.#y.rebind(e)}rebindSync(e){return this.#y.rebindSync(e)}snapshot(){this.#z.snapshot()}async unbind(e){await this.#y.unbind(e)}async unbindAll(){return this.#y.unbindAll()}unbindSync(e){this.#y.unbindSync(e)}async unload(){for(var e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r];return this.#F.unload(...n)}unloadSync(){for(var e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r];this.#F.unloadSync(...n)}#K(e,n){if(e)return{scope:n}}#$(e,n,r){let i=this.#K(n,r);if(void 0===(null==e?void 0:e.parent))return new t1(J.build(()=>{}),eo.build(()=>{},i),es.build(()=>{}),new e6);let o=new e6,s=e.parent;return s.#m.planResultCacheService.subscribe(o),new t1(J.build(()=>s.#m.activationService),eo.build(()=>s.#m.bindingService,i),es.build(()=>s.#m.deactivationService),o)}}let t5=new WeakMap,t6=new WeakMap,t8=new WeakMap,t9=Symbol("anyProducer"),t7=Promise.resolve(),ne=Symbol("listenerAdded"),nt=Symbol("listenerRemoved"),nn=!1,nr=!1,ni=e=>"string"==typeof e||"symbol"==typeof e||"number"==typeof e;function no(e){if(!ni(e))throw TypeError("`eventName` must be a string, symbol, or number")}function ns(e){if("function"!=typeof e)throw TypeError("listener must be a function")}function na(e,n){let r=t6.get(e);if(r.has(n))return r.get(n)}function nc(e,n){let r=ni(n)?n:t9,i=t8.get(e);if(i.has(r))return i.get(r)}function nd(e,n){n=Array.isArray(n)?n:[n];let r=!1,i=()=>{},o=[],s={enqueue(e){o.push(e),i()},finish(){r=!0,i()}};for(let r of n){let n=nc(e,r);n||(n=new Set,t8.get(e).set(r,n)),n.add(s)}return{async next(){return o?0===o.length?(r?o=void 0:await new Promise(e=>{i=e}),this.next()):{done:!1,value:await o.shift()}:{done:!0}},async return(r){for(let r of(o=void 0,n)){let n=nc(e,r);n&&(n.delete(s),0===n.size&&t8.get(e).delete(r))}return i(),arguments.length>0?{done:!0,value:await r}:{done:!0}},[Symbol.asyncIterator](){return this}}}function nl(e){if(void 0===e)return nh;if(!Array.isArray(e))throw TypeError("`methodNames` must be an array of strings");for(let n of e)if(!nh.includes(n)){if("string"!=typeof n)throw TypeError("`methodNames` element must be a string");throw Error(`${n} is not Emittery method`)}return e}let nu=e=>e===ne||e===nt;function nf(e,n,r){if(nu(n))try{nn=!0,e.emit(n,r)}finally{nn=!1}}class np{static mixin(e,n){return n=nl(n),r=>{if("function"!=typeof r)throw TypeError("`target` must be function");for(let e of n)if(void 0!==r.prototype[e])throw Error(`The property \`${e}\` already exists on \`target\``);Object.defineProperty(r.prototype,e,{enumerable:!1,get:function(){return Object.defineProperty(this,e,{enumerable:!1,value:new np}),this[e]}});let i=n=>function(){for(var r=arguments.length,i=Array(r),o=0;o<r;o++)i[o]=arguments[o];return this[e][n](...i)};for(let e of n)Object.defineProperty(r.prototype,e,{enumerable:!1,value:i(e)});return r}}static get isDebugEnabled(){var e,n;if("object"!=typeof(null==(e=globalThis.process)?void 0:e.env))return nr;let{env:r}=null!=(n=globalThis.process)?n:{env:{}};return"emittery"===r.DEBUG||"*"===r.DEBUG||nr}static set isDebugEnabled(e){nr=e}constructor(e={}){var n;t5.set(this,new Set),t6.set(this,new Map),t8.set(this,new Map),t8.get(this).set(t9,new Set),this.debug=null!=(n=e.debug)?n:{},void 0===this.debug.enabled&&(this.debug.enabled=!1),this.debug.logger||(this.debug.logger=(e,n,r,i)=>{try{i=JSON.stringify(i)}catch{i=`Object with the following keys failed to stringify: ${Object.keys(i).join(",")}`}("symbol"==typeof r||"number"==typeof r)&&(r=r.toString());let o=new Date,s=`${o.getHours()}:${o.getMinutes()}:${o.getSeconds()}.${o.getMilliseconds()}`;console.log(`[${s}][emittery:${e}][${n}] Event Name: ${r}
51
- data: ${i}`)})}logIfDebugEnabled(e,n,r){(np.isDebugEnabled||this.debug.enabled)&&this.debug.logger(e,this.debug.name,n,r)}on(e,n){let{signal:r}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};for(let r of(ns(n),e=Array.isArray(e)?e:[e])){no(r);let e=na(this,r);e||(e=new Set,t6.get(this).set(r,e)),e.add(n),this.logIfDebugEnabled("subscribe",r,void 0),nu(r)||nf(this,ne,{eventName:r,listener:n})}let i=()=>{this.off(e,n),null==r||r.removeEventListener("abort",i)};return null==r||r.addEventListener("abort",i,{once:!0}),(null==r?void 0:r.aborted)&&i(),i}off(e,n){for(let r of(ns(n),e=Array.isArray(e)?e:[e])){no(r);let e=na(this,r);e&&(e.delete(n),0===e.size&&t6.get(this).delete(r)),this.logIfDebugEnabled("unsubscribe",r,void 0),nu(r)||nf(this,nt,{eventName:r,listener:n})}}once(e,n){let r;if(void 0!==n&&"function"!=typeof n)throw TypeError("predicate must be a function");let i=new Promise(i=>{r=this.on(e,e=>{(!n||n(e))&&(r(),i(e))})});return i.off=r,i}events(e){for(let n of e=Array.isArray(e)?e:[e])no(n);return nd(this,e)}async emit(e,n){if(no(e),nu(e)&&!nn)throw TypeError("`eventName` cannot be meta event `listenerAdded` or `listenerRemoved`");this.logIfDebugEnabled("emit",e,n);var r,i=this,o=e,s=n;let a=t8.get(i);if(a.has(o))for(let e of a.get(o))e.enqueue(s);if(a.has(t9)){let e=Promise.all([o,s]);for(let n of a.get(t9))n.enqueue(e)}let c=null!=(r=na(this,e))?r:new Set,d=t5.get(this),l=[...c],u=nu(e)?[]:[...d];await t7,await Promise.all([...l.map(async e=>{if(c.has(e))return e(n)}),...u.map(async r=>{if(d.has(r))return r(e,n)})])}async emitSerial(e,n){var r;if(no(e),nu(e)&&!nn)throw TypeError("`eventName` cannot be meta event `listenerAdded` or `listenerRemoved`");this.logIfDebugEnabled("emitSerial",e,n);let i=null!=(r=na(this,e))?r:new Set,o=t5.get(this),s=[...i],a=[...o];for(let e of(await t7,s))i.has(e)&&await e(n);for(let r of a)o.has(r)&&await r(e,n)}onAny(e){let{signal:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};ns(e),this.logIfDebugEnabled("subscribeAny",void 0,void 0),t5.get(this).add(e),nf(this,ne,{listener:e});let r=()=>{this.offAny(e),null==n||n.removeEventListener("abort",r)};return null==n||n.addEventListener("abort",r,{once:!0}),(null==n?void 0:n.aborted)&&r(),r}anyEvent(){return nd(this)}offAny(e){ns(e),this.logIfDebugEnabled("unsubscribeAny",void 0,void 0),nf(this,nt,{listener:e}),t5.get(this).delete(e)}clearListeners(e){for(let n of e=Array.isArray(e)?e:[e])if(this.logIfDebugEnabled("clear",n,void 0),ni(n)){let e=na(this,n);e&&e.clear();let r=nc(this,n);if(r){for(let e of r)e.finish();r.clear()}}else{for(let[e,n]of(t5.get(this).clear(),t6.get(this).entries()))n.clear(),t6.get(this).delete(e);for(let[e,n]of t8.get(this).entries()){for(let e of n)e.finish();n.clear(),t8.get(this).delete(e)}}}listenerCount(e){e=Array.isArray(e)?e:[e];let n=0;for(let d of e){if(ni(d)){var r,i,o,s,a,c;n+=t5.get(this).size+(null!=(s=null==(r=na(this,d))?void 0:r.size)?s:0)+(null!=(a=null==(i=nc(this,d))?void 0:i.size)?a:0)+(null!=(c=null==(o=nc(this))?void 0:o.size)?c:0);continue}for(let e of(void 0!==d&&no(d),n+=t5.get(this).size,t6.get(this).values()))n+=e.size;for(let e of t8.get(this).values())n+=e.size}return n}bindMethods(e,n){if("object"!=typeof e||null===e)throw TypeError("`target` must be an object");for(let r of n=nl(n)){if(void 0!==e[r])throw Error(`The property \`${r}\` already exists on \`target\``);Object.defineProperty(e,r,{enumerable:!1,value:this[r].bind(this)})}}}let nh=Object.getOwnPropertyNames(np.prototype).filter(e=>"constructor"!==e);Object.defineProperty(np,"listenerAdded",{value:ne,writable:!1,enumerable:!0,configurable:!1}),Object.defineProperty(np,"listenerRemoved",{value:nt,writable:!1,enumerable:!0,configurable:!1});let nm={AaaSPilotKitController:Symbol.for("AaaSPilotKitController"),SignalingService:Symbol.for("SignalingService"),ASRService:Symbol.for("ASRService"),AgentService:Symbol.for("AgentService"),DigitalHumanService:Symbol.for("DigitalHumanService"),ConversationService:Symbol.for("ConversationService"),CommonRequest:Symbol.for("CommonRequest"),ErrorManager:Symbol.for("ErrorManager"),IOptions:Symbol.for("IOptions")};class nv extends Error{constructor(e,n,r){var i;const o=e.status||0===e.status?e.status:"",s=null!=(i=e.statusText)?i:"",a=`${o} ${s}`.trim();super(`Request failed with ${a?`status code ${a}`:"an unknown error"}: ${n.method} ${n.url}`),this.name="HTTPError",this.response=e,this.request=n,this.options=r}}class ng extends Error{constructor(e){let n="Non-error value was thrown";try{"string"==typeof e?n=e:e&&"object"==typeof e&&"message"in e&&"string"==typeof e.message&&(n=e.message)}catch{}super(n),this.name="NonError",this.value=e}}class ny extends Error{constructor(e){const n=(null==e?void 0:e.cause)?e.cause instanceof Error?e.cause:new ng(e.cause):void 0;super((null==e?void 0:e.code)?`Forced retry: ${e.code}`:"Forced retry",n?{cause:n}:void 0),this.name="ForceRetryError",this.customDelay=null==e?void 0:e.delay,this.code=null==e?void 0:e.code,this.customRequest=null==e?void 0:e.request}}let nb=(()=>{let e=!1,n=!1,r="function"==typeof globalThis.Request;if("function"==typeof globalThis.ReadableStream&&r)try{n=new globalThis.Request("https://empty.invalid",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type")}catch(e){if(e instanceof Error&&"unsupported BodyInit type"===e.message)return!1;throw e}return e&&!n})(),n_="function"==typeof globalThis.AbortController,nw="function"==typeof globalThis.AbortSignal&&"function"==typeof globalThis.AbortSignal.any,nS="function"==typeof globalThis.ReadableStream,nR="function"==typeof globalThis.FormData,nT=["get","post","put","patch","head","delete"],nC={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*",bytes:"*/*"},nx=new TextEncoder().encode("------WebKitFormBoundaryaxpyiPgbbPti10Rw").length,nE=Symbol("stop");class nO{constructor(e){this.options=e}}let nk=e=>new nO(e),nI={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,onUploadProgress:!0,fetch:!0,context:!0},nM={next:!0},nP={method:!0,headers:!0,body:!0,mode:!0,credentials:!0,cache:!0,redirect:!0,referrer:!0,referrerPolicy:!0,integrity:!0,keepalive:!0,signal:!0,window:!0,duplex:!0},nj=(e,n,r)=>{let i,o=0;return e.pipeThrough(new TransformStream({transform(e,s){if(s.enqueue(e),i){o+=i.byteLength;let e=0===n?0:o/n;e>=1&&(e=1-Number.EPSILON),null==r||r({percent:e,totalBytes:Math.max(n,o),transferredBytes:o},i)}i=e},flush(){i&&(o+=i.byteLength,null==r||r({percent:1,totalBytes:Math.max(n,o),transferredBytes:o},i))}}))},nA=e=>null!==e&&"object"==typeof e,nD=function(){for(var e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r];for(let e of n)if((!nA(e)||Array.isArray(e))&&void 0!==e)throw TypeError("The `options` argument must be an object");return nF({},...n)},nB=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=new globalThis.Headers(e),i=n instanceof globalThis.Headers;for(let[e,o]of new globalThis.Headers(n).entries())i&&"undefined"===o||void 0===o?r.delete(e):r.set(e,o);return r};function nN(e,n,r){var i,o;return Object.hasOwn(n,r)&&void 0===n[r]?[]:nF(null!=(i=e[r])?i:[],null!=(o=n[r])?o:[])}let nL=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{beforeRequest:nN(e,n,"beforeRequest"),beforeRetry:nN(e,n,"beforeRetry"),afterResponse:nN(e,n,"afterResponse"),beforeError:nN(e,n,"beforeError")}},nU=(e,n)=>{let r=new URLSearchParams;for(let i of[e,n])if(void 0!==i)if(i instanceof URLSearchParams)for(let[e,n]of i.entries())r.append(e,n);else if(Array.isArray(i))for(let e of i){if(!Array.isArray(e)||2!==e.length)throw TypeError("Array search parameters must be provided in [[key, value], ...] format");r.append(String(e[0]),String(e[1]))}else if(nA(i))for(let[e,n]of Object.entries(i))void 0!==n&&r.append(e,String(n));else for(let[e,n]of new URLSearchParams(i).entries())r.append(e,n);return r},nF=function(){let e;for(var n=arguments.length,r=Array(n),i=0;i<n;i++)r[i]=arguments[i];let o={},s={},a={},c=[];for(let n of r)if(Array.isArray(n))Array.isArray(o)||(o=[]),o=[...o,...n];else if(nA(n)){for(let[r,i]of Object.entries(n)){if("signal"===r&&i instanceof globalThis.AbortSignal){c.push(i);continue}if("context"===r){if(null!=i&&(!nA(i)||Array.isArray(i)))throw TypeError("The `context` option must be an object");o={...o,context:null==i?{}:{...o.context,...i}};continue}if("searchParams"===r){e=null==i?void 0:void 0===e?i:nU(e,i);continue}nA(i)&&r in o&&(i=nF(o[r],i)),o={...o,[r]:i}}nA(n.hooks)&&(a=nL(a,n.hooks),o.hooks=a),nA(n.headers)&&(s=nB(s,n.headers),o.headers=s)}return void 0!==e&&(o.searchParams=e),c.length>0&&(1===c.length?o.signal=c[0]:nw?o.signal=AbortSignal.any(c):o.signal=c.at(-1)),void 0===o.context&&(o.context={}),o},nq={limit:2,methods:["get","put","head","delete","options","trace"],statusCodes:[408,413,429,500,502,503,504],afterStatusCodes:[413,429,503],maxRetryAfter:1/0,backoffLimit:1/0,delay:e=>.3*2**(e-1)*1e3,jitter:void 0,retryOnTimeout:!1},nH=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if("number"==typeof e)return{...nq,limit:e};if(e.methods&&!Array.isArray(e.methods))throw Error("retry.methods must be an array");if(e.statusCodes&&!Array.isArray(e.statusCodes))throw Error("retry.statusCodes must be an array");return{...nq,...e}};class nV extends Error{constructor(e){super(`Request timed out: ${e.method} ${e.url}`),this.name="TimeoutError",this.request=e}}async function nz(e,n,r,i){return new Promise((o,s)=>{let a=setTimeout(()=>{r&&r.abort(),s(new nV(e))},i.timeout);i.fetch(e,n).then(o).catch(s).then(()=>{clearTimeout(a)})})}async function nG(e,n){let{signal:r}=n;return new Promise((n,i)=>{function o(){clearTimeout(s),i(r.reason)}r&&(r.throwIfAborted(),r.addEventListener("abort",o,{once:!0}));let s=setTimeout(()=>{null==r||r.removeEventListener("abort",o),n()},e)})}class nW{static create(e,n){let r=new nW(e,n),i=async()=>{if("number"==typeof r.#Q.timeout&&r.#Q.timeout>0x7fffffff)throw RangeError("The `timeout` option cannot be greater than 2147483647");await Promise.resolve();let e=await r.#Z();for(let o of r.#Q.hooks.afterResponse){let s=r.#ee(e.clone()),a=await o(r.request,r.#et(),s,{retryCount:r.#en});if(a instanceof globalThis.Response&&(e=a),a instanceof nO){var n,i;throw await Promise.all([null==(n=s.body)?void 0:n.cancel(),null==(i=e.body)?void 0:i.cancel()]),new ny(a.options)}}if(r.#ee(e),!e.ok&&("function"==typeof r.#Q.throwHttpErrors?r.#Q.throwHttpErrors(e.status):r.#Q.throwHttpErrors)){let n=new nv(e,r.request,r.#et());for(let e of r.#Q.hooks.beforeError)n=await e(n,{retryCount:r.#en});throw n}if(r.#Q.onDownloadProgress){if("function"!=typeof r.#Q.onDownloadProgress)throw TypeError("The `onDownloadProgress` option must be a function");if(!nS)throw Error("Streams are not supported in your environment. `ReadableStream` is missing.");return((e,n)=>{if(!e.body)return e;if(204===e.status)return new Response(null,{status:e.status,statusText:e.statusText,headers:e.headers});let r=Math.max(0,Number(e.headers.get("content-length"))||0);return new Response(nj(e.body,r,n),{status:e.status,statusText:e.statusText,headers:e.headers})})(e.clone(),r.#Q.onDownloadProgress)}return e},o=r.#er(i).finally(async()=>{var e,n;let i=r.#ei,o=[];i&&!i.bodyUsed&&o.push(null==(e=i.body)?void 0:e.cancel()),r.request.bodyUsed||o.push(null==(n=r.request.body)?void 0:n.cancel()),await Promise.all(o)});for(let[e,i]of Object.entries(nC)){var s,a;("bytes"!==e||"function"==typeof(null==(a=globalThis.Response)||null==(s=a.prototype)?void 0:s.bytes))&&(o[e]=async()=>{r.request.headers.set("accept",r.request.headers.get("accept")||i);let s=await o;if("json"===e){if(204===s.status)return"";let e=await s.text();return""===e?"":n.parseJson?n.parseJson(e):JSON.parse(e)}return s[e]()})}return o}static #eo(e){return!e||"object"!=typeof e||Array.isArray(e)||e instanceof URLSearchParams?e:Object.fromEntries(Object.entries(e).filter(e=>{let[,n]=e;return void 0!==n}))}#es;#en;#ea;#Q;#ei;#ec;#ed;constructor(e,n={}){var r,i,o,s,a,c,d,l,u,f,p,h;if(this.#en=0,this.#ea=e,this.#Q={...n,headers:nB(this.#ea.headers,n.headers),hooks:nL({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},n.hooks),method:(e=>nT.includes(e)?e.toUpperCase():e)(null!=(i=null!=(r=n.method)?r:this.#ea.method)?i:"GET"),prefixUrl:String(n.prefixUrl||""),retry:nH(n.retry),throwHttpErrors:null==(o=n.throwHttpErrors)||o,timeout:null!=(s=n.timeout)?s:1e4,fetch:null!=(a=n.fetch)?a:globalThis.fetch.bind(globalThis),context:null!=(c=n.context)?c:{}},"string"!=typeof this.#ea&&!(this.#ea instanceof URL||this.#ea instanceof globalThis.Request))throw TypeError("`input` must be a string, URL, or Request");if(this.#Q.prefixUrl&&"string"==typeof this.#ea){if(this.#ea.startsWith("/"))throw Error("`input` must not begin with a slash when using `prefixUrl`");this.#Q.prefixUrl.endsWith("/")||(this.#Q.prefixUrl+="/"),this.#ea=this.#Q.prefixUrl+this.#ea}n_&&nw&&(this.#ec=null!=(d=this.#Q.signal)?d:this.#ea.signal,this.#es=new globalThis.AbortController,this.#Q.signal=this.#ec?AbortSignal.any([this.#ec,this.#es.signal]):this.#es.signal),nb&&(this.#Q.duplex="half"),void 0!==this.#Q.json&&(this.#Q.body=null!=(f=null==(l=(u=this.#Q).stringifyJson)?void 0:l.call(u,this.#Q.json))?f:JSON.stringify(this.#Q.json),this.#Q.headers.set("content-type",null!=(p=this.#Q.headers.get("content-type"))?p:"application/json"));const m=n.headers&&new globalThis.Headers(n.headers).has("content-type");if(this.#ea instanceof globalThis.Request&&(nR&&this.#Q.body instanceof globalThis.FormData||this.#Q.body instanceof URLSearchParams)&&!m&&this.#Q.headers.delete("content-type"),this.request=new globalThis.Request(this.#ea,this.#Q),(e=>void 0!==e&&(Array.isArray(e)?e.length>0:e instanceof URLSearchParams?e.size>0:"object"==typeof e?Object.keys(e).length>0:"string"==typeof e?e.trim().length>0:!!e))(this.#Q.searchParams)){const e="string"==typeof this.#Q.searchParams?this.#Q.searchParams.replace(/^\?/,""):new URLSearchParams(nW.#eo(this.#Q.searchParams)).toString(),n=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,"?"+e);this.request=new globalThis.Request(n,this.#Q)}if(this.#Q.onUploadProgress){if("function"!=typeof this.#Q.onUploadProgress)throw TypeError("The `onUploadProgress` option must be a function");if(!nb)throw Error("Request streams are not supported in your environment. The `duplex` option for `Request` is not available.");this.request=this.#el(this.request,null!=(h=this.#Q.body)?h:void 0)}}#eu(){let e=this.#Q.retry.delay(this.#en),n=e;return!0===this.#Q.retry.jitter?n=Math.random()*e:"function"==typeof this.#Q.retry.jitter&&(!Number.isFinite(n=this.#Q.retry.jitter(e))||n<0)&&(n=e),Math.min(this.#Q.retry.backoffLimit,n)}async #ef(e){var n,r,i,o,s,a,c,d;if(this.#en++,this.#en>this.#Q.retry.limit)throw e;let l=e instanceof Error?e:new ng(e);if(l instanceof ny)return null!=(n=l.customDelay)?n:this.#eu();if(!this.#Q.retry.methods.includes(this.request.method.toLowerCase()))throw e;if(void 0!==this.#Q.retry.shouldRetry){let n=await this.#Q.retry.shouldRetry({error:l,retryCount:this.#en});if(!1===n)throw e;if(!0===n)return this.#eu()}if(((c=e)instanceof nV||(null==c?void 0:c.name)===nV.name)&&!this.#Q.retry.retryOnTimeout)throw e;if((d=e)instanceof nv||(null==d?void 0:d.name)===nv.name){if(!this.#Q.retry.statusCodes.includes(e.response.status))throw e;let n=null!=(s=null!=(o=null!=(i=null!=(r=e.response.headers.get("Retry-After"))?r:e.response.headers.get("RateLimit-Reset"))?i:e.response.headers.get("X-RateLimit-Retry-After"))?o:e.response.headers.get("X-RateLimit-Reset"))?s:e.response.headers.get("X-Rate-Limit-Reset");if(n&&this.#Q.retry.afterStatusCodes.includes(e.response.status)){let e=1e3*Number(n);Number.isNaN(e)?e=Date.parse(n)-Date.now():e>=Date.parse("2024-01-01")&&(e-=Date.now());let r=null!=(a=this.#Q.retry.maxRetryAfter)?a:e;return e<r?e:r}if(413===e.response.status)throw e}return this.#eu()}#ee(e){return this.#Q.parseJson&&(e.json=async()=>this.#Q.parseJson(await e.text())),e}async #er(e){try{return await e()}catch(r){let n=Math.min(await this.#ef(r),0x7fffffff);if(this.#en<1)throw r;if(await nG(n,this.#ec?{signal:this.#ec}:{}),r instanceof ny&&r.customRequest){let e=this.#Q.signal?new globalThis.Request(r.customRequest,{signal:this.#Q.signal}):new globalThis.Request(r.customRequest);this.#ep(e)}for(let e of this.#Q.hooks.beforeRetry){let n=await e({request:this.request,options:this.#et(),error:r,retryCount:this.#en});if(n instanceof globalThis.Request){this.#ep(n);break}if(n instanceof globalThis.Response)return n;if(n===nE)return}return this.#er(e)}}async #Z(){var e;for(let n of((null==(e=this.#es)?void 0:e.signal.aborted)&&(this.#es=new globalThis.AbortController,this.#Q.signal=this.#ec?AbortSignal.any([this.#ec,this.#es.signal]):this.#es.signal,this.request=new globalThis.Request(this.request,{signal:this.#Q.signal})),this.#Q.hooks.beforeRequest)){let e=await n(this.request,this.#et(),{retryCount:this.#en});if(e instanceof Response)return e;if(e instanceof globalThis.Request){this.#ep(e);break}}let n=((e,n)=>{let r={};for(let i in n)Object.hasOwn(n,i)&&(i in nP||i in nI||i in e&&!(i in nM)||(r[i]=n[i]));return r})(this.request,this.#Q);return(this.#ei=this.request,this.request=this.#ei.clone(),!1===this.#Q.timeout)?this.#Q.fetch(this.#ei,n):nz(this.#ei,n,this.#es,this.#Q)}#et(){if(!this.#ed){let{hooks:e,...n}=this.#Q;this.#ed=Object.freeze(n)}return this.#ed}#ep(e){this.#ed=void 0,this.request=this.#el(e)}#el(e,n){var r;return this.#Q.onUploadProgress&&e.body?((e,n,r)=>{if(!e.body)return e;let i=(e=>{if(!e)return 0;if(e instanceof FormData){let n=0;for(let[r,i]of e)n+=nx,n+=new TextEncoder().encode(`Content-Disposition: form-data; name="${r}"`).length,n+="string"==typeof i?new TextEncoder().encode(i).length:i.size;return n}if(e instanceof Blob)return e.size;if(e instanceof ArrayBuffer)return e.byteLength;if("string"==typeof e)return new TextEncoder().encode(e).length;if(e instanceof URLSearchParams)return new TextEncoder().encode(e.toString()).length;if("byteLength"in e)return e.byteLength;if("object"==typeof e&&null!==e)try{let n=JSON.stringify(e);return new TextEncoder().encode(n).length}catch{}return 0})(null!=r?r:e.body);return new Request(e,{duplex:"half",body:nj(e.body,i,n)})})(e,this.#Q.onUploadProgress,null!=(r=null!=n?n:this.#Q.body)?r:void 0):e}}let nX=e=>{let n=(n,r)=>nW.create(n,nD(e,r));for(let r of nT)n[r]=(n,i)=>nW.create(n,nD(e,i,{method:r}));return n.create=e=>nX(nD(e)),n.extend=n=>("function"==typeof n&&(n=n(null!=e?e:{})),nX(nD(e,n))),n.stop=nE,n.retry=nk,n},n$=nX();function nJ(e,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,n)}function nK(e,n){return function(r,i){n(r,i,e)}}class nY{static #F=this.ONLINE_HOST="https://ky.cloud.baidu.com";static #eh=this.SANDBOX_HOST="https://ky-test.cloud.baidu.com";constructor(e){this.opts=e,"production"===this.opts.env?this.client=n$.create({prefixUrl:nY.ONLINE_HOST}):this.client=n$.create({prefixUrl:nY.SANDBOX_HOST})}}nY=function(e,n,r,i){var o,s=arguments.length,a=s<3?n:null===i?i=Object.getOwnPropertyDescriptor(n,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,n,r,i);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(a=(s<3?o(a):s>3?o(n,r,a):o(n,r))||a);return s>3&&a&&Object.defineProperty(n,r,a),a}([eb(),nK(0,ev(nm.IOptions)),nK(0,eT()),nJ("design:type",Function),nJ("design:paramtypes",["undefined"==typeof IResolvedOptions?Object:IResolvedOptions])],nY);class nQ extends Error{constructor(e,n,r,i="MEDIUM",o={},s){super(n),this.name=this.constructor.name,this.code=e,this.category=r,this.severity=i,this.actionRequired=s,this.metadata={timestamp:Date.now(),stack:this.stack,...o},Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=Error(n).stack}static fromError(e,n,r){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"MEDIUM";return new nQ(n,e.message,r,i,{originalError:e,stack:e.stack})}toJSON(){return{code:this.code,message:this.message,category:this.category,severity:this.severity,metadata:this.metadata,actionRequired:this.actionRequired}}toString(){return`${this.name} [${this.code}]: ${this.message}`}}let nZ="2001",n0="2002",n1="2005",n2="2006",n3="3001",n4="3003",n5="3008",n6="3009",n8="3010",n9="3013",n7="3014",re="3100",rt="3101",rn="3103",rr="3104",ri="3105",ro="4001",rs="4002",ra="4003",rc="4004",rd="4005",rl="4006",ru="4008",rf={1e3:"发生未知错误",1001:"网络连接错误",1002:"请求超时",1003:"配置无效",1004:"身份验证失败",1005:"权限验证失败",1006:"数据验证失败",1007:"资源未找到",1008:"资源不可用",1009:"内部错误",2001:"Agent查询失败",2002:"Agent响应解析错误",2003:"Agent请求超时",2004:"Agent响应无效",2005:"Agent连接失败",2006:"Agent指令无效",3001:"ASR初始化失败",3002:"ASR启动失败",3003:"ASR停止失败",3004:"ASR信令错误",3005:"ASR音频捕获错误",3006:"ASR识别错误",3007:"ASR网络错误",3008:"ASR权限被拒绝",3009:"ASR设备未找到",3010:"ASR消息解析错误",3011:"ASR会话无效",3012:"ASR静音失败",3013:"ASR消息间隔超时",3014:"ASR运行时错误",3100:"浏览器不支持 MediaDevices API",3101:"需要 HTTPS 安全上下文",3102:"音频设备枚举失败",3103:"用户关闭权限请求",3104:"设备被占用或不可读",3105:"音频设备检测超时",4001:"数字人挂载失败",4002:"数字人iframe加载错误",4003:"数字人渲染错误",4004:"数字人WebSocket错误",4005:"数字人RTC错误",4006:"数字人认证错误",4007:"数字人会话数量达到上限",4008:"数字人资源不足",4009:"数字人超时",4010:"数字人中断失败",4011:"数字人SSML解析错误",4012:"数字人形象ID无效",4013:"数字人token无效",4014:"数字人流式渲染错误",4015:"数字人控制器未就绪",4016:"数字人播报文本长度不匹配",5001:"会话创建失败",5002:"会话类型无效",5003:"会话快照无效",5004:"会话Bean未找到",5005:"会话序列化错误",5006:"会话反序列化错误",5007:"会话状态无效",5008:"会话清除失败"};class rp extends nQ{constructor(e,n,r="MEDIUM",i={},o){super(e,n||rf[e]||"Agent服务错误","SERVICE",r,i,o)}}class rh extends rp{constructor(e,n={}){super(nZ,e,"HIGH",n)}}class rm extends rp{constructor(e,n={}){super(n0,e,"HIGH",n)}}class rv extends rp{constructor(e,n={}){super(n1,e,"HIGH",n)}}class rg extends rp{constructor(e,n={}){super(n2,e,"MEDIUM",n)}}var ry=__webpack_require__("../../node_modules/ua-parser-js/src/ua-parser.js"),rb=__webpack_require__.n(ry);let r_=()=>{let e=new(rb()),n=e.getBrowser(),r=e.getOS(),i=e.getDevice();return{userAgent:e.getUA(),browser:{name:n.name,version:n.version},os:{name:r.name,version:r.version},device:{type:i.type,vendor:i.vendor,model:i.model}}},rw=()=>"iOS"===new(rb())().getOS().name,rS=()=>{let e=new(rb()),n=e.getOS(),r=e.getDevice();return"Mac OS"===n.name&&"tablet"===r.type};class rR extends nQ{constructor(e,n,r="MEDIUM",i={}){super(e,n||rf[e]||"ASR服务错误","SERVICE",r,i)}}class rT extends rR{constructor(e,n={}){super(n3,e,"HIGH",n)}}class rC extends rR{constructor(e,n={}){super(n4,e,"MEDIUM",n)}}class rx extends rR{constructor(e,n={}){super(n5,e,"MEDIUM",{...n,context:{...n.context,browserInfo:r_()}})}}class rE extends rR{constructor(e,n={}){super(n8,e,"MEDIUM",n)}}class rO extends rR{constructor(e,n={}){super(n9,e,"MEDIUM",n)}}class rk extends rR{constructor(e,n={}){super(n7,e,"HIGH",n)}}class rI extends rR{constructor(e,n={}){super(n6,e,"HIGH",{...n,context:{...n.context,browserInfo:r_()}})}}class rM extends rR{constructor(e,n={}){super(rr,e,"MEDIUM",{...n,context:{...n.context,browserInfo:r_()}})}}class rP extends rR{constructor(e,n={}){super(re,e,"CRITICAL",{...n,context:{...n.context,browserInfo:r_()}})}}class rj extends rR{constructor(e,n={}){super(rt,e,"HIGH",n)}}class rA extends rR{constructor(e,n={}){super(rn,e,"MEDIUM",n)}}class rD extends rR{constructor(e,n={}){super(ri,e,"MEDIUM",n)}}class rB extends nQ{constructor(e,n,r="MEDIUM",i={}){super(e,n||rf[e]||"数字人服务错误","SERVICE",r,i)}}class rN extends rB{constructor(e,n={}){super(ro,e,"HIGH",n)}}class rL extends rB{constructor(e,n={}){super(rs,e,"HIGH",n)}}class rU extends rB{constructor(e,n={}){super(ra,e,"MEDIUM",n)}}class rF extends rB{constructor(e,n={}){super(rc,e,"HIGH",n)}}class rq extends rB{constructor(e,n={}){super(rd,e,"HIGH",n)}}class rH extends rB{constructor(e,n={}){super(rl,e,"CRITICAL",n)}}class rV extends rB{constructor(e,n={}){super(ru,e,"CRITICAL",n)}}class rz{constructor(e){this.opts=e,this.reporters=[]}addReporter(e){this.reporters.push(e)}removeReporter(e){let n=this.reporters.indexOf(e);n>-1&&this.reporters.splice(n,1)}async handle(e){let n;n=e instanceof nQ?e.toJSON():this.isErrorDetails(e)?e:nQ.fromError(e,"UNKNOWN_ERROR","INTERNAL").toJSON(),await this.processError(n)}async processError(e){try{this.shouldLogError()&&this.logError(e),this.shouldReportError(e)&&await this.reportError(e)}catch(e){console.error("Error in error handler:",e)}}shouldLogError(){var e;return(null==(e=this.opts)?void 0:e.enableErrorLogging)!==!1}shouldReportError(e){var n;return(null==(n=this.opts)?void 0:n.enableErrorReporting)!==!1&&"LOW"!==e.severity&&this.reporters.length>0}logError(e){let n=this.getLogLevel(e.severity),r=`[${e.code}] ${e.message}`;"error"===n?console.error(r,e):"warn"===n?console.warn(r,e):console.log(r,e)}getLogLevel(e){switch(e){case"CRITICAL":case"HIGH":return"error";case"MEDIUM":return"warn";default:return"log"}}async reportError(e){let n=this.reporters.map(n=>n.report(e).catch(e=>{console.error("Error reporter failed:",e)}));await Promise.allSettled(n)}isErrorDetails(e){return e&&"object"==typeof e&&"code"in e&&"message"in e&&"category"in e&&"severity"in e}}class rG{async report(e){console.error("Error Report:",{code:e.code,message:e.message,category:e.category,severity:e.severity,timestamp:new Date(e.metadata.timestamp).toISOString(),sessionId:e.metadata.sessionId,requestId:e.metadata.requestId,context:e.metadata.context})}}class rW{constructor(e){this.options={timeout:5e3,headers:{"Content-Type":"application/json"},retryCount:3,retryDelay:1e3,...e}}async report(e){let n=this.buildPayload(e);for(let e=0;e<=this.options.retryCount;e++)try{await this.sendRequest(n);return}catch(n){if(e===this.options.retryCount)throw n;await this.delay(this.options.retryDelay*(e+1))}}buildPayload(e){return{error:{code:e.code,message:e.message,category:e.category,severity:e.severity,actionRequired:e.actionRequired},metadata:{timestamp:e.metadata.timestamp,sessionId:e.metadata.sessionId,requestId:e.metadata.requestId,userId:e.metadata.userId,context:e.metadata.context,userAgent:navigator.userAgent,url:window.location.href}}}async sendRequest(e){let n=new AbortController,r=setTimeout(()=>n.abort(),this.options.timeout);try{let r=await fetch(this.options.endpoint,{method:"POST",headers:this.options.headers,body:JSON.stringify(e),signal:n.signal});if(!r.ok)throw Error(`HTTP ${r.status}: ${r.statusText}`)}finally{clearTimeout(r)}}delay(e){return new Promise(n=>setTimeout(n,e))}}class rX{static getErrorSeverity(e){if(e instanceof nQ)return e.severity;let n=e.message.toLowerCase();return n.includes("permission")||n.includes("unauthorized")||n.includes("forbidden")?"CRITICAL":n.includes("network")||n.includes("timeout")||n.includes("connection")?"HIGH":"MEDIUM"}static shouldReport(e){return!(e instanceof nQ)||"LOW"!==e.severity}static extractMetadata(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r={timestamp:Date.now(),context:n,stack:e.stack};return e instanceof nQ?{...r,...e.metadata}:r}static getActionRequired(e){if(e instanceof nQ){var n;return null!=(n=e.actionRequired)?n:null}let r=e.message.toLowerCase();return r.includes("permission")||r.includes("unauthorized")?"请检查用户权限":r.includes("network")||r.includes("timeout")?"请检查网络连接后重试":r.includes("validation")||r.includes("invalid")?"请检查输入数据的格式和有效性":null}}class r${constructor(){this.emitter=new np,this.emit=e=>{let n=this.transformErrorToPayload(e);this.emitter.emit("error",n)},this.on=e=>{this.emitter.on("error",e)},this.off=e=>{this.emitter.off("error",e)},this.clearListeners=()=>{this.emitter.clearListeners()},this.transformErrorToPayload=e=>{if(e instanceof nQ){var n;return{code:e.code,message:e.toString(),stack:e.stack,actionRequired:null!=(n=e.actionRequired)?n:null,severity:e.severity,metadata:{timestamp:e.metadata.timestamp,sessionId:e.metadata.sessionId,requestId:e.metadata.requestId,userId:e.metadata.userId,context:e.metadata.context,service:this.extractServiceFromError(e)},originalError:e}}return{code:"UNKNOWN_ERROR",message:e.toString(),stack:e.stack,actionRequired:rX.getActionRequired(e),severity:rX.getErrorSeverity(e),metadata:{timestamp:Date.now(),context:{errorName:e.name}},originalError:e}},this.extractServiceFromError=e=>{let n=e.constructor.name.toLowerCase();return n.includes("agent")?"agent":n.includes("asr")?"asr":n.includes("digitalHuman")||n.includes("dh")?"digital-human":n.includes("conversation")?"conversation":"unknown"}}}class rJ extends Error{constructor(e,n,r={}){super(n),this.name=e||"AaaSPilotKitError",this.message=n,this.data=r,Error.captureStackTrace?Error.captureStackTrace(this,rJ):this.stack=Error().stack||"",Object.setPrototypeOf(this,rJ.prototype)}static createForMonitoring(e,n,r){return new rJ(e,n,r)}getMonitoringData(){return{type:this.name,message:this.message,stack:this.stack,timestamp:Date.now(),...this.data}}getSimplifiedData(){return{type:this.name,message:this.message,userId:this.data.userId,sessionId:this.data.sessionId,page:this.data.page}}toString(){return this.message}toJSON(){return this.getMonitoringData()}}function rK(e,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,n)}function rY(e,n){return function(r,i){n(r,i,e)}}class rQ extends r${constructor(e){super(),this.opts=e,this.handleError=async e=>{await this.errorHandler.handle(e),this.emit(e)},this.getErrorHandler=()=>this.errorHandler,this.getActionRequired=e=>rX.getActionRequired(e),this.createMonitoringError=e=>{var n,r;let i=this.buildEnhancedMessage(e),o={page:null==(n=e.metadata.context)?void 0:n.page,userId:e.metadata.userId,sessionId:e.metadata.sessionId,requestId:e.metadata.requestId,context:e.metadata.context,severity:e.severity,category:e.metadata.service||"unknown",code:e.code,originalMessage:null==(r=e.originalError)?void 0:r.message};return rJ.createForMonitoring(e.code,i,o)},this.buildEnhancedMessage=e=>{let n=[],r=e.severity.toUpperCase();n.push(`[${r}]: ${e.message}`),e.metadata.service&&n.push(`category=${e.metadata.service}`);let i=new Date(e.metadata.timestamp||Date.now()),o=i.getFullYear()+"-"+String(i.getMonth()+1).padStart(2,"0")+"-"+String(i.getDate()).padStart(2,"0")+" "+String(i.getHours()).padStart(2,"0")+":"+String(i.getMinutes()).padStart(2,"0")+":"+String(i.getSeconds()).padStart(2,"0");if(n.push(`time=${o}`),e.metadata&&Object.keys(e.metadata).length>0){let r=this.stringifyMetadata(e.metadata);r&&"{}"!==r&&n.push(`metadata=${r}`)}return n.join(" | ")},this.stringifyMetadata=e=>{if(!e||"object"!=typeof e)return"{}";let n=new Set(["timestamp","stack"]),r={};for(let[i,o]of Object.entries(e))n.has(i)||null==o||(r[i]=o);try{return JSON.stringify(r)}catch{return"{}"}},this.initializeReporters=()=>{this.options.enableConsoleReporter&&this.errorHandler.addReporter(new rG),this.options.enableHttpReporter&&this.options.httpReporterEndpoint&&this.errorHandler.addReporter(new rW({endpoint:this.options.httpReporterEndpoint}))},this.options={enableConsoleReporter:this.opts.enableDebugMode,enableHttpReporter:!1,enableErrorLogging:this.opts.enableDebugMode,enableErrorReporting:!0},this.errorHandler=new rz(this.options),this.initializeReporters()}}rQ=function(e,n,r,i){var o,s=arguments.length,a=s<3?n:null===i?i=Object.getOwnPropertyDescriptor(n,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,n,r,i);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(a=(s<3?o(a):s>3?o(n,r,a):o(n,r))||a);return s>3&&a&&Object.defineProperty(n,r,a),a}([eb(),rY(0,ev(nm.IOptions)),rY(0,eT()),rK("design:type",Function),rK("design:paramtypes",["undefined"==typeof IOptions?Object:IOptions])],rQ);let rZ="undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),r0=new Uint8Array(16),r1=[];for(let e=0;e<256;++e)r1.push((e+256).toString(16).slice(1));let r2=function(n,r,i){if(rZ&&!r&&!n)return rZ();var o=n,s=r,a=i;let c=(o=o||{}).random??o.rng?.()??function(){if(!e){if("undefined"==typeof crypto||!crypto.getRandomValues)throw Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");e=crypto.getRandomValues.bind(crypto)}return e(r0)}();if(c.length<16)throw Error("Random bytes length must be >= 16");if(c[6]=15&c[6]|64,c[8]=63&c[8]|128,s){if((a=a||0)<0||a+16>s.length)throw RangeError(`UUID byte range ${a}:${a+15} is out of buffer bounds`);for(let e=0;e<16;++e)s[a+e]=c[e];return s}return function(e,n=0){return(r1[e[n+0]]+r1[e[n+1]]+r1[e[n+2]]+r1[e[n+3]]+"-"+r1[e[n+4]]+r1[e[n+5]]+"-"+r1[e[n+6]]+r1[e[n+7]]+"-"+r1[e[n+8]]+r1[e[n+9]]+"-"+r1[e[n+10]]+r1[e[n+11]]+r1[e[n+12]]+r1[e[n+13]]+r1[e[n+14]]+r1[e[n+15]]).toLowerCase()}(c)},r3=()=>{};class r4{constructor(e,n){this.getText=()=>"string"==typeof this.data?this.data:this.data&&"object"==typeof this.data&&"answer"in this.data&&this.data.answer||"",this.toJSON=()=>({data:this.data,index:this.index}),this.data=e,this.index=n}}class r5{constructor(e,n){this.emitter=new np,this.id=r2(),this._endTime=0,this._isCompleted=!1,this.chunks=[],this.appendChunk=e=>{this._isCompleted?console.warn(`Response ${this.id} 已完成,无法添加新的 chunk`):(this.chunks.push(e),this.emitter.emit("update",{sessionId:this.sessionId,queryId:this.queryId,response:this}).catch(r3))},this.complete=()=>{this._isCompleted||(this._isCompleted=!0,this._endTime=Date.now())},this.getChunks=()=>this.chunks,this.getFullText=()=>this.chunks.map(e=>e.getText()).join(""),this.getDuration=()=>(this._endTime||Date.now())-this.startTime,this.isCompleted=()=>this._isCompleted,this.toJSON=()=>({id:this.id,sessionId:this.sessionId,queryId:this.queryId,startTime:this.startTime,endTime:this._endTime,duration:this.getDuration(),isCompleted:this._isCompleted,chunks:this.chunks.map(e=>e.toJSON()),fullText:this.getFullText()}),this.toString=()=>this.getFullText(),this.sessionId=e,this.queryId=n,this.startTime=Date.now()}get endTime(){return this._endTime}}class r6{constructor(e=0){this.currentResponse=null,this.responses=[],this.maxSize=0,this.onResponse=(e,n,r)=>{if(this.currentResponse&&this.currentResponse.queryId===r){let n=new r4(e,this.currentResponse.getChunks().length);this.currentResponse.appendChunk(n);return}if(!this.currentResponse||this.currentResponse.queryId!==r){let i=new r5(n,r),o=new r4(e,0);i.appendChunk(o),this.currentResponse=i,this.addResponse(i)}},this.onComplete=()=>{this.currentResponse&&(this.currentResponse.complete(),this.currentResponse=null)},this.getResponses=()=>this.responses,this.getResponseById=e=>this.responses.find(n=>n.id===e),this.getResponseByQueryId=e=>this.responses.find(n=>n.queryId===e),this.getLastResponse=()=>this.responses[this.responses.length-1]||null,this.clear=()=>{this.responses=[],this.currentResponse=null},this.toJSON=()=>this.responses.map(e=>e.toJSON()),this.addResponse=e=>{this.responses.push(e),this.maxSize>0&&this.responses.length>this.maxSize&&(this.responses=this.responses.slice(-this.maxSize))},this.maxSize=e}}function r8(e,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,n)}function r9(e,n){return function(r,i){n(r,i,e)}}class r7{constructor(e,n,r){this.request=e,this.errorManager=n,this.opts=r,this.emitter=new np,this.conversationSessionId="",this.abortController=null,this._queryId="",this._lastQueryId="",this.hasTtftEmitted=!1,this.setSessionId=e=>{this.conversationSessionId=e},this.setQueryId=e=>{this._queryId=e},this.setLastQueryId=e=>{this._lastQueryId=e},this.abort=e=>{var n;null==(n=this.abortController)||n.abort(e),this.abortController&&(this.abortController=null)},this.checkIsRepeat=()=>{let e=!!this.lastQueryId&&this.lastQueryId===this.queryId;return e&&this.opts.enableDebugMode&&console.warn("重复的completed查询被忽略:",this.queryId),e},this.onData=e=>{this.emitter.emit("data",e)},this.onCompleted=e=>{this.emitter.emit("completed",e),this.responseManager.onComplete()},this.onHangup=e=>{this.emitter.emit("hangup",e)},this.onTimeout=e=>{this.emitter.emit("timeout",e)},this.onInstructionReceived=e=>{this.emitter.emit("instruction_received",e)},this.onResponse=e=>{this.responseManager.onResponse(e,this.sessionId,this.queryId)},this.onUsageQuotaReached=e=>{this.emitter.emit("usage_quota_reached",e)},this.onQuotaExpired=e=>{this.emitter.emit("quota_expired",e)},this.onTtft=e=>{this.hasTtftEmitted||(this.hasTtftEmitted=!0,this.emitter.emit("ttft",e))},this.resetTtftFlag=()=>{this.hasTtftEmitted=!1},this._dispose=()=>{this.abort(),this.conversationSessionId="",this._queryId="",this._lastQueryId="",this.responseManager.clear()},this.responseManager=new r6}get sessionId(){return this.conversationSessionId}get queryId(){return this._queryId}get lastQueryId(){return this._lastQueryId}getResponses(){return this.responseManager.getResponses()}getResponseManager(){return this.responseManager}}r7=function(e,n,r,i){var o,s=arguments.length,a=s<3?n:null===i?i=Object.getOwnPropertyDescriptor(n,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,n,r,i);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(a=(s<3?o(a):s>3?o(n,r,a):o(n,r))||a);return s>3&&a&&Object.defineProperty(n,r,a),a}([eb(),r9(0,ev(nm.CommonRequest)),r9(1,ev(nm.ErrorManager)),r9(2,ev(nm.IOptions)),r9(2,eT()),r8("design:type",Function),r8("design:paramtypes",[void 0===nY?Object:nY,void 0===rQ?Object:rQ,"undefined"==typeof IResolvedOptions?Object:IResolvedOptions])],r7),__webpack_require__("../../node_modules/core-js/modules/es.array.reduce.js");let ie=[{pattern:/客悦\s*one/gi,replacement:"客悦\xb7ONE"},{pattern:/\bSARS\b/gi,replacement:"SaaS"},{pattern:/\bSAS\b/gi,replacement:"SaaS"}],it=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ie;return n.reduce((e,n)=>{let{pattern:r,replacement:i}=n;return e.replace(r,i)},e)},ir={CHINESE:"zh",ENGLISH:"en",JAPANESE:"ja",SPANISH:"es",RUSSIAN:"ru",KOREAN:"ko",VIETNAMESE:"vi",GERMAN:"de",INDONESIAN:"id",THAI:"th"},ii={[ir.CHINESE]:"zh",[ir.ENGLISH]:"en",[ir.JAPANESE]:"ja",[ir.SPANISH]:"es",[ir.RUSSIAN]:"ru",[ir.KOREAN]:"ko",[ir.VIETNAMESE]:"vi",[ir.GERMAN]:"de",[ir.INDONESIAN]:"id",[ir.THAI]:"th",ar:"ar",ms:"ms"},io={[ir.CHINESE]:"Chinese",[ir.ENGLISH]:"English",[ir.JAPANESE]:"Japanese",[ir.SPANISH]:"Spanish",[ir.RUSSIAN]:"Russian",[ir.KOREAN]:"Korean",[ir.VIETNAMESE]:"Vietnamese",[ir.GERMAN]:"German",[ir.INDONESIAN]:"Indonesian",[ir.THAI]:"Thai",yue:"Chinese,Yue",fr:"French",pt:"Portuguese",tr:"Turkish",nl:"Dutch",uk:"Ukrainian",it:"Italian",pl:"Polish",ro:"Romanian",el:"Greek",cs:"Czech",fi:"Finnish",hi:"Hindi",auto:"auto"},is=ir.CHINESE,ia=e=>{if(!e)return io[is];let n=io[e];return n||(console.warn(`[AaaSPilotKit] 不支持的语言代码 "${e}",已自动回退到中文。支持的语言:${Object.keys(io).join(", ")}`),io[is])},ic={enableDebugMode:!1,minSplitLen:5,ttsModel:"turbo_v2",env:"production",asrVad:600,interruptible:!0,rendererMode:"cloud",autoChromaKey:!0,typeDelay:163,enTypeDelay:45,lang:ir.CHINESE,inactivityPrompt:"您这么久没讲话,是不是有其它事情要忙,那我先挂断了",getMountContainer:()=>document.body,hotWordReplacementRules:ie,checkAudioDeviceBeforeStart:!0,rtcID:"appreimunmd7utp"};class id{constructor(e,n){this.opts=n,this.emitter=new np,this.id="",this.text="",this.update=e=>{let{id:n,...r}=e;n?this.id=n:this.id||(this.id=r2()),Object.assign(this,r)},this.toJSON=()=>({id:this.id,type:this.type,text:this.text}),this.type=e.type,this.update(e)}}class il extends id{constructor(e,n){super({...e,type:"client"},n),this.opts=n,this.appendText=e=>{this.text=e,this.emitter.emit("content_change",{mod:"text",content:e,completed:!0}).catch(r3)},this.dispose=()=>{},this.interrupt=()=>{}}static create(e){return new il({},e)}}var iu=__webpack_require__("../../node_modules/eventemitter3/index.js"),ip=__webpack_require__.n(iu);class ih extends Error{name="TimeoutError";constructor(e,n){super(e,n),Error.captureStackTrace?.(this,ih)}}let im=e=>e.reason??new DOMException("This operation was aborted.","AbortError");class iv{#em=[];enqueue(e,n){let{priority:r=0,id:i}=n??{},o={priority:r,id:i,run:e};if(0===this.size||this.#em[this.size-1].priority>=r)return void this.#em.push(o);let s=function(e,n,r){let i=0,o=e.length;for(;o>0;){let s=Math.trunc(o/2),a=i+s;0>=r(e[a],n)?(i=++a,o-=s+1):o=s}return i}(this.#em,o,(e,n)=>n.priority-e.priority);this.#em.splice(s,0,o)}setPriority(e,n){let r=this.#em.findIndex(n=>n.id===e);if(-1===r)throw ReferenceError(`No promise function with the id "${e}" exists in the queue.`);let[i]=this.#em.splice(r,1);this.enqueue(i.run,{priority:n,id:e})}dequeue(){let e=this.#em.shift();return e?.run}filter(e){return this.#em.filter(n=>n.priority===e.priority).map(e=>e.run)}get size(){return this.#em.length}}class ig extends ip(){#ev;#eg;#ey=0;#eb;#e_=!1;#ew=!1;#eS;#eR=0;#eT=0;#eC;#ex;#em;#eE;#eO=0;#ek;#eI;#eM=1n;#eP=new Map;timeout;constructor(e){if(super(),!("number"==typeof(e={carryoverIntervalCount:!1,intervalCap:1/0,interval:0,concurrency:1/0,autoStart:!0,queueClass:iv,...e}).intervalCap&&e.intervalCap>=1))throw TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${typeof e.intervalCap})`);if(void 0===e.interval||!(Number.isFinite(e.interval)&&e.interval>=0))throw TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${e.interval?.toString()??""}\` (${typeof e.interval})`);if(this.#ev=e.carryoverIntervalCount??e.carryoverConcurrencyCount??!1,this.#eg=e.intervalCap===1/0||0===e.interval,this.#eb=e.intervalCap,this.#eS=e.interval,this.#em=new e.queueClass,this.#eE=e.queueClass,this.concurrency=e.concurrency,void 0!==e.timeout&&!(Number.isFinite(e.timeout)&&e.timeout>0))throw TypeError(`Expected \`timeout\` to be a positive finite number, got \`${e.timeout}\` (${typeof e.timeout})`);this.timeout=e.timeout,this.#eI=!1===e.autoStart,this.#ej()}get #eA(){return this.#eg||this.#ey<this.#eb}get #eD(){return this.#eO<this.#ek}#eB(){this.#eO--,0===this.#eO&&this.emit("pendingZero"),this.#eN(),this.emit("next")}#eL(){this.#eU(),this.#eF(),this.#ex=void 0}get #eq(){let e=Date.now();if(void 0===this.#eC){let n=this.#eR-e;if(!(n<0))return this.#eH(n),!0;if(this.#eT>0){let n=e-this.#eT;if(n<this.#eS)return this.#eH(this.#eS-n),!0}this.#ey=this.#ev?this.#eO:0}return!1}#eH(e){void 0===this.#ex&&(this.#ex=setTimeout(()=>{this.#eL()},e))}#eV(){this.#eC&&(clearInterval(this.#eC),this.#eC=void 0)}#ez(){this.#ex&&(clearTimeout(this.#ex),this.#ex=void 0)}#eN(){if(0===this.#em.size)return this.#eV(),this.emit("empty"),0===this.#eO&&(this.#ez(),this.emit("idle")),!1;let e=!1;if(!this.#eI){let n=!this.#eq;if(this.#eA&&this.#eD){let r=this.#em.dequeue();this.#eg||(this.#ey++,this.#eG()),this.emit("active"),this.#eT=Date.now(),r(),n&&this.#eF(),e=!0}}return e}#eF(){this.#eg||void 0!==this.#eC||(this.#eC=setInterval(()=>{this.#eU()},this.#eS),this.#eR=Date.now()+this.#eS)}#eU(){0===this.#ey&&0===this.#eO&&this.#eC&&this.#eV(),this.#ey=this.#ev?this.#eO:0,this.#eW(),this.#eG()}#eW(){for(;this.#eN(););}get concurrency(){return this.#ek}set concurrency(e){if(!("number"==typeof e&&e>=1))throw TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this.#ek=e,this.#eW()}async #eX(e){return new Promise((n,r)=>{e.addEventListener("abort",()=>{r(e.reason)},{once:!0})})}setPriority(e,n){if("number"!=typeof n||!Number.isFinite(n))throw TypeError(`Expected \`priority\` to be a finite number, got \`${n}\` (${typeof n})`);this.#em.setPriority(e,n)}async add(e,n={}){return n.id??=(this.#eM++).toString(),n={timeout:this.timeout,...n},new Promise((r,i)=>{let o=Symbol(`task-${n.id}`);this.#em.enqueue(async()=>{this.#eO++,this.#eP.set(o,{id:n.id,priority:n.priority??0,startTime:Date.now(),timeout:n.timeout});try{try{n.signal?.throwIfAborted()}catch(e){throw!this.#eg&&this.#ey--,this.#eP.delete(o),e}let i=e({signal:n.signal});n.timeout&&(i=function(e,n){let r,i,{milliseconds:o,fallback:s,message:a,customTimers:c={setTimeout,clearTimeout},signal:d}=n,l=new Promise((n,l)=>{if("number"!=typeof o||1!==Math.sign(o))throw TypeError(`Expected \`milliseconds\` to be a positive number, got \`${o}\``);if(d?.aborted)return void l(im(d));if(d&&(i=()=>{l(im(d))},d.addEventListener("abort",i,{once:!0})),e.then(n,l),o===1/0)return;let u=new ih;r=c.setTimeout.call(void 0,()=>{if(s){try{n(s())}catch(e){l(e)}return}"function"==typeof e.cancel&&e.cancel(),!1===a?n():a instanceof Error?l(a):(u.message=a??`Promise timed out after ${o} milliseconds`,l(u))},o)}).finally(()=>{l.clear(),i&&d&&d.removeEventListener("abort",i)});return l.clear=()=>{c.clearTimeout.call(void 0,r),r=void 0},l}(Promise.resolve(i),{milliseconds:n.timeout,message:`Task timed out after ${n.timeout}ms (queue has ${this.#eO} running, ${this.#em.size} waiting)`})),n.signal&&(i=Promise.race([i,this.#eX(n.signal)]));let s=await i;r(s),this.emit("completed",s)}catch(e){i(e),this.emit("error",e)}finally{this.#eP.delete(o),queueMicrotask(()=>{this.#eB()})}},n),this.emit("add"),this.#eN()})}async addAll(e,n){return Promise.all(e.map(async e=>this.add(e,n)))}start(){return this.#eI&&(this.#eI=!1,this.#eW()),this}pause(){this.#eI=!0}clear(){this.#em=new this.#eE,this.#e$()}async onEmpty(){0!==this.#em.size&&await this.#eJ("empty")}async onSizeLessThan(e){this.#em.size<e||await this.#eJ("next",()=>this.#em.size<e)}async onIdle(){(0!==this.#eO||0!==this.#em.size)&&await this.#eJ("idle")}async onPendingZero(){0!==this.#eO&&await this.#eJ("pendingZero")}async onRateLimit(){this.isRateLimited||await this.#eJ("rateLimit")}async onRateLimitCleared(){this.isRateLimited&&await this.#eJ("rateLimitCleared")}async onError(){return new Promise((e,n)=>{let r=e=>{this.off("error",r),n(e)};this.on("error",r)})}async #eJ(e,n){return new Promise(r=>{let i=()=>{(!n||n())&&(this.off(e,i),r())};this.on(e,i)})}get size(){return this.#em.size}sizeBy(e){return this.#em.filter(e).length}get pending(){return this.#eO}get isPaused(){return this.#eI}#ej(){this.#eg||(this.on("add",()=>{this.#em.size>0&&this.#eG()}),this.on("next",()=>{this.#eG()}))}#eG(){this.#eg||this.#ew||(this.#ew=!0,queueMicrotask(()=>{this.#ew=!1,this.#e$()}))}#e$(){let e=this.#e_,n=!this.#eg&&this.#ey>=this.#eb&&this.#em.size>0;n!==e&&(this.#e_=n,this.emit(n?"rateLimit":"rateLimitCleared"))}get isRateLimited(){return this.#e_}get isSaturated(){return this.#eO===this.#ek&&this.#em.size>0||this.isRateLimited&&this.#em.size>0}get runningTasks(){return[...this.#eP.values()].map(e=>({...e}))}}class iy{constructor(e){this.id=r2(),this.createdAt=Date.now(),this.updatedAt=Date.now(),this.emitter=new np,this.getConfig=()=>({...this.config}),this.updateConfig=e=>{this.config={...this.config,...e},this.updatedAt=Date.now()},this.toJSON=()=>({id:this.id,mod:this.mod,config:this.getConfig(),createdAt:this.createdAt,updatedAt:this.updatedAt}),this.updateTimestamp=()=>{this.updatedAt=Date.now()},this._dispose=()=>{this.emitter.clearListeners()},this.config={...e},this.config.timestamp||(this.config.timestamp=this.createdAt)}}var ib=__webpack_require__("../../node_modules/typewriter-effect/dist/core.js"),i_=__webpack_require__.n(ib);let iw=e=>/[\u3400-\u4DBF\u4E00-\u9FFF\uF900-\uFAFF\u3000-\u303F]/.test(e);class iS extends iy{get mod(){return"text"}static fromSnapshot(e){return new iS(e.config)}static fromString(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new iS({content:e,...n})}setTargetElement(e){this.targetElement=e}isEmpty(){return!this.config.content}constructor(...e){super(...e),this.typewriter=null,this.targetElement=null,this.index=0,this.stopTypewriter=()=>{this.typewriter&&(this.typewriter.stop(),this.typewriter=null)},this.runTask=()=>new Promise((e,n)=>{if(this.ensureTarget(),this.isEmpty())return void e({mod:"text",content:""});try{var r,i,o,s,a;let n=null!=(o=null==(r=this.config.typewriterOptions)?void 0:r.delay)?o:163,c=null!=(s=null==(i=this.config.typewriterOptions)?void 0:i.enDelay)?s:n;this.typewriter=new(i_())(this.targetElement,{autoStart:!0,loop:!1,...this.config.typewriterOptions,delay:0,onCreateTextNode:e=>{let n=this.index===this.config.content.length-1;return this.emitter.emit("data",{char:e,index:this.index++,done:n}),document.createTextNode(e)}});let d=[],l="",u=null;for(let e of Array.from(this.config.content)){let n=iw(e);null===u||n===u?l+=e:(d.push({s:l,cn:u}),l=e),u=n}l&&d.push({s:l,cn:u});let f=this.typewriter;if(0===d.length)f=f.changeDelay(n).typeString(this.config.content);else for(let e=0;e<d.length;e++){let{s:r,cn:i}=d[e];if(0===e){let e=null!=(a=r[0])?a:"",o=r.slice(1);f=f.typeString(e),o&&(f=f.changeDelay(i?n:c).typeString(o));continue}f=f.changeDelay(i?n:c).typeString(r)}f.callFunction(()=>{e({mod:"text",content:this.config.content})}).start()}catch(e){n(e)}}),this.dispose=()=>{this._dispose(),this.stopTypewriter(),this.targetElement=null,this.index=0},this.interrupt=()=>{this.stopTypewriter()},this.ensureTarget=()=>{if(this.targetElement)return;let e=document.createElement("span");e.className="text-content-typewriter",this.targetElement=e}}}class iR extends iy{get mod(){return"image"}static fromSnapshot(e){return new iR(e.config)}static fromSrc(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new iR({src:e,...n})}isEmpty(){return!this.config.src}ensureImageElement(){if(this.imgElement)return this.imgElement;let e=document.createElement("img");return this.imgElement=e,e}constructor(...e){super(...e),this.imgElement=null,this.setTargetElement=e=>{this.imgElement=e},this.runTask=()=>new Promise((e,n)=>{var r;if(this.isEmpty())return void e({mod:"image",src:""});let i=this.ensureImageElement(),o=()=>{e({mod:"image",...this.config}),i.removeEventListener("load",o)},s=()=>{n(Error(`Failed to load image: ${this.config.src}`)),i.removeEventListener("error",s)};i.addEventListener("load",o,{once:!0}),i.addEventListener("error",s,{once:!0}),i.alt=null!=(r=this.config.alt)?r:"",this.config.width&&(i.width=this.config.width),this.config.height&&(i.height=this.config.height),i.src=this.config.src}),this.dispose=()=>{this._dispose(),this.imgElement&&(this.imgElement.src="",this.imgElement=null)},this.interrupt=()=>{}}}class iT extends iy{get mod(){return"video"}static fromSnapshot(e){return new iT(e.config)}static fromSrc(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new iT({src:e,...n})}isEmpty(){return!this.config.src}ensureVideoElement(){if(this.videoElement)return this.videoElement;let e=document.createElement("video");return e.muted=!0,e.playsInline=!0,this.videoElement=e,e}constructor(...e){super(...e),this.videoElement=null,this.setTargetElement=e=>{this.videoElement=e},this.runTask=()=>new Promise((e,n)=>{if(this.isEmpty())return void e({mod:"video",src:""});let r=this.ensureVideoElement(),i=()=>{e({mod:"video",...this.config}),r.removeEventListener("loadedmetadata",i)},o=()=>{n(Error(`Failed to load video: ${this.config.src}`)),r.removeEventListener("error",o)};r.addEventListener("loadedmetadata",i,{once:!0}),r.addEventListener("error",o,{once:!0}),this.config.poster&&(r.poster=this.config.poster),this.config.preload&&(r.preload=this.config.preload),this.config.width&&(r.width=this.config.width),this.config.height&&(r.height=this.config.height),r.src=this.config.src,r.load()}),this.dispose=()=>{this._dispose(),this.videoElement&&(this.videoElement.src="",this.videoElement.load(),this.videoElement=null)},this.interrupt=()=>{}}}let iC={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(e,n){return n},attributeValueProcessor:function(e,n){return n},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(e,n,r){return e},captureMetaData:!1},ix=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",iE=RegExp("^"+("["+ix+"]["+ix)+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$");function iO(e,n){let r=[],i=n.exec(e);for(;i;){let o=[];o.startIndex=n.lastIndex-i[0].length;let s=i.length;for(let e=0;e<s;e++)o.push(i[e]);r.push(o),i=n.exec(e)}return r}let ik=function(e){let n=iE.exec(e);return null!=n};n="function"!=typeof Symbol?"@@xmlMetadata":Symbol("XML Node Metadata");class iI{constructor(e){this.tagname=e,this.child=[],this[":@"]={}}add(e,n){"__proto__"===e&&(e="#__proto__"),this.child.push({[e]:n})}addChild(e,r){"__proto__"===e.tagname&&(e.tagname="#__proto__"),e[":@"]&&Object.keys(e[":@"]).length>0?this.child.push({[e.tagname]:e.child,":@":e[":@"]}):this.child.push({[e.tagname]:e.child}),void 0!==r&&(this.child[this.child.length-1][n]={startIndex:r})}static getMetaDataSymbol(){return n}}let iM=(e,n)=>{for(;n<e.length&&/\s/.test(e[n]);)n++;return n};function iP(e,n,r){let i="",o=e[n];if('"'!==o&&"'"!==o)throw Error(`Expected quoted string, found "${o}"`);for(n++;n<e.length&&e[n]!==o;)i+=e[n],n++;if(e[n]!==o)throw Error(`Unterminated ${r} value`);return[++n,i]}function ij(e,n,r){for(let i=0;i<n.length;i++)if(n[i]!==e[r+i+1])return!1;return!0}function iA(e){if(ik(e))return e;throw Error(`Invalid entity name ${e}`)}let iD=/^[-+]?0x[a-fA-F0-9]+$/,iB=/^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/,iN={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0},iL=/^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;class iU{constructor(e){this.options=e,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\xa2"},pound:{regex:/&(pound|#163);/g,val:"\xa3"},yen:{regex:/&(yen|#165);/g,val:"\xa5"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"\xa9"},reg:{regex:/&(reg|#174);/g,val:"\xae"},inr:{regex:/&(inr|#8377);/g,val:"₹"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(e,n)=>String.fromCodePoint(Number.parseInt(n,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(e,n)=>String.fromCodePoint(Number.parseInt(n,16))}},this.addExternalEntities=iF,this.parseXml=iG,this.parseTextData=iq,this.resolveNameSpace=iH,this.buildAttributesMap=iz,this.isItStopNode=iJ,this.replaceEntitiesValue=iX,this.readStopNodeData=iQ,this.saveTextToParentTag=i$,this.addChild=iW,this.ignoreAttributesFn=function(e){return"function"==typeof e?e:Array.isArray(e)?n=>{for(let r of e)if("string"==typeof r&&n===r||r instanceof RegExp&&r.test(n))return!0}:()=>!1}(this.options.ignoreAttributes)}}function iF(e){let n=Object.keys(e);for(let r=0;r<n.length;r++){let i=n[r];this.lastEntities[i]={regex:RegExp("&"+i+";","g"),val:e[i]}}}function iq(e,n,r,i,o,s,a){if(void 0!==e&&(this.options.trimValues&&!i&&(e=e.trim()),e.length>0)){a||(e=this.replaceEntitiesValue(e));let i=this.options.tagValueProcessor(n,e,r,o,s);return null==i?e:typeof i!=typeof e||i!==e?i:this.options.trimValues||e.trim()===e?iZ(e,this.options.parseTagValue,this.options.numberParseOptions):e}}function iH(e){if(this.options.removeNSPrefix){let n=e.split(":"),r="/"===e.charAt(0)?"/":"";if("xmlns"===n[0])return"";2===n.length&&(e=r+n[1])}return e}let iV=RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");function iz(e,n,r){if(!0!==this.options.ignoreAttributes&&"string"==typeof e){let r=iO(e,iV),i=r.length,o={};for(let e=0;e<i;e++){let i=this.resolveNameSpace(r[e][1]);if(this.ignoreAttributesFn(i,n))continue;let s=r[e][4],a=this.options.attributeNamePrefix+i;if(i.length)if(this.options.transformAttributeName&&(a=this.options.transformAttributeName(a)),"__proto__"===a&&(a="#__proto__"),void 0!==s){this.options.trimValues&&(s=s.trim()),s=this.replaceEntitiesValue(s);let e=this.options.attributeValueProcessor(i,s,n);null==e?o[a]=s:typeof e!=typeof s||e!==s?o[a]=e:o[a]=iZ(s,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(o[a]=!0)}if(Object.keys(o).length){if(this.options.attributesGroupName){let e={};return e[this.options.attributesGroupName]=o,e}return o}}}let iG=function(e){e=e.replace(/\r\n?/g,"\n");let n=new iI("!xml"),r=n,i="",o="";for(let s=0;s<e.length;s++)if("<"===e[s])if("/"===e[s+1]){let n=iK(e,">",s,"Closing Tag is not closed."),a=e.substring(s+2,n).trim();if(this.options.removeNSPrefix){let e=a.indexOf(":");-1!==e&&(a=a.substr(e+1))}this.options.transformTagName&&(a=this.options.transformTagName(a)),r&&(i=this.saveTextToParentTag(i,r,o));let c=o.substring(o.lastIndexOf(".")+1);if(a&&-1!==this.options.unpairedTags.indexOf(a))throw Error(`Unpaired tag can not be used as closing tag: </${a}>`);let d=0;c&&-1!==this.options.unpairedTags.indexOf(c)?(d=o.lastIndexOf(".",o.lastIndexOf(".")-1),this.tagsNodeStack.pop()):d=o.lastIndexOf("."),o=o.substring(0,d),r=this.tagsNodeStack.pop(),i="",s=n}else if("?"===e[s+1]){let n=iY(e,s,!1,"?>");if(!n)throw Error("Pi Tag is not closed.");if(i=this.saveTextToParentTag(i,r,o),this.options.ignoreDeclaration&&"?xml"===n.tagName||this.options.ignorePiTags);else{let e=new iI(n.tagName);e.add(this.options.textNodeName,""),n.tagName!==n.tagExp&&n.attrExpPresent&&(e[":@"]=this.buildAttributesMap(n.tagExp,o,n.tagName)),this.addChild(r,e,o,s)}s=n.closeIndex+1}else if("!--"===e.substr(s+1,3)){let n=iK(e,"--\x3e",s+4,"Comment is not closed.");if(this.options.commentPropName){let a=e.substring(s+4,n-2);i=this.saveTextToParentTag(i,r,o),r.add(this.options.commentPropName,[{[this.options.textNodeName]:a}])}s=n}else if("!D"===e.substr(s+1,2)){let n=function(e,n){let r={};if("O"===e[n+3]&&"C"===e[n+4]&&"T"===e[n+5]&&"Y"===e[n+6]&&"P"===e[n+7]&&"E"===e[n+8]){n+=9;let i=1,o=!1,s=!1;for(;n<e.length;n++)if("<"!==e[n]||s)if(">"===e[n]){if(s?"-"===e[n-1]&&"-"===e[n-2]&&(s=!1,i--):i--,0===i)break}else"["===e[n]?o=!0:e[n];else{if(o&&ij(e,"!ENTITY",n)){let i,o;n+=7,[i,o,n]=function(e,n){n=iM(e,n);let r="";for(;n<e.length&&!/\s/.test(e[n])&&'"'!==e[n]&&"'"!==e[n];)r+=e[n],n++;if(iA(r),n=iM(e,n),"SYSTEM"===e.substring(n,n+6).toUpperCase())throw Error("External entities are not supported");if("%"===e[n])throw Error("Parameter entities are not supported");let i="";return[n,i]=iP(e,n,"entity"),[r,i,--n]}(e,n+1),-1===o.indexOf("&")&&(r[i]={regx:RegExp(`&${i};`,"g"),val:o})}else if(o&&ij(e,"!ELEMENT",n)){let{index:r}=function(e,n){n=iM(e,n);let r="";for(;n<e.length&&!/\s/.test(e[n]);)r+=e[n],n++;if(!iA(r))throw Error(`Invalid element name: "${r}"`);n=iM(e,n);let i="";if("E"===e[n]&&ij(e,"MPTY",n))n+=4;else if("A"===e[n]&&ij(e,"NY",n))n+=2;else if("("===e[n]){for(n++;n<e.length&&")"!==e[n];)i+=e[n],n++;if(")"!==e[n])throw Error("Unterminated content model")}else throw Error(`Invalid Element Expression, found "${e[n]}"`);return{elementName:r,contentModel:i.trim(),index:n}}(e,(n+=8)+1);n=r}else if(o&&ij(e,"!ATTLIST",n))n+=8;else if(o&&ij(e,"!NOTATION",n)){let{index:r}=function(e,n){n=iM(e,n);let r="";for(;n<e.length&&!/\s/.test(e[n]);)r+=e[n],n++;iA(r),n=iM(e,n);let i=e.substring(n,n+6).toUpperCase();if("SYSTEM"!==i&&"PUBLIC"!==i)throw Error(`Expected SYSTEM or PUBLIC, found "${i}"`);n+=i.length,n=iM(e,n);let o=null,s=null;if("PUBLIC"===i)[n,o]=iP(e,n,"publicIdentifier"),n=iM(e,n),('"'===e[n]||"'"===e[n])&&([n,s]=iP(e,n,"systemIdentifier"));else if("SYSTEM"===i&&([n,s]=iP(e,n,"systemIdentifier"),!s))throw Error("Missing mandatory system identifier for SYSTEM notation");return{notationName:r,publicIdentifier:o,systemIdentifier:s,index:--n}}(e,(n+=9)+1);n=r}else if(ij(e,"!--",n))s=!0;else throw Error("Invalid DOCTYPE");i++}if(0!==i)throw Error("Unclosed DOCTYPE")}else throw Error("Invalid Tag instead of DOCTYPE");return{entities:r,i:n}}(e,s);this.docTypeEntities=n.entities,s=n.i}else if("!["===e.substr(s+1,2)){let n=iK(e,"]]>",s,"CDATA is not closed.")-2,a=e.substring(s+9,n);i=this.saveTextToParentTag(i,r,o);let c=this.parseTextData(a,r.tagname,o,!0,!1,!0,!0);void 0==c&&(c=""),this.options.cdataPropName?r.add(this.options.cdataPropName,[{[this.options.textNodeName]:a}]):r.add(this.options.textNodeName,c),s=n+2}else{let a=iY(e,s,this.options.removeNSPrefix),c=a.tagName,d=a.rawTagName,l=a.tagExp,u=a.attrExpPresent,f=a.closeIndex;this.options.transformTagName&&(c=this.options.transformTagName(c)),r&&i&&"!xml"!==r.tagname&&(i=this.saveTextToParentTag(i,r,o,!1));let p=r;p&&-1!==this.options.unpairedTags.indexOf(p.tagname)&&(r=this.tagsNodeStack.pop(),o=o.substring(0,o.lastIndexOf("."))),c!==n.tagname&&(o+=o?"."+c:c);let h=s;if(this.isItStopNode(this.options.stopNodes,o,c)){let n="";if(l.length>0&&l.lastIndexOf("/")===l.length-1)"/"===c[c.length-1]?(c=c.substr(0,c.length-1),o=o.substr(0,o.length-1),l=c):l=l.substr(0,l.length-1),s=a.closeIndex;else if(-1!==this.options.unpairedTags.indexOf(c))s=a.closeIndex;else{let r=this.readStopNodeData(e,d,f+1);if(!r)throw Error(`Unexpected end of ${d}`);s=r.i,n=r.tagContent}let i=new iI(c);c!==l&&u&&(i[":@"]=this.buildAttributesMap(l,o,c)),n&&(n=this.parseTextData(n,c,o,!0,u,!0,!0)),o=o.substr(0,o.lastIndexOf(".")),i.add(this.options.textNodeName,n),this.addChild(r,i,o,h)}else{if(l.length>0&&l.lastIndexOf("/")===l.length-1){"/"===c[c.length-1]?(c=c.substr(0,c.length-1),o=o.substr(0,o.length-1),l=c):l=l.substr(0,l.length-1),this.options.transformTagName&&(c=this.options.transformTagName(c));let e=new iI(c);c!==l&&u&&(e[":@"]=this.buildAttributesMap(l,o,c)),this.addChild(r,e,o,h),o=o.substr(0,o.lastIndexOf("."))}else{let e=new iI(c);this.tagsNodeStack.push(r),c!==l&&u&&(e[":@"]=this.buildAttributesMap(l,o,c)),this.addChild(r,e,o,h),r=e}i="",s=f}}else i+=e[s];return n.child};function iW(e,n,r,i){this.options.captureMetaData||(i=void 0);let o=this.options.updateTag(n.tagname,r,n[":@"]);!1===o||("string"==typeof o&&(n.tagname=o),e.addChild(n,i))}let iX=function(e){if(this.options.processEntities){for(let n in this.docTypeEntities){let r=this.docTypeEntities[n];e=e.replace(r.regx,r.val)}for(let n in this.lastEntities){let r=this.lastEntities[n];e=e.replace(r.regex,r.val)}if(this.options.htmlEntities)for(let n in this.htmlEntities){let r=this.htmlEntities[n];e=e.replace(r.regex,r.val)}e=e.replace(this.ampEntity.regex,this.ampEntity.val)}return e};function i$(e,n,r,i){return e&&(void 0===i&&(i=0===n.child.length),void 0!==(e=this.parseTextData(e,n.tagname,r,!1,!!n[":@"]&&0!==Object.keys(n[":@"]).length,i))&&""!==e&&n.add(this.options.textNodeName,e),e=""),e}function iJ(e,n,r){let i="*."+r;for(let r in e){let o=e[r];if(i===o||n===o)return!0}return!1}function iK(e,n,r,i){let o=e.indexOf(n,r);if(-1!==o)return o+n.length-1;throw Error(i)}function iY(e,n,r,i=">"){let o=function(e,n,r=">"){let i,o="";for(let s=n;s<e.length;s++){let n=e[s];if(i)n===i&&(i="");else if('"'===n||"'"===n)i=n;else if(n===r[0]){if(!r[1])return{data:o,index:s};else if(e[s+1]===r[1])return{data:o,index:s}}else" "===n&&(n=" ");o+=n}}(e,n+1,i);if(!o)return;let s=o.data,a=o.index,c=s.search(/\s/),d=s,l=!0;-1!==c&&(d=s.substring(0,c),s=s.substring(c+1).trimStart());let u=d;if(r){let e=d.indexOf(":");-1!==e&&(l=(d=d.substr(e+1))!==o.data.substr(e+1))}return{tagName:d,tagExp:s,closeIndex:a,attrExpPresent:l,rawTagName:u}}function iQ(e,n,r){let i=r,o=1;for(;r<e.length;r++)if("<"===e[r])if("/"===e[r+1]){let s=iK(e,">",r,`${n} is not closed`);if(e.substring(r+2,s).trim()===n&&0==--o)return{tagContent:e.substring(i,r),i:s};r=s}else if("?"===e[r+1])r=iK(e,"?>",r+1,"StopNode is not closed.");else if("!--"===e.substr(r+1,3))r=iK(e,"--\x3e",r+3,"StopNode is not closed.");else if("!["===e.substr(r+1,2))r=iK(e,"]]>",r,"StopNode is not closed.")-2;else{let i=iY(e,r,">");i&&((i&&i.tagName)===n&&"/"!==i.tagExp[i.tagExp.length-1]&&o++,r=i.closeIndex)}}function iZ(e,n,r){if(n&&"string"==typeof e){let n=e.trim();return"true"===n||"false"!==n&&function(e,n={}){if(n=Object.assign({},iN,n),!e||"string"!=typeof e)return e;let r=e.trim();if(void 0!==n.skipLike&&n.skipLike.test(r))return e;{if("0"===e)return 0;if(n.hex&&iD.test(r)){var i,o=r;if(parseInt)return parseInt(o,16);if(Number.parseInt)return Number.parseInt(o,16);if(window&&window.parseInt)return window.parseInt(o,16);throw Error("parseInt, Number.parseInt, window.parseInt are not supported")}if(-1!==r.search(/.+[eE].+/))return function(e,n,r){if(!r.eNotation)return e;let i=n.match(iL);if(!i)return e;{let o=i[1]||"",s=-1===i[3].indexOf("e")?"E":"e",a=i[2],c=o?e[a.length+1]===s:e[a.length]===s;return a.length>1&&c?e:1===a.length&&(i[3].startsWith(`.${s}`)||i[3][0]===s)?Number(n):r.leadingZeros&&!c?Number(n=(i[1]||"")+i[3]):e}}(e,r,n);let s=iB.exec(r);if(!s)return e;{let o=s[1]||"",a=s[2],c=((i=s[3])&&-1!==i.indexOf(".")&&("."===(i=i.replace(/0+$/,""))?i="0":"."===i[0]?i="0"+i:"."===i[i.length-1]&&(i=i.substring(0,i.length-1))),i),d=o?"."===e[a.length+1]:"."===e[a.length];if(!n.leadingZeros&&(a.length>1||1===a.length&&!d))return e;{let i=Number(r),s=String(i);if(0===i)return i;if(-1!==s.search(/[eE]/))if(n.eNotation)return i;else return e;if(-1!==r.indexOf("."))if("0"===s)return i;else if(s===c)return i;else if(s===`${o}${c}`)return i;else return e;let d=a?c:r;return a?d===s||o+d===s?i:e:d===s||d===o+s?i:e}}}}(e,r)}return void 0!==e?e:""}let i0=iI.getMetaDataSymbol(),i1={allowBooleanAttributes:!1,unpairedTags:[]};function i2(e,n){n=Object.assign({},i1,n);let r=[],i=!1,o=!1;"\uFEFF"===e[0]&&(e=e.substr(1));for(let s=0;s<e.length;s++)if("<"===e[s]&&"?"===e[s+1]){if(s+=2,(s=i4(e,s)).err)return s}else if("<"===e[s]){let a=s;if("!"===e[++s]){s=i5(e,s);continue}{let c=!1;"/"===e[s]&&(c=!0,s++);let d="";for(;s<e.length&&">"!==e[s]&&" "!==e[s]&&" "!==e[s]&&"\n"!==e[s]&&"\r"!==e[s];s++)d+=e[s];if("/"===(d=d.trim())[d.length-1]&&(d=d.substring(0,d.length-1),s--),!ik(d))return i9("InvalidTag",0===d.trim().length?"Invalid space after '<'.":"Tag '"+d+"' is an invalid name.",i7(e,s));let l=function(e,n){let r="",i="",o=!1;for(;n<e.length;n++){if('"'===e[n]||"'"===e[n])""===i?i=e[n]:i!==e[n]||(i="");else if(">"===e[n]&&""===i){o=!0;break}r+=e[n]}return""===i&&{value:r,index:n,tagClosed:o}}(e,s);if(!1===l)return i9("InvalidAttr","Attributes for '"+d+"' have open quote.",i7(e,s));let u=l.value;if(s=l.index,"/"===u[u.length-1]){let r=s-u.length,o=i8(u=u.substring(0,u.length-1),n);if(!0!==o)return i9(o.err.code,o.err.msg,i7(e,r+o.err.line));i=!0}else if(c)if(!l.tagClosed)return i9("InvalidTag","Closing tag '"+d+"' doesn't have proper closing.",i7(e,s));else{if(u.trim().length>0)return i9("InvalidTag","Closing tag '"+d+"' can't have attributes or invalid starting.",i7(e,a));if(0===r.length)return i9("InvalidTag","Closing tag '"+d+"' has not been opened.",i7(e,a));let n=r.pop();if(d!==n.tagName){let r=i7(e,n.tagStartPos);return i9("InvalidTag","Expected closing tag '"+n.tagName+"' (opened in line "+r.line+", col "+r.col+") instead of closing tag '"+d+"'.",i7(e,a))}0==r.length&&(o=!0)}else{let c=i8(u,n);if(!0!==c)return i9(c.err.code,c.err.msg,i7(e,s-u.length+c.err.line));if(!0===o)return i9("InvalidXml","Multiple possible root nodes found.",i7(e,s));-1!==n.unpairedTags.indexOf(d)||r.push({tagName:d,tagStartPos:a}),i=!0}for(s++;s<e.length;s++)if("<"===e[s])if("!"===e[s+1]){s=i5(e,++s);continue}else if("?"===e[s+1]){if((s=i4(e,++s)).err)return s}else break;else if("&"===e[s]){let n=function(e,n){if(";"===e[++n])return -1;if("#"===e[n]){var r=e,i=++n;let o=/\d/;for("x"===r[i]&&(i++,o=/[\da-fA-F]/);i<r.length;i++){if(";"===r[i])return i;if(!r[i].match(o))break}return -1}let o=0;for(;n<e.length;n++,o++)if(!e[n].match(/\w/)||!(o<20)){if(";"===e[n])break;return -1}return n}(e,s);if(-1==n)return i9("InvalidChar","char '&' is not expected.",i7(e,s));s=n}else if(!0===o&&!i3(e[s]))return i9("InvalidXml","Extra text at the end",i7(e,s));"<"===e[s]&&s--}}else{if(i3(e[s]))continue;return i9("InvalidChar","char '"+e[s]+"' is not expected.",i7(e,s))}return i?1==r.length?i9("InvalidTag","Unclosed tag '"+r[0].tagName+"'.",i7(e,r[0].tagStartPos)):!(r.length>0)||i9("InvalidXml","Invalid '"+JSON.stringify(r.map(e=>e.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1}):i9("InvalidXml","Start tag expected.",1)}function i3(e){return" "===e||" "===e||"\n"===e||"\r"===e}function i4(e,n){let r=n;for(;n<e.length;n++)if("?"==e[n]||" "==e[n]){let i=e.substr(r,n-r);if(n>5&&"xml"===i)return i9("InvalidXml","XML declaration allowed only at the start of the document.",i7(e,n));if("?"!=e[n]||">"!=e[n+1])continue;n++;break}return n}function i5(e,n){if(e.length>n+5&&"-"===e[n+1]&&"-"===e[n+2]){for(n+=3;n<e.length;n++)if("-"===e[n]&&"-"===e[n+1]&&">"===e[n+2]){n+=2;break}}else if(e.length>n+8&&"D"===e[n+1]&&"O"===e[n+2]&&"C"===e[n+3]&&"T"===e[n+4]&&"Y"===e[n+5]&&"P"===e[n+6]&&"E"===e[n+7]){let r=1;for(n+=8;n<e.length;n++)if("<"===e[n])r++;else if(">"===e[n]&&0==--r)break}else if(e.length>n+9&&"["===e[n+1]&&"C"===e[n+2]&&"D"===e[n+3]&&"A"===e[n+4]&&"T"===e[n+5]&&"A"===e[n+6]&&"["===e[n+7]){for(n+=8;n<e.length;n++)if("]"===e[n]&&"]"===e[n+1]&&">"===e[n+2]){n+=2;break}}return n}let i6=RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function i8(e,n){let r=iO(e,i6),i={};for(let e=0;e<r.length;e++){if(0===r[e][1].length)return i9("InvalidAttr","Attribute '"+r[e][2]+"' has no space in starting.",oe(r[e]));if(void 0!==r[e][3]&&void 0===r[e][4])return i9("InvalidAttr","Attribute '"+r[e][2]+"' is without value.",oe(r[e]));if(void 0===r[e][3]&&!n.allowBooleanAttributes)return i9("InvalidAttr","boolean attribute '"+r[e][2]+"' is not allowed.",oe(r[e]));let o=r[e][2];if(!ik(o))return i9("InvalidAttr","Attribute '"+o+"' is an invalid name.",oe(r[e]));if(i.hasOwnProperty(o))return i9("InvalidAttr","Attribute '"+o+"' is repeated.",oe(r[e]));i[o]=1}return!0}function i9(e,n,r){return{err:{code:e,msg:n,line:r.line||r,col:r.col}}}function i7(e,n){let r=e.substring(0,n).split(/\r?\n/);return{line:r.length,col:r[r.length-1].length+1}}function oe(e){return e.startIndex+e[1].length}class ot{constructor(e){this.externalEntities={},this.options=Object.assign({},iC,e)}parse(e,n){if("string"==typeof e);else if(e.toString)e=e.toString();else throw Error("XML data is accepted in String or Bytes[] form.");if(n){!0===n&&(n={});let r=i2(e,n);if(!0!==r)throw Error(`${r.err.msg}:${r.err.line}:${r.err.col}`)}let r=new iU(this.options);r.addExternalEntities(this.externalEntities);let i=r.parseXml(e);return this.options.preserveOrder||void 0===i?i:function e(n,r,i){let o,s={};for(let a=0;a<n.length;a++){let c=n[a],d=function(e){let n=Object.keys(e);for(let e=0;e<n.length;e++){let r=n[e];if(":@"!==r)return r}}(c),l="";if(l=void 0===i?d:i+"."+d,d===r.textNodeName)void 0===o?o=c[d]:o+=""+c[d];else if(void 0===d)continue;else if(c[d]){let n=e(c[d],r,l),i=function(e,n){let{textNodeName:r}=n,i=Object.keys(e).length;return 0===i||1===i&&(!!e[r]||"boolean"==typeof e[r]||0===e[r])}(n,r);void 0!==c[i0]&&(n[i0]=c[i0]),c[":@"]?function(e,n,r,i){if(n){let o=Object.keys(n),s=o.length;for(let a=0;a<s;a++){let s=o[a];i.isArray(s,r+"."+s,!0,!0)?e[s]=[n[s]]:e[s]=n[s]}}}(n,c[":@"],l,r):1!==Object.keys(n).length||void 0===n[r.textNodeName]||r.alwaysCreateTextNode?0===Object.keys(n).length&&(r.alwaysCreateTextNode?n[r.textNodeName]="":n=""):n=n[r.textNodeName],void 0!==s[d]&&s.hasOwnProperty(d)?(Array.isArray(s[d])||(s[d]=[s[d]]),s[d].push(n)):r.isArray(d,l,i)?s[d]=[n]:s[d]=n}}return"string"==typeof o?o.length>0&&(s[r.textNodeName]=o):void 0!==o&&(s[r.textNodeName]=o),s}(i,this.options)}addEntity(e,n){if(-1!==n.indexOf("&"))throw Error("Entity value can't have '&'");if(-1!==e.indexOf("&")||-1!==e.indexOf(";"))throw Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if("&"===n)throw Error("An entity with value '&' is not permitted");this.externalEntities[e]=n}static getMetaDataSymbol(){return iI.getMetaDataSymbol()}}let on=i2;class or{constructor(){this.isXml=e=>or.isXml(e),this.parseXmlOrText=e=>{try{let n=this.xmlParser.parse(e);if(Array.isArray(n)&&!n.length);else if(Array.isArray(n)&&n.length)return n;return e}catch(n){return e}},this.hasMixContentByParsedXml=e=>Array.isArray(e),this.xmlParser=new ot({preserveOrder:!0,ignoreAttributes:!1,attributeNamePrefix:"",textNodeName:"#text",alwaysCreateTextNode:!0})}static #F=this.isTextNode=e=>"text"in e;static #eh=this.isImageNode=e=>"image"in e;static #eK=this.isVideoNode=e=>"video"in e;static #eY=this.isXml=e=>"string"==typeof e&&!0===on(e,{allowBooleanAttributes:!0})}class oi extends id{constructor(e,n){super({...e,type:"aiWorker"},n),this.opts=n,this.contents=[],this.hasReceivedEndSignal=!1,this.addContentRenderTask=e=>{if(oi.isTextContent(e)){let n=e=>{this.emitter.emit("content_change",{mod:"text",content:e.char,completed:e.done})};e.emitter.on("data",n),this.queue.add(e.runTask).finally(()=>{e.dispose()})}else oi.isImageContent(e)?this.queue.add(e.runTask).then(e=>{e&&this.emitter.emit("content_change",{mod:"image",content:e.src,completed:!0})}).finally(()=>{e.dispose()}):oi.isVideoContent(e)&&this.queue.add(e.runTask).then(e=>{e&&this.emitter.emit("content_change",{mod:"video",content:e.src,completed:!0})}).finally(()=>{e.dispose()})},this.addAllContents=e=>{for(let n of(this.contents=e,e))this.addContentRenderTask(n)},this.createContentsFromXmlString=e=>{let n=this.customXmlParser.parseXmlOrText(e);return this.customXmlParser.hasMixContentByParsedXml(n)?n[0].root[0].content.map(e=>or.isTextNode(e)?iS.fromString(e.text[0]["#text"],{typewriterOptions:{delay:this.opts.typeDelay,enDelay:this.opts.enTypeDelay}}):or.isImageNode(e)?iR.fromSrc(e.image[0]["#text"]):or.isVideoNode(e)?iT.fromSrc(e.video[0]["#text"]):null).filter(Boolean):[]},this.appendText=e=>{if(this.customXmlParser.isXml(e)){let n=this.createContentsFromXmlString(e);this.addAllContents(n)}else{let n=iS.fromString(e,{typewriterOptions:{delay:this.opts.typeDelay,enDelay:this.opts.enTypeDelay}});this.addContentRenderTask(n),this.contents.push(n)}},this.dispose=()=>{this.queue.removeAllListeners(),this.contents=[]},this.interrupt=()=>{for(let e of this.contents)e.interrupt();this.queue.clear(),this.emitter.emit("interrupt").catch(r3)},this.markAsEnded=()=>{if(this.hasReceivedEndSignal=!0,0===this.queue.size&&0===this.queue.pending&&this.contents.length>0){let e={id:this.id,type:this.type,text:this.fulltext,contents:this.contents.map(e=>e.toJSON()),timestamp:Date.now()};this.emitter.emit("conversation_end",e).catch(r3),this.hasReceivedEndSignal=!1}},this.bindEvents=()=>{this.queue.on("empty",()=>{if(this.emitter.emit("queue_empty").catch(r3),this.hasReceivedEndSignal&&this.contents.length>0){let e={id:this.id,type:this.type,text:this.fulltext,contents:this.contents.map(e=>e.toJSON()),timestamp:Date.now()};this.emitter.emit("conversation_end",e).catch(r3),this.hasReceivedEndSignal=!1}})},this.queue=new ig({concurrency:1}),this.customXmlParser=new or,this.bindEvents()}get fulltext(){return this.contents.map(e=>oi.isTextContent(e)?e.getConfig().content:"").join("")}static #F=this.create=e=>new oi({},e);static #eh=this.isAllTextContents=e=>e.every(e=>"text"===e.mod);static #eK=this.isTextContent=e=>e instanceof iS&&"text"===e.mod;static #eY=this.isImageContent=e=>e instanceof iR&&"image"===e.mod;static #eQ=this.isVideoContent=e=>e instanceof iT&&"video"===e.mod}function oo(e,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,n)}function os(e,n){return function(r,i){n(r,i,e)}}class oa{constructor(e){var n=this;this.opts=e,this.beans=[],this.currentConversation=null,this.aiWorkerConversationFormatters=[],this.add=e=>{this.beans.push(e)},this.addBySnapshot=function(){let e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};switch(r.type){case"client":e=new il(r,n.opts);break;case"aiWorker":e=new oi(r,n.opts);break;default:throw Error(`Unknown conversation type: ${r.type}`)}return n.beans.push(e),e},this.setCurrentConversation=e=>{this.currentConversation=e},this.clear=()=>{this.beans=[]},this.toJSON=()=>this.beans.map(e=>e.toJSON()),this.dispose=()=>{for(let e of this.beans)e.dispose();this.beans=[],this.currentConversation=null,this.aiWorkerConversationFormatters=[]},this.registerAIWorkerConversationFormatter=e=>{this.aiWorkerConversationFormatters.push(e)},this.runAIWorkerConversationFormatters=e=>{let n=e;for(let e of this.aiWorkerConversationFormatters)n=e(n);return n},this.interruptAll=()=>{for(let e of this.beans)e.interrupt()}}get last(){var e;return null!=(e=this.beans[this.beans.length-1])?e:null}get currentClientConversation(){return oa.isClientConversation(this.currentConversation)?this.currentConversation:null}get currentAIWorkerConversation(){return oa.isAIWorkerConversation(this.currentConversation)?this.currentConversation:null}static isClientConversation(e){return(null==e?void 0:e.type)==="client"}static isAIWorkerConversation(e){return(null==e?void 0:e.type)==="aiWorker"}}oa=function(e,n,r,i){var o,s=arguments.length,a=s<3?n:null===i?i=Object.getOwnPropertyDescriptor(n,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,n,r,i);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(a=(s<3?o(a):s>3?o(n,r,a):o(n,r))||a);return s>3&&a&&Object.defineProperty(n,r,a),a}([eb(),os(0,ev(nm.IOptions)),os(0,eT()),oo("design:type",Function),oo("design:paramtypes",["undefined"==typeof IResolvedOptions?Object:IResolvedOptions])],oa);var oc=__webpack_require__("../../node_modules/abort-signal-polyfill/dist/staticMethods/any.js"),od=__webpack_require__("../../node_modules/abort-signal-polyfill/dist/staticMethods/timeout.js"),ol=__webpack_require__("../../node_modules/abort-signal-polyfill/dist/staticMethods/abort.js");let ou=(e,n)=>{e in AbortSignal||Object.defineProperty(AbortSignal,e,{value:n,configurable:!0,writable:!0})};var of=function(){return(of=Object.assign||function(e){for(var n,r=1,i=arguments.length;r<i;r++)for(var o in n=arguments[r])Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e}).apply(this,arguments)},op=__webpack_require__("../../node_modules/@baidu/weirwood-perf/esm/index.js"),oh=function(){return(oh=Object.assign||function(e){for(var n,r=1,i=arguments.length;r<i;r++)for(var o in n=arguments[r])Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e}).apply(this,arguments)};function om(e){var n="function"==typeof Symbol&&Symbol.iterator,r=n&&e[n],i=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}function ov(){for(var e=[],n=0;n<arguments.length;n++)e=e.concat(function(e,n){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var i,o,s=r.call(e),a=[];try{for(;(void 0===n||n-- >0)&&!(i=s.next()).done;)a.push(i.value)}catch(e){o={error:e}}finally{try{i&&!i.done&&(r=s.return)&&r.call(s)}finally{if(o)throw o.error}}return a}(arguments[n]));return e}function og(e){switch(Object.prototype.toString.call(e)){case"[object Error]":case"[object Exception]":case"[object DOMException]":return!0;default:return e instanceof Error}}function oy(e){return"[object ErrorEvent]"===Object.prototype.toString.call(e)}function ob(e){return void 0===e}function o_(e){return"function"==typeof e}function ow(e){return"[object String]"===Object.prototype.toString.call(e)}function oS(e){return"[object Number]"===Object.prototype.toString.call(e)}function oR(e){return"[object Array]"===Object.prototype.toString.call(e)}function oT(e){return"[object Object]"===Object.prototype.toString.call(e)}function oC(e){if(!oT(e))return!1;for(var n in e)if(e.hasOwnProperty(n))return!1;return!0}var ox={};function oE(){return"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==__webpack_require__.g?__webpack_require__.g:"undefined"!=typeof self?self:ox}var oO=oE(),ok={wrap:function(){return function(){}},report:!1,collectWindowErrors:!1,computeStackTrace:!1,remoteFetching:!1,linesOfContext:!1,extendToAsynchronousCallbacks:!1},oI=[].slice,oM=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/;function oP(e,n){return Object.prototype.hasOwnProperty.call(e,n)}function oj(){return"undefined"==typeof document||null==document.location?"":document.location.href}ok.wrap=function(e){return function(){try{return e.apply(this,arguments)}catch(e){throw ok.report(e),e}}},ok.report=function(){var e,n,r,i,o=[],s=null,a=null;function c(e,n,r,i,s,a){var c=null;if(!n||ok.collectWindowErrors){for(var d in o)if(oP(o,d))try{o[d](e,n,r,i,s,a)}catch(e){c=e}if(c)throw c}}function d(n,r,i,o,s){var d=null;if(s=oy(s)?s.error:s,n=oy(n)?n.message:n,a)ok.computeStackTrace.augmentStackTraceWithInitialElement(a,r,i,n),u();else if(s&&og(s))(d=ok.computeStackTrace(s)).mechanism="onerror",c(d,!0,s,r,i,o);else{var l,f={url:r,line:i,column:o},p=n;if("[object String]"===({}).toString.call(n)){var h=n.match(oM);h&&(l=h[1],p=h[2])}f.func=ok.computeStackTrace.guessFunctionName(f.url,f.line),f.context=ok.computeStackTrace.gatherContext(f.url,f.line),c(d={name:l,message:p,mode:"onerror",mechanism:"onerror",stack:[oh(oh({},f),{url:f.url||oj()})]},!0,null,r,i,o)}return!!e&&e.apply(this,arguments)}function l(e){var n=e&&(e.detail?e.detail.reason:e.reason)||e,r=ok.computeStackTrace(n);r.mechanism="onunhandledrejection",c(r,!0,n)}function u(){var e=a,n=s;a=null,s=null,c(e,!1,n)}function f(e){if(a)if(s===e)return;else u();var n=ok.computeStackTrace(e);throw a=n,s=e,setTimeout(function(){s===e&&u()},2e3*!!n.incomplete),e}return f.subscribe=function(e){o.push(e)},f.unsubscribe=function(s){for(var a=o.length-1;a>=0;--a)o[a]===s&&o.splice(a,1);0===o.length&&(n&&(oO.onerror=e,n=!1),i&&(oO.onunhandledrejection=r,i=!1))},f.installGlobalHandler=function(){!0!==n&&(e=oO.onerror,oO.onerror=d,n=!0)},f.installGlobalUnhandledRejectionHandler=function(){!0!==i&&(r=oO.onunhandledrejection,oO.onunhandledrejection=l,i=!0)},f}(),ok.computeStackTrace=function(){var e={};function n(n){if("string"!=typeof n)return[];if(!oP(e,n)){var r="",i="";try{i=oO.document.domain}catch(e){}var o=/(.*)\:\/\/([^:\/]+)([:\d]*)\/{0,1}([\s\S]*)/.exec(n);o&&o[2]===i&&(r=function(e){if(!ok.remoteFetching)return"";try{var n=function(){try{return new oO.XMLHttpRequest}catch(e){return new oO.ActiveXObject("Microsoft.XMLHTTP")}}();return n.open("GET",e,!1),n.send(""),n.responseText}catch(e){return""}}(n)),e[n]=r?r.split("\n"):[]}return e[n]}function r(e,r){var i,o=/function ([^(]*)\(([^)]*)\)/,s=/['"]?([0-9A-Za-z$_]+)['"]?\s*[:=]\s*(function|eval|new Function)/,a="",c=n(e);if(!c.length)return"?";for(var d=0;d<10;++d)if(!ob(a=c[r-d]+a)){if(i=s.exec(a))return i[1];else if(i=o.exec(a))return i[1]}return"?"}function i(e,r){var i=n(e);if(!i.length)return null;var o=[],s=Math.floor(ok.linesOfContext/2),a=s+ok.linesOfContext%2,c=Math.max(0,r-s-1),d=Math.min(i.length,r+a-1);r-=1;for(var l=c;l<d;++l)ob(i[l])||o.push(i[l]);return o.length>0?o:null}function o(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#]/g,"\\$&")}function s(e){return o(e).replace("<","(?:<|&lt;)").replace(">","(?:>|&gt;)").replace("&","(?:&|&amp;)").replace('"','(?:"|&quot;)').replace(/\s+/g,"\\s+")}function a(e,r){for(var i,o,s=0,a=r.length;s<a;++s)if((i=n(r[s])).length&&(i=i.join("\n"),o=e.exec(i)))return{url:r[s],line:i.substring(0,o.index).split("\n").length,column:o.index-i.lastIndexOf("\n",o.index)-1};return null}function c(e,r,i){var s,a=n(r),c=RegExp("\\b"+o(e)+"\\b");return(i-=1,a&&a.length>i&&(s=c.exec(a[i])))?s.index:null}function d(e){if(!e.stack)return null;for(var n,o,s,a,d=/^\s*at (?:(.*?) ?\()?((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|[a-z]:|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,l=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|moz-extension).*?:\/.*?|\[native code\]|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i,u=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i,f=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,p=/\((\S*)(?::(\d+))(?::(\d+))\)/,h=e.stack.split("\n"),m=[],v=/^(.*) is undefined$/.exec(e.message),g=0,y=h.length;g<y;++g){if(s=d.exec(h[g])){var b=s[2]&&0===s[2].indexOf("native");s[2]&&0===s[2].indexOf("eval")&&(o=p.exec(s[2]))&&(s[2]=o[1]),a={url:b?null:s[2],func:s[1]||"?",args:b?[s[2]]:[],line:s[3]?+s[3]:null,column:s[4]?+s[4]:null}}else if(s=u.exec(h[g]))a={url:s[2],func:s[1]||"?",args:[],line:+s[3],column:s[4]?+s[4]:null};else{if(!(s=l.exec(h[g])))continue;s[3]&&s[3].indexOf(" > eval")>-1&&(o=f.exec(s[3]))?s[3]=o[1]:0!==g||s[5]||ob(e.columnNumber)||(m[0].column=e.columnNumber+1),a={url:s[3],func:s[1]||"?",args:s[2]?s[2].split(","):[],line:s[4]?+s[4]:null,column:s[5]?+s[5]:null}}if(!a.func&&a.line&&(a.func=r(a.url,a.line)),ok.remoteFetching&&a.url&&"blob:"===a.url.substr(0,5)){var _=new XMLHttpRequest;if(_.open("GET",a.url,!1),_.send(""),200===_.status){var w=_.responseText||"",S=(w=w.slice(-300)).match(/\/\/# sourceMappingURL=(.*)$/);if(S){var R=S[1];"~"===R.charAt(0)&&(R=("undefined"==typeof document||null==document.location?"":document.location.origin?document.location.origin:document.location.protocol+"//"+document.location.hostname+(document.location.port?":"+document.location.port:""))+R.slice(1)),a.url=R.slice(0,-4)}}}a.context=a.line?i(a.url,a.line):null,m.push(a)}return m.length?(m[0]&&m[0].line&&!m[0].column&&v&&(m[0].column=c(v[1],m[0].url,m[0].line)),{mode:"stack",name:e.name,message:e.message,stack:m}):null}function l(e,n,o,s){var a={url:n,line:o};if(a.url&&a.line){e.incomplete=!1,a.func||(a.func=r(a.url,a.line)),a.context||(a.context=i(a.url,a.line));var d=/ '([^']+)' /.exec(s);if(d&&(a.column=c(d[1],a.url,a.line)),e.stack.length>0&&e.stack[0].url===a.url){if(e.stack[0].line===a.line)return!1;else if(!e.stack[0].line&&e.stack[0].func===a.func)return e.stack[0].line=a.line,e.stack[0].context=a.context,!1}return e.stack.unshift(a),e.partial=!0,!0}return e.incomplete=!0,!1}function u(e,f){var p=null;f=null==f?0:+f;try{if(p=function(e){var n=e.stacktrace;if(n){for(var o,s=/ line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i,a=/ line (\d+), column (\d+)\s*(?:in (?:<anonymous function: ([^>]+)>|([^\)]+))\((.*)\))? in (.*):\s*$/i,c=n.split("\n"),d=[],l=0;l<c.length;l+=2){var u=null;if((o=s.exec(c[l]))?u={url:o[2],line:+o[1],column:null,func:o[3],args:[]}:(o=a.exec(c[l]))&&(u={url:o[6],line:+o[1],column:+o[2],func:o[3]||o[4],args:o[5]?o[5].split(","):[]}),u){if(!u.func&&u.line&&(u.func=r(u.url,u.line)),u.line)try{u.context=i(u.url,u.line)}catch(e){}u.context||(u.context=[c[l+1]]),d.push(u)}}return d.length?{mode:"stacktrace",name:e.name,message:e.message,stack:d}:null}}(e))return p}catch(e){}try{if(p=d(e))return p}catch(e){}try{if(p=function(e){var o=e.message.split("\n");if(o.length<4)return null;var c,d=/^\s*Line (\d+) of linked script ((?:file|https?|blob)\S+)(?:: in function (\S+))?\s*$/i,l=/^\s*Line (\d+) of inline#(\d+) script in ((?:file|https?|blob)\S+)(?:: in function (\S+))?\s*$/i,u=/^\s*Line (\d+) of function script\s*$/i,f=[],p=oO&&oO.document&&oO.document.getElementsByTagName("script"),h=[];for(var m in p)oP(p,m)&&!p[m].src&&h.push(p[m]);for(var v=2;v<o.length;v+=2){var g=null;if(c=d.exec(o[v]))g={url:c[2],func:c[3],args:[],line:+c[1],column:null};else if(c=l.exec(o[v])){g={url:c[3],func:c[4],args:[],line:+c[1],column:null};var y=+c[1],b=h[c[2]-1];if(b){var _=n(g.url);if(_){var w=(_=_.join("\n")).indexOf(b.innerText);w>=0&&(g.line=y+_.substring(0,w).split("\n").length)}}}else if(c=u.exec(o[v])){var S=oj().replace(/#.*$/,""),R=a(new RegExp(s(o[v+1])),[S]);g={url:S,func:"",args:[],line:R?R.line:c[1],column:null}}if(g){g.func||(g.func=r(g.url,g.line));var T=i(g.url,g.line),C=T?T[Math.floor(T.length/2)]:null;T&&C.replace(/^\s*/,"")===o[v+1].replace(/^\s*/,"")?g.context=T:g.context=[o[v+1]],f.push(g)}}return f.length?{mode:"multiline",name:e.name,message:o[0],stack:f}:null}(e))return p}catch(e){}try{if(p=function e(n,i){for(var d,f,p,h=/function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,m=[],v={},g=!1,y=e.caller;y&&!g;y=y.caller)if(y!==u&&y!==ok.report){if(f={url:null,func:"?",args:[],line:null,column:null},y.name?f.func=y.name:(d=h.exec(y.toString()))&&(f.func=d[1]),void 0===f.func)try{f.func=d.input.substring(0,d.input.indexOf("{"))}catch(e){}if(p=function(e){if(!ob(oO&&oO.document)){for(var n,r,i,c,d=[oj()],l=oO.document.getElementsByTagName("script"),u=""+e,f=0;f<l.length;++f){var p=l[f];p.src&&d.push(p.src)}if(i=/^function(?:\s+([\w$]+))?\s*\(([\w\s,]*)\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/.exec(u)){var h=i[1]?"\\s+"+i[1]:"",m=i[2].split(",").join("\\s*,\\s*");r=RegExp("function"+h+"\\s*\\(\\s*"+m+"\\s*\\)\\s*{\\s*"+(n=o(i[3]).replace(/;$/,";?"))+"\\s*}")}else r=new RegExp(o(u).replace(/\s+/g,"\\s+"));if(c=a(r,d))return c;if(i=/^function on([\w$]+)\s*\(event\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/.exec(u)){var v=i[1];if((c=a(r=RegExp("on"+v+"=[\\'\"]\\s*"+(n=s(i[2]))+"\\s*[\\'\"]","i"),d[0]))||(c=a(r=new RegExp(n),d)))return c}return null}}(y)){f.url=p.url,f.line=p.line,"?"===f.func&&(f.func=r(f.url,f.line));var b=/ '([^']+)' /.exec(n.message||n.description);b&&(f.column=c(b[1],p.url,p.line))}v[""+y]?g=!0:v[""+y]=!0,m.push(f)}i&&m.splice(0,i);var _={mode:"callers",name:n.name,message:n.message,stack:m};return l(_,n.sourceURL||n.fileName,n.line||n.lineNumber,n.message||n.description),_}(e,f+1))return p}catch(e){}return{original:e,name:e.name,message:e.message,mode:"failed"}}return u.augmentStackTraceWithInitialElement=l,u.computeStackTraceFromStackProp=d,u.guessFunctionName=r,u.gatherContext=i,u.ofCaller=function(e){e=(null==e?0:+e)+1;try{throw Error()}catch(n){return u(n,e+1)}},u.getSource=n,u}(),ok.extendToAsynchronousCallbacks=function(){var e=function(e){var n=oO[e];oO[e]=function(){var e=oI.call(arguments),r=e[0];return("function"==typeof r&&(e[0]=ok.wrap(r)),n.apply)?n.apply(this,e):n(e[0],e[1])}};e("setTimeout"),e("setInterval")},ok.remoteFetching=!1,ok.collectWindowErrors=!0,ok.linesOfContext=11,ok.report;var oA=ok.report.subscribe,oD=ok.report.unsubscribe,oB=ok.report.installGlobalHandler,oN=ok.report.installGlobalUnhandledRejectionHandler,oL=ok.computeStackTrace;function oU(e,n){var r=(65535&e)+(65535&n);return(e>>16)+(n>>16)+(r>>16)<<16|65535&r}function oF(e,n,r,i,o,s){var a,c;return oU((a=oU(oU(n,e),oU(i,s)))<<(c=o)|a>>>32-c,r)}function oq(e,n,r,i,o,s,a){return oF(n&r|~n&i,e,n,o,s,a)}function oH(e,n,r,i,o,s,a){return oF(n&i|r&~i,e,n,o,s,a)}function oV(e,n,r,i,o,s,a){return oF(n^r^i,e,n,o,s,a)}function oz(e,n,r,i,o,s,a){return oF(r^(n|~i),e,n,o,s,a)}function oG(e,n){e[n>>5]|=128<<n%32,e[(n+64>>>9<<4)+14]=n;var r,i,o,s,a,c=0x67452301,d=-0x10325477,l=-0x67452302,u=0x10325476;for(r=0;r<e.length;r+=16)i=c,o=d,s=l,a=u,c=oq(c,d,l,u,e[r],7,-0x28955b88),u=oq(u,c,d,l,e[r+1],12,-0x173848aa),l=oq(l,u,c,d,e[r+2],17,0x242070db),d=oq(d,l,u,c,e[r+3],22,-0x3e423112),c=oq(c,d,l,u,e[r+4],7,-0xa83f051),u=oq(u,c,d,l,e[r+5],12,0x4787c62a),l=oq(l,u,c,d,e[r+6],17,-0x57cfb9ed),d=oq(d,l,u,c,e[r+7],22,-0x2b96aff),c=oq(c,d,l,u,e[r+8],7,0x698098d8),u=oq(u,c,d,l,e[r+9],12,-0x74bb0851),l=oq(l,u,c,d,e[r+10],17,-42063),d=oq(d,l,u,c,e[r+11],22,-0x76a32842),c=oq(c,d,l,u,e[r+12],7,0x6b901122),u=oq(u,c,d,l,e[r+13],12,-0x2678e6d),l=oq(l,u,c,d,e[r+14],17,-0x5986bc72),d=oq(d,l,u,c,e[r+15],22,0x49b40821),c=oH(c,d,l,u,e[r+1],5,-0x9e1da9e),u=oH(u,c,d,l,e[r+6],9,-0x3fbf4cc0),l=oH(l,u,c,d,e[r+11],14,0x265e5a51),d=oH(d,l,u,c,e[r],20,-0x16493856),c=oH(c,d,l,u,e[r+5],5,-0x29d0efa3),u=oH(u,c,d,l,e[r+10],9,0x2441453),l=oH(l,u,c,d,e[r+15],14,-0x275e197f),d=oH(d,l,u,c,e[r+4],20,-0x182c0438),c=oH(c,d,l,u,e[r+9],5,0x21e1cde6),u=oH(u,c,d,l,e[r+14],9,-0x3cc8f82a),l=oH(l,u,c,d,e[r+3],14,-0xb2af279),d=oH(d,l,u,c,e[r+8],20,0x455a14ed),c=oH(c,d,l,u,e[r+13],5,-0x561c16fb),u=oH(u,c,d,l,e[r+2],9,-0x3105c08),l=oH(l,u,c,d,e[r+7],14,0x676f02d9),d=oH(d,l,u,c,e[r+12],20,-0x72d5b376),c=oV(c,d,l,u,e[r+5],4,-378558),u=oV(u,c,d,l,e[r+8],11,-0x788e097f),l=oV(l,u,c,d,e[r+11],16,0x6d9d6122),d=oV(d,l,u,c,e[r+14],23,-0x21ac7f4),c=oV(c,d,l,u,e[r+1],4,-0x5b4115bc),u=oV(u,c,d,l,e[r+4],11,0x4bdecfa9),l=oV(l,u,c,d,e[r+7],16,-0x944b4a0),d=oV(d,l,u,c,e[r+10],23,-0x41404390),c=oV(c,d,l,u,e[r+13],4,0x289b7ec6),u=oV(u,c,d,l,e[r],11,-0x155ed806),l=oV(l,u,c,d,e[r+3],16,-0x2b10cf7b),d=oV(d,l,u,c,e[r+6],23,0x4881d05),c=oV(c,d,l,u,e[r+9],4,-0x262b2fc7),u=oV(u,c,d,l,e[r+12],11,-0x1924661b),l=oV(l,u,c,d,e[r+15],16,0x1fa27cf8),d=oV(d,l,u,c,e[r+2],23,-0x3b53a99b),c=oz(c,d,l,u,e[r],6,-0xbd6ddbc),u=oz(u,c,d,l,e[r+7],10,0x432aff97),l=oz(l,u,c,d,e[r+14],15,-0x546bdc59),d=oz(d,l,u,c,e[r+5],21,-0x36c5fc7),c=oz(c,d,l,u,e[r+12],6,0x655b59c3),u=oz(u,c,d,l,e[r+3],10,-0x70f3336e),l=oz(l,u,c,d,e[r+10],15,-1051523),d=oz(d,l,u,c,e[r+1],21,-0x7a7ba22f),c=oz(c,d,l,u,e[r+8],6,0x6fa87e4f),u=oz(u,c,d,l,e[r+15],10,-0x1d31920),l=oz(l,u,c,d,e[r+6],15,-0x5cfebcec),d=oz(d,l,u,c,e[r+13],21,0x4e0811a1),c=oz(c,d,l,u,e[r+4],6,-0x8ac817e),u=oz(u,c,d,l,e[r+11],10,-0x42c50dcb),l=oz(l,u,c,d,e[r+2],15,0x2ad7d2bb),d=oz(d,l,u,c,e[r+9],21,-0x14792c6f),c=oU(c,i),d=oU(d,o),l=oU(l,s),u=oU(u,a);return[c,d,l,u]}function oW(e){var n,r="",i=32*e.length;for(n=0;n<i;n+=8)r+=String.fromCharCode(e[n>>5]>>>n%32&255);return r}function oX(e){var n,r=[];for(n=0,r[(e.length>>2)-1]=void 0;n<r.length;n+=1)r[n]=0;var i=8*e.length;for(n=0;n<i;n+=8)r[n>>5]|=(255&e.charCodeAt(n/8))<<n%32;return r}function o$(e){var n,r,i="0123456789abcdef",o="";for(r=0;r<e.length;r+=1)n=e.charCodeAt(r),o+=i.charAt(n>>>4&15)+i.charAt(15&n);return o}function oJ(e){return unescape(encodeURIComponent(e))}function oK(e){var n;return oW(oG(oX(n=oJ(e)),8*n.length))}function oY(e,n){return function(e,n){var r,i,o=oX(e),s=[],a=[];for(s[15]=a[15]=void 0,o.length>16&&(o=oG(o,8*e.length)),r=0;r<16;r+=1)s[r]=0x36363636^o[r],a[r]=0x5c5c5c5c^o[r];return i=oG(s.concat(oX(n)),512+8*n.length),oW(oG(a.concat(i),640))}(oJ(e),oJ(n))}function oQ(e,n,r){if(!n)return r?oK(e):o$(oK(e));return r?oY(n,e):o$(oY(n,e))}function oZ(e){return(e||"").replace(/#.*$/,"").replace(/\?.*$/,"")}function o0(){if(!("fetch"in oE()))return!1;try{return new Headers,new Request(""),new Response,!0}catch(e){return!1}}function o1(e,n){for(var r=0;r<e.length;++r)if(e[r]===n)return r;return -1}function o2(e,n,r,i){var o,s,a,c;return JSON.stringify(e,(o=n,a=[],c=[],null==(s=i)&&(s=function(e,n){return a[0]===n?"[Circular ~]":"[Circular ~."+c.slice(0,o1(a,n)).join(".")+"]"}),function(e,n){if(a.length>0){var r=o1(a,this);~r?a.splice(r+1):a.push(this),~r?c.splice(r,1/0,e):c.push(e),~o1(a,n)&&(n=s.call(this,e,n))}else a.push(n);return null==o?n instanceof Error?function(e){var n={stack:e.stack,message:e.message,name:e.name};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(n):n:o.call(this,e,n)}),r)}function o3(e,n){if(Array.isArray(e))for(var r=e.length,i=0;i<r;i++)n.call(null,i,e[i]);else for(var o in e)Reflect.has(e,o)&&n.call(null,o,e[o])}function o4(e){var n={};for(var r in e)if(e.hasOwnProperty(r)){var i=e[r];n[r]=o_(i)?i():i}return n}function o5(e){var n;return ow(e)?o6(e,40):oS(e)||(n=e,"[object Boolean]"===Object.prototype.toString.call(n))||ob(e)?e+"":oT(e)?"[Object]":oR(e)?"[Array]":o_(e)?e.name?"[Function: "+e.name+"]":"[Function]":e}function o6(e,n){return 0===n||e.length<=n?e:e.substr(0,n)+"…"}function o8(e){var n={protocol:"",host:"",path:"",relative:""};if("string"!=typeof e)return n;var r=e.match(/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);if(r&&r.length){var i=r[6]||"",o=r[8]||"";return{protocol:r[2]||"",host:r[4]||"",path:r[5]||"",relative:(r[5]||"")+i+o}}return n}function o9(e){var n=e.exception,r=[];return r.push("token="+n.token),r.push("type="+n.type),r.push("mechanism="+n.mechanism),r.push("value="+n.value),r.push("url="+n.url),n.stacktrace&&n.stacktrace.forEach(function(e){r.push("filename="+e.filename),r.push("lineno="+e.lineno),r.push("colno="+e.colno)}),r.join("***")}function o7(e){return e&&Array.isArray(e)&&e.length>0}function se(e){for(var n=[],r=e.length,i=0;i<r;i++){var o=e[i];ow(o)?n.push(o.replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1")):o&&o.source&&n.push(o.source)}return RegExp(n.join("|"),"i")}function st(e,n){return!!ow(n)&&e.some(function(e){var r;if(!e)return!1;if(ow(e))return -1!==n.indexOf(e);if(r=e,"[object RegExp]"===Object.prototype.toString.call(r))try{return e.test(n)}catch(n){return console.error(e+"正则书写有误"),!1}return console.error(e+"忽略匹配项类型应该是String、RegExp"),!1})}function sn(e){return(ow(e)?e:JSON.stringify(e)).slice(0,256)}function sr(e,n,r){var i,o,s=[];if(e.stack&&e.stack.length){try{for(var a=om(e.stack),c=a.next();!c.done;c=a.next()){var d=c.value,l=function(e,n,r){var i={filename:e.url||n,lineno:e.line,colno:e.column,function:e.func||"?"};if(r&&r.length>0){var o=se(r).test(i.filename),s=/(Weirwood|Tracekit)/.test(i.function),a=/weirwood\-sdk/.test(i.filename);i.in_app=o,(s||a)&&(i.in_app=!1)}else i.in_app=!1;return i}(d,e.url||"",n.includePaths);s.push(l)}}catch(e){i={error:e}}finally{try{c&&!c.done&&(o=a.return)&&o.call(a)}finally{if(i)throw i.error}}if(n&&n.trimHeadFrames)for(var u=0;u<n.trimHeadFrames&&u<s.length;u++)s[u].in_app=!1}return s=(s=s.filter(function(e){var n,r,i;return r=-1!==(n=e.filename||"").indexOf("weirwood-sdk"),i=/captureException$/.test(n),!r&&!i})).slice(0,r)}function si(e,n,r,i){if(null!=e){var o=e[n];return e[n]=r(o),e[n].__raven__=!0,e[n].__orig__=o,o.__raven_wrapper__=e[n],i&&i.push([e,n,o]),e[n]}}function so(e,n,r){if(void 0===e&&(e={}),ob(n)&&!o_(e))return e;if(o_(e)&&(n=e,e=void 0),!o_(n))return n;try{if(n.__raven__)return n;if(n.__raven_wrapper__)return n.__raven_wrapper__}catch(e){return n}function i(){for(var i=[],o=0;o<arguments.length;o++)i[o]=arguments[o];var s=[],a=i.length,c=!e||e&&!1!==e.deep;for(r&&o_(r)&&r.apply(this,i);a--;)s[a]=c?so(e,i[a]):i[a];try{return n.apply(this,s)}catch(e){throw e}}for(var o in n)n.hasOwnProperty(o)&&(i[o]=n[o]);return i.prototype=n.prototype,n.__raven_wrapper__=i,i.__raven__=!0,i.__orig__=n,i}function ss(e){return function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];var i=n[0];return(o_(i)&&(n[0]=so({mechanism:{type:"instrument",data:{function:(null==e?void 0:e.name)||"<anonymous>"}}},i)),e.apply)?e.apply(this,n):e(n[0],n[1])}}function sa(e,n){return function(r){if(c$=void 0,cJ!==r){cJ=r;try{i=function(e){for(var n,r=[],i=3,o=0,s=0;e&&o++<5;){var a="html"===(n=function(e){if(!e||!e.tagName)return"";var n,r,i,o,s=[e.tagName.toLowerCase()];e.id&&s.push("#"+e.id);var a=e.className?e.className.split(/\s+/):[];try{for(var c=om(a),d=c.next();!d.done;d=c.next()){var l=d.value;s.push("."+l)}}catch(e){n={error:e}}finally{try{d&&!d.done&&(r=c.return)&&r.call(c)}finally{if(n)throw n.error}}try{for(var u=om(["type","name","title","alt"]),f=u.next();!f.done;f=u.next()){var p=f.value,h=e.getAttribute(p);h&&s.push("["+p+"="+h+"]")}}catch(e){i={error:e}}finally{try{f&&!f.done&&(o=u.return)&&o.call(u)}finally{if(i)throw i.error}}return s.join("")}(e)),c=o>1&&s+r.length*i+n.length>=80;if(a||c)break;r.push(n),s+=n.length,e=e.parentNode}return r.reverse().join(" > ")}(r.target)}catch(e){i="<unknown>"}if(i){var i,o={category:"ui."+n,message:i,name:n};"input"===n&&"password"!==i.type&&(o.data=r.target.value||""),e.captureBehavior(o)}}}}function sc(e){return function(n){try{r=n.target}catch(e){return}var r,i=r&&r.tagName;i&&("INPUT"===i||"TEXTAREA"===i||r.isContentEditable)&&(c$||sa(e,"input")(n),clearTimeout(c$),c$=setTimeout(function(){c$=void 0},1e3))}}__webpack_require__("../../node_modules/@baidu/weirwood-error/esm/plugins/Plugin.js");var sd=oE(),sl=[301,302,304],su=function(){function e(n){this.name=e.id,this.options=oh({beacon:!0,console:!0,dom:!0,fetch:!0,history:!0,weirwood:!0,xhr:!0},n)}return e.prototype.setupOnce=function(e){this.client=e;var n,r,i=Object.keys(this.options);try{for(var o=om(i),s=o.next();!s.done;s=o.next()){var a=s.value,c="instrument"+a[0].toUpperCase()+a.slice(1);this.options[a]&&this[c]&&"function"==typeof this[c]&&this[c].call(this)}}catch(e){n={error:e}}finally{try{s&&!s.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}},e.prototype.instrumentDom=function(){if("document"in oE()){var e=sd.document;e.addEventListener("click",sa.call(this,this.client,"click"),!1),e.addEventListener("keypress",sc.call(this,this.client),!1)}},e.prototype.instrumentXhr=function(){var e=this.client,n=e.options,r=n.collectAutoAPIException,i=n.isApiException;if("XMLHttpRequest"in sd){var o=XMLHttpRequest.prototype,s=e._globalKey||"";si(o,"open",function(e){return function(n,r){return ow(r)&&-1===r.indexOf(s)&&(this.__raven_xhr={method:n,url:r,status_code:null}),e.apply(this,arguments)}},e._wrappedBuiltIns),si(o,"abort",function(e){return function(){return this.__raven_xhr&&(this.__raven_xhr.abortedFlag=!0),e.apply(this,arguments)}},e._wrappedBuiltIns),si(o,"send",function(n){return function(){var o=this,s=arguments;function a(){if(o.__raven_xhr&&4===o.readyState){try{o.__raven_xhr.status_code=o.status}catch(e){}var n=function(e,n){if(void 0===e&&(e=""),void 0===n&&(n=""),(""===e||"text"===e)&&ow(n)&&n.length)try{return JSON.parse(n)}catch(e){return n}return"json"===e?JSON.parse(JSON.stringify(n)):""}(o.responseType,o.response);if((e.captureBehavior({type:"http",category:"xhr",data:oh(oh({},o.__raven_xhr),{response:sn(n),params:sn(s&&s[0]?s[0]:"")})}),r)&&(!o.__raven_xhr||!o.__raven_xhr.abortedFlag)){var a=!1,c=o.status>=200&&o.status<=299,d=-1!==sl.indexOf(o.status);if(c||d||(a=!0),c&&i&&o_(i)&&(a=!!i({method:o.__raven_xhr.method,url:o.responseURL,status:o.status,responseType:o.responseType,response:n})),a){var l="";o_(o.getAllResponseHeaders)&&(l=o.getAllResponseHeaders().trim().replace(/[\r\n]+/g,"***")),e.captureAPIException({url:o.responseURL||o.__raven_xhr.url,method:o.__raven_xhr.method,params:s&&s[0]?s[0]:"",status:o.status,response:(ow(n)?n:JSON.stringify(n)).slice(0,8192),responseHeaders:l,user:"",extra:"AUTO_XHR"})}}}}for(var c=["onload","onerror","onprogress"],d=0;d<c.length;d++)!function(e,n){e in n&&o_(n[e])&&si(n,e,function(n){return so({mechanism:{data:{function:e,handler:n&&n.name||"<anonymous>"},handled:!0,type:"instrument"}},n)})}(c[d],o);return"onreadystatechange"in o&&o_(o.onreadystatechange)?si(o,"onreadystatechange",function(e){return so({mechanism:{type:"instrument",data:{function:"onreadystatechange",handler:e&&e.name||"<anonymous>"}}},e,a)}):o.onreadystatechange=a,n.apply(this,arguments)}},e._wrappedBuiltIns)}},e.prototype.instrumentFetch=function(){if(o0()){var e=oE(),n=this.client,r=n.options,i=r.collectAutoAPIException,o=r.isApiException,s=n._globalKey;si(sd,"fetch",function(r){return function(){for(var a,c=Array(arguments.length),d=0;d<c.length;++d)c[d]=arguments[d];var l=c[0],u="GET";if("string"==typeof l?a=l:"Request"in e&&l instanceof e.Request?(a=l.url,(null==l?void 0:l.method)&&(u=l.method)):a=""+l,-1!==a.indexOf(s))return r.apply(this,c);c[1]&&c[1].method&&(u=c[1].method);var f={method:u,url:a,status_code:null};return r.apply(this,c).then(function(e){f.status_code=e.status;var r,s,a="";c[1]&&c[1].body&&(a=c[1].body);var d=o_(e.clone)?e.clone():null,l={type:"http",category:"fetch",data:oh(oh({},f),{params:sn(a),response:""})};if(d?d.text().then(function(e){var r;try{r=JSON.parse(e)}catch(n){r=e}l.data.response=sn(r),n.captureBehavior(l)}):n.captureBehavior(l),!i)return e;var u=!1,p=o_(e.clone)?e.clone():null,h=sl.includes(e.status);e.ok||h||(u=!0);var m={method:f.method,url:f.url,status:e.status,response:""},v=[];try{for(var g=om(e.headers.entries()),y=g.next();!y.done;y=g.next()){var b=y.value;v.push(b[0]+": "+b[1])}}catch(e){r={error:e}}finally{try{y&&!y.done&&(s=g.return)&&s.call(g)}finally{if(r)throw r.error}}var _=oh(oh({},m),{params:a,responseHeaders:v.join("***"),user:"",extra:"AUTO_FETCH"});return p?p.text().then(function(r){var i;try{i=JSON.parse(r)}catch(e){i=r}e.ok&&o_(o)&&(u=!!o(oh(oh({},m),{response:i}))),u&&n.captureAPIException(oh(oh({},_),{response:r.slice(0,8192)}))}).catch(function(e){console.error(e)}):(e.ok&&o_(o)&&(u=!!o(m)),u&&n.captureAPIException(_)),e}).catch(function(e){throw n.captureBehavior({type:"http",category:"fetch",data:f,level:"error"}),e})}},n._wrappedBuiltIns)}},e.prototype.instrumentHistory=function(){var e,n,r,i,o=this.client;if(r=(n=(e=oE()).chrome)&&n.app&&n.app.runtime,i="history"in e&&!!e.history.pushState&&!!e.history.replaceState,!r&&i){var s=function(e,n){var r=o8(sd.location.href),i=o8(n),s=o8(e);s.path||(s=r),cK=n,r.protocol===i.protocol&&r.host===i.host&&(n=i.relative),r.protocol===s.protocol&&r.host===s.host&&(e=s.relative),o.captureBehavior({category:"navigation",data:{from:e,to:n}})},a=sd.onpopstate;sd.onpopstate=function(e){var n=sd.location.href;if(s(cK,n),a)return a.apply(sd,e)},si(sd.history,"pushState",c),si(sd.history,"replaceState",c)}function c(e){return function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];var i=n.length>2?n[2]:void 0;return i&&s(cK,String(i)),e.apply(this,n)}}},e.prototype.instrumentConsole=function(){},e.prototype.instrumentBeacon=function(){},e.id="behaviors",e}(),sf=oE(),sp=function(){function e(n){this.name=e.id,this.options=oh({active:!0},n)}return e.prototype.setupOnce=function(e){this.client=e,this.options.active&&si(sf,"setTimeout",ss,this.client._wrappedBuiltIns)},e.id="trycatch",e}(),sh=oE(),sm=function(){function e(){this.name=e.id}return e.prototype.setupOnce=function(e){this.client=e,this.client.captureUserAgent(this.getUserAgent())},e.prototype.getUserAgent=function(){return"navigator"in sh&&"document"in sh?{url:sh.location.href,headers:{"User-Agent":sh.navigator.userAgent,Referrer:sh.document.referrer}}:{}},e.id="UserAgent",e}(),sv={collectWindowErrors:!0,collectUnhandledRejections:!0,collectResourceLoadErrors:!1,collectAutoAPIException:!0,sampleRate:1,maxUrlLength:250,maxMessageLength:0,allowDuplicates:!1,stackTraceLimit:50,behaviorLimit:10,plugins:[],ignoreErrors:[],ignoreKeys:[],whitelistUrls:[],apiWhitelistUrls:[],resourceWhitelistUrls:[],ignoreUrls:[],ignoreJsUrls:[],ignoreApiUrls:[],ignoreApiStatus:[],ignoreResourceUrls:[],maxMessagePerMinute:10,endpoint:"https://fclog.baidu.com/log/weirwood?type=error"},sg="https://dmpstatic.cdn.bcebos.com/weirwood",sy=function(){function e(e){this.options=sv,this._globalContext={env:{},user:{},session_id:""},this._globalKey="fclog.baidu.com/log",this._currentExceptionContext={},this._currentExceptionStartTime=Date.now(),this._behaviors=[],this._lastData=null,this._lastAPIData=null,this._messagesSendLastMinute=0,this._messagesSendEmptyStartTime=Date.now(),this._installed=!1,this._globalErrorHandler=null,this._fetchDefaults={method:"POST",credentials:"include",referrerPolicy:!function(){if(!o0())return!1;try{return new Request("pickleRick",{referrerPolicy:"origin"}),!0}catch(e){return!1}}()?"":"origin"},this._wrappedBuiltIns=[],this._requestInfo=null,e&&this.config(e)}return e.prototype.init=function(e){return this.config(e)},e.prototype.config=function(e){this.options=oh(oh({},this.options),e),this.options.sendWindow=this.options.sendWindow||oE(),this._globalContext.session_id=this.options.uuid4();var n=this.options,r=n.token,i=n.buildid;if(!r||!i)throw Error("error: token and buildid must be provided");return this.setFilters(),this.install(),this},e.prototype.install=function(){var e,n=this;return this._installed?(console.error("error: Weirwood Error SDK has been installed and configured"),!1):(this.options.collectWindowErrors&&oB(),this.options.maxMessagePerMinute>=60&&(this.options.maxMessagePerMinute=60),this.options.collectUnhandledRejections&&oN(),this._globalErrorHandler=this._getErrorHandler().bind(this),oA(this._globalErrorHandler),this.options.collectResourceLoadErrors&&(e=function(e){if(window.performance&&window.performance.getEntriesByName){var r,i=window.performance.getEntriesByName(e.asset);i.length>0&&(r=i[0],["name","serverTiming"].forEach(function(e){delete r[e]}))}var o={mechanism:e.type,name:"ResourceError",message:e.asset,stack:[],mode:"onerror",timing:r,page:e.page,element:e.element,elementPath:e.path.slice(0,255)};n._handleStackInfo(o,{trimHeadFrames:0,mechanism:o.mechanism||"generic",includePaths:n.options.includePaths})},window.addEventListener("error",function(n){if(n&&n.target&&n.target!==window){var r,i=n.target,o=null!=(r=null==i?void 0:i.tagName)?r:"unknown tagname";if(-1!==["SCRIPT","LINK","IMG"].indexOf(o)){var s=i.src||i.href,a=window.location.href,c=function(e){for(var n=e.path||[],r="",i=0;i<n.length;i++){var o=n[i];if(o===window){r+="Window";continue}r+=o.nodeName,r+=o.id?"#"+o.id:"",r+=o.className?"."+o.className.split(" ").join("."):"",i<n.length&&(r+=" > ")}return r}(n),d={type:o,asset:oZ(s)===oZ(a)?"空资源":s,integrity:i.integrity,element:i&&i.outerHTML&&i.outerHTML.replace(/"/g,""),path:c.replace(/"/g,""),page:window.location.href.slice(0,255)};e&&e(d)}}},!0)),this._installed=!0,this.installPlugins(),this)},e.prototype.installPlugins=function(){var e,n;this.options.plugins=ov([new su(this.options.behaviorOptions),new sp(this.options.tryCatchOptions),new sm],this.options.plugins||[]);try{for(var r=om(this.options.plugins),i=r.next();!i.done;i=r.next())i.value.setupOnce(this)}catch(n){e={error:n}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(e)throw e.error}}},e.prototype.setFilters=function(){var e=this.options;e.ignoreErrors&&(e.ignoreErrors=ov([/^Script error\.?$/,/^Javascript error: Script error\.? on line 0$/,'{"isTrusted":true}','{"isTrusted":false}',"Network Error","ResizeObserver loop"],e.ignoreErrors||[])),e.ignoreJsUrls=ov(["chrome-extension","safari-extension","moz-extension",sg],e.ignoreJsUrls||[])},e.prototype._getErrorHandler=function(){var e=this;return function(n,r,i,o,s,a){if(i&&(i.stack||i.stacktrace)&&(n.originalStack=((i.stack||i.stacktrace)+"").slice(0,1e4)),n.stack&&!n.stack.length&&o&&(n.stack[0]={url:o,line:s,column:a}),!n.name&&!n.message&&"onunhandledrejection"===n.mechanism){var c=oE();n.name="unhandledrejection",n.url=n.url||c.location.href,n.message=i}e._handleStackInfo(n,{trimHeadFrames:0,mechanism:n.mechanism||"generic",includePaths:e.options.includePaths})}},e.prototype._handleStackInfo=function(e,n){var r=sr(e,n,this.options.stackTraceLimit);this._processException(e,r,n)},e.prototype._processException=function(e,n,r){var i=this.options,o=i.ignoreErrors,s=void 0===o?[]:o,a=i.ignoreKeys,c=void 0===a?[]:a,d=i.whitelistUrls,l=void 0===d?[]:d,u=i.resourceWhitelistUrls,f=void 0===u?[]:u,p=i.ignoreUrls,h=void 0===p?[]:p,m=i.ignoreJsUrls,v=void 0===m?[]:m,g=i.ignoreResourceUrls,y=void 0===g?[]:g,b=e.name,_=e.message,w=e.url,S=void 0===w?"":w,R=e.page,T=void 0===R?window.location.href:R,C=e.lineno,x=e.originalStack;if(!(s.length&&st(s,_)||h.length&&st(h,T))){var E=(M=n,P=S,M&&M.length&&M[0].filename||P);if("ResourceError"===b){if(y.length&&st(y,_)||f.length&&!st(f,_))return}else if(c.length&&st(c,b)||v.length&&st(v,E)||l.length&&!st(l,E))return;if(n&&n.length>0){var O=n[0].filename||"",k=-1!==O.indexOf("@baidu/weirwood-error"),I=-1!==O.indexOf(sg);if(k||I)return}if(-1===E.indexOf(sg)){var M,P,j,A,D,B=(j=n,A=S,D=void 0===C?0:C,j&&j.length?j.reverse():A?[{filename:A,lineno:D||0,in_app:!0}]:[]),N=oh(oh({},r),{exception:{type:b,value:_,originalStack:void 0===x?"":x,stacktrace:B,url:"ResourceError"===b?_:E,page:e.page,element:e.element,timing:e.timing,elementPath:e.elementPath}}),L=N.exception;null==L.type&&""===L.value&&(L.value="Unrecoverable error caught"),!N.exception.mechanism&&N.mechanism&&(N.exception.mechanism=N.mechanism,delete N.mechanism),this._send(N)}}},e.prototype.mergeGlobalContext=function(e){var n,r,i,o=oE();e.env=oh(oh(oh({},this._globalContext.env),e.env),{network:null==(i=o.navigator.connection)?void 0:i.effectiveType,windowHeight:(o.document.documentElement||o.document.body).clientHeight,windowWidth:(o.document.documentElement||o.document.body).clientWidth,documentTitle:o.document.title});try{for(var s=om(Object.keys(this._currentExceptionContext)),a=s.next();!a.done;a=s.next()){var c=a.value;e.env[c]=this._currentExceptionContext[c]}}catch(e){n={error:e}}finally{try{a&&!a.done&&(r=s.return)&&r.call(s)}finally{if(n)throw n.error}}e.env["session:duration"]=Date.now()-this._currentExceptionStartTime,this._globalContext.user&&(e.user=this._globalContext.user),this._globalContext.session_id&&(e.session_id=this._globalContext.session_id)},e.prototype._send=function(e){var n={request:this._requestInfo};if(ob(e.trimHeadFrames)||delete e.trimHeadFrames,e=oh(oh({},n),e),this.mergeGlobalContext(e),this._behaviors&&this._behaviors.length>0){var r=[].slice.call(this._behaviors,0);this.options.behaviorDataCallback&&(r=this.options.behaviorDataCallback(r)),e.behaviors=r}var i=this.options;if(i.token&&(e.token=i.token),i.buildid&&(e.buildid=i.buildid),Object.keys(e=this._sanitizeData(e)).forEach(function(n){(null==e[n]||""===e[n]||oC(e[n]))&&delete e[n]}),o_(i.dataCallback)&&(e=i.dataCallback(e)),!(!e||oC(e))){var o=Date.now()-this._messagesSendEmptyStartTime,s=this._messagesSendLastMinute>this.options.maxMessagePerMinute;if(o<6e4){if(s)return}else this._messagesSendEmptyStartTime=Date.now(),this._messagesSendLastMinute=1;"number"==typeof i.sampleRate?Math.random()<i.sampleRate&&(this._sendProcessedPayload(e),this._messagesSendLastMinute+=1):(this._sendProcessedPayload(e),this._messagesSendLastMinute+=1)}},e.prototype.isSetup=function(){return this._installed},e.prototype._trimPacket=function(e){var n,r,i=this.options.maxUrlLength||0,o=this.options.maxMessageLength||0;if(e.exception&&(e.exception.value=o6(e.exception.value,o)),e.request){var s=oE();e.request.url=o6(s.location.href,i);var a=e.request.headers.Referrer;e.request.headers.Referrer=o6(a,i)}if(e.behaviors&&e.behaviors.length){var c=["url","to","from"];try{for(var d=om(e.behaviors),l=d.next();!l.done;l=d.next()){var u=l.value;!function(e){var n=e.data||{},r=function(e){n.hasOwnProperty(e)&&c.forEach(function(r){e===r&&(n[e]=o6(n[e],i))})};for(var o in n)r(o)}(u)}}catch(e){n={error:e}}finally{try{l&&!l.done&&(r=d.return)&&r.call(d)}finally{if(n)throw n.error}}}return e},e.prototype._sendProcessedPayload=function(e,n){var r,i=this,o=this.options;if(e=this._trimPacket(e),!this.options.allowDuplicates&&this._isRepeatData(e))return void console.warn("Weirwood error SDK dropped repeat event:",e);var s=o.issueGroupby;s&&o_(s)&&(r=s(e.exception)),r&&ow(r)?(e.fingerprint=r.substr(0,255),e.event_id=oQ(e.fingerprint)):e.event_id=oQ(o9(e)),e.data_id=oQ(function(e){var n=o9(e),r=[],i=e.request,o=e.env,s=e.behaviors;if(!i)return JSON.stringify(e);var a=i.headers,c=i.url;return r.push("Referrer="+a.Referrer),r.push("ua="+a["User-Agent"]),r.push("url="+c),o3(o,function(e,n){"session:duration"!==e&&r.push(e+"="+n)}),o3(s,function(e){r.push("behavior.category="+e.category),r.push("behavior.name="+e.name),r.push("behavior.message="+e.message)}),n+r.join("***")}(e)),e.version=this.options.version||"",e.sdkTimestamp=Date.now(),this._lastData=e;var a={weirwood_version:this.options.version||""};(o.transport||this._makeRequest).call(this,{url:this.options.endpoint,auth:a,data:e,options:o,onSuccess:function(){i._resetBackoff(),n&&n()},onError:function(e){e.request&&i._setBackoffState(e.request),e=e||Error("Raven send failed (no additional details provided)"),n&&n(e)}})},e.prototype._makeRequest=function(e){var n,r,i=this,o=e.url,s=null,a={};e.options.headers&&(s=o4(e.options.headers)),e.options.fetchParameters&&(a=o4(e.options.fetchParameters));var c=this.options.sendWindow;if(o0()){a.body=o2(e.data);var d=oh(oh({},this._fetchDefaults),a);if(s){var l=new Headers;try{for(var u=om(Object.keys(s)),f=u.next();!f.done;f=u.next()){var p=f.value;l.append(p,s[p])}}catch(e){n={error:e}}finally{try{f&&!f.done&&(r=u.return)&&r.call(u)}finally{if(n)throw n.error}}l.append("Content-Type","text/plain"),d.headers=l}return c.fetch(o,d).then(function(n){if(n.ok)e.onSuccess&&e.onSuccess(),i._resetBackoff();else{var r=Error("Weirwood error SDK error code: "+n.status);r.request=n,e.onError&&e.onError(r)}}).catch(function(){e.onError&&e.onError(Error("Weirwood error SDK error code: network unavailable")),i._resetBackoff()})}var h=c.XMLHttpRequest&&new c.XMLHttpRequest;!h||("withCredentials"in h||"undefined"!=typeof XDomainRequest)&&("withCredentials"in h?h.onreadystatechange=function(){if(4!==h.readyState)return void i._resetBackoff();if(200===h.status)e.onSuccess&&e.onSuccess();else if(e.onError){i._resetBackoff();var n=Error("Weirwood error SDK error code: "+h.status);n.request=h,e.onError(n)}}:(h=new XDomainRequest,o=o.replace(/^https?:/,""),e.onSuccess&&(h.onload=e.onSuccess),e.onError&&(h.onerror=function(){var n=Error("Weirwood error SDK error code: XDomainRequest");n.request=h,e.onError(n)})),h.open("POST",o),s&&o3(s,function(e,n){h.setRequestHeader(e,n)}),h.send(o2(e.data)))},e.prototype._sanitizeData=function(e){var n=this.options.sanitizeKeys||[];if(n.length){var r=e,i=n;if(!Array.isArray(i)||Array.isArray(i)&&0===i.length)return r;var o,s=se(i);try{o=JSON.parse(o2(r))}catch(e){return r}return function e(n){return Array.isArray(n)?n.map(function(n){return e(n)}):oT(n)?Object.keys(n).reduce(function(r,i){return s.test(i)?r[i]="********":r[i]=e(n[i]),r},{}):n}(o)}return e},e.prototype.captureUserAgent=function(e){this._requestInfo=e},e.prototype.captureException=function(e,n){if(n||(n={trimHeadFrames:0,includePaths:[],mechanism:"generic",message:""}),og(e));else if(oy(e))e=e.error;else if(oT(e))e=Error((n=this._getCaptureExceptionOptionsFromPlainObject(n,e)).message);else{if(r=e,"[object DOMException]"!==Object.prototype.toString.call(r))return this.captureMessage(e,oh(oh({},n),{stacktrace:!0,trimHeadFrames:n.trimHeadFrames+1}));var r,i=e.name||"DOMException",o=e.message?i+": "+e.message:i;return this.captureMessage(o,n)}try{n=oh({trimHeadFrames:0,mechanism:"generic",includePaths:this.options.includePaths||[]},n);var s=oL(e);this._handleStackInfo(s,n)}catch(n){if(e!==n)throw n}return this},e.prototype._isRepeatData=function(e){var n,r,i=this._lastData,o=e.exception,s=i?i.exception:{};return n=o,r=s,n.mechanism===r.mechanism&&n.type===r.type&&n.value===r.value&&n.url===r.url&&(0===n.stacktrace.length&&0===r.stacktrace.length||function(e,n){if(o7(e)&&o7(n)){var r,i,o=e.length;if(o!==n.length)return!1;for(var s=0;s<o;s++){if(r=e[s],i=n[s],r.filename!==i.filename||r.lineno!==i.lineno||r.colno!==i.colno||r.function!==i.function)return!1}return!0}return!1}(n.stacktrace,r.stacktrace))},e.prototype._resetBackoff=function(){this._currentExceptionStartTime=Date.now(),this._currentExceptionContext={}},e.prototype._setBackoffState=function(e){console.log(e)},e.prototype.captureMessage=function(e,n){void 0===n&&(n={});var r,i,o=this.options,s=o.ignoreErrors||[],a=o.ignoreKeys||[],c=o.whitelistUrls||[],d=o.ignoreUrls||[],l=o.ignoreJsUrls||[];if(!(s.length&&st(s,e))){try{throw Error(e)}catch(e){i=e}var u=oL(i),f=Array.isArray(u.stack)&&u.stack[1];(null==(r=null==f?void 0:f.func)?void 0:r.indexOf("captureException"))!==-1&&(f=u.stack[2]);var p=f&&f.url||"";if(!(d.length&&st(d,window.location.href)||a.length&&st(a,i.name)||l.length&&st(l,p))&&(!c.length||st(c,p))){n=oh(oh({},n),{trimHeadFrames:0,includePaths:o.includePaths}),n.trimHeadFrames+=1;var h=sr(u,n),m={exception:{mechanism:"manual",type:i.name,value:i.message,stacktrace:h.slice(1).reverse(),url:p}};return this._send(m),this}}},e.prototype.captureAPIException=function(e){var n,r,i=this,o=oE(),s=this.options,a=s.ignoreUrls,c=void 0===a?[]:a,d=s.ignoreApiUrls,l=void 0===d?[]:d,u=s.ignoreApiStatus,f=void 0===u?[]:u,p=s.buildid,h=s.token,m=s.version,v=s.apiWhitelistUrls;if(!(e.url&&e.method&&!ob(e.status)))return void console.error("API异常参数至少需要包含 method、url、status 参数。");if(!(c.length&&st(c,o.location.href)||l.length&&st(l,e.url))&&(!v.length||st(v,e.url))&&(!f.length||-1===f.indexOf(Number(e.status)))){var g=oh(oh({},e),{type:"APIError"}),y={request:{headers:{"User-Agent":o.navigator.userAgent},url:o.location.href},exception:g,buildid:p,token:h,version:m||""},b=this.options;if(o_(b.dataCallback)&&(y=b.dataCallback(y)),!(!y||oC(y))){this.mergeGlobalContext(y);var _=this.options.issueGroupby;if((_&&o_(_)&&(r=_(y.exception)),r&&ow(r))?(y.fingerprint=r.substr(0,255),y.event_id=oQ(y.fingerprint)):y.event_id=oQ((n=e).method+"***"+function(e){if(!ow(e))return"";var n=e.split("?");return n[1]?(n[1]=n[1].replace(/\d+/g,"*").replace(/[\u4e00-\u9fa5]+/gi,"*"),n.join("?")):e}(n.url)),y.data_id=oQ(o2(y)),this._lastAPIData!==y.data_id){this._lastAPIData=y.data_id;var w=function(){var e;((null==(e=i.options.globalOptions)?void 0:e.transport)||i._makeRequest).call(i,{url:i.options.endpoint,data:y,options:{},onSuccess:function(){},onError:function(){}})};"number"==typeof b.sampleRate?Math.random()<b.sampleRate&&w():w()}}}},e.prototype.captureEvent=function(){},e.prototype.afterLoad=function(){var e=oE().RavenConfig;e&&this.init(e)},e.prototype._getCaptureExceptionOptionsFromPlainObject=function(e,n){var r=Object.keys(n).sort(),i=oh(oh({},e),{message:"Non-Error exception captured with keys: "+function(e,n){if(void 0===n&&(n=40),oS(e)||ow(e))return e.toString();if(!oR(e))return"";if(0===(e=e.filter(function(e){return ow(e)})).length)return"[object has no keys]";if(n=oS(n)?n:40,e[0].length>=n)return e[0];for(var r=e.length;r>0;r--){var i=e.slice(0,r).join(", ");if(!(i.length>n)){if(r===e.length)return i;return i+"…"}}return""}(r),fingerprint:[oQ(r.join(""))],env:e&&e.env||{}});return i.env.__serialized__=function e(n,r,i){if(void 0===r&&(r=3),void 0===i&&(i=51200),!oT(n))return n+"";var o,s,a=function e(n,r){return 0===r?o5(n):oT(n)?Object.keys(n).reduce(function(i,o){return i[o]=e(n[o],r-1),i},{}):Array.isArray(n)?n.map(function(n){return e(n,r-1)}):o5(n)}(n,r);return~-encodeURI(s=JSON.stringify(o=o2(a))).split(/%..|./).length>i?e(n,r-1):a}(n),i},e.prototype.captureBehavior=function(e){var n=oh(oh({},e),{timestamp:Date.now()/1e3});if(o_(this.options.breadcrumbCallback)){var r,i=this.options.breadcrumbCallback(n);if("object"!=typeof(r=i)||null===r||oC(i)){if(!1===i)return this}else n=i}return this._behaviors.push(n),this._behaviors.length>(this.options.behaviorLimit||10)&&this._behaviors.shift(),this},e.prototype.setContext=function(e,n){for(var r in void 0===n&&(n={persist:!0}),e)Reflect.has(e,r)&&(n.persist?this._globalContext.env[r]=e[r]:this._currentExceptionContext[r]=e[r])},e.prototype.clearContext=function(){this._globalContext.env={},this._currentExceptionContext={}},e.prototype._restoreBuiltIns=function(){for(var e;this._wrappedBuiltIns.length;){var n=(e=this._wrappedBuiltIns.shift())[0],r=e[1],i=e[2];n[r]=i}},e.prototype.noConflict=function(){},e.prototype.uninstall=function(){this.dispose()},e.prototype.dispose=function(){oD(this._globalErrorHandler),this._restoreBuiltIns(),this._globalErrorHandler=null,this._installed=!1},e}(),sb={};function s_(){var e=window.crypto||window.msCrypto;if(void 0===e||!e.getRandomValues)return"xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx".replace(/[xy]/g,function(e){var n=16*Math.random()|0;return("x"===e?n:3&n|8).toString(16)});var n=new Uint16Array(8);e.getRandomValues(n),n[3]=4095&n[3]|16384,n[4]=16383&n[4]|32768;var r=function(e){for(var n=e.toString(16);n.length<4;)n="0"+n;return n};return r(n[0])+r(n[1])+r(n[2])+r(n[3])+r(n[4])+r(n[5])+r(n[6])+r(n[7])}var sw=function(){function e(e){this.version="1.3.15",this.lastRouteTime=0,e&&this.init(e)}return e.prototype.init=function(e){var n,r,i,o,s=this.getSendWindow();if(!e.perf||e.perf&&!e.perf.disable){var a=of(of(of({},e.perf),e.common),{version:this.version,sendWindow:s});this.perf=new op.PerfClient(a)}if(!e.error||e.error&&!e.error.disable){var c=of(of(of({},e.error),e.common),{version:this.version,sendWindow:s,uuid4:s_});this.error=new sy(c)}this.routeChange(window.document.URL),n=this.routeChange.bind(this),"function"==typeof(r=window.history).pushState&&(i=r.pushState,r.pushState=function(e,r,o){return n(o),i.apply(this,arguments)}),"function"==typeof r.replaceState&&(o=r.replaceState,r.replaceState=function(e,r,i){return i!==window.document.URL&&n(i),o.apply(this,arguments)}),window.addEventListener("hashchange",function(e){n((e||{}).newURL)}),window.addEventListener("popstate",function(e){n(window.document.URL)})},e.prototype.routeChange=function(e){var n=new Date().getTime();if(n-this.lastRouteTime>100){this.lastRouteTime=n;var r=s_()+"-"+n;this.error&&this.error.setContext({pageId:r})}},e.prototype.getSendWindow=function(){var e="undefined"!=typeof window?window:void 0!==__webpack_require__.g?__webpack_require__.g:"undefined"!=typeof self?self:sb;if(["fetch","ajax","sendBeacon"].some(function(e){var n;return!((n=window[e])&&n.toString&&!n.hasOwnProperty("toString")&&/\[native code\]/.test(String(n)))})&&document.body){var n=document.createElement("iframe");n.style.setProperty("display","none","important"),document.body.appendChild(n),e=n?n.contentWindow:e}return e},e.prototype.afterLoad=function(){},e}(),sS=((cD={}).NO_API_SUPPORT="NO_API_SUPPORT",cD.INSECURE_CONTEXT="INSECURE_CONTEXT",cD.NO_DEVICE_FOUND="NO_DEVICE_FOUND",cD.PERMISSION_DENIED="PERMISSION_DENIED",cD.PERMISSION_DISMISSED="PERMISSION_DISMISSED",cD.DEVICE_IN_USE="DEVICE_IN_USE",cD.TIMEOUT="TIMEOUT",cD.UNKNOWN_ERROR="UNKNOWN_ERROR",cD);class sR{constructor(e={}){var n,r;this.mediaStream=null,this.options={timeout:null!=(n=e.timeout)?n:5e3,autoCleanup:null==(r=e.autoCleanup)||r}}cleanup(){this.mediaStream&&(this.mediaStream.getTracks().forEach(e=>{e.stop()}),this.mediaStream=null)}async checkAudioDevice(){try{return await this.withTimeout(this.performCheck(),this.options.timeout)}catch(e){if(e instanceof Error&&"TIMEOUT"===e.message)return this.createErrorResult("TIMEOUT","设备检测超时");return this.createErrorResult("UNKNOWN_ERROR",e instanceof Error?e.message:"未知错误")}finally{this.options.autoCleanup&&this.cleanup()}}async performCheck(){let e=this.checkAPISupport();if(!e.available)return e;let n=await this.checkDeviceEnumeration();if(!n.available)return n;let r=await this.checkPermissionState(),i=await this.checkMediaStream();return i.available?{available:!0,passedLevel:4,devices:n.devices,permissionState:r.permissionState,message:"音频设备可用"}:i}checkAPISupport(){return navigator.mediaDevices?navigator.mediaDevices.getUserMedia?"undefined"==typeof window||window.isSecureContext?{available:!0,passedLevel:1}:this.createErrorResult("INSECURE_CONTEXT","需要 HTTPS 环境才能访问麦克风 (localhost 除外)"):this.createErrorResult("NO_API_SUPPORT","浏览器不支持 getUserMedia API"):this.createErrorResult("NO_API_SUPPORT","浏览器不支持 navigator.mediaDevices API")}async checkDeviceEnumeration(){try{let e=(await navigator.mediaDevices.enumerateDevices()).filter(e=>"audioinput"===e.kind);if(0===e.length)return this.createErrorResult("NO_DEVICE_FOUND","系统中未找到音频输入设备");let n=e.some(e=>""!==e.deviceId);return{available:!0,passedLevel:2,devices:e,message:n?`找到 ${e.length} 个音频输入设备`:"找到设备但需要权限才能获取详细信息"}}catch(e){return this.createErrorResult("UNKNOWN_ERROR",`设备枚举失败: ${e instanceof Error?e.message:"未知错误"}`)}}async checkPermissionState(){try{if(!navigator.permissions||!navigator.permissions.query)return{available:!0,passedLevel:3,message:"浏览器不支持 Permissions API,跳过权限检查"};let e=await navigator.permissions.query({name:"microphone"});if("denied"===e.state)return this.createErrorResult("PERMISSION_DENIED","麦克风权限已被拒绝,请在浏览器设置中开启");return{available:!0,passedLevel:3,permissionState:e.state,message:`权限状态: ${e.state}`}}catch(e){return{available:!0,passedLevel:3,message:"Permissions API 检查失败,继续后续检测"}}}async checkMediaStream(){try{this.mediaStream=await navigator.mediaDevices.getUserMedia({audio:!0});let e=this.mediaStream.getAudioTracks();if(0===e.length)return this.createErrorResult("NO_DEVICE_FOUND","未能获取音频轨道");let n=e[0];if("live"!==n.readyState)return this.createErrorResult("DEVICE_IN_USE",`音频轨道状态异常: ${n.readyState}`);if(!n.enabled)return this.createErrorResult("DEVICE_IN_USE","音频轨道已被禁用");if(n.muted)return this.createErrorResult("DEVICE_IN_USE","音频轨道处于静音状态");return{available:!0,passedLevel:4,message:`成功获取音频流: ${n.label}`}}catch(e){if(e instanceof Error){if("NotAllowedError"===e.name||"PermissionDeniedError"===e.name)return this.createErrorResult("PERMISSION_DENIED","用户拒绝了麦克风权限请求");if("NotFoundError"===e.name||"DevicesNotFoundError"===e.name)return this.createErrorResult("NO_DEVICE_FOUND","未找到可用的音频输入设备");if("NotReadableError"===e.name||"TrackStartError"===e.name)return this.createErrorResult("DEVICE_IN_USE","设备正被其他程序占用或无法访问");if("AbortError"===e.name)return this.createErrorResult("PERMISSION_DISMISSED","权限请求被中止或超时")}return this.createErrorResult("UNKNOWN_ERROR",`获取音频流失败: ${e instanceof Error?e.message:"未知错误"}`)}}createErrorResult(e,n){return{available:!1,error:e,message:n}}withTimeout(e,n){return Promise.race([e,new Promise((e,r)=>{setTimeout(()=>r(Error("TIMEOUT")),n)})])}}async function sT(e){return new sR(e).checkAudioDevice()}let sC=e=>{let n={NO_API_SUPPORT:"您的浏览器不支持语音功能,请使用最新版 Chrome、Firefox 或 Edge 浏览器。",INSECURE_CONTEXT:"出于安全考虑,语音功能仅在 HTTPS 网站下可用。",NO_DEVICE_FOUND:"未检测到麦克风设备,请连接麦克风后重试。",PERMISSION_DENIED:"您已拒绝麦克风权限,请在浏览器设置中允许访问麦克风。",PERMISSION_DISMISSED:"麦克风权限请求已关闭,请刷新页面重新授权。",DEVICE_IN_USE:"麦克风正被其他程序占用,请关闭其他使用麦克风的应用后重试。",TIMEOUT:"设备检测超时,请检查网络连接或刷新页面重试。",UNKNOWN_ERROR:"发生未知错误,请刷新页面重试或联系技术支持。"};return n[e]||n.UNKNOWN_ERROR};function sx(e,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,n)}function sE(e,n){return function(r,i){n(r,i,e)}}(cN=(cB=cY||(cY={})).EMessageType||(cB.EMessageType={}))[cN.Query=0]="Query",cN[cN.Event=1]="Event";class sO{constructor(e,n,r){this.opts=e,this.signalingService=n,this.errorManager=r,this.disabled=!1,this.mutedByUser=!1,this.muted=!1,this.emitter=new np,this.started=!1,this.lastCheckResult=null,this.lastCheckTime=0,this.CHECK_CACHE_TTL=5e3,this.mute=e=>{this.signalingService.Mute(e),this.muted=e},this.setMutedByUser=e=>{this.mutedByUser=e},this.tryUnmuteAsr=()=>!this.disabled&&!this.mutedByUser&&(this.muted&&this.mute(!1),!0),this.disable=()=>{this.disabled=!0},this.enable=()=>{this.disabled=!1},this.checkAudioDevice=async e=>{var n;let r=Date.now();if(!(null==e?void 0:e.forceCheck)&&(null==(n=this.lastCheckResult)?void 0:n.available)&&r-this.lastCheckTime<this.CHECK_CACHE_TTL)return this.lastCheckResult;let i=new sR(e),o=await i.checkAudioDevice();return this.lastCheckResult=o,this.lastCheckTime=r,await this.emitter.emit("device_check_completed",o),!o.available&&o.error&&this.errorManager.handleError(this.mapToAsrError(o)),o},this._stop=async()=>{this.started&&(await this.signalingService.Stop(),this.started=!1)},this._dispose=()=>{this.stop().finally(()=>{this.signalingService.Dispose()}).catch(r3),this.emitter.clearListeners(),this.lastCheckTime=0},this.mapToAsrError=e=>new({[sS.NO_API_SUPPORT]:rP,[sS.INSECURE_CONTEXT]:rj,[sS.NO_DEVICE_FOUND]:rI,[sS.PERMISSION_DENIED]:rx,[sS.PERMISSION_DISMISSED]:rA,[sS.DEVICE_IN_USE]:rM,[sS.TIMEOUT]:rD,[sS.UNKNOWN_ERROR]:rT})[e.error](e.message,{passedLevel:e.passedLevel,devices:e.devices,permissionState:e.permissionState})}get sessionId(){return this.started?this.signalingService.GetSessionID():null}}function sk(e,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,n)}function sI(e,n){return function(r,i){n(r,i,e)}}sO=function(e,n,r,i){var o,s=arguments.length,a=s<3?n:null===i?i=Object.getOwnPropertyDescriptor(n,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,n,r,i);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(a=(s<3?o(a):s>3?o(n,r,a):o(n,r))||a);return s>3&&a&&Object.defineProperty(n,r,a),a}([eb(),sE(0,ev(nm.IOptions)),sE(0,eT()),sE(1,ev(nm.SignalingService)),sE(2,ev(nm.ErrorManager)),sx("design:type",Function),sx("design:paramtypes",["undefined"==typeof IResolvedOptions?Object:IResolvedOptions,"undefined"==typeof BaseSignalingService?Object:BaseSignalingService,void 0===rQ?Object:rQ])],sO);class sM{static #F=this.GET_ACCESS_TOKEN_REQUEST_URI="employee-console/v1/access/r/ai-agent/get_digital_token";constructor(e,n,r){this.opts=e,this.request=n,this.errorManager=r,this.emitter=new np,this._isRendering=!1,this._isMuted=!1,this._canInterrupt=!0,this.ssmlHandlers=[],this.token="",this.latencyStartMap=new Map,this.getAccessToken=async()=>{try{let{data:e}=await this.request.client.get(sM.GET_ACCESS_TOKEN_REQUEST_URI,{retry:3,timeout:15e3}).json();return e.authorization}catch(e){throw e instanceof Error&&this.errorManager.handleError(new rH(e.message)),e}}}get isRendering(){return this._isRendering}get isMuted(){return this._isMuted}get canInterrupt(){return this._canInterrupt}setIsRendering(e){this._isRendering=e}setIsMuted(e){this._isMuted=e}setCanInterrupt(e){this._canInterrupt=e}registerSSMLHandler(e){return this.ssmlHandlers.push(e),this}runSsmlHandlers(e){let n=e;for(let e of this.ssmlHandlers)n=e(n);return n}}sM=function(e,n,r,i){var o,s=arguments.length,a=s<3?n:null===i?i=Object.getOwnPropertyDescriptor(n,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,n,r,i);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(a=(s<3?o(a):s>3?o(n,r,a):o(n,r))||a);return s>3&&a&&Object.defineProperty(n,r,a),a}([eb(),sI(0,ev(nm.IOptions)),sI(1,ev(nm.CommonRequest)),sI(2,ev(nm.ErrorManager)),sk("design:type",Function),sk("design:paramtypes",["undefined"==typeof IOptions?Object:IOptions,void 0===nY?Object:nY,void 0===rQ?Object:rQ])],sM);let sP=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:500;return new Promise(n=>setTimeout(n,e))};function sj(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,i)}return r}function sA(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?sj(Object(r),!0).forEach(function(n){sU(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):sj(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function sD(e){return(sD="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function sB(e,n){if(!(e instanceof n))throw TypeError("Cannot call a class as a function")}function sN(e,n){for(var r=0;r<n.length;r++){var i=n[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,sF(i.key),i)}}function sL(e,n,r){return n&&sN(e.prototype,n),r&&sN(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function sU(e,n,r){return(n=sF(n))in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function sF(e){var n=function(e,n){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,n||"default");if("object"!=typeof i)return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==typeof n?n:String(n)}(cQ||(cQ={})).INIT="INIT";var sq=function(){function e(n){sB(this,e),sU(this,"iframeId",void 0),this.iframeId=n}return sL(e,[{key:"registerMessageReceived",value:function(e){void 0!==window.addEventListener&&"function"==typeof e&&window.addEventListener("message",e,!1)}},{key:"removeMessageReceived",value:function(e){void 0!==window.addEventListener&&window.removeEventListener("message",e,!1)}},{key:"sendMessageToIframe",value:function(e,n){if(this.iframeId){var r=document.getElementById(this.iframeId);e&&null!==r&&r.contentWindow.postMessage({type:e,content:n},"*")}else if(window.self!==window.top&&window&&window.parent&&window.parent.postMessage){var i=JSON.parse(JSON.stringify(n||{}));window.parent.postMessage({type:e,content:i},"*")}}},{key:"sendCommand",value:function(e){this.sendMessageToIframe("command",e)}},{key:"sendMessage",value:function(e){var n=e.requestId,r=void 0===n?r2():n;return this.sendMessageToIframe("message",sA(sA({},e),{},{requestId:r})),r}},{key:"textRender",value:function(e){return this.sendMessage({action:"TEXT_RENDER",body:e})}},{key:"textQuery",value:function(e){return this.sendMessage({action:"TEXT_QUERY",body:e})}},{key:"changeBackGround",value:function(e){return this.textRender("<display><background><type>image</type><source>http</source><value>".concat(e,"</value></background></display>"))}},{key:"mute",value:function(e){this.sendCommand({subType:"mute",subContent:e})}},{key:"muteAudio",value:function(e){this.sendCommand({subType:"muteAudio",subContent:e})}},{key:"muteRemoteAudio",value:function(e){this.sendCommand({subType:"muteRemoteAudio",subContent:e})}},{key:"playVideo",value:function(e){this.sendCommand({subType:"playVideo",subContent:e})}},{key:"sendAudioData",value:function(e){this.sendMessageToIframe("audioData",e)}},{key:"onStateUpdate",value:function(e){this.sendMessageToIframe("state",e)}},{key:"sendRtcState",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.sendMessageToIframe("rtcState",e)}},{key:"sendWsState",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.sendMessageToIframe("wsState",e)}}]),e}(),sH="LOAD",sV="TEXT_RENDER",sz="TEXT_MT_RENDER",sG="AUDIO_RENDER",sW="TEXT_QUERY",sX="AUDIO_QUERY_START",s$="AUDIO_QUERY_STOP",sJ="SET_MODEL_URLS",sK="CHANGE_CAMERA",sY="ANIMOJI_RENDER",sQ="DESTROY",sZ="CHANGE_PARTS",s0="SET_RENDER_CONFIG",s1="AUDIO_RENDER_START",s2="AUDIO_RENDER_STOP",s3="INTERRUPT";function s4(e){sB(this,s4),sU(this,"iframeId",void 0),sU(this,"namespace","dhIframeNameSpace"),sU(this,"listener",null),this.iframeId=e}sL(s4,[{key:"onEventListener",value:function(e){var n=this;return function(r){if("object"===sD(r.data))if("onListener"===r.data.type&&r.data.content.listenerId){var i=window[n.namespace][r.data.content.listenerId];null==i||i(r.data.content.data)}else"onListenerRemove"===r.data.type&&r.data.content.listenerId?delete window[n.namespace][r.data.content.listenerId]:r.data.listenerId?e(r.data,function(e){n.sendMessage("onListener",{listenerId:r.data.listenerId,data:e})},function(){n.sendMessage("onListenerRemove",{listenerId:r.data.listenerId})}):e(r.data)}}},{key:"registerMessageReceived",value:function(e){void 0!==window.addEventListener&&"function"==typeof e&&(this.listener=this.onEventListener(e),window.addEventListener("message",this.listener,!1))}},{key:"removeMessageReceived",value:function(){void 0!==window.addEventListener&&this.listener&&(window[this.namespace]=void 0,window.removeEventListener("message",this.listener,!1))}},{key:"sendMessage",value:function(e,n,r){var i=this;if(this.iframeId){var o="";r&&(o=r2(),window[this.namespace]||(window[this.namespace]={}),window[this.namespace][o]=r);var s=document.getElementById(this.iframeId);return e&&null!==s&&s.contentWindow.postMessage({type:e,content:n,listenerId:o},"*"),function(){o&&(window[i.namespace][o]=void 0)}}if(window.self!==window.top&&window&&window.parent&&window.parent.postMessage){var a=JSON.parse(JSON.stringify(n||{}));window.parent.postMessage({type:e,content:a},"*")}}},{key:"textRender",value:function(e,n){return this.sendMessage(sV,e,n)}},{key:"textMTRender",value:function(e,n){return this.sendMessage(sz,e,n)}},{key:"audioRender",value:function(e,n){return this.sendMessage(sG,e,n)}},{key:"textQuery",value:function(e,n){return this.sendMessage(sW,e,n)}},{key:"startAudioQuery",value:function(e,n){return this.sendMessage(sX,e,n)}},{key:"stopAudioQuery",value:function(){return this.sendMessage(s$,{})}},{key:"setModelPackage",value:function(e,n){return this.sendMessage(sJ,{urls:e,needInitConfig:n})}},{key:"changeCamera",value:function(e){return this.sendMessage(sK,e)}},{key:"changeParts",value:function(e){return this.sendMessage(sZ,e)}},{key:"setRenderConfig",value:function(e){return this.sendMessage(s0,e)}},{key:"animojiRender",value:function(e,n){return this.sendMessage(sY,e,n)}},{key:"destroy",value:function(){return this.sendMessage(sQ,{})}},{key:"startAudioRender",value:function(e,n){return this.sendMessage(s1,e,n)}},{key:"stopAudioRender",value:function(){return this.sendMessage(s2,{})}},{key:"interrupt",value:function(){return this.sendMessage(s3,{})}},{key:"load",value:function(e){return this.sendMessage(sH,e)}},{key:"onStateUpdate",value:function(e){this.sendMessage("state",e)}}]);class s5 extends sM{get ready(){return!!this.iframeController&&!!this.token}constructor(...e){super(...e),this.origin="https://open.xiling.baidu.com",this.iframeId=r2(),this.iframeController=null,this.iframe=null,this.$iframeContainer=null,this.requestId=r2(),this.isWSConnected=!1,this.isRtcReady=!1,this.silenceMessageRequestIds=[],this.isStreamTextRendering=!1,this.wsClosedCount=0,this.mount=async e=>{if(!e)return void this.errorManager.handleError(new rN("容器元素不能为空"));if(this.$iframeContainer=e,this.iframe){e.contains(this.iframe)||e.appendChild(this.iframe);return}this.opts.enableDebugMode&&"development"===this.opts.env&&!this.opts.token?this.token=await this.getAccessToken():this.token=this.opts.token,this.iframe=document.createElement("iframe"),this.applyOptions(),e.appendChild(this.iframe),this.iframeController=new sq(this.iframeId),this.bindEvents()},this.bindEvents=()=>{var e,n;return this.ready&&(null==(e=this.iframe)||e.addEventListener("error",this.onIFrameErrorHandler),null==(n=this.iframeController)||n.registerMessageReceived(this.onMessageHandler)),this},this.unbindEvents=()=>{var e,n;return this.ready&&(null==(e=this.iframe)||e.removeEventListener("error",this.onIFrameErrorHandler),null==(n=this.iframeController)||n.removeMessageReceived(this.onMessageHandler)),this},this.cancelMute=()=>{var e;null==(e=this.iframeController)||e.sendCommand({subType:"muteAudio",subContent:!1}),setTimeout(()=>{this._isMuted=!1},1500)},this.muteHuman=()=>{var e;null==(e=this.iframeController)||e.sendCommand({subType:"muteAudio",subContent:!0}),setTimeout(()=>{this._isMuted=!0},1500)},this.play=async()=>{var e;null==(e=this.iframeController)||e.sendCommand({subType:"playVideo",subContent:!0})},this.pause=()=>{var e;null==(e=this.iframeController)||e.sendCommand({subType:"playVideo",subContent:!1})},this.renderPlainText=e=>{var n;if(!this.ready)return this;let r=this.runSsmlHandlers(e);return this.refreshRequestId(),null==(n=this.iframeController)||n.sendMessage({action:"TEXT_RENDER",body:r,requestId:this.requestId}),this},this.renderStreamText=(e,n)=>{var r,i,o;if(!this.ready)return this;let s=this.runSsmlHandlers(e);return n?(this.isStreamTextRendering||this.refreshRequestId(),null==(i=this.iframeController)||i.sendMessage({action:"TEXT_STREAM_RENDER",body:JSON.stringify({first:!this.isStreamTextRendering,last:!0,text:s}),requestId:this.requestId}),this.isStreamTextRendering=!1):this.isStreamTextRendering?null==(r=this.iframeController)||r.sendMessage({action:"TEXT_STREAM_RENDER",body:JSON.stringify({first:!1,last:!1,text:s}),requestId:this.requestId}):(this.refreshRequestId(),this.isStreamTextRendering=!0,this.latencyStartMap.set(this.requestId,performance.now()),null==(o=this.iframeController)||o.sendMessage({action:"TEXT_STREAM_RENDER",body:JSON.stringify({first:!0,last:!1,text:s}),requestId:this.requestId})),this},this.interrupt=()=>{var e;return this.ready&&(null==(e=this.iframeController)||e.sendMessage({action:"TEXT_RENDER",body:"<interrupt></interrupt>",requestId:this.requestId}),this.isRendering||this.onRenderFinished(this.requestId)),this},this.sendSilenceMessage=()=>{var e;if(!this.ready)return this;let n=r2();return null==(e=this.iframeController)||e.sendMessage({action:"TEXT_RENDER",body:"",requestId:n}),this.silenceMessageRequestIds.push(n),this.emitter.emit("send_silence_message",{requestId:n}).catch(r3),this},this.dispose=()=>{if(this.unbindEvents(),this.silenceMessageRequestIds=[],this.ssmlHandlers=[],this.wsClosedCount=0,this.isStreamTextRendering=!1,this.emitter.clearListeners(),this.latencyStartMap.clear(),this.iframe){var e;null==(e=this.$iframeContainer)||e.removeChild(this.iframe),this.iframe=null,this.iframeController=null}return this},this.GetRequestId=()=>this.requestId,this.checkIsReady=()=>{let e=this.isWSConnected&&this.isRtcReady;return e&&this.emitter.emit("ready").catch(r3),e},this.onIFrameErrorHandler=e=>{let n=new rL(`数字人iframe加载失败: ${e.message}`,{context:{method:"onIFrameErrorHandler",iframeId:this.iframeId,filename:e.filename,lineno:e.lineno,colno:e.colno,type:e.type,target:e.target}});this.errorManager.handleError(n)},this.onMessageHandler=e=>{if(e.origin!==this.origin)return;let n=e.data;switch(n.type){case"msg":this.onReceiveMsgTypedMessageHandler(n);break;case"rtcState":this.onReceiveRtcStateTypedMessageHandler(n);break;case"wsState":this.onReceiveWsStateTypedMessageHandler(n)}},this.onReceiveMsgTypedMessageHandler=e=>{let n=e.content.requestId;if((1004===e.content.code||3001===e.content.code)&&(this.emitter.emit("reach_session_limit",{requestId:n}).catch(r3),this.errorManager.handleError(new rV("资源配额已用尽,请联系技术支持申请扩容"))),["RENDER_START","FINISHED","DOWN_SUBTITLE","RENDER_INTERRUPTED","DOWN_SUBTITLE","TEXT_RENDER","TEXT_STREAM_RENDER"].includes(e.content.action)){if(n!==this.requestId)return;switch(e.content.action){case"RENDER_START":this._isRendering=!0,this.emitter.emit("is_rendering_change",!0).catch(r3);break;case"FINISHED":case"RENDER_INTERRUPTED":this.onRenderFinished(n);break;case"DOWN_SUBTITLE":{let r=JSON.parse(e.content.body);if(this.silenceMessageRequestIds.includes(n))this.silenceMessageRequestIds=this.silenceMessageRequestIds.filter(e=>e!==n);else{let e,i=this.latencyStartMap.get(n);void 0!==i&&(e=performance.now()-i,this.latencyStartMap.clear()),this.emitter.emit("render_subtitle",{subtitle:r,requestId:n,latency:e}).catch(r3)}break}case"TEXT_RENDER":case"TEXT_STREAM_RENDER":0!==e.content.code&&this.onRenderFinished(n)}return}switch(e.content.action){case"RENDER_ERROR":this.onRenderFinished(n),this.errorManager.handleError(new rU("数字员工文本驱动渲染失败,请确认配置后重试",{requestId:n,context:{msg:e.content.message}}));break;case"DISCONNECT_ALERT":this.emitter.emit("disconnect_alert",{requestId:n}).catch(r3);break;case"TIMEOUT_EXIT":this.onRenderFinished(n),this.emitter.emit("timeout",{requestId:e.content.requestId}).catch(r3)}},this.onReceiveRtcStateTypedMessageHandler=e=>{if(e.content.action,"localVideoMuted"===e.content.action&&e.content.body&&(this._isMuted=!0),"remotevideoon"===e.content.action&&(this.isRtcReady=!0,this.checkIsReady(),this.iframe&&(this.iframe.style.opacity="1")),"error"===e.content.action){let n="string"==typeof e.content.body?e.content.body:"";this.errorManager.handleError(new rq("RTC 房间连接失败,请检查网络后重试"+n))}},this.onReceiveWsStateTypedMessageHandler=e=>{1===e.content.readyState?(this.isWSConnected=!0,this.wsClosedCount=0,this.checkIsReady()):(3===e.content.readyState||2===e.content.readyState)&&(this.isWSConnected=!1),3===e.content.readyState&&(this.wsClosedCount++,this.wsClosedCount>=3&&(this.emitter.emit("reconnect_failed").catch(r3),this.errorManager.handleError(new rF("检测到 Websocket 链接异常断开,如长时间无法恢复,请联系技术支持。"))))},this.applyOptions=()=>{var e,n,r,i,o,s,a,c,d,l,u,f,p,h;if(!this.iframe)return;this.iframe.id=this.iframeId,this.iframe.allow="autoplay",this.iframe.style.border="none",this.iframe.style.opacity="0",this.iframe.style.pointerEvents="none",this.iframe.style.overflow="hidden";let m=null!=(o=null==(e=this.opts)?void 0:e.scaleX)?o:1,v=null!=(s=null==(n=this.opts)?void 0:n.scaleY)?s:1,g=null!=(a=null==(r=this.opts)?void 0:r.translateX)?a:0,y=null!=(c=null==(i=this.opts)?void 0:i.translateY)?c:0;this.iframe.style.width=`${100*m}% `,this.iframe.style.height=`${100*v}%`,this.iframe.style.transform=`translate(${g}px, ${y}px)`;let b=new URLSearchParams(Object.entries({figureId:this.opts.figureId,ttsPer:this.opts.ttsPer,initMode:"noAudio","cp-inactiveDisconnectSec":null!=(d=this.opts.timeoutSec)?d:130,"cp-preAlertSec":null!=(l=this.opts.disconnectAlertSec)?l:10,mode:"crop",resolutionWidth:null!=(u=this.opts.figureResolutionWidth)?u:1920,resolutionHeight:null!=(f=this.opts.figureResolutionHeight)?f:1080,ttsSpeed:null!=(p=this.opts.speechSpeed)?p:6,"cp-ttsSample":this.opts.ttsSample,"cp-minSplitLen":this.opts.minSplitLen,"cp-ttsModel":this.opts.ttsModel,"cp-positionV2":JSON.stringify(this.opts.position),"cp-ttsLang":ia(this.opts.lang),autoChromaKey:this.opts.autoChromaKey,closeLog:null==(h=this.opts.enableDebugMode)||h,token:this.token}).filter(e=>{let[,n]=e;return null!=n&&""!==n}).reduce((e,n)=>{let[r,i]=n;return e[r]=String(i),e},{})).toString();this.iframe.src=`${this.origin}/cloud/realtime?${b}`},this.refreshRequestId=()=>{this.requestId=r2()},this.onRenderFinished=e=>{this._isRendering=!1,this.isStreamTextRendering=!1,this.emitter.emit("is_rendering_change",!1).catch(r3),this.refreshRequestId(),this.emitter.emit("render_finished",{requestId:e}).catch(r3)}}}function s6(e,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,n)}function s8(e,n){return function(r,i){n(r,i,e)}}s5=function(e,n,r,i){var o,s=arguments.length,a=s<3?n:null===i?i=Object.getOwnPropertyDescriptor(n,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,n,r,i);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(a=(s<3?o(a):s>3?o(n,r,a):o(n,r))||a);return s>3&&a&&Object.defineProperty(n,r,a),a}([eb(),ew()],s5);class s9{static #F=this.ENTRY_EMITTER_NAME="AaaSPilotKitEmitter";constructor(e,n,r,i,o,s){this.opts=e,this.errorManager=n,this.agentService=r,this.asrService=i,this.digitalHumanService=o,this.conversationService=s,this.interruptible=!0,this.isRenderingMultiModConversation=!1,this.isDigitalHumanServiceReady=!1,this.isAsrServiceReady=!1,this.lastReplyStartRequestId=null,this.aiWorkerMessageCache=null,this.multiModAbortControllers=[],this.playWaitForListener=null,this.queryStartTime=0,this.mount=async e=>{var n,r;let i=null!=e?e:null==(n=(r=this.opts).getMountContainer)?void 0:n.call(r);i&&(await Promise.all([this.digitalHumanService.mount(i),this.asrService.preloadDeps()]),this.asrService.start(),this.isAsrServiceReady=!0,this.checkServiceReady())},this.getOptions=()=>this.opts,this.checkNeedsManualActivation=()=>rw()||rS(),this.activateManually=async()=>{if(this.digitalHumanService instanceof s5){let e,n;this.digitalHumanService.cancelMute(),n=(e=new(rb())).getUA(),("WeChat"===e.getBrowser().name||/MicroMessenger/i.test(n))&&(rw()||rS())&&await sP(500)}},this.keepAlive=()=>(this.digitalHumanService.sendSilenceMessage(),this),this.playWaitFor=async(e,n)=>(this.playWaitForListener&&this.digitalHumanService.emitter.off("render_finished",this.playWaitForListener),this.digitalHumanService.isRendering)?await new Promise(r=>{this.playWaitForListener=()=>{n&&!n()?r(!1):(this.digitalHumanService.renderPlainText(e),this.playWaitForListener&&this.digitalHumanService.emitter.off("render_finished",this.playWaitForListener),r(!0))},this.digitalHumanService.emitter.on("render_finished",this.playWaitForListener)}):(this.digitalHumanService.renderPlainText(e),!0),this.playFromFullText=e=>(this.digitalHumanService.renderPlainText(e),this),this.playFromStreamText=(e,n)=>(this.digitalHumanService.renderStreamText(e,n),this),this.mute=e=>(this.asrService.setMutedByUser(e),this.emitter.emit("mute",e).catch(r3),e?(this.asrService.mute(!0),this.conversationService.currentClientConversation&&this.query(this.conversationService.currentClientConversation.text,!0).catch(r3)):this.asrService.muted&&this.asrService.mute(!1),this),this.interrupt=()=>(this.interruptAIWorkerConversation(),this),this.playPrologue=()=>{this.opts.prologue&&this.opts.prologue.length>0?this.playFromFullText(this.opts.prologue):this.agentService.query("").catch(r3)},this.query=async(e,n)=>{if(this.checkServiceReady()){if(this.agentService.sessionId||this.agentService.setSessionId(r2()),this.digitalHumanService.sendSilenceMessage(),this.agentService.queryId||this.agentService.setQueryId(r2()),n){if(this.agentService.checkIsRepeat())return;this.agentService.setLastQueryId(this.agentService.queryId)}if(await this.emitter.emit("asr_message",{text:e,completed:n,id:this.agentService.queryId,sessionId:this.agentService.sessionId}),await this.handleClientConversation(e),n){this.asrService.mute(!0);let n=async()=>{this.agentService.setQueryId(""),this.digitalHumanService.canInterrupt&&(this.asrService.tryUnmuteAsr(),await this.emitter.emit("asr_start"),this.digitalHumanService.emitter.off("render_subtitle",n))};this.digitalHumanService.emitter.on("render_subtitle",n);let r=async()=>{this.agentService.setQueryId(""),this.asrService.tryUnmuteAsr(),await this.emitter.emit("asr_start"),this.digitalHumanService.emitter.off("render_finished",r)};this.digitalHumanService.emitter.on("render_finished",r),this.handleClientConversationCompleted(),this.queryStartTime=performance.now(),await this.agentService.query(e)}}},this.input=e=>(this.digitalHumanService.isRendering&&!this.interruptible||this.query(e,!0).catch(r3),this),this.dispose=()=>(this.agentService.dispose(),this.asrService.dispose(),this.digitalHumanService.dispose(),this.conversationService.dispose(),this.emitter.clearListeners(),this.isDigitalHumanServiceReady=!1,this.isAsrServiceReady=!1,this.aiWorkerMessageCache=null,this.isRenderingMultiModConversation=!1,this.multiModAbortControllers=[],this.lastReplyStartRequestId=null,this),this.setInterruptible=e=>(this.interruptible=e,this),this.checkAudioDevice=async e=>this.asrService.checkAudioDevice(e),this.bindAsrServiceEvents=()=>{this.asrService.emitter.on("start",this.handleAsrServiceStarted),this.asrService.emitter.on("message",this.handleAsrMessage),this.asrService.emitter.on("device_check_completed",this.handleDeviceCheckCompleted)},this.bindAgentServiceEvents=()=>{this.agentService.emitter.on("data",this.handleAgentAnswer),this.agentService.emitter.on("completed",this.handleAgentAnswerCompleted),this.agentService.emitter.on("instruction_received",this.handleAgentInstructionReceived),this.agentService.emitter.on("usage_quota_reached",async e=>{await this.emitter.emit("busy",{...e})}),this.agentService.emitter.on("ttft",this.handleTtft)},this.bindDigitalHumanServiceEvents=()=>{this.digitalHumanService.bindEvents(),this.digitalHumanService.emitter.once("ready").then(()=>{this.isDigitalHumanServiceReady=!0,this.checkServiceReady()}),this.digitalHumanService.emitter.on("render_subtitle",this.aiWorkerSubtitleToConversation),this.digitalHumanService.emitter.on("is_rendering_change",e=>{this.emitter.emit("is_rendering_change",e).catch(r3)}),this.digitalHumanService.emitter.on("render_subtitle",async e=>{await this.emitter.emit("render_start",{...e,sessionId:this.agentService.sessionId,queryId:this.agentService.queryId});let{requestId:n}=e;if(n!==this.lastReplyStartRequestId){this.lastReplyStartRequestId=n;let r=this.agentService.getResponseManager().getLastResponse();this.emitter.emit("reply_start",{agentResponse:r,latency:e.latency,requestId:e.requestId}).catch(r3)}}),this.digitalHumanService.emitter.on("disconnect_alert",e=>{let n=this.digitalHumanService.emitter.on("render_finished",()=>{this.asrService.mute(!0),this.emitter.emit("inactivity",e).catch(r3),n()}),r=this.digitalHumanService.emitter.on("send_silence_message",()=>{n(),r()});this.playFromFullText(this.opts.inactivityPrompt)}),this.digitalHumanService.emitter.on("reach_session_limit",async e=>{this.isDigitalHumanServiceReady&&this.isAsrServiceReady&&await this.emitter.emit("busy",{...e})}),this.digitalHumanService.emitter.on("reconnect_failed",async()=>{await this.emitter.emit("busy",{requestId:"reconnect_failed"})});let e=this.digitalHumanService.emitter.on("render_finished",()=>{this.asrService.tryUnmuteAsr(),e()})},this.bindErrorEvents=()=>{this.errorManager.on(e=>{let n=this.errorManager.createMonitoringError(e);this.emitter.emit("error",e).catch(r3);try{this.weirwood.error.captureException(n)}catch(e){console.error(e)}})},this.bindEvents=()=>{this.bindErrorEvents(),this.bindAsrServiceEvents(),this.bindAgentServiceEvents(),this.bindDigitalHumanServiceEvents()},this.registerFormatters=()=>{var e,n;let r=null!=(e=this.opts.speechFormatters)?e:[],i=null!=(n=this.opts.conversationFormatters)?n:[];for(let e of r)this.digitalHumanService.registerSSMLHandler(e);for(let e of i)this.conversationService.registerAIWorkerConversationFormatter(e)},this.aiWorkerSubtitleToConversation=async e=>{let n=e.subtitle;if(this.isRenderingMultiModConversation)return;let r=this.conversationService;await this.createNewAIWorkerConversation();let i=r.currentAIWorkerConversation;i&&this.handleAIWorkerConversationChange(i);let o=r.runAIWorkerConversationFormatters(n.content);if(null==i||i.appendText(o),n.completed){let e=r.currentAIWorkerConversation;e&&e.markAsEnded(),r.setCurrentConversation(null)}},this.handleAgentAnswer=e=>{let{answer:n}=e;or.isXml(n)?this.handleXmlAgentAnswer(e).catch(r3):(this.aiWorkerMessageCache&&this.playFromStreamText(this.aiWorkerMessageCache,!1),this.aiWorkerMessageCache=n)},this.handleXmlAgentAnswer=async e=>{let{answer:n}=e,r=this.conversationService;await this.createNewAIWorkerConversation();let i=r.currentAIWorkerConversation;if(!i)return;let o=()=>{this.emitter.emit("conversation_change",{...i.toJSON(),text:i.fulltext,completed:!1})};i.emitter.on("content_change",o),this.isRenderingMultiModConversation=!0;let s=r.runAIWorkerConversationFormatters(n),a=i.createContentsFromXmlString(s),c=new AbortController;for(let e of(this.multiModAbortControllers.push(c),a)){if(c.signal.aborted){i.emitter.off("content_change",o);break}if(oi.isTextContent(e)){let n=e.getConfig().content;this.playFromFullText(n),await this.digitalHumanService.emitter.once("render_subtitle")}i.addContentRenderTask(e),i.contents.push(e),await i.emitter.once("queue_empty")}i.markAsEnded(),this.isRenderingMultiModConversation=!1,i.emitter.off("content_change",o),await this.emitter.emit("conversation_change",{...i.toJSON(),text:i.fulltext,completed:!0})},this.createNewAIWorkerConversation=async()=>{let e=this.conversationService;if(!e.currentAIWorkerConversation){let n=oi.create(this.opts);e.setCurrentConversation(n),e.add(n),await this.emitter.emit("conversation_add",n)}},this.handleAgentAnswerCompleted=async()=>{if(this.aiWorkerMessageCache){this.playFromStreamText(this.aiWorkerMessageCache,!0),this.aiWorkerMessageCache=null;return}this.agentService.setQueryId(""),this.asrService.tryUnmuteAsr(),await this.emitter.emit("asr_start")},this.handleAgentInstructionReceived=e=>{this.emitter.emit("instruction_received",e).catch(r3)},this.handleTtft=async e=>{let n=e.timestamp-this.queryStartTime;await this.emitter.emit("ttft",{...e,totalLatency:n})},this.handleAsrServiceStarted=async()=>{await sP(800),this.asrService.mute(!0),this.interruptible&&this.emitter.once("render_start").then(()=>{this.asrService.tryUnmuteAsr()})},this.handleAsrMessage=async e=>{this.digitalHumanService.isRendering&&!this.digitalHumanService.canInterrupt||this.asrService.mutedByUser||e.type===cY.EMessageType.Query&&(this.opts.enableDebugMode&&console.log("message",e,this.agentService.sessionId,Date.now()),await this.query(it(e.data,this.opts.hotWordReplacementRules),e.completed))},this.handleDeviceCheckCompleted=async e=>{await this.emitter.emit("microphone_available",{available:e.available,error:e.error,userMessage:e.error?sC(e.error):void 0,devices:e.devices,permissionState:e.permissionState})},this.handleClientConversation=async e=>{let n=this.conversationService;if(!n.currentClientConversation){let e=il.create(this.opts);n.setCurrentConversation(e),n.add(e),await this.emitter.emit("conversation_add",e)}let r=n.currentClientConversation;(this.digitalHumanService.isRendering||this.isRenderingMultiModConversation)&&this.interruptAIWorkerConversation(),null==r||r.appendText(e)},this.handleClientConversationCompleted=()=>{this.conversationService.setCurrentConversation(null)},this.interruptAIWorkerConversation=()=>{for(let e of(this.aiWorkerMessageCache&&this.digitalHumanService.renderStreamText(this.aiWorkerMessageCache,!0),this.multiModAbortControllers))e.abort();this.multiModAbortControllers=[];let e=this.digitalHumanService.GetRequestId();this.digitalHumanService.interrupt(),this.conversationService.interruptAll(),this.agentService.abort(),this.aiWorkerMessageCache=null,this.emitter.emit("interrupt",{requestId:e,queryId:this.agentService.queryId?this.agentService.queryId:this.agentService.lastQueryId,sessionId:this.agentService.sessionId}).catch(r3)},this.checkServiceReady=()=>!!this.isDigitalHumanServiceReady&&!!this.isAsrServiceReady&&(this.emitter.emit("ready").catch(r3),!0),this.handleAIWorkerConversationChange=e=>{let n=r=>{this.emitter.emit("conversation_change",{...e.toJSON(),text:e.fulltext,completed:r.completed}).catch(r3),r.completed&&e.emitter.off("content_change",n)},r=()=>{e.emitter.off("interrupt",r),e.emitter.off("content_change",n)};e.emitter.on("content_change",n),e.emitter.on("interrupt",r)},this.weirwood=new sw({common:{buildid:"AAAS_PILOT_KIT_1.0.0",token:"8f3abab4743f4114bd632999224323af"},error:{collectWindowErrors:!1,collectUnhandledRejections:!1,collectResourceLoadErrors:!1,ignoreUrls:["localhost","127.0.0.1"]},perf:{disable:!0}}),this.emitter=new np(this.opts.enableDebugMode?{debug:{name:s9.ENTRY_EMITTER_NAME,enabled:!0}}:void 0),this.bindEvents(),this.registerFormatters(),this.interruptible=this.opts.interruptible}}s9=function(e,n,r,i){var o,s=arguments.length,a=s<3?n:null===i?i=Object.getOwnPropertyDescriptor(n,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,n,r,i);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(a=(s<3?o(a):s>3?o(n,r,a):o(n,r))||a);return s>3&&a&&Object.defineProperty(n,r,a),a}([eb(),s8(0,ev(nm.IOptions)),s8(0,eT()),s8(1,ev(nm.ErrorManager)),s8(2,ev(nm.AgentService)),s8(3,ev(nm.ASRService)),s8(4,ev(nm.DigitalHumanService)),s8(5,ev(nm.ConversationService)),s6("design:type",Function),s6("design:paramtypes",["undefined"==typeof IResolvedOptions?Object:IResolvedOptions,void 0===rQ?Object:rQ,"undefined"==typeof AS?Object:AS,void 0===sO?Object:sO,void 0===sM?Object:sM,void 0===oa?Object:oa])],s9);let s7=[239,187,191],ae=e=>async(n,r,i)=>{if(!i.ok||!i.body)return;let o=!1,s=n=>{var r;o||(o=!0,null==(r=e.onCompleted)||r.call(e,n))},a=i.body.getReader(),c=new TextDecoder("utf8"),d=function(e){let n,r,i,o,s,a,c;return d(),{feed:function(d){var l;r=r?r+d:d,n&&(l=r,s7.every((e,n)=>l.charCodeAt(n)===e))&&(r=r.slice(s7.length)),n=!1;let u=r.length,f=0,p=!1;for(;f<u;){let n;p&&("\n"===r[f]&&++f,p=!1);let d=-1,l=o;for(let e=i;d<0&&e<u;++e)":"===(n=r[e])&&l<0?l=e-f:"\r"===n?(p=!0,d=e-f):"\n"===n&&(d=e-f);if(d<0){i=u-f,o=l;break}i=0,o=-1,function(n,r,i,o){if(0===o){c.length>0&&(e({type:"event",id:s,event:a||void 0,data:c.slice(0,-1)}),c="",s=void 0),a=void 0;return}let d=i<0,l=n.slice(r,r+(d?o:i)),u=0;u=d?o:" "===n[r+i+1]?i+2:i+1;let f=r+u,p=o-u,h=n.slice(f,f+p).toString();if("data"===l)c+=h?"".concat(h,"\n"):"\n";else if("event"===l)a=h;else if("id"!==l||h.includes("\0")){if("retry"===l){let n=parseInt(h,10);Number.isNaN(n)||e({type:"reconnect-interval",value:n})}}else s=h}(r,f,l,d),f+=d+1}f===u?r="":f>0&&(r=r.slice(f))},reset:d};function d(){n=!0,r="",i=0,o=-1,s=void 0,a=void 0,c=""}}(n=>{var r,i,o;if("event"===n.type&&(null==(r=e.onMessage)||r.call(e,n)),"event"===n.type&&n.data)for(let r of(null==(i=e.onEvent)||i.call(e,n),n.data.split("\n")))e.onData(r);else"reconnect-interval"===n.type&&(null==(o=e.onReconnectInterval)||o.call(e,n.value))}),l=()=>{a.read().then(e=>{e.done?s():(d.feed(c.decode(e.value,{stream:!0})),l())}).catch(r=>{var i;if(n.signal.aborted){null==(i=e.onAborted)||i.call(e);return}s(r)})};return l(),i};(c0=(cZ=c6||(c6={})).EAiobAction||(cZ.EAiobAction={}))[c0.silence=1]="silence",c0[c0.Interrupt=2]="Interrupt",c0[c0.Hangup=3]="Hangup",(c1=cZ.EResponseType||(cZ.EResponseType={}))[c1.Welcome=1]="Welcome",c1[c1.Normal=2]="Normal",c1[c1.Command=3]="Command",c1[c1.TakeOver=4]="TakeOver",(c2=cZ.ETextType||(cZ.ETextType={}))[c2.unit=0]="unit",c2[c2.llm=1]="llm";class at extends r7{static #F=this.REQUEST_URI="aicc-service/aiob-server/text/stream/query2";constructor(...e){super(...e),this.query=async e=>{this.resetTtftFlag(),this.abortController=new AbortController;let n=ae({onData:e=>{try{let n=JSON.parse(e);this.onResponse(n);let{answer:r,sessionId:i,action:o}=n;if(i&&(this.conversationSessionId=i),o===c6.EAiobAction.Hangup)return void this.onHangup({sessionId:this.conversationSessionId});r&&!this.hasTtftEmitted&&this.onTtft({sessionId:this.conversationSessionId,queryId:this.queryId,firstToken:r,timestamp:performance.now()}),r&&this.onData({sessionId:this.conversationSessionId,answer:r})}catch(e){e instanceof Error&&this.errorManager.handleError(new rm(e.message,{sessionId:this.conversationSessionId}))}},onCompleted:()=>{this.onCompleted({sessionId:this.conversationSessionId})}}),r=this.opts.agentConfig;if(!(null==r?void 0:r.robotId))return void this.errorManager.handleError(new rh(`调用 Agent API ${at.REQUEST_URI} 时必须传入 robotId 参数,请确认后重试。`));let i={query:e,sessionId:this.conversationSessionId,robotId:r.robotId,isComplete:1,queryId:this.queryId};try{var o;await this.request.client.post(at.REQUEST_URI,{retry:0,timeout:3e5,signal:null==(o=this.abortController)?void 0:o.signal,hooks:{afterResponse:[n]},json:{...i}})}catch(e){e instanceof nV?this.onTimeout({sessionId:this.conversationSessionId}):e instanceof Error&&this.errorManager.handleError(new rv(e.message,{sessionId:this.conversationSessionId}))}},this.hangup=async()=>{let e=this.opts.agentConfig;if(!(null==e?void 0:e.robotId))return void await this.errorManager.handleError(new rh(`调用 Agent API ${at.REQUEST_URI} 时必须传入 robotId 参数,请确认后重试。`));let n={query:"",robotId:e.robotId,sessionId:this.conversationSessionId,action:c6.EAiobAction.Hangup,isComplete:1};try{await this.request.client.post(at.REQUEST_URI,{retry:0,timeout:3e5,json:{...n},keepalive:!0})}catch(e){e instanceof Error&&this.errorManager.handleError(new rv(e.message,{sessionId:this.conversationSessionId}))}},this.dispose=()=>{this._dispose(),this.hangup().finally(()=>{this.conversationSessionId=""})}}}at=function(e,n,r,i){var o,s=arguments.length,a=s<3?n:null===i?i=Object.getOwnPropertyDescriptor(n,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,n,r,i);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(a=(s<3?o(a):s>3?o(n,r,a):o(n,r))||a);return s>3&&a&&Object.defineProperty(n,r,a),a}([eb(),ew()],at),(c4=(c3=c8||(c8={})).EReplyType||(c3.EReplyType={}))[c4.PlainText=1]="PlainText",c4[c4.RichText=3]="RichText",c4[c4.Image=4]="Image",c4[c4.List=8]="List",c3.REPLY_TYPE_MAPPING={1:"plainText",3:"richText",8:"list",4:"image"};class an extends r7{static #F=this.REQUEST_URI="csp-service/online/core/v5/stream/query";constructor(...e){super(...e),this.query=async e=>{var n,r;this.resetTtftFlag(),this.abortController=new AbortController;let i=ae({onData:e=>{try{var n,r;let i=JSON.parse(e);this.onResponse(i);let o=i.answer[0],s=null!=(r=null==(n=o.reply)?void 0:n.text)?r:"";s&&!this.hasTtftEmitted&&this.onTtft({sessionId:this.conversationSessionId,queryId:this.queryId,firstToken:s,timestamp:performance.now()}),o&&s?this.onData({sessionId:this.conversationSessionId,answer:s}):o&&o.instruction&&(function(e){if("object"!=typeof e||null===e||"[object Object]"!==Object.prototype.toString.call(e))return!1;let n=Object.getPrototypeOf(e);return null===n||!!(Object.prototype.hasOwnProperty.call(n,"constructor")&&"function"==typeof n.constructor)&&Function.prototype.toString.call(n.constructor)===Function.prototype.toString.call(Object)}(o.instruction)?this.onInstructionReceived({sessionId:this.conversationSessionId,instruction:o.instruction}):this.errorManager.handleError(new rg("指令格式非法,请检查后重试",{sessionId:this.conversationSessionId})))}catch(e){e instanceof Error&&this.errorManager.handleError(new rm(e.message,{sessionId:this.conversationSessionId}))}},onCompleted:()=>{this.onCompleted({sessionId:this.conversationSessionId})}});this.conversationSessionId||(this.conversationSessionId=r2());let o=null==(n=this.opts.agentConfig)?void 0:n.token;if(!o)return void this.errorManager.handleError(new rh(`调用 Agent API ${an.REQUEST_URI} 时必须传入 token 参数,请确认后重试。`));let s={query:e,sessionId:this.conversationSessionId};try{await this.request.client.post(an.REQUEST_URI,{headers:{token:o},retry:0,timeout:3e5,signal:null==(r=this.abortController)?void 0:r.signal,hooks:{afterResponse:[i]},json:{...s}})}catch(e){e instanceof nV?this.onTimeout({sessionId:this.conversationSessionId}):e instanceof Error&&this.errorManager.handleError(new rv(e.message,{sessionId:this.conversationSessionId}))}},this.dispose=()=>{this._dispose()}}}function ar(e,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,n)}function ai(e,n){return function(r,i){n(r,i,e)}}an=function(e,n,r,i){var o,s=arguments.length,a=s<3?n:null===i?i=Object.getOwnPropertyDescriptor(n,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,n,r,i);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(a=(s<3?o(a):s>3?o(n,r,a):o(n,r))||a);return s>3&&a&&Object.defineProperty(n,r,a),a}([eb(),ew()],an);class ao{constructor(e,n){this.opts=e,this.errorManager=n,this.started=!1,this.sessionId="",this._dispose=()=>{this.started=!1,this.sessionId=""}}}ao=function(e,n,r,i){var o,s=arguments.length,a=s<3?n:null===i?i=Object.getOwnPropertyDescriptor(n,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,n,r,i);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(a=(s<3?o(a):s>3?o(n,r,a):o(n,r))||a);return s>3&&a&&Object.defineProperty(n,r,a),a}([eb(),ai(0,ev(nm.IOptions)),ai(0,eT()),ai(1,ev(nm.ErrorManager)),ar("design:type",Function),ar("design:paramtypes",["undefined"==typeof IResolvedOptions?Object:IResolvedOptions,void 0===rQ?Object:rQ])],ao);let as=e=>{if(e)return"string"==typeof e?e:e.id};class aa extends ao{static #F=this.ONLINE_PREFIX_URL="https://ky.cloud.baidu.com/employee-console";static #eh=this.SANDBOX_PREFIX_URL="https://ai.agent.kaywang.cn/api";static #eK=this.AUTH_URL="https://ky.cloud.baidu.com/employee-console/v1/access/r/ai-agent/get-authorization";get prefixUrl(){return"production"===this.opts.env?aa.ONLINE_PREFIX_URL:aa.SANDBOX_PREFIX_URL}loginBRTC(e){if("function"!=typeof window.BRTC_Start)throw Error("BRTC_Start global function is missing. Ensure baidu.rtc.sdk.js is loaded.");let n={aspublisher:!0,usingdatachannel:!0,usingvideo:!1,usingaudio:!0,showvideobps:!1,autosubscribe:!0,autoplaymuted:!1,autopublish:!0,showspinner:!1,shownovideo:!1,userevent:!0,sessionevent:!0,logintimeout:1e4,linkdownevent:r3,linkupevent:r3,logintimeoutevent:r3,mediastate:r3,remotevideoon:r3,remotevideooff:r3,remotevideocoming:r3,remotevideoloading:r3,remotevideoconnected_state:r3,remotevideoleaving:r3,remotevideounpublished:r3,localvideoconnected_state:r3,localvideopublished_ok:r3,destroyed:r3,onlocalstream:r3,onlocalstream_end:r3,remotevideo_closed:r3,onmessage:e.onmessage,userevent_joinedroom:e.userevent_joinedroom,userevent_leavingroom:e.userevent_leavingroom,remotemediastating:e.remotemediastating,remotevideoviewid:as(e.remotevideoviewid),localvideoviewid:as(e.localvideoviewid)};window.BRTC_Start({...n,...e})}constructor(...e){super(...e),this.currentAppId="",this.Start=async e=>{var n,r,i,o,s;this.currentAppId=this.opts.rtcID;let a=this.prefixUrl,c={};"production"===this.opts.env&&(c.authorization=await this.getAuthToken("/api/v1/aiagent/generateAIAgentCall"));let d="production"===this.opts.env?"/v1/open/ai-agent/generateAIAgentCall":"/v1/aiagent/generateAIAgentCall",l=await n$.post(`${a}${d}`,{json:{app_id:this.currentAppId,quick_start:!0,config:JSON.stringify({...e.cfg})},headers:c}).json();if(!l.ai_agent_instance_id)throw Error("ai_agent_instance_id missing in response");this.started=!0,this.sessionId=l.ai_agent_instance_id;let u=this.sessionId,f=null!=(s=null==(n=l.context)?void 0:n.token)?s:"";(null==(r=l.context)?void 0:r.uid)&&(u=l.context.uid),(null==(i=l.context)?void 0:i.appid)&&(this.currentAppId=l.context.appid),this.loginBRTC({...e,appid:this.currentAppId,roomname:this.sessionId,userid:u,token:f}),null==(o=e.success)||o.call(e)},this.Stop=async()=>{if(this.started){this.started=!1;try{let e=this.prefixUrl,n={};"production"===this.opts.env&&(n.authorization=await this.getAuthToken("/api/v1/aiagent/stopAIAgentInstance"));let r="production"===this.opts.env?"/v1/open/ai-agent/stopAIAgentInstance":"/v1/aiagent/stopAIAgentInstance";await n$.post(`${e}${r}`,{json:{app_id:this.currentAppId,ai_agent_instance_id:this.sessionId},headers:n})}catch(e){if(e instanceof nv)throw Error(`stopAIAgentInstance failed (${e.response.status})`);throw e}"function"==typeof window.BRTC_Stop&&window.BRTC_Stop()}},this.Mute=e=>{"function"==typeof window.BRTC_MuteMicphone&&window.BRTC_MuteMicphone(e)},this.GetSessionID=()=>this.sessionId,this.Dispose=()=>{this._dispose()},this.getAuthToken=async e=>{try{let{data:n}=await n$.post(aa.AUTH_URL,{json:{http_method:"POST",path:e,headers:{host:"rtc-aiagent.baidubce.com"}}}).json();return n}catch(e){if(e instanceof nv)throw Error(`getAuthToken failed (${e.response.status})`);throw e}}}}aa=function(e,n,r,i){var o,s=arguments.length,a=s<3?n:null===i?i=Object.getOwnPropertyDescriptor(n,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,n,r,i);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(a=(s<3?o(a):s>3?o(n,r,a):o(n,r))||a);return s>3&&a&&Object.defineProperty(n,r,a),a}([eb(),ew()],aa),__webpack_require__("../../node_modules/baidurtc/dist/baidu.rtc.sdk.js");let ac=!0,ad=!0;function al(e,n,r){let i=e.match(n);return i&&i.length>=r&&parseFloat(i[r],10)}function au(e,n,r){if(!e.RTCPeerConnection)return;let i=e.RTCPeerConnection.prototype,o=i.addEventListener;i.addEventListener=function(e,i){if(e!==n)return o.apply(this,arguments);let s=e=>{let n=r(e);n&&(i.handleEvent?i.handleEvent(n):i(n))};return this._eventMap=this._eventMap||{},this._eventMap[n]||(this._eventMap[n]=new Map),this._eventMap[n].set(i,s),o.apply(this,[e,s])};let s=i.removeEventListener;i.removeEventListener=function(e,r){if(e!==n||!this._eventMap||!this._eventMap[n]||!this._eventMap[n].has(r))return s.apply(this,arguments);let i=this._eventMap[n].get(r);return this._eventMap[n].delete(r),0===this._eventMap[n].size&&delete this._eventMap[n],0===Object.keys(this._eventMap).length&&delete this._eventMap,s.apply(this,[e,i])},Object.defineProperty(i,"on"+n,{get(){return this["_on"+n]},set(e){this["_on"+n]&&(this.removeEventListener(n,this["_on"+n]),delete this["_on"+n]),e&&this.addEventListener(n,this["_on"+n]=e)},enumerable:!0,configurable:!0})}function af(e){return"boolean"!=typeof e?Error("Argument type: "+typeof e+". Please use a boolean."):(ac=e,e?"adapter.js logging disabled":"adapter.js logging enabled")}function ap(e){return"boolean"!=typeof e?Error("Argument type: "+typeof e+". Please use a boolean."):(ad=!e,"adapter.js deprecation warnings "+(e?"disabled":"enabled"))}function ah(){"object"==typeof window&&(ac||"undefined"!=typeof console&&"function"==typeof console.log&&console.log.apply(console,arguments))}function am(e,n){ad&&console.warn(e+" is deprecated, please use "+n+" instead.")}function av(e){return"[object Object]"===Object.prototype.toString.call(e)}function ag(e,n,r){let i=r?"outbound-rtp":"inbound-rtp",o=new Map;if(null===n)return o;let s=[];return e.forEach(e=>{"track"===e.type&&e.trackIdentifier===n.id&&s.push(e)}),s.forEach(n=>{e.forEach(r=>{r.type===i&&r.trackId===n.id&&function e(n,r,i){!r||i.has(r.id)||(i.set(r.id,r),Object.keys(r).forEach(o=>{o.endsWith("Id")?e(n,n.get(r[o]),i):o.endsWith("Ids")&&r[o].forEach(r=>{e(n,n.get(r),i)})}))}(e,r,o)})}),o}function ay(e,n){let r=e&&e.navigator;if(!r.mediaDevices)return;let i=function(e){if("object"!=typeof e||e.mandatory||e.optional)return e;let n={};return Object.keys(e).forEach(r=>{if("require"===r||"advanced"===r||"mediaSource"===r)return;let i="object"==typeof e[r]?e[r]:{ideal:e[r]};void 0!==i.exact&&"number"==typeof i.exact&&(i.min=i.max=i.exact);let o=function(e,n){return e?e+n.charAt(0).toUpperCase()+n.slice(1):"deviceId"===n?"sourceId":n};if(void 0!==i.ideal){n.optional=n.optional||[];let e={};"number"==typeof i.ideal?(e[o("min",r)]=i.ideal,n.optional.push(e),(e={})[o("max",r)]=i.ideal):e[o("",r)]=i.ideal,n.optional.push(e)}void 0!==i.exact&&"number"!=typeof i.exact?(n.mandatory=n.mandatory||{},n.mandatory[o("",r)]=i.exact):["min","max"].forEach(e=>{void 0!==i[e]&&(n.mandatory=n.mandatory||{},n.mandatory[o(e,r)]=i[e])})}),e.advanced&&(n.optional=(n.optional||[]).concat(e.advanced)),n},o=function(e,o){if(n.version>=61)return o(e);if((e=JSON.parse(JSON.stringify(e)))&&"object"==typeof e.audio){let n=function(e,n,r){n in e&&!(r in e)&&(e[r]=e[n],delete e[n])};n((e=JSON.parse(JSON.stringify(e))).audio,"autoGainControl","googAutoGainControl"),n(e.audio,"noiseSuppression","googNoiseSuppression"),e.audio=i(e.audio)}if(e&&"object"==typeof e.video){let s=e.video.facingMode;s=s&&("object"==typeof s?s:{ideal:s});let a=n.version<66;if(s&&("user"===s.exact||"environment"===s.exact||"user"===s.ideal||"environment"===s.ideal)&&!(r.mediaDevices.getSupportedConstraints&&r.mediaDevices.getSupportedConstraints().facingMode&&!a)){let n;if(delete e.video.facingMode,"environment"===s.exact||"environment"===s.ideal?n=["back","rear"]:("user"===s.exact||"user"===s.ideal)&&(n=["front"]),n)return r.mediaDevices.enumerateDevices().then(r=>{let a=(r=r.filter(e=>"videoinput"===e.kind)).find(e=>n.some(n=>e.label.toLowerCase().includes(n)));return!a&&r.length&&n.includes("back")&&(a=r[r.length-1]),a&&(e.video.deviceId=s.exact?{exact:a.deviceId}:{ideal:a.deviceId}),e.video=i(e.video),ah("chrome: "+JSON.stringify(e)),o(e)})}e.video=i(e.video)}return ah("chrome: "+JSON.stringify(e)),o(e)},s=function(e){return n.version>=64?e:{name:({PermissionDeniedError:"NotAllowedError",PermissionDismissedError:"NotAllowedError",InvalidStateError:"NotAllowedError",DevicesNotFoundError:"NotFoundError",ConstraintNotSatisfiedError:"OverconstrainedError",TrackStartError:"NotReadableError",MediaDeviceFailedDueToShutdown:"NotAllowedError",MediaDeviceKillSwitchOn:"NotAllowedError",TabCaptureError:"AbortError",ScreenCaptureError:"AbortError",DeviceCaptureError:"AbortError"})[e.name]||e.name,message:e.message,constraint:e.constraint||e.constraintName,toString(){return this.name+(this.message&&": ")+this.message}}};if(r.getUserMedia=(function(e,n,i){o(e,e=>{r.webkitGetUserMedia(e,n,e=>{i&&i(s(e))})})}).bind(r),r.mediaDevices.getUserMedia){let e=r.mediaDevices.getUserMedia.bind(r.mediaDevices);r.mediaDevices.getUserMedia=function(n){return o(n,n=>e(n).then(e=>{if(n.audio&&!e.getAudioTracks().length||n.video&&!e.getVideoTracks().length)throw e.getTracks().forEach(e=>{e.stop()}),new DOMException("","NotFoundError");return e},e=>Promise.reject(s(e))))}}}function ab(e){e.MediaStream=e.MediaStream||e.webkitMediaStream}function a_(e){if("object"!=typeof e||!e.RTCPeerConnection||"ontrack"in e.RTCPeerConnection.prototype)au(e,"track",e=>(e.transceiver||Object.defineProperty(e,"transceiver",{value:{receiver:e.receiver}}),e));else{Object.defineProperty(e.RTCPeerConnection.prototype,"ontrack",{get(){return this._ontrack},set(e){this._ontrack&&this.removeEventListener("track",this._ontrack),this.addEventListener("track",this._ontrack=e)},enumerable:!0,configurable:!0});let n=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){return this._ontrackpoly||(this._ontrackpoly=n=>{n.stream.addEventListener("addtrack",r=>{let i;i=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find(e=>e.track&&e.track.id===r.track.id):{track:r.track};let o=new Event("track");o.track=r.track,o.receiver=i,o.transceiver={receiver:i},o.streams=[n.stream],this.dispatchEvent(o)}),n.stream.getTracks().forEach(r=>{let i;i=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find(e=>e.track&&e.track.id===r.id):{track:r};let o=new Event("track");o.track=r,o.receiver=i,o.transceiver={receiver:i},o.streams=[n.stream],this.dispatchEvent(o)})},this.addEventListener("addstream",this._ontrackpoly)),n.apply(this,arguments)}}}function aw(e){if("object"==typeof e&&e.RTCPeerConnection&&!("getSenders"in e.RTCPeerConnection.prototype)&&"createDTMFSender"in e.RTCPeerConnection.prototype){let n=function(e,n){return{track:n,get dtmf(){return void 0===this._dtmf&&("audio"===n.kind?this._dtmf=e.createDTMFSender(n):this._dtmf=null),this._dtmf},_pc:e}};if(!e.RTCPeerConnection.prototype.getSenders){e.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};let r=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,i){let o=r.apply(this,arguments);return o||(o=n(this,e),this._senders.push(o)),o};let i=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){i.apply(this,arguments);let n=this._senders.indexOf(e);-1!==n&&this._senders.splice(n,1)}}let r=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._senders=this._senders||[],r.apply(this,[e]),e.getTracks().forEach(e=>{this._senders.push(n(this,e))})};let i=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){this._senders=this._senders||[],i.apply(this,[e]),e.getTracks().forEach(e=>{let n=this._senders.find(n=>n.track===e);n&&this._senders.splice(this._senders.indexOf(n),1)})}}else if("object"==typeof e&&e.RTCPeerConnection&&"getSenders"in e.RTCPeerConnection.prototype&&"createDTMFSender"in e.RTCPeerConnection.prototype&&e.RTCRtpSender&&!("dtmf"in e.RTCRtpSender.prototype)){let n=e.RTCPeerConnection.prototype.getSenders;e.RTCPeerConnection.prototype.getSenders=function(){let e=n.apply(this,[]);return e.forEach(e=>e._pc=this),e},Object.defineProperty(e.RTCRtpSender.prototype,"dtmf",{get(){return void 0===this._dtmf&&("audio"===this.track.kind?this._dtmf=this._pc.createDTMFSender(this.track):this._dtmf=null),this._dtmf}})}}function aS(e){if(!("object"==typeof e&&e.RTCPeerConnection&&e.RTCRtpSender&&e.RTCRtpReceiver))return;if(!("getStats"in e.RTCRtpSender.prototype)){let n=e.RTCPeerConnection.prototype.getSenders;n&&(e.RTCPeerConnection.prototype.getSenders=function(){let e=n.apply(this,[]);return e.forEach(e=>e._pc=this),e});let r=e.RTCPeerConnection.prototype.addTrack;r&&(e.RTCPeerConnection.prototype.addTrack=function(){let e=r.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){let e=this;return this._pc.getStats().then(n=>ag(n,e.track,!0))}}if(!("getStats"in e.RTCRtpReceiver.prototype)){let n=e.RTCPeerConnection.prototype.getReceivers;n&&(e.RTCPeerConnection.prototype.getReceivers=function(){let e=n.apply(this,[]);return e.forEach(e=>e._pc=this),e}),au(e,"track",e=>(e.receiver._pc=e.srcElement,e)),e.RTCRtpReceiver.prototype.getStats=function(){let e=this;return this._pc.getStats().then(n=>ag(n,e.track,!1))}}if(!("getStats"in e.RTCRtpSender.prototype&&"getStats"in e.RTCRtpReceiver.prototype))return;let n=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof e.MediaStreamTrack){let e,n,r,i=arguments[0];return(this.getSenders().forEach(n=>{n.track===i&&(e?r=!0:e=n)}),this.getReceivers().forEach(e=>(e.track===i&&(n?r=!0:n=e),e.track===i)),r||e&&n)?Promise.reject(new DOMException("There are more than one sender or receiver for the track.","InvalidAccessError")):e?e.getStats():n?n.getStats():Promise.reject(new DOMException("There is no sender or receiver for the track.","InvalidAccessError"))}return n.apply(this,arguments)}}function aR(e){e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map(e=>this._shimmedLocalStreams[e][0])};let n=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,r){if(!r)return n.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};let i=n.apply(this,arguments);return this._shimmedLocalStreams[r.id]?-1===this._shimmedLocalStreams[r.id].indexOf(i)&&this._shimmedLocalStreams[r.id].push(i):this._shimmedLocalStreams[r.id]=[r,i],i};let r=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._shimmedLocalStreams=this._shimmedLocalStreams||{},e.getTracks().forEach(e=>{if(this.getSenders().find(n=>n.track===e))throw new DOMException("Track already exists.","InvalidAccessError")});let n=this.getSenders();r.apply(this,arguments);let i=this.getSenders().filter(e=>-1===n.indexOf(e));this._shimmedLocalStreams[e.id]=[e].concat(i)};let i=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[e.id],i.apply(this,arguments)};let o=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},e&&Object.keys(this._shimmedLocalStreams).forEach(n=>{let r=this._shimmedLocalStreams[n].indexOf(e);-1!==r&&this._shimmedLocalStreams[n].splice(r,1),1===this._shimmedLocalStreams[n].length&&delete this._shimmedLocalStreams[n]}),o.apply(this,arguments)}}function aT(e,n){if(!e.RTCPeerConnection)return;if(e.RTCPeerConnection.prototype.addTrack&&n.version>=65)return aR(e);let r=e.RTCPeerConnection.prototype.getLocalStreams;e.RTCPeerConnection.prototype.getLocalStreams=function(){let e=r.apply(this);return this._reverseStreams=this._reverseStreams||{},e.map(e=>this._reverseStreams[e.id])};let i=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(n){if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},n.getTracks().forEach(e=>{if(this.getSenders().find(n=>n.track===e))throw new DOMException("Track already exists.","InvalidAccessError")}),!this._reverseStreams[n.id]){let r=new e.MediaStream(n.getTracks());this._streams[n.id]=r,this._reverseStreams[r.id]=n,n=r}i.apply(this,[n])};let o=e.RTCPeerConnection.prototype.removeStream;function s(e,n){let r=n.sdp;return Object.keys(e._reverseStreams||[]).forEach(n=>{let i=e._reverseStreams[n],o=e._streams[i.id];r=r.replace(RegExp(o.id,"g"),i.id)}),new RTCSessionDescription({type:n.type,sdp:r})}e.RTCPeerConnection.prototype.removeStream=function(e){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},o.apply(this,[this._streams[e.id]||e]),delete this._reverseStreams[this._streams[e.id]?this._streams[e.id].id:e.id],delete this._streams[e.id]},e.RTCPeerConnection.prototype.addTrack=function(n,r){if("closed"===this.signalingState)throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");let i=[].slice.call(arguments,1);if(1!==i.length||!i[0].getTracks().find(e=>e===n))throw new DOMException("The adapter.js addTrack polyfill only supports a single stream which is associated with the specified track.","NotSupportedError");if(this.getSenders().find(e=>e.track===n))throw new DOMException("Track already exists.","InvalidAccessError");this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};let o=this._streams[r.id];if(o)o.addTrack(n),Promise.resolve().then(()=>{this.dispatchEvent(new Event("negotiationneeded"))});else{let i=new e.MediaStream([n]);this._streams[r.id]=i,this._reverseStreams[i.id]=r,this.addStream(i)}return this.getSenders().find(e=>e.track===n)},["createOffer","createAnswer"].forEach(function(n){let r=e.RTCPeerConnection.prototype[n];e.RTCPeerConnection.prototype[n]=({[n](){let e=arguments,n=arguments.length&&"function"==typeof arguments[0];return n?r.apply(this,[n=>{let r=s(this,n);e[0].apply(null,[r])},n=>{e[1]&&e[1].apply(null,n)},arguments[2]]):r.apply(this,arguments).then(e=>s(this,e))}})[n]});let a=e.RTCPeerConnection.prototype.setLocalDescription;e.RTCPeerConnection.prototype.setLocalDescription=function(){var e,n;let r;return arguments.length&&arguments[0].type?(arguments[0]=(e=this,n=arguments[0],r=n.sdp,Object.keys(e._reverseStreams||[]).forEach(n=>{let i=e._reverseStreams[n],o=e._streams[i.id];r=r.replace(RegExp(i.id,"g"),o.id)}),new RTCSessionDescription({type:n.type,sdp:r})),a.apply(this,arguments)):a.apply(this,arguments)};let c=Object.getOwnPropertyDescriptor(e.RTCPeerConnection.prototype,"localDescription");Object.defineProperty(e.RTCPeerConnection.prototype,"localDescription",{get(){let e=c.get.apply(this);return""===e.type?e:s(this,e)}}),e.RTCPeerConnection.prototype.removeTrack=function(e){let n;if("closed"===this.signalingState)throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");if(!e._pc)throw new DOMException("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.","TypeError");if(e._pc!==this)throw new DOMException("Sender was not created by this connection.","InvalidAccessError");this._streams=this._streams||{},Object.keys(this._streams).forEach(r=>{this._streams[r].getTracks().find(n=>e.track===n)&&(n=this._streams[r])}),n&&(1===n.getTracks().length?this.removeStream(this._reverseStreams[n.id]):n.removeTrack(e.track),this.dispatchEvent(new Event("negotiationneeded")))}}function aC(e,n){!e.RTCPeerConnection&&e.webkitRTCPeerConnection&&(e.RTCPeerConnection=e.webkitRTCPeerConnection),e.RTCPeerConnection&&n.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(n){let r=e.RTCPeerConnection.prototype[n];e.RTCPeerConnection.prototype[n]=({[n](){return arguments[0]=new("addIceCandidate"===n?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),r.apply(this,arguments)}})[n]})}function ax(e,n){au(e,"negotiationneeded",e=>{let r=e.target;if(!(n.version<72)&&(!r.getConfiguration||"plan-b"!==r.getConfiguration().sdpSemantics)||"stable"===r.signalingState)return e})}function aE(e,n){let r=e&&e.navigator,i=e&&e.MediaStreamTrack;if(r.getUserMedia=function(e,n,i){am("navigator.getUserMedia","navigator.mediaDevices.getUserMedia"),r.mediaDevices.getUserMedia(e).then(n,i)},!(n.version>55&&"autoGainControl"in r.mediaDevices.getSupportedConstraints())){let e=function(e,n,r){n in e&&!(r in e)&&(e[r]=e[n],delete e[n])},n=r.mediaDevices.getUserMedia.bind(r.mediaDevices);if(r.mediaDevices.getUserMedia=function(r){return"object"==typeof r&&"object"==typeof r.audio&&(e((r=JSON.parse(JSON.stringify(r))).audio,"autoGainControl","mozAutoGainControl"),e(r.audio,"noiseSuppression","mozNoiseSuppression")),n(r)},i&&i.prototype.getSettings){let n=i.prototype.getSettings;i.prototype.getSettings=function(){let r=n.apply(this,arguments);return e(r,"mozAutoGainControl","autoGainControl"),e(r,"mozNoiseSuppression","noiseSuppression"),r}}if(i&&i.prototype.applyConstraints){let n=i.prototype.applyConstraints;i.prototype.applyConstraints=function(r){return"audio"===this.kind&&"object"==typeof r&&(e(r=JSON.parse(JSON.stringify(r)),"autoGainControl","mozAutoGainControl"),e(r,"noiseSuppression","mozNoiseSuppression")),n.apply(this,[r])}}}}function aO(e,n){e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||e.navigator.mediaDevices&&(e.navigator.mediaDevices.getDisplayMedia=function(r){if(!(r&&r.video)){let e=new DOMException("getDisplayMedia without video constraints is undefined");return e.name="NotFoundError",e.code=8,Promise.reject(e)}return!0===r.video?r.video={mediaSource:n}:r.video.mediaSource=n,e.navigator.mediaDevices.getUserMedia(r)})}function ak(e){"object"==typeof e&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function aI(e,n){if("object"!=typeof e||!(e.RTCPeerConnection||e.mozRTCPeerConnection))return;!e.RTCPeerConnection&&e.mozRTCPeerConnection&&(e.RTCPeerConnection=e.mozRTCPeerConnection),n.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(n){let r=e.RTCPeerConnection.prototype[n];e.RTCPeerConnection.prototype[n]=({[n](){return arguments[0]=new("addIceCandidate"===n?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),r.apply(this,arguments)}})[n]});let r={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"},i=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){let[e,o,s]=arguments;return i.apply(this,[e||null]).then(e=>{if(n.version<53&&!o)try{e.forEach(e=>{e.type=r[e.type]||e.type})}catch(n){if("TypeError"!==n.name)throw n;e.forEach((n,i)=>{e.set(i,Object.assign({},n,{type:r[n.type]||n.type}))})}return e}).then(o,s)}}function aM(e){if(!("object"==typeof e&&e.RTCPeerConnection&&e.RTCRtpSender)||e.RTCRtpSender&&"getStats"in e.RTCRtpSender.prototype)return;let n=e.RTCPeerConnection.prototype.getSenders;n&&(e.RTCPeerConnection.prototype.getSenders=function(){let e=n.apply(this,[]);return e.forEach(e=>e._pc=this),e});let r=e.RTCPeerConnection.prototype.addTrack;r&&(e.RTCPeerConnection.prototype.addTrack=function(){let e=r.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):Promise.resolve(new Map)}}function aP(e){if(!("object"==typeof e&&e.RTCPeerConnection&&e.RTCRtpSender)||e.RTCRtpSender&&"getStats"in e.RTCRtpReceiver.prototype)return;let n=e.RTCPeerConnection.prototype.getReceivers;n&&(e.RTCPeerConnection.prototype.getReceivers=function(){let e=n.apply(this,[]);return e.forEach(e=>e._pc=this),e}),au(e,"track",e=>(e.receiver._pc=e.srcElement,e)),e.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}function aj(e){!e.RTCPeerConnection||"removeStream"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(e){am("removeStream","removeTrack"),this.getSenders().forEach(n=>{n.track&&e.getTracks().includes(n.track)&&this.removeTrack(n)})})}function aA(e){e.DataChannel&&!e.RTCDataChannel&&(e.RTCDataChannel=e.DataChannel)}function aD(e){if(!("object"==typeof e&&e.RTCPeerConnection))return;let n=e.RTCPeerConnection.prototype.addTransceiver;n&&(e.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];let e=arguments[1]&&arguments[1].sendEncodings;void 0===e&&(e=[]);let r=(e=[...e]).length>0;r&&e.forEach(e=>{if("rid"in e&&!/^[a-z0-9]{0,16}$/i.test(e.rid))throw TypeError("Invalid RID value provided.");if("scaleResolutionDownBy"in e&&!(parseFloat(e.scaleResolutionDownBy)>=1))throw RangeError("scale_resolution_down_by must be >= 1.0");if("maxFramerate"in e&&!(parseFloat(e.maxFramerate)>=0))throw RangeError("max_framerate must be >= 0.0")});let i=n.apply(this,arguments);if(r){let{sender:n}=i,r=n.getParameters();"encodings"in r&&(1!==r.encodings.length||0!==Object.keys(r.encodings[0]).length)||(r.encodings=e,n.sendEncodings=e,this.setParametersPromises.push(n.setParameters(r).then(()=>{delete n.sendEncodings}).catch(()=>{delete n.sendEncodings})))}return i})}function aB(e){if(!("object"==typeof e&&e.RTCRtpSender))return;let n=e.RTCRtpSender.prototype.getParameters;n&&(e.RTCRtpSender.prototype.getParameters=function(){let e=n.apply(this,arguments);return"encodings"in e||(e.encodings=[].concat(this.sendEncodings||[{}])),e})}function aN(e){if(!("object"==typeof e&&e.RTCPeerConnection))return;let n=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(()=>n.apply(this,arguments)).finally(()=>{this.setParametersPromises=[]}):n.apply(this,arguments)}}function aL(e){if(!("object"==typeof e&&e.RTCPeerConnection))return;let n=e.RTCPeerConnection.prototype.createAnswer;e.RTCPeerConnection.prototype.createAnswer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(()=>n.apply(this,arguments)).finally(()=>{this.setParametersPromises=[]}):n.apply(this,arguments)}}function aU(e){if("object"==typeof e&&e.RTCPeerConnection){if("getLocalStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||(this._localStreams=[]),this._localStreams}),!("addStream"in e.RTCPeerConnection.prototype)){let n=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addStream=function(e){this._localStreams||(this._localStreams=[]),this._localStreams.includes(e)||this._localStreams.push(e),e.getAudioTracks().forEach(r=>n.call(this,r,e)),e.getVideoTracks().forEach(r=>n.call(this,r,e))},e.RTCPeerConnection.prototype.addTrack=function(e,...r){return r&&r.forEach(e=>{this._localStreams?this._localStreams.includes(e)||this._localStreams.push(e):this._localStreams=[e]}),n.apply(this,arguments)}}"removeStream"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(e){this._localStreams||(this._localStreams=[]);let n=this._localStreams.indexOf(e);if(-1===n)return;this._localStreams.splice(n,1);let r=e.getTracks();this.getSenders().forEach(e=>{r.includes(e.track)&&this.removeTrack(e)})})}}function aF(e){if("object"==typeof e&&e.RTCPeerConnection&&("getRemoteStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getRemoteStreams=function(){return this._remoteStreams?this._remoteStreams:[]}),!("onaddstream"in e.RTCPeerConnection.prototype))){Object.defineProperty(e.RTCPeerConnection.prototype,"onaddstream",{get(){return this._onaddstream},set(e){this._onaddstream&&(this.removeEventListener("addstream",this._onaddstream),this.removeEventListener("track",this._onaddstreampoly)),this.addEventListener("addstream",this._onaddstream=e),this.addEventListener("track",this._onaddstreampoly=e=>{e.streams.forEach(e=>{if(this._remoteStreams||(this._remoteStreams=[]),this._remoteStreams.includes(e))return;this._remoteStreams.push(e);let n=new Event("addstream");n.stream=e,this.dispatchEvent(n)})})}});let n=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){let e=this;return this._onaddstreampoly||this.addEventListener("track",this._onaddstreampoly=function(n){n.streams.forEach(n=>{if(e._remoteStreams||(e._remoteStreams=[]),e._remoteStreams.indexOf(n)>=0)return;e._remoteStreams.push(n);let r=new Event("addstream");r.stream=n,e.dispatchEvent(r)})}),n.apply(e,arguments)}}}function aq(e){if("object"!=typeof e||!e.RTCPeerConnection)return;let n=e.RTCPeerConnection.prototype,r=n.createOffer,i=n.createAnswer,o=n.setLocalDescription,s=n.setRemoteDescription,a=n.addIceCandidate;n.createOffer=function(e,n){let i=arguments.length>=2?arguments[2]:arguments[0],o=r.apply(this,[i]);return n?(o.then(e,n),Promise.resolve()):o},n.createAnswer=function(e,n){let r=arguments.length>=2?arguments[2]:arguments[0],o=i.apply(this,[r]);return n?(o.then(e,n),Promise.resolve()):o};let c=function(e,n,r){let i=o.apply(this,[e]);return r?(i.then(n,r),Promise.resolve()):i};n.setLocalDescription=c,n.setRemoteDescription=c=function(e,n,r){let i=s.apply(this,[e]);return r?(i.then(n,r),Promise.resolve()):i},n.addIceCandidate=function(e,n,r){let i=a.apply(this,[e]);return r?(i.then(n,r),Promise.resolve()):i}}function aH(e){let n=e&&e.navigator;if(n.mediaDevices&&n.mediaDevices.getUserMedia){let e=n.mediaDevices,r=e.getUserMedia.bind(e);n.mediaDevices.getUserMedia=e=>r(aV(e))}!n.getUserMedia&&n.mediaDevices&&n.mediaDevices.getUserMedia&&(n.getUserMedia=(function(e,r,i){n.mediaDevices.getUserMedia(e).then(r,i)}).bind(n))}function aV(e){return e&&void 0!==e.video?Object.assign({},e,{video:function e(n){return av(n)?Object.keys(n).reduce(function(r,i){let o=av(n[i]),s=o?e(n[i]):n[i],a=o&&!Object.keys(s).length;return void 0===s||a?r:Object.assign(r,{[i]:s})},{}):n}(e.video)}):e}function az(e){if(!e.RTCPeerConnection)return;let n=e.RTCPeerConnection;e.RTCPeerConnection=function(e,r){if(e&&e.iceServers){let n=[];for(let r=0;r<e.iceServers.length;r++){let i=e.iceServers[r];void 0===i.urls&&i.url?(am("RTCIceServer.url","RTCIceServer.urls"),(i=JSON.parse(JSON.stringify(i))).urls=i.url,delete i.url,n.push(i)):n.push(e.iceServers[r])}e.iceServers=n}return new n(e,r)},e.RTCPeerConnection.prototype=n.prototype,"generateCertificate"in n&&Object.defineProperty(e.RTCPeerConnection,"generateCertificate",{get:()=>n.generateCertificate})}function aG(e){"object"==typeof e&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function aW(e){let n=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(e){if(e){void 0!==e.offerToReceiveAudio&&(e.offerToReceiveAudio=!!e.offerToReceiveAudio);let n=this.getTransceivers().find(e=>"audio"===e.receiver.track.kind);!1===e.offerToReceiveAudio&&n?"sendrecv"===n.direction?n.setDirection?n.setDirection("sendonly"):n.direction="sendonly":"recvonly"===n.direction&&(n.setDirection?n.setDirection("inactive"):n.direction="inactive"):!0!==e.offerToReceiveAudio||n||this.addTransceiver("audio",{direction:"recvonly"}),void 0!==e.offerToReceiveVideo&&(e.offerToReceiveVideo=!!e.offerToReceiveVideo);let r=this.getTransceivers().find(e=>"video"===e.receiver.track.kind);!1===e.offerToReceiveVideo&&r?"sendrecv"===r.direction?r.setDirection?r.setDirection("sendonly"):r.direction="sendonly":"recvonly"===r.direction&&(r.setDirection?r.setDirection("inactive"):r.direction="inactive"):!0!==e.offerToReceiveVideo||r||this.addTransceiver("video",{direction:"recvonly"})}return n.apply(this,arguments)}}function aX(e){"object"!=typeof e||e.AudioContext||(e.AudioContext=e.webkitAudioContext)}var a$=__webpack_require__("../../node_modules/sdp/sdp.js"),aJ=__webpack_require__.n(a$);function aK(e){if(!e.RTCIceCandidate||e.RTCIceCandidate&&"foundation"in e.RTCIceCandidate.prototype)return;let n=e.RTCIceCandidate;e.RTCIceCandidate=function(e){if("object"==typeof e&&e.candidate&&0===e.candidate.indexOf("a=")&&((e=JSON.parse(JSON.stringify(e))).candidate=e.candidate.substring(2)),e.candidate&&e.candidate.length){let r=new n(e),i=aJ().parseCandidate(e.candidate);for(let e in i)e in r||Object.defineProperty(r,e,{value:i[e]});return r.toJSON=function(){return{candidate:r.candidate,sdpMid:r.sdpMid,sdpMLineIndex:r.sdpMLineIndex,usernameFragment:r.usernameFragment}},r}return new n(e)},e.RTCIceCandidate.prototype=n.prototype,au(e,"icecandidate",n=>(n.candidate&&Object.defineProperty(n,"candidate",{value:new e.RTCIceCandidate(n.candidate),writable:"false"}),n))}function aY(e){!e.RTCIceCandidate||e.RTCIceCandidate&&"relayProtocol"in e.RTCIceCandidate.prototype||au(e,"icecandidate",e=>{if(e.candidate){let n=aJ().parseCandidate(e.candidate.candidate);"relay"===n.type&&(e.candidate.relayProtocol=({0:"tls",1:"tcp",2:"udp"})[n.priority>>24])}return e})}function aQ(e,n){if(!e.RTCPeerConnection)return;"sctp"in e.RTCPeerConnection.prototype||Object.defineProperty(e.RTCPeerConnection.prototype,"sctp",{get(){return void 0===this._sctp?null:this._sctp}});let r=function(e){if(!e||!e.sdp)return!1;let n=aJ().splitSections(e.sdp);return n.shift(),n.some(e=>{let n=aJ().parseMLine(e);return n&&"application"===n.kind&&-1!==n.protocol.indexOf("SCTP")})},i=function(e){let n=e.sdp.match(/mozilla...THIS_IS_SDPARTA-(\d+)/);if(null===n||n.length<2)return -1;let r=parseInt(n[1],10);return r!=r?-1:r},o=function(e){let r=65536;return"firefox"===n.browser&&(r=n.version<57?-1===e?16384:0x7ffffff5:n.version<60?57===n.version?65535:65536:0x7ffffff5),r},s=function(e,r){let i=65536;"firefox"===n.browser&&57===n.version&&(i=65535);let o=aJ().matchPrefix(e.sdp,"a=max-message-size:");return o.length>0?i=parseInt(o[0].substring(19),10):"firefox"===n.browser&&-1!==r&&(i=0x7ffffff5),i},a=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){if(this._sctp=null,"chrome"===n.browser&&n.version>=76){let{sdpSemantics:e}=this.getConfiguration();"plan-b"===e&&Object.defineProperty(this,"sctp",{get(){return void 0===this._sctp?null:this._sctp},enumerable:!0,configurable:!0})}if(r(arguments[0])){let e,n=i(arguments[0]),r=o(n),a=s(arguments[0],n);e=0===r&&0===a?1/0:0===r||0===a?Math.max(r,a):Math.min(r,a);let c={};Object.defineProperty(c,"maxMessageSize",{get:()=>e}),this._sctp=c}return a.apply(this,arguments)}}function aZ(e){if(!(e.RTCPeerConnection&&"createDataChannel"in e.RTCPeerConnection.prototype))return;function n(e,n){let r=e.send;e.send=function(){let i=arguments[0],o=i.length||i.size||i.byteLength;if("open"===e.readyState&&n.sctp&&o>n.sctp.maxMessageSize)throw TypeError("Message too large (can send a maximum of "+n.sctp.maxMessageSize+" bytes)");return r.apply(e,arguments)}}let r=e.RTCPeerConnection.prototype.createDataChannel;e.RTCPeerConnection.prototype.createDataChannel=function(){let e=r.apply(this,arguments);return n(e,this),e},au(e,"datachannel",e=>(n(e.channel,e.target),e))}function a0(e){if(!e.RTCPeerConnection||"connectionState"in e.RTCPeerConnection.prototype)return;let n=e.RTCPeerConnection.prototype;Object.defineProperty(n,"connectionState",{get(){return({completed:"connected",checking:"connecting"})[this.iceConnectionState]||this.iceConnectionState},enumerable:!0,configurable:!0}),Object.defineProperty(n,"onconnectionstatechange",{get(){return this._onconnectionstatechange||null},set(e){this._onconnectionstatechange&&(this.removeEventListener("connectionstatechange",this._onconnectionstatechange),delete this._onconnectionstatechange),e&&this.addEventListener("connectionstatechange",this._onconnectionstatechange=e)},enumerable:!0,configurable:!0}),["setLocalDescription","setRemoteDescription"].forEach(e=>{let r=n[e];n[e]=function(){return this._connectionstatechangepoly||(this._connectionstatechangepoly=e=>{let n=e.target;if(n._lastConnectionState!==n.connectionState){n._lastConnectionState=n.connectionState;let r=new Event("connectionstatechange",e);n.dispatchEvent(r)}return e},this.addEventListener("iceconnectionstatechange",this._connectionstatechangepoly)),r.apply(this,arguments)}})}function a1(e,n){if(!e.RTCPeerConnection||"chrome"===n.browser&&n.version>=71||"safari"===n.browser&&n._safariVersion>=13.1)return;let r=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(n){if(n&&n.sdp&&-1!==n.sdp.indexOf("\na=extmap-allow-mixed")){let r=n.sdp.split("\n").filter(e=>"a=extmap-allow-mixed"!==e.trim()).join("\n");e.RTCSessionDescription&&n instanceof e.RTCSessionDescription?arguments[0]=new e.RTCSessionDescription({type:n.type,sdp:r}):n.sdp=r}return r.apply(this,arguments)}}function a2(e,n){if(!(e.RTCPeerConnection&&e.RTCPeerConnection.prototype))return;let r=e.RTCPeerConnection.prototype.addIceCandidate;r&&0!==r.length&&(e.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?("chrome"===n.browser&&n.version<78||"firefox"===n.browser&&n.version<68||"safari"===n.browser)&&arguments[0]&&""===arguments[0].candidate?Promise.resolve():r.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())})}function a3(e,n){if(!(e.RTCPeerConnection&&e.RTCPeerConnection.prototype))return;let r=e.RTCPeerConnection.prototype.setLocalDescription;r&&0!==r.length&&(e.RTCPeerConnection.prototype.setLocalDescription=function(){let e=arguments[0]||{};if("object"!=typeof e||e.type&&e.sdp)return r.apply(this,arguments);if(!(e={type:e.type,sdp:e.sdp}).type)switch(this.signalingState){case"stable":case"have-local-offer":case"have-remote-pranswer":e.type="offer";break;default:e.type="answer"}return e.sdp||"offer"!==e.type&&"answer"!==e.type?r.apply(this,[e]):("offer"===e.type?this.createOffer:this.createAnswer).apply(this).then(e=>r.apply(this,[e]))})}let a4=function({window:e}={},n={shimChrome:!0,shimFirefox:!0,shimSafari:!0}){let r=function(e){let n={browser:null,version:null};if(void 0===e||!e.navigator||!e.navigator.userAgent)return n.browser="Not a browser.",n;let{navigator:r}=e;if(r.userAgentData&&r.userAgentData.brands){let e=r.userAgentData.brands.find(e=>"Chromium"===e.brand);if(e)return{browser:"chrome",version:parseInt(e.version,10)}}return r.mozGetUserMedia?(n.browser="firefox",n.version=parseInt(al(r.userAgent,/Firefox\/(\d+)\./,1))):r.webkitGetUserMedia||!1===e.isSecureContext&&e.webkitRTCPeerConnection?(n.browser="chrome",n.version=parseInt(al(r.userAgent,/Chrom(e|ium)\/(\d+)\./,2))):e.RTCPeerConnection&&r.userAgent.match(/AppleWebKit\/(\d+)\./)?(n.browser="safari",n.version=parseInt(al(r.userAgent,/AppleWebKit\/(\d+)\./,1)),n.supportsUnifiedPlan=e.RTCRtpTransceiver&&"currentDirection"in e.RTCRtpTransceiver.prototype,n._safariVersion=al(r.userAgent,/Version\/(\d+(\.?\d+))/,1)):n.browser="Not a supported browser.",n}(e),i={browserDetails:r,commonShim:C,extractVersion:al,disableLog:af,disableWarnings:ap,sdp:a$};switch(r.browser){case"chrome":if(!S||!aC||!n.shimChrome){ah("Chrome shim is not included in this adapter release.");break}if(null===r.version){ah("Chrome shim can not determine version, not shimming.");break}ah("adapter.js shimming chrome."),i.browserShim=S,a2(e,r),a3(e,r),ay(e,r),ab(e,r),aC(e,r),a_(e,r),aT(e,r),aw(e,r),aS(e,r),ax(e,r),aK(e,r),aY(e,r),a0(e,r),aQ(e,r),aZ(e,r),a1(e,r);break;case"firefox":if(!R||!aI||!n.shimFirefox){ah("Firefox shim is not included in this adapter release.");break}ah("adapter.js shimming firefox."),i.browserShim=R,a2(e,r),a3(e,r),aE(e,r),aI(e,r),ak(e,r),aj(e,r),aM(e,r),aP(e,r),aA(e,r),aD(e,r),aB(e,r),aN(e,r),aL(e,r),aK(e,r),a0(e,r),aQ(e,r),aZ(e,r);break;case"safari":if(!T||!n.shimSafari){ah("Safari shim is not included in this adapter release.");break}ah("adapter.js shimming safari."),i.browserShim=T,a2(e,r),a3(e,r),az(e,r),aW(e,r),aq(e,r),aU(e,r),aF(e,r),aG(e,r),aH(e,r),aX(e,r),aK(e,r),aY(e,r),aQ(e,r),aZ(e,r),a1(e,r);break;default:ah("Unsupported browser!")}return i}({window:"undefined"==typeof window?void 0:window});(c5=c9||(c9={})).DEFAULT_BRTC_SDK_URL="https://brtc-sdk.cdn.bcebos.com/npm/baidurtc@1.2.19/baidu.rtc.sdk.js",c5.DEFAULT_BRTC_CLIENT_CONFIG={displayName:"AaaSPilot Kit",debugLevel:!1,rtcOptions:{},cfg:{tag:"H5.SDK",llm:"LLMMute",tts:"MUTE"},silenceTimeoutMs:1e4};let a5=e=>{if(e)return"string"==typeof e?e:e.id};class a6 extends sO{static #F=this.MESSAGE_INTERVAL_THRESHOLD=5e3;preloadDeps(){if("undefined"==typeof window){let e="Window object not available";return this.errorManager.handleError(new rT(e)),Promise.reject(Error(e))}if(window.adapter||(window.adapter=null!=a4?a4:x),"function"!=typeof window.BRTC_Start){let e='RTC SDK not loaded. Ensure "baidurtc" is imported correctly.';return this.errorManager.handleError(new rT(e)),Promise.reject(Error(e))}return Promise.resolve()}makeStartOptions(){return{...c9.DEFAULT_BRTC_CLIENT_CONFIG,cfg:{...c9.DEFAULT_BRTC_CLIENT_CONFIG.cfg,asr_vad:this.opts.asrVad,lang:(e=>{if(!e)return ii[is];let n=ii[e];return n||(console.warn(`[AaaSPilotKit] 不支持的语言代码 "${e}",已自动回退到中文。支持的语言:${Object.keys(ii).join(", ")}`),ii[is])})(this.opts.lang)}}}parseMessage(e){let n=e.replace(/\[Q\]:?|\[M\]:?|\[C\]:?|\[A\]:?|\[H\]:?|\[E\]:?|\[B\]:?|\[T\]:?/g,"").trim(),r=cY.EMessageType.Event,i=!0,o=!1;return o=e.includes("VOICE_COMING"),e.includes("[Q]")&&(r=cY.EMessageType.Query),e.includes("[E]")&&(r=cY.EMessageType.Event),i=!e.includes("[M]"),{type:r,continued:e.includes("[C]"),data:n,completed:i,isCollectingSounds:o}}constructor(...e){super(...e),this.silenceTimer=null,this.lastMessageTime=0,this.messageIntervalTimer=null,this.start=async()=>{if(this.started)return;if(this.opts.checkAudioDeviceBeforeStart){let e=await this.checkAudioDevice();if(!e.available)throw new rT("音频设备检测失败,无法启动 ASR",{context:{checkResult:e}})}let{displayName:e,debugLevel:n,rtcOptions:{remoteVideoElement:r,localVideoElement:i},cfg:o,silenceTimeoutMs:s}=this.makeStartOptions();return new Promise((a,c)=>{this.signalingService.Start({debuglevel:n,cfg:o,displayname:e,remotevideoviewid:a5(r),localvideoviewid:a5(i),usingremotemediastate:!0,success:()=>{this.started=!0,this.emitter.emit("start",{sessionId:this.sessionId}).catch(r3),a()},error:e=>{this.errorManager.handleError(new rk(e||"",{sessionId:this.sessionId})),c(Error(e||""))},onmessage:e=>{try{let n=this.parseMessage(e.data);if(e.data.includes("VOICE_COMING")||(this.emitter.emitSerial("message",{...n,sessionId:this.sessionId}).catch(r3),this.checkMessageInterval(n)),0!==s){let r=""===n.data;(e.data.includes("[E]")||e.data.includes("VOICE_COMING"))&&r?this.triggerSilence():this.resetSilenceTimer()}}catch(e){e instanceof Error&&this.errorManager.handleError(new rE(e.message,{sessionId:this.sessionId}))}},userevent_joinedroom:(e,n,r)=>{this.emitter.emit("user_joined_room",{id:e,display:n,attribute:r,sessionId:this.sessionId})},userevent_leavingroom:(e,n)=>{this.emitter.emit("user_leaving_room",{id:e,display:n,sessionId:this.sessionId})},remotemediastating:(e,n,r)=>{this.emitter.emit("media_state_changed",{id:e,medium:n,on:r,sessionId:this.sessionId})}})})},this.stop=async()=>{try{await this._stop()}catch(e){e instanceof Error&&this.errorManager.handleError(new rC(e.message,{sessionId:this.sessionId}))}this.emitter.emit("stop",{sessionId:this.signalingService.GetSessionID()})},this.dispose=()=>{this._dispose(),this.silenceTimer&&(window.clearTimeout(this.silenceTimer),this.silenceTimer=null),this.messageIntervalTimer&&(window.clearTimeout(this.messageIntervalTimer),this.messageIntervalTimer=null),this.lastMessageTime=0},this.resetSilenceTimer=()=>{null!==this.silenceTimer&&window.clearTimeout(this.silenceTimer),this.silenceTimer=window.setTimeout(()=>{this.emitter.emit("silence",{sessionId:this.signalingService.GetSessionID()})},this.makeStartOptions().silenceTimeoutMs)},this.triggerSilence=()=>{this.emitter.emit("silence",{sessionId:this.signalingService.GetSessionID()}),this.resetSilenceTimer()},this.checkMessageInterval=e=>{let n=Date.now();if(e.completed){this.messageIntervalTimer&&(window.clearTimeout(this.messageIntervalTimer),this.messageIntervalTimer=null),this.lastMessageTime=0;return}if(0===this.lastMessageTime)this.lastMessageTime=n,this.messageIntervalTimer=window.setTimeout(()=>{this.errorManager.handleError(new rO(`ASR消息间隔超过${a6.MESSAGE_INTERVAL_THRESHOLD}ms阈值`,{sessionId:this.sessionId,context:{lastMessageTime:this.lastMessageTime,currentTime:n,threshold:a6.MESSAGE_INTERVAL_THRESHOLD}}))},a6.MESSAGE_INTERVAL_THRESHOLD);else{let e=n-this.lastMessageTime;e>a6.MESSAGE_INTERVAL_THRESHOLD&&this.errorManager.handleError(new rO(`ASR消息间隔${e}ms超过${a6.MESSAGE_INTERVAL_THRESHOLD}ms阈值`,{sessionId:this.sessionId,context:{lastMessageTime:this.lastMessageTime,currentTime:n,interval:e,threshold:a6.MESSAGE_INTERVAL_THRESHOLD}})),this.lastMessageTime=n,this.messageIntervalTimer&&window.clearTimeout(this.messageIntervalTimer),this.messageIntervalTimer=window.setTimeout(()=>{this.errorManager.handleError(new rO(`ASR消息间隔超过${a6.MESSAGE_INTERVAL_THRESHOLD}ms阈值`,{sessionId:this.sessionId,context:{lastMessageTime:this.lastMessageTime,currentTime:Date.now(),threshold:a6.MESSAGE_INTERVAL_THRESHOLD}}))},a6.MESSAGE_INTERVAL_THRESHOLD)}}}}function a8(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,i)}return r}function a9(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?a8(Object(r),!0).forEach(function(n){cs(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a8(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function a7(){a7=function(){return n};var e,n={},r=Object.prototype,i=r.hasOwnProperty,o=Object.defineProperty||function(e,n,r){e[n]=r.value},s="function"==typeof Symbol?Symbol:{},a=s.iterator||"@@iterator",c=s.asyncIterator||"@@asyncIterator",d=s.toStringTag||"@@toStringTag";function l(e,n,r){return Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[n]}try{l({},"")}catch(e){l=function(e,n,r){return e[n]=r}}function u(n,r,i,s){var a,c,d,l,u=Object.create((r&&r.prototype instanceof g?r:g).prototype);return o(u,"_invoke",{value:(a=n,c=i,d=new O(s||[]),l=p,function(n,r){if(l===h)throw Error("Generator is already running");if(l===m){if("throw"===n)throw r;return{value:e,done:!0}}for(d.method=n,d.arg=r;;){var i=d.delegate;if(i){var o=function n(r,i){var o=i.method,s=r.iterator[o];if(s===e)return i.delegate=null,"throw"===o&&r.iterator.return&&(i.method="return",i.arg=e,n(r,i),"throw"===i.method)||"return"!==o&&(i.method="throw",i.arg=TypeError("The iterator does not provide a '"+o+"' method")),v;var a=f(s,r.iterator,i.arg);if("throw"===a.type)return i.method="throw",i.arg=a.arg,i.delegate=null,v;var c=a.arg;return c?c.done?(i[r.resultName]=c.value,i.next=r.nextLoc,"return"!==i.method&&(i.method="next",i.arg=e),i.delegate=null,v):c:(i.method="throw",i.arg=TypeError("iterator result is not an object"),i.delegate=null,v)}(i,d);if(o){if(o===v)continue;return o}}if("next"===d.method)d.sent=d._sent=d.arg;else if("throw"===d.method){if(l===p)throw l=m,d.arg;d.dispatchException(d.arg)}else"return"===d.method&&d.abrupt("return",d.arg);l=h;var s=f(a,c,d);if("normal"===s.type){if(l=d.done?m:"suspendedYield",s.arg===v)continue;return{value:s.arg,done:d.done}}"throw"===s.type&&(l=m,d.method="throw",d.arg=s.arg)}})}),u}function f(e,n,r){try{return{type:"normal",arg:e.call(n,r)}}catch(e){return{type:"throw",arg:e}}}n.wrap=u;var p="suspendedStart",h="executing",m="completed",v={};function g(){}function y(){}function b(){}var _={};l(_,a,function(){return this});var w=Object.getPrototypeOf,S=w&&w(w(k([])));S&&S!==r&&i.call(S,a)&&(_=S);var R=b.prototype=g.prototype=Object.create(_);function T(e){["next","throw","return"].forEach(function(n){l(e,n,function(e){return this._invoke(n,e)})})}function C(e,n){var r;o(this,"_invoke",{value:function(o,s){function a(){return new n(function(r,a){!function r(o,s,a,c){var d=f(e[o],e,s);if("throw"!==d.type){var l=d.arg,u=l.value;return u&&"object"==typeof u&&i.call(u,"__await")?n.resolve(u.__await).then(function(e){r("next",e,a,c)},function(e){r("throw",e,a,c)}):n.resolve(u).then(function(e){l.value=e,a(l)},function(e){return r("throw",e,a,c)})}c(d.arg)}(o,s,r,a)})}return r=r?r.then(a,a):a()}})}function x(e){var n={tryLoc:e[0]};1 in e&&(n.catchLoc=e[1]),2 in e&&(n.finallyLoc=e[2],n.afterLoc=e[3]),this.tryEntries.push(n)}function E(e){var n=e.completion||{};n.type="normal",delete n.arg,e.completion=n}function O(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function k(n){if(n||""===n){var r=n[a];if(r)return r.call(n);if("function"==typeof n.next)return n;if(!isNaN(n.length)){var o=-1,s=function r(){for(;++o<n.length;)if(i.call(n,o))return r.value=n[o],r.done=!1,r;return r.value=e,r.done=!0,r};return s.next=s}}throw TypeError(typeof n+" is not iterable")}return y.prototype=b,o(R,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:y,configurable:!0}),y.displayName=l(b,d,"GeneratorFunction"),n.isGeneratorFunction=function(e){var n="function"==typeof e&&e.constructor;return!!n&&(n===y||"GeneratorFunction"===(n.displayName||n.name))},n.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,l(e,d,"GeneratorFunction")),e.prototype=Object.create(R),e},n.awrap=function(e){return{__await:e}},T(C.prototype),l(C.prototype,c,function(){return this}),n.AsyncIterator=C,n.async=function(e,r,i,o,s){void 0===s&&(s=Promise);var a=new C(u(e,r,i,o),s);return n.isGeneratorFunction(r)?a:a.next().then(function(e){return e.done?e.value:a.next()})},T(R),l(R,d,"Generator"),l(R,a,function(){return this}),l(R,"toString",function(){return"[object Generator]"}),n.keys=function(e){var n=Object(e),r=[];for(var i in n)r.push(i);return r.reverse(),function e(){for(;r.length;){var i=r.pop();if(i in n)return e.value=i,e.done=!1,e}return e.done=!0,e}},n.values=k,O.prototype={constructor:O,reset:function(n){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(E),!n)for(var r in this)"t"===r.charAt(0)&&i.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(n){if(this.done)throw n;var r=this;function o(i,o){return c.type="throw",c.arg=n,r.next=i,o&&(r.method="next",r.arg=e),!!o}for(var s=this.tryEntries.length-1;s>=0;--s){var a=this.tryEntries[s],c=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var d=i.call(a,"catchLoc"),l=i.call(a,"finallyLoc");if(d&&l){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(d){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!l)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.finallyLoc)}}}},abrupt:function(e,n){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var s=o;break}}s&&("break"===e||"continue"===e)&&s.tryLoc<=n&&n<=s.finallyLoc&&(s=null);var a=s?s.completion:{};return a.type=e,a.arg=n,s?(this.method="next",this.next=s.finallyLoc,v):this.complete(a)},complete:function(e,n){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&n&&(this.next=n),v},finish:function(e){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),E(r),v}},catch:function(e){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc===e){var i=r.completion;if("throw"===i.type){var o=i.arg;E(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(n,r,i){return this.delegate={iterator:k(n),resultName:r,nextLoc:i},"next"===this.method&&(this.arg=e),v}},n}function ce(e){return(ce="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ct(e,n,r,i,o,s,a){try{var c=e[s](a),d=c.value}catch(e){return void r(e)}c.done?n(d):Promise.resolve(d).then(i,o)}function cn(e){return function(){var n=this,r=arguments;return new Promise(function(i,o){var s=e.apply(n,r);function a(e){ct(s,i,o,a,c,"next",e)}function c(e){ct(s,i,o,a,c,"throw",e)}a(void 0)})}}function cr(e,n){if(!(e instanceof n))throw TypeError("Cannot call a class as a function")}function ci(e,n){for(var r=0;r<n.length;r++){var i=n[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,ca(i.key),i)}}function co(e,n,r){return n&&ci(e.prototype,n),r&&ci(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function cs(e,n,r){return(n=ca(n))in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function ca(e){var n=function(e,n){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,n||"default");if("object"!=typeof i)return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==typeof n?n:String(n)}a6=function(e,n,r,i){var o,s=arguments.length,a=s<3?n:null===i?i=Object.getOwnPropertyDescriptor(n,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,n,r,i);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(a=(s<3?o(a):s>3?o(n,r,a):o(n,r))||a);return s>3&&a&&Object.defineProperty(n,r,a),a}([eb(),ew()],a6);var cc=__webpack_require__("../../node_modules/lodash/isString.js"),cd=__webpack_require__.n(cc),cl=__webpack_require__("../../node_modules/lodash/isObject.js"),cu=__webpack_require__.n(cl),cf=__webpack_require__("../../node_modules/lodash/cloneDeep.js"),cp=__webpack_require__.n(cf);class ch{static isJsonStr(e){if(cd()(e))try{let n=JSON.parse(e);return!!cu()(n)}catch(e){}return!1}static parse(e){let n={};try{n=JSON.parse(e||"{}")}catch(n){console.error("JSON.parse Error:",e)}return n||{}}static stringify(e){let n="";try{n=JSON.stringify(e||{})}catch(n){console.error("JSON.stringify error:",e)}return n||"{}"}static getParseValue(e){try{return e&&cd()(e)?ch.parse(e):e}catch(n){return console.info("JSON parse error",e),e}}static parseObj(e,n){let r=cp()(e);return n.forEach(n=>{if(Object.keys(e).includes(n))try{r[n]=ch.parse(e[n]),console.log(n,r[n])}catch(e){console.error(`Failed to parse JSON for key "${n}":`,e)}}),r}static stringifyObj(e,n){let r=cp()(e);return n.forEach(n=>{Object.keys(e).includes(n)&&(r[n]=ch.stringify(e[n]))}),r}}var cm,cv,cg,cy,cb,c_,cw,cS,cR,cT,cC,cx,cE,cO,ck,cI,cM,cP,cj,cA,cD,cB,cN,cL,cU,cF,cq,cH,cV,cz,cG,cW,cX,c$,cJ,cK,cY,cQ,cZ,c0,c1,c2,c3,c4,c5,c6,c8,c9,c7,de,dt=__webpack_require__("../../node_modules/lodash/isEmpty.js"),dn=__webpack_require__.n(dt),dr=__webpack_require__("../../node_modules/lodash/omit.js"),di=__webpack_require__.n(dr),ds=__webpack_require__("../../node_modules/lodash/pick.js"),da=__webpack_require__.n(ds),dc=["projectId","characterConfigId","configVersion","selectors","figureName","reConnect"];(s=c7||(c7={})).DH_LIB_INIT="DH_LIB_INIT",s.DH_LIB_WS_SUCCESS="DH_LIB_WS_SUCCESS",s.DH_LIB_OPEN="DH_LIB_OPEN",s.DH_LIB_STATUS="DH_LIB_STATUS",s.DH_LIB_CLOSE="DH_LIB_CLOSE",s.DH_LIB_ERROR="DH_LIB_ERROR",s.DH_LIB_WARNING="DH_LIB_WARNING",s.DH_LIB_FULL_STATUS="DH_LIB_FULL_STATUS",s.DH_LIB_MESSAGE="DH_LIB_MESSAGE",(a=de||(de={})).CONNECT_ERROR="CONNECT_ERROR",a.DISCONNECT_ALERT="DISCONNECT_ALERT",a.TIMEOUT_EXIT="TIMEOUT_EXIT",a.LOCAL_VIDEO_MUTED="LOCAL_VIDEO_MUTED",a.LOCAL_VIDEO_ERROR="LOCAL_VIDEO_ERROR",a.RTC_ERROR="RTC_ERROR";var dd={"-1":"UNINSTANTIATED",0:"CONNECTING",1:"OPEN",2:"CLOSING",3:"CLOSED"},dl=__webpack_require__("../../node_modules/fast-unique-numbers/build/es5/bundle.js");let du=(c=e=>{let n=new Map([[0,()=>{}]]),r=new Map([[0,()=>{}]]),i=new Map,o=new Worker(e);return o.addEventListener("message",({data:e})=>{let o;if(void 0!==(o=e).method&&"call"===o.method){let{params:{timerId:o,timerType:s}}=e;if("interval"===s){let e=n.get(o);if("number"==typeof e){let n=i.get(e);if(void 0===n||n.timerId!==o||n.timerType!==s)throw Error("The timer is in an undefined state.")}else if(void 0!==e)e();else throw Error("The timer is in an undefined state.")}else if("timeout"===s){let e=r.get(o);if("number"==typeof e){let n=i.get(e);if(void 0===n||n.timerId!==o||n.timerType!==s)throw Error("The timer is in an undefined state.")}else if(void 0!==e)e(),r.delete(o);else throw Error("The timer is in an undefined state.")}}else{let o;if(null===(o=e).error&&"number"==typeof o.id){let{id:o}=e,s=i.get(o);if(void 0===s)throw Error("The timer is in an undefined state.");let{timerId:a,timerType:c}=s;i.delete(o),"interval"===c?n.delete(a):r.delete(a)}else{let{error:{message:n}}=e;throw Error(n)}}}),{clearInterval:e=>{let r=(0,dl.generateUniqueNumber)(i);i.set(r,{timerId:e,timerType:"interval"}),n.set(e,r),o.postMessage({id:r,method:"clear",params:{timerId:e,timerType:"interval"}})},clearTimeout:e=>{let n=(0,dl.generateUniqueNumber)(i);i.set(n,{timerId:e,timerType:"timeout"}),r.set(e,n),o.postMessage({id:n,method:"clear",params:{timerId:e,timerType:"timeout"}})},setInterval:(e,r=0)=>{let i=(0,dl.generateUniqueNumber)(n);return n.set(i,()=>{e(),"function"==typeof n.get(i)&&o.postMessage({id:null,method:"set",params:{delay:r,now:performance.now(),timerId:i,timerType:"interval"}})}),o.postMessage({id:null,method:"set",params:{delay:r,now:performance.now(),timerId:i,timerType:"interval"}}),i},setTimeout:(e,n=0)=>{let i=(0,dl.generateUniqueNumber)(r);return r.set(i,e),o.postMessage({id:null,method:"set",params:{delay:n,now:performance.now(),timerId:i,timerType:"timeout"}}),i}}},d='(()=>{"use strict";const e=new Map,t=new Map,r=(e,t)=>{let r,o;const i=performance.now();r=i,o=e-Math.max(0,i-t);return{expected:r+o,remainingDelay:o}},o=(e,t,r,i)=>{const s=performance.now();s>r?postMessage({id:null,method:"call",params:{timerId:t,timerType:i}}):e.set(t,setTimeout(o,r-s,e,t,r,i))};addEventListener("message",(i=>{let{data:s}=i;try{if("clear"===s.method){const{id:r,params:{timerId:o,timerType:i}}=s;if("interval"===i)(t=>{const r=e.get(t);if(void 0===r)throw new Error(\'There is no interval scheduled with the given id "\'.concat(t,\'".\'));clearTimeout(r),e.delete(t)})(o),postMessage({error:null,id:r});else{if("timeout"!==i)throw new Error(\'The given type "\'.concat(i,\'" is not supported\'));(e=>{const r=t.get(e);if(void 0===r)throw new Error(\'There is no timeout scheduled with the given id "\'.concat(e,\'".\'));clearTimeout(r),t.delete(e)})(o),postMessage({error:null,id:r})}}else{if("set"!==s.method)throw new Error(\'The given method "\'.concat(s.method,\'" is not supported\'));{const{params:{delay:i,now:n,timerId:a,timerType:d}}=s;if("interval"===d)((t,i,s)=>{const{expected:n,remainingDelay:a}=r(t,s);e.set(i,setTimeout(o,a,e,i,n,"interval"))})(i,a,n);else{if("timeout"!==d)throw new Error(\'The given type "\'.concat(d,\'" is not supported\'));((e,i,s)=>{const{expected:n,remainingDelay:a}=r(e,s);t.set(i,setTimeout(o,a,t,i,n,"timeout"))})(i,a,n)}}}}catch(e){postMessage({error:{message:e.message},id:s.id,result:null})}}))})();',o=null,()=>{if(null!==o)return o;let e=new Blob([d],{type:"application/javascript; charset=utf-8"}),n=URL.createObjectURL(e);return o=c(n),setTimeout(()=>URL.revokeObjectURL(n)),o}),df=(...e)=>du().setTimeout(...e);(l=y||(y={}))[l.UNINSTANTIATED=-1]="UNINSTANTIATED",l[l.CONNECTING=0]="CONNECTING",l[l.OPEN=1]="OPEN",l[l.CLOSING=2]="CLOSING",l[l.CLOSED=3]="CLOSED",(u=b||(b={}))[u.CLOSE_INTERRUPT_WITH_NEW_URL=4e3]="CLOSE_INTERRUPT_WITH_NEW_URL";var dp=__webpack_require__("../../node_modules/lodash/get.js"),dh=__webpack_require__.n(dp),dm=function(e){function n(e){var r,i=this;cr(this,n),cs(this,"dhServerSocket",null),cs(this,"preConnectSuccess",!1),cs(this,"connectParams",null),cs(this,"socketClosingPromise",null),cs(this,"url",void 0),cs(this,"firstConnect",!0),cs(this,"sendPreConnect",function(e,n){var r,o=e.token,s=e.sessionId,a=e.onConnect;null==(r=i.dhServerSocket)||r.request({action:"RE_CONNECT",requestId:r2(),body:JSON.stringify({token:o,sessionId:s})}).on(function(e,r){null==a||a(e),0!==e.code&&(r(),i.handleConnect()),null==n||n(i.dhServerSocket)}),i.firstConnect=!1}),cs(this,"createSocket",function(e,n){return(r=r||cn(a7().mark(function e(n,r){var o,s;return a7().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(i.connectParams=n,o=n.sessionId,s=n.onDigitalHumanCallback,!i.socketClosingPromise){e.next=5;break}return e.next=5,i.socketClosingPromise;case 5:if(!i.dhServerSocket){e.next=8;break}return e.next=8,i.closeSocket();case 8:return e.abrupt("return",new Promise(function(e,a){var c={keepAlive:"heartbeat",reopen:dh()(i.connectParams,"reConnect",!0),combine:function(e,n){return e&&n&&e.requestId===n.requestId},onOpen:function(){i.dhServerSocket=d,o&&i.firstConnect?i.sendPreConnect(n,e):r&&i.firstConnect||i.handleConnect()},onClose:function(){i.dhServerSocket=null,i.socketClosingPromise=null},onError:function(e){a(e)}},d=function(e,n={}){let r=e,i=0,o=0,s=0,a=!1,c=n?.reopenDelay??5e3,d=!0,l=!1,u=0,f=new Set,p=new Set,h=new Set;function m(){a=!1,i=0,d=!0,c=n?.reopenDelay??5e3}function v(e){let{reopen:r=!0,reopenAttempts:l=10,reopenDelayIncrease:u,onReopenAttemptEnd:f}=n;if(i>=l||!r){let e;return m(),d&&o&&(e=o,du().clearTimeout(e)),void("function"==typeof f&&f(d))}s=df(()=>{a=!0,e.open(),i++},c="function"==typeof u?u({reopenCount:i,preDelay:c,isServerClosed:d}):c)}let g={socket:null,messages:[],get readyState(){return this.socket?this.socket.readyState:y.UNINSTANTIATED},get isOpened(){return y.OPEN===this.readyState},get isActive(){return y.CONNECTING===this.readyState||y.OPEN===this.readyState},open(){let e;if(this.isActive)return this;s&&!a&&(e=s,du().clearTimeout(e));let i=this.socket=new WebSocket(r,n?.protocols);return this._dispchReadyStateChangeEvent(),i.addEventListener("open",this._dispchReadyStateChangeEvent),i.addEventListener("close",this._dispchReadyStateChangeEvent),i.addEventListener("error",this._dispchReadyStateChangeEvent),i.onopen=e=>{let r,{onOpen:s,onMessage:c,combine:l,reopenDelay:u=5e3}=n;a&&(d?(o&&(r=o,du().clearTimeout(r)),o=df(m,u>1e3?u+100:1e3)):m()),s&&s(e),i.onmessage=e=>{c&&c(e);let n=this.deserialization(e.data);l&&f.forEach(e=>{l(e.requestData,n)&&(e.then?(e.then(n),f.delete(e)):e.on?e.on(n):e.responseData=n)}),p.forEach(e=>e(n))},this.messages.flush(),this._ping()},i.onerror=e=>{n.onError&&n.onError(e),d=!1,v(this)},i.onclose=e=>{let r;e.isInterruptWithNewUrl=l,l=!1,u&&(r=u,du().clearTimeout(r));let{reopenWhenServerClosed:o=!0,onClose:s,onServerClose:a}=n;d&&a&&a(e),s&&s(e),this._dispose(i),d&&o&&v(this)},this},openWithNewUrl(e){return e&&this.isActive&&e===r?this:(r=e||r,y.CONNECTING===this.readyState?(this._dispose(),this.socket?.close()):this.isActive&&this.close(b.CLOSE_INTERRUPT_WITH_NEW_URL,"interrupt by new url"),this.open())},close(e=1e3,n){return this.socket?new Promise(r=>{d=!1,b.CLOSE_INTERRUPT_WITH_NEW_URL===e&&(l=!0);let i=()=>{this.socket?.removeEventListener("close",i),this._dispose(this.socket),r()};this.socket?.addEventListener("close",i),this.socket?.close(e,n),this._dispchReadyStateChangeEvent()}):Promise.resolve()},connect(){return this.open()},disconnect(e,n){return this.close(e,n)},send(e){let{socket:n}=this;if(!n)return this;if(y.CONNECTING===n.readyState)return this.messages.push(e),this;e instanceof Function&&(e=e(r2()));let r=this.serialization(e);return n.send(r),this},request(e){if(!n?.combine)throw Error("Request failed! unconfigured combine, this configuration is required to use the request api.");e instanceof Function&&(e=e(r2())),this.send(e);let r={requestData:e,responseData:null};return f.add(r),{then(e){if(r.on&&console.warn('You have already registered for the "on" callback.'),r.responseData){let n=e(r.responseData);return n instanceof Promise?n:Promise.resolve(n)}return new Promise(e=>{r.then=n=>e(n)}).then(n=>e(n))},on(e,n=!0){r.then&&console.warn('You have already registered for the "then" callback.'),r.on=n=>{e(n,()=>{f.delete(r)})},r.responseData&&n&&r.on(r.responseData)}}},receive(){return new Promise(e=>{let n=this.onReceive(r=>{n(),e(r)})})},onReceive:e=>(p.add(e),()=>{p.delete(e)}),onMessage(e){return this.onReceive(e)},_dispchReadyStateChangeEvent(){h.forEach(e=>e(this.readyState))},_dispose(e){(e=e??this.socket)&&(e.removeEventListener("open",this._dispchReadyStateChangeEvent),e.removeEventListener("close",this._dispchReadyStateChangeEvent),e.removeEventListener("error",this._dispchReadyStateChangeEvent),e.onopen=null,e.onclose=null,e.onerror=null)},_ping(){let e,{keepAlive:r="none"}=n;u&&(e=u,du().clearTimeout(e)),"none"!==r&&this.isOpened&&(u=df(()=>{if(!this.isOpened)return;let e=n?.getKeepAliveMessage?n?.getKeepAliveMessage(r2()):{requestId:r2(),action:"heartbeat"===r?"HEART_BEAT":"PING"};"heartbeat"===n.keepAlive?(this.send(e),this._ping()):this.request(e).then(()=>{this._ping()}).catch(e=>{console.error(e)})},n?.keepAliveDelay||3e3))},onReadyStateChange:e=>(h.add(e),()=>{h.delete(e)}),serialization:e=>"[object Object]"===Object.prototype.toString.call(e)||Array.isArray(e)||"number"==typeof e?JSON.stringify(e):e,deserialization(e){if("string"==typeof e){let n=e;try{n=JSON.parse(e)}catch(r){n=e}return n}return e}};return g.messages.flush=function(){let e=[...this];if(this.length=0,e.length)for(let n of e)g.send(n)},g}(i.url,c);d.onReadyStateChange(function(e){0===e&&s&&s({status:c7.DH_LIB_INIT}),1===e&&r&&(i.preConnectSuccess=!0),3===e&&(i.preConnectSuccess=!1),s&&s({status:c7.DH_LIB_FULL_STATUS,content:{type:"wsState",readyState:e,body:dd[e]}})}),d.onMessage(function(e){var n=e.action;[de.TIMEOUT_EXIT,de.DISCONNECT_ALERT].includes(n)&&s&&s({status:c7.DH_LIB_STATUS,content:{type:n}}),[de.TIMEOUT_EXIT,de.DISCONNECT_ALERT,"HEART_BEAT","CONNECT"].includes(n)||s&&s({status:c7.DH_LIB_MESSAGE,content:e})}),r&&(i.dhServerSocket=d),d.open()}));case 9:case"end":return e.stop()}},e)}))).apply(this,arguments)}),cs(this,"closeSocket",cn(a7().mark(function e(){return a7().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(i.dhServerSocket){e.next=2;break}return e.abrupt("return");case 2:return i.socketClosingPromise=i.dhServerSocket.close(),e.next=5,i.socketClosingPromise;case 5:i.dhServerSocket=null;case 6:case"end":return e.stop()}},e)}))),cs(this,"handleConnect",cn(a7().mark(function e(){var n,r,o,s,a,c;return a7().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(i.connectParams){e.next=2;break}return e.abrupt("return");case 2:if(r=(n=i.connectParams).appId,o=n.appKey,s=n.token,a=n.parameters,c=n.onConnect,r||o||s){e.next=5;break}return e.abrupt("return");case 5:i.dhServerSocket&&i.dhServerSocket.request({action:"CONNECT",clientTs:(new Date).getTime(),requestId:r2(),body:JSON.stringify(a9(a9({token:s,appId:r,appKey:o},da()(i.connectParams,dc)),{},{parameters:a9(a9({},di()(a,["parameters"])),a&&a.parameters?a.parameters:{})}))}).on(function(e,n){null==c||c(e),0!==e.code&&n()});case 6:case"end":return e.stop()}},e)}))),this.url=e}return co(n,[{key:"sendMessage",value:function(n,r){return(e=e||cn(a7().mark(function e(n,r){var i;return a7().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:try{this.dhServerSocket&&this.dhServerSocket&&this.dhServerSocket.request(n).on(function(e){r&&r(e)})}catch(e){i="object"===ce(n)&&"requestId"in n?n.requestId:r2(),r&&r({code:-11,body:null,action:"RENDER_ERROR",requestId:i,message:JSON.stringify(e)})}case 1:case"end":return e.stop()}},e,this)}))).apply(this,arguments)}}]),n}();let dv={onLocalStream:()=>{},onLocalVideoPublished:()=>{},onRemoteVideoComing:()=>{},onRemoteVideoOn:()=>{},onRemoteVideoOff:()=>{},onRemoteVideoLoading:()=>{},onSuccess:()=>{},onError:()=>{}};class dg{client;#eZ;#e0;#e1;constructor(e){const{roomName:n,token:r,userId:i,appId:o,server:s,rtcConfig:a,callback:c}=e;if(this.#eZ={server:s,token:r,roomName:n,userId:i,appId:o},this.#e1={...dv,...c},this.#e0=a||{},!(n&&r&&i&&o&&s))return this.#e1.onError?.("RtcConnection is required, please check roomName, token, userId, appId, server"),void console.error("RtcConnection is required, please check roomName, token, userId, appId, server");this.init()}init(){let{BaiduRtcRoomClient:e}=window.baidurtc,n=new e;this.client=n,n.BRTC_Start({server:this.#eZ.server,appid:this.#eZ.appId,token:this.#eZ.token,roomname:this.#eZ.roomName,userid:this.#eZ.userId,displayname:"starling-brtc",remotevideoviewid:"starlingRtcContainer",showvideobps:!1,usingvideo:!1,usingaudio:!1,aspublisher:!1,usingdatachannel:!1,autoplaymuted:!1,autosubscribe:!1,autopublish:!1,usingremotemediastate:!0,...this.#e0||{},remotedata:()=>{},success:this.#e1.onSuccess,error:this.#e1.onError,remotevideocoming:this.#e1.onRemoteVideoComing,remotevideoloading:this.#e1.onRemoteVideoLoading,remotevideoon:this.#e1.onRemoteVideoOn,remotevideooff:this.#e1.onRemoteVideoOff,onlocalstream:this.#e1.onLocalStream,localvideopublished_ok:this.#e1.onLocalVideoPublished,remotevideoconnected_state:this.#e1.onRemoteVideoConnected,remotemediastating:this.#e1.onRemoteMediaState,localvideoconnected_state:this.#e1.onLocalVideoConnected})}destroy(){this.client?.BRTC_Stop()}subscribeStreaming(e,n){this.client?.BRTC_SubscribeStreaming(e,n)}stopSubscribeStreaming(e){this.client?.BRTC_StopSubscribeStreaming(e)}muteMicphone(e){this.client?.BRTC_MuteMicphone(e)}getRemoteVideoInfo(e){return this.client?.BRTC_GetRemoteVideoInfo(e)}getClient(){return this.client}}var dy=void 0===Number.MAX_SAFE_INTEGER?0x1fffffffffffff:Number.MAX_SAFE_INTEGER,db=new WeakMap,d_=(f=db,p=function(e,n){return f.set(e,n),n},h=db,function(e){var n=h.get(e),r=void 0===n?e.size:n<0x40000000?n+1:0;if(!e.has(r))return p(e,r);if(e.size<0x20000000){for(;e.has(r);)r=Math.floor(0x40000000*Math.random());return p(e,r)}if(e.size>dy)throw Error("Congratulations, you created a collection of unique numbers which uses all available integers!");for(;e.has(r);)r=Math.floor(Math.random()*dy);return p(e,r)}),dw=(m=function(e){var n=new Map([[0,function(){}]]),r=new Map([[0,function(){}]]),i=new Map,o=new Worker(e);return o.addEventListener("message",function(e){var o=e.data;if(void 0!==(p=o).method&&"call"===p.method){var s=o.params,a=s.timerId,c=s.timerType;if("interval"===c){var d=n.get(a);if("number"==typeof d){var l=i.get(d);if(void 0===l||l.timerId!==a||l.timerType!==c)throw Error("The timer is in an undefined state.")}else{if(void 0===d)throw Error("The timer is in an undefined state.");d()}}else if("timeout"===c){var u=r.get(a);if("number"==typeof u){var f=i.get(u);if(void 0===f||f.timerId!==a||f.timerType!==c)throw Error("The timer is in an undefined state.")}else{if(void 0===u)throw Error("The timer is in an undefined state.");u(),r.delete(a)}}}else{if(null!==(h=o).error||"number"!=typeof h.id)throw Error(o.error.message);var p,h,m=o.id,v=i.get(m);if(void 0===v)throw Error("The timer is in an undefined state.");var g=v.timerId,y=v.timerType;i.delete(m),"interval"===y?n.delete(g):r.delete(g)}}),{clearInterval:function(e){var r=d_(i);i.set(r,{timerId:e,timerType:"interval"}),n.set(e,r),o.postMessage({id:r,method:"clear",params:{timerId:e,timerType:"interval"}})},clearTimeout:function(e){var n=d_(i);i.set(n,{timerId:e,timerType:"timeout"}),r.set(e,n),o.postMessage({id:n,method:"clear",params:{timerId:e,timerType:"timeout"}})},setInterval:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=d_(n);return n.set(i,function(){e(),"function"==typeof n.get(i)&&o.postMessage({id:null,method:"set",params:{delay:r,now:performance.now(),timerId:i,timerType:"interval"}})}),o.postMessage({id:null,method:"set",params:{delay:r,now:performance.now(),timerId:i,timerType:"interval"}}),i},setTimeout:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=d_(r);return r.set(i,e),o.postMessage({id:null,method:"set",params:{delay:n,now:performance.now(),timerId:i,timerType:"timeout"}}),i}}},v='(()=>{"use strict";const e=new Map,t=new Map,r=(e,t)=>{let r,o;const i=performance.now();r=i,o=e-Math.max(0,i-t);return{expected:r+o,remainingDelay:o}},o=(e,t,r,i)=>{const s=performance.now();s>r?postMessage({id:null,method:"call",params:{timerId:t,timerType:i}}):e.set(t,setTimeout(o,r-s,e,t,r,i))};addEventListener("message",(i=>{let{data:s}=i;try{if("clear"===s.method){const{id:r,params:{timerId:o,timerType:i}}=s;if("interval"===i)(t=>{const r=e.get(t);if(void 0===r)throw new Error(\'There is no interval scheduled with the given id "\'.concat(t,\'".\'));clearTimeout(r),e.delete(t)})(o),postMessage({error:null,id:r});else{if("timeout"!==i)throw new Error(\'The given type "\'.concat(i,\'" is not supported\'));(e=>{const r=t.get(e);if(void 0===r)throw new Error(\'There is no timeout scheduled with the given id "\'.concat(e,\'".\'));clearTimeout(r),t.delete(e)})(o),postMessage({error:null,id:r})}}else{if("set"!==s.method)throw new Error(\'The given method "\'.concat(s.method,\'" is not supported\'));{const{params:{delay:i,now:n,timerId:a,timerType:d}}=s;if("interval"===d)((t,i,s)=>{const{expected:n,remainingDelay:a}=r(t,s);e.set(i,setTimeout(o,a,e,i,n,"interval"))})(i,a,n);else{if("timeout"!==d)throw new Error(\'The given type "\'.concat(d,\'" is not supported\'));((e,i,s)=>{const{expected:n,remainingDelay:a}=r(e,s);t.set(i,setTimeout(o,a,t,i,n,"timeout"))})(i,a,n)}}}}catch(e){postMessage({error:{message:e.message},id:s.id,result:null})}}))})();',g=null,function(){if(null!==g)return g;var e=new Blob([v],{type:"application/javascript; charset=utf-8"}),n=URL.createObjectURL(e);return g=m(n),setTimeout(function(){return URL.revokeObjectURL(n)}),g}),dS=function(e){return dw().clearInterval(e)},dR=function(e){return dw().clearTimeout(e)},dT=function(){var e;return(e=dw()).setInterval.apply(e,arguments)},dC=function(){var e;return(e=dw()).setTimeout.apply(e,arguments)};class dx{running=!1;logger=!0;timeoutDuration;catchMethod;promise=null;reject=null;stopTimeout=null;constructor(e,n){this.timeoutDuration=e,this.catchMethod=n}start(){this.running?this.logger&&console.warn("TimeoutController已启动"):(this.logger&&console.info("TimeoutController开始计时:",this.timeoutDuration),this.running=!0,this.promise=new Promise((e,n)=>{var r,i;let o,s;this.reject=n,this.stopTimeout?.(),this.stopTimeout=(r=()=>{n(Error("TimeoutController超时错误"))},i=this.timeoutDuration,o=-1,s=null,"undefined"!=typeof Worker?s=E:(s=window,console.warn("浏览器不支持 Web Workers,使用 原生 timer 代替")),i>=0&&(o=s.setTimeout(r,i)),()=>{-1!==o&&s.clearTimeout(o),o=-1})}),this.catchMethod&&this.promise?.catch(this.catchMethod))}clear(){this.running?(this.logger&&console.info("TimeoutController停止计时"),this.running=!1,this.stopTimeout?.(),this.stopTimeout=null,this.reject&&(this.reject=null)):this.logger&&console.warn("TimeoutController未启动")}}var dE=__webpack_require__("../../node_modules/lodash/isFunction.js"),dO=__webpack_require__.n(dE),dk=function(){function e(n){var r=this;cr(this,e),cs(this,"client",void 0),cs(this,"isRtcVideoOn",!1),cs(this,"rtcConnection",void 0),cs(this,"rtcConfig",void 0),cs(this,"bizConfig",void 0),cs(this,"rtcCallback",void 0),cs(this,"restarting",!1),cs(this,"timeoutEvent",void 0),cs(this,"reopenTimer",void 0),cs(this,"restartCount",0),cs(this,"closeLog",!0),cs(this,"haveVideoOn",!1),cs(this,"rtcStateCallback",null),cs(this,"openRtc",function(e){if(r.restarting)r.closeLog||console.warn("rtc restarting");else if(e&&(r.rtcConnection=e),r.rtcConnection&&!dn()(r.rtcConnection)){var n=r.rtcConnection,i=n.server,o=n.appId,s=n.token,a=n.roomName,c=n.userId,d=r.rtcCallback||{},l=d.onRemotedata,u=d.onLocalStream,f=d.onRemoteVideoComing,p=d.onLocalVideoPublished,h=d.onLocalVideoPublishing,m=d.onRemoteVideoOn,v=d.onRemoteVideoOff,g=d.onRemoteVideoLoading,y=d.onSuccess,b=d.onError,_=d.onLocalVideoConnected,w=d.onRemoteVideoConnected,S=d.onRemoteMediaState,R=d.onPlayingError,T=d.onDigitalHumanCallback;r.timeoutEvent.start(),r.rtcStateCallback=function(e){var n=e.body,r=e.action;T&&T({status:c7.DH_LIB_FULL_STATUS,content:{type:"rtcState",action:r,body:n}})},r.client=new dg({roomName:a,token:s,userId:c,appId:o,server:i,rtcConfig:r.rtcConfig,callback:{onRemoteVideoConnected:function(n,i){if(!i&&!r.haveVideoOn)var o=setTimeout(function(){r.restartCount<3?(r.restartCount=++r.restartCount,r.restartRtc&&r.restartRtc(e)):(r.restartCount=0,r.closeRtc()),clearTimeout(o)},500);if(i){var s=document.getElementById("remotevideo500");s.muted=!1;var a=s.play();void 0!==a&&a.catch(function(){s.muted=!0,s.play().catch(function(e){r.closeLog||console.info("videoElement play error",e),R&&R(s),T&&T({status:c7.DH_LIB_ERROR,content:{type:de.LOCAL_VIDEO_ERROR}})}),T&&T({status:c7.DH_LIB_STATUS,content:{type:de.LOCAL_VIDEO_MUTED}})})}r.closeLog||console.info("remoteVideoConnected",n,i,r.restartCount),r.rtcStateCallback&&r.rtcStateCallback({action:"remoteVideoConnected",body:{id:n,connected:i,restartCount:r.restartCount}}),dO()(w)&&w(n,i)},onRemoteVideoOn:function(e){r.haveVideoOn=!0,r.closeLog||console.info("remotevideoon by id: ",e),r.timeoutEvent.clear();var n=document.querySelector("#starlingRtcContainer"),i=n&&n.lastChild;i&&(i.style.display="none"),r.rtcStateCallback&&r.rtcStateCallback({action:"remotevideoon",body:e}),T&&T({status:c7.DH_LIB_OPEN}),dO()(m)&&m(e)},onRemoteMediaState:function(e,n,i){r.closeLog||console.info("remoteMediaState",e,n,i),r.rtcStateCallback&&r.rtcStateCallback({action:"remoteMediaState",body:{id:e,medium:n,connected:i}}),dO()(S)&&S(e,n,i)},onLocalVideoConnected:function(e){r.closeLog||console.info("localVideoConnected",e),r.rtcStateCallback&&r.rtcStateCallback({action:"localVideoConnected",body:{connected:e}}),dO()(_)&&_(e)},onRemotedata:function(e){if(r.rtcConfig&&r.rtcConfig.usingdatachannel){var n=ch.parse(e);r.closeLog||console.info("RTC - receive:",n),dO()(l)&&l(n)}},onLocalStream:function(e,n){r.closeLog||console.info("rtc - onlocalstream by name: "+n),r.rtcStateCallback&&r.rtcStateCallback({action:"onlocalstream",body:{stream:e,name:n}}),dO()(u)&&u(e,n)},onLocalVideoPublished:function(){r.closeLog||console.info("LocalVideoPublished 本地视频发布成功"),r.rtcStateCallback&&r.rtcStateCallback({action:"localvideopublished_ok",body:!0}),dO()(p)&&p()},onLocalVideoPublishing:function(){r.closeLog||console.info("LocalVideoPublishing 本地视频发布成功"),r.rtcStateCallback&&r.rtcStateCallback({action:"localvideopublishing",body:!0}),dO()(h)&&h()},onRemoteVideoComing:function(e){r.closeLog||console.info("remotevideocoming",e),r.rtcStateCallback&&r.rtcStateCallback({action:"remotevideocoming",body:e}),dO()(f)&&f(e)},onRemoteVideoLoading:function(e){r.closeLog||console.info("remotevideoloading by id: ",e),r.rtcStateCallback&&r.rtcStateCallback({action:"remotevideoloading",body:e}),dO()(g)&&g(e)},onRemoteVideoOff:function(e){var n=document.getElementById("remotevideo500");n&&n.pause(),r.closeLog||console.info("remotevideooff: ",e),r.isRtcVideoOn=!1,r.rtcStateCallback&&r.rtcStateCallback({action:"remotevideooff",body:e}),T&&T({status:c7.DH_LIB_CLOSE}),dO()(v)&&v(e),r.timeoutEvent.start()},onSuccess:function(){r.closeLog||console.info("rtc - success"),r.rtcStateCallback&&r.rtcStateCallback({action:"success",body:!0}),dO()(y)&&y()},onError:function(n){r.isRtcVideoOn=!1,r.closeLog||console.error("rtc - error:",n),r.rtcStateCallback&&r.rtcStateCallback({action:"error",body:n}),T&&T({status:c7.DH_LIB_ERROR,content:{type:de.RTC_ERROR}}),dO()(b)&&b(n),(n.includes("Lost connection to the server")||n.includes("Is the server down"))&&r.restartRtc&&r.restartRtc(e)}}})}}),cs(this,"closeRtc",function(){r.timeoutEvent.clear(),clearTimeout(r.reopenTimer),r.client&&r.client.destroy(),r.restarting=!1}),cs(this,"restartRtc",function(e){!r.restarting&&r.bizConfig&&r.bizConfig.autoReConnect&&(r.rtcStateCallback&&r.rtcStateCallback({action:"restartRtc",body:e}),r.restarting=!0,r.closeRtc(),r.reopenTimer=setTimeout(function(){r.closeLog||console.error("拉流失败,开始重启"),r.restarting=!1,r.openRtc(e)},2e3))});var i=n.rtcConnection,o=n.rtcConfig,s=n.closeLog,a=n.rtcCallback;this.rtcConnection=i,this.rtcConfig=o,this.rtcCallback=a,this.closeLog=void 0===s||s,this.timeoutEvent=new dx(6e4,function(){if(!r.rtcConnection)return!r.closeLog&&console.warn("remotevideoon事件超时, rtcConnectionRef is null");r.timeoutEvent.clear(),r.restartRtc&&r.restartRtc(r.rtcConnection)})}return co(e,[{key:"muteMicphone",value:function(e){this.client&&this.client.muteMicphone&&this.client.muteMicphone(e)}}]),e}(),dI="starling-cutout-canvas",dM="cloud-brtc-player-wrapper",dP="remotevideo500";function dj(e){var n=document.getElementById(dP);return n&&(n.muted=e),n}function dA(e){var n=document.getElementById(dP);try{if(n)return e?n.play():n.pause()}catch(e){console.info(e)}}var dD=__webpack_require__("../../node_modules/lodash/isNumber.js"),dB=__webpack_require__.n(dD);function dN(e){return(dN="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function dL(e,n){(null==n||n>e.length)&&(n=e.length);for(var r=0,i=Array(n);r<n;r++)i[r]=e[r];return i}var dU=function(e,n,r){var i;return Promise.race([new Promise(function(n){if(e())var i=setInterval(function(){e()||(clearInterval(i),n())},r||100);else n()})].concat(function(e){if(Array.isArray(e))return dL(e)}(i=n?[new Promise(function(e,r){setTimeout(function(){r(Error("overtime"))},n)})]:[])||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(i)||function(e,n){if(e){if("string"==typeof e)return dL(e,void 0);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?dL(e,void 0):void 0}}(i)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()))},dF={exports:{}};w=function(e){var n,r,i,o,s,a,c,d,l=e.document,u=e.console,f={},p={},h={},m={},v=[],g={},y={},b={canvas:[],image:[],video:[]},_={},w=e.WeakMap&&new WeakMap,S=0,R=function(){},T={transparent:[0,0,0,0],black:[0,0,0,1],red:[1,0,0,1],green:[0,128/255,0,1],blue:[0,0,1,1],white:[1,1,1,1],silver:[192/255,192/255,192/255,1],gray:[128/255,128/255,128/255,1],maroon:[128/255,0,0,1],purple:[128/255,0,128/255,1],fuchsia:[1,0,1,1],lime:[0,1,0,1],olive:[128/255,128/255,0,1],yellow:[1,1,0,1],navy:[0,0,128/255,1],teal:[0,128/255,128/255,1],aqua:[0,1,1,1],orange:[1,165/255,0,1]},C=/^(rgb|hsl)a?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*(\d+(\.\d*)?)\s*)?\)/i,x=/^#(([0-9a-fA-F]{3,8}))/,E=["x","y","z","w"],O=["r","g","b","a"],k={srcRGB:770,dstRGB:771,srcAlpha:1,dstAlpha:771},I=["MAX_COMBINED_TEXTURE_IMAGE_UNITS","MAX_FRAGMENT_UNIFORM_VECTORS","MAX_TEXTURE_IMAGE_UNITS","MAX_VARYING_VECTORS","MAX_VERTEX_ATTRIBS","MAX_VERTEX_TEXTURE_IMAGE_UNITS","MAX_VERTEX_UNIFORM_VECTORS"],M=/^[\t ]*#define[\t ]+SHADER_NAME\s+([^$\n\r]+)/i,P={frustum:function(e,n,r,i,o,s,a){a||(a=P.create());var c=n-e,d=i-r,l=s-o;return a[0]=2*o/c,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=2*o/d,a[6]=0,a[7]=0,a[8]=(n+e)/c,a[9]=(i+r)/d,a[10]=-(s+o)/l,a[11]=-1,a[12]=0,a[13]=0,a[14]=-s*o*2/l,a[15]=0,a},perspective:function(e,n,r,i,o){var s=r*Math.tan(e*Math.PI/360),a=s*n;return P.frustum(-a,a,-s,s,r,i,o)},multiply:function(e,n,r){var i=n[0],o=n[1],s=n[2],a=n[3],c=n[4],d=n[5],l=n[6],u=n[7],f=n[8],p=n[9],h=n[10],m=n[11],v=n[12],g=n[13],y=n[14],b=n[15],_=r[0],w=r[1],S=r[2],R=r[3];return e[0]=_*i+w*c+S*f+R*v,e[1]=_*o+w*d+S*p+R*g,e[2]=_*s+w*l+S*h+R*y,e[3]=_*a+w*u+S*m+R*b,_=r[4],w=r[5],S=r[6],R=r[7],e[4]=_*i+w*c+S*f+R*v,e[5]=_*o+w*d+S*p+R*g,e[6]=_*s+w*l+S*h+R*y,e[7]=_*a+w*u+S*m+R*b,_=r[8],w=r[9],S=r[10],R=r[11],e[8]=_*i+w*c+S*f+R*v,e[9]=_*o+w*d+S*p+R*g,e[10]=_*s+w*l+S*h+R*y,e[11]=_*a+w*u+S*m+R*b,_=r[12],w=r[13],S=r[14],R=r[15],e[12]=_*i+w*c+S*f+R*v,e[13]=_*o+w*d+S*p+R*g,e[14]=_*s+w*l+S*h+R*y,e[15]=_*a+w*u+S*m+R*b,e},identity:function(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},copy:function(e,n){return e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e[4]=n[4],e[5]=n[5],e[6]=n[6],e[7]=n[7],e[8]=n[8],e[9]=n[9],e[10]=n[10],e[11]=n[11],e[12]=n[12],e[13]=n[13],e[14]=n[14],e[15]=n[15],e}},j=(d=0,e.requestAnimationFrame||e.webkitRequestAnimationFrame||e.mozRequestAnimationFrame||e.oRequestAnimationFrame||e.msRequestAnimationFrame||function(n){var r,i,o;return i=Math.max(0,16-((r=(new Date).getTime())-d)),o=e.setTimeout(function(){n(r+i)},i),d=r+i,o}),A=e.cancelAnimationFrame||e.webkitCancelAnimationFrame||e.mozCancelAnimationFrame||e.oCancelAnimationFrame||e.msCancelAnimationFrame||function(n){e.cancelTimeout(n)},D=["alias","destroy","effect","id","initialize","inputs","isDestroyed","isReady","matte","off","on","readPixels","render","title","update"],B=["alias","destroy","id","inputs","isDestroyed","isReady","off","on","source","title","update"],N=["aliases","defaults","destroy","effect","go","id","incompatible","isDestroyed","isEffect","isNode","isSource","isTarget","isTransform","removeAlias","render","source","stop","target","transform"];function L(e,n){var r,i;if("string"==typeof e)r=l.querySelector(e);else if(!e)return!1;return e.tagName&&(r=e),r?(i=r.tagName.toLowerCase(),n&&0>n.indexOf(i)?e:r):e}function U(e,n){var r,i;for(r in e.prototype&&n.prototype&&e.prototype!==n.prototype&&U(e.prototype,n.prototype),n)n.hasOwnProperty(r)&&((i=Object.getOwnPropertyDescriptor(n,r)).get||i.set?Object.defineProperty(e,r,{configurable:!0,enumerable:!0,get:i.get,set:i.set}):e[r]=n[r]);return e}function F(e){var n;if(!u)return R;if("function"==typeof u[e])n=u[e];else{if("function"!=typeof u.log)return R;n=u.log}return n.bind?n.bind(u):function(){n.apply(u,arguments)}}function q(n,r){if(r||(r="HTMLElement"),!e[r])return u.error("window[proto] is undefined, proto:",r),!1;if(n instanceof e[r])return!0;if(!n||"object"!==dN(n))return!1;for(;n;)if((n=Object.getPrototypeOf(n))&&n.constructor.name===r)return!0;return!1}function H(e,n,r,i,o){var s,a;function c(e,n,r){return(r%=1)<0&&(r+=1),r<1/6?e+(n-e)*r*6:r<.5?n:r<2/3?e+(n-e)*(2/3-r)*6:e}return s=2*r-(a=r<.5?r*(n+1):r+n-r*n),o||(o=[]),o[0]=c(s,a,e+1/3),o[1]=c(s,a,e),o[2]=c(s,a,e-1/3),o[3]=i,o}function V(e){var n,r,i,o="#",s=e[3]<1?4:3;for(n=0;n<s;n++)i=(r=Math.min(255,Math.round(255*e[n]||0))).toString(16),r<16&&(i="0"+i),o+=i;return o}function z(e){return Array.isArray(e)||e&&e.BYTES_PER_ELEMENT&&"length"in e}function G(n){if("function"!=typeof n)throw Error("setTimeoutZero argument is not a function");v.push(n),"file:"!==e.location.protocol?e.postMessage("seriously-timeout-message",e.location):setTimeout(function(){v.length&&v.shift()()},0)}function W(n,r){var i;try{i=e.WebGLDebugUtils&&r&&r.debugContext?e.WebGLDebugUtils.makeDebugContext(n.getContext("webgl",r)):n.getContext("webgl",r)}catch(e){}if(!i)try{i=n.getContext("experimental-webgl",r)}catch(e){}return i}function X(){var r;return n&&n.getError()===n.CONTEXT_LOST_WEBGL&&(n=void 0),n||!e.WebGLRenderingContext||i||((n=W(r=l.createElement("canvas")))?r.addEventListener("webglcontextlost",function e(i){i.preventDefault(),n&&n.canvas===this&&(n=void 0,r.removeEventListener("webglcontextlost",e,!1))},!1):Y.logger.warn("Unable to access WebGL.")),n}function $(e){var n,r,i;function o(e,i){var o,s;z(e)?(o=e[0],s=e[1]||o):o=e,"string"==typeof o?o=o.toLowerCase():"number"==typeof o?o=String(o):o||(o=""),r[o]=s,i||(n.firstValue=o)}function s(e){return e}for(i in e.inputs)if(e.inputs.hasOwnProperty(i)){if(e.reserved.indexOf(i)>=0||Object.prototype[i])throw Error("Reserved input name: "+i);(n=e.inputs[i]).name=i,isNaN(n.min)&&(n.min=-1/0),isNaN(n.max)&&(n.max=1/0),isNaN(n.minCount)&&(n.minCount=-1/0),isNaN(n.maxCount)&&(n.maxCount=1/0),isNaN(n.step)&&(n.step=0),isNaN(n.mod)&&(n.mod=0),"enum"===n.type&&n.options&&z(n.options)&&n.options.length&&(r={},n.options.forEach(o),n.options=r),"vector"===n.type?n.dimensions<2?n.dimensions=2:n.dimensions>4||!n.dimensions||isNaN(n.dimensions)?n.dimensions=4:n.dimensions=Math.round(n.dimensions):n.dimensions=1,n.shaderDirty=!!n.shaderDirty,"function"!=typeof n.validate&&(n.validate=Y.inputValidators[n.type]||s),e.defaultImageInput||"image"!==n.type||(e.defaultImageInput=i)}}function J(e,n,r,i){var o,s,a,c,d=!0===i?i:i&&i.useFloat;d=!1,this.type=d?e.FLOAT:e.UNSIGNED_BYTE,o=e.createFramebuffer(),e.bindFramebuffer(e.FRAMEBUFFER,o),i&&i.texture?(this.texture=i.texture,e.bindTexture(e.TEXTURE_2D,this.texture),this.ownTexture=!1):(this.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.texture),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),this.ownTexture=!0);try{this.type===e.FLOAT?(a=new Float32Array(n*r*4),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,n,r,0,e.RGBA,e.FLOAT,a)):(e.texImage2D(e.TEXTURE_2D,0,e.RGBA,n,r,0,e.RGBA,e.UNSIGNED_BYTE,null),this.type=e.UNSIGNED_BYTE)}catch(i){this.type=e.UNSIGNED_BYTE,a=new Uint8Array(n*r*4),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,n,r,0,e.RGBA,e.UNSIGNED_BYTE,a)}if(s=e.createRenderbuffer(),e.bindRenderbuffer(e.RENDERBUFFER,s),e.renderbufferStorage(e.RENDERBUFFER,e.DEPTH_COMPONENT16,n,r),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,s),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,this.texture,0),(c=e.checkFramebufferStatus(e.FRAMEBUFFER))===e.FRAMEBUFFER_INCOMPLETE_ATTACHMENT)throw Error("Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_ATTACHMENT");if(c===e.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT)throw Error("Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT");if(c===e.FRAMEBUFFER_INCOMPLETE_DIMENSIONS)throw Error("Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_DIMENSIONS");if(c===e.FRAMEBUFFER_UNSUPPORTED)throw Error("Incomplete framebuffer: FRAMEBUFFER_UNSUPPORTED");if(c!==e.FRAMEBUFFER_COMPLETE)throw Error("Incomplete framebuffer: "+c);e.bindTexture(e.TEXTURE_2D,null),e.bindRenderbuffer(e.RENDERBUFFER,null),e.bindFramebuffer(e.FRAMEBUFFER,null),this.gl=e,this.frameBuffer=o,this.renderBuffer=s,this.width=n,this.height=r}function K(e,n,r){var i,o,s,a,c,d,l,u,f="";function p(n,r){var i,o;if(i=r?e.createShader(e.FRAGMENT_SHADER):e.createShader(e.VERTEX_SHADER),e.shaderSource(i,n),e.compileShader(i),!e.getShaderParameter(i,e.COMPILE_STATUS)){for(n=n.split(/[\n\r]/),o=0;o<n.length;o++)n[o]=o+1+": "+n[o];throw n.unshift("Error compiling "+(r?"fragment":"vertex")+" shader:"),Y.logger.error(n.join("\n")),Error("Shader error: "+e.getShaderInfoLog(i))}return i}if(o=p(n),s=p(r,!0),i=e.createProgram(),e.attachShader(i,o),(a=e.getShaderInfoLog(o))&&(f+="Vertex shader error: "+a+"\n"),e.attachShader(i,s),(a=e.getShaderInfoLog(s))&&(f+="Fragment shader error: "+a+"\n"),e.linkProgram(i),!e.getProgramParameter(i,e.LINK_STATUS))throw f+=e.getProgramInfoLog(i),e.deleteProgram(i),e.deleteShader(o),e.deleteShader(s),(l=M.exec(n)||M.exec(r))&&(f="Shader = "+l[1]+"\n"+f),I.forEach(function(n){f+="\n"+n+": "+e.getParameter(e[n])}),Error("Could not initialize shader:\n"+f);for(e.useProgram(i),this.uniforms={},d=e.getProgramParameter(i,e.ACTIVE_UNIFORMS),c=0;c<d;++c)(u={info:e.getActiveUniform(i,c)}).name=u.info.name.replace(/\[0\]$/,""),u.loc=e.getUniformLocation(i,u.name),u.set=function(n,r){if(n.type===e.SAMPLER_2D)return function(i){n.glTexture=e["TEXTURE"+i],e.uniform1i(r,i)};if(n.type===e.BOOL||n.type===e.INT)return n.size>1?function(n){e.uniform1iv(r,n)}:function(n){e.uniform1i(r,n)};if(n.type===e.FLOAT)return n.size>1?function(n){e.uniform1fv(r,n)}:function(n){e.uniform1f(r,n)};if(n.type===e.FLOAT_VEC2)return function(n){e.uniform2f(r,n[0],n[1])};if(n.type===e.FLOAT_VEC3)return function(n){e.uniform3f(r,n[0],n[1],n[2])};if(n.type===e.FLOAT_VEC4)return function(n){e.uniform4f(r,n[0],n[1],n[2],n[3])};if(n.type===e.FLOAT_MAT3)return function(n){e.uniformMatrix3fv(r,!1,n)};if(n.type===e.FLOAT_MAT4)return function(n){e.uniformMatrix4fv(r,!1,n)};throw Error("Unknown shader uniform type: "+n.type)}(u.info,u.loc),u.get=function(n){return function(){return e.getUniform(i,n)}}(u.loc),this.uniforms[u.name]=u,this[u.name]||(this[u.name]=u);for(this.attributes={},this.location={},d=e.getProgramParameter(i,e.ACTIVE_ATTRIBUTES),c=0;c<d;++c)(u={info:e.getActiveAttrib(i,c)}).name=u.info.name,u.location=e.getAttribLocation(i,u.name),this.attributes[u.name]=u,this.location[u.name]=u.location;this.gl=e,this.program=i,this.destroy=function(){var n;for(n in e&&(e.deleteProgram(i),e.deleteShader(o),e.deleteShader(s)),this)this.hasOwnProperty(n)&&delete this[n];i=null,o=null,s=null}}function Y(n){if(e===this||!(this instanceof Y)||void 0!==this.id)return new Y(n);var r,i,s,d,u,v,_,T,C,x,E,O,I,D,B,F=++S,H=this,z=[],X={},Q=0,Z=[],ee=[],et=[],en=[],er={},ei=[],eo=[],es={},ea={},ec=!1,ed=!1,el=null;function eu(e,n){var r,i,o;return!!n&&(r=n.createBuffer(),n.bindBuffer(n.ARRAY_BUFFER,r),n.bufferData(n.ARRAY_BUFFER,e.vertices,n.STATIC_DRAW),r.size=3,i=n.createBuffer(),n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,i),n.bufferData(n.ELEMENT_ARRAY_BUFFER,e.indices,n.STATIC_DRAW),o=n.createBuffer(),n.bindBuffer(n.ARRAY_BUFFER,o),n.bufferData(n.ARRAY_BUFFER,e.coords,n.STATIC_DRAW),o.size=2,{vertex:r,index:i,texCoord:o,length:e.indices.length,mode:e.mode||n.TRIANGLES})}function ef(e){var n={};return n.vertices=new Float32Array([-1,-1,0,1,-1,0,1,1,0,-1,1,0]),n.indices=new Uint16Array([0,1,2,0,2,3]),n.coords=new Float32Array([0,0,1,0,1,1,0,1]),eu(n,e)}function ep(){Y.logger.warn("WebGL context lost. 5 seconds to restore context."),el&&clearTimeout(el),el=setTimeout(em,5e3)}function eh(e){var n,o;if(!i)if(e.canvas.addEventListener("webglcontextlost",ev,!1),e.canvas.addEventListener("webglcontextrestored",em,!1),e.isContextLost())Y.logger.warn("Unable to attach lost WebGL context. Will try again when context is restored.");else{for(i=e,r=e.canvas,d=ef(i),u=new K(i,"#define SHADER_NAME seriously.base\n"+a,"#define SHADER_NAME seriously.base\n"+c),n=0;n<en.length;n++)(o=en[n]).gl=i,o.initialize(),o.buildShader();for(n=0;n<Z.length;n++)(o=Z[n]).initialize();for(n=0;n<ee.length;n++)(o=ee[n]).model||(o.model=d,o.shader=u)}}function em(){var e,n,r,o;if(el&&clearTimeout(el),el=null,s&&!i){if(q(n=s.target,"WebGLFramebuffer"))return void Y.logger.error("Unable to restore target built on WebGLFramebuffer");if(e=W(n,{alpha:!0,premultipliedAlpha:!0,preserveDrawingBuffer:!0,stencil:!0,debugContext:s.debugContext})){if(e.isContextLost())return el?void Y.logger.error("restore WebGL Context ing, wait...."):(ep(),void Y.logger.error("Unable to restore WebGL Context"));for(eh(e),s.renderToTexture?s.frameBuffer=new J(i,s.width,s.height,!1):s.frameBuffer={frameBuffer:null},r=0;r<z.length;r++)(o=z[r]).setDirty(),o.emit("webglcontextrestored");Y.logger.log("WebGL context restored")}}}function ev(e){var n,o;for(e?(e.preventDefault(),ep()):el&&clearTimeout(el),B&&(A(B),B=0),r&&r.removeEventListener("webglcontextlost",ev,!1),n=0;n<en.length;n++)(o=en[n]).gl=null,o.initialized=!1,o.baseShader=null,o.model=null,o.frameBuffer=null,o.texture=null,o.shader&&o.shader.destroy&&(o.shader.destroy(),o.effect.commonShader&&delete ea[o.hook]),o.shaderDirty=!0,o.shader=null,o.effect.lostContext&&o.effect.lostContext.call(o),e&&o.emit("webglcontextlost");for(n=0;n<Z.length;n++)(o=Z[n]).texture=null,o.initialized=!1,o.allowRefresh=!1,e&&o.emit("webglcontextlost");for(n=0;n<et.length;n++)(o=et[n]).frameBuffer=null,o.texture=null,e&&o.emit("webglcontextlost");for(n=0;n<ee.length;n++)(o=ee[n]).model=!1,o.frameBuffer=null,e&&o.emit("webglcontextlost");u&&u.destroy&&u.destroy(),i&&(i.deleteBuffer(d.vertex),i.deleteBuffer(d.texCoord),i.deleteBuffer(d.index)),d&&(delete d.vertex,delete d.texCoord,delete d.index),d=null,u=null,i=null,r=null}function eg(e){var n,r,i=!1;if(B=0,ei.length)for(i=!0,n=0;n<ei.length;n++)ei[n].call(H,e);if(Z&&Z.length)for(i=!0,n=0;n<Z.length;n++){var o=(r=Z[n]).source&&r.source.dataset&&r.source.dataset.playing;if("string"==typeof o&&"true"!==o)return void(B=j(eg));(r.dirty||r.checkDirty&&r.checkDirty())&&(r.dirty=!1,r.setDirty())}for(n=0;n<ee.length;n++)(r=ee[n]).auto&&r.dirty&&r.render();if(eo.length)for(i=!0,n=0;n<eo.length;n++)eo[n].call(H);i&&!B&&(B=j(eg))}function ey(e,n,r,o,s,a){var c,d,l,u,f,p,h,m,v,g=0,y=s&&s.gl||i;if(y){for(c in s?(u=a&&a.width||s.width||y.canvas.width,f=a&&a.height||s.height||y.canvas.height):(u=a&&a.width||y.canvas.width,f=a&&a.height||y.canvas.height),e.use(),y.viewport(0,0,u,f),y.bindFramebuffer(y.FRAMEBUFFER,o),y.enableVertexAttribArray(e.location.position),y.enableVertexAttribArray(e.location.texCoord),n.texCoord&&(y.bindBuffer(y.ARRAY_BUFFER,n.texCoord),y.vertexAttribPointer(e.location.texCoord,n.texCoord.size,y.FLOAT,!1,0,0)),y.bindBuffer(y.ARRAY_BUFFER,n.vertex),y.vertexAttribPointer(e.location.position,n.vertex.size,y.FLOAT,!1,0,0),y.bindBuffer(y.ELEMENT_ARRAY_BUFFER,n.index),a&&a.depth?i.enable(i.DEPTH_TEST):i.disable(i.DEPTH_TEST),a?void 0===a.blend||a.blend?(i.enable(i.BLEND),p=void 0===a.srcRGB?i.ONE:a.srcRGB,m=a.dstRGB||i.ZERO,h=void 0===a.srcAlpha?p:a.srcAlpha,v=void 0===a.dstAlpha?m:a.dstAlpha,i.blendFuncSeparate(p,m,h,v),i.blendEquation(a.blendEquation||i.FUNC_ADD)):i.disable(i.BLEND):(i.enable(i.BLEND),i.blendFunc(i.ONE,i.ZERO),i.blendEquation(i.FUNC_ADD)),r)r.hasOwnProperty(c)&&(d=r[c],(l=e.uniforms[c])&&(q(d,"WebGLTexture")?(y.activeTexture(y.TEXTURE0+g),y.bindTexture(y.TEXTURE_2D,d),l.set(g),g++):d instanceof _||d instanceof T||d instanceof C?d.texture&&(y.activeTexture(y.TEXTURE0+g),y.bindTexture(y.TEXTURE_2D,d.texture),l.set(g),g++):null!=d&&l.set(d)));a&&void 0!==a.clear&&!a.clear||(y.clearColor(0,0,0,0),y.clear(y.COLOR_BUFFER_BIT|y.DEPTH_BUFFER_BIT)),y.drawElements(n.mode,n.length,y.UNSIGNED_SHORT,0),i.enable(i.DEPTH_TEST)}}function eb(e,n,r){var i,o;if("string"==typeof e&&(n||0===n)||(r&&"object"===dN(r)||(r=n),n=e),"string"==typeof e&&h[e]||(e=null),n instanceof _||n instanceof T||n instanceof C)i=n;else if(n instanceof E||n instanceof O||n instanceof I){if(!(i=X[n.id]))throw Error("Cannot connect a foreign node")}else{for("string"==typeof n&&isNaN(n)&&(n=L(n,["canvas","img","video"])),o=0;o<Z.length;o++)if(i=Z[o],(!e||e===i.hook)&&i.compare&&i.compare(n,r))return i;i=new _(e,n,r)}return i}function e_(e,n){var r,i,o;if(!(e instanceof T||e instanceof C))return!1;if(e===n)return!0;for(r in o=e.sources)if(o.hasOwnProperty(r)&&((i=o[r])===n||e_(i,n)))return!0;return!1}(v=function(){this.ready=!1,this.width=1,this.height=1,this.gl=i,this.uniforms={resolution:[this.width,this.height],transform:null},this.dirty=!0,this.isDestroyed=!1,this.seriously=H,this.listeners={},this.id=Q,Q++}).prototype.setReady=function(){var e;if(!this.ready&&(this.ready=!0,this.emit("ready"),this.targets))for(e=0;e<this.targets.length;e++)this.targets[e].setReady()},v.prototype.setUnready=function(){var e;if(this.ready&&(this.ready=!1,this.emit("unready"),this.targets))for(e=0;e<this.targets.length;e++)this.targets[e].setUnready()},v.prototype.setDirty=function(){var e;if(!this.dirty&&(this.emit("dirty"),this.dirty=!0,this.targets))for(e=0;e<this.targets.length;e++)this.targets[e].setDirty()},v.prototype.initFrameBuffer=function(e){i&&(this.frameBuffer=new J(i,this.width,this.height,e))},v.prototype.readPixels=function(e,n,r,o,s){var a=this.gl||i;if(!i)throw Error("Cannot read pixels until a canvas is connected");if(this.frameBuffer||(this.initFrameBuffer(),this.setDirty()),this.render(),void 0===s)s=new Uint8Array(r*o*4);else if(!q(s,"Uint8Array"))throw Error("Incompatible array type");return a.bindFramebuffer(i.FRAMEBUFFER,this.frameBuffer.frameBuffer),a.readPixels(e,n,r,o,i.RGBA,i.UNSIGNED_BYTE,s),s},v.prototype.resize=function(){var e,n;this.source?(e=this.source.width,n=this.source.height):this.sources&&this.sources.source?(e=this.sources.source.width,n=this.sources.source.height):this.inputs&&this.inputs.width?(e=this.inputs.width,n=this.inputs.height||e):this.inputs&&this.inputs.height?e=n=this.inputs.height:(e=1,n=1),e=Math.floor(e),n=Math.floor(n),this.width===e&&this.height===n||(this.width=e,this.height=n,this.emit("resize"),this.setDirty()),this.uniforms&&this.uniforms.resolution&&(this.uniforms.resolution[0]=e,this.uniforms.resolution[1]=n),this.frameBuffer&&this.frameBuffer.resize&&this.frameBuffer.resize(e,n)},v.prototype.on=function(e,n){var r,i=-1;e&&"function"==typeof n&&((r=this.listeners[e])?i=r.indexOf(n):r=this.listeners[e]=[],i<0&&r.push(n))},v.prototype.off=function(e,n){var r,i=-1;e&&"function"==typeof n&&(r=this.listeners[e])&&(i=r.indexOf(n))>=0&&r.splice(i,1)},v.prototype.emit=function(e){var n,r=this.listeners[e];if(r&&r.length)for(n=0;n<r.length;n++)G(r[n])},v.prototype.destroy=function(){var e,n;for(n in delete this.gl,delete this.seriously,this.listeners)this.listeners.hasOwnProperty(n)&&delete this.listeners[n];for(e in this.uniforms)this.uniforms.hasOwnProperty(e)&&delete this.uniforms[e];this.targets&&delete this.targets,this.frameBuffer&&this.frameBuffer.destroy&&(this.frameBuffer.destroy(),delete this.frameBuffer),(e=z.indexOf(this))>=0&&z.splice(e,1),delete X[this.id],this.isDestroyed=!0},E=function(e){var n;function r(n,r){var i,o,s,a,c;return s=e.effect.inputs[n],i=e.inputElements[n],"string"==typeof r&&isNaN(r)&&("enum"===s.type?s.options.hasOwnProperty(r)||(r=L(r,["select"])):"number"===s.type||"boolean"===s.type?r=L(r,["input","select"]):"image"===s.type&&(r=L(r,["canvas","img","video"]))),q(r,"HTMLInputElement")||q(r,"HTMLSelectElement")?(o=r.value,i&&i.element!==r&&(i.element.removeEventListener("change",i.listener,!0),i.element.removeEventListener("input",i.listener,!0),delete e.inputElements[n],i=null),i||(i={element:r,listener:(a=n,c=r,function(){var n,i;n="checkbox"===r.type?r.checked:c.value,i=e.setInput(a,n),"color"===s.type&&(i=V(i).substr(0,7)),i!==n&&(c.value=i)})},e.inputElements[n]=i,"range"===r.type&&r.addEventListener("input",i.listener,!0),r.addEventListener("change",i.listener,!0)),i&&"checkbox"===r.type&&(o=r.checked)):(i&&(i.element.removeEventListener("change",i.listener,!0),i.element.removeEventListener("input",i.listener,!0),delete e.inputElements[n]),o=r),e.setInput(n,o),e.inputs[n]}for(n in e.effect.inputs)if(e.effect.inputs.hasOwnProperty(n)){if(void 0!==this[n])throw Error("Cannot overwrite Seriously."+n);"image"===e.effect.inputs[n].type?Object.defineProperty(this,n,{configurable:!0,enumerable:!0,get:function(n){return function(){var r=e.inputs[n];return r&&r.pub}}(n),set:function(e){return function(n){var i=r(e,n);return i&&i.pub}}(n)}):Object.defineProperty(this,n,{configurable:!0,enumerable:!0,get:function(n){return function(){return e.inputs[n]}}(n),set:function(e){return function(n){return r(e,n)}}(n)})}Object.defineProperties(this,{effect:{enumerable:!0,configurable:!0,get:function(){return e.hook}},title:{enumerable:!0,configurable:!0,get:function(){return e.effect.title||e.hook}},width:{enumerable:!0,configurable:!0,get:function(){return e.width}},height:{enumerable:!0,configurable:!0,get:function(){return e.height}},id:{enumerable:!0,configurable:!0,get:function(){return e.id}}}),this.render=function(){return e.render(),this},this.readPixels=function(n,r,i,o,s){return e.readPixels(n,r,i,o,s)},this.on=function(n,r){e.on(n,r)},this.off=function(n,r){e.off(n,r)},this.inputs=function(n){var r,i,o,s;if(o=e.effect.inputs,n)return(i=o[n])?(r={type:i.type,defaultValue:i.defaultValue,title:i.title||n},"number"===i.type?(r.min=i.min,r.max=i.max,r.step=i.step,r.mod=i.mod):"enum"===i.type?r.options=U({},i.options):"vector"===i.type&&(r.dimensions=i.dimensions),i.description&&(r.description=i.description),r):null;for(s in r={},o)o.hasOwnProperty(s)&&(r[s]=this.inputs(s));return r},this.alias=function(n,r){return e.alias(n,r),this},this.matte=function(n){e.matte(n)},this.destroy=function(){var n,r;for(n in e.destroy(),this)this.hasOwnProperty(n)&&"isDestroyed"!==n&&"id"!==n&&((r=Object.getOwnPropertyDescriptor(this,n)).get||r.set||"function"!=typeof this[n]?delete this[n]:this[n]=R)},this.isDestroyed=function(){return e.isDestroyed},this.isReady=function(){return e.ready}},(T=function(e,n){var r,s,a,c,d={};for(r in v.call(this,n),this.gl=i,this.effectRef=f[e],this.sources={},this.targets=[],this.inputElements={},this.dirty=!0,this.shaderDirty=!0,this.hook=e,this.options=n,this.transform=null,this.effect=U({},this.effectRef),this.effectRef.definition&&U(this.effect,this.effectRef.definition.call(this,n)),$(this.effect),this.uniforms.transform=o,this.inputs={},c=es[e],this.effect.inputs)this.effect.inputs.hasOwnProperty(r)&&(void 0!==(s=this.effect.inputs[r]).defaultValue&&null!==s.defaultValue||("number"===s.type?s.defaultValue=Math.min(Math.max(0,s.min),s.max):"color"===s.type?s.defaultValue=[0,0,0,0]:"boolean"===s.type?s.defaultValue=!1:"string"===s.type?s.defaultValue="":"enum"===s.type&&(s.defaultValue=s.firstValue)),a=s.validate.call(this,s.defaultValue,s),c&&void 0!==c[r]&&(a=s.validate.call(this,c[r],s,s.defaultValue,a),c[r]=a,"image"===s.type&&(d[r]=a)),this.inputs[r]=a,s.uniform&&(this.uniforms[s.uniform]=s.defaultValue));for(r in i&&(this.initialize(),this.effect.commonShader&&this.buildShader()),this.updateReady(),this.inPlace=this.effect.inPlace,this.pub=new E(this),z.push(this),X[this.id]=this,en.push(this),g[e].push(this),d)d.hasOwnProperty(r)&&this.setInput(r,d[r])}).prototype=Object.create(v.prototype),T.prototype.constructor=T,T.prototype.initialize=function(){if(!this.initialized){var e=this;this.baseShader=u,this.shape?this.model=eu(this.shape,this.gl):this.model=d,"function"==typeof this.effect.initialize?this.effect.initialize.call(this,function(){e.initFrameBuffer(!0)},i):this.initFrameBuffer(!0),this.frameBuffer&&(this.texture=this.frameBuffer.texture),this.initialized=!0}},T.prototype.resize=function(){var e;for(v.prototype.resize.call(this),this.effect.resize&&this.effect.resize.call(this),e=0;e<this.targets.length;e++)this.targets[e].resize()},T.prototype.updateReady=function(){var e,n,r,i,o=!0;for(n in(r=this.effect).inputs)if(r.inputs.hasOwnProperty(n)&&"image"===this.effect.inputs[n].type&&(!this.sources[n]||!this.sources[n].ready)&&(!r.requires||r.requires.call(this,n,this.inputs))){o=!1;break}if(this.ready!==o&&(this.ready=o,this.emit(o?"ready":"unready"),i=o?"setReady":"setUnready",this.targets))for(e=0;e<this.targets.length;e++)this.targets[e][i]()},T.prototype.setReady=T.prototype.updateReady,T.prototype.setUnready=T.prototype.updateReady,T.prototype.addTarget=function(e){var n;for(n=0;n<this.targets.length;n++)if(this.targets[n]===e)return;this.targets.push(e)},T.prototype.removeTarget=function(e){var n=this.targets&&this.targets.indexOf(e);n>=0&&this.targets.splice(n,1)},T.prototype.removeSource=function(e){var n,r=e&&e.pub;for(n in this.inputs)this.inputs.hasOwnProperty(n)&&(this.inputs[n]===e||this.inputs[n]===r)&&(this.inputs[n]=null);for(n in this.sources)this.sources.hasOwnProperty(n)&&(this.sources[n]===e||this.sources[n]===r)&&(this.sources[n]=null)},T.prototype.buildShader=function(){var e,n=this.effect,r=this;function o(e){return M.test(e)?e:"#define SHADER_NAME seriously."+r.hook+"\n"+e}this.shaderDirty&&(n.commonShader&&ea[this.hook]?(this.shader||ea[this.hook].count++,this.shader=ea[this.hook].shader):n.shader?(this.shader&&!n.commonShader&&this.shader.destroy(),(e=n.shader.call(this,this.inputs,{vertex:a,fragment:c},Y.util))instanceof K?this.shader=e:e&&e.vertex&&e.fragment?this.shader=new K(i,o(e.vertex),o(e.fragment)):this.shader=u,n.commonShader&&(ea[this.hook]={count:1,shader:this.shader})):this.shader=u,this.shaderDirty=!1)},T.prototype.render=function(){var e,n,r,o=this.effect,s=this;if(i){if(this.initialized||this.initialize(),this.shaderDirty&&this.buildShader(),this.dirty&&this.ready){for(e in this.sources)this.sources.hasOwnProperty(e)&&(!o.requires||o.requires.call(this,e,this.inputs))&&(r="function"==typeof this.inPlace?this.inPlace(e):this.inPlace,this.sources[e].render(!r));this.frameBuffer&&(n=this.frameBuffer.frameBuffer),"function"==typeof o.draw?(o.draw.call(this,this.shader,this.model,this.uniforms,n,function(e,n,r,i,o,a){ey(e,n,r,i,o||s,a)}),this.emit("render")):n&&(ey(this.shader,this.model,this.uniforms,n,this),this.emit("render")),this.dirty=!1}return this.texture}},T.prototype.setInput=function(e,n){var r,i,s,a,c,d=this;if(this.effect.inputs.hasOwnProperty(e)){if("image"===(r=this.effect.inputs[e]).type){if(n){if((n=eb(n))!==this.sources[e]){if(function(){var n,r=d.sources[e];if(r){for(n in d.sources)if(n!==e&&d.sources.hasOwnProperty(n)&&d.sources[n]===r)return;r.removeTarget(d)}}(),e_(n,this))throw Error("Attempt to make cyclical connection.");this.sources[e]=n,n.addTarget(this)}}else delete this.sources[e],n=!1;i=this.sources[e],s=Object.keys(this.sources),!0===this.inPlace&&1===s.length?(a=this.sources[s[0]],this.uniforms.transform=a&&a.cumulativeMatrix||o):this.uniforms.transform=o}else c=es[this.hook]&&void 0!==es[this.hook][e]?es[this.hook][e]:r.defaultValue,i=n=r.validate.call(this,n,r,c,this.inputs[e]);return this.inputs[e]===n&&"color"!==r.type&&"vector"!==r.type||(this.inputs[e]=n,r.uniform&&(this.uniforms[r.uniform]=i),"image"===r.type?(this.resize(),this.updateReady()):r.updateSources&&this.updateReady(),r.shaderDirty&&(this.shaderDirty=!0),this.setDirty(),r.update&&r.update.call(this,n)),n}},T.prototype.alias=function(e,n){var r=this;if(N.indexOf(n)>=0)throw Error("'"+n+"' is a reserved name and cannot be used as an alias.");return this.effect.inputs.hasOwnProperty(e)&&(n||(n=e),H.removeAlias(n),er[n]={node:this,input:e},Object.defineProperty(H,n,{configurable:!0,enumerable:!0,get:function(){return r.inputs[e]},set:function(n){return r.setInput(e,n)}})),this},T.prototype.matte=function(e){var n,r,i,o,s,a,c,d,l=[],u=[],f={};for(r=(n=e)&&n.length&&Array.isArray(n)?Array.isArray(n[0])?Array.isArray(n[0])&&!isNaN(n[0][0])?[n]:n:[n]:[],o=0;o<r.length;o++){for(e=r[o],d=null,i={vertices:[],edges:[]},s=0;s<e.length;s++)a=e[s],"object"!==dN(a)||isNaN(a.x)||isNaN(a.y)?!(a.length>=2)||isNaN(a[0])||isNaN(a[1])||(c={x:a[0],y:a[1],id:u.length}):c={x:a.x,y:a.y,id:u.length},c&&(d?(d.next=c,c.prev=d,c.next=i.vertices[0],i.vertices[0].prev=c):(i.head=c,c.next=c,c.prev=c),u.push(c),i.vertices.push(c),d=c);if(i.vertices.length>2)for(3===i.vertices.length&&(i.simple=!0),l.push(i),s=0;s<i.vertices.length;s++)c=i.vertices[s],i.edges.push([c,c.next])}for(o=l.length-1;o>=0;o--)!function(e){var n,r,i,o,s,a,c,d,f,p,h,m=[];if(!e.simple){for(n=0;n<e.edges.length;n++)for(i=e.edges[n],r=n+1;r<e.edges.length;r++)o=e.edges[r],(s=function(e,n,r,i){var o,s,a,c,d;return o=(i.x-r.x)*(e.y-r.y)-(i.y-r.y)*(e.x-r.x),s=(n.x-e.x)*(e.y-r.y)-(n.y-e.y)*(e.x-r.x),!!((a=(i.y-r.y)*(n.x-e.x)-(i.x-r.x)*(n.y-e.y))&&(d=s/a,(c=o/a)>0&&c<=1&&d>0&&d<=1))&&{x:e.x+c*(n.x-e.x),y:e.y+c*(n.y-e.y)}}(i[0],i[1],o[0],o[1]))&&(s.edge1=i,s.edge2=o,m.push(s));if(m.length){for(f=[],n=0;n<m.length;n++)i=(s=m[n]).edge1,o=s.edge2,p={x:s.x,y:s.y,prev:i[0],next:o[1],id:u.length},e.vertices.push(p),u.push(p),h={x:s.x,y:s.y,prev:o[0],next:i[1],id:u.length},e.vertices.push(h),u.push(p),p.prev.next=p,p.next.prev=p,h.prev.next=h,h.next.prev=h;do{a={edges:[],vertices:[],simple:!0},f.push(a),c=d=e.vertices[0];do n=e.vertices.indexOf(d),e.vertices.splice(n,1),a.edges.push([d,d.next]),a.vertices.push(d),d=d.next;while(d!==c)}while(e.vertices.length);for(n=l.indexOf(e),l.splice(n,1),n=0;n<f.length;n++)l.push(f[n])}else e.simple=!0}}(i=l[o]);for(o=0;o<l.length;o++)(i=l[o]).clockWise=function(e){var n,r,i,o,s=e.vertices.length,a=0;for(n=s-1,r=0;r<s;n=r,r++)i=e.vertices[n],o=e.vertices[r],a+=i.x*o.y-o.x*i.y;return a>0}(i),function(e){var n,r,o,s,a,c,d,l,u,f,p,h=e.vertices,m=[],v=[];if(r=h.length,e.clockWise)for(n=0;n<r;n++)m[n]=n;else for(n=0;n<r;n++)m[n]=r-1-n;for(s=2*(o=r),n=o-1;o>2;){if(s--<=0)return v;if(o<=(a=n)&&(a=0),o<=(n=a+1)&&(n=0),o<(c=n+1)&&(c=0),function(e,n,r,i,o){var s,a,c,d;if(a=h[o[e]],c=h[o[n]],d=h[o[r]],0>(c.x-a.x)*(d.y-a.y)-(c.y-a.y)*(d.x-a.x))return!1;for(s=0;s<i;s++)if(s!==e&&s!==n&&s!==r&&function(e,n,r,i){var o,s,a,c,d,l,u,f,p,h,m,v;return o=r.x-n.x,s=r.y-n.y,a=e.x-r.x,c=e.y-r.y,d=n.x-e.x,l=n.y-e.y,u=i.x-e.x,f=i.y-e.y,p=i.x-n.x,h=i.y-n.y,m=i.x-r.x,v=i.y-r.y,o*h-s*p>=0&&a*v-c*m>=0&&d*f-l*u>=0}(a,c,d,h[o[s]]))return!1;return!0}(a,n,c,o,m)){for(d=m[a],l=m[n],u=m[c],e.clockWise?(v.push(h[d]),v.push(h[l]),v.push(h[u])):(v.push(h[u]),v.push(h[l]),v.push(h[d])),f=n,p=n+1;p<o;f++,p++)m[f]=m[p];s=2*--o}}i.indices=v}(i);for(f.vertices=[],f.coords=[],o=0;o<u.length;o++)a=u[o],f.vertices.push(2*a.x-1),f.vertices.push(-2*a.y+1),f.vertices.push(-1),f.coords.push(a.x),f.coords.push(-1*a.y+1);for(f.vertices=new Float32Array(f.vertices),f.coords=new Float32Array(f.coords),f.indices=[],o=0;o<l.length;o++)for(i=l[o],s=0;s<i.indices.length;s++)a=i.indices[s],f.indices.push(a.id);f.indices=new Uint16Array(f.indices),this.shape=f,this.gl&&eu(f,this.gl)},T.prototype.destroy=function(){var e,n,r,i=this.hook;for(n in this.effect.destroy&&"function"==typeof this.effect.destroy&&this.effect.destroy.call(this),delete this.effect,ea[i]&&(ea[i].count--,ea[i].count||delete ea[i]),this.shader&&this.shader.destroy&&this.shader!==u&&!ea[i]&&this.shader.destroy(),delete this.shader,this.inputElements)this.inputElements.hasOwnProperty(n)&&((r=this.inputElements[n]).element.removeEventListener("change",r.listener,!0),r.element.removeEventListener("input",r.listener,!0));for(n in this.sources)this.sources.hasOwnProperty(n)&&((r=this.sources[n])&&r.removeTarget&&r.removeTarget(this),delete this.sources[n]);for(;this.targets.length;)(r=this.targets.pop())&&r.removeSource&&r.removeSource(this);for(n in this)this.hasOwnProperty(n)&&"id"!==n&&delete this[n];for(n in er)er.hasOwnProperty(n)&&(r=er[n]).node===this&&H.removeAlias(n);(e=en.indexOf(this))>=0&&en.splice(e,1),(e=g[i].indexOf(this))>=0&&g[i].splice(e,1),v.prototype.destroy.call(this)},O=function(e){Object.defineProperties(this,{original:{enumerable:!0,configurable:!0,get:function(){return e.source}},id:{enumerable:!0,configurable:!0,get:function(){return e.id}},width:{enumerable:!0,configurable:!0,get:function(){return e.width}},height:{enumerable:!0,configurable:!0,get:function(){return e.height}}}),this.render=function(){e.render()},this.update=function(){e.setDirty()},this.readPixels=function(n,r,i,o,s){return e.readPixels(n,r,i,o,s)},this.on=function(n,r){e.on(n,r)},this.off=function(n,r){e.off(n,r)},this.destroy=function(){var n,r;for(n in e.destroy(),this)this.hasOwnProperty(n)&&"isDestroyed"!==n&&"id"!==n&&((r=Object.getOwnPropertyDescriptor(this,n)).get||r.set||"function"!=typeof this[n]?delete this[n]:this[n]=R)},this.isDestroyed=function(){return e.isDestroyed},this.isReady=function(){return e.ready}},(_=function(e,n,r){var o,s,a=r||{},c=void 0===a.flip||a.flip,d=a.width,l=a.height,u=!1,f=this,p=!1;function m(e,n,r,i){var o=h[e];if(o.definition){if(!(o=o.definition.call(f,n,r,i)))return null;o=U(U({},h[e]),o)}return o}function g(e){return f.source===e}if(v.call(this),(e&&"string"!=typeof e||!n&&0!==n)&&(r&&"object"===dN(r)||(r=n),n=e),"string"==typeof n&&isNaN(n)&&(n=L(n,["canvas","img","video"])),"string"==typeof e&&h[e]&&(s=m(e,n,r,!0))&&(this.hook=e,p=!0,u=s.deferTexture,this.plugin=s,this.compare=s.compare,this.checkDirty=s.checkDirty,s.source&&(n=s.source)),!s&&q(n))"CANVAS"===n.tagName?(this.width=n.width,this.height=n.height,this.render=this.renderImageCanvas,p=!0,this.hook="canvas",this.compare=g):"IMG"===n.tagName&&(this.width=n.naturalWidth||1,this.height=n.naturalHeight||1,n.complete&&n.naturalWidth||(u=!0),n.addEventListener("load",function(){f.isDestroyed||(f.width===n.naturalWidth&&f.height===n.naturalHeight||(f.width=n.naturalWidth,f.height=n.naturalHeight,f.resize()),f.setDirty(),f.setReady())},!0),this.render=this.renderImageCanvas,p=!0,this.hook="image",this.compare=g);else if(!s&&q(n,"WebGLTexture")){if(i&&!i.isTexture(n))throw Error("Not a valid WebGL texture.");isNaN(d)?isNaN(l)||(d=l):isNaN(l)&&(l=d),this.width=d,this.height=l,void 0===a.flip&&(c=!1),p=!0,this.texture=n,this.initialized=!0,this.hook="texture",this.compare=g,this.render=function(){}}if(!p&&!s){for(o in h)if(h.hasOwnProperty(o)&&h[o]&&(s=m(o,n,r,!1))){this.hook=o,p=!0,u=s.deferTexture,this.plugin=s,this.compare=s.compare,this.checkDirty=s.checkDirty,s.source&&(n=s.source);break}}if(!p)throw Error("Unknown source type");this.source=n,void 0===this.flip&&(this.flip=c),this.targets=[],u||f.setReady(),this.pub=new O(this),z.push(this),X[this.id]=this,Z.push(this),b[this.hook].push(this),Z.length&&!B&&eg()}).prototype=Object.create(v.prototype),_.prototype.constructor=_,_.prototype.initialize=function(){var e;i&&!this.texture&&this.ready&&(e=i.createTexture(),i.bindTexture(i.TEXTURE_2D,e),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.bindTexture(i.TEXTURE_2D,null),this.texture=e,this.initialized=!0,this.allowRefresh=!0,this.setDirty())},_.prototype.initFrameBuffer=function(e){i&&(this.frameBuffer=new J(i,this.width,this.height,{texture:this.texture,useFloat:e}))},_.prototype.addTarget=function(e){var n;for(n=0;n<this.targets.length;n++)if(this.targets[n]===e)return;this.targets.push(e)},_.prototype.removeTarget=function(e){var n=this.targets&&this.targets.indexOf(e);n>=0&&this.targets.splice(n,1)},_.prototype.resize=function(){var e,n;if(this.uniforms.resolution[0]=this.width,this.uniforms.resolution[1]=this.height,this.framebuffer&&this.framebuffer.resize(this.width,this.height),this.emit("resize"),this.setDirty(),this.targets)for(e=0;e<this.targets.length;e++)(n=this.targets[e]).resize(),n.setTransformDirty&&n.setTransformDirty()},_.prototype.setReady=function(){var e;if(!this.ready&&(this.ready=!0,this.resize(),this.initialize(),this.emit("ready"),this.targets))for(e=0;e<this.targets.length;e++)this.targets[e].setReady()},_.prototype.render=function(){var e=this.source;i&&(e||0===e)&&this.ready&&(this.initialized||this.initialize(),this.allowRefresh&&this.plugin&&this.plugin.render&&(this.dirty||this.checkDirty&&this.checkDirty())&&this.plugin.render.call(this,i,ey,d,u)&&(this.dirty=!1,this.emit("render")))},_.prototype.renderImageCanvas=function(){var n=this.source;if(i&&n&&this.ready&&(this.initialized||this.initialize(),this.allowRefresh&&this.dirty)){i.bindTexture(i.TEXTURE_2D,this.texture),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,this.flip),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1);try{return i.texImage2D(i.TEXTURE_2D,0,i.RGBA,i.RGBA,i.UNSIGNED_BYTE,n),this.dirty=!1,this.emit("render"),!0}catch(n){n.code===e.DOMException.SECURITY_ERR&&(this.allowRefresh=!1,Y.logger.error("Unable to access cross-domain image"))}return!1}},_.prototype.destroy=function(){var e,n,r;for(this.plugin&&this.plugin.destroy&&this.plugin.destroy.call(this),i&&this.texture&&i.deleteTexture(this.texture);this.targets.length;)(r=this.targets.pop())&&r.removeSource&&r.removeSource(this);for(n in(e=Z.indexOf(this))>=0&&Z.splice(e,1),(e=b[this.hook].indexOf(this))>=0&&b[this.hook].splice(e,1),this)this.hasOwnProperty(n)&&"id"!==n&&delete this[n];v.prototype.destroy.call(this)},D=function(e){Object.defineProperties(this,{source:{enumerable:!0,configurable:!0,get:function(){if(e.source)return e.source.pub},set:function(n){e.setSource(n)}},original:{enumerable:!0,configurable:!0,get:function(){return e.target}},width:{enumerable:!0,configurable:!0,get:function(){return e.width},set:function(n){!isNaN(n)&&n>0&&e.width!==n&&(e.width=n,e.resize(),e.setTransformDirty())}},height:{enumerable:!0,configurable:!0,get:function(){return e.height},set:function(n){!isNaN(n)&&n>0&&e.height!==n&&(e.height=n,e.resize(),e.setTransformDirty())}},id:{enumerable:!0,configurable:!0,get:function(){return e.id}}}),this.render=function(){e.render()},this.readPixels=function(n,r,i,o,s){return e.readPixels(n,r,i,o,s)},this.on=function(n,r){e.on(n,r)},this.off=function(n,r){e.off(n,r)},this.go=function(n){e.go(n)},this.stop=function(){e.stop()},this.getTexture=function(){return e.frameBuffer.texture},this.destroy=function(){var n,r;for(n in e.destroy(),this)this.hasOwnProperty(n)&&"isDestroyed"!==n&&"id"!==n&&((r=Object.getOwnPropertyDescriptor(this,n)).get||r.set||"function"!=typeof this[n]?delete this[n]:this[n]=R)},this.inputs=function(e){return{source:{type:"image"}}},this.isDestroyed=function(){return e.isDestroyed},this.isReady=function(){return e.ready}},(x=function(e,n,r){var o,l,f,p,h,g,y,b,_,S=this,T=!1;function C(e,n,r,o){var s=m[e];if(s.definition){if(!(s=s.definition.call(S,n,r,o)))return null;s=U(U({},m[e]),s),S.hook=_,T=!0,S.plugin=s,S.compare=s.compare,s.target&&(n=s.target),s.gl&&!S.gl&&(S.gl=s.gl,i||eh(s.gl)),S.gl===i&&(S.model=d,S.shader=u)}return s}if(v.call(this),(e&&"string"!=typeof e||!n&&0!==n)&&(r&&"object"===dN(r)||(r=n),n=e),l=void 0===(o=r||{}).flip||o.flip,f=parseInt(o.width,10),p=parseInt(o.height,10),g=o.debugContext,"string"==typeof e&&m[e]&&C(e,n,o,!0),this.renderToTexture=o.renderToTexture,q(n,"WebGLFramebuffer"))if(y=n,q(o,"HTMLCanvasElement"))n=o;else if(q(o,"WebGLRenderingContext"))n=o.canvas;else if(q(o.canvas,"HTMLCanvasElement"))n=o.canvas;else{if(!q(o.context,"WebGLRenderingContext"))throw Error("Must provide a canvas with WebGLFramebuffer target");n=o.context.canvas}if(q(n,"HTMLCanvasElement")){if(f=n.width,p=n.height,(!i||i.canvas!==n&&o.allowSecondaryWebGL)&&(h=W(n,{alpha:!0,premultipliedAlpha:!0,preserveDrawingBuffer:!0,stencil:!0,debugContext:g})),h)i&&i!==h?(this.gl=h,this.frameBuffer={frameBuffer:y||null},this.shader=new K(this.gl,a,c),this.model=ef.call(this,this.gl),this.pixels=null,this.texture=this.gl.createTexture(),this.gl.bindTexture(i.TEXTURE_2D,this.texture),this.gl.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR),this.gl.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR),this.gl.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),this.gl.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),this.render=this.renderSecondaryWebGL):(s||(s=this),i||eh(h),this.render=this.renderWebGL,o.renderToTexture?i&&(this.frameBuffer=new J(i,f,p,!1)):this.frameBuffer={frameBuffer:y||null});else{if(!o.allowSecondaryWebGL&&i&&i.canvas!==n)throw Error("Only one WebGL target canvas allowed. Set allowSecondaryWebGL option to create secondary context.");this.render=R,Y.logger.log("Unable to create WebGL context.")}T=!0}if(!T){for(_ in m)if(m.hasOwnProperty(_)&&m[_]&&C(_,n,o,!1))break}if(!T)throw Error("Unknown target type");w&&((b=w.get(n))?Y.logger.warn("Target already in use by another instance",n,Object.keys(b).map(function(e){return b[e]})):(b={},w.set(n,b)),b[H.id]=H),this.target=n,this.transform=null,this.transformDirty=!0,this.flip=l,f&&(this.width=f),p&&(this.height=p),this.uniforms.resolution[0]=this.width,this.uniforms.resolution[1]=this.height,void 0!==o.auto?this.auto=o.auto:this.auto=ec,this.frames=0,this.pub=new D(this),z.push(this),X[this.id]=this,ee.push(this)}).prototype=Object.create(v.prototype),x.prototype.constructor=x,x.prototype.setSource=function(e){var n;(n=eb(e))!==this.source&&(this.source&&this.source.removeTarget(this),this.source=n,n.addTarget(this),n&&(this.resize(),n.ready?this.setReady():this.setUnready()),this.setDirty())},x.prototype.setDirty=function(){this.dirty=!0,this.auto&&!B&&(B=j(eg))},x.prototype.resize=function(){q(this.target,"HTMLCanvasElement")?this.width===this.target.width&&this.height===this.target.height||(this.target.width=this.width,this.target.height=this.height,this.uniforms.resolution[0]=this.width,this.uniforms.resolution[1]=this.height,this.emit("resize"),this.setTransformDirty()):this.plugin&&this.plugin.resize&&this.plugin.resize.call(this),!this.source||this.source.width===this.width&&this.source.height===this.height||this.transform||(this.transform=new Float32Array(16))},x.prototype.setTransformDirty=function(){this.transformDirty=!0,this.setDirty()},x.prototype.go=function(){this.auto=!0,this.setDirty()},x.prototype.stop=function(){this.auto=!1},x.prototype.render=function(){i&&this.plugin&&this.plugin.render&&this.plugin.render.call(this,ey,u,d)},x.prototype.renderWebGL=function(){var e,n,r;if(this.resize(),i&&this.dirty&&this.ready){if(!this.source)return;this.source.render(),this.uniforms.source=this.source.texture,this.source.width===this.width&&this.source.height===this.height?this.uniforms.transform=this.source.cumulativeMatrix||o:this.transformDirty&&(e=this.transform,P.copy(e,this.source.cumulativeMatrix||o),n=this.source.width/this.width,r=this.source.height/this.height,e[0]*=n,e[1]*=n,e[2]*=n,e[3]*=n,e[4]*=r,e[5]*=r,e[6]*=r,e[7]*=r,this.uniforms.transform=e,this.transformDirty=!1),ey(u,d,this.uniforms,this.frameBuffer.frameBuffer,this,k),this.emit("render"),this.dirty=!1}},x.prototype.renderSecondaryWebGL=function(){var e,n,r,i,s;this.dirty&&this.ready&&this.source&&(this.emit("render"),this.source.render(!0),e=this.source.width,n=this.source.height,this.pixels&&this.pixels.length===e*n*4||(this.pixels=new Uint8Array(e*n*4)),this.source.readPixels(0,0,e,n,this.pixels),this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,e,n,0,this.gl.RGBA,this.gl.UNSIGNED_BYTE,this.pixels),e===this.width&&n===this.height?this.uniforms.transform=o:this.transformDirty&&(r=this.transform,P.copy(r,o),i=this.source.width/this.width,s=this.source.height/this.height,r[0]*=i,r[1]*=i,r[2]*=i,r[3]*=i,r[4]*=s,r[5]*=s,r[6]*=s,r[7]*=s,this.uniforms.transform=r,this.transformDirty=!1),this.uniforms.source=this.texture,ey(this.shader,this.model,this.uniforms,null,this,k),this.dirty=!1)},x.prototype.removeSource=function(e){this.source!==e&&this.source!==e.pub||(this.source=null)},x.prototype.destroy=function(){var e,n;this.source&&this.source.removeTarget&&this.source.removeTarget(this),w&&(delete(n=w.get(this.target))[H.id],Object.keys(n).length||w.delete(this.target)),this.plugin&&this.plugin.destroy&&this.plugin.destroy.call(this),delete this.source,delete this.target,delete this.pub,delete this.uniforms,delete this.pixels,delete this.auto,(e=ee.indexOf(this))>=0&&ee.splice(e,1),v.prototype.destroy.call(this),this===s&&(r.removeEventListener("webglcontextrestored",em,!1),ev(),s=null)},I=function(e){var n,r=this;for(n in Object.defineProperties(this,{transform:{enumerable:!0,configurable:!0,get:function(){return e.hook}},title:{enumerable:!0,configurable:!0,get:function(){return e.plugin.title||e.hook}},width:{enumerable:!0,configurable:!0,get:function(){return e.width}},height:{enumerable:!0,configurable:!0,get:function(){return e.height}},id:{enumerable:!0,configurable:!0,get:function(){return e.id}},source:{enumerable:!0,configurable:!0,get:function(){return e.source&&e.source.pub},set:function(n){e.setSource(n)}}}),e.methods)e.methods.hasOwnProperty(n)&&(this[n]=function(n){return function(){n.apply(e,arguments)&&e.setTransformDirty()}}(e.methods[n]));for(n in e.inputs)e.inputs.hasOwnProperty(n)&&function(n,i){Object.defineProperty(r,n,{configurable:!0,enumerable:!0,get:function(){return i.get.call(e)},set:function(r){var o,s,a,c,d,l;o=n,s=i,a=r,c=e.inputElements[o],"string"==typeof a&&isNaN(a)&&("enum"===s.type?s.options.hasOwnProperty(a)||(a=L(a,["select"])):"number"===s.type||"boolean"===s.type?a=L(a,["input","select"]):"image"===s.type&&(a=L(a,["canvas","img","video"]))),q(a,"HTMLInputElement")||q(a,"HTMLSelectElement")?(d=a.value,c&&c.element!==a&&(c.element.removeEventListener("change",c.listener,!0),c.element.removeEventListener("input",c.listener,!0),delete e.inputElements[o],c=null),c||(c={element:a,listener:(l=a,function(){var n,r;n="checkbox"===a.type?a.checked:l.value,r=e.setInput(o,n),"color"===a.type&&(r=V(r)),r!==n&&(l.value=r)})},e.inputElements[o]=c,"range"===a.type&&a.addEventListener("input",c.listener,!0),a.addEventListener("change",c.listener,!0)),c&&"checkbox"===a.type&&(d=a.checked)):(c&&(c.element.removeEventListener("change",c.listener,!0),c.element.removeEventListener("input",c.listener,!0),delete e.inputElements[o]),d=a),e.setInput(o,d)}})}(n,e.inputs[n]);this.update=function(){e.setDirty()},this.inputs=function(n){var r,i,o,s;if(o=e.plugin.inputs,n)return(i=o[n])&&!i.method?(r={type:i.type,defaultValue:i.defaultValue,title:i.title||n},"number"===i.type?(r.min=i.min,r.max=i.max,r.step=i.step,r.mod=i.mod):"enum"===i.type?r.options=U({},i.options):"vector"===i.type&&(r.dimensions=i.dimensions),i.description&&(r.description=i.description),r):null;for(s in r={},o)o.hasOwnProperty(s)&&!o[s].method&&(r[s]=this.inputs(s));return r},this.alias=function(n,r){return e.alias(n,r),this},this.on=function(n,r){e.on(n,r)},this.off=function(n,r){e.off(n,r)},this.destroy=function(){var n,r;for(n in e.destroy(),this)this.hasOwnProperty(n)&&"isDestroyed"!==n&&"id"!==n&&((r=Object.getOwnPropertyDescriptor(this,n)).get||r.set||"function"!=typeof this[n]?delete this[n]:this[n]=R)},this.isDestroyed=function(){return e.isDestroyed},this.isReady=function(){return e.ready}},(C=function(e,n){var r,i,o,s,a;for(r in this.matrix=new Float32Array(16),this.cumulativeMatrix=new Float32Array(16),this.ready=!1,this.width=1,this.height=1,this.seriously=H,this.transformRef=p[e],this.hook=e,this.id=Q,Q++,this.options=n,this.sources=null,this.targets=[],this.inputElements={},this.inputs={},this.methods={},this.listeners={},this.texture=null,this.frameBuffer=null,this.uniforms=null,this.dirty=!0,this.transformDirty=!0,this.renderDirty=!1,this.isDestroyed=!1,this.transformed=!1,this.plugin=U({},this.transformRef),this.transformRef.definition&&U(this.plugin,this.transformRef.definition.call(this,n)),this.plugin.inputs)this.plugin.inputs.hasOwnProperty(r)&&((i=this.plugin.inputs[r]).method&&"function"==typeof i.method?this.methods[r]=i.method:"function"==typeof i.set&&"function"==typeof i.get&&(this.inputs[r]=i));for(r in $(this.plugin),a=es[e],this.plugin.inputs)this.plugin.inputs.hasOwnProperty(r)&&"function"==typeof(i=this.plugin.inputs[r]).set&&"function"==typeof i.get&&"function"!=typeof i.method&&(o=i.get.call(this),s=void 0===i.defaultValue?o:i.defaultValue,s=i.validate.call(this,s,i,o),a&&void 0!==a[r]&&(s=i.validate.call(this,a[r],i,i.defaultValue,s),a[r]=s),s!==o&&i.set.call(this,s));z.push(this),X[this.id]=this,this.pub=new I(this),et.push(this),y[e].push(this)}).prototype=Object.create(v.prototype),C.prototype.constructor=C,C.prototype.setDirty=function(){this.renderDirty=!0,v.prototype.setDirty.call(this)},C.prototype.setTransformDirty=function(){var e,n;for(this.transformDirty=!0,this.dirty=!0,this.renderDirty=!0,e=0;e<this.targets.length;e++)(n=this.targets[e]).setTransformDirty?n.setTransformDirty():n.setDirty()},C.prototype.resize=function(){var e;for(v.prototype.resize.call(this),this.plugin.resize&&this.plugin.resize.call(this),e=0;e<this.targets.length;e++)this.targets[e].resize();this.setTransformDirty()},C.prototype.setSource=function(e){var n;if((n=eb(e))!==this.source){if(e_(n,this))throw Error("Attempt to make cyclical connection.");this.source&&this.source.removeTarget(this),this.source=n,n.addTarget(this),n&&n.ready?this.setReady():this.setUnready(),this.resize()}},C.prototype.addTarget=function(e){var n;for(n=0;n<this.targets.length;n++)if(this.targets[n]===e)return;this.targets.push(e)},C.prototype.removeTarget=function(e){var n=this.targets&&this.targets.indexOf(e);n>=0&&this.targets.splice(n,1),this.targets&&this.targets.length&&this.resize()},C.prototype.setInput=function(e,n){var r,i,o;if(this.plugin.inputs.hasOwnProperty(e))return r=this.plugin.inputs[e],i=es[this.hook]&&void 0!==es[this.hook][e]?es[this.hook][e]:r.defaultValue,o=r.get.call(this),void 0===i&&(i=o),n=r.validate.call(this,n,r,i,o),r.set.call(this,n)&&this.setTransformDirty(),r.get.call(this)},C.prototype.alias=function(e,n){var r,i,o=this;if(N.indexOf(n)>=0)throw Error("'"+n+"' is a reserved name and cannot be used as an alias.");return this.plugin.inputs.hasOwnProperty(e)&&(n||(n=e),H.removeAlias(n),(r=this.inputs[e])?(i=o.inputs[e],Object.defineProperty(H,n,{configurable:!0,enumerable:!0,get:function(){return i.get.call(o)},set:function(e){i.set.call(o,e)&&o.setTransformDirty()}})):(r=this.methods[e])&&(i=r,H[n]=function(){i.apply(o,arguments)&&o.setTransformDirty()}),r&&(er[n]={node:this,input:e})),this},C.prototype.render=function(e){return this.source?(this.source.render(),this.transformDirty&&(this.transformed?this.source.cumulativeMatrix?P.multiply(this.cumulativeMatrix,this.matrix,this.source.cumulativeMatrix):P.copy(this.cumulativeMatrix,this.matrix):P.copy(this.cumulativeMatrix,this.source.cumulativeMatrix||o),this.transformDirty=!1),e&&i?(this.renderDirty&&(this.frameBuffer||(this.uniforms={resolution:[this.width,this.height]},this.frameBuffer=new J(i,this.width,this.height)),this.uniforms.source=this.source.texture,this.uniforms.transform=this.cumulativeMatrix||o,ey(u,d,this.uniforms,this.frameBuffer.frameBuffer,this),this.renderDirty=!1),this.texture=this.frameBuffer.texture):this.source?this.texture=this.source.texture:this.texture=null,this.dirty=!1,this.texture):(this.transformDirty&&(P.copy(this.cumulativeMatrix,this.matrix),this.transformDirty=!1),this.texture=null,void(this.dirty=!1))},C.prototype.readPixels=function(e,n,r,o,s){var a=this.gl||i;if(!i)throw Error("Cannot read pixels until a canvas is connected");if(this.render(!0),void 0===s)s=new Uint8Array(r*o*4);else if(!q(s,"Uint8Array"))throw Error("Incompatible array type");return a.bindFramebuffer(i.FRAMEBUFFER,this.frameBuffer.frameBuffer),a.readPixels(e,n,r,o,i.RGBA,i.UNSIGNED_BYTE,s),s},C.prototype.destroy=function(){var e,n,r,i=this.hook;for(e in this.plugin.destroy&&"function"==typeof this.plugin.destroy&&this.plugin.destroy.call(this),delete this.effect,this.frameBuffer&&(this.frameBuffer.destroy(),delete this.frameBuffer,delete this.texture),this.inputElements)this.inputElements.hasOwnProperty(e)&&((r=this.inputElements[e]).element.removeEventListener("change",r.listener,!0),r.element.removeEventListener("input",r.listener,!0));for(this.source&&this.source.removeTarget(this);this.targets.length;)(r=this.targets.pop())&&r.removeSource&&r.removeSource(this);for(n in this)this.hasOwnProperty(n)&&"id"!==n&&delete this[n];for(n in er)er.hasOwnProperty(n)&&(r=er[n]).node===this&&H.removeAlias(n);(e=et.indexOf(this))>=0&&et.splice(e,1),(e=y[i].indexOf(this))>=0&&y[i].splice(e,1),v.prototype.destroy.call(this)},C.prototype.setReady=v.prototype.setReady,C.prototype.setUnready=v.prototype.setUnready,C.prototype.on=v.prototype.on,C.prototype.off=v.prototype.off,C.prototype.emit=v.prototype.emit,(n=q(n,"HTMLCanvasElement")?{canvas:n}:n||{}).canvas,this.effect=function(e,n){if(!f[e])throw Error("Unknown effect: "+e);return new T(e,n).pub},this.source=function(e,n,r){return eb(e,n,r).pub},this.transform=function(e,r){if("string"!=typeof e&&(r=e,e=!1),e){if(!p[e])throw Error("Unknown transform: "+e)}else if(!p[e=n&&n.defaultTransform||"2d"])throw Error("No transform specified");return new C(e,r).pub},this.target=function(e,n,r){var i,o,s;for(e&&"string"==typeof e&&!m[e]&&(o=l.querySelector(e)),("string"!=typeof e||!n&&0!==n||o)&&(r&&"object"===dN(r)||(r=n),n=o||e,e=null),"string"==typeof n&&isNaN(n)&&(n=l.querySelector(n)),s=0;s<ee.length;s++)if(i=ee[s],(!e||e===i.hook)&&(i.target===n||i.compare&&i.compare(n,r)))return i.pub;return(i=new x(e,n,r)).pub},this.aliases=function(){return Object.keys(er)},this.removeAlias=function(e){er[e]&&(delete this[e],delete er[e])},this.defaults=function(e,n){var r;if(e)if("object"!==dN(e))null===n?delete es[e]:"object"===dN(n)&&(es[e]=U({},n));else for(r in e)e.hasOwnProperty(r)&&this.defaults(r,e[r]);else if(null===e)for(r in es)es.hasOwnProperty(r)&&delete es[r]},this.go=function(e,n){var r;for("function"==typeof e&&0>ei.indexOf(e)&&ei.push(e),"function"==typeof n&&0>eo.indexOf(n)&&eo.push(n),ec=!0,r=0;r<ee.length;r++)ee[r].go();!B&&(ei.length||eo.length)&&eg()},this.stop=function(){ei.length=0,eo.length=0,A(B),B=0},this.render=function(){var e;for(e=0;e<ee.length;e++)ee[e].render(n)},this.destroy=function(){for(var e,n;z.length;)z[0].pub.destroy();for(e in this)this.hasOwnProperty(e)&&"isDestroyed"!==e&&"id"!==e&&((n=Object.getOwnPropertyDescriptor(this,e)).get||n.set||"function"!=typeof this[e]?delete this[e]:this[e]=R);H=null,Z=[],ee=[],en=[],z=[],ei.length=0,eo.length=0,A(B),B=0,ed=!0},this.isDestroyed=function(){return ed},this.incompatible=function(e){var n,r,i=!1;if(i=Y.incompatible(e))return i;if(!e){for(n in g)if(g.hasOwnProperty(n)&&g[n].length&&(r=f[n])&&"function"==typeof r.compatible&&!r.compatible.call(this))return"plugin-"+n;for(n in b)if(b.hasOwnProperty(n)&&b[n].length&&(r=h[n])&&"function"==typeof r.compatible&&!r.compatible.call(this))return"source-"+n}return!1},this.isNode=function(e){var n;return!(!e||!(n=X[e.id])||n.isDestroyed)},this.isSource=function(e){return this.isNode(e)&&e instanceof O},this.isEffect=function(e){return this.isNode(e)&&e instanceof E},this.isTransform=function(e){return this.isNode(e)&&e instanceof I},this.isTarget=function(e){return this.isNode(e)&&e instanceof D},Object.defineProperties(this,{id:{enumerable:!0,configurable:!0,get:function(){return F}}}),this.defaults(n.defaults)}return e.addEventListener("message",function(n){n.source===e&&"seriously-timeout-message"===n.data&&(n.stopPropagation(),v.length>0&&v.shift()())},!0),J.prototype.resize=function(e,n){var r=this.gl;this.width===e&&this.height===n||(this.width=e,this.height=n,r&&(r.bindTexture(r.TEXTURE_2D,this.texture),r.bindFramebuffer(r.FRAMEBUFFER,this.frameBuffer),r.bindRenderbuffer(r.RENDERBUFFER,this.renderBuffer),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,e,n,0,r.RGBA,r.UNSIGNED_BYTE,null),r.renderbufferStorage(r.RENDERBUFFER,r.DEPTH_COMPONENT16,e,n),r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,this.texture,0),r.bindTexture(r.TEXTURE_2D,null),r.bindRenderbuffer(r.RENDERBUFFER,null),r.bindFramebuffer(r.FRAMEBUFFER,null)))},J.prototype.destroy=function(){var e=this.gl;e&&(e.deleteFramebuffer(this.frameBuffer),e.deleteRenderbuffer(this.renderBuffer),this.ownTexture&&e.deleteTexture(this.texture)),delete this.frameBuffer,delete this.renderBuffer,delete this.texture,delete this.gl},K.prototype.use=function(){this.gl.useProgram(this.program)},Y.incompatible=function(n){var r,o,s;if(void 0===i&&((r=l.createElement("canvas"))&&r.getContext?e.WebGLRenderingContext?(o=X())||(i="context"):i="webgl":i="canvas"),i)return i;if(n){if((s=f[n])&&"function"==typeof s.compatible&&!s.compatible(o))return"plugin-"+n;if((s=h[n])&&"function"==typeof s.compatible&&!s.compatible(o))return"source-"+n}return!1},Y.plugin=function(e,n,r){var i;if(f[e])Y.logger.warn("Effect ["+e+"] already loaded");else if(void 0===r&&"object"===dN(n)&&(r=n),r)return i=U({},r),"function"==typeof n&&(i.definition=n),i.reserved=D,i.inputs&&$(i),i.title||(i.title=e),f[e]=i,g[e]=[],i},Y.removePlugin=function(e){var n;if(!e||!f[e])return this;if(n=g[e]){for(;n.length;)n.shift().destroy();delete g[e]}return delete f[e],this},Y.source=function(e,n,r){var i;if(h[e])Y.logger.warn("Source ["+e+"] already loaded");else if(void 0===r&&"object"===dN(n)&&(r=n),r||n)return i=U({},r),"function"==typeof n&&(i.definition=n),i.title||(i.title=e),h[e]=i,b[e]=[],i},Y.removeSource=function(e){var n;if(!e||!h[e])return this;if(n=b[e]){for(;n.length;)n.shift().destroy();delete b[e]}return delete h[e],this},Y.transform=function(e,n,r){var i;if(p[e])Y.logger.warn("Transform ["+e+"] already loaded");else if(void 0===r&&"object"===dN(n)&&(r=n),r||n)return i=U({},r),"function"==typeof n&&(i.definition=n),i.reserved=B,i.inputs&&$(i),i.title||(i.title=e),p[e]=i,y[e]=[],i},Y.removeTransform=function(e){var n;if(!e||!p[e])return this;if(n=y[e]){for(;n.length;)n.shift().destroy();delete y[e]}return delete p[e],this},Y.target=function(e,n,r){var i;if(m[e])Y.logger.warn("Target ["+e+"] already loaded");else if(void 0===r&&"object"===dN(n)&&(r=n),r||n)return i=U({},r),"function"==typeof n&&(i.definition=n),i.title||(i.title=e),m[e]=i,_[e]=[],i},Y.removeTarget=function(e){var n;if(!e||!m[e])return this;if(n=_[e]){for(;n.length;)n.shift().destroy();delete _[e]}return delete m[e],this},Y.inputValidators={color:function(e,n,i,o){var s,a,c,d;if(a=o||[],"string"==typeof e){if((c=C.exec(e))&&c.length){if(c.length<3)return a[0]=a[1]=a[2]=a[3]=0,a;for(a[3]=1,d=0;d<3;d++)a[d]=parseFloat(c[d+2])/255;return isNaN(c[6])||(a[3]=parseFloat(c[6])),"hsl"===c[1].toLowerCase()?H(a[0],a[1],a[2],a[3],a):a}if((c=x.exec(e))&&c.length)return 3===(s=c[1]).length?(a[0]=parseInt(s[0],16)/15,a[1]=parseInt(s[1],16)/15,a[2]=parseInt(s[2],16)/15,a[3]=1):4===s.length?(a[0]=parseInt(s[0],16)/15,a[1]=parseInt(s[1],16)/15,a[2]=parseInt(s[2],16)/15,a[3]=parseInt(s[3],16)/15):6===s.length?(a[0]=parseInt(s.substr(0,2),16)/255,a[1]=parseInt(s.substr(2,2),16)/255,a[2]=parseInt(s.substr(4,2),16)/255,a[3]=1):8===s.length?(a[0]=parseInt(s.substr(0,2),16)/255,a[1]=parseInt(s.substr(2,2),16)/255,a[2]=parseInt(s.substr(4,2),16)/255,a[3]=parseInt(s.substr(6,2),16)/255):a[0]=a[1]=a[2]=a[3]=0,a;if(c=T[e.toLowerCase()]){for(d=0;d<4;d++)a[d]=c[d];return a}return r||(r=l.createElement("canvas").getContext("2d")),r.fillStyle=e,(s=r.fillStyle)&&"#000000"!==s?Y.inputValidators.color(s,n,i,o):(a[0]=a[1]=a[2]=a[3]=0,a)}if(z(e)){if((a=e).length<3)return a[0]=a[1]=a[2]=a[3]=0,a;for(d=0;d<3;d++)if(isNaN(a[d]))return a[0]=a[1]=a[2]=a[3]=0,a;return a.length<4&&a.push(1),a}if("number"==typeof e)return a[0]=a[1]=a[2]=e,a[3]=1,a;if("object"===dN(e)){for(d=0;d<4;d++)null===e[s=O[d]]||isNaN(e[s])?a[d]=+(3===d):a[d]=e[s];return a}return a[0]=a[1]=a[2]=a[3]=0,a},number:function(e,n,r){return isNaN(e=parseFloat(e))?r||0:(n.mod&&(e-=n.mod*Math.floor(e/n.mod)),e<n.min?n.min:e>n.max?n.max:n.step?Math.round(e/n.step)*n.step:e)},enum:function(e,n,r){var i=n.options||[];return"string"==typeof e?e=e.toLowerCase():"number"==typeof e?e=e.toString():e||(e=""),i.hasOwnProperty(e)?e:r||""},vector:function(e,n,r,i){var o,s,a,c=n.dimensions||4;if(o=i||[],z(e)){for(s=0;s<c;s++)o[s]=e[s]||0;return o}if("object"===dN(e)){for(s=0;s<c;s++)void 0===e[a=E[s]]&&(a=O[s]),o[s]=e[a]||0;return o}for(e=parseFloat(e)||0,s=0;s<c;s++)o[s]=e;return o},boolean:function(e){return!(!e||e&&e.toLowerCase&&"false"===e.toLowerCase())},string:function(e){return"string"==typeof e?e:0===e||e?e.toString?e.toString():String(e):""}},Y.prototype.effects=Y.effects=function(){var e,n,r,i,o,s={};for(e in f)if(f.hasOwnProperty(e)){for(o in r={title:(n=f[e]).title||e,description:n.description||"",inputs:{}},n.inputs)n.inputs.hasOwnProperty(o)&&(i=n.inputs[o],r.inputs[o]={type:i.type,defaultValue:i.defaultValue,step:i.step,min:i.min,max:i.max,mod:i.mod,minCount:i.minCount,maxCount:i.maxCount,dimensions:i.dimensions,title:i.title||o,description:i.description||"",options:i.options||[]});s[e]=r}return s},e.Float32Array&&(o=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])),e.Seriously&&"object"===dN(e.Seriously)&&function(){var n;for(n in e.Seriously)e.Seriously.hasOwnProperty(n)&&"plugin"!==n&&"object"===dN(e.Seriously[n])&&Y.plugin(n,e.Seriously[n])}(),Y.logger={log:F("log"),info:F("info"),warn:F("warn"),error:F("error")},Y.util={mat4:P,checkSource:function(n){var r,i,o,s;if(!(r=L(n,["img","canvas","video"])))return!1;if(!(i=l.createElement("canvas")))return Y.logger.warn("Browser does not support canvas or Seriously.js"),!1;if(0===r.naturalWidth&&"IMG"===r.tagName)return Y.logger.warn("Image not loaded"),!1;if(0===r.readyState&&0===r.videoWidth&&"VIDEO"===r.tagName)return Y.logger.warn("Video not loaded"),!1;if(o=X()){(s=o.createTexture())||Y.logger.error("Test WebGL context has been lost"),o.bindTexture(o.TEXTURE_2D,s);try{o.texImage2D(o.TEXTURE_2D,0,o.RGBA,o.RGBA,o.UNSIGNED_BYTE,r)}catch(n){return n.code===e.DOMException.SECURITY_ERR?Y.logger.log("Unable to access cross-domain image"):Y.logger.error("Error storing image to texture: "+n.message),o.deleteTexture(s),!1}o.deleteTexture(s)}else{o=i.getContext("2d");try{o.drawImage(r,0,0),o.getImageData(0,0,1,1)}catch(n){return n.code===e.DOMException.SECURITY_ERR?Y.logger.log("Unable to access cross-domain image"):Y.logger.error("Error drawing image to canvas: "+n.message),!1}}return!0},hslToRgb:H,colors:T,setTimeoutZero:G,ShaderProgram:K,FrameBuffer:J,requestAnimationFrame:j,shader:{makeNoise:"float makeNoise(float u, float v, float timer) {\n float x = u * v * mod(timer * 1000.0, 100.0);\n x = mod(x, 13.0) * mod(x, 127.0);\n float dx = mod(x, 0.01);\n return clamp(0.1 + dx * 100.0, 0.0, 1.0);\n}\n",random:"#ifndef RANDOM\n#define RANDOM\nfloat random(vec2 n) {\n return 0.5 + 0.5 * fract(sin(dot(n.xy, vec2(12.9898, 78.233)))* 43758.5453);\n}\n#endif\n"}},Y.source("video",function(n,r,i){var o,a,c=this,d=!1,u=!1,f=!1,p=0;function h(){n.removeEventListener("loadedmetadata",h,!0),d||(n.videoWidth?(c.width===n.videoWidth&&c.height===n.videoHeight||(c.width=n.videoWidth,c.height=n.videoHeight,c.resize()),u&&c.setReady()):(u=!0,setTimeout(h,50)))}function m(){f=!0}function v(){f=!1,c.setDirty()}if(q(n,"HTMLVideoElement"))return n.readyState?h():(u=!0,n.addEventListener("loadedmetadata",h,!0)),n.addEventListener("seeking",m,!1),n.addEventListener("seeked",v,!1),{deferTexture:u,source:n,render:function r(i){var d;if(p=n.currentTime,!n.videoHeight||!n.videoWidth)return!1;s?(a||((o=(a=l.createElement("canvas").getContext("2d")).canvas).width=c.width,o.height=c.height),d=o,a.drawImage(n,0,0,c.width,c.height)):d=n,i.bindTexture(i.TEXTURE_2D,c.texture),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,c.flip),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1);try{if(i.texImage2D(i.TEXTURE_2D,0,i.RGBA,i.RGBA,i.UNSIGNED_BYTE,d),void 0===s){if(i.getError()===i.INVALID_VALUE)return s=!0,r(i);s=!1}return!0}catch(n){n.code===e.DOMException.SECURITY_ERR?(c.allowRefresh=!1,Y.logger.error("Unable to access cross-domain image")):Y.logger.error("Error rendering video source",n)}return!1},checkDirty:function(){return!f&&n.currentTime!==p},compare:function(e){return c.source===e},destroy:function(){d=!0,n.removeEventListener("seeking",m,!1),n.removeEventListener("seeked",v,!1),n.removeEventListener("loadedmetadata",h,!0)}}},{title:"Video"}),Y.transform("2d",function(e){var n=this,r=!(e&&e.radians),i=0,o=0,s=1,a=1,c=0,d=0,l=0,u=0,f=0;function p(){var e,p,h,m,v,g,y,b,_,w,S,R=n.matrix;function T(e,n){R[12]=R[0]*e+R[4]*n+R[12],R[13]=R[1]*e+R[5]*n+R[13],R[14]=R[2]*e+R[6]*n+R[14],R[15]=R[3]*e+R[7]*n+R[15]}c||d||l||u||f||1!==s||1!==a?(P.identity(R),T(c+i,d+o),u&&(R[4]=u/n.width),f&&(R[1]=f/n.height),l&&(m=R[0],v=R[1],g=R[2],y=R[3],b=R[4],_=R[5],w=R[6],S=R[7],p=Math.sin(e=-(r?l*Math.PI/180:l)),h=Math.cos(e),R[0]=m*h+b*p,R[1]=v*h+_*p,R[2]=g*h+w*p,R[3]=y*h+S*p,R[4]=b*h-m*p,R[5]=_*h-v*p,R[6]=w*h-g*p,R[7]=S*h-y*p),1!==s&&(R[0]*=s,R[1]*=s,R[2]*=s,R[3]*=s),1!==a&&(R[4]*=a,R[5]*=a,R[6]*=a,R[7]*=a),T(-i,-o),n.transformed=!0):n.transformed=!1}return{inputs:{reset:{method:function(){return i=0,o=0,s=1,a=1,c=0,d=0,l=0,u=0,f=0,!!n.transformed&&(n.transformed=!1,!0)}},translate:{method:function(e,n){return isNaN(e)&&(e=c),isNaN(n)&&(n=d),(e!==c||n!==d)&&(c=e,d=n,p(),!0)},type:["number","number"]},translateX:{get:function(){return c},set:function(e){return e!==c&&(c=e,p(),!0)},type:"number"},translateY:{get:function(){return d},set:function(e){return e!==d&&(d=e,p(),!0)},type:"number"},rotation:{get:function(){return l},set:function(e){return e!==l&&(l=parseFloat(e),p(),!0)},type:"number"},center:{method:function(e,n){return isNaN(e)&&(e=i),isNaN(n)&&(n=o),(e!==i||n!==o)&&(i=e,o=n,p(),!0)},type:["number","number"]},centerX:{get:function(){return i},set:function(e){return e!==i&&(i=e,p(),!0)},type:"number"},centerY:{get:function(){return o},set:function(e){return e!==o&&(o=e,p(),!0)},type:"number"},skew:{method:function(e,n){return isNaN(e)&&(e=u),isNaN(n)&&(n=f),(e!==u||n!==f)&&(u=e,f=n,p(),!0)},type:["number","number"]},skewX:{get:function(){return u},set:function(e){return e!==u&&(u=e,p(),!0)},type:"number"},skewY:{get:function(){return f},set:function(e){return e!==f&&(f=e,p(),!0)},type:"number"},scale:{method:function(e,n){var r,i;if(r=isNaN(e)?s:e,isNaN(n)){if(isNaN(e))return!1;i=r}else i=n;return(r!==s||i!==a)&&(s=r,a=i,p(),!0)},type:["number","number"]},scaleX:{get:function(){return s},set:function(e){return e!==s&&(s=e,p(),!0)},type:"number"},scaleY:{get:function(){return a},set:function(e){return e!==a&&(a=e,p(),!0)},type:"number"}}}},{title:"2D Transform",description:"Translate, Rotate, Scale, Skew"}),Y.transform("flip",function(){var e=this,n=!0;function r(){var r=e.matrix;n?(r[0]=-1,r[5]=1):(r[0]=1,r[5]=-1)}return P.identity(e.matrix),r(),e.transformDirty=!0,e.transformed=!0,{inputs:{direction:{get:function(){return n?"horizontal":"vertical"},set:function(e){var i;return(i="vertical"!==e)!==n&&(n=i,r(),!0)},type:"string"}}}},{title:"Flip",description:"Flip Horizontal/Vertical"}),Y.transform("reformat",function(){var e,n,r=this,i="contain";function o(){var o,s,a,c,d=r.matrix,l=e||r.width,u=n||r.height,f=r.source,p=f&&f.width||1,h=f&&f.height||1;"distort"===i||l===p&&u===h?r.transformed=!1:(a=p/h,c=l/u,"none"===i?(o=p/l,s=h/u):"width"===i||"contain"===i&&c<=a?(o=1,s=c/a):"height"===i||"contain"===i&&c>a?(o=a/c,s=1):c>a?(o=1,s=c/a):(o=a/c,s=1),1!==o||1!==s?(P.identity(d),1!==o&&(d[0]*=o,d[1]*=o,d[2]*=o,d[3]*=o),1!==s&&(d[4]*=s,d[5]*=s,d[6]*=s,d[7]*=s),r.transformed=!0):r.transformed=!1)}function s(){return e||r.source&&r.source.width||1}function a(){return n||r.source&&r.source.height||1}return this.resize=function(){var e,n=s(),r=a();if(this.width!==n||this.height!==r)for(this.width=n,this.height=r,this.uniforms&&this.uniforms.resolution&&(this.uniforms.resolution[0]=n,this.uniforms.resolution[1]=r),this.frameBuffer&&this.frameBuffer.resize&&this.frameBuffer.resize(n,r),e=0;e<this.targets.length;e++)this.targets[e].resize();this.setTransformDirty(),o()},{inputs:{width:{get:s,set:function(n){return(n=Math.floor(n))===e||(e=n,this.resize()),!1},type:"number"},height:{get:a,set:function(e){return(e=Math.floor(e))===n||(n=e,this.resize()),!1},type:"number"},mode:{get:function(){return i},set:function(e){return e!==i&&(i=e,o(),!0)},type:"enum",options:["cover","contain","distort","width","height","none"]}}}},{title:"Reformat",description:"Change output dimensions"}),a="precision mediump float;\nattribute vec4 position;\nattribute vec2 texCoord;\nuniform vec2 resolution;\nuniform mat4 transform;\nvarying vec2 vTexCoord;\nvoid main(void) {\n vec4 screenPosition = vec4(position.xy * resolution / 2.0, position.z, position.w);\n screenPosition = transform * screenPosition;\n gl_Position.xy = screenPosition.xy * 2.0 / resolution;\n gl_Position.z = screenPosition.z * 2.0 / (resolution.x / resolution.y);\n gl_Position.w = screenPosition.w;\n vTexCoord = texCoord;\n}\n",c="precision mediump float;\nvarying vec2 vTexCoord;\nuniform sampler2D source;\nvoid main(void) {\n gl_FragColor = texture2D(source, vTexCoord);\n}",Y.util.shader.noiseHelpers="#ifndef NOISE_HELPERS\n#define NOISE_HELPERS\nvec2 mod289(vec2 x) {\n return x - floor(x * (1.0 / 289.0)) * 289.0;\n}\nvec3 mod289(vec3 x) {\n return x - floor(x * (1.0 / 289.0)) * 289.0;\n}\nvec4 mod289(vec4 x) {\n return x - floor(x * (1.0 / 289.0)) * 289.0;\n}\nvec3 permute(vec3 x) {\n return mod289(((x*34.0)+1.0)*x);\n}\nvec4 permute(vec4 x) {\n return mod289(((x*34.0)+1.0)*x);\n}\nvec4 taylorInvSqrt(vec4 r) {\n return 1.79284291400159 - 0.85373472095314 * r;\n}\nfloat taylorInvSqrt(float r) {\n return 1.79284291400159 - 0.85373472095314 * r;\n}\n#endif\n",Y.util.shader.snoise2d="#ifndef NOISE2D\n#define NOISE2D\nfloat snoise(vec2 v) {\n const vec4 C = vec4(0.211324865405187, // (3.0-sqrt(3.0))/6.0\n 0.366025403784439, // 0.5*(sqrt(3.0)-1.0)\n -0.577350269189626, // -1.0 + 2.0 * C.x\n 0.024390243902439); // 1.0 / 41.0\n vec2 i = floor(v + dot(v, C.yy));\n vec2 x0 = v - i + dot(i, C.xx);\n vec2 i1;\n //i1.x = step(x0.y, x0.x); // x0.x > x0.y ? 1.0 : 0.0\n //i1.y = 1.0 - i1.x;\n i1 = (x0.x > x0.y) ? vec2(1.0, 0.0) : vec2(0.0, 1.0);\n // x0 = x0 - 0.0 + 0.0 * C.xx ;\n // x1 = x0 - i1 + 1.0 * C.xx ;\n // x2 = x0 - 1.0 + 2.0 * C.xx ;\n vec4 x12 = x0.xyxy + C.xxzz;\n x12.xy -= i1;\n i = mod289(i); // Avoid truncation effects in permutation\n vec3 p = permute(permute(i.y + vec3(0.0, i1.y, 1.0)) + i.x + vec3(0.0, i1.x, 1.0));\n vec3 m = max(0.5 - vec3(dot(x0, x0), dot(x12.xy, x12.xy), dot(x12.zw, x12.zw)), 0.0);\n m = m*m ;\n m = m*m ;\n vec3 x = 2.0 * fract(p * C.www) - 1.0;\n vec3 h = abs(x) - 0.5;\n vec3 ox = floor(x + 0.5);\n vec3 a0 = x - ox;\n m *= 1.79284291400159 - 0.85373472095314 * (a0*a0 + h*h);\n vec3 g;\n g.x = a0.x * x0.x + h.x * x0.y;\n g.yz = a0.yz * x12.xz + h.yz * x12.yw;\n return 130.0 * dot(m, g);\n}\n#endif\n",Y.util.shader.snoise3d="#ifndef NOISE3D\n#define NOISE3D\nfloat snoise(vec3 v) {\n const vec2 C = vec2(1.0/6.0, 1.0/3.0) ;\n const vec4 D = vec4(0.0, 0.5, 1.0, 2.0);\n vec3 i = floor(v + dot(v, C.yyy));\n vec3 x0 = v - i + dot(i, C.xxx) ;\n vec3 g = step(x0.yzx, x0.xyz);\n vec3 l = 1.0 - g;\n vec3 i1 = min(g.xyz, l.zxy);\n vec3 i2 = max(g.xyz, l.zxy);\n // x0 = x0 - 0.0 + 0.0 * C.xxx;\n // x1 = x0 - i1 + 1.0 * C.xxx;\n // x2 = x0 - i2 + 2.0 * C.xxx;\n // x3 = x0 - 1.0 + 3.0 * C.xxx;\n vec3 x1 = x0 - i1 + C.xxx;\n vec3 x2 = x0 - i2 + C.yyy; // 2.0*C.x = 1/3 = C.y\n vec3 x3 = x0 - D.yyy; // -1.0+3.0*C.x = -0.5 = -D.y\n i = mod289(i);\n vec4 p = permute(permute(permute(\n i.z + vec4(0.0, i1.z, i2.z, 1.0))\n + i.y + vec4(0.0, i1.y, i2.y, 1.0))\n + i.x + vec4(0.0, i1.x, i2.x, 1.0));\n float n_ = 0.142857142857; // 1.0/7.0\n vec3 ns = n_ * D.wyz - D.xzx;\n vec4 j = p - 49.0 * floor(p * ns.z * ns.z); // mod(p, 7 * 7)\n vec4 x_ = floor(j * ns.z);\n vec4 y_ = floor(j - 7.0 * x_); // mod(j, N)\n vec4 x = x_ * ns.x + ns.yyyy;\n vec4 y = y_ * ns.x + ns.yyyy;\n vec4 h = 1.0 - abs(x) - abs(y);\n vec4 b0 = vec4(x.xy, y.xy);\n vec4 b1 = vec4(x.zw, y.zw);\n //vec4 s0 = vec4(lessThan(b0, 0.0)) * 2.0 - 1.0;\n //vec4 s1 = vec4(lessThan(b1, 0.0)) * 2.0 - 1.0;\n vec4 s0 = floor(b0) * 2.0 + 1.0;\n vec4 s1 = floor(b1) * 2.0 + 1.0;\n vec4 sh = -step(h, vec4(0.0));\n vec4 a0 = b0.xzyw + s0.xzyw * sh.xxyy ;\n vec4 a1 = b1.xzyw + s1.xzyw * sh.zzww ;\n vec3 p0 = vec3(a0.xy, h.x);\n vec3 p1 = vec3(a0.zw, h.y);\n vec3 p2 = vec3(a1.xy, h.z);\n vec3 p3 = vec3(a1.zw, h.w);\n vec4 norm = taylorInvSqrt(vec4(dot(p0, p0), dot(p1, p1), dot(p2, p2), dot(p3, p3)));\n p0 *= norm.x;\n p1 *= norm.y;\n p2 *= norm.z;\n p3 *= norm.w;\n vec4 m = max(0.6 - vec4(dot(x0, x0), dot(x1, x1), dot(x2, x2), dot(x3, x3)), 0.0);\n m = m * m;\n return 42.0 * dot(m*m, vec4(dot(p0, x0), dot(p1, x1), dot(p2, x2), dot(p3, x3)));\n}\n#endif\n",Y.util.shader.snoise4d="#ifndef NOISE4D\n#define NOISE4D\nvec4 grad4(float j, vec4 ip)\n {\n const vec4 ones = vec4(1.0, 1.0, 1.0, -1.0);\n vec4 p, s;\n\n p.xyz = floor(fract (vec3(j) * ip.xyz) * 7.0) * ip.z - 1.0;\n p.w = 1.5 - dot(abs(p.xyz), ones.xyz);\n s = vec4(lessThan(p, vec4(0.0)));\n p.xyz = p.xyz + (s.xyz*2.0 - 1.0) * s.www;\n\n return p;\n }\n\n#define F4 0.309016994374947451\n\nfloat snoise(vec4 v)\n {\n const vec4 C = vec4(0.138196601125011, // (5 - sqrt(5))/20 G4\n 0.276393202250021, // 2 * G4\n 0.414589803375032, // 3 * G4\n -0.447213595499958); // -1 + 4 * G4\n\n vec4 i = floor(v + dot(v, vec4(F4)));\n vec4 x0 = v - i + dot(i, C.xxxx);\n\n\n vec4 i0;\n vec3 isX = step(x0.yzw, x0.xxx);\n vec3 isYZ = step(x0.zww, x0.yyz);\n i0.x = isX.x + isX.y + isX.z;\n i0.yzw = 1.0 - isX;\n i0.y += isYZ.x + isYZ.y;\n i0.zw += 1.0 - isYZ.xy;\n i0.z += isYZ.z;\n i0.w += 1.0 - isYZ.z;\n\n vec4 i3 = clamp(i0, 0.0, 1.0);\n vec4 i2 = clamp(i0 - 1.0, 0.0, 1.0);\n vec4 i1 = clamp(i0 - 2.0, 0.0, 1.0);\n\n vec4 x1 = x0 - i1 + C.xxxx;\n vec4 x2 = x0 - i2 + C.yyyy;\n vec4 x3 = x0 - i3 + C.zzzz;\n vec4 x4 = x0 + C.wwww;\n\n i = mod289(i);\n float j0 = permute(permute(permute(permute(i.w) + i.z) + i.y) + i.x);\n vec4 j1 = permute(permute(permute(permute (\n i.w + vec4(i1.w, i2.w, i3.w, 1.0))\n + i.z + vec4(i1.z, i2.z, i3.z, 1.0))\n + i.y + vec4(i1.y, i2.y, i3.y, 1.0))\n + i.x + vec4(i1.x, i2.x, i3.x, 1.0));\n\n vec4 ip = vec4(1.0/294.0, 1.0/49.0, 1.0/7.0, 0.0) ;\n\n vec4 p0 = grad4(j0, ip);\n vec4 p1 = grad4(j1.x, ip);\n vec4 p2 = grad4(j1.y, ip);\n vec4 p3 = grad4(j1.z, ip);\n vec4 p4 = grad4(j1.w, ip);\n\n vec4 norm = taylorInvSqrt(vec4(dot(p0, p0), dot(p1, p1), dot(p2, p2), dot(p3, p3)));\n p0 *= norm.x;\n p1 *= norm.y;\n p2 *= norm.z;\n p3 *= norm.w;\n p4 *= taylorInvSqrt(dot(p4, p4));\n\n vec3 m0 = max(0.6 - vec3(dot(x0, x0), dot(x1, x1), dot(x2, x2)), 0.0);\n vec2 m1 = max(0.6 - vec2(dot(x3, x3), dot(x4, x4)), 0.0);\n m0 = m0 * m0;\n m1 = m1 * m1;\n return 49.0 * (dot(m0*m0, vec3(dot(p0, x0), dot(p1, x1), dot(p2, x2)))\n + dot(m1*m1, vec2(dot(p3, x3), dot(p4, x4)))) ;\n}\n#endif\n",Y}(_=window),_.Seriously||(_.Seriously=w),dF.exports=w;var dq=dF.exports;window,console.info("seriously version: chroma"),dq.plugin("chroma",{shader:function(e,n){return n.vertex="precision mediump float;\nattribute vec4 position;\nattribute vec2 texCoord;\nuniform vec2 resolution;\nuniform mat4 transform;\nvarying vec2 vTexCoord;\nuniform vec4 screen;\nuniform float balance;\nvarying float screenSat;\nvarying vec3 screenPrimary;\nvoid main(void) {\n float fmin = min(min(screen.r, screen.g), screen.b);\n float fmax = max(max(screen.r, screen.g), screen.b);\n float secondaryComponents;\n screenPrimary = step(fmax, screen.rgb);\n secondaryComponents = dot(1.0 - screenPrimary, screen.rgb);\n screenSat = fmax - mix(secondaryComponents - fmin, secondaryComponents / 2.0, balance);\n vec4 screenPosition = vec4(position.xy * resolution / 2.0, position.z, position.w);\n screenPosition = transform * screenPosition;\n gl_Position = screenPosition;\n gl_Position.xy = screenPosition.xy * 2.0 / resolution;\n gl_Position.z = screenPosition.z * 2.0 / (resolution.x / resolution.y);\n vTexCoord = texCoord;\n}",n.fragment=[this.inputs.mask?"#define MASK":"","precision mediump float;\nvarying vec2 vTexCoord;\nuniform sampler2D source;\nuniform vec4 screen;\nuniform float screenWeight;\nuniform float balance;\nuniform float clipBlack;\nuniform float clipWhite;\nuniform bool mask;\nvarying float screenSat;\nvarying vec3 screenPrimary;\nvoid main(void) {\n float pixelSat, secondaryComponents;\n vec4 sourcePixel = texture2D(source, vTexCoord);\n\n if (screen.a == 0.0) {\n gl_FragColor = sourcePixel;\n return;\n }\n \n float fmin = min(min(sourcePixel.r, sourcePixel.g), sourcePixel.b);\n float fmax = max(max(sourcePixel.r, sourcePixel.g), sourcePixel.b);\n vec3 pixelPrimary = step(fmax, sourcePixel.rgb);\n secondaryComponents = dot(1.0 - pixelPrimary, sourcePixel.rgb);\n pixelSat = fmax - mix(secondaryComponents - fmin, secondaryComponents / 2.0, balance);\n float diffPrimary = dot(abs(pixelPrimary - screenPrimary), vec3(1.0));\n float solid = step(1.0, step(pixelSat, 0.1) + step(fmax, 0.1) + diffPrimary);\n float alpha = max(0.0, 1.0 - pixelSat / screenSat);\n alpha = smoothstep(clipBlack, clipWhite, alpha);\n vec4 semiTransparentPixel = vec4((sourcePixel.rgb - (1.0 - alpha) * screen.rgb * screenWeight) / max(0.00001, alpha), alpha);\n vec4 pixel = mix(semiTransparentPixel, sourcePixel, solid);\n#ifdef MASK\n gl_FragColor = vec4(vec3(pixel.a), 1.0);\n#else\n gl_FragColor = pixel;\n#endif\n}"].join("\n"),n},inPlace:!0,inputs:{source:{type:"image",uniform:"source"},screen:{type:"color",uniform:"screen",defaultValue:[66/255,195/255,31/255,1]},weight:{type:"number",uniform:"screenWeight",defaultValue:1,min:0},balance:{type:"number",uniform:"balance",defaultValue:1,min:0,max:1},clipBlack:{type:"number",uniform:"clipBlack",defaultValue:0,min:0,max:1},clipWhite:{type:"number",uniform:"clipWhite",defaultValue:1,min:0,max:1},mask:{type:"boolean",defaultValue:!1,uniform:"mask",shaderDirty:!0}},title:"Chroma Key",description:""}),window,console.info("seriously version: chroma_obs"),dq.plugin("chroma_obs",{shader:function(e,n){return n.vertex="precision mediump float;\nattribute vec4 position;\nattribute vec2 texCoord;\nuniform vec2 resolution;\nuniform mat4 transform;\nvarying vec2 vTexCoord;\nconst vec4 cb_v4 = vec4(-0.100644, -0.338572, 0.439216, 0.501961);\nconst vec4 cr_v4 = vec4(0.439216, -0.398942, -0.040274, 0.501961);\nuniform vec4 screen;\nuniform float similarity;\nuniform float smoothness;\nuniform float spill;\nuniform float contrast;\nuniform float gamma;\nvarying vec2 chroma_key;\nvarying vec2 pixel_size;\nvarying float similarity_v;\nvarying float smoothness_v;\nvarying float spill_v;\nvarying float contrast_v;\nvarying float gamma_v;\nvoid main(void) {\n float cb = dot(screen.rgb, cb_v4.xyz) + cb_v4.w;\n float cr = dot(screen.rgb, cr_v4.xyz) + cr_v4.w;\n chroma_key.x = cb;\n chroma_key.y = cr;\n pixel_size.x = 1.0 / resolution.x;\n pixel_size.y = 1.0 / resolution.y;\n similarity_v = similarity * 1.0 / 1000.0;\n smoothness_v = smoothness * 1.0 / 1000.0;\n spill_v = spill * 1.0 / 1000.0;\n contrast_v = (contrast < 0.0) ? (1.0 / (-contrast + 1.0)) : (contrast + 1.0);\n gamma_v = (gamma < 0.0) ? (-gamma + 1.0) : (1.0 / (gamma + 1.0));\n vec4 screenPosition = vec4(position.xy * resolution / 2.0, position.z, position.w);\n screenPosition = transform * screenPosition;\n gl_Position = screenPosition;\n gl_Position.xy = screenPosition.xy * 2.0 / resolution;\n gl_Position.z = screenPosition.z * 2.0 / (resolution.x / resolution.y);\n vTexCoord = texCoord;\n}",n.fragment=[this.inputs.mask?"#define MASK":"","precision mediump float;\nvarying vec2 vTexCoord;\nuniform bool mask;\nuniform vec4 screen;\nuniform sampler2D source;\nconst vec4 cb_v4 = vec4(-0.100644, -0.338572, 0.439216, 0.501961);\nconst vec4 cr_v4 = vec4(0.439216, -0.398942, -0.040274, 0.501961);\nuniform float opacity;\nuniform float brightness;\nvarying vec2 chroma_key;\nvarying vec2 pixel_size;\nvarying float similarity_v;\nvarying float smoothness_v;\nvarying float spill_v;\nvarying float contrast_v;\nvarying float gamma_v;\nvec4 CalcColor(vec4 rgba) {\n return vec4(pow(rgba.rgb, vec3(gamma_v, gamma_v, gamma_v)) * contrast_v + brightness, rgba.a);\n}\nfloat GetChromaDist(vec3 rgb) {\n float cb = dot(rgb.rgb, cb_v4.xyz) + cb_v4.w;\n float cr = dot(rgb.rgb, cr_v4.xyz) + cr_v4.w;\n return distance(chroma_key, vec2(cb, cr));\n}\nfloat GetNonlinearChannel(float u) {\n return u;\n}\nvec3 GetNonlinearColor(vec3 rgb)\n{\n return vec3(GetNonlinearChannel(rgb.r), GetNonlinearChannel(rgb.g), GetNonlinearChannel(rgb.b));\n}\nvec3 SampleTexture(vec2 uv)\n{\n vec3 rgb = texture2D(source, uv).rgb;\n return GetNonlinearColor(rgb);\n}\nfloat GetBoxFilteredChromaDist(vec3 rgb, vec2 texCoord) {\n vec2 h_pixel_size = pixel_size / 2.0;\n vec2 point_0 = vec2(pixel_size.x, h_pixel_size.y);\n vec2 point_1 = vec2(h_pixel_size.x, -pixel_size.y);\n float distVal = GetChromaDist(SampleTexture(texCoord-point_0));\n distVal += GetChromaDist(SampleTexture(texCoord+point_0));\n distVal += GetChromaDist(SampleTexture(texCoord-point_1));\n distVal += GetChromaDist(SampleTexture(texCoord+point_1));\n distVal *= 2.0;\n distVal += GetChromaDist(GetNonlinearColor(rgb));\n return distVal / 9.0;\n}\nvec4 ProcessChromaKey(vec4 rgba, vec2 uv)\n{\n float chromaDist = GetBoxFilteredChromaDist(rgba.rgb, uv);\n float baseMask = chromaDist - similarity_v;\n float fullMask = pow(clamp(baseMask / smoothness_v, 0.0, 1.0), 1.5);\n float spillVal = pow(clamp(baseMask / spill_v, 0.0, 1.0), 1.5);\n rgba.a *= opacity;\n rgba.a *= fullMask;\n float desat = dot(rgba.rgb, vec3(0.2126, 0.7152, 0.0722));\n rgba.rgb = mix(vec3(desat, desat, desat), rgba.rgb, spillVal);\n return CalcColor(rgba);\n}\nvoid main(void) {\n vec4 rgba = texture2D(source, vTexCoord);\n\n if (screen.w == 0.0) {\n gl_FragColor = rgba;\n return;\n }\n \n rgba.rgb *= (rgba.a > 0.) ? (1. / rgba.a) : 0.;\n rgba = ProcessChromaKey(rgba, vTexCoord);\n rgba.rgb *= rgba.a;\n#ifdef MASK\n gl_FragColor = vec4(vec3(rgba.a), 1.0);\n#else\n gl_FragColor = rgba;\n#endif\n}"].join("\n"),n},inPlace:!0,inputs:{source:{type:"image",uniform:"source"},screen:{type:"color",uniform:"screen",defaultValue:[0,1,0,1]},similarity:{type:"number",uniform:"similarity",defaultValue:400,min:1,max:1e3},smoothness:{type:"number",uniform:"smoothness",defaultValue:80,min:1,max:1e3},opacity:{type:"number",uniform:"opacity",defaultValue:1,min:0,max:1},contrast:{type:"number",uniform:"contrast",defaultValue:0,min:-4,max:4},brightness:{type:"number",uniform:"brightness",defaultValue:0,min:-1,max:1},gamma:{type:"number",uniform:"gamma",defaultValue:0,min:-1,max:1},spill:{type:"number",uniform:"spill",defaultValue:100,min:1,max:1e3},mask:{type:"boolean",defaultValue:!1,uniform:"mask",shaderDirty:!0}},title:"Chroma Key OBS",description:""}),window,console.info("seriously version: chroma_post"),dq.plugin("chroma_post",{shader:function(e,n){return n.vertex="precision mediump float;\nattribute vec4 position;\nattribute vec2 texCoord;\nuniform vec2 resolution;\nuniform mat4 transform;\nvarying vec2 vTexCoord;\nvarying vec2 pixel_size;\nvoid main(void) {\n pixel_size.x = 1.0 / resolution.x;\n pixel_size.y = 1.0 / resolution.y;\n vec4 screenPosition = vec4(position.xy * resolution / 2.0, position.z, position.w);\n screenPosition = transform * screenPosition;\n gl_Position = screenPosition;\n gl_Position.xy = screenPosition.xy * 2.0 / resolution;\n gl_Position.z = screenPosition.z * 2.0 / (resolution.x / resolution.y);\n vTexCoord = texCoord;\n}",n.fragment=[this.inputs.mask?"#define MASK":"","precision mediump float;\nvarying vec2 vTexCoord;\nuniform bool mask;\nuniform sampler2D source;\nuniform float edgeShrink;\nvarying vec2 pixel_size;\nconst int filter_size = 3;\nfloat edgeSmoothSuppKernelV2(vec4 rgba, vec2 coord) {\n float alpha = rgba.a;\n if (edgeShrink > 1.0) {\n float sum = 0.0;\n float weightSum = 0.0;\n // float sigma = 1.0f;\n for (int j = - filter_size / 2; j <= filter_size / 2; j++) {\n for (int i = - filter_size / 2; i <= filter_size / 2; i++) {\n // float weight = exp(-(i*i + j*j) / (2 * sigma * sigma)) / (2 * 3.1415926f * sigma * sigma);\n float weight = 1.0;\n vec4 neighborColor = texture2D(source, coord + vec2(i, j) * pixel_size);\n // speedup: move the powf to chroma_key\n float alpha_ker = pow(neighborColor.w, edgeShrink);\n sum += (alpha_ker * weight);\n weightSum += weight;\n }\n }\n alpha = sum * 1.0 / weightSum;\n }\n return alpha;\n}\nvoid main(void) {\n vec4 rgba = texture2D(source, vTexCoord);\n rgba.a = edgeSmoothSuppKernelV2(rgba, vTexCoord);\n rgba.a = pow(rgba.a, edgeShrink);\n#ifdef MASK\n gl_FragColor = vec4(vec3(rgba.a), 1.0);\n#else\n gl_FragColor = rgba;\n#endif\n}"].join("\n"),n},inPlace:!0,inputs:{source:{type:"image",uniform:"source"},edgeShrink:{type:"number",uniform:"edgeShrink",defaultValue:3,min:1,max:10},mask:{type:"boolean",defaultValue:!1,uniform:"mask",shaderDirty:!0}},title:"Chroma Key Post",description:""});class dH{seriously;version;defaultOptions={screen:[0,255,0,0]};targetElement;sourceElement;source=null;target=null;effect=null;backEffect=null;constructor(e,n,r,i=0){this.seriously=new window.Seriously,this.version=i,this.targetElement="string"==typeof e?document.getElementById(e):e,this.sourceElement="string"==typeof n?document.getElementById(n):n,this.init(r)}async loadEffect(e){return 1===e?"chroma":"chroma_obs"}async init(e){console.info("serious version:",this.version);let n=await this.loadEffect(this.version);await dU(()=>!(this.sourceElement?.videoWidth>0&&this.sourceElement?.videoHeight>0)),this.targetElement.width=this.sourceElement.videoWidth,this.targetElement.height=this.sourceElement.videoHeight,this.source=this.seriously.source(this.sourceElement),this.target=this.seriously.target(this.targetElement),this.effect=this.seriously.effect(n),this.backEffect=this.seriously.effect("chroma_post"),this.effect.source=this.source,this.backEffect.source=this.effect,this.target.source=this.backEffect,this.seriously.go(),this.setOptions(this.defaultOptions),e&&this.setOptions(e)}destroy(){this.seriously.destroy()}async updateSource(e){e&&this.effect&&this.backEffect?(this.sourceElement="string"==typeof e?document.getElementById(e):e,await dU(()=>!(this.sourceElement?.videoWidth>0&&this.sourceElement?.videoHeight>0)),this.source?.destroy(),console.info("update source: ",this.source?.isDestroyed()),this.source=this.seriously.source(this.sourceElement),this.effect.source=this.source,this.backEffect.source=this.effect,this.target.source=this.backEffect):console.warn("update source error: source or effect is null",e,this.effect)}async setOptions(e){if(this.defaultOptions={...this.defaultOptions,...e},!this.effect||!this.backEffect||dn()(e))return;console.info("set options: ",e);let{screen:n,edgeShrink:r}=e;if(n&&n.length>=3){let[e,r,i,o]=n;this.effect.screen=[e/255,r/255,i/255,dB()(o)?o:1]}for(let[n,i]of(r&&(this.backEffect.edgeShrink=r),Object.entries(e)))"number"==typeof i&&"screen"!==n&&"edgeShrink"!==n&&(this.effect[n]=i)}}var dV=2,dz={screen:[53,186,123],similarity:90,edgeShrink:3,smoothness:80,spill:100,opacity:1,contrast:0,brightness:0,gamma:0},dG=function(){function e(n){cr(this,e),cs(this,"cutoutInstance",void 0);var r=n.effects,i=n.sourceId;this.cutoutInstance=new dH("starling-cutout-canvas",i||"starling-cutout-video",r&&r.chromaKey||dz,r&&r.version||dV)}return co(e,[{key:"setOptions",value:function(e){e&&this.cutoutInstance&&this.cutoutInstance.setOptions(e)}},{key:"destroy",value:function(){return this.cutoutInstance.destroy()}},{key:"updateSource",value:function(e){return this.cutoutInstance.updateSource(e)}}]),e}(),dW=function(e,n){function r(e){cr(this,r),cs(this,"onAudioData",void 0),cs(this,"onError",void 0),cs(this,"audioContext",null),cs(this,"processor",null),cs(this,"mediaStream",null),cs(this,"recording",!1),this.onAudioData=e.onAudioData,this.onError=e.onError,this.preWarmStream()}return co(r,[{key:"preWarmStream",value:function(){return(e=e||cn(a7().mark(function e(){var n;return a7().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,this.audioContext=new(window.AudioContext||window.webkitAudioContext)({sampleRate:16e3}),e.next=4,navigator.mediaDevices.getUserMedia({audio:!0,video:!1});case 4:this.mediaStream=e.sent,n=this.audioContext.createMediaStreamSource(this.mediaStream),this.processor=this.audioContext.createScriptProcessor(1024,1,1),n.connect(this.processor),this.processor.connect(this.audioContext.destination),this.processor.onaudioprocess=function(){},e.next=15;break;case 12:e.prev=12,e.t0=e.catch(0),console.error("preWarmStream error",e.t0);case 15:case"end":return e.stop()}},e,this,[[0,12]])}))).apply(this,arguments)}},{key:"start",value:function(){return(n=n||cn(a7().mark(function e(){var n=this;return a7().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.recording){e.next=2;break}return e.abrupt("return");case 2:if(this.audioContext&&this.processor){e.next=4;break}return e.abrupt("return");case 4:try{this.processor.onaudioprocess=function(e){if(n.recording){var r=function(e,n,r,i){try{for(var o=(i=i||{},"number"==typeof i.index)?i.index:0,s=i&&"number"==typeof i.offset?i.offset:0,a=0,c=o;c<e.length;c++)a+=e[c].length;a=Math.max(0,a-Math.floor(s));var d=n/r;d>1?a=Math.floor(a/d):(d=1,r=n);for(var l=new Int16Array(a),u=0,f=e.length;o<f;o++){for(var p=e[o],h=s,m=p.length;h<m;){var v=Math.floor(h),g=Math.ceil(h),y=h-v;l[u]=p[v]+(p[g]-p[v])*y,u++,h+=d}s=h-m}return{index:o,offset:s,sampleRate:r,data:l}}catch(e){console.log("转音错误了",e)}}([function(e){for(var n=new Int16Array(e.length),r=0;r<e.length;r++){var i=Math.max(-1,Math.min(1,e[r]));n[r]=i<0?32768*i:32767*i}return n}(e.inputBuffer.getChannelData(0))],n.audioContext.sampleRate,16e3,null);r&&r.data&&n.onAudioData(r.data.buffer)}},this.recording=!0}catch(e){this.onError&&this.onError(e)}case 5:case"end":return e.stop()}},e,this)}))).apply(this,arguments)}},{key:"stop",value:function(){this.recording=!1,this.processor.onaudioprocess=function(){}}},{key:"destroy",value:function(){this.recording=!1,this.processor&&(this.processor.disconnect(),this.processor.onaudioprocess=null),this.audioContext&&this.audioContext.close(),this.mediaStream&&this.mediaStream.getTracks().forEach(function(e){e.stop()})}}]),r}(),dX=function(){function e(n){var r,i=this;cr(this,e),cs(this,"token",void 0),cs(this,"appKey",void 0),cs(this,"appId",void 0),cs(this,"connectParams",void 0),cs(this,"onDigitalHumanCallback",void 0),cs(this,"dhServer",void 0),cs(this,"rtcServer",void 0),cs(this,"rtcConnectParams",void 0),cs(this,"cutoutInstance",void 0),cs(this,"isHuawei",(r=navigator.userAgent||navigator.vendor,/huawei/i.test(r)||/honor/i.test(r))),cs(this,"rtcServerUrl",void 0),cs(this,"recordController",null),cs(this,"wsReadyState",-1),cs(this,"isPreOpenSession",!1),cs(this,"onDigitalHumanCallbackPlus",function(e){var n;e.status===c7.DH_LIB_FULL_STATUS&&"wsState"===(null==(n=e.content)?void 0:n.type)&&(i.wsReadyState=e.content.readyState),i.onDigitalHumanCallback&&i.onDigitalHumanCallback(e)}),cs(this,"onRemoteVideoComing",function(e){i.rtcConnectParams&&i.rtcConnectParams.feedId&&e===+i.rtcConnectParams.feedId&&i.rtcServer&&i.rtcServer.client&&i.rtcServer.client.subscribeStreaming("remotevideo500",+i.rtcConnectParams.feedId)}),cs(this,"onLocalStream",function(){(i.connectParams||{}).pullAudioFromRtc&&i.rtcServer&&i.rtcServer.muteMicphone(!0)}),cs(this,"onRemoteVideoOn",function(){setTimeout(cn(a7().mark(function e(){var n,r,o,s,a;return a7().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=document.getElementById(dP),e.next=3,i.cutoutInstance&&i.cutoutInstance.updateSource(dP);case 3:n&&(n.setAttribute("data-playing","true"),r=n.videoWidth,o=n.videoHeight,a=(s=document.getElementById(dI)).getContext("2d"),s&&a&&(s.width=r,s.height=o,a.drawImage(n,0,0,r,o)));case 4:case"end":return e.stop()}},e)})),100)}),cs(this,"connectListener",function(e){var n=e.code,r=e.body,o=e.message;if(0===n&&i.onDigitalHumanCallback&&i.onDigitalHumanCallback({status:c7.DH_LIB_WS_SUCCESS,content:e}),0===n){var s=ch.parse(r),a=s.rtcServerUrl,c=s.appId,d=s.clientToken,l=s.roomName,u=s.clientId,f=s.feedId,p=s.chargeId;c&&l&&(i.rtcConnectParams={server:i.rtcServerUrl||a,appId:c,token:d,roomName:l,userId:u,feedId:f,chargeId:p},i.rtcServer&&i.rtcServer.openRtc(i.rtcConnectParams))}else i.onDigitalHumanCallback&&i.onDigitalHumanCallback({status:c7.DH_LIB_ERROR,content:{type:de.CONNECT_ERROR,msg:{code:n,errMsg:o}}})}),cs(this,"createServer",function(e){var n,r=a9(a9(a9({token:i.token,appKey:i.appKey,appId:i.appId},e?{sessionId:e}:{}),da()(i.connectParams,dc)),{},{parameters:di()(i.connectParams,dc),onConnect:i.connectListener,onDigitalHumanCallback:i.onDigitalHumanCallbackPlus});null!=(n=i.dhServer)&&n.preConnectSuccess?(i.dhServer.connectParams=r,i.dhServer&&i.dhServer.sendPreConnect(r)):i.dhServer&&i.dhServer.createSocket(r)}),cs(this,"checkHumanInstansce",function(){return i.dhServer?!(i.isPreOpenSession&&!i.dhServer.preConnectSuccess)||(i.onDigitalHumanCallback&&i.onDigitalHumanCallback({status:c7.DH_LIB_ERROR,content:{type:de.CONNECT_ERROR,msg:{code:4001,errMsg:"webSocket连接中"}}}),!1):(i.onDigitalHumanCallback&&i.onDigitalHumanCallback({status:c7.DH_LIB_ERROR,content:{type:de.CONNECT_ERROR,msg:{code:4002,errMsg:"请先初始化数字人实例"}}}),!1)}),cs(this,"sendMessage",function(e,n){return i.dhServer&&i.dhServer.sendMessage(e,n)}),cs(this,"interrupt",cn(a7().mark(function e(){return a7().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise(function(e){i.dhServer&&i.dhServer.sendMessage({requestId:r2(),action:"TEXT_RENDER",body:"<interrupt></interrupt>",clientTs:(new Date).getTime()},function(){return e()})}));case 1:case"end":return e.stop()}},e)}))),cs(this,"textRender",function(e){var n=e.requestId,r=e.body,o=e.onCallbackMsg;i.checkHumanInstansce()&&i.dhServer&&i.dhServer.sendMessage({requestId:n||r2(),action:"TEXT_RENDER",body:r,clientTs:(new Date).getTime()},o)}),cs(this,"textStreamRender",function(e){var n=e.requestId,r=e.body,o=e.onCallbackMsg,s=ch.parse(r).first;i.checkHumanInstansce()&&i.dhServer&&i.dhServer.sendMessage({requestId:n||r2(),action:"TEXT_STREAM_RENDER",body:r,clientTs:(new Date).getTime()},s?o:null)}),cs(this,"audioRender",function(e){var n=e.body,r=e.onCallbackMsg;i.checkHumanInstansce()&&i.dhServer&&i.dhServer.sendMessage({requestId:r2(),action:"AUDIO_RENDER",body:n,clientTs:(new Date).getTime()},r)}),cs(this,"audioStreamRender",function(e){var n=e.requestId,r=e.body,o=e.onCallbackMsg;i.checkHumanInstansce()&&i.dhServer&&i.dhServer.sendMessage({requestId:n||r2(),action:"AUDIO_STREAM_RENDER",body:r,clientTs:(new Date).getTime()},o)}),cs(this,"textQuery",function(e){var n=e.requestId,r=e.body,o=e.onCallbackMsg;i.dhServer&&i.dhServer.sendMessage({requestId:n||r2(),action:"TEXT_QUERY",body:r,clientTs:(new Date).getTime()},o)}),cs(this,"destroy",cn(a7().mark(function e(){var n;return a7().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,i.dhServer&&i.dhServer.closeSocket();case 2:i.rtcServer&&i.rtcServer.closeRtc(),function(){var e=document.getElementById(dM);e&&e.parentNode&&e.parentNode.removeChild(e)}(),null==(n=i.recordController)||n.destroy(),i.dhServer=null,i.rtcServer=null;case 7:case"end":return e.stop()}},e)}))),cs(this,"pauseHuman",function(){return dA(!1)}),cs(this,"playHuman",function(){return dA(!0)}),cs(this,"muteHuman",function(){return dj(!0)}),cs(this,"unMuteHuman",function(){var e=dj(!1);try{return i.isHuawei?(e.pause(),e.play()):e.paused&&e.play()}catch(e){console.info(e)}});var o=n.isPreOpenSession,s=void 0!==o&&o,a=n.wsUrl,c=n.renderParams,d=n.onDigitalHumanCallback;this.isPreOpenSession=s,this.dhServer=new dm(a||"wss://open.xiling.baidu.com/cloud/digital-human-demonstration"),this.onDigitalHumanCallback=function(e){e.status!==c7.DH_LIB_FULL_STATUS?d&&d(e):(null==c?void 0:c.fullStatus)&&d&&d(e)},s?this.dhServer.createSocket({onDigitalHumanCallback:this.onDigitalHumanCallbackPlus},s):this.init(n)}return co(e,[{key:"init",value:function(e){var n,r=this,i=e.wrapperId,o=e.token,s=e.appKey,a=e.appId,c=e.connectParams,d=e.renderParams,l=void 0===d?{}:d,u=e.rtcConnectParams,f=e.brtcParams,p=e.rtcServerUrl;if(this.token=o,this.appKey=s,this.appId=a,this.rtcServerUrl=p,this.connectParams=a9({autoChromaKey:(null==l?void 0:l.autoChromaKey)||!1},c),!a&&!s&&!o)throw Error("appId and appKey or token is required");var h=l.closeLog,m=(function(e){var n=e.autoChromaKey,r=void 0!==n&&n,i=e.autoplay;if(document.getElementById(dP))return console.error('DOM with id "'.concat(dP,'" already exists.')),null;var o=document.createElement("div");o.className=dM,o.id=dM,o.style.position="relative";var s=document.createElement("video");if(s.id=dP,s.width=0,s.height=0,s.setAttribute("width","100%"),s.setAttribute("height","100%"),s.setAttribute("data-playing","true"),s.setAttribute("playsinline",""),(void 0===i||i)&&s.setAttribute("autoplay",""),o.appendChild(s),r){var a=document.createElement("canvas");a.id=dI,Object.assign(a.style,{position:"absolute",top:"0",left:"0",height:"100%",width:"100%",zIndex:"1",display:r?"block":"none"}),s.style.visibility="hidden",o.appendChild(a)}return{playerWrapper:o,video:s}}({autoChromaKey:!!l.autoChromaKey||!dn()(l.chromaEffects)})||{}).playerWrapper,v=document.getElementById(i||"");v||console.error("dom with wrapperId is not find"),m&&v&&v.appendChild(m),(n=document.createElement("style")).appendChild(document.createTextNode('\n [id^="videoremote1-"] {\n display: none !important;\n }\n \n video#remotevideo500 {\n width: auto !important;\n height: auto !important;\n max-width: 100% !important;\n max-height: 100% !important;\n width: 100% !important;\n height: 100% !important;\n object-fit: cover;\n }\n\n .cloud-brtc-player-wrapper {\n width: inherit !important;\n background-size: cover;\n height: inherit;\n display: flex;\n justify-content: center;\n }\n\n #starling-cutout-canvas {\n object-fit: cover;\n }\n ')),document.head.appendChild(n);var g=a9({remotevideoviewid:i,showvideobps:!1,usingvideo:!1,usingaudio:!(null==c||!c.pullAudioFromRtc),aspublisher:!(null==c||!c.pullAudioFromRtc),autopublish:!(null==c||!c.pullAudioFromRtc),usingdatachannel:!0,autoplaymuted:!1},f);this.rtcServer=new dk({closeLog:h,videoWrapperId:dP,rtcConfig:g,bizConfig:{},rtcCallback:{onRemoteVideoComing:this.onRemoteVideoComing,onDigitalHumanCallback:this.onDigitalHumanCallback,onLocalStream:this.onLocalStream}}),(!dn()(null==l?void 0:l.chromaEffects)||null!=l&&l.autoChromaKey)&&(this.cutoutInstance=new dG({sourceId:dP,effects:null==l?void 0:l.chromaEffects})),dn()(u)||(this.rtcConnectParams=u,this.rtcServer.openRtc(u)),null!=c&&c.pullAudioFromRtc?this.recordController=null:this.recordController=new dW({pickAudioMode:null==c?void 0:c.pickAudioMode,onAudioData:function(e){1===r.wsReadyState&&r.sendMessage(e,null)},onError:function(e){r.onDigitalHumanCallback&&r.onDigitalHumanCallback({status:c7.DH_LIB_ERROR,content:{type:de.CONNECT_ERROR,msg:{code:-1,errMsg:e.message}}})}})}},{key:"startRecord",value:function(){var e;null!=(e=this.connectParams)&&e.pullAudioFromRtc?this.rtcServer&&this.rtcServer.muteMicphone(!1):this.recordController&&this.recordController.start()}},{key:"stopRecord",value:function(){var e;null!=(e=this.connectParams)&&e.pullAudioFromRtc?this.rtcServer&&this.rtcServer.muteMicphone(!0):this.recordController&&this.recordController.stop(),this.sendMessage({action:"AUDIO_QUERY_INTERRUPT",requestId:r2(),clientTs:Date.now(),body:""},null)}}]),e}();class d$ extends sM{get ready(){return!!this.humanInstance&&!!this.token}constructor(...e){super(...e),this.humanInstance=null,this.requestId=r2(),this.isWSConnected=!1,this.isRtcReady=!1,this.isStreamTextRendering=!1,this.wsClosedCount=0,this.mount=async e=>{e?(this.humanInstance&&this.dispose(),e.id||(e.id=`dh-container-${r2()}`),this.opts.enableDebugMode&&"development"===this.opts.env&&!this.opts.token?this.token=await this.getAccessToken():this.token=this.opts.token,this.humanInstance=new dX({token:this.token,wrapperId:e.id,connectParams:this.buildConnectParams(),renderParams:this.buildRenderParams(),onDigitalHumanCallback:this.onDigitalHumanCallback}),this.humanInstance.createServer()):this.errorManager.handleError(new rN("容器元素不能为空"))},this.bindEvents=()=>this,this.unbindEvents=()=>this,this.renderPlainText=e=>{var n;if(!this.ready)return this;let r=this.runSsmlHandlers(e);return this.refreshRequestId(),null==(n=this.humanInstance)||n.textRender({requestId:this.requestId,body:r,onCallbackMsg:this.handleTextRenderCallback}),this},this.renderStreamText=(e,n)=>{var r;if(!this.ready)return this;let i=this.runSsmlHandlers(e),o=!this.isStreamTextRendering;return o&&(this.refreshRequestId(),this.isStreamTextRendering=!0,this.latencyStartMap.set(this.requestId,performance.now())),null==(r=this.humanInstance)||r.textStreamRender({requestId:this.requestId,body:JSON.stringify({first:o,last:null!=n&&n,text:i}),onCallbackMsg:this.handleTextRenderCallback}),n&&(this.isStreamTextRendering=!1),this},this.interrupt=()=>{var e;if(!this.ready)return this;let n=this.requestId;return null==(e=this.humanInstance)||e.interrupt().catch(e=>{e instanceof Error?this.errorManager.handleError(new rU(`打断当前数字员工播报失败:${e.message}`,{requestId:n})):"string"==typeof e&&this.errorManager.handleError(new rU(`打断当前数字员工播报失败:${e}`,{requestId:n}))}).finally(()=>{this.onRenderFinished(n)}),this},this.sendSilenceMessage=()=>{var e;if(!this.ready)return this;let n=r2();return null==(e=this.humanInstance)||e.textRender({requestId:n,body:"",onCallbackMsg:r3}),this.emitter.emit("send_silence_message",{requestId:n}).catch(r3),this},this.dispose=()=>{var e;return null==(e=this.humanInstance)||e.destroy().catch(r3),this.ssmlHandlers=[],this.isWSConnected=!1,this.isRtcReady=!1,this.wsClosedCount=0,this.isStreamTextRendering=!1,this.emitter.clearListeners(),this.latencyStartMap.clear(),this.humanInstance=null,this},this.GetRequestId=()=>this.requestId,this.checkIsReady=()=>{let e=this.isWSConnected&&this.isRtcReady;return e&&this.emitter.emit("ready").catch(r3),e},this.cancelMute=async()=>{var e;await (null==(e=this.humanInstance)?void 0:e.unMuteHuman()),this._isMuted=!1},this.muteHuman=()=>{var e;null==(e=this.humanInstance)||e.muteHuman(),this._isMuted=!0},this.play=async()=>{var e;await (null==(e=this.humanInstance)?void 0:e.playHuman())},this.pause=()=>{var e;null==(e=this.humanInstance)||e.pauseHuman()},this.buildConnectParams=()=>{var e,n,r,i,o;return{initMode:"noAudio",mode:"crop",figureId:this.opts.figureId,resolutionWidth:null!=(e=this.opts.figureResolutionWidth)?e:1920,resolutionHeight:null!=(n=this.opts.figureResolutionHeight)?n:1080,ttsPer:this.opts.ttsPer,ttsPitch:5,ttsSpeed:null!=(r=this.opts.speechSpeed)?r:6,ttsVolume:5,inactiveDisconnectSec:null!=(i=this.opts.timeoutSec)?i:130,preAlertSec:null!=(o=this.opts.disconnectAlertSec)?o:10,ttsSample:this.opts.ttsSample,ttsModel:this.opts.ttsModel,minSplitLen:this.opts.minSplitLen,positionV2:JSON.stringify(this.opts.position),ttsLang:ia(this.opts.lang)}},this.buildRenderParams=()=>{var e,n;return{autoChromaKey:null!=(e=this.opts.autoChromaKey)&&e,closeLog:!(null!=(n=this.opts.enableDebugMode)&&n),fullStatus:!1}},this.refreshRequestId=()=>{this.requestId=r2()},this.onRenderFinished=e=>{if(e!==this.requestId){this.isRendering&&this.errorManager.handleError(new rU(`[DigitalHuman] Received FINISHED signal
51
+ data: ${i}`)})}logIfDebugEnabled(e,n,r){(np.isDebugEnabled||this.debug.enabled)&&this.debug.logger(e,this.debug.name,n,r)}on(e,n){let{signal:r}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};for(let r of(ns(n),e=Array.isArray(e)?e:[e])){no(r);let e=na(this,r);e||(e=new Set,t6.get(this).set(r,e)),e.add(n),this.logIfDebugEnabled("subscribe",r,void 0),nu(r)||nf(this,ne,{eventName:r,listener:n})}let i=()=>{this.off(e,n),null==r||r.removeEventListener("abort",i)};return null==r||r.addEventListener("abort",i,{once:!0}),(null==r?void 0:r.aborted)&&i(),i}off(e,n){for(let r of(ns(n),e=Array.isArray(e)?e:[e])){no(r);let e=na(this,r);e&&(e.delete(n),0===e.size&&t6.get(this).delete(r)),this.logIfDebugEnabled("unsubscribe",r,void 0),nu(r)||nf(this,nt,{eventName:r,listener:n})}}once(e,n){let r;if(void 0!==n&&"function"!=typeof n)throw TypeError("predicate must be a function");let i=new Promise(i=>{r=this.on(e,e=>{(!n||n(e))&&(r(),i(e))})});return i.off=r,i}events(e){for(let n of e=Array.isArray(e)?e:[e])no(n);return nd(this,e)}async emit(e,n){if(no(e),nu(e)&&!nn)throw TypeError("`eventName` cannot be meta event `listenerAdded` or `listenerRemoved`");this.logIfDebugEnabled("emit",e,n);var r,i=this,o=e,s=n;let a=t8.get(i);if(a.has(o))for(let e of a.get(o))e.enqueue(s);if(a.has(t9)){let e=Promise.all([o,s]);for(let n of a.get(t9))n.enqueue(e)}let c=null!=(r=na(this,e))?r:new Set,d=t5.get(this),l=[...c],u=nu(e)?[]:[...d];await t7,await Promise.all([...l.map(async e=>{if(c.has(e))return e(n)}),...u.map(async r=>{if(d.has(r))return r(e,n)})])}async emitSerial(e,n){var r;if(no(e),nu(e)&&!nn)throw TypeError("`eventName` cannot be meta event `listenerAdded` or `listenerRemoved`");this.logIfDebugEnabled("emitSerial",e,n);let i=null!=(r=na(this,e))?r:new Set,o=t5.get(this),s=[...i],a=[...o];for(let e of(await t7,s))i.has(e)&&await e(n);for(let r of a)o.has(r)&&await r(e,n)}onAny(e){let{signal:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};ns(e),this.logIfDebugEnabled("subscribeAny",void 0,void 0),t5.get(this).add(e),nf(this,ne,{listener:e});let r=()=>{this.offAny(e),null==n||n.removeEventListener("abort",r)};return null==n||n.addEventListener("abort",r,{once:!0}),(null==n?void 0:n.aborted)&&r(),r}anyEvent(){return nd(this)}offAny(e){ns(e),this.logIfDebugEnabled("unsubscribeAny",void 0,void 0),nf(this,nt,{listener:e}),t5.get(this).delete(e)}clearListeners(e){for(let n of e=Array.isArray(e)?e:[e])if(this.logIfDebugEnabled("clear",n,void 0),ni(n)){let e=na(this,n);e&&e.clear();let r=nc(this,n);if(r){for(let e of r)e.finish();r.clear()}}else{for(let[e,n]of(t5.get(this).clear(),t6.get(this).entries()))n.clear(),t6.get(this).delete(e);for(let[e,n]of t8.get(this).entries()){for(let e of n)e.finish();n.clear(),t8.get(this).delete(e)}}}listenerCount(e){e=Array.isArray(e)?e:[e];let n=0;for(let d of e){if(ni(d)){var r,i,o,s,a,c;n+=t5.get(this).size+(null!=(s=null==(r=na(this,d))?void 0:r.size)?s:0)+(null!=(a=null==(i=nc(this,d))?void 0:i.size)?a:0)+(null!=(c=null==(o=nc(this))?void 0:o.size)?c:0);continue}for(let e of(void 0!==d&&no(d),n+=t5.get(this).size,t6.get(this).values()))n+=e.size;for(let e of t8.get(this).values())n+=e.size}return n}bindMethods(e,n){if("object"!=typeof e||null===e)throw TypeError("`target` must be an object");for(let r of n=nl(n)){if(void 0!==e[r])throw Error(`The property \`${r}\` already exists on \`target\``);Object.defineProperty(e,r,{enumerable:!1,value:this[r].bind(this)})}}}let nh=Object.getOwnPropertyNames(np.prototype).filter(e=>"constructor"!==e);Object.defineProperty(np,"listenerAdded",{value:ne,writable:!1,enumerable:!0,configurable:!1}),Object.defineProperty(np,"listenerRemoved",{value:nt,writable:!1,enumerable:!0,configurable:!1});let nm={AaaSPilotKitController:Symbol.for("AaaSPilotKitController"),SignalingService:Symbol.for("SignalingService"),ASRService:Symbol.for("ASRService"),AgentService:Symbol.for("AgentService"),DigitalHumanService:Symbol.for("DigitalHumanService"),ConversationService:Symbol.for("ConversationService"),CommonRequest:Symbol.for("CommonRequest"),ErrorManager:Symbol.for("ErrorManager"),IOptions:Symbol.for("IOptions")};class nv extends Error{constructor(e,n,r){var i;const o=e.status||0===e.status?e.status:"",s=null!=(i=e.statusText)?i:"",a=`${o} ${s}`.trim();super(`Request failed with ${a?`status code ${a}`:"an unknown error"}: ${n.method} ${n.url}`),this.name="HTTPError",this.response=e,this.request=n,this.options=r}}class ng extends Error{constructor(e){let n="Non-error value was thrown";try{"string"==typeof e?n=e:e&&"object"==typeof e&&"message"in e&&"string"==typeof e.message&&(n=e.message)}catch{}super(n),this.name="NonError",this.value=e}}class ny extends Error{constructor(e){const n=(null==e?void 0:e.cause)?e.cause instanceof Error?e.cause:new ng(e.cause):void 0;super((null==e?void 0:e.code)?`Forced retry: ${e.code}`:"Forced retry",n?{cause:n}:void 0),this.name="ForceRetryError",this.customDelay=null==e?void 0:e.delay,this.code=null==e?void 0:e.code,this.customRequest=null==e?void 0:e.request}}let nb=(()=>{let e=!1,n=!1,r="function"==typeof globalThis.Request;if("function"==typeof globalThis.ReadableStream&&r)try{n=new globalThis.Request("https://empty.invalid",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type")}catch(e){if(e instanceof Error&&"unsupported BodyInit type"===e.message)return!1;throw e}return e&&!n})(),n_="function"==typeof globalThis.AbortController,nw="function"==typeof globalThis.AbortSignal&&"function"==typeof globalThis.AbortSignal.any,nS="function"==typeof globalThis.ReadableStream,nR="function"==typeof globalThis.FormData,nT=["get","post","put","patch","head","delete"],nC={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*",bytes:"*/*"},nx=new TextEncoder().encode("------WebKitFormBoundaryaxpyiPgbbPti10Rw").length,nE=Symbol("stop");class nO{constructor(e){this.options=e}}let nk=e=>new nO(e),nI={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,onUploadProgress:!0,fetch:!0,context:!0},nM={next:!0},nP={method:!0,headers:!0,body:!0,mode:!0,credentials:!0,cache:!0,redirect:!0,referrer:!0,referrerPolicy:!0,integrity:!0,keepalive:!0,signal:!0,window:!0,duplex:!0},nj=(e,n,r)=>{let i,o=0;return e.pipeThrough(new TransformStream({transform(e,s){if(s.enqueue(e),i){o+=i.byteLength;let e=0===n?0:o/n;e>=1&&(e=1-Number.EPSILON),null==r||r({percent:e,totalBytes:Math.max(n,o),transferredBytes:o},i)}i=e},flush(){i&&(o+=i.byteLength,null==r||r({percent:1,totalBytes:Math.max(n,o),transferredBytes:o},i))}}))},nA=e=>null!==e&&"object"==typeof e,nD=function(){for(var e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r];for(let e of n)if((!nA(e)||Array.isArray(e))&&void 0!==e)throw TypeError("The `options` argument must be an object");return nF({},...n)},nB=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=new globalThis.Headers(e),i=n instanceof globalThis.Headers;for(let[e,o]of new globalThis.Headers(n).entries())i&&"undefined"===o||void 0===o?r.delete(e):r.set(e,o);return r};function nN(e,n,r){var i,o;return Object.hasOwn(n,r)&&void 0===n[r]?[]:nF(null!=(i=e[r])?i:[],null!=(o=n[r])?o:[])}let nL=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{beforeRequest:nN(e,n,"beforeRequest"),beforeRetry:nN(e,n,"beforeRetry"),afterResponse:nN(e,n,"afterResponse"),beforeError:nN(e,n,"beforeError")}},nU=(e,n)=>{let r=new URLSearchParams;for(let i of[e,n])if(void 0!==i)if(i instanceof URLSearchParams)for(let[e,n]of i.entries())r.append(e,n);else if(Array.isArray(i))for(let e of i){if(!Array.isArray(e)||2!==e.length)throw TypeError("Array search parameters must be provided in [[key, value], ...] format");r.append(String(e[0]),String(e[1]))}else if(nA(i))for(let[e,n]of Object.entries(i))void 0!==n&&r.append(e,String(n));else for(let[e,n]of new URLSearchParams(i).entries())r.append(e,n);return r},nF=function(){let e;for(var n=arguments.length,r=Array(n),i=0;i<n;i++)r[i]=arguments[i];let o={},s={},a={},c=[];for(let n of r)if(Array.isArray(n))Array.isArray(o)||(o=[]),o=[...o,...n];else if(nA(n)){for(let[r,i]of Object.entries(n)){if("signal"===r&&i instanceof globalThis.AbortSignal){c.push(i);continue}if("context"===r){if(null!=i&&(!nA(i)||Array.isArray(i)))throw TypeError("The `context` option must be an object");o={...o,context:null==i?{}:{...o.context,...i}};continue}if("searchParams"===r){e=null==i?void 0:void 0===e?i:nU(e,i);continue}nA(i)&&r in o&&(i=nF(o[r],i)),o={...o,[r]:i}}nA(n.hooks)&&(a=nL(a,n.hooks),o.hooks=a),nA(n.headers)&&(s=nB(s,n.headers),o.headers=s)}return void 0!==e&&(o.searchParams=e),c.length>0&&(1===c.length?o.signal=c[0]:nw?o.signal=AbortSignal.any(c):o.signal=c.at(-1)),void 0===o.context&&(o.context={}),o},nq={limit:2,methods:["get","put","head","delete","options","trace"],statusCodes:[408,413,429,500,502,503,504],afterStatusCodes:[413,429,503],maxRetryAfter:1/0,backoffLimit:1/0,delay:e=>.3*2**(e-1)*1e3,jitter:void 0,retryOnTimeout:!1},nH=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if("number"==typeof e)return{...nq,limit:e};if(e.methods&&!Array.isArray(e.methods))throw Error("retry.methods must be an array");if(e.statusCodes&&!Array.isArray(e.statusCodes))throw Error("retry.statusCodes must be an array");return{...nq,...e}};class nV extends Error{constructor(e){super(`Request timed out: ${e.method} ${e.url}`),this.name="TimeoutError",this.request=e}}async function nz(e,n,r,i){return new Promise((o,s)=>{let a=setTimeout(()=>{r&&r.abort(),s(new nV(e))},i.timeout);i.fetch(e,n).then(o).catch(s).then(()=>{clearTimeout(a)})})}async function nG(e,n){let{signal:r}=n;return new Promise((n,i)=>{function o(){clearTimeout(s),i(r.reason)}r&&(r.throwIfAborted(),r.addEventListener("abort",o,{once:!0}));let s=setTimeout(()=>{null==r||r.removeEventListener("abort",o),n()},e)})}class nW{static create(e,n){let r=new nW(e,n),i=async()=>{if("number"==typeof r.#Q.timeout&&r.#Q.timeout>0x7fffffff)throw RangeError("The `timeout` option cannot be greater than 2147483647");await Promise.resolve();let e=await r.#Z();for(let o of r.#Q.hooks.afterResponse){let s=r.#ee(e.clone()),a=await o(r.request,r.#et(),s,{retryCount:r.#en});if(a instanceof globalThis.Response&&(e=a),a instanceof nO){var n,i;throw await Promise.all([null==(n=s.body)?void 0:n.cancel(),null==(i=e.body)?void 0:i.cancel()]),new ny(a.options)}}if(r.#ee(e),!e.ok&&("function"==typeof r.#Q.throwHttpErrors?r.#Q.throwHttpErrors(e.status):r.#Q.throwHttpErrors)){let n=new nv(e,r.request,r.#et());for(let e of r.#Q.hooks.beforeError)n=await e(n,{retryCount:r.#en});throw n}if(r.#Q.onDownloadProgress){if("function"!=typeof r.#Q.onDownloadProgress)throw TypeError("The `onDownloadProgress` option must be a function");if(!nS)throw Error("Streams are not supported in your environment. `ReadableStream` is missing.");return((e,n)=>{if(!e.body)return e;if(204===e.status)return new Response(null,{status:e.status,statusText:e.statusText,headers:e.headers});let r=Math.max(0,Number(e.headers.get("content-length"))||0);return new Response(nj(e.body,r,n),{status:e.status,statusText:e.statusText,headers:e.headers})})(e.clone(),r.#Q.onDownloadProgress)}return e},o=r.#er(i).finally(async()=>{var e,n;let i=r.#ei,o=[];i&&!i.bodyUsed&&o.push(null==(e=i.body)?void 0:e.cancel()),r.request.bodyUsed||o.push(null==(n=r.request.body)?void 0:n.cancel()),await Promise.all(o)});for(let[e,i]of Object.entries(nC)){var s,a;("bytes"!==e||"function"==typeof(null==(a=globalThis.Response)||null==(s=a.prototype)?void 0:s.bytes))&&(o[e]=async()=>{r.request.headers.set("accept",r.request.headers.get("accept")||i);let s=await o;if("json"===e){if(204===s.status)return"";let e=await s.text();return""===e?"":n.parseJson?n.parseJson(e):JSON.parse(e)}return s[e]()})}return o}static #eo(e){return!e||"object"!=typeof e||Array.isArray(e)||e instanceof URLSearchParams?e:Object.fromEntries(Object.entries(e).filter(e=>{let[,n]=e;return void 0!==n}))}#es;#en;#ea;#Q;#ei;#ec;#ed;constructor(e,n={}){var r,i,o,s,a,c,d,l,u,f,p,h;if(this.#en=0,this.#ea=e,this.#Q={...n,headers:nB(this.#ea.headers,n.headers),hooks:nL({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},n.hooks),method:(e=>nT.includes(e)?e.toUpperCase():e)(null!=(i=null!=(r=n.method)?r:this.#ea.method)?i:"GET"),prefixUrl:String(n.prefixUrl||""),retry:nH(n.retry),throwHttpErrors:null==(o=n.throwHttpErrors)||o,timeout:null!=(s=n.timeout)?s:1e4,fetch:null!=(a=n.fetch)?a:globalThis.fetch.bind(globalThis),context:null!=(c=n.context)?c:{}},"string"!=typeof this.#ea&&!(this.#ea instanceof URL||this.#ea instanceof globalThis.Request))throw TypeError("`input` must be a string, URL, or Request");if(this.#Q.prefixUrl&&"string"==typeof this.#ea){if(this.#ea.startsWith("/"))throw Error("`input` must not begin with a slash when using `prefixUrl`");this.#Q.prefixUrl.endsWith("/")||(this.#Q.prefixUrl+="/"),this.#ea=this.#Q.prefixUrl+this.#ea}n_&&nw&&(this.#ec=null!=(d=this.#Q.signal)?d:this.#ea.signal,this.#es=new globalThis.AbortController,this.#Q.signal=this.#ec?AbortSignal.any([this.#ec,this.#es.signal]):this.#es.signal),nb&&(this.#Q.duplex="half"),void 0!==this.#Q.json&&(this.#Q.body=null!=(f=null==(l=(u=this.#Q).stringifyJson)?void 0:l.call(u,this.#Q.json))?f:JSON.stringify(this.#Q.json),this.#Q.headers.set("content-type",null!=(p=this.#Q.headers.get("content-type"))?p:"application/json"));const m=n.headers&&new globalThis.Headers(n.headers).has("content-type");if(this.#ea instanceof globalThis.Request&&(nR&&this.#Q.body instanceof globalThis.FormData||this.#Q.body instanceof URLSearchParams)&&!m&&this.#Q.headers.delete("content-type"),this.request=new globalThis.Request(this.#ea,this.#Q),(e=>void 0!==e&&(Array.isArray(e)?e.length>0:e instanceof URLSearchParams?e.size>0:"object"==typeof e?Object.keys(e).length>0:"string"==typeof e?e.trim().length>0:!!e))(this.#Q.searchParams)){const e="string"==typeof this.#Q.searchParams?this.#Q.searchParams.replace(/^\?/,""):new URLSearchParams(nW.#eo(this.#Q.searchParams)).toString(),n=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,"?"+e);this.request=new globalThis.Request(n,this.#Q)}if(this.#Q.onUploadProgress){if("function"!=typeof this.#Q.onUploadProgress)throw TypeError("The `onUploadProgress` option must be a function");if(!nb)throw Error("Request streams are not supported in your environment. The `duplex` option for `Request` is not available.");this.request=this.#el(this.request,null!=(h=this.#Q.body)?h:void 0)}}#eu(){let e=this.#Q.retry.delay(this.#en),n=e;return!0===this.#Q.retry.jitter?n=Math.random()*e:"function"==typeof this.#Q.retry.jitter&&(!Number.isFinite(n=this.#Q.retry.jitter(e))||n<0)&&(n=e),Math.min(this.#Q.retry.backoffLimit,n)}async #ef(e){var n,r,i,o,s,a,c,d;if(this.#en++,this.#en>this.#Q.retry.limit)throw e;let l=e instanceof Error?e:new ng(e);if(l instanceof ny)return null!=(n=l.customDelay)?n:this.#eu();if(!this.#Q.retry.methods.includes(this.request.method.toLowerCase()))throw e;if(void 0!==this.#Q.retry.shouldRetry){let n=await this.#Q.retry.shouldRetry({error:l,retryCount:this.#en});if(!1===n)throw e;if(!0===n)return this.#eu()}if(((c=e)instanceof nV||(null==c?void 0:c.name)===nV.name)&&!this.#Q.retry.retryOnTimeout)throw e;if((d=e)instanceof nv||(null==d?void 0:d.name)===nv.name){if(!this.#Q.retry.statusCodes.includes(e.response.status))throw e;let n=null!=(s=null!=(o=null!=(i=null!=(r=e.response.headers.get("Retry-After"))?r:e.response.headers.get("RateLimit-Reset"))?i:e.response.headers.get("X-RateLimit-Retry-After"))?o:e.response.headers.get("X-RateLimit-Reset"))?s:e.response.headers.get("X-Rate-Limit-Reset");if(n&&this.#Q.retry.afterStatusCodes.includes(e.response.status)){let e=1e3*Number(n);Number.isNaN(e)?e=Date.parse(n)-Date.now():e>=Date.parse("2024-01-01")&&(e-=Date.now());let r=null!=(a=this.#Q.retry.maxRetryAfter)?a:e;return e<r?e:r}if(413===e.response.status)throw e}return this.#eu()}#ee(e){return this.#Q.parseJson&&(e.json=async()=>this.#Q.parseJson(await e.text())),e}async #er(e){try{return await e()}catch(r){let n=Math.min(await this.#ef(r),0x7fffffff);if(this.#en<1)throw r;if(await nG(n,this.#ec?{signal:this.#ec}:{}),r instanceof ny&&r.customRequest){let e=this.#Q.signal?new globalThis.Request(r.customRequest,{signal:this.#Q.signal}):new globalThis.Request(r.customRequest);this.#ep(e)}for(let e of this.#Q.hooks.beforeRetry){let n=await e({request:this.request,options:this.#et(),error:r,retryCount:this.#en});if(n instanceof globalThis.Request){this.#ep(n);break}if(n instanceof globalThis.Response)return n;if(n===nE)return}return this.#er(e)}}async #Z(){var e;for(let n of((null==(e=this.#es)?void 0:e.signal.aborted)&&(this.#es=new globalThis.AbortController,this.#Q.signal=this.#ec?AbortSignal.any([this.#ec,this.#es.signal]):this.#es.signal,this.request=new globalThis.Request(this.request,{signal:this.#Q.signal})),this.#Q.hooks.beforeRequest)){let e=await n(this.request,this.#et(),{retryCount:this.#en});if(e instanceof Response)return e;if(e instanceof globalThis.Request){this.#ep(e);break}}let n=((e,n)=>{let r={};for(let i in n)Object.hasOwn(n,i)&&(i in nP||i in nI||i in e&&!(i in nM)||(r[i]=n[i]));return r})(this.request,this.#Q);return(this.#ei=this.request,this.request=this.#ei.clone(),!1===this.#Q.timeout)?this.#Q.fetch(this.#ei,n):nz(this.#ei,n,this.#es,this.#Q)}#et(){if(!this.#ed){let{hooks:e,...n}=this.#Q;this.#ed=Object.freeze(n)}return this.#ed}#ep(e){this.#ed=void 0,this.request=this.#el(e)}#el(e,n){var r;return this.#Q.onUploadProgress&&e.body?((e,n,r)=>{if(!e.body)return e;let i=(e=>{if(!e)return 0;if(e instanceof FormData){let n=0;for(let[r,i]of e)n+=nx,n+=new TextEncoder().encode(`Content-Disposition: form-data; name="${r}"`).length,n+="string"==typeof i?new TextEncoder().encode(i).length:i.size;return n}if(e instanceof Blob)return e.size;if(e instanceof ArrayBuffer)return e.byteLength;if("string"==typeof e)return new TextEncoder().encode(e).length;if(e instanceof URLSearchParams)return new TextEncoder().encode(e.toString()).length;if("byteLength"in e)return e.byteLength;if("object"==typeof e&&null!==e)try{let n=JSON.stringify(e);return new TextEncoder().encode(n).length}catch{}return 0})(null!=r?r:e.body);return new Request(e,{duplex:"half",body:nj(e.body,i,n)})})(e,this.#Q.onUploadProgress,null!=(r=null!=n?n:this.#Q.body)?r:void 0):e}}let nX=e=>{let n=(n,r)=>nW.create(n,nD(e,r));for(let r of nT)n[r]=(n,i)=>nW.create(n,nD(e,i,{method:r}));return n.create=e=>nX(nD(e)),n.extend=n=>("function"==typeof n&&(n=n(null!=e?e:{})),nX(nD(e,n))),n.stop=nE,n.retry=nk,n},n$=nX();function nJ(e,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,n)}function nK(e,n){return function(r,i){n(r,i,e)}}class nY{static #F=this.ONLINE_HOST="https://ky.cloud.baidu.com";static #eh=this.SANDBOX_HOST="https://ky-test.cloud.baidu.com";constructor(e){this.opts=e,"production"===this.opts.env?this.client=n$.create({prefixUrl:nY.ONLINE_HOST}):this.client=n$.create({prefixUrl:nY.SANDBOX_HOST})}}nY=function(e,n,r,i){var o,s=arguments.length,a=s<3?n:null===i?i=Object.getOwnPropertyDescriptor(n,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,n,r,i);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(a=(s<3?o(a):s>3?o(n,r,a):o(n,r))||a);return s>3&&a&&Object.defineProperty(n,r,a),a}([eb(),nK(0,ev(nm.IOptions)),nK(0,eT()),nJ("design:type",Function),nJ("design:paramtypes",["undefined"==typeof IResolvedOptions?Object:IResolvedOptions])],nY);class nQ extends Error{constructor(e,n,r,i="MEDIUM",o={},s){super(n),this.name=this.constructor.name,this.code=e,this.category=r,this.severity=i,this.actionRequired=s,this.metadata={timestamp:Date.now(),stack:this.stack,...o},Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=Error(n).stack}static fromError(e,n,r){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"MEDIUM";return new nQ(n,e.message,r,i,{originalError:e,stack:e.stack})}toJSON(){return{code:this.code,message:this.message,category:this.category,severity:this.severity,metadata:this.metadata,actionRequired:this.actionRequired}}toString(){return`${this.name} [${this.code}]: ${this.message}`}}let nZ="2001",n0="2002",n1="2005",n2="2006",n3="3001",n4="3003",n5="3008",n6="3009",n8="3010",n9="3013",n7="3014",re="3100",rt="3101",rn="3103",rr="3104",ri="3105",ro="4001",rs="4002",ra="4003",rc="4004",rd="4005",rl="4006",ru="4008",rf={1e3:"发生未知错误",1001:"网络连接错误",1002:"请求超时",1003:"配置无效",1004:"身份验证失败",1005:"权限验证失败",1006:"数据验证失败",1007:"资源未找到",1008:"资源不可用",1009:"内部错误",2001:"Agent查询失败",2002:"Agent响应解析错误",2003:"Agent请求超时",2004:"Agent响应无效",2005:"Agent连接失败",2006:"Agent指令无效",3001:"ASR初始化失败",3002:"ASR启动失败",3003:"ASR停止失败",3004:"ASR信令错误",3005:"ASR音频捕获错误",3006:"ASR识别错误",3007:"ASR网络错误",3008:"ASR权限被拒绝",3009:"ASR设备未找到",3010:"ASR消息解析错误",3011:"ASR会话无效",3012:"ASR静音失败",3013:"ASR消息间隔超时",3014:"ASR运行时错误",3100:"浏览器不支持 MediaDevices API",3101:"需要 HTTPS 安全上下文",3102:"音频设备枚举失败",3103:"用户关闭权限请求",3104:"设备被占用或不可读",3105:"音频设备检测超时",4001:"数字人挂载失败",4002:"数字人iframe加载错误",4003:"数字人渲染错误",4004:"数字人WebSocket错误",4005:"数字人RTC错误",4006:"数字人认证错误",4007:"数字人会话数量达到上限",4008:"数字人资源不足",4009:"数字人超时",4010:"数字人中断失败",4011:"数字人SSML解析错误",4012:"数字人形象ID无效",4013:"数字人token无效",4014:"数字人流式渲染错误",4015:"数字人控制器未就绪",4016:"数字人播报文本长度不匹配",5001:"会话创建失败",5002:"会话类型无效",5003:"会话快照无效",5004:"会话Bean未找到",5005:"会话序列化错误",5006:"会话反序列化错误",5007:"会话状态无效",5008:"会话清除失败"};class rp extends nQ{constructor(e,n,r="MEDIUM",i={},o){super(e,n||rf[e]||"Agent服务错误","SERVICE",r,i,o)}}class rh extends rp{constructor(e,n={}){super(nZ,e,"HIGH",n)}}class rm extends rp{constructor(e,n={}){super(n0,e,"HIGH",n)}}class rv extends rp{constructor(e,n={}){super(n1,e,"HIGH",n)}}class rg extends rp{constructor(e,n={}){super(n2,e,"MEDIUM",n)}}var ry=__webpack_require__("../../node_modules/ua-parser-js/src/ua-parser.js"),rb=__webpack_require__.n(ry);let r_=()=>{let e=new(rb()),n=e.getBrowser(),r=e.getOS(),i=e.getDevice();return{userAgent:e.getUA(),browser:{name:n.name,version:n.version},os:{name:r.name,version:r.version},device:{type:i.type,vendor:i.vendor,model:i.model}}},rw=()=>"iOS"===new(rb())().getOS().name,rS=()=>{let e=new(rb()),n=e.getOS(),r=e.getDevice();return"Mac OS"===n.name&&"tablet"===r.type};class rR extends nQ{constructor(e,n,r="MEDIUM",i={}){super(e,n||rf[e]||"ASR服务错误","SERVICE",r,i)}}class rT extends rR{constructor(e,n={}){super(n3,e,"HIGH",n)}}class rC extends rR{constructor(e,n={}){super(n4,e,"MEDIUM",n)}}class rx extends rR{constructor(e,n={}){super(n5,e,"MEDIUM",{...n,context:{...n.context,browserInfo:r_()}})}}class rE extends rR{constructor(e,n={}){super(n8,e,"MEDIUM",n)}}class rO extends rR{constructor(e,n={}){super(n9,e,"MEDIUM",n)}}class rk extends rR{constructor(e,n={}){super(n7,e,"HIGH",n)}}class rI extends rR{constructor(e,n={}){super(n6,e,"HIGH",{...n,context:{...n.context,browserInfo:r_()}})}}class rM extends rR{constructor(e,n={}){super(rr,e,"MEDIUM",{...n,context:{...n.context,browserInfo:r_()}})}}class rP extends rR{constructor(e,n={}){super(re,e,"CRITICAL",{...n,context:{...n.context,browserInfo:r_()}})}}class rj extends rR{constructor(e,n={}){super(rt,e,"HIGH",n)}}class rA extends rR{constructor(e,n={}){super(rn,e,"MEDIUM",n)}}class rD extends rR{constructor(e,n={}){super(ri,e,"MEDIUM",n)}}class rB extends nQ{constructor(e,n,r="MEDIUM",i={}){super(e,n||rf[e]||"数字人服务错误","SERVICE",r,i)}}class rN extends rB{constructor(e,n={}){super(ro,e,"HIGH",n)}}class rL extends rB{constructor(e,n={}){super(rs,e,"HIGH",n)}}class rU extends rB{constructor(e,n={}){super(ra,e,"MEDIUM",n)}}class rF extends rB{constructor(e,n={}){super(rc,e,"HIGH",n)}}class rq extends rB{constructor(e,n={}){super(rd,e,"HIGH",n)}}class rH extends rB{constructor(e,n={}){super(rl,e,"CRITICAL",n)}}class rV extends rB{constructor(e,n={}){super(ru,e,"CRITICAL",n)}}class rz{constructor(e){this.opts=e,this.reporters=[]}addReporter(e){this.reporters.push(e)}removeReporter(e){let n=this.reporters.indexOf(e);n>-1&&this.reporters.splice(n,1)}async handle(e){let n;n=e instanceof nQ?e.toJSON():this.isErrorDetails(e)?e:nQ.fromError(e,"UNKNOWN_ERROR","INTERNAL").toJSON(),await this.processError(n)}async processError(e){try{this.shouldLogError()&&this.logError(e),this.shouldReportError(e)&&await this.reportError(e)}catch(e){console.error("Error in error handler:",e)}}shouldLogError(){var e;return(null==(e=this.opts)?void 0:e.enableErrorLogging)!==!1}shouldReportError(e){var n;return(null==(n=this.opts)?void 0:n.enableErrorReporting)!==!1&&"LOW"!==e.severity&&this.reporters.length>0}logError(e){let n=this.getLogLevel(e.severity),r=`[${e.code}] ${e.message}`;"error"===n?console.error(r,e):"warn"===n?console.warn(r,e):console.log(r,e)}getLogLevel(e){switch(e){case"CRITICAL":case"HIGH":return"error";case"MEDIUM":return"warn";default:return"log"}}async reportError(e){let n=this.reporters.map(n=>n.report(e).catch(e=>{console.error("Error reporter failed:",e)}));await Promise.allSettled(n)}isErrorDetails(e){return e&&"object"==typeof e&&"code"in e&&"message"in e&&"category"in e&&"severity"in e}}class rG{async report(e){console.error("Error Report:",{code:e.code,message:e.message,category:e.category,severity:e.severity,timestamp:new Date(e.metadata.timestamp).toISOString(),sessionId:e.metadata.sessionId,requestId:e.metadata.requestId,context:e.metadata.context})}}class rW{constructor(e){this.options={timeout:5e3,headers:{"Content-Type":"application/json"},retryCount:3,retryDelay:1e3,...e}}async report(e){let n=this.buildPayload(e);for(let e=0;e<=this.options.retryCount;e++)try{await this.sendRequest(n);return}catch(n){if(e===this.options.retryCount)throw n;await this.delay(this.options.retryDelay*(e+1))}}buildPayload(e){return{error:{code:e.code,message:e.message,category:e.category,severity:e.severity,actionRequired:e.actionRequired},metadata:{timestamp:e.metadata.timestamp,sessionId:e.metadata.sessionId,requestId:e.metadata.requestId,userId:e.metadata.userId,context:e.metadata.context,userAgent:navigator.userAgent,url:window.location.href}}}async sendRequest(e){let n=new AbortController,r=setTimeout(()=>n.abort(),this.options.timeout);try{let r=await fetch(this.options.endpoint,{method:"POST",headers:this.options.headers,body:JSON.stringify(e),signal:n.signal});if(!r.ok)throw Error(`HTTP ${r.status}: ${r.statusText}`)}finally{clearTimeout(r)}}delay(e){return new Promise(n=>setTimeout(n,e))}}class rX{static getErrorSeverity(e){if(e instanceof nQ)return e.severity;let n=e.message.toLowerCase();return n.includes("permission")||n.includes("unauthorized")||n.includes("forbidden")?"CRITICAL":n.includes("network")||n.includes("timeout")||n.includes("connection")?"HIGH":"MEDIUM"}static shouldReport(e){return!(e instanceof nQ)||"LOW"!==e.severity}static extractMetadata(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r={timestamp:Date.now(),context:n,stack:e.stack};return e instanceof nQ?{...r,...e.metadata}:r}static getActionRequired(e){if(e instanceof nQ){var n;return null!=(n=e.actionRequired)?n:null}let r=e.message.toLowerCase();return r.includes("permission")||r.includes("unauthorized")?"请检查用户权限":r.includes("network")||r.includes("timeout")?"请检查网络连接后重试":r.includes("validation")||r.includes("invalid")?"请检查输入数据的格式和有效性":null}}class r${constructor(){this.emitter=new np,this.emit=e=>{let n=this.transformErrorToPayload(e);this.emitter.emit("error",n)},this.on=e=>{this.emitter.on("error",e)},this.off=e=>{this.emitter.off("error",e)},this.clearListeners=()=>{this.emitter.clearListeners()},this.transformErrorToPayload=e=>{if(e instanceof nQ){var n;return{code:e.code,message:e.toString(),stack:e.stack,actionRequired:null!=(n=e.actionRequired)?n:null,severity:e.severity,metadata:{timestamp:e.metadata.timestamp,sessionId:e.metadata.sessionId,requestId:e.metadata.requestId,userId:e.metadata.userId,context:e.metadata.context,service:this.extractServiceFromError(e)},originalError:e}}return{code:"UNKNOWN_ERROR",message:e.toString(),stack:e.stack,actionRequired:rX.getActionRequired(e),severity:rX.getErrorSeverity(e),metadata:{timestamp:Date.now(),context:{errorName:e.name}},originalError:e}},this.extractServiceFromError=e=>{let n=e.constructor.name.toLowerCase();return n.includes("agent")?"agent":n.includes("asr")?"asr":n.includes("digitalHuman")||n.includes("dh")?"digital-human":n.includes("conversation")?"conversation":"unknown"}}}class rJ extends Error{constructor(e,n,r={}){super(n),this.name=e||"AaaSPilotKitError",this.message=n,this.data=r,Error.captureStackTrace?Error.captureStackTrace(this,rJ):this.stack=Error().stack||"",Object.setPrototypeOf(this,rJ.prototype)}static createForMonitoring(e,n,r){return new rJ(e,n,r)}getMonitoringData(){return{type:this.name,message:this.message,stack:this.stack,timestamp:Date.now(),...this.data}}getSimplifiedData(){return{type:this.name,message:this.message,userId:this.data.userId,sessionId:this.data.sessionId,page:this.data.page}}toString(){return this.message}toJSON(){return this.getMonitoringData()}}function rK(e,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,n)}function rY(e,n){return function(r,i){n(r,i,e)}}class rQ extends r${constructor(e){super(),this.opts=e,this.handleError=async e=>{await this.errorHandler.handle(e),this.emit(e)},this.getErrorHandler=()=>this.errorHandler,this.getActionRequired=e=>rX.getActionRequired(e),this.createMonitoringError=e=>{var n,r;let i=this.buildEnhancedMessage(e),o={page:null==(n=e.metadata.context)?void 0:n.page,userId:e.metadata.userId,sessionId:e.metadata.sessionId,requestId:e.metadata.requestId,context:e.metadata.context,severity:e.severity,category:e.metadata.service||"unknown",code:e.code,originalMessage:null==(r=e.originalError)?void 0:r.message};return rJ.createForMonitoring(e.code,i,o)},this.buildEnhancedMessage=e=>{let n=[],r=e.severity.toUpperCase();n.push(`[${r}]: ${e.message}`),e.metadata.service&&n.push(`category=${e.metadata.service}`);let i=new Date(e.metadata.timestamp||Date.now()),o=i.getFullYear()+"-"+String(i.getMonth()+1).padStart(2,"0")+"-"+String(i.getDate()).padStart(2,"0")+" "+String(i.getHours()).padStart(2,"0")+":"+String(i.getMinutes()).padStart(2,"0")+":"+String(i.getSeconds()).padStart(2,"0");if(n.push(`time=${o}`),e.metadata&&Object.keys(e.metadata).length>0){let r=this.stringifyMetadata(e.metadata);r&&"{}"!==r&&n.push(`metadata=${r}`)}return n.join(" | ")},this.stringifyMetadata=e=>{if(!e||"object"!=typeof e)return"{}";let n=new Set(["timestamp","stack"]),r={};for(let[i,o]of Object.entries(e))n.has(i)||null==o||(r[i]=o);try{return JSON.stringify(r)}catch{return"{}"}},this.initializeReporters=()=>{this.options.enableConsoleReporter&&this.errorHandler.addReporter(new rG),this.options.enableHttpReporter&&this.options.httpReporterEndpoint&&this.errorHandler.addReporter(new rW({endpoint:this.options.httpReporterEndpoint}))},this.options={enableConsoleReporter:this.opts.enableDebugMode,enableHttpReporter:!1,enableErrorLogging:this.opts.enableDebugMode,enableErrorReporting:!0},this.errorHandler=new rz(this.options),this.initializeReporters()}}rQ=function(e,n,r,i){var o,s=arguments.length,a=s<3?n:null===i?i=Object.getOwnPropertyDescriptor(n,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,n,r,i);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(a=(s<3?o(a):s>3?o(n,r,a):o(n,r))||a);return s>3&&a&&Object.defineProperty(n,r,a),a}([eb(),rY(0,ev(nm.IOptions)),rY(0,eT()),rK("design:type",Function),rK("design:paramtypes",["undefined"==typeof IOptions?Object:IOptions])],rQ);let rZ="undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),r0=new Uint8Array(16),r1=[];for(let e=0;e<256;++e)r1.push((e+256).toString(16).slice(1));let r2=function(n,r,i){if(rZ&&!r&&!n)return rZ();var o=n,s=r,a=i;let c=(o=o||{}).random??o.rng?.()??function(){if(!e){if("undefined"==typeof crypto||!crypto.getRandomValues)throw Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");e=crypto.getRandomValues.bind(crypto)}return e(r0)}();if(c.length<16)throw Error("Random bytes length must be >= 16");if(c[6]=15&c[6]|64,c[8]=63&c[8]|128,s){if((a=a||0)<0||a+16>s.length)throw RangeError(`UUID byte range ${a}:${a+15} is out of buffer bounds`);for(let e=0;e<16;++e)s[a+e]=c[e];return s}return function(e,n=0){return(r1[e[n+0]]+r1[e[n+1]]+r1[e[n+2]]+r1[e[n+3]]+"-"+r1[e[n+4]]+r1[e[n+5]]+"-"+r1[e[n+6]]+r1[e[n+7]]+"-"+r1[e[n+8]]+r1[e[n+9]]+"-"+r1[e[n+10]]+r1[e[n+11]]+r1[e[n+12]]+r1[e[n+13]]+r1[e[n+14]]+r1[e[n+15]]).toLowerCase()}(c)},r3=()=>{};class r4{constructor(e,n){this.getText=()=>"string"==typeof this.data?this.data:this.data&&"object"==typeof this.data&&"answer"in this.data&&this.data.answer||"",this.toJSON=()=>({data:this.data,index:this.index}),this.data=e,this.index=n}}class r5{constructor(e,n){this.emitter=new np,this.id=r2(),this._endTime=0,this._isCompleted=!1,this.chunks=[],this.appendChunk=e=>{this._isCompleted?console.warn(`Response ${this.id} 已完成,无法添加新的 chunk`):(this.chunks.push(e),this.emitter.emit("update",{sessionId:this.sessionId,queryId:this.queryId,response:this}).catch(r3))},this.complete=()=>{this._isCompleted||(this._isCompleted=!0,this._endTime=Date.now())},this.getChunks=()=>this.chunks,this.getFullText=()=>this.chunks.map(e=>e.getText()).join(""),this.getDuration=()=>(this._endTime||Date.now())-this.startTime,this.isCompleted=()=>this._isCompleted,this.toJSON=()=>({id:this.id,sessionId:this.sessionId,queryId:this.queryId,startTime:this.startTime,endTime:this._endTime,duration:this.getDuration(),isCompleted:this._isCompleted,chunks:this.chunks.map(e=>e.toJSON()),fullText:this.getFullText()}),this.toString=()=>this.getFullText(),this.sessionId=e,this.queryId=n,this.startTime=Date.now()}get endTime(){return this._endTime}}class r6{constructor(e=0){this.currentResponse=null,this.responses=[],this.maxSize=0,this.onResponse=(e,n,r)=>{if(this.currentResponse&&this.currentResponse.queryId===r){let n=new r4(e,this.currentResponse.getChunks().length);this.currentResponse.appendChunk(n);return}if(!this.currentResponse||this.currentResponse.queryId!==r){let i=new r5(n,r),o=new r4(e,0);i.appendChunk(o),this.currentResponse=i,this.addResponse(i)}},this.onComplete=()=>{this.currentResponse&&(this.currentResponse.complete(),this.currentResponse=null)},this.getResponses=()=>this.responses,this.getResponseById=e=>this.responses.find(n=>n.id===e),this.getResponseByQueryId=e=>this.responses.find(n=>n.queryId===e),this.getLastResponse=()=>this.responses[this.responses.length-1]||null,this.clear=()=>{this.responses=[],this.currentResponse=null},this.toJSON=()=>this.responses.map(e=>e.toJSON()),this.addResponse=e=>{this.responses.push(e),this.maxSize>0&&this.responses.length>this.maxSize&&(this.responses=this.responses.slice(-this.maxSize))},this.maxSize=e}}function r8(e,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,n)}function r9(e,n){return function(r,i){n(r,i,e)}}class r7{constructor(e,n,r){this.request=e,this.errorManager=n,this.opts=r,this.emitter=new np,this.conversationSessionId="",this.abortController=null,this._queryId="",this._lastQueryId="",this.hasTtftEmitted=!1,this.setSessionId=e=>{this.conversationSessionId=e},this.setQueryId=e=>{this._queryId=e},this.setLastQueryId=e=>{this._lastQueryId=e},this.abort=e=>{var n;null==(n=this.abortController)||n.abort(e),this.abortController&&(this.abortController=null)},this.checkIsRepeat=()=>{let e=!!this.lastQueryId&&this.lastQueryId===this.queryId;return e&&this.opts.enableDebugMode&&console.warn("重复的completed查询被忽略:",this.queryId),e},this.onData=e=>{this.emitter.emit("data",e)},this.onCompleted=e=>{this.emitter.emit("completed",e),this.responseManager.onComplete()},this.onHangup=e=>{this.emitter.emit("hangup",e)},this.onTimeout=e=>{this.emitter.emit("timeout",e)},this.onInstructionReceived=e=>{this.emitter.emit("instruction_received",e)},this.onResponse=e=>{this.responseManager.onResponse(e,this.sessionId,this.queryId)},this.onUsageQuotaReached=e=>{this.emitter.emit("usage_quota_reached",e)},this.onQuotaExpired=e=>{this.emitter.emit("quota_expired",e)},this.onTtft=e=>{this.hasTtftEmitted||(this.hasTtftEmitted=!0,this.emitter.emit("ttft",e))},this.resetTtftFlag=()=>{this.hasTtftEmitted=!1},this._dispose=()=>{this.abort(),this.conversationSessionId="",this._queryId="",this._lastQueryId="",this.responseManager.clear()},this.responseManager=new r6}get sessionId(){return this.conversationSessionId}get queryId(){return this._queryId}get lastQueryId(){return this._lastQueryId}getResponses(){return this.responseManager.getResponses()}getResponseManager(){return this.responseManager}}r7=function(e,n,r,i){var o,s=arguments.length,a=s<3?n:null===i?i=Object.getOwnPropertyDescriptor(n,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,n,r,i);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(a=(s<3?o(a):s>3?o(n,r,a):o(n,r))||a);return s>3&&a&&Object.defineProperty(n,r,a),a}([eb(),r9(0,ev(nm.CommonRequest)),r9(1,ev(nm.ErrorManager)),r9(2,ev(nm.IOptions)),r9(2,eT()),r8("design:type",Function),r8("design:paramtypes",[void 0===nY?Object:nY,void 0===rQ?Object:rQ,"undefined"==typeof IResolvedOptions?Object:IResolvedOptions])],r7),__webpack_require__("../../node_modules/core-js/modules/es.array.reduce.js");let ie=[{pattern:/客悦\s*one/gi,replacement:"客悦\xb7ONE"},{pattern:/\bSARS\b/gi,replacement:"SaaS"},{pattern:/\bSAS\b/gi,replacement:"SaaS"}],it=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ie;return n.reduce((e,n)=>{let{pattern:r,replacement:i}=n;return e.replace(r,i)},e)},ir={CHINESE:"zh",ENGLISH:"en",JAPANESE:"ja",SPANISH:"es",RUSSIAN:"ru",KOREAN:"ko",VIETNAMESE:"vi",GERMAN:"de",INDONESIAN:"id",THAI:"th"},ii={[ir.CHINESE]:"zh",[ir.ENGLISH]:"en",[ir.JAPANESE]:"ja",[ir.SPANISH]:"es",[ir.RUSSIAN]:"ru",[ir.KOREAN]:"ko",[ir.VIETNAMESE]:"vi",[ir.GERMAN]:"de",[ir.INDONESIAN]:"id",[ir.THAI]:"th",ar:"ar",ms:"ms"},io={[ir.CHINESE]:"Chinese",[ir.ENGLISH]:"English",[ir.JAPANESE]:"Japanese",[ir.SPANISH]:"Spanish",[ir.RUSSIAN]:"Russian",[ir.KOREAN]:"Korean",[ir.VIETNAMESE]:"Vietnamese",[ir.GERMAN]:"German",[ir.INDONESIAN]:"Indonesian",[ir.THAI]:"Thai",yue:"Chinese,Yue",fr:"French",pt:"Portuguese",tr:"Turkish",nl:"Dutch",uk:"Ukrainian",it:"Italian",pl:"Polish",ro:"Romanian",el:"Greek",cs:"Czech",fi:"Finnish",hi:"Hindi",auto:"auto"},is=ir.CHINESE,ia=e=>{if(!e)return io[is];let n=io[e];return n||(console.warn(`[AaaSPilotKit] 不支持的语言代码 "${e}",已自动回退到中文。支持的语言:${Object.keys(io).join(", ")}`),io[is])},ic={enableDebugMode:!1,minSplitLen:5,ttsModel:"turbo_v2",env:"production",asrVad:600,interruptible:!0,rendererMode:"cloud",autoChromaKey:!0,typeDelay:163,enTypeDelay:45,lang:ir.CHINESE,inactivityPrompt:"您这么久没讲话,是不是有其它事情要忙,那我先挂断了",getMountContainer:()=>document.body,hotWordReplacementRules:ie,checkAudioDeviceBeforeStart:!0,rtcID:"appreimunmd7utp"};class id{constructor(e,n){this.opts=n,this.emitter=new np,this.id="",this.text="",this.update=e=>{let{id:n,...r}=e;n?this.id=n:this.id||(this.id=r2()),Object.assign(this,r)},this.toJSON=()=>({id:this.id,type:this.type,text:this.text}),this.type=e.type,this.update(e)}}class il extends id{constructor(e,n){super({...e,type:"client"},n),this.opts=n,this.appendText=e=>{this.text=e,this.emitter.emit("content_change",{mod:"text",content:e,completed:!0}).catch(r3)},this.dispose=()=>{},this.interrupt=()=>{}}static create(e){return new il({},e)}}var iu=__webpack_require__("../../node_modules/eventemitter3/index.js"),ip=__webpack_require__.n(iu);class ih extends Error{name="TimeoutError";constructor(e,n){super(e,n),Error.captureStackTrace?.(this,ih)}}let im=e=>e.reason??new DOMException("This operation was aborted.","AbortError");class iv{#em=[];enqueue(e,n){let{priority:r=0,id:i}=n??{},o={priority:r,id:i,run:e};if(0===this.size||this.#em[this.size-1].priority>=r)return void this.#em.push(o);let s=function(e,n,r){let i=0,o=e.length;for(;o>0;){let s=Math.trunc(o/2),a=i+s;0>=r(e[a],n)?(i=++a,o-=s+1):o=s}return i}(this.#em,o,(e,n)=>n.priority-e.priority);this.#em.splice(s,0,o)}setPriority(e,n){let r=this.#em.findIndex(n=>n.id===e);if(-1===r)throw ReferenceError(`No promise function with the id "${e}" exists in the queue.`);let[i]=this.#em.splice(r,1);this.enqueue(i.run,{priority:n,id:e})}dequeue(){let e=this.#em.shift();return e?.run}filter(e){return this.#em.filter(n=>n.priority===e.priority).map(e=>e.run)}get size(){return this.#em.length}}class ig extends ip(){#ev;#eg;#ey=0;#eb;#e_=!1;#ew=!1;#eS;#eR=0;#eT=0;#eC;#ex;#em;#eE;#eO=0;#ek;#eI;#eM=1n;#eP=new Map;timeout;constructor(e){if(super(),!("number"==typeof(e={carryoverIntervalCount:!1,intervalCap:1/0,interval:0,concurrency:1/0,autoStart:!0,queueClass:iv,...e}).intervalCap&&e.intervalCap>=1))throw TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${typeof e.intervalCap})`);if(void 0===e.interval||!(Number.isFinite(e.interval)&&e.interval>=0))throw TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${e.interval?.toString()??""}\` (${typeof e.interval})`);if(this.#ev=e.carryoverIntervalCount??e.carryoverConcurrencyCount??!1,this.#eg=e.intervalCap===1/0||0===e.interval,this.#eb=e.intervalCap,this.#eS=e.interval,this.#em=new e.queueClass,this.#eE=e.queueClass,this.concurrency=e.concurrency,void 0!==e.timeout&&!(Number.isFinite(e.timeout)&&e.timeout>0))throw TypeError(`Expected \`timeout\` to be a positive finite number, got \`${e.timeout}\` (${typeof e.timeout})`);this.timeout=e.timeout,this.#eI=!1===e.autoStart,this.#ej()}get #eA(){return this.#eg||this.#ey<this.#eb}get #eD(){return this.#eO<this.#ek}#eB(){this.#eO--,0===this.#eO&&this.emit("pendingZero"),this.#eN(),this.emit("next")}#eL(){this.#eU(),this.#eF(),this.#ex=void 0}get #eq(){let e=Date.now();if(void 0===this.#eC){let n=this.#eR-e;if(!(n<0))return this.#eH(n),!0;if(this.#eT>0){let n=e-this.#eT;if(n<this.#eS)return this.#eH(this.#eS-n),!0}this.#ey=this.#ev?this.#eO:0}return!1}#eH(e){void 0===this.#ex&&(this.#ex=setTimeout(()=>{this.#eL()},e))}#eV(){this.#eC&&(clearInterval(this.#eC),this.#eC=void 0)}#ez(){this.#ex&&(clearTimeout(this.#ex),this.#ex=void 0)}#eN(){if(0===this.#em.size)return this.#eV(),this.emit("empty"),0===this.#eO&&(this.#ez(),this.emit("idle")),!1;let e=!1;if(!this.#eI){let n=!this.#eq;if(this.#eA&&this.#eD){let r=this.#em.dequeue();this.#eg||(this.#ey++,this.#eG()),this.emit("active"),this.#eT=Date.now(),r(),n&&this.#eF(),e=!0}}return e}#eF(){this.#eg||void 0!==this.#eC||(this.#eC=setInterval(()=>{this.#eU()},this.#eS),this.#eR=Date.now()+this.#eS)}#eU(){0===this.#ey&&0===this.#eO&&this.#eC&&this.#eV(),this.#ey=this.#ev?this.#eO:0,this.#eW(),this.#eG()}#eW(){for(;this.#eN(););}get concurrency(){return this.#ek}set concurrency(e){if(!("number"==typeof e&&e>=1))throw TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this.#ek=e,this.#eW()}async #eX(e){return new Promise((n,r)=>{e.addEventListener("abort",()=>{r(e.reason)},{once:!0})})}setPriority(e,n){if("number"!=typeof n||!Number.isFinite(n))throw TypeError(`Expected \`priority\` to be a finite number, got \`${n}\` (${typeof n})`);this.#em.setPriority(e,n)}async add(e,n={}){return n.id??=(this.#eM++).toString(),n={timeout:this.timeout,...n},new Promise((r,i)=>{let o=Symbol(`task-${n.id}`);this.#em.enqueue(async()=>{this.#eO++,this.#eP.set(o,{id:n.id,priority:n.priority??0,startTime:Date.now(),timeout:n.timeout});try{try{n.signal?.throwIfAborted()}catch(e){throw!this.#eg&&this.#ey--,this.#eP.delete(o),e}let i=e({signal:n.signal});n.timeout&&(i=function(e,n){let r,i,{milliseconds:o,fallback:s,message:a,customTimers:c={setTimeout,clearTimeout},signal:d}=n,l=new Promise((n,l)=>{if("number"!=typeof o||1!==Math.sign(o))throw TypeError(`Expected \`milliseconds\` to be a positive number, got \`${o}\``);if(d?.aborted)return void l(im(d));if(d&&(i=()=>{l(im(d))},d.addEventListener("abort",i,{once:!0})),e.then(n,l),o===1/0)return;let u=new ih;r=c.setTimeout.call(void 0,()=>{if(s){try{n(s())}catch(e){l(e)}return}"function"==typeof e.cancel&&e.cancel(),!1===a?n():a instanceof Error?l(a):(u.message=a??`Promise timed out after ${o} milliseconds`,l(u))},o)}).finally(()=>{l.clear(),i&&d&&d.removeEventListener("abort",i)});return l.clear=()=>{c.clearTimeout.call(void 0,r),r=void 0},l}(Promise.resolve(i),{milliseconds:n.timeout,message:`Task timed out after ${n.timeout}ms (queue has ${this.#eO} running, ${this.#em.size} waiting)`})),n.signal&&(i=Promise.race([i,this.#eX(n.signal)]));let s=await i;r(s),this.emit("completed",s)}catch(e){i(e),this.emit("error",e)}finally{this.#eP.delete(o),queueMicrotask(()=>{this.#eB()})}},n),this.emit("add"),this.#eN()})}async addAll(e,n){return Promise.all(e.map(async e=>this.add(e,n)))}start(){return this.#eI&&(this.#eI=!1,this.#eW()),this}pause(){this.#eI=!0}clear(){this.#em=new this.#eE,this.#e$()}async onEmpty(){0!==this.#em.size&&await this.#eJ("empty")}async onSizeLessThan(e){this.#em.size<e||await this.#eJ("next",()=>this.#em.size<e)}async onIdle(){(0!==this.#eO||0!==this.#em.size)&&await this.#eJ("idle")}async onPendingZero(){0!==this.#eO&&await this.#eJ("pendingZero")}async onRateLimit(){this.isRateLimited||await this.#eJ("rateLimit")}async onRateLimitCleared(){this.isRateLimited&&await this.#eJ("rateLimitCleared")}async onError(){return new Promise((e,n)=>{let r=e=>{this.off("error",r),n(e)};this.on("error",r)})}async #eJ(e,n){return new Promise(r=>{let i=()=>{(!n||n())&&(this.off(e,i),r())};this.on(e,i)})}get size(){return this.#em.size}sizeBy(e){return this.#em.filter(e).length}get pending(){return this.#eO}get isPaused(){return this.#eI}#ej(){this.#eg||(this.on("add",()=>{this.#em.size>0&&this.#eG()}),this.on("next",()=>{this.#eG()}))}#eG(){this.#eg||this.#ew||(this.#ew=!0,queueMicrotask(()=>{this.#ew=!1,this.#e$()}))}#e$(){let e=this.#e_,n=!this.#eg&&this.#ey>=this.#eb&&this.#em.size>0;n!==e&&(this.#e_=n,this.emit(n?"rateLimit":"rateLimitCleared"))}get isRateLimited(){return this.#e_}get isSaturated(){return this.#eO===this.#ek&&this.#em.size>0||this.isRateLimited&&this.#em.size>0}get runningTasks(){return[...this.#eP.values()].map(e=>({...e}))}}class iy{constructor(e){this.id=r2(),this.createdAt=Date.now(),this.updatedAt=Date.now(),this.emitter=new np,this.getConfig=()=>({...this.config}),this.updateConfig=e=>{this.config={...this.config,...e},this.updatedAt=Date.now()},this.toJSON=()=>({id:this.id,mod:this.mod,config:this.getConfig(),createdAt:this.createdAt,updatedAt:this.updatedAt}),this.updateTimestamp=()=>{this.updatedAt=Date.now()},this._dispose=()=>{this.emitter.clearListeners()},this.config={...e},this.config.timestamp||(this.config.timestamp=this.createdAt)}}var ib=__webpack_require__("../../node_modules/typewriter-effect/dist/core.js"),i_=__webpack_require__.n(ib);let iw=e=>/[\u3400-\u4DBF\u4E00-\u9FFF\uF900-\uFAFF\u3000-\u303F]/.test(e);class iS extends iy{get mod(){return"text"}static fromSnapshot(e){return new iS(e.config)}static fromString(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new iS({content:e,...n})}setTargetElement(e){this.targetElement=e}isEmpty(){return!this.config.content}constructor(...e){super(...e),this.typewriter=null,this.targetElement=null,this.index=0,this.stopTypewriter=()=>{this.typewriter&&(this.typewriter.stop(),this.typewriter=null)},this.runTask=()=>new Promise((e,n)=>{if(this.ensureTarget(),this.isEmpty())return void e({mod:"text",content:""});try{var r,i,o,s,a;let n=null!=(o=null==(r=this.config.typewriterOptions)?void 0:r.delay)?o:163,c=null!=(s=null==(i=this.config.typewriterOptions)?void 0:i.enDelay)?s:n;this.typewriter=new(i_())(this.targetElement,{autoStart:!0,loop:!1,...this.config.typewriterOptions,delay:0,onCreateTextNode:e=>{let n=this.index===this.config.content.length-1;return this.emitter.emit("data",{char:e,index:this.index++,done:n}),document.createTextNode(e)}});let d=[],l="",u=null;for(let e of Array.from(this.config.content)){let n=iw(e);null===u||n===u?l+=e:(d.push({s:l,cn:u}),l=e),u=n}l&&d.push({s:l,cn:u});let f=this.typewriter;if(0===d.length)f=f.changeDelay(n).typeString(this.config.content);else for(let e=0;e<d.length;e++){let{s:r,cn:i}=d[e];if(0===e){let e=null!=(a=r[0])?a:"",o=r.slice(1);f=f.typeString(e),o&&(f=f.changeDelay(i?n:c).typeString(o));continue}f=f.changeDelay(i?n:c).typeString(r)}f.callFunction(()=>{e({mod:"text",content:this.config.content})}).start()}catch(e){n(e)}}),this.dispose=()=>{this._dispose(),this.stopTypewriter(),this.targetElement=null,this.index=0},this.interrupt=()=>{this.stopTypewriter()},this.ensureTarget=()=>{if(this.targetElement)return;let e=document.createElement("span");e.className="text-content-typewriter",this.targetElement=e}}}class iR extends iy{get mod(){return"image"}static fromSnapshot(e){return new iR(e.config)}static fromSrc(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new iR({src:e,...n})}isEmpty(){return!this.config.src}ensureImageElement(){if(this.imgElement)return this.imgElement;let e=document.createElement("img");return this.imgElement=e,e}constructor(...e){super(...e),this.imgElement=null,this.setTargetElement=e=>{this.imgElement=e},this.runTask=()=>new Promise((e,n)=>{var r;if(this.isEmpty())return void e({mod:"image",src:""});let i=this.ensureImageElement(),o=()=>{e({mod:"image",...this.config}),i.removeEventListener("load",o)},s=()=>{n(Error(`Failed to load image: ${this.config.src}`)),i.removeEventListener("error",s)};i.addEventListener("load",o,{once:!0}),i.addEventListener("error",s,{once:!0}),i.alt=null!=(r=this.config.alt)?r:"",this.config.width&&(i.width=this.config.width),this.config.height&&(i.height=this.config.height),i.src=this.config.src}),this.dispose=()=>{this._dispose(),this.imgElement&&(this.imgElement.src="",this.imgElement=null)},this.interrupt=()=>{}}}class iT extends iy{get mod(){return"video"}static fromSnapshot(e){return new iT(e.config)}static fromSrc(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new iT({src:e,...n})}isEmpty(){return!this.config.src}ensureVideoElement(){if(this.videoElement)return this.videoElement;let e=document.createElement("video");return e.muted=!0,e.playsInline=!0,this.videoElement=e,e}constructor(...e){super(...e),this.videoElement=null,this.setTargetElement=e=>{this.videoElement=e},this.runTask=()=>new Promise((e,n)=>{if(this.isEmpty())return void e({mod:"video",src:""});let r=this.ensureVideoElement(),i=()=>{e({mod:"video",...this.config}),r.removeEventListener("loadedmetadata",i)},o=()=>{n(Error(`Failed to load video: ${this.config.src}`)),r.removeEventListener("error",o)};r.addEventListener("loadedmetadata",i,{once:!0}),r.addEventListener("error",o,{once:!0}),this.config.poster&&(r.poster=this.config.poster),this.config.preload&&(r.preload=this.config.preload),this.config.width&&(r.width=this.config.width),this.config.height&&(r.height=this.config.height),r.src=this.config.src,r.load()}),this.dispose=()=>{this._dispose(),this.videoElement&&(this.videoElement.src="",this.videoElement.load(),this.videoElement=null)},this.interrupt=()=>{}}}let iC={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(e,n){return n},attributeValueProcessor:function(e,n){return n},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(e,n,r){return e},captureMetaData:!1},ix=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",iE=RegExp("^"+("["+ix+"]["+ix)+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$");function iO(e,n){let r=[],i=n.exec(e);for(;i;){let o=[];o.startIndex=n.lastIndex-i[0].length;let s=i.length;for(let e=0;e<s;e++)o.push(i[e]);r.push(o),i=n.exec(e)}return r}let ik=function(e){let n=iE.exec(e);return null!=n};n="function"!=typeof Symbol?"@@xmlMetadata":Symbol("XML Node Metadata");class iI{constructor(e){this.tagname=e,this.child=[],this[":@"]={}}add(e,n){"__proto__"===e&&(e="#__proto__"),this.child.push({[e]:n})}addChild(e,r){"__proto__"===e.tagname&&(e.tagname="#__proto__"),e[":@"]&&Object.keys(e[":@"]).length>0?this.child.push({[e.tagname]:e.child,":@":e[":@"]}):this.child.push({[e.tagname]:e.child}),void 0!==r&&(this.child[this.child.length-1][n]={startIndex:r})}static getMetaDataSymbol(){return n}}let iM=(e,n)=>{for(;n<e.length&&/\s/.test(e[n]);)n++;return n};function iP(e,n,r){let i="",o=e[n];if('"'!==o&&"'"!==o)throw Error(`Expected quoted string, found "${o}"`);for(n++;n<e.length&&e[n]!==o;)i+=e[n],n++;if(e[n]!==o)throw Error(`Unterminated ${r} value`);return[++n,i]}function ij(e,n,r){for(let i=0;i<n.length;i++)if(n[i]!==e[r+i+1])return!1;return!0}function iA(e){if(ik(e))return e;throw Error(`Invalid entity name ${e}`)}let iD=/^[-+]?0x[a-fA-F0-9]+$/,iB=/^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/,iN={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0},iL=/^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;class iU{constructor(e){this.options=e,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\xa2"},pound:{regex:/&(pound|#163);/g,val:"\xa3"},yen:{regex:/&(yen|#165);/g,val:"\xa5"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"\xa9"},reg:{regex:/&(reg|#174);/g,val:"\xae"},inr:{regex:/&(inr|#8377);/g,val:"₹"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(e,n)=>String.fromCodePoint(Number.parseInt(n,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(e,n)=>String.fromCodePoint(Number.parseInt(n,16))}},this.addExternalEntities=iF,this.parseXml=iG,this.parseTextData=iq,this.resolveNameSpace=iH,this.buildAttributesMap=iz,this.isItStopNode=iJ,this.replaceEntitiesValue=iX,this.readStopNodeData=iQ,this.saveTextToParentTag=i$,this.addChild=iW,this.ignoreAttributesFn=function(e){return"function"==typeof e?e:Array.isArray(e)?n=>{for(let r of e)if("string"==typeof r&&n===r||r instanceof RegExp&&r.test(n))return!0}:()=>!1}(this.options.ignoreAttributes)}}function iF(e){let n=Object.keys(e);for(let r=0;r<n.length;r++){let i=n[r];this.lastEntities[i]={regex:RegExp("&"+i+";","g"),val:e[i]}}}function iq(e,n,r,i,o,s,a){if(void 0!==e&&(this.options.trimValues&&!i&&(e=e.trim()),e.length>0)){a||(e=this.replaceEntitiesValue(e));let i=this.options.tagValueProcessor(n,e,r,o,s);return null==i?e:typeof i!=typeof e||i!==e?i:this.options.trimValues||e.trim()===e?iZ(e,this.options.parseTagValue,this.options.numberParseOptions):e}}function iH(e){if(this.options.removeNSPrefix){let n=e.split(":"),r="/"===e.charAt(0)?"/":"";if("xmlns"===n[0])return"";2===n.length&&(e=r+n[1])}return e}let iV=RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");function iz(e,n,r){if(!0!==this.options.ignoreAttributes&&"string"==typeof e){let r=iO(e,iV),i=r.length,o={};for(let e=0;e<i;e++){let i=this.resolveNameSpace(r[e][1]);if(this.ignoreAttributesFn(i,n))continue;let s=r[e][4],a=this.options.attributeNamePrefix+i;if(i.length)if(this.options.transformAttributeName&&(a=this.options.transformAttributeName(a)),"__proto__"===a&&(a="#__proto__"),void 0!==s){this.options.trimValues&&(s=s.trim()),s=this.replaceEntitiesValue(s);let e=this.options.attributeValueProcessor(i,s,n);null==e?o[a]=s:typeof e!=typeof s||e!==s?o[a]=e:o[a]=iZ(s,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(o[a]=!0)}if(Object.keys(o).length){if(this.options.attributesGroupName){let e={};return e[this.options.attributesGroupName]=o,e}return o}}}let iG=function(e){e=e.replace(/\r\n?/g,"\n");let n=new iI("!xml"),r=n,i="",o="";for(let s=0;s<e.length;s++)if("<"===e[s])if("/"===e[s+1]){let n=iK(e,">",s,"Closing Tag is not closed."),a=e.substring(s+2,n).trim();if(this.options.removeNSPrefix){let e=a.indexOf(":");-1!==e&&(a=a.substr(e+1))}this.options.transformTagName&&(a=this.options.transformTagName(a)),r&&(i=this.saveTextToParentTag(i,r,o));let c=o.substring(o.lastIndexOf(".")+1);if(a&&-1!==this.options.unpairedTags.indexOf(a))throw Error(`Unpaired tag can not be used as closing tag: </${a}>`);let d=0;c&&-1!==this.options.unpairedTags.indexOf(c)?(d=o.lastIndexOf(".",o.lastIndexOf(".")-1),this.tagsNodeStack.pop()):d=o.lastIndexOf("."),o=o.substring(0,d),r=this.tagsNodeStack.pop(),i="",s=n}else if("?"===e[s+1]){let n=iY(e,s,!1,"?>");if(!n)throw Error("Pi Tag is not closed.");if(i=this.saveTextToParentTag(i,r,o),this.options.ignoreDeclaration&&"?xml"===n.tagName||this.options.ignorePiTags);else{let e=new iI(n.tagName);e.add(this.options.textNodeName,""),n.tagName!==n.tagExp&&n.attrExpPresent&&(e[":@"]=this.buildAttributesMap(n.tagExp,o,n.tagName)),this.addChild(r,e,o,s)}s=n.closeIndex+1}else if("!--"===e.substr(s+1,3)){let n=iK(e,"--\x3e",s+4,"Comment is not closed.");if(this.options.commentPropName){let a=e.substring(s+4,n-2);i=this.saveTextToParentTag(i,r,o),r.add(this.options.commentPropName,[{[this.options.textNodeName]:a}])}s=n}else if("!D"===e.substr(s+1,2)){let n=function(e,n){let r={};if("O"===e[n+3]&&"C"===e[n+4]&&"T"===e[n+5]&&"Y"===e[n+6]&&"P"===e[n+7]&&"E"===e[n+8]){n+=9;let i=1,o=!1,s=!1;for(;n<e.length;n++)if("<"!==e[n]||s)if(">"===e[n]){if(s?"-"===e[n-1]&&"-"===e[n-2]&&(s=!1,i--):i--,0===i)break}else"["===e[n]?o=!0:e[n];else{if(o&&ij(e,"!ENTITY",n)){let i,o;n+=7,[i,o,n]=function(e,n){n=iM(e,n);let r="";for(;n<e.length&&!/\s/.test(e[n])&&'"'!==e[n]&&"'"!==e[n];)r+=e[n],n++;if(iA(r),n=iM(e,n),"SYSTEM"===e.substring(n,n+6).toUpperCase())throw Error("External entities are not supported");if("%"===e[n])throw Error("Parameter entities are not supported");let i="";return[n,i]=iP(e,n,"entity"),[r,i,--n]}(e,n+1),-1===o.indexOf("&")&&(r[i]={regx:RegExp(`&${i};`,"g"),val:o})}else if(o&&ij(e,"!ELEMENT",n)){let{index:r}=function(e,n){n=iM(e,n);let r="";for(;n<e.length&&!/\s/.test(e[n]);)r+=e[n],n++;if(!iA(r))throw Error(`Invalid element name: "${r}"`);n=iM(e,n);let i="";if("E"===e[n]&&ij(e,"MPTY",n))n+=4;else if("A"===e[n]&&ij(e,"NY",n))n+=2;else if("("===e[n]){for(n++;n<e.length&&")"!==e[n];)i+=e[n],n++;if(")"!==e[n])throw Error("Unterminated content model")}else throw Error(`Invalid Element Expression, found "${e[n]}"`);return{elementName:r,contentModel:i.trim(),index:n}}(e,(n+=8)+1);n=r}else if(o&&ij(e,"!ATTLIST",n))n+=8;else if(o&&ij(e,"!NOTATION",n)){let{index:r}=function(e,n){n=iM(e,n);let r="";for(;n<e.length&&!/\s/.test(e[n]);)r+=e[n],n++;iA(r),n=iM(e,n);let i=e.substring(n,n+6).toUpperCase();if("SYSTEM"!==i&&"PUBLIC"!==i)throw Error(`Expected SYSTEM or PUBLIC, found "${i}"`);n+=i.length,n=iM(e,n);let o=null,s=null;if("PUBLIC"===i)[n,o]=iP(e,n,"publicIdentifier"),n=iM(e,n),('"'===e[n]||"'"===e[n])&&([n,s]=iP(e,n,"systemIdentifier"));else if("SYSTEM"===i&&([n,s]=iP(e,n,"systemIdentifier"),!s))throw Error("Missing mandatory system identifier for SYSTEM notation");return{notationName:r,publicIdentifier:o,systemIdentifier:s,index:--n}}(e,(n+=9)+1);n=r}else if(ij(e,"!--",n))s=!0;else throw Error("Invalid DOCTYPE");i++}if(0!==i)throw Error("Unclosed DOCTYPE")}else throw Error("Invalid Tag instead of DOCTYPE");return{entities:r,i:n}}(e,s);this.docTypeEntities=n.entities,s=n.i}else if("!["===e.substr(s+1,2)){let n=iK(e,"]]>",s,"CDATA is not closed.")-2,a=e.substring(s+9,n);i=this.saveTextToParentTag(i,r,o);let c=this.parseTextData(a,r.tagname,o,!0,!1,!0,!0);void 0==c&&(c=""),this.options.cdataPropName?r.add(this.options.cdataPropName,[{[this.options.textNodeName]:a}]):r.add(this.options.textNodeName,c),s=n+2}else{let a=iY(e,s,this.options.removeNSPrefix),c=a.tagName,d=a.rawTagName,l=a.tagExp,u=a.attrExpPresent,f=a.closeIndex;this.options.transformTagName&&(c=this.options.transformTagName(c)),r&&i&&"!xml"!==r.tagname&&(i=this.saveTextToParentTag(i,r,o,!1));let p=r;p&&-1!==this.options.unpairedTags.indexOf(p.tagname)&&(r=this.tagsNodeStack.pop(),o=o.substring(0,o.lastIndexOf("."))),c!==n.tagname&&(o+=o?"."+c:c);let h=s;if(this.isItStopNode(this.options.stopNodes,o,c)){let n="";if(l.length>0&&l.lastIndexOf("/")===l.length-1)"/"===c[c.length-1]?(c=c.substr(0,c.length-1),o=o.substr(0,o.length-1),l=c):l=l.substr(0,l.length-1),s=a.closeIndex;else if(-1!==this.options.unpairedTags.indexOf(c))s=a.closeIndex;else{let r=this.readStopNodeData(e,d,f+1);if(!r)throw Error(`Unexpected end of ${d}`);s=r.i,n=r.tagContent}let i=new iI(c);c!==l&&u&&(i[":@"]=this.buildAttributesMap(l,o,c)),n&&(n=this.parseTextData(n,c,o,!0,u,!0,!0)),o=o.substr(0,o.lastIndexOf(".")),i.add(this.options.textNodeName,n),this.addChild(r,i,o,h)}else{if(l.length>0&&l.lastIndexOf("/")===l.length-1){"/"===c[c.length-1]?(c=c.substr(0,c.length-1),o=o.substr(0,o.length-1),l=c):l=l.substr(0,l.length-1),this.options.transformTagName&&(c=this.options.transformTagName(c));let e=new iI(c);c!==l&&u&&(e[":@"]=this.buildAttributesMap(l,o,c)),this.addChild(r,e,o,h),o=o.substr(0,o.lastIndexOf("."))}else{let e=new iI(c);this.tagsNodeStack.push(r),c!==l&&u&&(e[":@"]=this.buildAttributesMap(l,o,c)),this.addChild(r,e,o,h),r=e}i="",s=f}}else i+=e[s];return n.child};function iW(e,n,r,i){this.options.captureMetaData||(i=void 0);let o=this.options.updateTag(n.tagname,r,n[":@"]);!1===o||("string"==typeof o&&(n.tagname=o),e.addChild(n,i))}let iX=function(e){if(this.options.processEntities){for(let n in this.docTypeEntities){let r=this.docTypeEntities[n];e=e.replace(r.regx,r.val)}for(let n in this.lastEntities){let r=this.lastEntities[n];e=e.replace(r.regex,r.val)}if(this.options.htmlEntities)for(let n in this.htmlEntities){let r=this.htmlEntities[n];e=e.replace(r.regex,r.val)}e=e.replace(this.ampEntity.regex,this.ampEntity.val)}return e};function i$(e,n,r,i){return e&&(void 0===i&&(i=0===n.child.length),void 0!==(e=this.parseTextData(e,n.tagname,r,!1,!!n[":@"]&&0!==Object.keys(n[":@"]).length,i))&&""!==e&&n.add(this.options.textNodeName,e),e=""),e}function iJ(e,n,r){let i="*."+r;for(let r in e){let o=e[r];if(i===o||n===o)return!0}return!1}function iK(e,n,r,i){let o=e.indexOf(n,r);if(-1!==o)return o+n.length-1;throw Error(i)}function iY(e,n,r,i=">"){let o=function(e,n,r=">"){let i,o="";for(let s=n;s<e.length;s++){let n=e[s];if(i)n===i&&(i="");else if('"'===n||"'"===n)i=n;else if(n===r[0]){if(!r[1])return{data:o,index:s};else if(e[s+1]===r[1])return{data:o,index:s}}else" "===n&&(n=" ");o+=n}}(e,n+1,i);if(!o)return;let s=o.data,a=o.index,c=s.search(/\s/),d=s,l=!0;-1!==c&&(d=s.substring(0,c),s=s.substring(c+1).trimStart());let u=d;if(r){let e=d.indexOf(":");-1!==e&&(l=(d=d.substr(e+1))!==o.data.substr(e+1))}return{tagName:d,tagExp:s,closeIndex:a,attrExpPresent:l,rawTagName:u}}function iQ(e,n,r){let i=r,o=1;for(;r<e.length;r++)if("<"===e[r])if("/"===e[r+1]){let s=iK(e,">",r,`${n} is not closed`);if(e.substring(r+2,s).trim()===n&&0==--o)return{tagContent:e.substring(i,r),i:s};r=s}else if("?"===e[r+1])r=iK(e,"?>",r+1,"StopNode is not closed.");else if("!--"===e.substr(r+1,3))r=iK(e,"--\x3e",r+3,"StopNode is not closed.");else if("!["===e.substr(r+1,2))r=iK(e,"]]>",r,"StopNode is not closed.")-2;else{let i=iY(e,r,">");i&&((i&&i.tagName)===n&&"/"!==i.tagExp[i.tagExp.length-1]&&o++,r=i.closeIndex)}}function iZ(e,n,r){if(n&&"string"==typeof e){let n=e.trim();return"true"===n||"false"!==n&&function(e,n={}){if(n=Object.assign({},iN,n),!e||"string"!=typeof e)return e;let r=e.trim();if(void 0!==n.skipLike&&n.skipLike.test(r))return e;{if("0"===e)return 0;if(n.hex&&iD.test(r)){var i,o=r;if(parseInt)return parseInt(o,16);if(Number.parseInt)return Number.parseInt(o,16);if(window&&window.parseInt)return window.parseInt(o,16);throw Error("parseInt, Number.parseInt, window.parseInt are not supported")}if(-1!==r.search(/.+[eE].+/))return function(e,n,r){if(!r.eNotation)return e;let i=n.match(iL);if(!i)return e;{let o=i[1]||"",s=-1===i[3].indexOf("e")?"E":"e",a=i[2],c=o?e[a.length+1]===s:e[a.length]===s;return a.length>1&&c?e:1===a.length&&(i[3].startsWith(`.${s}`)||i[3][0]===s)?Number(n):r.leadingZeros&&!c?Number(n=(i[1]||"")+i[3]):e}}(e,r,n);let s=iB.exec(r);if(!s)return e;{let o=s[1]||"",a=s[2],c=((i=s[3])&&-1!==i.indexOf(".")&&("."===(i=i.replace(/0+$/,""))?i="0":"."===i[0]?i="0"+i:"."===i[i.length-1]&&(i=i.substring(0,i.length-1))),i),d=o?"."===e[a.length+1]:"."===e[a.length];if(!n.leadingZeros&&(a.length>1||1===a.length&&!d))return e;{let i=Number(r),s=String(i);if(0===i)return i;if(-1!==s.search(/[eE]/))if(n.eNotation)return i;else return e;if(-1!==r.indexOf("."))if("0"===s)return i;else if(s===c)return i;else if(s===`${o}${c}`)return i;else return e;let d=a?c:r;return a?d===s||o+d===s?i:e:d===s||d===o+s?i:e}}}}(e,r)}return void 0!==e?e:""}let i0=iI.getMetaDataSymbol(),i1={allowBooleanAttributes:!1,unpairedTags:[]};function i2(e,n){n=Object.assign({},i1,n);let r=[],i=!1,o=!1;"\uFEFF"===e[0]&&(e=e.substr(1));for(let s=0;s<e.length;s++)if("<"===e[s]&&"?"===e[s+1]){if(s+=2,(s=i4(e,s)).err)return s}else if("<"===e[s]){let a=s;if("!"===e[++s]){s=i5(e,s);continue}{let c=!1;"/"===e[s]&&(c=!0,s++);let d="";for(;s<e.length&&">"!==e[s]&&" "!==e[s]&&" "!==e[s]&&"\n"!==e[s]&&"\r"!==e[s];s++)d+=e[s];if("/"===(d=d.trim())[d.length-1]&&(d=d.substring(0,d.length-1),s--),!ik(d))return i9("InvalidTag",0===d.trim().length?"Invalid space after '<'.":"Tag '"+d+"' is an invalid name.",i7(e,s));let l=function(e,n){let r="",i="",o=!1;for(;n<e.length;n++){if('"'===e[n]||"'"===e[n])""===i?i=e[n]:i!==e[n]||(i="");else if(">"===e[n]&&""===i){o=!0;break}r+=e[n]}return""===i&&{value:r,index:n,tagClosed:o}}(e,s);if(!1===l)return i9("InvalidAttr","Attributes for '"+d+"' have open quote.",i7(e,s));let u=l.value;if(s=l.index,"/"===u[u.length-1]){let r=s-u.length,o=i8(u=u.substring(0,u.length-1),n);if(!0!==o)return i9(o.err.code,o.err.msg,i7(e,r+o.err.line));i=!0}else if(c)if(!l.tagClosed)return i9("InvalidTag","Closing tag '"+d+"' doesn't have proper closing.",i7(e,s));else{if(u.trim().length>0)return i9("InvalidTag","Closing tag '"+d+"' can't have attributes or invalid starting.",i7(e,a));if(0===r.length)return i9("InvalidTag","Closing tag '"+d+"' has not been opened.",i7(e,a));let n=r.pop();if(d!==n.tagName){let r=i7(e,n.tagStartPos);return i9("InvalidTag","Expected closing tag '"+n.tagName+"' (opened in line "+r.line+", col "+r.col+") instead of closing tag '"+d+"'.",i7(e,a))}0==r.length&&(o=!0)}else{let c=i8(u,n);if(!0!==c)return i9(c.err.code,c.err.msg,i7(e,s-u.length+c.err.line));if(!0===o)return i9("InvalidXml","Multiple possible root nodes found.",i7(e,s));-1!==n.unpairedTags.indexOf(d)||r.push({tagName:d,tagStartPos:a}),i=!0}for(s++;s<e.length;s++)if("<"===e[s])if("!"===e[s+1]){s=i5(e,++s);continue}else if("?"===e[s+1]){if((s=i4(e,++s)).err)return s}else break;else if("&"===e[s]){let n=function(e,n){if(";"===e[++n])return -1;if("#"===e[n]){var r=e,i=++n;let o=/\d/;for("x"===r[i]&&(i++,o=/[\da-fA-F]/);i<r.length;i++){if(";"===r[i])return i;if(!r[i].match(o))break}return -1}let o=0;for(;n<e.length;n++,o++)if(!e[n].match(/\w/)||!(o<20)){if(";"===e[n])break;return -1}return n}(e,s);if(-1==n)return i9("InvalidChar","char '&' is not expected.",i7(e,s));s=n}else if(!0===o&&!i3(e[s]))return i9("InvalidXml","Extra text at the end",i7(e,s));"<"===e[s]&&s--}}else{if(i3(e[s]))continue;return i9("InvalidChar","char '"+e[s]+"' is not expected.",i7(e,s))}return i?1==r.length?i9("InvalidTag","Unclosed tag '"+r[0].tagName+"'.",i7(e,r[0].tagStartPos)):!(r.length>0)||i9("InvalidXml","Invalid '"+JSON.stringify(r.map(e=>e.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1}):i9("InvalidXml","Start tag expected.",1)}function i3(e){return" "===e||" "===e||"\n"===e||"\r"===e}function i4(e,n){let r=n;for(;n<e.length;n++)if("?"==e[n]||" "==e[n]){let i=e.substr(r,n-r);if(n>5&&"xml"===i)return i9("InvalidXml","XML declaration allowed only at the start of the document.",i7(e,n));if("?"!=e[n]||">"!=e[n+1])continue;n++;break}return n}function i5(e,n){if(e.length>n+5&&"-"===e[n+1]&&"-"===e[n+2]){for(n+=3;n<e.length;n++)if("-"===e[n]&&"-"===e[n+1]&&">"===e[n+2]){n+=2;break}}else if(e.length>n+8&&"D"===e[n+1]&&"O"===e[n+2]&&"C"===e[n+3]&&"T"===e[n+4]&&"Y"===e[n+5]&&"P"===e[n+6]&&"E"===e[n+7]){let r=1;for(n+=8;n<e.length;n++)if("<"===e[n])r++;else if(">"===e[n]&&0==--r)break}else if(e.length>n+9&&"["===e[n+1]&&"C"===e[n+2]&&"D"===e[n+3]&&"A"===e[n+4]&&"T"===e[n+5]&&"A"===e[n+6]&&"["===e[n+7]){for(n+=8;n<e.length;n++)if("]"===e[n]&&"]"===e[n+1]&&">"===e[n+2]){n+=2;break}}return n}let i6=RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function i8(e,n){let r=iO(e,i6),i={};for(let e=0;e<r.length;e++){if(0===r[e][1].length)return i9("InvalidAttr","Attribute '"+r[e][2]+"' has no space in starting.",oe(r[e]));if(void 0!==r[e][3]&&void 0===r[e][4])return i9("InvalidAttr","Attribute '"+r[e][2]+"' is without value.",oe(r[e]));if(void 0===r[e][3]&&!n.allowBooleanAttributes)return i9("InvalidAttr","boolean attribute '"+r[e][2]+"' is not allowed.",oe(r[e]));let o=r[e][2];if(!ik(o))return i9("InvalidAttr","Attribute '"+o+"' is an invalid name.",oe(r[e]));if(i.hasOwnProperty(o))return i9("InvalidAttr","Attribute '"+o+"' is repeated.",oe(r[e]));i[o]=1}return!0}function i9(e,n,r){return{err:{code:e,msg:n,line:r.line||r,col:r.col}}}function i7(e,n){let r=e.substring(0,n).split(/\r?\n/);return{line:r.length,col:r[r.length-1].length+1}}function oe(e){return e.startIndex+e[1].length}class ot{constructor(e){this.externalEntities={},this.options=Object.assign({},iC,e)}parse(e,n){if("string"==typeof e);else if(e.toString)e=e.toString();else throw Error("XML data is accepted in String or Bytes[] form.");if(n){!0===n&&(n={});let r=i2(e,n);if(!0!==r)throw Error(`${r.err.msg}:${r.err.line}:${r.err.col}`)}let r=new iU(this.options);r.addExternalEntities(this.externalEntities);let i=r.parseXml(e);return this.options.preserveOrder||void 0===i?i:function e(n,r,i){let o,s={};for(let a=0;a<n.length;a++){let c=n[a],d=function(e){let n=Object.keys(e);for(let e=0;e<n.length;e++){let r=n[e];if(":@"!==r)return r}}(c),l="";if(l=void 0===i?d:i+"."+d,d===r.textNodeName)void 0===o?o=c[d]:o+=""+c[d];else if(void 0===d)continue;else if(c[d]){let n=e(c[d],r,l),i=function(e,n){let{textNodeName:r}=n,i=Object.keys(e).length;return 0===i||1===i&&(!!e[r]||"boolean"==typeof e[r]||0===e[r])}(n,r);void 0!==c[i0]&&(n[i0]=c[i0]),c[":@"]?function(e,n,r,i){if(n){let o=Object.keys(n),s=o.length;for(let a=0;a<s;a++){let s=o[a];i.isArray(s,r+"."+s,!0,!0)?e[s]=[n[s]]:e[s]=n[s]}}}(n,c[":@"],l,r):1!==Object.keys(n).length||void 0===n[r.textNodeName]||r.alwaysCreateTextNode?0===Object.keys(n).length&&(r.alwaysCreateTextNode?n[r.textNodeName]="":n=""):n=n[r.textNodeName],void 0!==s[d]&&s.hasOwnProperty(d)?(Array.isArray(s[d])||(s[d]=[s[d]]),s[d].push(n)):r.isArray(d,l,i)?s[d]=[n]:s[d]=n}}return"string"==typeof o?o.length>0&&(s[r.textNodeName]=o):void 0!==o&&(s[r.textNodeName]=o),s}(i,this.options)}addEntity(e,n){if(-1!==n.indexOf("&"))throw Error("Entity value can't have '&'");if(-1!==e.indexOf("&")||-1!==e.indexOf(";"))throw Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if("&"===n)throw Error("An entity with value '&' is not permitted");this.externalEntities[e]=n}static getMetaDataSymbol(){return iI.getMetaDataSymbol()}}let on=i2;class or{constructor(){this.isXml=e=>or.isXml(e),this.parseXmlOrText=e=>{try{let n=this.xmlParser.parse(e);if(Array.isArray(n)&&!n.length);else if(Array.isArray(n)&&n.length)return n;return e}catch(n){return e}},this.hasMixContentByParsedXml=e=>Array.isArray(e),this.xmlParser=new ot({preserveOrder:!0,ignoreAttributes:!1,attributeNamePrefix:"",textNodeName:"#text",alwaysCreateTextNode:!0})}static #F=this.isTextNode=e=>"text"in e;static #eh=this.isImageNode=e=>"image"in e;static #eK=this.isVideoNode=e=>"video"in e;static #eY=this.isXml=e=>"string"==typeof e&&!0===on(e,{allowBooleanAttributes:!0})}class oi extends id{constructor(e,n){super({...e,type:"aiWorker"},n),this.opts=n,this.contents=[],this.hasReceivedEndSignal=!1,this.addContentRenderTask=e=>{if(oi.isTextContent(e)){let n=e=>{this.emitter.emit("content_change",{mod:"text",content:e.char,completed:e.done})};e.emitter.on("data",n),this.queue.add(e.runTask).finally(()=>{e.dispose()})}else oi.isImageContent(e)?this.queue.add(e.runTask).then(e=>{e&&this.emitter.emit("content_change",{mod:"image",content:e.src,completed:!0})}).finally(()=>{e.dispose()}):oi.isVideoContent(e)&&this.queue.add(e.runTask).then(e=>{e&&this.emitter.emit("content_change",{mod:"video",content:e.src,completed:!0})}).finally(()=>{e.dispose()})},this.addAllContents=e=>{for(let n of(this.contents=e,e))this.addContentRenderTask(n)},this.createContentsFromXmlString=e=>{let n=this.customXmlParser.parseXmlOrText(e);return this.customXmlParser.hasMixContentByParsedXml(n)?n[0].root[0].content.map(e=>or.isTextNode(e)?iS.fromString(e.text[0]["#text"],{typewriterOptions:{delay:this.opts.typeDelay,enDelay:this.opts.enTypeDelay}}):or.isImageNode(e)?iR.fromSrc(e.image[0]["#text"]):or.isVideoNode(e)?iT.fromSrc(e.video[0]["#text"]):null).filter(Boolean):[]},this.appendText=e=>{if(this.customXmlParser.isXml(e)){let n=this.createContentsFromXmlString(e);this.addAllContents(n)}else{let n=iS.fromString(e,{typewriterOptions:{delay:this.opts.typeDelay,enDelay:this.opts.enTypeDelay}});this.addContentRenderTask(n),this.contents.push(n)}},this.dispose=()=>{this.queue.removeAllListeners(),this.contents=[]},this.interrupt=()=>{for(let e of this.contents)e.interrupt();this.queue.clear(),this.emitter.emit("interrupt").catch(r3)},this.markAsEnded=()=>{if(this.hasReceivedEndSignal=!0,0===this.queue.size&&0===this.queue.pending&&this.contents.length>0){let e={id:this.id,type:this.type,text:this.fulltext,contents:this.contents.map(e=>e.toJSON()),timestamp:Date.now()};this.emitter.emit("conversation_end",e).catch(r3),this.hasReceivedEndSignal=!1}},this.bindEvents=()=>{this.queue.on("empty",()=>{if(this.emitter.emit("queue_empty").catch(r3),this.hasReceivedEndSignal&&this.contents.length>0){let e={id:this.id,type:this.type,text:this.fulltext,contents:this.contents.map(e=>e.toJSON()),timestamp:Date.now()};this.emitter.emit("conversation_end",e).catch(r3),this.hasReceivedEndSignal=!1}})},this.queue=new ig({concurrency:1}),this.customXmlParser=new or,this.bindEvents()}get fulltext(){return this.contents.map(e=>oi.isTextContent(e)?e.getConfig().content:"").join("")}static #F=this.create=e=>new oi({},e);static #eh=this.isAllTextContents=e=>e.every(e=>"text"===e.mod);static #eK=this.isTextContent=e=>e instanceof iS&&"text"===e.mod;static #eY=this.isImageContent=e=>e instanceof iR&&"image"===e.mod;static #eQ=this.isVideoContent=e=>e instanceof iT&&"video"===e.mod}function oo(e,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,n)}function os(e,n){return function(r,i){n(r,i,e)}}class oa{constructor(e){var n=this;this.opts=e,this.beans=[],this.currentConversation=null,this.aiWorkerConversationFormatters=[],this.add=e=>{this.beans.push(e)},this.addBySnapshot=function(){let e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};switch(r.type){case"client":e=new il(r,n.opts);break;case"aiWorker":e=new oi(r,n.opts);break;default:throw Error(`Unknown conversation type: ${r.type}`)}return n.beans.push(e),e},this.setCurrentConversation=e=>{this.currentConversation=e},this.clear=()=>{this.beans=[]},this.toJSON=()=>this.beans.map(e=>e.toJSON()),this.dispose=()=>{for(let e of this.beans)e.dispose();this.beans=[],this.currentConversation=null,this.aiWorkerConversationFormatters=[]},this.registerAIWorkerConversationFormatter=e=>{this.aiWorkerConversationFormatters.push(e)},this.runAIWorkerConversationFormatters=e=>{let n=e;for(let e of this.aiWorkerConversationFormatters)n=e(n);return n},this.interruptAll=()=>{for(let e of this.beans)e.interrupt()}}get last(){var e;return null!=(e=this.beans[this.beans.length-1])?e:null}get currentClientConversation(){return oa.isClientConversation(this.currentConversation)?this.currentConversation:null}get currentAIWorkerConversation(){return oa.isAIWorkerConversation(this.currentConversation)?this.currentConversation:null}static isClientConversation(e){return(null==e?void 0:e.type)==="client"}static isAIWorkerConversation(e){return(null==e?void 0:e.type)==="aiWorker"}}oa=function(e,n,r,i){var o,s=arguments.length,a=s<3?n:null===i?i=Object.getOwnPropertyDescriptor(n,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,n,r,i);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(a=(s<3?o(a):s>3?o(n,r,a):o(n,r))||a);return s>3&&a&&Object.defineProperty(n,r,a),a}([eb(),os(0,ev(nm.IOptions)),os(0,eT()),oo("design:type",Function),oo("design:paramtypes",["undefined"==typeof IResolvedOptions?Object:IResolvedOptions])],oa);var oc=__webpack_require__("../../node_modules/abort-signal-polyfill/dist/staticMethods/any.js"),od=__webpack_require__("../../node_modules/abort-signal-polyfill/dist/staticMethods/timeout.js"),ol=__webpack_require__("../../node_modules/abort-signal-polyfill/dist/staticMethods/abort.js");let ou=(e,n)=>{e in AbortSignal||Object.defineProperty(AbortSignal,e,{value:n,configurable:!0,writable:!0})};var of=function(){return(of=Object.assign||function(e){for(var n,r=1,i=arguments.length;r<i;r++)for(var o in n=arguments[r])Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e}).apply(this,arguments)},op=__webpack_require__("../../node_modules/@baidu/weirwood-perf/esm/index.js"),oh=function(){return(oh=Object.assign||function(e){for(var n,r=1,i=arguments.length;r<i;r++)for(var o in n=arguments[r])Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e}).apply(this,arguments)};function om(e){var n="function"==typeof Symbol&&Symbol.iterator,r=n&&e[n],i=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}function ov(){for(var e=[],n=0;n<arguments.length;n++)e=e.concat(function(e,n){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var i,o,s=r.call(e),a=[];try{for(;(void 0===n||n-- >0)&&!(i=s.next()).done;)a.push(i.value)}catch(e){o={error:e}}finally{try{i&&!i.done&&(r=s.return)&&r.call(s)}finally{if(o)throw o.error}}return a}(arguments[n]));return e}function og(e){switch(Object.prototype.toString.call(e)){case"[object Error]":case"[object Exception]":case"[object DOMException]":return!0;default:return e instanceof Error}}function oy(e){return"[object ErrorEvent]"===Object.prototype.toString.call(e)}function ob(e){return void 0===e}function o_(e){return"function"==typeof e}function ow(e){return"[object String]"===Object.prototype.toString.call(e)}function oS(e){return"[object Number]"===Object.prototype.toString.call(e)}function oR(e){return"[object Array]"===Object.prototype.toString.call(e)}function oT(e){return"[object Object]"===Object.prototype.toString.call(e)}function oC(e){if(!oT(e))return!1;for(var n in e)if(e.hasOwnProperty(n))return!1;return!0}var ox={};function oE(){return"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==__webpack_require__.g?__webpack_require__.g:"undefined"!=typeof self?self:ox}var oO=oE(),ok={wrap:function(){return function(){}},report:!1,collectWindowErrors:!1,computeStackTrace:!1,remoteFetching:!1,linesOfContext:!1,extendToAsynchronousCallbacks:!1},oI=[].slice,oM=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/;function oP(e,n){return Object.prototype.hasOwnProperty.call(e,n)}function oj(){return"undefined"==typeof document||null==document.location?"":document.location.href}ok.wrap=function(e){return function(){try{return e.apply(this,arguments)}catch(e){throw ok.report(e),e}}},ok.report=function(){var e,n,r,i,o=[],s=null,a=null;function c(e,n,r,i,s,a){var c=null;if(!n||ok.collectWindowErrors){for(var d in o)if(oP(o,d))try{o[d](e,n,r,i,s,a)}catch(e){c=e}if(c)throw c}}function d(n,r,i,o,s){var d=null;if(s=oy(s)?s.error:s,n=oy(n)?n.message:n,a)ok.computeStackTrace.augmentStackTraceWithInitialElement(a,r,i,n),u();else if(s&&og(s))(d=ok.computeStackTrace(s)).mechanism="onerror",c(d,!0,s,r,i,o);else{var l,f={url:r,line:i,column:o},p=n;if("[object String]"===({}).toString.call(n)){var h=n.match(oM);h&&(l=h[1],p=h[2])}f.func=ok.computeStackTrace.guessFunctionName(f.url,f.line),f.context=ok.computeStackTrace.gatherContext(f.url,f.line),c(d={name:l,message:p,mode:"onerror",mechanism:"onerror",stack:[oh(oh({},f),{url:f.url||oj()})]},!0,null,r,i,o)}return!!e&&e.apply(this,arguments)}function l(e){var n=e&&(e.detail?e.detail.reason:e.reason)||e,r=ok.computeStackTrace(n);r.mechanism="onunhandledrejection",c(r,!0,n)}function u(){var e=a,n=s;a=null,s=null,c(e,!1,n)}function f(e){if(a)if(s===e)return;else u();var n=ok.computeStackTrace(e);throw a=n,s=e,setTimeout(function(){s===e&&u()},2e3*!!n.incomplete),e}return f.subscribe=function(e){o.push(e)},f.unsubscribe=function(s){for(var a=o.length-1;a>=0;--a)o[a]===s&&o.splice(a,1);0===o.length&&(n&&(oO.onerror=e,n=!1),i&&(oO.onunhandledrejection=r,i=!1))},f.installGlobalHandler=function(){!0!==n&&(e=oO.onerror,oO.onerror=d,n=!0)},f.installGlobalUnhandledRejectionHandler=function(){!0!==i&&(r=oO.onunhandledrejection,oO.onunhandledrejection=l,i=!0)},f}(),ok.computeStackTrace=function(){var e={};function n(n){if("string"!=typeof n)return[];if(!oP(e,n)){var r="",i="";try{i=oO.document.domain}catch(e){}var o=/(.*)\:\/\/([^:\/]+)([:\d]*)\/{0,1}([\s\S]*)/.exec(n);o&&o[2]===i&&(r=function(e){if(!ok.remoteFetching)return"";try{var n=function(){try{return new oO.XMLHttpRequest}catch(e){return new oO.ActiveXObject("Microsoft.XMLHTTP")}}();return n.open("GET",e,!1),n.send(""),n.responseText}catch(e){return""}}(n)),e[n]=r?r.split("\n"):[]}return e[n]}function r(e,r){var i,o=/function ([^(]*)\(([^)]*)\)/,s=/['"]?([0-9A-Za-z$_]+)['"]?\s*[:=]\s*(function|eval|new Function)/,a="",c=n(e);if(!c.length)return"?";for(var d=0;d<10;++d)if(!ob(a=c[r-d]+a)){if(i=s.exec(a))return i[1];else if(i=o.exec(a))return i[1]}return"?"}function i(e,r){var i=n(e);if(!i.length)return null;var o=[],s=Math.floor(ok.linesOfContext/2),a=s+ok.linesOfContext%2,c=Math.max(0,r-s-1),d=Math.min(i.length,r+a-1);r-=1;for(var l=c;l<d;++l)ob(i[l])||o.push(i[l]);return o.length>0?o:null}function o(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#]/g,"\\$&")}function s(e){return o(e).replace("<","(?:<|&lt;)").replace(">","(?:>|&gt;)").replace("&","(?:&|&amp;)").replace('"','(?:"|&quot;)').replace(/\s+/g,"\\s+")}function a(e,r){for(var i,o,s=0,a=r.length;s<a;++s)if((i=n(r[s])).length&&(i=i.join("\n"),o=e.exec(i)))return{url:r[s],line:i.substring(0,o.index).split("\n").length,column:o.index-i.lastIndexOf("\n",o.index)-1};return null}function c(e,r,i){var s,a=n(r),c=RegExp("\\b"+o(e)+"\\b");return(i-=1,a&&a.length>i&&(s=c.exec(a[i])))?s.index:null}function d(e){if(!e.stack)return null;for(var n,o,s,a,d=/^\s*at (?:(.*?) ?\()?((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|[a-z]:|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,l=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|moz-extension).*?:\/.*?|\[native code\]|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i,u=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i,f=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,p=/\((\S*)(?::(\d+))(?::(\d+))\)/,h=e.stack.split("\n"),m=[],v=/^(.*) is undefined$/.exec(e.message),g=0,y=h.length;g<y;++g){if(s=d.exec(h[g])){var b=s[2]&&0===s[2].indexOf("native");s[2]&&0===s[2].indexOf("eval")&&(o=p.exec(s[2]))&&(s[2]=o[1]),a={url:b?null:s[2],func:s[1]||"?",args:b?[s[2]]:[],line:s[3]?+s[3]:null,column:s[4]?+s[4]:null}}else if(s=u.exec(h[g]))a={url:s[2],func:s[1]||"?",args:[],line:+s[3],column:s[4]?+s[4]:null};else{if(!(s=l.exec(h[g])))continue;s[3]&&s[3].indexOf(" > eval")>-1&&(o=f.exec(s[3]))?s[3]=o[1]:0!==g||s[5]||ob(e.columnNumber)||(m[0].column=e.columnNumber+1),a={url:s[3],func:s[1]||"?",args:s[2]?s[2].split(","):[],line:s[4]?+s[4]:null,column:s[5]?+s[5]:null}}if(!a.func&&a.line&&(a.func=r(a.url,a.line)),ok.remoteFetching&&a.url&&"blob:"===a.url.substr(0,5)){var _=new XMLHttpRequest;if(_.open("GET",a.url,!1),_.send(""),200===_.status){var w=_.responseText||"",S=(w=w.slice(-300)).match(/\/\/# sourceMappingURL=(.*)$/);if(S){var R=S[1];"~"===R.charAt(0)&&(R=("undefined"==typeof document||null==document.location?"":document.location.origin?document.location.origin:document.location.protocol+"//"+document.location.hostname+(document.location.port?":"+document.location.port:""))+R.slice(1)),a.url=R.slice(0,-4)}}}a.context=a.line?i(a.url,a.line):null,m.push(a)}return m.length?(m[0]&&m[0].line&&!m[0].column&&v&&(m[0].column=c(v[1],m[0].url,m[0].line)),{mode:"stack",name:e.name,message:e.message,stack:m}):null}function l(e,n,o,s){var a={url:n,line:o};if(a.url&&a.line){e.incomplete=!1,a.func||(a.func=r(a.url,a.line)),a.context||(a.context=i(a.url,a.line));var d=/ '([^']+)' /.exec(s);if(d&&(a.column=c(d[1],a.url,a.line)),e.stack.length>0&&e.stack[0].url===a.url){if(e.stack[0].line===a.line)return!1;else if(!e.stack[0].line&&e.stack[0].func===a.func)return e.stack[0].line=a.line,e.stack[0].context=a.context,!1}return e.stack.unshift(a),e.partial=!0,!0}return e.incomplete=!0,!1}function u(e,f){var p=null;f=null==f?0:+f;try{if(p=function(e){var n=e.stacktrace;if(n){for(var o,s=/ line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i,a=/ line (\d+), column (\d+)\s*(?:in (?:<anonymous function: ([^>]+)>|([^\)]+))\((.*)\))? in (.*):\s*$/i,c=n.split("\n"),d=[],l=0;l<c.length;l+=2){var u=null;if((o=s.exec(c[l]))?u={url:o[2],line:+o[1],column:null,func:o[3],args:[]}:(o=a.exec(c[l]))&&(u={url:o[6],line:+o[1],column:+o[2],func:o[3]||o[4],args:o[5]?o[5].split(","):[]}),u){if(!u.func&&u.line&&(u.func=r(u.url,u.line)),u.line)try{u.context=i(u.url,u.line)}catch(e){}u.context||(u.context=[c[l+1]]),d.push(u)}}return d.length?{mode:"stacktrace",name:e.name,message:e.message,stack:d}:null}}(e))return p}catch(e){}try{if(p=d(e))return p}catch(e){}try{if(p=function(e){var o=e.message.split("\n");if(o.length<4)return null;var c,d=/^\s*Line (\d+) of linked script ((?:file|https?|blob)\S+)(?:: in function (\S+))?\s*$/i,l=/^\s*Line (\d+) of inline#(\d+) script in ((?:file|https?|blob)\S+)(?:: in function (\S+))?\s*$/i,u=/^\s*Line (\d+) of function script\s*$/i,f=[],p=oO&&oO.document&&oO.document.getElementsByTagName("script"),h=[];for(var m in p)oP(p,m)&&!p[m].src&&h.push(p[m]);for(var v=2;v<o.length;v+=2){var g=null;if(c=d.exec(o[v]))g={url:c[2],func:c[3],args:[],line:+c[1],column:null};else if(c=l.exec(o[v])){g={url:c[3],func:c[4],args:[],line:+c[1],column:null};var y=+c[1],b=h[c[2]-1];if(b){var _=n(g.url);if(_){var w=(_=_.join("\n")).indexOf(b.innerText);w>=0&&(g.line=y+_.substring(0,w).split("\n").length)}}}else if(c=u.exec(o[v])){var S=oj().replace(/#.*$/,""),R=a(new RegExp(s(o[v+1])),[S]);g={url:S,func:"",args:[],line:R?R.line:c[1],column:null}}if(g){g.func||(g.func=r(g.url,g.line));var T=i(g.url,g.line),C=T?T[Math.floor(T.length/2)]:null;T&&C.replace(/^\s*/,"")===o[v+1].replace(/^\s*/,"")?g.context=T:g.context=[o[v+1]],f.push(g)}}return f.length?{mode:"multiline",name:e.name,message:o[0],stack:f}:null}(e))return p}catch(e){}try{if(p=function e(n,i){for(var d,f,p,h=/function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,m=[],v={},g=!1,y=e.caller;y&&!g;y=y.caller)if(y!==u&&y!==ok.report){if(f={url:null,func:"?",args:[],line:null,column:null},y.name?f.func=y.name:(d=h.exec(y.toString()))&&(f.func=d[1]),void 0===f.func)try{f.func=d.input.substring(0,d.input.indexOf("{"))}catch(e){}if(p=function(e){if(!ob(oO&&oO.document)){for(var n,r,i,c,d=[oj()],l=oO.document.getElementsByTagName("script"),u=""+e,f=0;f<l.length;++f){var p=l[f];p.src&&d.push(p.src)}if(i=/^function(?:\s+([\w$]+))?\s*\(([\w\s,]*)\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/.exec(u)){var h=i[1]?"\\s+"+i[1]:"",m=i[2].split(",").join("\\s*,\\s*");r=RegExp("function"+h+"\\s*\\(\\s*"+m+"\\s*\\)\\s*{\\s*"+(n=o(i[3]).replace(/;$/,";?"))+"\\s*}")}else r=new RegExp(o(u).replace(/\s+/g,"\\s+"));if(c=a(r,d))return c;if(i=/^function on([\w$]+)\s*\(event\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/.exec(u)){var v=i[1];if((c=a(r=RegExp("on"+v+"=[\\'\"]\\s*"+(n=s(i[2]))+"\\s*[\\'\"]","i"),d[0]))||(c=a(r=new RegExp(n),d)))return c}return null}}(y)){f.url=p.url,f.line=p.line,"?"===f.func&&(f.func=r(f.url,f.line));var b=/ '([^']+)' /.exec(n.message||n.description);b&&(f.column=c(b[1],p.url,p.line))}v[""+y]?g=!0:v[""+y]=!0,m.push(f)}i&&m.splice(0,i);var _={mode:"callers",name:n.name,message:n.message,stack:m};return l(_,n.sourceURL||n.fileName,n.line||n.lineNumber,n.message||n.description),_}(e,f+1))return p}catch(e){}return{original:e,name:e.name,message:e.message,mode:"failed"}}return u.augmentStackTraceWithInitialElement=l,u.computeStackTraceFromStackProp=d,u.guessFunctionName=r,u.gatherContext=i,u.ofCaller=function(e){e=(null==e?0:+e)+1;try{throw Error()}catch(n){return u(n,e+1)}},u.getSource=n,u}(),ok.extendToAsynchronousCallbacks=function(){var e=function(e){var n=oO[e];oO[e]=function(){var e=oI.call(arguments),r=e[0];return("function"==typeof r&&(e[0]=ok.wrap(r)),n.apply)?n.apply(this,e):n(e[0],e[1])}};e("setTimeout"),e("setInterval")},ok.remoteFetching=!1,ok.collectWindowErrors=!0,ok.linesOfContext=11,ok.report;var oA=ok.report.subscribe,oD=ok.report.unsubscribe,oB=ok.report.installGlobalHandler,oN=ok.report.installGlobalUnhandledRejectionHandler,oL=ok.computeStackTrace;function oU(e,n){var r=(65535&e)+(65535&n);return(e>>16)+(n>>16)+(r>>16)<<16|65535&r}function oF(e,n,r,i,o,s){var a,c;return oU((a=oU(oU(n,e),oU(i,s)))<<(c=o)|a>>>32-c,r)}function oq(e,n,r,i,o,s,a){return oF(n&r|~n&i,e,n,o,s,a)}function oH(e,n,r,i,o,s,a){return oF(n&i|r&~i,e,n,o,s,a)}function oV(e,n,r,i,o,s,a){return oF(n^r^i,e,n,o,s,a)}function oz(e,n,r,i,o,s,a){return oF(r^(n|~i),e,n,o,s,a)}function oG(e,n){e[n>>5]|=128<<n%32,e[(n+64>>>9<<4)+14]=n;var r,i,o,s,a,c=0x67452301,d=-0x10325477,l=-0x67452302,u=0x10325476;for(r=0;r<e.length;r+=16)i=c,o=d,s=l,a=u,c=oq(c,d,l,u,e[r],7,-0x28955b88),u=oq(u,c,d,l,e[r+1],12,-0x173848aa),l=oq(l,u,c,d,e[r+2],17,0x242070db),d=oq(d,l,u,c,e[r+3],22,-0x3e423112),c=oq(c,d,l,u,e[r+4],7,-0xa83f051),u=oq(u,c,d,l,e[r+5],12,0x4787c62a),l=oq(l,u,c,d,e[r+6],17,-0x57cfb9ed),d=oq(d,l,u,c,e[r+7],22,-0x2b96aff),c=oq(c,d,l,u,e[r+8],7,0x698098d8),u=oq(u,c,d,l,e[r+9],12,-0x74bb0851),l=oq(l,u,c,d,e[r+10],17,-42063),d=oq(d,l,u,c,e[r+11],22,-0x76a32842),c=oq(c,d,l,u,e[r+12],7,0x6b901122),u=oq(u,c,d,l,e[r+13],12,-0x2678e6d),l=oq(l,u,c,d,e[r+14],17,-0x5986bc72),d=oq(d,l,u,c,e[r+15],22,0x49b40821),c=oH(c,d,l,u,e[r+1],5,-0x9e1da9e),u=oH(u,c,d,l,e[r+6],9,-0x3fbf4cc0),l=oH(l,u,c,d,e[r+11],14,0x265e5a51),d=oH(d,l,u,c,e[r],20,-0x16493856),c=oH(c,d,l,u,e[r+5],5,-0x29d0efa3),u=oH(u,c,d,l,e[r+10],9,0x2441453),l=oH(l,u,c,d,e[r+15],14,-0x275e197f),d=oH(d,l,u,c,e[r+4],20,-0x182c0438),c=oH(c,d,l,u,e[r+9],5,0x21e1cde6),u=oH(u,c,d,l,e[r+14],9,-0x3cc8f82a),l=oH(l,u,c,d,e[r+3],14,-0xb2af279),d=oH(d,l,u,c,e[r+8],20,0x455a14ed),c=oH(c,d,l,u,e[r+13],5,-0x561c16fb),u=oH(u,c,d,l,e[r+2],9,-0x3105c08),l=oH(l,u,c,d,e[r+7],14,0x676f02d9),d=oH(d,l,u,c,e[r+12],20,-0x72d5b376),c=oV(c,d,l,u,e[r+5],4,-378558),u=oV(u,c,d,l,e[r+8],11,-0x788e097f),l=oV(l,u,c,d,e[r+11],16,0x6d9d6122),d=oV(d,l,u,c,e[r+14],23,-0x21ac7f4),c=oV(c,d,l,u,e[r+1],4,-0x5b4115bc),u=oV(u,c,d,l,e[r+4],11,0x4bdecfa9),l=oV(l,u,c,d,e[r+7],16,-0x944b4a0),d=oV(d,l,u,c,e[r+10],23,-0x41404390),c=oV(c,d,l,u,e[r+13],4,0x289b7ec6),u=oV(u,c,d,l,e[r],11,-0x155ed806),l=oV(l,u,c,d,e[r+3],16,-0x2b10cf7b),d=oV(d,l,u,c,e[r+6],23,0x4881d05),c=oV(c,d,l,u,e[r+9],4,-0x262b2fc7),u=oV(u,c,d,l,e[r+12],11,-0x1924661b),l=oV(l,u,c,d,e[r+15],16,0x1fa27cf8),d=oV(d,l,u,c,e[r+2],23,-0x3b53a99b),c=oz(c,d,l,u,e[r],6,-0xbd6ddbc),u=oz(u,c,d,l,e[r+7],10,0x432aff97),l=oz(l,u,c,d,e[r+14],15,-0x546bdc59),d=oz(d,l,u,c,e[r+5],21,-0x36c5fc7),c=oz(c,d,l,u,e[r+12],6,0x655b59c3),u=oz(u,c,d,l,e[r+3],10,-0x70f3336e),l=oz(l,u,c,d,e[r+10],15,-1051523),d=oz(d,l,u,c,e[r+1],21,-0x7a7ba22f),c=oz(c,d,l,u,e[r+8],6,0x6fa87e4f),u=oz(u,c,d,l,e[r+15],10,-0x1d31920),l=oz(l,u,c,d,e[r+6],15,-0x5cfebcec),d=oz(d,l,u,c,e[r+13],21,0x4e0811a1),c=oz(c,d,l,u,e[r+4],6,-0x8ac817e),u=oz(u,c,d,l,e[r+11],10,-0x42c50dcb),l=oz(l,u,c,d,e[r+2],15,0x2ad7d2bb),d=oz(d,l,u,c,e[r+9],21,-0x14792c6f),c=oU(c,i),d=oU(d,o),l=oU(l,s),u=oU(u,a);return[c,d,l,u]}function oW(e){var n,r="",i=32*e.length;for(n=0;n<i;n+=8)r+=String.fromCharCode(e[n>>5]>>>n%32&255);return r}function oX(e){var n,r=[];for(n=0,r[(e.length>>2)-1]=void 0;n<r.length;n+=1)r[n]=0;var i=8*e.length;for(n=0;n<i;n+=8)r[n>>5]|=(255&e.charCodeAt(n/8))<<n%32;return r}function o$(e){var n,r,i="0123456789abcdef",o="";for(r=0;r<e.length;r+=1)n=e.charCodeAt(r),o+=i.charAt(n>>>4&15)+i.charAt(15&n);return o}function oJ(e){return unescape(encodeURIComponent(e))}function oK(e){var n;return oW(oG(oX(n=oJ(e)),8*n.length))}function oY(e,n){return function(e,n){var r,i,o=oX(e),s=[],a=[];for(s[15]=a[15]=void 0,o.length>16&&(o=oG(o,8*e.length)),r=0;r<16;r+=1)s[r]=0x36363636^o[r],a[r]=0x5c5c5c5c^o[r];return i=oG(s.concat(oX(n)),512+8*n.length),oW(oG(a.concat(i),640))}(oJ(e),oJ(n))}function oQ(e,n,r){if(!n)return r?oK(e):o$(oK(e));return r?oY(n,e):o$(oY(n,e))}function oZ(e){return(e||"").replace(/#.*$/,"").replace(/\?.*$/,"")}function o0(){if(!("fetch"in oE()))return!1;try{return new Headers,new Request(""),new Response,!0}catch(e){return!1}}function o1(e,n){for(var r=0;r<e.length;++r)if(e[r]===n)return r;return -1}function o2(e,n,r,i){var o,s,a,c;return JSON.stringify(e,(o=n,a=[],c=[],null==(s=i)&&(s=function(e,n){return a[0]===n?"[Circular ~]":"[Circular ~."+c.slice(0,o1(a,n)).join(".")+"]"}),function(e,n){if(a.length>0){var r=o1(a,this);~r?a.splice(r+1):a.push(this),~r?c.splice(r,1/0,e):c.push(e),~o1(a,n)&&(n=s.call(this,e,n))}else a.push(n);return null==o?n instanceof Error?function(e){var n={stack:e.stack,message:e.message,name:e.name};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(n):n:o.call(this,e,n)}),r)}function o3(e,n){if(Array.isArray(e))for(var r=e.length,i=0;i<r;i++)n.call(null,i,e[i]);else for(var o in e)Reflect.has(e,o)&&n.call(null,o,e[o])}function o4(e){var n={};for(var r in e)if(e.hasOwnProperty(r)){var i=e[r];n[r]=o_(i)?i():i}return n}function o5(e){var n;return ow(e)?o6(e,40):oS(e)||(n=e,"[object Boolean]"===Object.prototype.toString.call(n))||ob(e)?e+"":oT(e)?"[Object]":oR(e)?"[Array]":o_(e)?e.name?"[Function: "+e.name+"]":"[Function]":e}function o6(e,n){return 0===n||e.length<=n?e:e.substr(0,n)+"…"}function o8(e){var n={protocol:"",host:"",path:"",relative:""};if("string"!=typeof e)return n;var r=e.match(/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);if(r&&r.length){var i=r[6]||"",o=r[8]||"";return{protocol:r[2]||"",host:r[4]||"",path:r[5]||"",relative:(r[5]||"")+i+o}}return n}function o9(e){var n=e.exception,r=[];return r.push("token="+n.token),r.push("type="+n.type),r.push("mechanism="+n.mechanism),r.push("value="+n.value),r.push("url="+n.url),n.stacktrace&&n.stacktrace.forEach(function(e){r.push("filename="+e.filename),r.push("lineno="+e.lineno),r.push("colno="+e.colno)}),r.join("***")}function o7(e){return e&&Array.isArray(e)&&e.length>0}function se(e){for(var n=[],r=e.length,i=0;i<r;i++){var o=e[i];ow(o)?n.push(o.replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1")):o&&o.source&&n.push(o.source)}return RegExp(n.join("|"),"i")}function st(e,n){return!!ow(n)&&e.some(function(e){var r;if(!e)return!1;if(ow(e))return -1!==n.indexOf(e);if(r=e,"[object RegExp]"===Object.prototype.toString.call(r))try{return e.test(n)}catch(n){return console.error(e+"正则书写有误"),!1}return console.error(e+"忽略匹配项类型应该是String、RegExp"),!1})}function sn(e){return(ow(e)?e:JSON.stringify(e)).slice(0,256)}function sr(e,n,r){var i,o,s=[];if(e.stack&&e.stack.length){try{for(var a=om(e.stack),c=a.next();!c.done;c=a.next()){var d=c.value,l=function(e,n,r){var i={filename:e.url||n,lineno:e.line,colno:e.column,function:e.func||"?"};if(r&&r.length>0){var o=se(r).test(i.filename),s=/(Weirwood|Tracekit)/.test(i.function),a=/weirwood\-sdk/.test(i.filename);i.in_app=o,(s||a)&&(i.in_app=!1)}else i.in_app=!1;return i}(d,e.url||"",n.includePaths);s.push(l)}}catch(e){i={error:e}}finally{try{c&&!c.done&&(o=a.return)&&o.call(a)}finally{if(i)throw i.error}}if(n&&n.trimHeadFrames)for(var u=0;u<n.trimHeadFrames&&u<s.length;u++)s[u].in_app=!1}return s=(s=s.filter(function(e){var n,r,i;return r=-1!==(n=e.filename||"").indexOf("weirwood-sdk"),i=/captureException$/.test(n),!r&&!i})).slice(0,r)}function si(e,n,r,i){if(null!=e){var o=e[n];return e[n]=r(o),e[n].__raven__=!0,e[n].__orig__=o,o.__raven_wrapper__=e[n],i&&i.push([e,n,o]),e[n]}}function so(e,n,r){if(void 0===e&&(e={}),ob(n)&&!o_(e))return e;if(o_(e)&&(n=e,e=void 0),!o_(n))return n;try{if(n.__raven__)return n;if(n.__raven_wrapper__)return n.__raven_wrapper__}catch(e){return n}function i(){for(var i=[],o=0;o<arguments.length;o++)i[o]=arguments[o];var s=[],a=i.length,c=!e||e&&!1!==e.deep;for(r&&o_(r)&&r.apply(this,i);a--;)s[a]=c?so(e,i[a]):i[a];try{return n.apply(this,s)}catch(e){throw e}}for(var o in n)n.hasOwnProperty(o)&&(i[o]=n[o]);return i.prototype=n.prototype,n.__raven_wrapper__=i,i.__raven__=!0,i.__orig__=n,i}function ss(e){return function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];var i=n[0];return(o_(i)&&(n[0]=so({mechanism:{type:"instrument",data:{function:(null==e?void 0:e.name)||"<anonymous>"}}},i)),e.apply)?e.apply(this,n):e(n[0],n[1])}}function sa(e,n){return function(r){if(c$=void 0,cJ!==r){cJ=r;try{i=function(e){for(var n,r=[],i=3,o=0,s=0;e&&o++<5;){var a="html"===(n=function(e){if(!e||!e.tagName)return"";var n,r,i,o,s=[e.tagName.toLowerCase()];e.id&&s.push("#"+e.id);var a=e.className?e.className.split(/\s+/):[];try{for(var c=om(a),d=c.next();!d.done;d=c.next()){var l=d.value;s.push("."+l)}}catch(e){n={error:e}}finally{try{d&&!d.done&&(r=c.return)&&r.call(c)}finally{if(n)throw n.error}}try{for(var u=om(["type","name","title","alt"]),f=u.next();!f.done;f=u.next()){var p=f.value,h=e.getAttribute(p);h&&s.push("["+p+"="+h+"]")}}catch(e){i={error:e}}finally{try{f&&!f.done&&(o=u.return)&&o.call(u)}finally{if(i)throw i.error}}return s.join("")}(e)),c=o>1&&s+r.length*i+n.length>=80;if(a||c)break;r.push(n),s+=n.length,e=e.parentNode}return r.reverse().join(" > ")}(r.target)}catch(e){i="<unknown>"}if(i){var i,o={category:"ui."+n,message:i,name:n};"input"===n&&"password"!==i.type&&(o.data=r.target.value||""),e.captureBehavior(o)}}}}function sc(e){return function(n){try{r=n.target}catch(e){return}var r,i=r&&r.tagName;i&&("INPUT"===i||"TEXTAREA"===i||r.isContentEditable)&&(c$||sa(e,"input")(n),clearTimeout(c$),c$=setTimeout(function(){c$=void 0},1e3))}}__webpack_require__("../../node_modules/@baidu/weirwood-error/esm/plugins/Plugin.js");var sd=oE(),sl=[301,302,304],su=function(){function e(n){this.name=e.id,this.options=oh({beacon:!0,console:!0,dom:!0,fetch:!0,history:!0,weirwood:!0,xhr:!0},n)}return e.prototype.setupOnce=function(e){this.client=e;var n,r,i=Object.keys(this.options);try{for(var o=om(i),s=o.next();!s.done;s=o.next()){var a=s.value,c="instrument"+a[0].toUpperCase()+a.slice(1);this.options[a]&&this[c]&&"function"==typeof this[c]&&this[c].call(this)}}catch(e){n={error:e}}finally{try{s&&!s.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}},e.prototype.instrumentDom=function(){if("document"in oE()){var e=sd.document;e.addEventListener("click",sa.call(this,this.client,"click"),!1),e.addEventListener("keypress",sc.call(this,this.client),!1)}},e.prototype.instrumentXhr=function(){var e=this.client,n=e.options,r=n.collectAutoAPIException,i=n.isApiException;if("XMLHttpRequest"in sd){var o=XMLHttpRequest.prototype,s=e._globalKey||"";si(o,"open",function(e){return function(n,r){return ow(r)&&-1===r.indexOf(s)&&(this.__raven_xhr={method:n,url:r,status_code:null}),e.apply(this,arguments)}},e._wrappedBuiltIns),si(o,"abort",function(e){return function(){return this.__raven_xhr&&(this.__raven_xhr.abortedFlag=!0),e.apply(this,arguments)}},e._wrappedBuiltIns),si(o,"send",function(n){return function(){var o=this,s=arguments;function a(){if(o.__raven_xhr&&4===o.readyState){try{o.__raven_xhr.status_code=o.status}catch(e){}var n=function(e,n){if(void 0===e&&(e=""),void 0===n&&(n=""),(""===e||"text"===e)&&ow(n)&&n.length)try{return JSON.parse(n)}catch(e){return n}return"json"===e?JSON.parse(JSON.stringify(n)):""}(o.responseType,o.response);if((e.captureBehavior({type:"http",category:"xhr",data:oh(oh({},o.__raven_xhr),{response:sn(n),params:sn(s&&s[0]?s[0]:"")})}),r)&&(!o.__raven_xhr||!o.__raven_xhr.abortedFlag)){var a=!1,c=o.status>=200&&o.status<=299,d=-1!==sl.indexOf(o.status);if(c||d||(a=!0),c&&i&&o_(i)&&(a=!!i({method:o.__raven_xhr.method,url:o.responseURL,status:o.status,responseType:o.responseType,response:n})),a){var l="";o_(o.getAllResponseHeaders)&&(l=o.getAllResponseHeaders().trim().replace(/[\r\n]+/g,"***")),e.captureAPIException({url:o.responseURL||o.__raven_xhr.url,method:o.__raven_xhr.method,params:s&&s[0]?s[0]:"",status:o.status,response:(ow(n)?n:JSON.stringify(n)).slice(0,8192),responseHeaders:l,user:"",extra:"AUTO_XHR"})}}}}for(var c=["onload","onerror","onprogress"],d=0;d<c.length;d++)!function(e,n){e in n&&o_(n[e])&&si(n,e,function(n){return so({mechanism:{data:{function:e,handler:n&&n.name||"<anonymous>"},handled:!0,type:"instrument"}},n)})}(c[d],o);return"onreadystatechange"in o&&o_(o.onreadystatechange)?si(o,"onreadystatechange",function(e){return so({mechanism:{type:"instrument",data:{function:"onreadystatechange",handler:e&&e.name||"<anonymous>"}}},e,a)}):o.onreadystatechange=a,n.apply(this,arguments)}},e._wrappedBuiltIns)}},e.prototype.instrumentFetch=function(){if(o0()){var e=oE(),n=this.client,r=n.options,i=r.collectAutoAPIException,o=r.isApiException,s=n._globalKey;si(sd,"fetch",function(r){return function(){for(var a,c=Array(arguments.length),d=0;d<c.length;++d)c[d]=arguments[d];var l=c[0],u="GET";if("string"==typeof l?a=l:"Request"in e&&l instanceof e.Request?(a=l.url,(null==l?void 0:l.method)&&(u=l.method)):a=""+l,-1!==a.indexOf(s))return r.apply(this,c);c[1]&&c[1].method&&(u=c[1].method);var f={method:u,url:a,status_code:null};return r.apply(this,c).then(function(e){f.status_code=e.status;var r,s,a="";c[1]&&c[1].body&&(a=c[1].body);var d=o_(e.clone)?e.clone():null,l={type:"http",category:"fetch",data:oh(oh({},f),{params:sn(a),response:""})};if(d?d.text().then(function(e){var r;try{r=JSON.parse(e)}catch(n){r=e}l.data.response=sn(r),n.captureBehavior(l)}):n.captureBehavior(l),!i)return e;var u=!1,p=o_(e.clone)?e.clone():null,h=sl.includes(e.status);e.ok||h||(u=!0);var m={method:f.method,url:f.url,status:e.status,response:""},v=[];try{for(var g=om(e.headers.entries()),y=g.next();!y.done;y=g.next()){var b=y.value;v.push(b[0]+": "+b[1])}}catch(e){r={error:e}}finally{try{y&&!y.done&&(s=g.return)&&s.call(g)}finally{if(r)throw r.error}}var _=oh(oh({},m),{params:a,responseHeaders:v.join("***"),user:"",extra:"AUTO_FETCH"});return p?p.text().then(function(r){var i;try{i=JSON.parse(r)}catch(e){i=r}e.ok&&o_(o)&&(u=!!o(oh(oh({},m),{response:i}))),u&&n.captureAPIException(oh(oh({},_),{response:r.slice(0,8192)}))}).catch(function(e){console.error(e)}):(e.ok&&o_(o)&&(u=!!o(m)),u&&n.captureAPIException(_)),e}).catch(function(e){throw n.captureBehavior({type:"http",category:"fetch",data:f,level:"error"}),e})}},n._wrappedBuiltIns)}},e.prototype.instrumentHistory=function(){var e,n,r,i,o=this.client;if(r=(n=(e=oE()).chrome)&&n.app&&n.app.runtime,i="history"in e&&!!e.history.pushState&&!!e.history.replaceState,!r&&i){var s=function(e,n){var r=o8(sd.location.href),i=o8(n),s=o8(e);s.path||(s=r),cK=n,r.protocol===i.protocol&&r.host===i.host&&(n=i.relative),r.protocol===s.protocol&&r.host===s.host&&(e=s.relative),o.captureBehavior({category:"navigation",data:{from:e,to:n}})},a=sd.onpopstate;sd.onpopstate=function(e){var n=sd.location.href;if(s(cK,n),a)return a.apply(sd,e)},si(sd.history,"pushState",c),si(sd.history,"replaceState",c)}function c(e){return function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];var i=n.length>2?n[2]:void 0;return i&&s(cK,String(i)),e.apply(this,n)}}},e.prototype.instrumentConsole=function(){},e.prototype.instrumentBeacon=function(){},e.id="behaviors",e}(),sf=oE(),sp=function(){function e(n){this.name=e.id,this.options=oh({active:!0},n)}return e.prototype.setupOnce=function(e){this.client=e,this.options.active&&si(sf,"setTimeout",ss,this.client._wrappedBuiltIns)},e.id="trycatch",e}(),sh=oE(),sm=function(){function e(){this.name=e.id}return e.prototype.setupOnce=function(e){this.client=e,this.client.captureUserAgent(this.getUserAgent())},e.prototype.getUserAgent=function(){return"navigator"in sh&&"document"in sh?{url:sh.location.href,headers:{"User-Agent":sh.navigator.userAgent,Referrer:sh.document.referrer}}:{}},e.id="UserAgent",e}(),sv={collectWindowErrors:!0,collectUnhandledRejections:!0,collectResourceLoadErrors:!1,collectAutoAPIException:!0,sampleRate:1,maxUrlLength:250,maxMessageLength:0,allowDuplicates:!1,stackTraceLimit:50,behaviorLimit:10,plugins:[],ignoreErrors:[],ignoreKeys:[],whitelistUrls:[],apiWhitelistUrls:[],resourceWhitelistUrls:[],ignoreUrls:[],ignoreJsUrls:[],ignoreApiUrls:[],ignoreApiStatus:[],ignoreResourceUrls:[],maxMessagePerMinute:10,endpoint:"https://fclog.baidu.com/log/weirwood?type=error"},sg="https://dmpstatic.cdn.bcebos.com/weirwood",sy=function(){function e(e){this.options=sv,this._globalContext={env:{},user:{},session_id:""},this._globalKey="fclog.baidu.com/log",this._currentExceptionContext={},this._currentExceptionStartTime=Date.now(),this._behaviors=[],this._lastData=null,this._lastAPIData=null,this._messagesSendLastMinute=0,this._messagesSendEmptyStartTime=Date.now(),this._installed=!1,this._globalErrorHandler=null,this._fetchDefaults={method:"POST",credentials:"include",referrerPolicy:!function(){if(!o0())return!1;try{return new Request("pickleRick",{referrerPolicy:"origin"}),!0}catch(e){return!1}}()?"":"origin"},this._wrappedBuiltIns=[],this._requestInfo=null,e&&this.config(e)}return e.prototype.init=function(e){return this.config(e)},e.prototype.config=function(e){this.options=oh(oh({},this.options),e),this.options.sendWindow=this.options.sendWindow||oE(),this._globalContext.session_id=this.options.uuid4();var n=this.options,r=n.token,i=n.buildid;if(!r||!i)throw Error("error: token and buildid must be provided");return this.setFilters(),this.install(),this},e.prototype.install=function(){var e,n=this;return this._installed?(console.error("error: Weirwood Error SDK has been installed and configured"),!1):(this.options.collectWindowErrors&&oB(),this.options.maxMessagePerMinute>=60&&(this.options.maxMessagePerMinute=60),this.options.collectUnhandledRejections&&oN(),this._globalErrorHandler=this._getErrorHandler().bind(this),oA(this._globalErrorHandler),this.options.collectResourceLoadErrors&&(e=function(e){if(window.performance&&window.performance.getEntriesByName){var r,i=window.performance.getEntriesByName(e.asset);i.length>0&&(r=i[0],["name","serverTiming"].forEach(function(e){delete r[e]}))}var o={mechanism:e.type,name:"ResourceError",message:e.asset,stack:[],mode:"onerror",timing:r,page:e.page,element:e.element,elementPath:e.path.slice(0,255)};n._handleStackInfo(o,{trimHeadFrames:0,mechanism:o.mechanism||"generic",includePaths:n.options.includePaths})},window.addEventListener("error",function(n){if(n&&n.target&&n.target!==window){var r,i=n.target,o=null!=(r=null==i?void 0:i.tagName)?r:"unknown tagname";if(-1!==["SCRIPT","LINK","IMG"].indexOf(o)){var s=i.src||i.href,a=window.location.href,c=function(e){for(var n=e.path||[],r="",i=0;i<n.length;i++){var o=n[i];if(o===window){r+="Window";continue}r+=o.nodeName,r+=o.id?"#"+o.id:"",r+=o.className?"."+o.className.split(" ").join("."):"",i<n.length&&(r+=" > ")}return r}(n),d={type:o,asset:oZ(s)===oZ(a)?"空资源":s,integrity:i.integrity,element:i&&i.outerHTML&&i.outerHTML.replace(/"/g,""),path:c.replace(/"/g,""),page:window.location.href.slice(0,255)};e&&e(d)}}},!0)),this._installed=!0,this.installPlugins(),this)},e.prototype.installPlugins=function(){var e,n;this.options.plugins=ov([new su(this.options.behaviorOptions),new sp(this.options.tryCatchOptions),new sm],this.options.plugins||[]);try{for(var r=om(this.options.plugins),i=r.next();!i.done;i=r.next())i.value.setupOnce(this)}catch(n){e={error:n}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(e)throw e.error}}},e.prototype.setFilters=function(){var e=this.options;e.ignoreErrors&&(e.ignoreErrors=ov([/^Script error\.?$/,/^Javascript error: Script error\.? on line 0$/,'{"isTrusted":true}','{"isTrusted":false}',"Network Error","ResizeObserver loop"],e.ignoreErrors||[])),e.ignoreJsUrls=ov(["chrome-extension","safari-extension","moz-extension",sg],e.ignoreJsUrls||[])},e.prototype._getErrorHandler=function(){var e=this;return function(n,r,i,o,s,a){if(i&&(i.stack||i.stacktrace)&&(n.originalStack=((i.stack||i.stacktrace)+"").slice(0,1e4)),n.stack&&!n.stack.length&&o&&(n.stack[0]={url:o,line:s,column:a}),!n.name&&!n.message&&"onunhandledrejection"===n.mechanism){var c=oE();n.name="unhandledrejection",n.url=n.url||c.location.href,n.message=i}e._handleStackInfo(n,{trimHeadFrames:0,mechanism:n.mechanism||"generic",includePaths:e.options.includePaths})}},e.prototype._handleStackInfo=function(e,n){var r=sr(e,n,this.options.stackTraceLimit);this._processException(e,r,n)},e.prototype._processException=function(e,n,r){var i=this.options,o=i.ignoreErrors,s=void 0===o?[]:o,a=i.ignoreKeys,c=void 0===a?[]:a,d=i.whitelistUrls,l=void 0===d?[]:d,u=i.resourceWhitelistUrls,f=void 0===u?[]:u,p=i.ignoreUrls,h=void 0===p?[]:p,m=i.ignoreJsUrls,v=void 0===m?[]:m,g=i.ignoreResourceUrls,y=void 0===g?[]:g,b=e.name,_=e.message,w=e.url,S=void 0===w?"":w,R=e.page,T=void 0===R?window.location.href:R,C=e.lineno,x=e.originalStack;if(!(s.length&&st(s,_)||h.length&&st(h,T))){var E=(M=n,P=S,M&&M.length&&M[0].filename||P);if("ResourceError"===b){if(y.length&&st(y,_)||f.length&&!st(f,_))return}else if(c.length&&st(c,b)||v.length&&st(v,E)||l.length&&!st(l,E))return;if(n&&n.length>0){var O=n[0].filename||"",k=-1!==O.indexOf("@baidu/weirwood-error"),I=-1!==O.indexOf(sg);if(k||I)return}if(-1===E.indexOf(sg)){var M,P,j,A,D,B=(j=n,A=S,D=void 0===C?0:C,j&&j.length?j.reverse():A?[{filename:A,lineno:D||0,in_app:!0}]:[]),N=oh(oh({},r),{exception:{type:b,value:_,originalStack:void 0===x?"":x,stacktrace:B,url:"ResourceError"===b?_:E,page:e.page,element:e.element,timing:e.timing,elementPath:e.elementPath}}),L=N.exception;null==L.type&&""===L.value&&(L.value="Unrecoverable error caught"),!N.exception.mechanism&&N.mechanism&&(N.exception.mechanism=N.mechanism,delete N.mechanism),this._send(N)}}},e.prototype.mergeGlobalContext=function(e){var n,r,i,o=oE();e.env=oh(oh(oh({},this._globalContext.env),e.env),{network:null==(i=o.navigator.connection)?void 0:i.effectiveType,windowHeight:(o.document.documentElement||o.document.body).clientHeight,windowWidth:(o.document.documentElement||o.document.body).clientWidth,documentTitle:o.document.title});try{for(var s=om(Object.keys(this._currentExceptionContext)),a=s.next();!a.done;a=s.next()){var c=a.value;e.env[c]=this._currentExceptionContext[c]}}catch(e){n={error:e}}finally{try{a&&!a.done&&(r=s.return)&&r.call(s)}finally{if(n)throw n.error}}e.env["session:duration"]=Date.now()-this._currentExceptionStartTime,this._globalContext.user&&(e.user=this._globalContext.user),this._globalContext.session_id&&(e.session_id=this._globalContext.session_id)},e.prototype._send=function(e){var n={request:this._requestInfo};if(ob(e.trimHeadFrames)||delete e.trimHeadFrames,e=oh(oh({},n),e),this.mergeGlobalContext(e),this._behaviors&&this._behaviors.length>0){var r=[].slice.call(this._behaviors,0);this.options.behaviorDataCallback&&(r=this.options.behaviorDataCallback(r)),e.behaviors=r}var i=this.options;if(i.token&&(e.token=i.token),i.buildid&&(e.buildid=i.buildid),Object.keys(e=this._sanitizeData(e)).forEach(function(n){(null==e[n]||""===e[n]||oC(e[n]))&&delete e[n]}),o_(i.dataCallback)&&(e=i.dataCallback(e)),!(!e||oC(e))){var o=Date.now()-this._messagesSendEmptyStartTime,s=this._messagesSendLastMinute>this.options.maxMessagePerMinute;if(o<6e4){if(s)return}else this._messagesSendEmptyStartTime=Date.now(),this._messagesSendLastMinute=1;"number"==typeof i.sampleRate?Math.random()<i.sampleRate&&(this._sendProcessedPayload(e),this._messagesSendLastMinute+=1):(this._sendProcessedPayload(e),this._messagesSendLastMinute+=1)}},e.prototype.isSetup=function(){return this._installed},e.prototype._trimPacket=function(e){var n,r,i=this.options.maxUrlLength||0,o=this.options.maxMessageLength||0;if(e.exception&&(e.exception.value=o6(e.exception.value,o)),e.request){var s=oE();e.request.url=o6(s.location.href,i);var a=e.request.headers.Referrer;e.request.headers.Referrer=o6(a,i)}if(e.behaviors&&e.behaviors.length){var c=["url","to","from"];try{for(var d=om(e.behaviors),l=d.next();!l.done;l=d.next()){var u=l.value;!function(e){var n=e.data||{},r=function(e){n.hasOwnProperty(e)&&c.forEach(function(r){e===r&&(n[e]=o6(n[e],i))})};for(var o in n)r(o)}(u)}}catch(e){n={error:e}}finally{try{l&&!l.done&&(r=d.return)&&r.call(d)}finally{if(n)throw n.error}}}return e},e.prototype._sendProcessedPayload=function(e,n){var r,i=this,o=this.options;if(e=this._trimPacket(e),!this.options.allowDuplicates&&this._isRepeatData(e))return void console.warn("Weirwood error SDK dropped repeat event:",e);var s=o.issueGroupby;s&&o_(s)&&(r=s(e.exception)),r&&ow(r)?(e.fingerprint=r.substr(0,255),e.event_id=oQ(e.fingerprint)):e.event_id=oQ(o9(e)),e.data_id=oQ(function(e){var n=o9(e),r=[],i=e.request,o=e.env,s=e.behaviors;if(!i)return JSON.stringify(e);var a=i.headers,c=i.url;return r.push("Referrer="+a.Referrer),r.push("ua="+a["User-Agent"]),r.push("url="+c),o3(o,function(e,n){"session:duration"!==e&&r.push(e+"="+n)}),o3(s,function(e){r.push("behavior.category="+e.category),r.push("behavior.name="+e.name),r.push("behavior.message="+e.message)}),n+r.join("***")}(e)),e.version=this.options.version||"",e.sdkTimestamp=Date.now(),this._lastData=e;var a={weirwood_version:this.options.version||""};(o.transport||this._makeRequest).call(this,{url:this.options.endpoint,auth:a,data:e,options:o,onSuccess:function(){i._resetBackoff(),n&&n()},onError:function(e){e.request&&i._setBackoffState(e.request),e=e||Error("Raven send failed (no additional details provided)"),n&&n(e)}})},e.prototype._makeRequest=function(e){var n,r,i=this,o=e.url,s=null,a={};e.options.headers&&(s=o4(e.options.headers)),e.options.fetchParameters&&(a=o4(e.options.fetchParameters));var c=this.options.sendWindow;if(o0()){a.body=o2(e.data);var d=oh(oh({},this._fetchDefaults),a);if(s){var l=new Headers;try{for(var u=om(Object.keys(s)),f=u.next();!f.done;f=u.next()){var p=f.value;l.append(p,s[p])}}catch(e){n={error:e}}finally{try{f&&!f.done&&(r=u.return)&&r.call(u)}finally{if(n)throw n.error}}l.append("Content-Type","text/plain"),d.headers=l}return c.fetch(o,d).then(function(n){if(n.ok)e.onSuccess&&e.onSuccess(),i._resetBackoff();else{var r=Error("Weirwood error SDK error code: "+n.status);r.request=n,e.onError&&e.onError(r)}}).catch(function(){e.onError&&e.onError(Error("Weirwood error SDK error code: network unavailable")),i._resetBackoff()})}var h=c.XMLHttpRequest&&new c.XMLHttpRequest;!h||("withCredentials"in h||"undefined"!=typeof XDomainRequest)&&("withCredentials"in h?h.onreadystatechange=function(){if(4!==h.readyState)return void i._resetBackoff();if(200===h.status)e.onSuccess&&e.onSuccess();else if(e.onError){i._resetBackoff();var n=Error("Weirwood error SDK error code: "+h.status);n.request=h,e.onError(n)}}:(h=new XDomainRequest,o=o.replace(/^https?:/,""),e.onSuccess&&(h.onload=e.onSuccess),e.onError&&(h.onerror=function(){var n=Error("Weirwood error SDK error code: XDomainRequest");n.request=h,e.onError(n)})),h.open("POST",o),s&&o3(s,function(e,n){h.setRequestHeader(e,n)}),h.send(o2(e.data)))},e.prototype._sanitizeData=function(e){var n=this.options.sanitizeKeys||[];if(n.length){var r=e,i=n;if(!Array.isArray(i)||Array.isArray(i)&&0===i.length)return r;var o,s=se(i);try{o=JSON.parse(o2(r))}catch(e){return r}return function e(n){return Array.isArray(n)?n.map(function(n){return e(n)}):oT(n)?Object.keys(n).reduce(function(r,i){return s.test(i)?r[i]="********":r[i]=e(n[i]),r},{}):n}(o)}return e},e.prototype.captureUserAgent=function(e){this._requestInfo=e},e.prototype.captureException=function(e,n){if(n||(n={trimHeadFrames:0,includePaths:[],mechanism:"generic",message:""}),og(e));else if(oy(e))e=e.error;else if(oT(e))e=Error((n=this._getCaptureExceptionOptionsFromPlainObject(n,e)).message);else{if(r=e,"[object DOMException]"!==Object.prototype.toString.call(r))return this.captureMessage(e,oh(oh({},n),{stacktrace:!0,trimHeadFrames:n.trimHeadFrames+1}));var r,i=e.name||"DOMException",o=e.message?i+": "+e.message:i;return this.captureMessage(o,n)}try{n=oh({trimHeadFrames:0,mechanism:"generic",includePaths:this.options.includePaths||[]},n);var s=oL(e);this._handleStackInfo(s,n)}catch(n){if(e!==n)throw n}return this},e.prototype._isRepeatData=function(e){var n,r,i=this._lastData,o=e.exception,s=i?i.exception:{};return n=o,r=s,n.mechanism===r.mechanism&&n.type===r.type&&n.value===r.value&&n.url===r.url&&(0===n.stacktrace.length&&0===r.stacktrace.length||function(e,n){if(o7(e)&&o7(n)){var r,i,o=e.length;if(o!==n.length)return!1;for(var s=0;s<o;s++){if(r=e[s],i=n[s],r.filename!==i.filename||r.lineno!==i.lineno||r.colno!==i.colno||r.function!==i.function)return!1}return!0}return!1}(n.stacktrace,r.stacktrace))},e.prototype._resetBackoff=function(){this._currentExceptionStartTime=Date.now(),this._currentExceptionContext={}},e.prototype._setBackoffState=function(e){console.log(e)},e.prototype.captureMessage=function(e,n){void 0===n&&(n={});var r,i,o=this.options,s=o.ignoreErrors||[],a=o.ignoreKeys||[],c=o.whitelistUrls||[],d=o.ignoreUrls||[],l=o.ignoreJsUrls||[];if(!(s.length&&st(s,e))){try{throw Error(e)}catch(e){i=e}var u=oL(i),f=Array.isArray(u.stack)&&u.stack[1];(null==(r=null==f?void 0:f.func)?void 0:r.indexOf("captureException"))!==-1&&(f=u.stack[2]);var p=f&&f.url||"";if(!(d.length&&st(d,window.location.href)||a.length&&st(a,i.name)||l.length&&st(l,p))&&(!c.length||st(c,p))){n=oh(oh({},n),{trimHeadFrames:0,includePaths:o.includePaths}),n.trimHeadFrames+=1;var h=sr(u,n),m={exception:{mechanism:"manual",type:i.name,value:i.message,stacktrace:h.slice(1).reverse(),url:p}};return this._send(m),this}}},e.prototype.captureAPIException=function(e){var n,r,i=this,o=oE(),s=this.options,a=s.ignoreUrls,c=void 0===a?[]:a,d=s.ignoreApiUrls,l=void 0===d?[]:d,u=s.ignoreApiStatus,f=void 0===u?[]:u,p=s.buildid,h=s.token,m=s.version,v=s.apiWhitelistUrls;if(!(e.url&&e.method&&!ob(e.status)))return void console.error("API异常参数至少需要包含 method、url、status 参数。");if(!(c.length&&st(c,o.location.href)||l.length&&st(l,e.url))&&(!v.length||st(v,e.url))&&(!f.length||-1===f.indexOf(Number(e.status)))){var g=oh(oh({},e),{type:"APIError"}),y={request:{headers:{"User-Agent":o.navigator.userAgent},url:o.location.href},exception:g,buildid:p,token:h,version:m||""},b=this.options;if(o_(b.dataCallback)&&(y=b.dataCallback(y)),!(!y||oC(y))){this.mergeGlobalContext(y);var _=this.options.issueGroupby;if((_&&o_(_)&&(r=_(y.exception)),r&&ow(r))?(y.fingerprint=r.substr(0,255),y.event_id=oQ(y.fingerprint)):y.event_id=oQ((n=e).method+"***"+function(e){if(!ow(e))return"";var n=e.split("?");return n[1]?(n[1]=n[1].replace(/\d+/g,"*").replace(/[\u4e00-\u9fa5]+/gi,"*"),n.join("?")):e}(n.url)),y.data_id=oQ(o2(y)),this._lastAPIData!==y.data_id){this._lastAPIData=y.data_id;var w=function(){var e;((null==(e=i.options.globalOptions)?void 0:e.transport)||i._makeRequest).call(i,{url:i.options.endpoint,data:y,options:{},onSuccess:function(){},onError:function(){}})};"number"==typeof b.sampleRate?Math.random()<b.sampleRate&&w():w()}}}},e.prototype.captureEvent=function(){},e.prototype.afterLoad=function(){var e=oE().RavenConfig;e&&this.init(e)},e.prototype._getCaptureExceptionOptionsFromPlainObject=function(e,n){var r=Object.keys(n).sort(),i=oh(oh({},e),{message:"Non-Error exception captured with keys: "+function(e,n){if(void 0===n&&(n=40),oS(e)||ow(e))return e.toString();if(!oR(e))return"";if(0===(e=e.filter(function(e){return ow(e)})).length)return"[object has no keys]";if(n=oS(n)?n:40,e[0].length>=n)return e[0];for(var r=e.length;r>0;r--){var i=e.slice(0,r).join(", ");if(!(i.length>n)){if(r===e.length)return i;return i+"…"}}return""}(r),fingerprint:[oQ(r.join(""))],env:e&&e.env||{}});return i.env.__serialized__=function e(n,r,i){if(void 0===r&&(r=3),void 0===i&&(i=51200),!oT(n))return n+"";var o,s,a=function e(n,r){return 0===r?o5(n):oT(n)?Object.keys(n).reduce(function(i,o){return i[o]=e(n[o],r-1),i},{}):Array.isArray(n)?n.map(function(n){return e(n,r-1)}):o5(n)}(n,r);return~-encodeURI(s=JSON.stringify(o=o2(a))).split(/%..|./).length>i?e(n,r-1):a}(n),i},e.prototype.captureBehavior=function(e){var n=oh(oh({},e),{timestamp:Date.now()/1e3});if(o_(this.options.breadcrumbCallback)){var r,i=this.options.breadcrumbCallback(n);if("object"!=typeof(r=i)||null===r||oC(i)){if(!1===i)return this}else n=i}return this._behaviors.push(n),this._behaviors.length>(this.options.behaviorLimit||10)&&this._behaviors.shift(),this},e.prototype.setContext=function(e,n){for(var r in void 0===n&&(n={persist:!0}),e)Reflect.has(e,r)&&(n.persist?this._globalContext.env[r]=e[r]:this._currentExceptionContext[r]=e[r])},e.prototype.clearContext=function(){this._globalContext.env={},this._currentExceptionContext={}},e.prototype._restoreBuiltIns=function(){for(var e;this._wrappedBuiltIns.length;){var n=(e=this._wrappedBuiltIns.shift())[0],r=e[1],i=e[2];n[r]=i}},e.prototype.noConflict=function(){},e.prototype.uninstall=function(){this.dispose()},e.prototype.dispose=function(){oD(this._globalErrorHandler),this._restoreBuiltIns(),this._globalErrorHandler=null,this._installed=!1},e}(),sb={};function s_(){var e=window.crypto||window.msCrypto;if(void 0===e||!e.getRandomValues)return"xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx".replace(/[xy]/g,function(e){var n=16*Math.random()|0;return("x"===e?n:3&n|8).toString(16)});var n=new Uint16Array(8);e.getRandomValues(n),n[3]=4095&n[3]|16384,n[4]=16383&n[4]|32768;var r=function(e){for(var n=e.toString(16);n.length<4;)n="0"+n;return n};return r(n[0])+r(n[1])+r(n[2])+r(n[3])+r(n[4])+r(n[5])+r(n[6])+r(n[7])}var sw=function(){function e(e){this.version="1.3.15",this.lastRouteTime=0,e&&this.init(e)}return e.prototype.init=function(e){var n,r,i,o,s=this.getSendWindow();if(!e.perf||e.perf&&!e.perf.disable){var a=of(of(of({},e.perf),e.common),{version:this.version,sendWindow:s});this.perf=new op.PerfClient(a)}if(!e.error||e.error&&!e.error.disable){var c=of(of(of({},e.error),e.common),{version:this.version,sendWindow:s,uuid4:s_});this.error=new sy(c)}this.routeChange(window.document.URL),n=this.routeChange.bind(this),"function"==typeof(r=window.history).pushState&&(i=r.pushState,r.pushState=function(e,r,o){return n(o),i.apply(this,arguments)}),"function"==typeof r.replaceState&&(o=r.replaceState,r.replaceState=function(e,r,i){return i!==window.document.URL&&n(i),o.apply(this,arguments)}),window.addEventListener("hashchange",function(e){n((e||{}).newURL)}),window.addEventListener("popstate",function(e){n(window.document.URL)})},e.prototype.routeChange=function(e){var n=new Date().getTime();if(n-this.lastRouteTime>100){this.lastRouteTime=n;var r=s_()+"-"+n;this.error&&this.error.setContext({pageId:r})}},e.prototype.getSendWindow=function(){var e="undefined"!=typeof window?window:void 0!==__webpack_require__.g?__webpack_require__.g:"undefined"!=typeof self?self:sb;if(["fetch","ajax","sendBeacon"].some(function(e){var n;return!((n=window[e])&&n.toString&&!n.hasOwnProperty("toString")&&/\[native code\]/.test(String(n)))})&&document.body){var n=document.createElement("iframe");n.style.setProperty("display","none","important"),document.body.appendChild(n),e=n?n.contentWindow:e}return e},e.prototype.afterLoad=function(){},e}(),sS=((cD={}).NO_API_SUPPORT="NO_API_SUPPORT",cD.INSECURE_CONTEXT="INSECURE_CONTEXT",cD.NO_DEVICE_FOUND="NO_DEVICE_FOUND",cD.PERMISSION_DENIED="PERMISSION_DENIED",cD.PERMISSION_DISMISSED="PERMISSION_DISMISSED",cD.DEVICE_IN_USE="DEVICE_IN_USE",cD.TIMEOUT="TIMEOUT",cD.UNKNOWN_ERROR="UNKNOWN_ERROR",cD);class sR{constructor(e={}){var n,r;this.mediaStream=null,this.options={timeout:null!=(n=e.timeout)?n:3e4,autoCleanup:null==(r=e.autoCleanup)||r}}cleanup(){this.mediaStream&&(this.mediaStream.getTracks().forEach(e=>{e.stop()}),this.mediaStream=null)}async checkAudioDevice(){try{return await this.withTimeout(this.performCheck(),this.options.timeout)}catch(e){if(e instanceof Error&&"TIMEOUT"===e.message)return this.createErrorResult("TIMEOUT","设备检测超时");return this.createErrorResult("UNKNOWN_ERROR",e instanceof Error?e.message:"未知错误")}finally{this.options.autoCleanup&&this.cleanup()}}async performCheck(){let e=this.checkAPISupport();if(!e.available)return e;let n=await this.checkDeviceEnumeration();if(!n.available)return n;let r=await this.checkPermissionState(),i=await this.checkMediaStream();return i.available?{available:!0,passedLevel:4,devices:n.devices,permissionState:r.permissionState,message:"音频设备可用"}:i}checkAPISupport(){return navigator.mediaDevices?navigator.mediaDevices.getUserMedia?"undefined"==typeof window||window.isSecureContext?{available:!0,passedLevel:1}:this.createErrorResult("INSECURE_CONTEXT","需要 HTTPS 环境才能访问麦克风 (localhost 除外)"):this.createErrorResult("NO_API_SUPPORT","浏览器不支持 getUserMedia API"):this.createErrorResult("NO_API_SUPPORT","浏览器不支持 navigator.mediaDevices API")}async checkDeviceEnumeration(){try{let e=(await navigator.mediaDevices.enumerateDevices()).filter(e=>"audioinput"===e.kind);if(0===e.length)return this.createErrorResult("NO_DEVICE_FOUND","系统中未找到音频输入设备");let n=e.some(e=>""!==e.deviceId);return{available:!0,passedLevel:2,devices:e,message:n?`找到 ${e.length} 个音频输入设备`:"找到设备但需要权限才能获取详细信息"}}catch(e){return this.createErrorResult("UNKNOWN_ERROR",`设备枚举失败: ${e instanceof Error?e.message:"未知错误"}`)}}async checkPermissionState(){try{if(!navigator.permissions||!navigator.permissions.query)return{available:!0,passedLevel:3,message:"浏览器不支持 Permissions API,跳过权限检查"};let e=await navigator.permissions.query({name:"microphone"});if("denied"===e.state)return this.createErrorResult("PERMISSION_DENIED","麦克风权限已被拒绝,请在浏览器设置中开启");return{available:!0,passedLevel:3,permissionState:e.state,message:`权限状态: ${e.state}`}}catch(e){return{available:!0,passedLevel:3,message:"Permissions API 检查失败,继续后续检测"}}}async checkMediaStream(){try{this.mediaStream=await navigator.mediaDevices.getUserMedia({audio:!0});let e=this.mediaStream.getAudioTracks();if(0===e.length)return this.createErrorResult("NO_DEVICE_FOUND","未能获取音频轨道");let n=e[0];if("live"!==n.readyState)return this.createErrorResult("DEVICE_IN_USE",`音频轨道状态异常: ${n.readyState}`);if(!n.enabled)return this.createErrorResult("DEVICE_IN_USE","音频轨道已被禁用");if(n.muted)return this.createErrorResult("DEVICE_IN_USE","音频轨道处于静音状态");return{available:!0,passedLevel:4,message:`成功获取音频流: ${n.label}`}}catch(e){if(e instanceof Error){if("NotAllowedError"===e.name||"PermissionDeniedError"===e.name)return this.createErrorResult("PERMISSION_DENIED","用户拒绝了麦克风权限请求");if("NotFoundError"===e.name||"DevicesNotFoundError"===e.name)return this.createErrorResult("NO_DEVICE_FOUND","未找到可用的音频输入设备");if("NotReadableError"===e.name||"TrackStartError"===e.name)return this.createErrorResult("DEVICE_IN_USE","设备正被其他程序占用或无法访问");if("AbortError"===e.name)return this.createErrorResult("PERMISSION_DISMISSED","权限请求被中止或超时")}return this.createErrorResult("UNKNOWN_ERROR",`获取音频流失败: ${e instanceof Error?e.message:"未知错误"}`)}}createErrorResult(e,n){return{available:!1,error:e,message:n}}withTimeout(e,n){return Promise.race([e,new Promise((e,r)=>{setTimeout(()=>r(Error("TIMEOUT")),n)})])}}async function sT(e){return new sR(e).checkAudioDevice()}let sC=e=>{let n={NO_API_SUPPORT:"您的浏览器不支持语音功能,请使用最新版 Chrome、Firefox 或 Edge 浏览器。",INSECURE_CONTEXT:"出于安全考虑,语音功能仅在 HTTPS 网站下可用。",NO_DEVICE_FOUND:"未检测到麦克风设备,请连接麦克风后重试。",PERMISSION_DENIED:"您已拒绝麦克风权限,请在浏览器设置中允许访问麦克风。",PERMISSION_DISMISSED:"麦克风权限请求已关闭,请刷新页面重新授权。",DEVICE_IN_USE:"麦克风正被其他程序占用,请关闭其他使用麦克风的应用后重试。",TIMEOUT:"设备检测超时,请检查网络连接或刷新页面重试。",UNKNOWN_ERROR:"发生未知错误,请刷新页面重试或联系技术支持。"};return n[e]||n.UNKNOWN_ERROR};function sx(e,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,n)}function sE(e,n){return function(r,i){n(r,i,e)}}(cN=(cB=cY||(cY={})).EMessageType||(cB.EMessageType={}))[cN.Query=0]="Query",cN[cN.Event=1]="Event";class sO{constructor(e,n,r){this.opts=e,this.signalingService=n,this.errorManager=r,this.disabled=!1,this.mutedByUser=!1,this.muted=!1,this.emitter=new np,this.started=!1,this.lastCheckResult=null,this.lastCheckTime=0,this.CHECK_CACHE_TTL=5e3,this.mute=e=>{this.signalingService.Mute(e),this.muted=e},this.setMutedByUser=e=>{this.mutedByUser=e},this.tryUnmuteAsr=()=>!this.disabled&&!this.mutedByUser&&(this.muted&&this.mute(!1),!0),this.disable=()=>{this.disabled=!0},this.enable=()=>{this.disabled=!1},this.checkAudioDevice=async e=>{var n;let r=Date.now();if(!(null==e?void 0:e.forceCheck)&&(null==(n=this.lastCheckResult)?void 0:n.available)&&r-this.lastCheckTime<this.CHECK_CACHE_TTL)return this.lastCheckResult;let i=new sR(e),o=await i.checkAudioDevice();return this.lastCheckResult=o,this.lastCheckTime=r,await this.emitter.emit("device_check_completed",o),!o.available&&o.error&&this.errorManager.handleError(this.mapToAsrError(o)),o},this._stop=async()=>{this.started&&(await this.signalingService.Stop(),this.started=!1)},this._dispose=()=>{this.stop().finally(()=>{this.signalingService.Dispose()}).catch(r3),this.emitter.clearListeners(),this.lastCheckTime=0},this.mapToAsrError=e=>new({[sS.NO_API_SUPPORT]:rP,[sS.INSECURE_CONTEXT]:rj,[sS.NO_DEVICE_FOUND]:rI,[sS.PERMISSION_DENIED]:rx,[sS.PERMISSION_DISMISSED]:rA,[sS.DEVICE_IN_USE]:rM,[sS.TIMEOUT]:rD,[sS.UNKNOWN_ERROR]:rT})[e.error](e.message,{passedLevel:e.passedLevel,devices:e.devices,permissionState:e.permissionState})}get sessionId(){return this.started?this.signalingService.GetSessionID():null}}function sk(e,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,n)}function sI(e,n){return function(r,i){n(r,i,e)}}sO=function(e,n,r,i){var o,s=arguments.length,a=s<3?n:null===i?i=Object.getOwnPropertyDescriptor(n,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,n,r,i);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(a=(s<3?o(a):s>3?o(n,r,a):o(n,r))||a);return s>3&&a&&Object.defineProperty(n,r,a),a}([eb(),sE(0,ev(nm.IOptions)),sE(0,eT()),sE(1,ev(nm.SignalingService)),sE(2,ev(nm.ErrorManager)),sx("design:type",Function),sx("design:paramtypes",["undefined"==typeof IResolvedOptions?Object:IResolvedOptions,"undefined"==typeof BaseSignalingService?Object:BaseSignalingService,void 0===rQ?Object:rQ])],sO);class sM{static #F=this.GET_ACCESS_TOKEN_REQUEST_URI="employee-console/v1/access/r/ai-agent/get_digital_token";constructor(e,n,r){this.opts=e,this.request=n,this.errorManager=r,this.emitter=new np,this._isRendering=!1,this._isMuted=!1,this._canInterrupt=!0,this.ssmlHandlers=[],this.token="",this.latencyStartMap=new Map,this.getAccessToken=async()=>{try{let{data:e}=await this.request.client.get(sM.GET_ACCESS_TOKEN_REQUEST_URI,{retry:3,timeout:15e3}).json();return e.authorization}catch(e){throw e instanceof Error&&this.errorManager.handleError(new rH(e.message)),e}}}get isRendering(){return this._isRendering}get isMuted(){return this._isMuted}get canInterrupt(){return this._canInterrupt}setIsRendering(e){this._isRendering=e}setIsMuted(e){this._isMuted=e}setCanInterrupt(e){this._canInterrupt=e}registerSSMLHandler(e){return this.ssmlHandlers.push(e),this}runSsmlHandlers(e){let n=e;for(let e of this.ssmlHandlers)n=e(n);return n}}sM=function(e,n,r,i){var o,s=arguments.length,a=s<3?n:null===i?i=Object.getOwnPropertyDescriptor(n,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,n,r,i);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(a=(s<3?o(a):s>3?o(n,r,a):o(n,r))||a);return s>3&&a&&Object.defineProperty(n,r,a),a}([eb(),sI(0,ev(nm.IOptions)),sI(1,ev(nm.CommonRequest)),sI(2,ev(nm.ErrorManager)),sk("design:type",Function),sk("design:paramtypes",["undefined"==typeof IOptions?Object:IOptions,void 0===nY?Object:nY,void 0===rQ?Object:rQ])],sM);let sP=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:500;return new Promise(n=>setTimeout(n,e))};function sj(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,i)}return r}function sA(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?sj(Object(r),!0).forEach(function(n){sU(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):sj(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function sD(e){return(sD="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function sB(e,n){if(!(e instanceof n))throw TypeError("Cannot call a class as a function")}function sN(e,n){for(var r=0;r<n.length;r++){var i=n[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,sF(i.key),i)}}function sL(e,n,r){return n&&sN(e.prototype,n),r&&sN(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function sU(e,n,r){return(n=sF(n))in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function sF(e){var n=function(e,n){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,n||"default");if("object"!=typeof i)return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==typeof n?n:String(n)}(cQ||(cQ={})).INIT="INIT";var sq=function(){function e(n){sB(this,e),sU(this,"iframeId",void 0),this.iframeId=n}return sL(e,[{key:"registerMessageReceived",value:function(e){void 0!==window.addEventListener&&"function"==typeof e&&window.addEventListener("message",e,!1)}},{key:"removeMessageReceived",value:function(e){void 0!==window.addEventListener&&window.removeEventListener("message",e,!1)}},{key:"sendMessageToIframe",value:function(e,n){if(this.iframeId){var r=document.getElementById(this.iframeId);e&&null!==r&&r.contentWindow.postMessage({type:e,content:n},"*")}else if(window.self!==window.top&&window&&window.parent&&window.parent.postMessage){var i=JSON.parse(JSON.stringify(n||{}));window.parent.postMessage({type:e,content:i},"*")}}},{key:"sendCommand",value:function(e){this.sendMessageToIframe("command",e)}},{key:"sendMessage",value:function(e){var n=e.requestId,r=void 0===n?r2():n;return this.sendMessageToIframe("message",sA(sA({},e),{},{requestId:r})),r}},{key:"textRender",value:function(e){return this.sendMessage({action:"TEXT_RENDER",body:e})}},{key:"textQuery",value:function(e){return this.sendMessage({action:"TEXT_QUERY",body:e})}},{key:"changeBackGround",value:function(e){return this.textRender("<display><background><type>image</type><source>http</source><value>".concat(e,"</value></background></display>"))}},{key:"mute",value:function(e){this.sendCommand({subType:"mute",subContent:e})}},{key:"muteAudio",value:function(e){this.sendCommand({subType:"muteAudio",subContent:e})}},{key:"muteRemoteAudio",value:function(e){this.sendCommand({subType:"muteRemoteAudio",subContent:e})}},{key:"playVideo",value:function(e){this.sendCommand({subType:"playVideo",subContent:e})}},{key:"sendAudioData",value:function(e){this.sendMessageToIframe("audioData",e)}},{key:"onStateUpdate",value:function(e){this.sendMessageToIframe("state",e)}},{key:"sendRtcState",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.sendMessageToIframe("rtcState",e)}},{key:"sendWsState",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.sendMessageToIframe("wsState",e)}}]),e}(),sH="LOAD",sV="TEXT_RENDER",sz="TEXT_MT_RENDER",sG="AUDIO_RENDER",sW="TEXT_QUERY",sX="AUDIO_QUERY_START",s$="AUDIO_QUERY_STOP",sJ="SET_MODEL_URLS",sK="CHANGE_CAMERA",sY="ANIMOJI_RENDER",sQ="DESTROY",sZ="CHANGE_PARTS",s0="SET_RENDER_CONFIG",s1="AUDIO_RENDER_START",s2="AUDIO_RENDER_STOP",s3="INTERRUPT";function s4(e){sB(this,s4),sU(this,"iframeId",void 0),sU(this,"namespace","dhIframeNameSpace"),sU(this,"listener",null),this.iframeId=e}sL(s4,[{key:"onEventListener",value:function(e){var n=this;return function(r){if("object"===sD(r.data))if("onListener"===r.data.type&&r.data.content.listenerId){var i=window[n.namespace][r.data.content.listenerId];null==i||i(r.data.content.data)}else"onListenerRemove"===r.data.type&&r.data.content.listenerId?delete window[n.namespace][r.data.content.listenerId]:r.data.listenerId?e(r.data,function(e){n.sendMessage("onListener",{listenerId:r.data.listenerId,data:e})},function(){n.sendMessage("onListenerRemove",{listenerId:r.data.listenerId})}):e(r.data)}}},{key:"registerMessageReceived",value:function(e){void 0!==window.addEventListener&&"function"==typeof e&&(this.listener=this.onEventListener(e),window.addEventListener("message",this.listener,!1))}},{key:"removeMessageReceived",value:function(){void 0!==window.addEventListener&&this.listener&&(window[this.namespace]=void 0,window.removeEventListener("message",this.listener,!1))}},{key:"sendMessage",value:function(e,n,r){var i=this;if(this.iframeId){var o="";r&&(o=r2(),window[this.namespace]||(window[this.namespace]={}),window[this.namespace][o]=r);var s=document.getElementById(this.iframeId);return e&&null!==s&&s.contentWindow.postMessage({type:e,content:n,listenerId:o},"*"),function(){o&&(window[i.namespace][o]=void 0)}}if(window.self!==window.top&&window&&window.parent&&window.parent.postMessage){var a=JSON.parse(JSON.stringify(n||{}));window.parent.postMessage({type:e,content:a},"*")}}},{key:"textRender",value:function(e,n){return this.sendMessage(sV,e,n)}},{key:"textMTRender",value:function(e,n){return this.sendMessage(sz,e,n)}},{key:"audioRender",value:function(e,n){return this.sendMessage(sG,e,n)}},{key:"textQuery",value:function(e,n){return this.sendMessage(sW,e,n)}},{key:"startAudioQuery",value:function(e,n){return this.sendMessage(sX,e,n)}},{key:"stopAudioQuery",value:function(){return this.sendMessage(s$,{})}},{key:"setModelPackage",value:function(e,n){return this.sendMessage(sJ,{urls:e,needInitConfig:n})}},{key:"changeCamera",value:function(e){return this.sendMessage(sK,e)}},{key:"changeParts",value:function(e){return this.sendMessage(sZ,e)}},{key:"setRenderConfig",value:function(e){return this.sendMessage(s0,e)}},{key:"animojiRender",value:function(e,n){return this.sendMessage(sY,e,n)}},{key:"destroy",value:function(){return this.sendMessage(sQ,{})}},{key:"startAudioRender",value:function(e,n){return this.sendMessage(s1,e,n)}},{key:"stopAudioRender",value:function(){return this.sendMessage(s2,{})}},{key:"interrupt",value:function(){return this.sendMessage(s3,{})}},{key:"load",value:function(e){return this.sendMessage(sH,e)}},{key:"onStateUpdate",value:function(e){this.sendMessage("state",e)}}]);class s5 extends sM{get ready(){return!!this.iframeController&&!!this.token}constructor(...e){super(...e),this.origin="https://open.xiling.baidu.com",this.iframeId=r2(),this.iframeController=null,this.iframe=null,this.$iframeContainer=null,this.requestId=r2(),this.isWSConnected=!1,this.isRtcReady=!1,this.silenceMessageRequestIds=[],this.isStreamTextRendering=!1,this.wsClosedCount=0,this.mount=async e=>{if(!e)return void this.errorManager.handleError(new rN("容器元素不能为空"));if(this.$iframeContainer=e,this.iframe){e.contains(this.iframe)||e.appendChild(this.iframe);return}this.opts.enableDebugMode&&"development"===this.opts.env&&!this.opts.token?this.token=await this.getAccessToken():this.token=this.opts.token,this.iframe=document.createElement("iframe"),this.applyOptions(),e.appendChild(this.iframe),this.iframeController=new sq(this.iframeId),this.bindEvents()},this.bindEvents=()=>{var e,n;return this.ready&&(null==(e=this.iframe)||e.addEventListener("error",this.onIFrameErrorHandler),null==(n=this.iframeController)||n.registerMessageReceived(this.onMessageHandler)),this},this.unbindEvents=()=>{var e,n;return this.ready&&(null==(e=this.iframe)||e.removeEventListener("error",this.onIFrameErrorHandler),null==(n=this.iframeController)||n.removeMessageReceived(this.onMessageHandler)),this},this.cancelMute=()=>{var e;null==(e=this.iframeController)||e.sendCommand({subType:"muteAudio",subContent:!1}),setTimeout(()=>{this._isMuted=!1},1500)},this.muteHuman=()=>{var e;null==(e=this.iframeController)||e.sendCommand({subType:"muteAudio",subContent:!0}),setTimeout(()=>{this._isMuted=!0},1500)},this.play=async()=>{var e;null==(e=this.iframeController)||e.sendCommand({subType:"playVideo",subContent:!0})},this.pause=()=>{var e;null==(e=this.iframeController)||e.sendCommand({subType:"playVideo",subContent:!1})},this.renderPlainText=e=>{var n;if(!this.ready)return this;let r=this.runSsmlHandlers(e);return this.refreshRequestId(),null==(n=this.iframeController)||n.sendMessage({action:"TEXT_RENDER",body:r,requestId:this.requestId}),this},this.renderStreamText=(e,n)=>{var r,i,o;if(!this.ready)return this;let s=this.runSsmlHandlers(e);return n?(this.isStreamTextRendering||this.refreshRequestId(),null==(i=this.iframeController)||i.sendMessage({action:"TEXT_STREAM_RENDER",body:JSON.stringify({first:!this.isStreamTextRendering,last:!0,text:s}),requestId:this.requestId}),this.isStreamTextRendering=!1):this.isStreamTextRendering?null==(r=this.iframeController)||r.sendMessage({action:"TEXT_STREAM_RENDER",body:JSON.stringify({first:!1,last:!1,text:s}),requestId:this.requestId}):(this.refreshRequestId(),this.isStreamTextRendering=!0,this.latencyStartMap.set(this.requestId,performance.now()),null==(o=this.iframeController)||o.sendMessage({action:"TEXT_STREAM_RENDER",body:JSON.stringify({first:!0,last:!1,text:s}),requestId:this.requestId})),this},this.interrupt=()=>{var e;return this.ready&&(null==(e=this.iframeController)||e.sendMessage({action:"TEXT_RENDER",body:"<interrupt></interrupt>",requestId:this.requestId}),this.isRendering||this.onRenderFinished(this.requestId)),this},this.sendSilenceMessage=()=>{var e;if(!this.ready)return this;let n=r2();return null==(e=this.iframeController)||e.sendMessage({action:"TEXT_RENDER",body:"",requestId:n}),this.silenceMessageRequestIds.push(n),this.emitter.emit("send_silence_message",{requestId:n}).catch(r3),this},this.dispose=()=>{if(this.unbindEvents(),this.silenceMessageRequestIds=[],this.ssmlHandlers=[],this.wsClosedCount=0,this.isStreamTextRendering=!1,this.emitter.clearListeners(),this.latencyStartMap.clear(),this.iframe){var e;null==(e=this.$iframeContainer)||e.removeChild(this.iframe),this.iframe=null,this.iframeController=null}return this},this.GetRequestId=()=>this.requestId,this.checkIsReady=()=>{let e=this.isWSConnected&&this.isRtcReady;return e&&this.emitter.emit("ready").catch(r3),e},this.onIFrameErrorHandler=e=>{let n=new rL(`数字人iframe加载失败: ${e.message}`,{context:{method:"onIFrameErrorHandler",iframeId:this.iframeId,filename:e.filename,lineno:e.lineno,colno:e.colno,type:e.type,target:e.target}});this.errorManager.handleError(n)},this.onMessageHandler=e=>{if(e.origin!==this.origin)return;let n=e.data;switch(n.type){case"msg":this.onReceiveMsgTypedMessageHandler(n);break;case"rtcState":this.onReceiveRtcStateTypedMessageHandler(n);break;case"wsState":this.onReceiveWsStateTypedMessageHandler(n)}},this.onReceiveMsgTypedMessageHandler=e=>{let n=e.content.requestId;if((1004===e.content.code||3001===e.content.code)&&(this.emitter.emit("reach_session_limit",{requestId:n}).catch(r3),this.errorManager.handleError(new rV("资源配额已用尽,请联系技术支持申请扩容"))),["RENDER_START","FINISHED","DOWN_SUBTITLE","RENDER_INTERRUPTED","DOWN_SUBTITLE","TEXT_RENDER","TEXT_STREAM_RENDER"].includes(e.content.action)){if(n!==this.requestId)return;switch(e.content.action){case"RENDER_START":this._isRendering=!0,this.emitter.emit("is_rendering_change",!0).catch(r3);break;case"FINISHED":case"RENDER_INTERRUPTED":this.onRenderFinished(n);break;case"DOWN_SUBTITLE":{let r=JSON.parse(e.content.body);if(this.silenceMessageRequestIds.includes(n))this.silenceMessageRequestIds=this.silenceMessageRequestIds.filter(e=>e!==n);else{let e,i=this.latencyStartMap.get(n);void 0!==i&&(e=performance.now()-i,this.latencyStartMap.clear()),this.emitter.emit("render_subtitle",{subtitle:r,requestId:n,latency:e}).catch(r3)}break}case"TEXT_RENDER":case"TEXT_STREAM_RENDER":0!==e.content.code&&this.onRenderFinished(n)}return}switch(e.content.action){case"RENDER_ERROR":this.onRenderFinished(n),this.errorManager.handleError(new rU("数字员工文本驱动渲染失败,请确认配置后重试",{requestId:n,context:{msg:e.content.message}}));break;case"DISCONNECT_ALERT":this.emitter.emit("disconnect_alert",{requestId:n}).catch(r3);break;case"TIMEOUT_EXIT":this.onRenderFinished(n),this.emitter.emit("timeout",{requestId:e.content.requestId}).catch(r3)}},this.onReceiveRtcStateTypedMessageHandler=e=>{if(e.content.action,"localVideoMuted"===e.content.action&&e.content.body&&(this._isMuted=!0),"remotevideoon"===e.content.action&&(this.isRtcReady=!0,this.checkIsReady(),this.iframe&&(this.iframe.style.opacity="1")),"error"===e.content.action){let n="string"==typeof e.content.body?e.content.body:"";this.errorManager.handleError(new rq("RTC 房间连接失败,请检查网络后重试"+n))}},this.onReceiveWsStateTypedMessageHandler=e=>{1===e.content.readyState?(this.isWSConnected=!0,this.wsClosedCount=0,this.checkIsReady()):(3===e.content.readyState||2===e.content.readyState)&&(this.isWSConnected=!1),3===e.content.readyState&&(this.wsClosedCount++,this.wsClosedCount>=3&&(this.emitter.emit("reconnect_failed").catch(r3),this.errorManager.handleError(new rF("检测到 Websocket 链接异常断开,如长时间无法恢复,请联系技术支持。"))))},this.applyOptions=()=>{var e,n,r,i,o,s,a,c,d,l,u,f,p,h;if(!this.iframe)return;this.iframe.id=this.iframeId,this.iframe.allow="autoplay",this.iframe.style.border="none",this.iframe.style.opacity="0",this.iframe.style.pointerEvents="none",this.iframe.style.overflow="hidden";let m=null!=(o=null==(e=this.opts)?void 0:e.scaleX)?o:1,v=null!=(s=null==(n=this.opts)?void 0:n.scaleY)?s:1,g=null!=(a=null==(r=this.opts)?void 0:r.translateX)?a:0,y=null!=(c=null==(i=this.opts)?void 0:i.translateY)?c:0;this.iframe.style.width=`${100*m}% `,this.iframe.style.height=`${100*v}%`,this.iframe.style.transform=`translate(${g}px, ${y}px)`;let b=new URLSearchParams(Object.entries({figureId:this.opts.figureId,ttsPer:this.opts.ttsPer,initMode:"noAudio","cp-inactiveDisconnectSec":null!=(d=this.opts.timeoutSec)?d:130,"cp-preAlertSec":null!=(l=this.opts.disconnectAlertSec)?l:10,mode:"crop",resolutionWidth:null!=(u=this.opts.figureResolutionWidth)?u:1920,resolutionHeight:null!=(f=this.opts.figureResolutionHeight)?f:1080,ttsSpeed:null!=(p=this.opts.speechSpeed)?p:6,"cp-ttsSample":this.opts.ttsSample,"cp-minSplitLen":this.opts.minSplitLen,"cp-ttsModel":this.opts.ttsModel,"cp-positionV2":JSON.stringify(this.opts.position),"cp-ttsLang":ia(this.opts.lang),autoChromaKey:this.opts.autoChromaKey,closeLog:null==(h=this.opts.enableDebugMode)||h,token:this.token}).filter(e=>{let[,n]=e;return null!=n&&""!==n}).reduce((e,n)=>{let[r,i]=n;return e[r]=String(i),e},{})).toString();this.iframe.src=`${this.origin}/cloud/realtime?${b}`},this.refreshRequestId=()=>{this.requestId=r2()},this.onRenderFinished=e=>{this._isRendering=!1,this.isStreamTextRendering=!1,this.emitter.emit("is_rendering_change",!1).catch(r3),this.refreshRequestId(),this.emitter.emit("render_finished",{requestId:e}).catch(r3)}}}function s6(e,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,n)}function s8(e,n){return function(r,i){n(r,i,e)}}s5=function(e,n,r,i){var o,s=arguments.length,a=s<3?n:null===i?i=Object.getOwnPropertyDescriptor(n,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,n,r,i);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(a=(s<3?o(a):s>3?o(n,r,a):o(n,r))||a);return s>3&&a&&Object.defineProperty(n,r,a),a}([eb(),ew()],s5);class s9{static #F=this.ENTRY_EMITTER_NAME="AaaSPilotKitEmitter";constructor(e,n,r,i,o,s){this.opts=e,this.errorManager=n,this.agentService=r,this.asrService=i,this.digitalHumanService=o,this.conversationService=s,this.interruptible=!0,this.isRenderingMultiModConversation=!1,this.isDigitalHumanServiceReady=!1,this.isAsrServiceReady=!1,this.lastReplyStartRequestId=null,this.aiWorkerMessageCache=null,this.multiModAbortControllers=[],this.playWaitForListener=null,this.queryStartTime=0,this.mount=async e=>{var n,r;let i=null!=e?e:null==(n=(r=this.opts).getMountContainer)?void 0:n.call(r);i&&(await Promise.all([this.digitalHumanService.mount(i),this.asrService.preloadDeps()]),this.asrService.start(),this.isAsrServiceReady=!0,this.checkServiceReady())},this.getOptions=()=>this.opts,this.checkNeedsManualActivation=()=>rw()||rS(),this.activateManually=async()=>{if(this.digitalHumanService instanceof s5){let e,n;this.digitalHumanService.cancelMute(),n=(e=new(rb())).getUA(),("WeChat"===e.getBrowser().name||/MicroMessenger/i.test(n))&&(rw()||rS())&&await sP(500)}},this.keepAlive=()=>(this.digitalHumanService.sendSilenceMessage(),this),this.playWaitFor=async(e,n)=>(this.playWaitForListener&&this.digitalHumanService.emitter.off("render_finished",this.playWaitForListener),this.digitalHumanService.isRendering)?await new Promise(r=>{this.playWaitForListener=()=>{n&&!n()?r(!1):(this.digitalHumanService.renderPlainText(e),this.playWaitForListener&&this.digitalHumanService.emitter.off("render_finished",this.playWaitForListener),r(!0))},this.digitalHumanService.emitter.on("render_finished",this.playWaitForListener)}):(this.digitalHumanService.renderPlainText(e),!0),this.playFromFullText=e=>(this.digitalHumanService.renderPlainText(e),this),this.playFromStreamText=(e,n)=>(this.digitalHumanService.renderStreamText(e,n),this),this.mute=e=>(this.asrService.setMutedByUser(e),this.emitter.emit("mute",e).catch(r3),e?(this.asrService.mute(!0),this.conversationService.currentClientConversation&&this.query(this.conversationService.currentClientConversation.text,!0).catch(r3)):this.asrService.muted&&this.asrService.mute(!1),this),this.interrupt=()=>(this.interruptAIWorkerConversation(),this),this.playPrologue=()=>{this.opts.prologue&&this.opts.prologue.length>0?this.playFromFullText(this.opts.prologue):this.agentService.query("").catch(r3)},this.query=async(e,n)=>{if(this.checkServiceReady()){if(this.agentService.sessionId||this.agentService.setSessionId(r2()),this.digitalHumanService.sendSilenceMessage(),this.agentService.queryId||this.agentService.setQueryId(r2()),n){if(this.agentService.checkIsRepeat())return;this.agentService.setLastQueryId(this.agentService.queryId)}if(await this.emitter.emit("asr_message",{text:e,completed:n,id:this.agentService.queryId,sessionId:this.agentService.sessionId}),await this.handleClientConversation(e),n){this.asrService.mute(!0);let n=async()=>{this.agentService.setQueryId(""),this.digitalHumanService.canInterrupt&&(this.asrService.tryUnmuteAsr(),await this.emitter.emit("asr_start"),this.digitalHumanService.emitter.off("render_subtitle",n))};this.digitalHumanService.emitter.on("render_subtitle",n);let r=async()=>{this.agentService.setQueryId(""),this.asrService.tryUnmuteAsr(),await this.emitter.emit("asr_start"),this.digitalHumanService.emitter.off("render_finished",r)};this.digitalHumanService.emitter.on("render_finished",r),this.handleClientConversationCompleted(),this.queryStartTime=performance.now(),await this.agentService.query(e)}}},this.input=e=>(this.digitalHumanService.isRendering&&!this.interruptible||this.query(e,!0).catch(r3),this),this.dispose=()=>(this.agentService.dispose(),this.asrService.dispose(),this.digitalHumanService.dispose(),this.conversationService.dispose(),this.emitter.clearListeners(),this.isDigitalHumanServiceReady=!1,this.isAsrServiceReady=!1,this.aiWorkerMessageCache=null,this.isRenderingMultiModConversation=!1,this.multiModAbortControllers=[],this.lastReplyStartRequestId=null,this),this.setInterruptible=e=>(this.interruptible=e,this),this.checkAudioDevice=async e=>this.asrService.checkAudioDevice(e),this.bindAsrServiceEvents=()=>{this.asrService.emitter.on("start",this.handleAsrServiceStarted),this.asrService.emitter.on("message",this.handleAsrMessage),this.asrService.emitter.on("device_check_completed",this.handleDeviceCheckCompleted)},this.bindAgentServiceEvents=()=>{this.agentService.emitter.on("data",this.handleAgentAnswer),this.agentService.emitter.on("completed",this.handleAgentAnswerCompleted),this.agentService.emitter.on("instruction_received",this.handleAgentInstructionReceived),this.agentService.emitter.on("usage_quota_reached",async e=>{await this.emitter.emit("busy",{...e})}),this.agentService.emitter.on("ttft",this.handleTtft)},this.bindDigitalHumanServiceEvents=()=>{this.digitalHumanService.bindEvents(),this.digitalHumanService.emitter.once("ready").then(()=>{this.isDigitalHumanServiceReady=!0,this.checkServiceReady()}),this.digitalHumanService.emitter.on("render_subtitle",this.aiWorkerSubtitleToConversation),this.digitalHumanService.emitter.on("is_rendering_change",e=>{this.emitter.emit("is_rendering_change",e).catch(r3)}),this.digitalHumanService.emitter.on("render_subtitle",async e=>{await this.emitter.emit("render_start",{...e,sessionId:this.agentService.sessionId,queryId:this.agentService.queryId});let{requestId:n}=e;if(n!==this.lastReplyStartRequestId){this.lastReplyStartRequestId=n;let r=this.agentService.getResponseManager().getLastResponse();this.emitter.emit("reply_start",{agentResponse:r,latency:e.latency,requestId:e.requestId}).catch(r3)}}),this.digitalHumanService.emitter.on("disconnect_alert",e=>{let n=this.digitalHumanService.emitter.on("render_finished",()=>{this.asrService.mute(!0),this.emitter.emit("inactivity",e).catch(r3),n()}),r=this.digitalHumanService.emitter.on("send_silence_message",()=>{n(),r()});this.playFromFullText(this.opts.inactivityPrompt)}),this.digitalHumanService.emitter.on("reach_session_limit",async e=>{this.isDigitalHumanServiceReady&&this.isAsrServiceReady&&await this.emitter.emit("busy",{...e})}),this.digitalHumanService.emitter.on("reconnect_failed",async()=>{await this.emitter.emit("busy",{requestId:"reconnect_failed"})});let e=this.digitalHumanService.emitter.on("render_finished",()=>{this.asrService.tryUnmuteAsr(),e()})},this.bindErrorEvents=()=>{this.errorManager.on(e=>{let n=this.errorManager.createMonitoringError(e);this.emitter.emit("error",e).catch(r3);try{this.weirwood.error.captureException(n)}catch(e){console.error(e)}})},this.bindEvents=()=>{this.bindErrorEvents(),this.bindAsrServiceEvents(),this.bindAgentServiceEvents(),this.bindDigitalHumanServiceEvents()},this.registerFormatters=()=>{var e,n;let r=null!=(e=this.opts.speechFormatters)?e:[],i=null!=(n=this.opts.conversationFormatters)?n:[];for(let e of r)this.digitalHumanService.registerSSMLHandler(e);for(let e of i)this.conversationService.registerAIWorkerConversationFormatter(e)},this.aiWorkerSubtitleToConversation=async e=>{let n=e.subtitle;if(this.isRenderingMultiModConversation)return;let r=this.conversationService;await this.createNewAIWorkerConversation();let i=r.currentAIWorkerConversation;i&&this.handleAIWorkerConversationChange(i);let o=r.runAIWorkerConversationFormatters(n.content);if(null==i||i.appendText(o),n.completed){let e=r.currentAIWorkerConversation;e&&e.markAsEnded(),r.setCurrentConversation(null)}},this.handleAgentAnswer=e=>{let{answer:n}=e;or.isXml(n)?this.handleXmlAgentAnswer(e).catch(r3):(this.aiWorkerMessageCache&&this.playFromStreamText(this.aiWorkerMessageCache,!1),this.aiWorkerMessageCache=n)},this.handleXmlAgentAnswer=async e=>{let{answer:n}=e,r=this.conversationService;await this.createNewAIWorkerConversation();let i=r.currentAIWorkerConversation;if(!i)return;let o=()=>{this.emitter.emit("conversation_change",{...i.toJSON(),text:i.fulltext,completed:!1})};i.emitter.on("content_change",o),this.isRenderingMultiModConversation=!0;let s=r.runAIWorkerConversationFormatters(n),a=i.createContentsFromXmlString(s),c=new AbortController;for(let e of(this.multiModAbortControllers.push(c),a)){if(c.signal.aborted){i.emitter.off("content_change",o);break}if(oi.isTextContent(e)){let n=e.getConfig().content;this.playFromFullText(n),await this.digitalHumanService.emitter.once("render_subtitle")}i.addContentRenderTask(e),i.contents.push(e),await i.emitter.once("queue_empty")}i.markAsEnded(),this.isRenderingMultiModConversation=!1,i.emitter.off("content_change",o),await this.emitter.emit("conversation_change",{...i.toJSON(),text:i.fulltext,completed:!0})},this.createNewAIWorkerConversation=async()=>{let e=this.conversationService;if(!e.currentAIWorkerConversation){let n=oi.create(this.opts);e.setCurrentConversation(n),e.add(n),await this.emitter.emit("conversation_add",n)}},this.handleAgentAnswerCompleted=async()=>{if(this.aiWorkerMessageCache){this.playFromStreamText(this.aiWorkerMessageCache,!0),this.aiWorkerMessageCache=null;return}this.agentService.setQueryId(""),this.asrService.tryUnmuteAsr(),await this.emitter.emit("asr_start")},this.handleAgentInstructionReceived=e=>{this.emitter.emit("instruction_received",e).catch(r3)},this.handleTtft=async e=>{let n=e.timestamp-this.queryStartTime;await this.emitter.emit("ttft",{...e,totalLatency:n})},this.handleAsrServiceStarted=async()=>{await sP(800),this.asrService.mute(!0),this.interruptible&&this.emitter.once("render_start").then(()=>{this.asrService.tryUnmuteAsr()})},this.handleAsrMessage=async e=>{this.digitalHumanService.isRendering&&!this.digitalHumanService.canInterrupt||this.asrService.mutedByUser||e.type===cY.EMessageType.Query&&(this.opts.enableDebugMode&&console.log("message",e,this.agentService.sessionId,Date.now()),await this.query(it(e.data,this.opts.hotWordReplacementRules),e.completed))},this.handleDeviceCheckCompleted=async e=>{await this.emitter.emit("microphone_available",{available:e.available,error:e.error,userMessage:e.error?sC(e.error):void 0,devices:e.devices,permissionState:e.permissionState})},this.handleClientConversation=async e=>{let n=this.conversationService;if(!n.currentClientConversation){let e=il.create(this.opts);n.setCurrentConversation(e),n.add(e),await this.emitter.emit("conversation_add",e)}let r=n.currentClientConversation;(this.digitalHumanService.isRendering||this.isRenderingMultiModConversation)&&this.interruptAIWorkerConversation(),null==r||r.appendText(e)},this.handleClientConversationCompleted=()=>{this.conversationService.setCurrentConversation(null)},this.interruptAIWorkerConversation=()=>{for(let e of(this.aiWorkerMessageCache&&this.digitalHumanService.renderStreamText(this.aiWorkerMessageCache,!0),this.multiModAbortControllers))e.abort();this.multiModAbortControllers=[];let e=this.digitalHumanService.GetRequestId();this.digitalHumanService.interrupt(),this.conversationService.interruptAll(),this.agentService.abort(),this.aiWorkerMessageCache=null,this.emitter.emit("interrupt",{requestId:e,queryId:this.agentService.queryId?this.agentService.queryId:this.agentService.lastQueryId,sessionId:this.agentService.sessionId}).catch(r3)},this.checkServiceReady=()=>!!this.isDigitalHumanServiceReady&&!!this.isAsrServiceReady&&(this.emitter.emit("ready").catch(r3),!0),this.handleAIWorkerConversationChange=e=>{let n=r=>{this.emitter.emit("conversation_change",{...e.toJSON(),text:e.fulltext,completed:r.completed}).catch(r3),r.completed&&e.emitter.off("content_change",n)},r=()=>{e.emitter.off("interrupt",r),e.emitter.off("content_change",n)};e.emitter.on("content_change",n),e.emitter.on("interrupt",r)},this.weirwood=new sw({common:{buildid:"AAAS_PILOT_KIT_1.0.0",token:"8f3abab4743f4114bd632999224323af"},error:{collectWindowErrors:!1,collectUnhandledRejections:!1,collectResourceLoadErrors:!1,ignoreUrls:["localhost","127.0.0.1"]},perf:{disable:!0}}),this.emitter=new np(this.opts.enableDebugMode?{debug:{name:s9.ENTRY_EMITTER_NAME,enabled:!0}}:void 0),this.bindEvents(),this.registerFormatters(),this.interruptible=this.opts.interruptible}}s9=function(e,n,r,i){var o,s=arguments.length,a=s<3?n:null===i?i=Object.getOwnPropertyDescriptor(n,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,n,r,i);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(a=(s<3?o(a):s>3?o(n,r,a):o(n,r))||a);return s>3&&a&&Object.defineProperty(n,r,a),a}([eb(),s8(0,ev(nm.IOptions)),s8(0,eT()),s8(1,ev(nm.ErrorManager)),s8(2,ev(nm.AgentService)),s8(3,ev(nm.ASRService)),s8(4,ev(nm.DigitalHumanService)),s8(5,ev(nm.ConversationService)),s6("design:type",Function),s6("design:paramtypes",["undefined"==typeof IResolvedOptions?Object:IResolvedOptions,void 0===rQ?Object:rQ,"undefined"==typeof AS?Object:AS,void 0===sO?Object:sO,void 0===sM?Object:sM,void 0===oa?Object:oa])],s9);let s7=[239,187,191],ae=e=>async(n,r,i)=>{if(!i.ok||!i.body)return;let o=!1,s=n=>{var r;o||(o=!0,null==(r=e.onCompleted)||r.call(e,n))},a=i.body.getReader(),c=new TextDecoder("utf8"),d=function(e){let n,r,i,o,s,a,c;return d(),{feed:function(d){var l;r=r?r+d:d,n&&(l=r,s7.every((e,n)=>l.charCodeAt(n)===e))&&(r=r.slice(s7.length)),n=!1;let u=r.length,f=0,p=!1;for(;f<u;){let n;p&&("\n"===r[f]&&++f,p=!1);let d=-1,l=o;for(let e=i;d<0&&e<u;++e)":"===(n=r[e])&&l<0?l=e-f:"\r"===n?(p=!0,d=e-f):"\n"===n&&(d=e-f);if(d<0){i=u-f,o=l;break}i=0,o=-1,function(n,r,i,o){if(0===o){c.length>0&&(e({type:"event",id:s,event:a||void 0,data:c.slice(0,-1)}),c="",s=void 0),a=void 0;return}let d=i<0,l=n.slice(r,r+(d?o:i)),u=0;u=d?o:" "===n[r+i+1]?i+2:i+1;let f=r+u,p=o-u,h=n.slice(f,f+p).toString();if("data"===l)c+=h?"".concat(h,"\n"):"\n";else if("event"===l)a=h;else if("id"!==l||h.includes("\0")){if("retry"===l){let n=parseInt(h,10);Number.isNaN(n)||e({type:"reconnect-interval",value:n})}}else s=h}(r,f,l,d),f+=d+1}f===u?r="":f>0&&(r=r.slice(f))},reset:d};function d(){n=!0,r="",i=0,o=-1,s=void 0,a=void 0,c=""}}(n=>{var r,i,o;if("event"===n.type&&(null==(r=e.onMessage)||r.call(e,n)),"event"===n.type&&n.data)for(let r of(null==(i=e.onEvent)||i.call(e,n),n.data.split("\n")))e.onData(r);else"reconnect-interval"===n.type&&(null==(o=e.onReconnectInterval)||o.call(e,n.value))}),l=()=>{a.read().then(e=>{e.done?s():(d.feed(c.decode(e.value,{stream:!0})),l())}).catch(r=>{var i;if(n.signal.aborted){null==(i=e.onAborted)||i.call(e);return}s(r)})};return l(),i};(c0=(cZ=c6||(c6={})).EAiobAction||(cZ.EAiobAction={}))[c0.silence=1]="silence",c0[c0.Interrupt=2]="Interrupt",c0[c0.Hangup=3]="Hangup",(c1=cZ.EResponseType||(cZ.EResponseType={}))[c1.Welcome=1]="Welcome",c1[c1.Normal=2]="Normal",c1[c1.Command=3]="Command",c1[c1.TakeOver=4]="TakeOver",(c2=cZ.ETextType||(cZ.ETextType={}))[c2.unit=0]="unit",c2[c2.llm=1]="llm";class at extends r7{static #F=this.REQUEST_URI="aicc-service/aiob-server/text/stream/query2";constructor(...e){super(...e),this.query=async e=>{this.resetTtftFlag(),this.abortController=new AbortController;let n=ae({onData:e=>{try{let n=JSON.parse(e);this.onResponse(n);let{answer:r,sessionId:i,action:o}=n;if(i&&(this.conversationSessionId=i),o===c6.EAiobAction.Hangup)return void this.onHangup({sessionId:this.conversationSessionId});r&&!this.hasTtftEmitted&&this.onTtft({sessionId:this.conversationSessionId,queryId:this.queryId,firstToken:r,timestamp:performance.now()}),r&&this.onData({sessionId:this.conversationSessionId,answer:r})}catch(e){e instanceof Error&&this.errorManager.handleError(new rm(e.message,{sessionId:this.conversationSessionId}))}},onCompleted:()=>{this.onCompleted({sessionId:this.conversationSessionId})}}),r=this.opts.agentConfig;if(!(null==r?void 0:r.robotId))return void this.errorManager.handleError(new rh(`调用 Agent API ${at.REQUEST_URI} 时必须传入 robotId 参数,请确认后重试。`));let i={query:e,sessionId:this.conversationSessionId,robotId:r.robotId,isComplete:1,queryId:this.queryId};try{var o;await this.request.client.post(at.REQUEST_URI,{retry:0,timeout:3e5,signal:null==(o=this.abortController)?void 0:o.signal,hooks:{afterResponse:[n]},json:{...i}})}catch(e){e instanceof nV?this.onTimeout({sessionId:this.conversationSessionId}):e instanceof Error&&this.errorManager.handleError(new rv(e.message,{sessionId:this.conversationSessionId}))}},this.hangup=async()=>{let e=this.opts.agentConfig;if(!(null==e?void 0:e.robotId))return void await this.errorManager.handleError(new rh(`调用 Agent API ${at.REQUEST_URI} 时必须传入 robotId 参数,请确认后重试。`));let n={query:"",robotId:e.robotId,sessionId:this.conversationSessionId,action:c6.EAiobAction.Hangup,isComplete:1};try{await this.request.client.post(at.REQUEST_URI,{retry:0,timeout:3e5,json:{...n},keepalive:!0})}catch(e){e instanceof Error&&this.errorManager.handleError(new rv(e.message,{sessionId:this.conversationSessionId}))}},this.dispose=()=>{this._dispose(),this.hangup().finally(()=>{this.conversationSessionId=""})}}}at=function(e,n,r,i){var o,s=arguments.length,a=s<3?n:null===i?i=Object.getOwnPropertyDescriptor(n,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,n,r,i);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(a=(s<3?o(a):s>3?o(n,r,a):o(n,r))||a);return s>3&&a&&Object.defineProperty(n,r,a),a}([eb(),ew()],at),(c4=(c3=c8||(c8={})).EReplyType||(c3.EReplyType={}))[c4.PlainText=1]="PlainText",c4[c4.RichText=3]="RichText",c4[c4.Image=4]="Image",c4[c4.List=8]="List",c3.REPLY_TYPE_MAPPING={1:"plainText",3:"richText",8:"list",4:"image"};class an extends r7{static #F=this.REQUEST_URI="csp-service/online/core/v5/stream/query";constructor(...e){super(...e),this.query=async e=>{var n,r;this.resetTtftFlag(),this.abortController=new AbortController;let i=ae({onData:e=>{try{var n,r;let i=JSON.parse(e);this.onResponse(i);let o=i.answer[0],s=null!=(r=null==(n=o.reply)?void 0:n.text)?r:"";s&&!this.hasTtftEmitted&&this.onTtft({sessionId:this.conversationSessionId,queryId:this.queryId,firstToken:s,timestamp:performance.now()}),o&&s?this.onData({sessionId:this.conversationSessionId,answer:s}):o&&o.instruction&&(function(e){if("object"!=typeof e||null===e||"[object Object]"!==Object.prototype.toString.call(e))return!1;let n=Object.getPrototypeOf(e);return null===n||!!(Object.prototype.hasOwnProperty.call(n,"constructor")&&"function"==typeof n.constructor)&&Function.prototype.toString.call(n.constructor)===Function.prototype.toString.call(Object)}(o.instruction)?this.onInstructionReceived({sessionId:this.conversationSessionId,instruction:o.instruction}):this.errorManager.handleError(new rg("指令格式非法,请检查后重试",{sessionId:this.conversationSessionId})))}catch(e){e instanceof Error&&this.errorManager.handleError(new rm(e.message,{sessionId:this.conversationSessionId}))}},onCompleted:()=>{this.onCompleted({sessionId:this.conversationSessionId})}});this.conversationSessionId||(this.conversationSessionId=r2());let o=null==(n=this.opts.agentConfig)?void 0:n.token;if(!o)return void this.errorManager.handleError(new rh(`调用 Agent API ${an.REQUEST_URI} 时必须传入 token 参数,请确认后重试。`));let s={queryText:e,sessionId:this.conversationSessionId};try{await this.request.client.post(an.REQUEST_URI,{headers:{token:o},retry:0,timeout:3e5,signal:null==(r=this.abortController)?void 0:r.signal,hooks:{afterResponse:[i]},json:{...s}})}catch(e){e instanceof nV?this.onTimeout({sessionId:this.conversationSessionId}):e instanceof Error&&this.errorManager.handleError(new rv(e.message,{sessionId:this.conversationSessionId}))}},this.dispose=()=>{this._dispose()}}}function ar(e,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,n)}function ai(e,n){return function(r,i){n(r,i,e)}}an=function(e,n,r,i){var o,s=arguments.length,a=s<3?n:null===i?i=Object.getOwnPropertyDescriptor(n,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,n,r,i);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(a=(s<3?o(a):s>3?o(n,r,a):o(n,r))||a);return s>3&&a&&Object.defineProperty(n,r,a),a}([eb(),ew()],an);class ao{constructor(e,n){this.opts=e,this.errorManager=n,this.started=!1,this.sessionId="",this._dispose=()=>{this.started=!1,this.sessionId=""}}}ao=function(e,n,r,i){var o,s=arguments.length,a=s<3?n:null===i?i=Object.getOwnPropertyDescriptor(n,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,n,r,i);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(a=(s<3?o(a):s>3?o(n,r,a):o(n,r))||a);return s>3&&a&&Object.defineProperty(n,r,a),a}([eb(),ai(0,ev(nm.IOptions)),ai(0,eT()),ai(1,ev(nm.ErrorManager)),ar("design:type",Function),ar("design:paramtypes",["undefined"==typeof IResolvedOptions?Object:IResolvedOptions,void 0===rQ?Object:rQ])],ao);let as=e=>{if(e)return"string"==typeof e?e:e.id};class aa extends ao{static #F=this.ONLINE_PREFIX_URL="https://ky.cloud.baidu.com/employee-console";static #eh=this.SANDBOX_PREFIX_URL="https://ai.agent.kaywang.cn/api";static #eK=this.AUTH_URL="https://ky.cloud.baidu.com/employee-console/v1/access/r/ai-agent/get-authorization";get prefixUrl(){return"production"===this.opts.env?aa.ONLINE_PREFIX_URL:aa.SANDBOX_PREFIX_URL}loginBRTC(e){if("function"!=typeof window.BRTC_Start)throw Error("BRTC_Start global function is missing. Ensure baidu.rtc.sdk.js is loaded.");let n={aspublisher:!0,usingdatachannel:!0,usingvideo:!1,usingaudio:!0,showvideobps:!1,autosubscribe:!0,autoplaymuted:!1,autopublish:!0,showspinner:!1,shownovideo:!1,userevent:!0,sessionevent:!0,logintimeout:1e4,linkdownevent:r3,linkupevent:r3,logintimeoutevent:r3,mediastate:r3,remotevideoon:r3,remotevideooff:r3,remotevideocoming:r3,remotevideoloading:r3,remotevideoconnected_state:r3,remotevideoleaving:r3,remotevideounpublished:r3,localvideoconnected_state:r3,localvideopublished_ok:r3,destroyed:r3,onlocalstream:r3,onlocalstream_end:r3,remotevideo_closed:r3,onmessage:e.onmessage,userevent_joinedroom:e.userevent_joinedroom,userevent_leavingroom:e.userevent_leavingroom,remotemediastating:e.remotemediastating,remotevideoviewid:as(e.remotevideoviewid),localvideoviewid:as(e.localvideoviewid)};window.BRTC_Start({...n,...e})}constructor(...e){super(...e),this.currentAppId="",this.Start=async e=>{var n,r,i,o,s;this.currentAppId=this.opts.rtcID;let a=this.prefixUrl,c={};"production"===this.opts.env&&(c.authorization=await this.getAuthToken("/api/v1/aiagent/generateAIAgentCall"));let d="production"===this.opts.env?"/v1/open/ai-agent/generateAIAgentCall":"/v1/aiagent/generateAIAgentCall",l=await n$.post(`${a}${d}`,{json:{app_id:this.currentAppId,quick_start:!0,config:JSON.stringify({...e.cfg})},headers:c}).json();if(!l.ai_agent_instance_id)throw Error("ai_agent_instance_id missing in response");this.started=!0,this.sessionId=l.ai_agent_instance_id;let u=this.sessionId,f=null!=(s=null==(n=l.context)?void 0:n.token)?s:"";(null==(r=l.context)?void 0:r.uid)&&(u=l.context.uid),(null==(i=l.context)?void 0:i.appid)&&(this.currentAppId=l.context.appid),this.loginBRTC({...e,appid:this.currentAppId,roomname:this.sessionId,userid:u,token:f}),null==(o=e.success)||o.call(e)},this.Stop=async()=>{if(this.started){this.started=!1;try{let e=this.prefixUrl,n={};"production"===this.opts.env&&(n.authorization=await this.getAuthToken("/api/v1/aiagent/stopAIAgentInstance"));let r="production"===this.opts.env?"/v1/open/ai-agent/stopAIAgentInstance":"/v1/aiagent/stopAIAgentInstance";await n$.post(`${e}${r}`,{json:{app_id:this.currentAppId,ai_agent_instance_id:this.sessionId},headers:n})}catch(e){if(e instanceof nv)throw Error(`stopAIAgentInstance failed (${e.response.status})`);throw e}"function"==typeof window.BRTC_Stop&&window.BRTC_Stop()}},this.Mute=e=>{"function"==typeof window.BRTC_MuteMicphone&&window.BRTC_MuteMicphone(e)},this.GetSessionID=()=>this.sessionId,this.Dispose=()=>{this._dispose()},this.getAuthToken=async e=>{try{let{data:n}=await n$.post(aa.AUTH_URL,{json:{http_method:"POST",path:e,headers:{host:"rtc-aiagent.baidubce.com"}}}).json();return n}catch(e){if(e instanceof nv)throw Error(`getAuthToken failed (${e.response.status})`);throw e}}}}aa=function(e,n,r,i){var o,s=arguments.length,a=s<3?n:null===i?i=Object.getOwnPropertyDescriptor(n,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,n,r,i);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(a=(s<3?o(a):s>3?o(n,r,a):o(n,r))||a);return s>3&&a&&Object.defineProperty(n,r,a),a}([eb(),ew()],aa),__webpack_require__("../../node_modules/baidurtc/dist/baidu.rtc.sdk.js");let ac=!0,ad=!0;function al(e,n,r){let i=e.match(n);return i&&i.length>=r&&parseFloat(i[r],10)}function au(e,n,r){if(!e.RTCPeerConnection)return;let i=e.RTCPeerConnection.prototype,o=i.addEventListener;i.addEventListener=function(e,i){if(e!==n)return o.apply(this,arguments);let s=e=>{let n=r(e);n&&(i.handleEvent?i.handleEvent(n):i(n))};return this._eventMap=this._eventMap||{},this._eventMap[n]||(this._eventMap[n]=new Map),this._eventMap[n].set(i,s),o.apply(this,[e,s])};let s=i.removeEventListener;i.removeEventListener=function(e,r){if(e!==n||!this._eventMap||!this._eventMap[n]||!this._eventMap[n].has(r))return s.apply(this,arguments);let i=this._eventMap[n].get(r);return this._eventMap[n].delete(r),0===this._eventMap[n].size&&delete this._eventMap[n],0===Object.keys(this._eventMap).length&&delete this._eventMap,s.apply(this,[e,i])},Object.defineProperty(i,"on"+n,{get(){return this["_on"+n]},set(e){this["_on"+n]&&(this.removeEventListener(n,this["_on"+n]),delete this["_on"+n]),e&&this.addEventListener(n,this["_on"+n]=e)},enumerable:!0,configurable:!0})}function af(e){return"boolean"!=typeof e?Error("Argument type: "+typeof e+". Please use a boolean."):(ac=e,e?"adapter.js logging disabled":"adapter.js logging enabled")}function ap(e){return"boolean"!=typeof e?Error("Argument type: "+typeof e+". Please use a boolean."):(ad=!e,"adapter.js deprecation warnings "+(e?"disabled":"enabled"))}function ah(){"object"==typeof window&&(ac||"undefined"!=typeof console&&"function"==typeof console.log&&console.log.apply(console,arguments))}function am(e,n){ad&&console.warn(e+" is deprecated, please use "+n+" instead.")}function av(e){return"[object Object]"===Object.prototype.toString.call(e)}function ag(e,n,r){let i=r?"outbound-rtp":"inbound-rtp",o=new Map;if(null===n)return o;let s=[];return e.forEach(e=>{"track"===e.type&&e.trackIdentifier===n.id&&s.push(e)}),s.forEach(n=>{e.forEach(r=>{r.type===i&&r.trackId===n.id&&function e(n,r,i){!r||i.has(r.id)||(i.set(r.id,r),Object.keys(r).forEach(o=>{o.endsWith("Id")?e(n,n.get(r[o]),i):o.endsWith("Ids")&&r[o].forEach(r=>{e(n,n.get(r),i)})}))}(e,r,o)})}),o}function ay(e,n){let r=e&&e.navigator;if(!r.mediaDevices)return;let i=function(e){if("object"!=typeof e||e.mandatory||e.optional)return e;let n={};return Object.keys(e).forEach(r=>{if("require"===r||"advanced"===r||"mediaSource"===r)return;let i="object"==typeof e[r]?e[r]:{ideal:e[r]};void 0!==i.exact&&"number"==typeof i.exact&&(i.min=i.max=i.exact);let o=function(e,n){return e?e+n.charAt(0).toUpperCase()+n.slice(1):"deviceId"===n?"sourceId":n};if(void 0!==i.ideal){n.optional=n.optional||[];let e={};"number"==typeof i.ideal?(e[o("min",r)]=i.ideal,n.optional.push(e),(e={})[o("max",r)]=i.ideal):e[o("",r)]=i.ideal,n.optional.push(e)}void 0!==i.exact&&"number"!=typeof i.exact?(n.mandatory=n.mandatory||{},n.mandatory[o("",r)]=i.exact):["min","max"].forEach(e=>{void 0!==i[e]&&(n.mandatory=n.mandatory||{},n.mandatory[o(e,r)]=i[e])})}),e.advanced&&(n.optional=(n.optional||[]).concat(e.advanced)),n},o=function(e,o){if(n.version>=61)return o(e);if((e=JSON.parse(JSON.stringify(e)))&&"object"==typeof e.audio){let n=function(e,n,r){n in e&&!(r in e)&&(e[r]=e[n],delete e[n])};n((e=JSON.parse(JSON.stringify(e))).audio,"autoGainControl","googAutoGainControl"),n(e.audio,"noiseSuppression","googNoiseSuppression"),e.audio=i(e.audio)}if(e&&"object"==typeof e.video){let s=e.video.facingMode;s=s&&("object"==typeof s?s:{ideal:s});let a=n.version<66;if(s&&("user"===s.exact||"environment"===s.exact||"user"===s.ideal||"environment"===s.ideal)&&!(r.mediaDevices.getSupportedConstraints&&r.mediaDevices.getSupportedConstraints().facingMode&&!a)){let n;if(delete e.video.facingMode,"environment"===s.exact||"environment"===s.ideal?n=["back","rear"]:("user"===s.exact||"user"===s.ideal)&&(n=["front"]),n)return r.mediaDevices.enumerateDevices().then(r=>{let a=(r=r.filter(e=>"videoinput"===e.kind)).find(e=>n.some(n=>e.label.toLowerCase().includes(n)));return!a&&r.length&&n.includes("back")&&(a=r[r.length-1]),a&&(e.video.deviceId=s.exact?{exact:a.deviceId}:{ideal:a.deviceId}),e.video=i(e.video),ah("chrome: "+JSON.stringify(e)),o(e)})}e.video=i(e.video)}return ah("chrome: "+JSON.stringify(e)),o(e)},s=function(e){return n.version>=64?e:{name:({PermissionDeniedError:"NotAllowedError",PermissionDismissedError:"NotAllowedError",InvalidStateError:"NotAllowedError",DevicesNotFoundError:"NotFoundError",ConstraintNotSatisfiedError:"OverconstrainedError",TrackStartError:"NotReadableError",MediaDeviceFailedDueToShutdown:"NotAllowedError",MediaDeviceKillSwitchOn:"NotAllowedError",TabCaptureError:"AbortError",ScreenCaptureError:"AbortError",DeviceCaptureError:"AbortError"})[e.name]||e.name,message:e.message,constraint:e.constraint||e.constraintName,toString(){return this.name+(this.message&&": ")+this.message}}};if(r.getUserMedia=(function(e,n,i){o(e,e=>{r.webkitGetUserMedia(e,n,e=>{i&&i(s(e))})})}).bind(r),r.mediaDevices.getUserMedia){let e=r.mediaDevices.getUserMedia.bind(r.mediaDevices);r.mediaDevices.getUserMedia=function(n){return o(n,n=>e(n).then(e=>{if(n.audio&&!e.getAudioTracks().length||n.video&&!e.getVideoTracks().length)throw e.getTracks().forEach(e=>{e.stop()}),new DOMException("","NotFoundError");return e},e=>Promise.reject(s(e))))}}}function ab(e){e.MediaStream=e.MediaStream||e.webkitMediaStream}function a_(e){if("object"!=typeof e||!e.RTCPeerConnection||"ontrack"in e.RTCPeerConnection.prototype)au(e,"track",e=>(e.transceiver||Object.defineProperty(e,"transceiver",{value:{receiver:e.receiver}}),e));else{Object.defineProperty(e.RTCPeerConnection.prototype,"ontrack",{get(){return this._ontrack},set(e){this._ontrack&&this.removeEventListener("track",this._ontrack),this.addEventListener("track",this._ontrack=e)},enumerable:!0,configurable:!0});let n=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){return this._ontrackpoly||(this._ontrackpoly=n=>{n.stream.addEventListener("addtrack",r=>{let i;i=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find(e=>e.track&&e.track.id===r.track.id):{track:r.track};let o=new Event("track");o.track=r.track,o.receiver=i,o.transceiver={receiver:i},o.streams=[n.stream],this.dispatchEvent(o)}),n.stream.getTracks().forEach(r=>{let i;i=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find(e=>e.track&&e.track.id===r.id):{track:r};let o=new Event("track");o.track=r,o.receiver=i,o.transceiver={receiver:i},o.streams=[n.stream],this.dispatchEvent(o)})},this.addEventListener("addstream",this._ontrackpoly)),n.apply(this,arguments)}}}function aw(e){if("object"==typeof e&&e.RTCPeerConnection&&!("getSenders"in e.RTCPeerConnection.prototype)&&"createDTMFSender"in e.RTCPeerConnection.prototype){let n=function(e,n){return{track:n,get dtmf(){return void 0===this._dtmf&&("audio"===n.kind?this._dtmf=e.createDTMFSender(n):this._dtmf=null),this._dtmf},_pc:e}};if(!e.RTCPeerConnection.prototype.getSenders){e.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};let r=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,i){let o=r.apply(this,arguments);return o||(o=n(this,e),this._senders.push(o)),o};let i=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){i.apply(this,arguments);let n=this._senders.indexOf(e);-1!==n&&this._senders.splice(n,1)}}let r=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._senders=this._senders||[],r.apply(this,[e]),e.getTracks().forEach(e=>{this._senders.push(n(this,e))})};let i=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){this._senders=this._senders||[],i.apply(this,[e]),e.getTracks().forEach(e=>{let n=this._senders.find(n=>n.track===e);n&&this._senders.splice(this._senders.indexOf(n),1)})}}else if("object"==typeof e&&e.RTCPeerConnection&&"getSenders"in e.RTCPeerConnection.prototype&&"createDTMFSender"in e.RTCPeerConnection.prototype&&e.RTCRtpSender&&!("dtmf"in e.RTCRtpSender.prototype)){let n=e.RTCPeerConnection.prototype.getSenders;e.RTCPeerConnection.prototype.getSenders=function(){let e=n.apply(this,[]);return e.forEach(e=>e._pc=this),e},Object.defineProperty(e.RTCRtpSender.prototype,"dtmf",{get(){return void 0===this._dtmf&&("audio"===this.track.kind?this._dtmf=this._pc.createDTMFSender(this.track):this._dtmf=null),this._dtmf}})}}function aS(e){if(!("object"==typeof e&&e.RTCPeerConnection&&e.RTCRtpSender&&e.RTCRtpReceiver))return;if(!("getStats"in e.RTCRtpSender.prototype)){let n=e.RTCPeerConnection.prototype.getSenders;n&&(e.RTCPeerConnection.prototype.getSenders=function(){let e=n.apply(this,[]);return e.forEach(e=>e._pc=this),e});let r=e.RTCPeerConnection.prototype.addTrack;r&&(e.RTCPeerConnection.prototype.addTrack=function(){let e=r.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){let e=this;return this._pc.getStats().then(n=>ag(n,e.track,!0))}}if(!("getStats"in e.RTCRtpReceiver.prototype)){let n=e.RTCPeerConnection.prototype.getReceivers;n&&(e.RTCPeerConnection.prototype.getReceivers=function(){let e=n.apply(this,[]);return e.forEach(e=>e._pc=this),e}),au(e,"track",e=>(e.receiver._pc=e.srcElement,e)),e.RTCRtpReceiver.prototype.getStats=function(){let e=this;return this._pc.getStats().then(n=>ag(n,e.track,!1))}}if(!("getStats"in e.RTCRtpSender.prototype&&"getStats"in e.RTCRtpReceiver.prototype))return;let n=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof e.MediaStreamTrack){let e,n,r,i=arguments[0];return(this.getSenders().forEach(n=>{n.track===i&&(e?r=!0:e=n)}),this.getReceivers().forEach(e=>(e.track===i&&(n?r=!0:n=e),e.track===i)),r||e&&n)?Promise.reject(new DOMException("There are more than one sender or receiver for the track.","InvalidAccessError")):e?e.getStats():n?n.getStats():Promise.reject(new DOMException("There is no sender or receiver for the track.","InvalidAccessError"))}return n.apply(this,arguments)}}function aR(e){e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map(e=>this._shimmedLocalStreams[e][0])};let n=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,r){if(!r)return n.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};let i=n.apply(this,arguments);return this._shimmedLocalStreams[r.id]?-1===this._shimmedLocalStreams[r.id].indexOf(i)&&this._shimmedLocalStreams[r.id].push(i):this._shimmedLocalStreams[r.id]=[r,i],i};let r=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._shimmedLocalStreams=this._shimmedLocalStreams||{},e.getTracks().forEach(e=>{if(this.getSenders().find(n=>n.track===e))throw new DOMException("Track already exists.","InvalidAccessError")});let n=this.getSenders();r.apply(this,arguments);let i=this.getSenders().filter(e=>-1===n.indexOf(e));this._shimmedLocalStreams[e.id]=[e].concat(i)};let i=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[e.id],i.apply(this,arguments)};let o=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},e&&Object.keys(this._shimmedLocalStreams).forEach(n=>{let r=this._shimmedLocalStreams[n].indexOf(e);-1!==r&&this._shimmedLocalStreams[n].splice(r,1),1===this._shimmedLocalStreams[n].length&&delete this._shimmedLocalStreams[n]}),o.apply(this,arguments)}}function aT(e,n){if(!e.RTCPeerConnection)return;if(e.RTCPeerConnection.prototype.addTrack&&n.version>=65)return aR(e);let r=e.RTCPeerConnection.prototype.getLocalStreams;e.RTCPeerConnection.prototype.getLocalStreams=function(){let e=r.apply(this);return this._reverseStreams=this._reverseStreams||{},e.map(e=>this._reverseStreams[e.id])};let i=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(n){if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},n.getTracks().forEach(e=>{if(this.getSenders().find(n=>n.track===e))throw new DOMException("Track already exists.","InvalidAccessError")}),!this._reverseStreams[n.id]){let r=new e.MediaStream(n.getTracks());this._streams[n.id]=r,this._reverseStreams[r.id]=n,n=r}i.apply(this,[n])};let o=e.RTCPeerConnection.prototype.removeStream;function s(e,n){let r=n.sdp;return Object.keys(e._reverseStreams||[]).forEach(n=>{let i=e._reverseStreams[n],o=e._streams[i.id];r=r.replace(RegExp(o.id,"g"),i.id)}),new RTCSessionDescription({type:n.type,sdp:r})}e.RTCPeerConnection.prototype.removeStream=function(e){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},o.apply(this,[this._streams[e.id]||e]),delete this._reverseStreams[this._streams[e.id]?this._streams[e.id].id:e.id],delete this._streams[e.id]},e.RTCPeerConnection.prototype.addTrack=function(n,r){if("closed"===this.signalingState)throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");let i=[].slice.call(arguments,1);if(1!==i.length||!i[0].getTracks().find(e=>e===n))throw new DOMException("The adapter.js addTrack polyfill only supports a single stream which is associated with the specified track.","NotSupportedError");if(this.getSenders().find(e=>e.track===n))throw new DOMException("Track already exists.","InvalidAccessError");this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};let o=this._streams[r.id];if(o)o.addTrack(n),Promise.resolve().then(()=>{this.dispatchEvent(new Event("negotiationneeded"))});else{let i=new e.MediaStream([n]);this._streams[r.id]=i,this._reverseStreams[i.id]=r,this.addStream(i)}return this.getSenders().find(e=>e.track===n)},["createOffer","createAnswer"].forEach(function(n){let r=e.RTCPeerConnection.prototype[n];e.RTCPeerConnection.prototype[n]=({[n](){let e=arguments,n=arguments.length&&"function"==typeof arguments[0];return n?r.apply(this,[n=>{let r=s(this,n);e[0].apply(null,[r])},n=>{e[1]&&e[1].apply(null,n)},arguments[2]]):r.apply(this,arguments).then(e=>s(this,e))}})[n]});let a=e.RTCPeerConnection.prototype.setLocalDescription;e.RTCPeerConnection.prototype.setLocalDescription=function(){var e,n;let r;return arguments.length&&arguments[0].type?(arguments[0]=(e=this,n=arguments[0],r=n.sdp,Object.keys(e._reverseStreams||[]).forEach(n=>{let i=e._reverseStreams[n],o=e._streams[i.id];r=r.replace(RegExp(i.id,"g"),o.id)}),new RTCSessionDescription({type:n.type,sdp:r})),a.apply(this,arguments)):a.apply(this,arguments)};let c=Object.getOwnPropertyDescriptor(e.RTCPeerConnection.prototype,"localDescription");Object.defineProperty(e.RTCPeerConnection.prototype,"localDescription",{get(){let e=c.get.apply(this);return""===e.type?e:s(this,e)}}),e.RTCPeerConnection.prototype.removeTrack=function(e){let n;if("closed"===this.signalingState)throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");if(!e._pc)throw new DOMException("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.","TypeError");if(e._pc!==this)throw new DOMException("Sender was not created by this connection.","InvalidAccessError");this._streams=this._streams||{},Object.keys(this._streams).forEach(r=>{this._streams[r].getTracks().find(n=>e.track===n)&&(n=this._streams[r])}),n&&(1===n.getTracks().length?this.removeStream(this._reverseStreams[n.id]):n.removeTrack(e.track),this.dispatchEvent(new Event("negotiationneeded")))}}function aC(e,n){!e.RTCPeerConnection&&e.webkitRTCPeerConnection&&(e.RTCPeerConnection=e.webkitRTCPeerConnection),e.RTCPeerConnection&&n.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(n){let r=e.RTCPeerConnection.prototype[n];e.RTCPeerConnection.prototype[n]=({[n](){return arguments[0]=new("addIceCandidate"===n?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),r.apply(this,arguments)}})[n]})}function ax(e,n){au(e,"negotiationneeded",e=>{let r=e.target;if(!(n.version<72)&&(!r.getConfiguration||"plan-b"!==r.getConfiguration().sdpSemantics)||"stable"===r.signalingState)return e})}function aE(e,n){let r=e&&e.navigator,i=e&&e.MediaStreamTrack;if(r.getUserMedia=function(e,n,i){am("navigator.getUserMedia","navigator.mediaDevices.getUserMedia"),r.mediaDevices.getUserMedia(e).then(n,i)},!(n.version>55&&"autoGainControl"in r.mediaDevices.getSupportedConstraints())){let e=function(e,n,r){n in e&&!(r in e)&&(e[r]=e[n],delete e[n])},n=r.mediaDevices.getUserMedia.bind(r.mediaDevices);if(r.mediaDevices.getUserMedia=function(r){return"object"==typeof r&&"object"==typeof r.audio&&(e((r=JSON.parse(JSON.stringify(r))).audio,"autoGainControl","mozAutoGainControl"),e(r.audio,"noiseSuppression","mozNoiseSuppression")),n(r)},i&&i.prototype.getSettings){let n=i.prototype.getSettings;i.prototype.getSettings=function(){let r=n.apply(this,arguments);return e(r,"mozAutoGainControl","autoGainControl"),e(r,"mozNoiseSuppression","noiseSuppression"),r}}if(i&&i.prototype.applyConstraints){let n=i.prototype.applyConstraints;i.prototype.applyConstraints=function(r){return"audio"===this.kind&&"object"==typeof r&&(e(r=JSON.parse(JSON.stringify(r)),"autoGainControl","mozAutoGainControl"),e(r,"noiseSuppression","mozNoiseSuppression")),n.apply(this,[r])}}}}function aO(e,n){e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||e.navigator.mediaDevices&&(e.navigator.mediaDevices.getDisplayMedia=function(r){if(!(r&&r.video)){let e=new DOMException("getDisplayMedia without video constraints is undefined");return e.name="NotFoundError",e.code=8,Promise.reject(e)}return!0===r.video?r.video={mediaSource:n}:r.video.mediaSource=n,e.navigator.mediaDevices.getUserMedia(r)})}function ak(e){"object"==typeof e&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function aI(e,n){if("object"!=typeof e||!(e.RTCPeerConnection||e.mozRTCPeerConnection))return;!e.RTCPeerConnection&&e.mozRTCPeerConnection&&(e.RTCPeerConnection=e.mozRTCPeerConnection),n.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(n){let r=e.RTCPeerConnection.prototype[n];e.RTCPeerConnection.prototype[n]=({[n](){return arguments[0]=new("addIceCandidate"===n?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),r.apply(this,arguments)}})[n]});let r={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"},i=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){let[e,o,s]=arguments;return i.apply(this,[e||null]).then(e=>{if(n.version<53&&!o)try{e.forEach(e=>{e.type=r[e.type]||e.type})}catch(n){if("TypeError"!==n.name)throw n;e.forEach((n,i)=>{e.set(i,Object.assign({},n,{type:r[n.type]||n.type}))})}return e}).then(o,s)}}function aM(e){if(!("object"==typeof e&&e.RTCPeerConnection&&e.RTCRtpSender)||e.RTCRtpSender&&"getStats"in e.RTCRtpSender.prototype)return;let n=e.RTCPeerConnection.prototype.getSenders;n&&(e.RTCPeerConnection.prototype.getSenders=function(){let e=n.apply(this,[]);return e.forEach(e=>e._pc=this),e});let r=e.RTCPeerConnection.prototype.addTrack;r&&(e.RTCPeerConnection.prototype.addTrack=function(){let e=r.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):Promise.resolve(new Map)}}function aP(e){if(!("object"==typeof e&&e.RTCPeerConnection&&e.RTCRtpSender)||e.RTCRtpSender&&"getStats"in e.RTCRtpReceiver.prototype)return;let n=e.RTCPeerConnection.prototype.getReceivers;n&&(e.RTCPeerConnection.prototype.getReceivers=function(){let e=n.apply(this,[]);return e.forEach(e=>e._pc=this),e}),au(e,"track",e=>(e.receiver._pc=e.srcElement,e)),e.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}function aj(e){!e.RTCPeerConnection||"removeStream"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(e){am("removeStream","removeTrack"),this.getSenders().forEach(n=>{n.track&&e.getTracks().includes(n.track)&&this.removeTrack(n)})})}function aA(e){e.DataChannel&&!e.RTCDataChannel&&(e.RTCDataChannel=e.DataChannel)}function aD(e){if(!("object"==typeof e&&e.RTCPeerConnection))return;let n=e.RTCPeerConnection.prototype.addTransceiver;n&&(e.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];let e=arguments[1]&&arguments[1].sendEncodings;void 0===e&&(e=[]);let r=(e=[...e]).length>0;r&&e.forEach(e=>{if("rid"in e&&!/^[a-z0-9]{0,16}$/i.test(e.rid))throw TypeError("Invalid RID value provided.");if("scaleResolutionDownBy"in e&&!(parseFloat(e.scaleResolutionDownBy)>=1))throw RangeError("scale_resolution_down_by must be >= 1.0");if("maxFramerate"in e&&!(parseFloat(e.maxFramerate)>=0))throw RangeError("max_framerate must be >= 0.0")});let i=n.apply(this,arguments);if(r){let{sender:n}=i,r=n.getParameters();"encodings"in r&&(1!==r.encodings.length||0!==Object.keys(r.encodings[0]).length)||(r.encodings=e,n.sendEncodings=e,this.setParametersPromises.push(n.setParameters(r).then(()=>{delete n.sendEncodings}).catch(()=>{delete n.sendEncodings})))}return i})}function aB(e){if(!("object"==typeof e&&e.RTCRtpSender))return;let n=e.RTCRtpSender.prototype.getParameters;n&&(e.RTCRtpSender.prototype.getParameters=function(){let e=n.apply(this,arguments);return"encodings"in e||(e.encodings=[].concat(this.sendEncodings||[{}])),e})}function aN(e){if(!("object"==typeof e&&e.RTCPeerConnection))return;let n=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(()=>n.apply(this,arguments)).finally(()=>{this.setParametersPromises=[]}):n.apply(this,arguments)}}function aL(e){if(!("object"==typeof e&&e.RTCPeerConnection))return;let n=e.RTCPeerConnection.prototype.createAnswer;e.RTCPeerConnection.prototype.createAnswer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(()=>n.apply(this,arguments)).finally(()=>{this.setParametersPromises=[]}):n.apply(this,arguments)}}function aU(e){if("object"==typeof e&&e.RTCPeerConnection){if("getLocalStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||(this._localStreams=[]),this._localStreams}),!("addStream"in e.RTCPeerConnection.prototype)){let n=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addStream=function(e){this._localStreams||(this._localStreams=[]),this._localStreams.includes(e)||this._localStreams.push(e),e.getAudioTracks().forEach(r=>n.call(this,r,e)),e.getVideoTracks().forEach(r=>n.call(this,r,e))},e.RTCPeerConnection.prototype.addTrack=function(e,...r){return r&&r.forEach(e=>{this._localStreams?this._localStreams.includes(e)||this._localStreams.push(e):this._localStreams=[e]}),n.apply(this,arguments)}}"removeStream"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(e){this._localStreams||(this._localStreams=[]);let n=this._localStreams.indexOf(e);if(-1===n)return;this._localStreams.splice(n,1);let r=e.getTracks();this.getSenders().forEach(e=>{r.includes(e.track)&&this.removeTrack(e)})})}}function aF(e){if("object"==typeof e&&e.RTCPeerConnection&&("getRemoteStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getRemoteStreams=function(){return this._remoteStreams?this._remoteStreams:[]}),!("onaddstream"in e.RTCPeerConnection.prototype))){Object.defineProperty(e.RTCPeerConnection.prototype,"onaddstream",{get(){return this._onaddstream},set(e){this._onaddstream&&(this.removeEventListener("addstream",this._onaddstream),this.removeEventListener("track",this._onaddstreampoly)),this.addEventListener("addstream",this._onaddstream=e),this.addEventListener("track",this._onaddstreampoly=e=>{e.streams.forEach(e=>{if(this._remoteStreams||(this._remoteStreams=[]),this._remoteStreams.includes(e))return;this._remoteStreams.push(e);let n=new Event("addstream");n.stream=e,this.dispatchEvent(n)})})}});let n=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){let e=this;return this._onaddstreampoly||this.addEventListener("track",this._onaddstreampoly=function(n){n.streams.forEach(n=>{if(e._remoteStreams||(e._remoteStreams=[]),e._remoteStreams.indexOf(n)>=0)return;e._remoteStreams.push(n);let r=new Event("addstream");r.stream=n,e.dispatchEvent(r)})}),n.apply(e,arguments)}}}function aq(e){if("object"!=typeof e||!e.RTCPeerConnection)return;let n=e.RTCPeerConnection.prototype,r=n.createOffer,i=n.createAnswer,o=n.setLocalDescription,s=n.setRemoteDescription,a=n.addIceCandidate;n.createOffer=function(e,n){let i=arguments.length>=2?arguments[2]:arguments[0],o=r.apply(this,[i]);return n?(o.then(e,n),Promise.resolve()):o},n.createAnswer=function(e,n){let r=arguments.length>=2?arguments[2]:arguments[0],o=i.apply(this,[r]);return n?(o.then(e,n),Promise.resolve()):o};let c=function(e,n,r){let i=o.apply(this,[e]);return r?(i.then(n,r),Promise.resolve()):i};n.setLocalDescription=c,n.setRemoteDescription=c=function(e,n,r){let i=s.apply(this,[e]);return r?(i.then(n,r),Promise.resolve()):i},n.addIceCandidate=function(e,n,r){let i=a.apply(this,[e]);return r?(i.then(n,r),Promise.resolve()):i}}function aH(e){let n=e&&e.navigator;if(n.mediaDevices&&n.mediaDevices.getUserMedia){let e=n.mediaDevices,r=e.getUserMedia.bind(e);n.mediaDevices.getUserMedia=e=>r(aV(e))}!n.getUserMedia&&n.mediaDevices&&n.mediaDevices.getUserMedia&&(n.getUserMedia=(function(e,r,i){n.mediaDevices.getUserMedia(e).then(r,i)}).bind(n))}function aV(e){return e&&void 0!==e.video?Object.assign({},e,{video:function e(n){return av(n)?Object.keys(n).reduce(function(r,i){let o=av(n[i]),s=o?e(n[i]):n[i],a=o&&!Object.keys(s).length;return void 0===s||a?r:Object.assign(r,{[i]:s})},{}):n}(e.video)}):e}function az(e){if(!e.RTCPeerConnection)return;let n=e.RTCPeerConnection;e.RTCPeerConnection=function(e,r){if(e&&e.iceServers){let n=[];for(let r=0;r<e.iceServers.length;r++){let i=e.iceServers[r];void 0===i.urls&&i.url?(am("RTCIceServer.url","RTCIceServer.urls"),(i=JSON.parse(JSON.stringify(i))).urls=i.url,delete i.url,n.push(i)):n.push(e.iceServers[r])}e.iceServers=n}return new n(e,r)},e.RTCPeerConnection.prototype=n.prototype,"generateCertificate"in n&&Object.defineProperty(e.RTCPeerConnection,"generateCertificate",{get:()=>n.generateCertificate})}function aG(e){"object"==typeof e&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function aW(e){let n=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(e){if(e){void 0!==e.offerToReceiveAudio&&(e.offerToReceiveAudio=!!e.offerToReceiveAudio);let n=this.getTransceivers().find(e=>"audio"===e.receiver.track.kind);!1===e.offerToReceiveAudio&&n?"sendrecv"===n.direction?n.setDirection?n.setDirection("sendonly"):n.direction="sendonly":"recvonly"===n.direction&&(n.setDirection?n.setDirection("inactive"):n.direction="inactive"):!0!==e.offerToReceiveAudio||n||this.addTransceiver("audio",{direction:"recvonly"}),void 0!==e.offerToReceiveVideo&&(e.offerToReceiveVideo=!!e.offerToReceiveVideo);let r=this.getTransceivers().find(e=>"video"===e.receiver.track.kind);!1===e.offerToReceiveVideo&&r?"sendrecv"===r.direction?r.setDirection?r.setDirection("sendonly"):r.direction="sendonly":"recvonly"===r.direction&&(r.setDirection?r.setDirection("inactive"):r.direction="inactive"):!0!==e.offerToReceiveVideo||r||this.addTransceiver("video",{direction:"recvonly"})}return n.apply(this,arguments)}}function aX(e){"object"!=typeof e||e.AudioContext||(e.AudioContext=e.webkitAudioContext)}var a$=__webpack_require__("../../node_modules/sdp/sdp.js"),aJ=__webpack_require__.n(a$);function aK(e){if(!e.RTCIceCandidate||e.RTCIceCandidate&&"foundation"in e.RTCIceCandidate.prototype)return;let n=e.RTCIceCandidate;e.RTCIceCandidate=function(e){if("object"==typeof e&&e.candidate&&0===e.candidate.indexOf("a=")&&((e=JSON.parse(JSON.stringify(e))).candidate=e.candidate.substring(2)),e.candidate&&e.candidate.length){let r=new n(e),i=aJ().parseCandidate(e.candidate);for(let e in i)e in r||Object.defineProperty(r,e,{value:i[e]});return r.toJSON=function(){return{candidate:r.candidate,sdpMid:r.sdpMid,sdpMLineIndex:r.sdpMLineIndex,usernameFragment:r.usernameFragment}},r}return new n(e)},e.RTCIceCandidate.prototype=n.prototype,au(e,"icecandidate",n=>(n.candidate&&Object.defineProperty(n,"candidate",{value:new e.RTCIceCandidate(n.candidate),writable:"false"}),n))}function aY(e){!e.RTCIceCandidate||e.RTCIceCandidate&&"relayProtocol"in e.RTCIceCandidate.prototype||au(e,"icecandidate",e=>{if(e.candidate){let n=aJ().parseCandidate(e.candidate.candidate);"relay"===n.type&&(e.candidate.relayProtocol=({0:"tls",1:"tcp",2:"udp"})[n.priority>>24])}return e})}function aQ(e,n){if(!e.RTCPeerConnection)return;"sctp"in e.RTCPeerConnection.prototype||Object.defineProperty(e.RTCPeerConnection.prototype,"sctp",{get(){return void 0===this._sctp?null:this._sctp}});let r=function(e){if(!e||!e.sdp)return!1;let n=aJ().splitSections(e.sdp);return n.shift(),n.some(e=>{let n=aJ().parseMLine(e);return n&&"application"===n.kind&&-1!==n.protocol.indexOf("SCTP")})},i=function(e){let n=e.sdp.match(/mozilla...THIS_IS_SDPARTA-(\d+)/);if(null===n||n.length<2)return -1;let r=parseInt(n[1],10);return r!=r?-1:r},o=function(e){let r=65536;return"firefox"===n.browser&&(r=n.version<57?-1===e?16384:0x7ffffff5:n.version<60?57===n.version?65535:65536:0x7ffffff5),r},s=function(e,r){let i=65536;"firefox"===n.browser&&57===n.version&&(i=65535);let o=aJ().matchPrefix(e.sdp,"a=max-message-size:");return o.length>0?i=parseInt(o[0].substring(19),10):"firefox"===n.browser&&-1!==r&&(i=0x7ffffff5),i},a=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){if(this._sctp=null,"chrome"===n.browser&&n.version>=76){let{sdpSemantics:e}=this.getConfiguration();"plan-b"===e&&Object.defineProperty(this,"sctp",{get(){return void 0===this._sctp?null:this._sctp},enumerable:!0,configurable:!0})}if(r(arguments[0])){let e,n=i(arguments[0]),r=o(n),a=s(arguments[0],n);e=0===r&&0===a?1/0:0===r||0===a?Math.max(r,a):Math.min(r,a);let c={};Object.defineProperty(c,"maxMessageSize",{get:()=>e}),this._sctp=c}return a.apply(this,arguments)}}function aZ(e){if(!(e.RTCPeerConnection&&"createDataChannel"in e.RTCPeerConnection.prototype))return;function n(e,n){let r=e.send;e.send=function(){let i=arguments[0],o=i.length||i.size||i.byteLength;if("open"===e.readyState&&n.sctp&&o>n.sctp.maxMessageSize)throw TypeError("Message too large (can send a maximum of "+n.sctp.maxMessageSize+" bytes)");return r.apply(e,arguments)}}let r=e.RTCPeerConnection.prototype.createDataChannel;e.RTCPeerConnection.prototype.createDataChannel=function(){let e=r.apply(this,arguments);return n(e,this),e},au(e,"datachannel",e=>(n(e.channel,e.target),e))}function a0(e){if(!e.RTCPeerConnection||"connectionState"in e.RTCPeerConnection.prototype)return;let n=e.RTCPeerConnection.prototype;Object.defineProperty(n,"connectionState",{get(){return({completed:"connected",checking:"connecting"})[this.iceConnectionState]||this.iceConnectionState},enumerable:!0,configurable:!0}),Object.defineProperty(n,"onconnectionstatechange",{get(){return this._onconnectionstatechange||null},set(e){this._onconnectionstatechange&&(this.removeEventListener("connectionstatechange",this._onconnectionstatechange),delete this._onconnectionstatechange),e&&this.addEventListener("connectionstatechange",this._onconnectionstatechange=e)},enumerable:!0,configurable:!0}),["setLocalDescription","setRemoteDescription"].forEach(e=>{let r=n[e];n[e]=function(){return this._connectionstatechangepoly||(this._connectionstatechangepoly=e=>{let n=e.target;if(n._lastConnectionState!==n.connectionState){n._lastConnectionState=n.connectionState;let r=new Event("connectionstatechange",e);n.dispatchEvent(r)}return e},this.addEventListener("iceconnectionstatechange",this._connectionstatechangepoly)),r.apply(this,arguments)}})}function a1(e,n){if(!e.RTCPeerConnection||"chrome"===n.browser&&n.version>=71||"safari"===n.browser&&n._safariVersion>=13.1)return;let r=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(n){if(n&&n.sdp&&-1!==n.sdp.indexOf("\na=extmap-allow-mixed")){let r=n.sdp.split("\n").filter(e=>"a=extmap-allow-mixed"!==e.trim()).join("\n");e.RTCSessionDescription&&n instanceof e.RTCSessionDescription?arguments[0]=new e.RTCSessionDescription({type:n.type,sdp:r}):n.sdp=r}return r.apply(this,arguments)}}function a2(e,n){if(!(e.RTCPeerConnection&&e.RTCPeerConnection.prototype))return;let r=e.RTCPeerConnection.prototype.addIceCandidate;r&&0!==r.length&&(e.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?("chrome"===n.browser&&n.version<78||"firefox"===n.browser&&n.version<68||"safari"===n.browser)&&arguments[0]&&""===arguments[0].candidate?Promise.resolve():r.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())})}function a3(e,n){if(!(e.RTCPeerConnection&&e.RTCPeerConnection.prototype))return;let r=e.RTCPeerConnection.prototype.setLocalDescription;r&&0!==r.length&&(e.RTCPeerConnection.prototype.setLocalDescription=function(){let e=arguments[0]||{};if("object"!=typeof e||e.type&&e.sdp)return r.apply(this,arguments);if(!(e={type:e.type,sdp:e.sdp}).type)switch(this.signalingState){case"stable":case"have-local-offer":case"have-remote-pranswer":e.type="offer";break;default:e.type="answer"}return e.sdp||"offer"!==e.type&&"answer"!==e.type?r.apply(this,[e]):("offer"===e.type?this.createOffer:this.createAnswer).apply(this).then(e=>r.apply(this,[e]))})}let a4=function({window:e}={},n={shimChrome:!0,shimFirefox:!0,shimSafari:!0}){let r=function(e){let n={browser:null,version:null};if(void 0===e||!e.navigator||!e.navigator.userAgent)return n.browser="Not a browser.",n;let{navigator:r}=e;if(r.userAgentData&&r.userAgentData.brands){let e=r.userAgentData.brands.find(e=>"Chromium"===e.brand);if(e)return{browser:"chrome",version:parseInt(e.version,10)}}return r.mozGetUserMedia?(n.browser="firefox",n.version=parseInt(al(r.userAgent,/Firefox\/(\d+)\./,1))):r.webkitGetUserMedia||!1===e.isSecureContext&&e.webkitRTCPeerConnection?(n.browser="chrome",n.version=parseInt(al(r.userAgent,/Chrom(e|ium)\/(\d+)\./,2))):e.RTCPeerConnection&&r.userAgent.match(/AppleWebKit\/(\d+)\./)?(n.browser="safari",n.version=parseInt(al(r.userAgent,/AppleWebKit\/(\d+)\./,1)),n.supportsUnifiedPlan=e.RTCRtpTransceiver&&"currentDirection"in e.RTCRtpTransceiver.prototype,n._safariVersion=al(r.userAgent,/Version\/(\d+(\.?\d+))/,1)):n.browser="Not a supported browser.",n}(e),i={browserDetails:r,commonShim:C,extractVersion:al,disableLog:af,disableWarnings:ap,sdp:a$};switch(r.browser){case"chrome":if(!S||!aC||!n.shimChrome){ah("Chrome shim is not included in this adapter release.");break}if(null===r.version){ah("Chrome shim can not determine version, not shimming.");break}ah("adapter.js shimming chrome."),i.browserShim=S,a2(e,r),a3(e,r),ay(e,r),ab(e,r),aC(e,r),a_(e,r),aT(e,r),aw(e,r),aS(e,r),ax(e,r),aK(e,r),aY(e,r),a0(e,r),aQ(e,r),aZ(e,r),a1(e,r);break;case"firefox":if(!R||!aI||!n.shimFirefox){ah("Firefox shim is not included in this adapter release.");break}ah("adapter.js shimming firefox."),i.browserShim=R,a2(e,r),a3(e,r),aE(e,r),aI(e,r),ak(e,r),aj(e,r),aM(e,r),aP(e,r),aA(e,r),aD(e,r),aB(e,r),aN(e,r),aL(e,r),aK(e,r),a0(e,r),aQ(e,r),aZ(e,r);break;case"safari":if(!T||!n.shimSafari){ah("Safari shim is not included in this adapter release.");break}ah("adapter.js shimming safari."),i.browserShim=T,a2(e,r),a3(e,r),az(e,r),aW(e,r),aq(e,r),aU(e,r),aF(e,r),aG(e,r),aH(e,r),aX(e,r),aK(e,r),aY(e,r),aQ(e,r),aZ(e,r),a1(e,r);break;default:ah("Unsupported browser!")}return i}({window:"undefined"==typeof window?void 0:window});(c5=c9||(c9={})).DEFAULT_BRTC_SDK_URL="https://brtc-sdk.cdn.bcebos.com/npm/baidurtc@1.2.19/baidu.rtc.sdk.js",c5.DEFAULT_BRTC_CLIENT_CONFIG={displayName:"AaaSPilot Kit",debugLevel:!1,rtcOptions:{},cfg:{tag:"H5.SDK",llm:"LLMMute",tts:"MUTE"},silenceTimeoutMs:1e4};let a5=e=>{if(e)return"string"==typeof e?e:e.id};class a6 extends sO{static #F=this.MESSAGE_INTERVAL_THRESHOLD=5e3;preloadDeps(){if("undefined"==typeof window){let e="Window object not available";return this.errorManager.handleError(new rT(e)),Promise.reject(Error(e))}if(window.adapter||(window.adapter=null!=a4?a4:x),"function"!=typeof window.BRTC_Start){let e='RTC SDK not loaded. Ensure "baidurtc" is imported correctly.';return this.errorManager.handleError(new rT(e)),Promise.reject(Error(e))}return Promise.resolve()}makeStartOptions(){return{...c9.DEFAULT_BRTC_CLIENT_CONFIG,cfg:{...c9.DEFAULT_BRTC_CLIENT_CONFIG.cfg,asr_vad:this.opts.asrVad,lang:(e=>{if(!e)return ii[is];let n=ii[e];return n||(console.warn(`[AaaSPilotKit] 不支持的语言代码 "${e}",已自动回退到中文。支持的语言:${Object.keys(ii).join(", ")}`),ii[is])})(this.opts.lang)}}}parseMessage(e){let n=e.replace(/\[Q\]:?|\[M\]:?|\[C\]:?|\[A\]:?|\[H\]:?|\[E\]:?|\[B\]:?|\[T\]:?/g,"").trim(),r=cY.EMessageType.Event,i=!0,o=!1;return o=e.includes("VOICE_COMING"),e.includes("[Q]")&&(r=cY.EMessageType.Query),e.includes("[E]")&&(r=cY.EMessageType.Event),i=!e.includes("[M]"),{type:r,continued:e.includes("[C]"),data:n,completed:i,isCollectingSounds:o}}constructor(...e){super(...e),this.silenceTimer=null,this.lastMessageTime=0,this.messageIntervalTimer=null,this.start=async()=>{if(this.started)return;if(this.opts.checkAudioDeviceBeforeStart){let e=await this.checkAudioDevice();if(!e.available)throw new rT("音频设备检测失败,无法启动 ASR",{context:{checkResult:e}})}let{displayName:e,debugLevel:n,rtcOptions:{remoteVideoElement:r,localVideoElement:i},cfg:o,silenceTimeoutMs:s}=this.makeStartOptions();return new Promise((a,c)=>{this.signalingService.Start({debuglevel:n,cfg:o,displayname:e,remotevideoviewid:a5(r),localvideoviewid:a5(i),usingremotemediastate:!0,success:()=>{this.started=!0,this.emitter.emit("start",{sessionId:this.sessionId}).catch(r3),a()},error:e=>{this.errorManager.handleError(new rk(e||"",{sessionId:this.sessionId})),c(Error(e||""))},onmessage:e=>{try{let n=this.parseMessage(e.data);if(e.data.includes("VOICE_COMING")||(this.emitter.emitSerial("message",{...n,sessionId:this.sessionId}).catch(r3),this.checkMessageInterval(n)),0!==s){let r=""===n.data;(e.data.includes("[E]")||e.data.includes("VOICE_COMING"))&&r?this.triggerSilence():this.resetSilenceTimer()}}catch(e){e instanceof Error&&this.errorManager.handleError(new rE(e.message,{sessionId:this.sessionId}))}},userevent_joinedroom:(e,n,r)=>{this.emitter.emit("user_joined_room",{id:e,display:n,attribute:r,sessionId:this.sessionId})},userevent_leavingroom:(e,n)=>{this.emitter.emit("user_leaving_room",{id:e,display:n,sessionId:this.sessionId})},remotemediastating:(e,n,r)=>{this.emitter.emit("media_state_changed",{id:e,medium:n,on:r,sessionId:this.sessionId})}})})},this.stop=async()=>{try{await this._stop()}catch(e){e instanceof Error&&this.errorManager.handleError(new rC(e.message,{sessionId:this.sessionId}))}this.emitter.emit("stop",{sessionId:this.signalingService.GetSessionID()})},this.dispose=()=>{this._dispose(),this.silenceTimer&&(window.clearTimeout(this.silenceTimer),this.silenceTimer=null),this.messageIntervalTimer&&(window.clearTimeout(this.messageIntervalTimer),this.messageIntervalTimer=null),this.lastMessageTime=0},this.resetSilenceTimer=()=>{null!==this.silenceTimer&&window.clearTimeout(this.silenceTimer),this.silenceTimer=window.setTimeout(()=>{this.emitter.emit("silence",{sessionId:this.signalingService.GetSessionID()})},this.makeStartOptions().silenceTimeoutMs)},this.triggerSilence=()=>{this.emitter.emit("silence",{sessionId:this.signalingService.GetSessionID()}),this.resetSilenceTimer()},this.checkMessageInterval=e=>{let n=Date.now();if(e.completed){this.messageIntervalTimer&&(window.clearTimeout(this.messageIntervalTimer),this.messageIntervalTimer=null),this.lastMessageTime=0;return}if(0===this.lastMessageTime)this.lastMessageTime=n,this.messageIntervalTimer=window.setTimeout(()=>{this.errorManager.handleError(new rO(`ASR消息间隔超过${a6.MESSAGE_INTERVAL_THRESHOLD}ms阈值`,{sessionId:this.sessionId,context:{lastMessageTime:this.lastMessageTime,currentTime:n,threshold:a6.MESSAGE_INTERVAL_THRESHOLD}}))},a6.MESSAGE_INTERVAL_THRESHOLD);else{let e=n-this.lastMessageTime;e>a6.MESSAGE_INTERVAL_THRESHOLD&&this.errorManager.handleError(new rO(`ASR消息间隔${e}ms超过${a6.MESSAGE_INTERVAL_THRESHOLD}ms阈值`,{sessionId:this.sessionId,context:{lastMessageTime:this.lastMessageTime,currentTime:n,interval:e,threshold:a6.MESSAGE_INTERVAL_THRESHOLD}})),this.lastMessageTime=n,this.messageIntervalTimer&&window.clearTimeout(this.messageIntervalTimer),this.messageIntervalTimer=window.setTimeout(()=>{this.errorManager.handleError(new rO(`ASR消息间隔超过${a6.MESSAGE_INTERVAL_THRESHOLD}ms阈值`,{sessionId:this.sessionId,context:{lastMessageTime:this.lastMessageTime,currentTime:Date.now(),threshold:a6.MESSAGE_INTERVAL_THRESHOLD}}))},a6.MESSAGE_INTERVAL_THRESHOLD)}}}}function a8(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,i)}return r}function a9(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?a8(Object(r),!0).forEach(function(n){cs(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a8(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function a7(){a7=function(){return n};var e,n={},r=Object.prototype,i=r.hasOwnProperty,o=Object.defineProperty||function(e,n,r){e[n]=r.value},s="function"==typeof Symbol?Symbol:{},a=s.iterator||"@@iterator",c=s.asyncIterator||"@@asyncIterator",d=s.toStringTag||"@@toStringTag";function l(e,n,r){return Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[n]}try{l({},"")}catch(e){l=function(e,n,r){return e[n]=r}}function u(n,r,i,s){var a,c,d,l,u=Object.create((r&&r.prototype instanceof g?r:g).prototype);return o(u,"_invoke",{value:(a=n,c=i,d=new O(s||[]),l=p,function(n,r){if(l===h)throw Error("Generator is already running");if(l===m){if("throw"===n)throw r;return{value:e,done:!0}}for(d.method=n,d.arg=r;;){var i=d.delegate;if(i){var o=function n(r,i){var o=i.method,s=r.iterator[o];if(s===e)return i.delegate=null,"throw"===o&&r.iterator.return&&(i.method="return",i.arg=e,n(r,i),"throw"===i.method)||"return"!==o&&(i.method="throw",i.arg=TypeError("The iterator does not provide a '"+o+"' method")),v;var a=f(s,r.iterator,i.arg);if("throw"===a.type)return i.method="throw",i.arg=a.arg,i.delegate=null,v;var c=a.arg;return c?c.done?(i[r.resultName]=c.value,i.next=r.nextLoc,"return"!==i.method&&(i.method="next",i.arg=e),i.delegate=null,v):c:(i.method="throw",i.arg=TypeError("iterator result is not an object"),i.delegate=null,v)}(i,d);if(o){if(o===v)continue;return o}}if("next"===d.method)d.sent=d._sent=d.arg;else if("throw"===d.method){if(l===p)throw l=m,d.arg;d.dispatchException(d.arg)}else"return"===d.method&&d.abrupt("return",d.arg);l=h;var s=f(a,c,d);if("normal"===s.type){if(l=d.done?m:"suspendedYield",s.arg===v)continue;return{value:s.arg,done:d.done}}"throw"===s.type&&(l=m,d.method="throw",d.arg=s.arg)}})}),u}function f(e,n,r){try{return{type:"normal",arg:e.call(n,r)}}catch(e){return{type:"throw",arg:e}}}n.wrap=u;var p="suspendedStart",h="executing",m="completed",v={};function g(){}function y(){}function b(){}var _={};l(_,a,function(){return this});var w=Object.getPrototypeOf,S=w&&w(w(k([])));S&&S!==r&&i.call(S,a)&&(_=S);var R=b.prototype=g.prototype=Object.create(_);function T(e){["next","throw","return"].forEach(function(n){l(e,n,function(e){return this._invoke(n,e)})})}function C(e,n){var r;o(this,"_invoke",{value:function(o,s){function a(){return new n(function(r,a){!function r(o,s,a,c){var d=f(e[o],e,s);if("throw"!==d.type){var l=d.arg,u=l.value;return u&&"object"==typeof u&&i.call(u,"__await")?n.resolve(u.__await).then(function(e){r("next",e,a,c)},function(e){r("throw",e,a,c)}):n.resolve(u).then(function(e){l.value=e,a(l)},function(e){return r("throw",e,a,c)})}c(d.arg)}(o,s,r,a)})}return r=r?r.then(a,a):a()}})}function x(e){var n={tryLoc:e[0]};1 in e&&(n.catchLoc=e[1]),2 in e&&(n.finallyLoc=e[2],n.afterLoc=e[3]),this.tryEntries.push(n)}function E(e){var n=e.completion||{};n.type="normal",delete n.arg,e.completion=n}function O(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function k(n){if(n||""===n){var r=n[a];if(r)return r.call(n);if("function"==typeof n.next)return n;if(!isNaN(n.length)){var o=-1,s=function r(){for(;++o<n.length;)if(i.call(n,o))return r.value=n[o],r.done=!1,r;return r.value=e,r.done=!0,r};return s.next=s}}throw TypeError(typeof n+" is not iterable")}return y.prototype=b,o(R,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:y,configurable:!0}),y.displayName=l(b,d,"GeneratorFunction"),n.isGeneratorFunction=function(e){var n="function"==typeof e&&e.constructor;return!!n&&(n===y||"GeneratorFunction"===(n.displayName||n.name))},n.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,l(e,d,"GeneratorFunction")),e.prototype=Object.create(R),e},n.awrap=function(e){return{__await:e}},T(C.prototype),l(C.prototype,c,function(){return this}),n.AsyncIterator=C,n.async=function(e,r,i,o,s){void 0===s&&(s=Promise);var a=new C(u(e,r,i,o),s);return n.isGeneratorFunction(r)?a:a.next().then(function(e){return e.done?e.value:a.next()})},T(R),l(R,d,"Generator"),l(R,a,function(){return this}),l(R,"toString",function(){return"[object Generator]"}),n.keys=function(e){var n=Object(e),r=[];for(var i in n)r.push(i);return r.reverse(),function e(){for(;r.length;){var i=r.pop();if(i in n)return e.value=i,e.done=!1,e}return e.done=!0,e}},n.values=k,O.prototype={constructor:O,reset:function(n){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(E),!n)for(var r in this)"t"===r.charAt(0)&&i.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(n){if(this.done)throw n;var r=this;function o(i,o){return c.type="throw",c.arg=n,r.next=i,o&&(r.method="next",r.arg=e),!!o}for(var s=this.tryEntries.length-1;s>=0;--s){var a=this.tryEntries[s],c=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var d=i.call(a,"catchLoc"),l=i.call(a,"finallyLoc");if(d&&l){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(d){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!l)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.finallyLoc)}}}},abrupt:function(e,n){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var s=o;break}}s&&("break"===e||"continue"===e)&&s.tryLoc<=n&&n<=s.finallyLoc&&(s=null);var a=s?s.completion:{};return a.type=e,a.arg=n,s?(this.method="next",this.next=s.finallyLoc,v):this.complete(a)},complete:function(e,n){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&n&&(this.next=n),v},finish:function(e){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),E(r),v}},catch:function(e){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc===e){var i=r.completion;if("throw"===i.type){var o=i.arg;E(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(n,r,i){return this.delegate={iterator:k(n),resultName:r,nextLoc:i},"next"===this.method&&(this.arg=e),v}},n}function ce(e){return(ce="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ct(e,n,r,i,o,s,a){try{var c=e[s](a),d=c.value}catch(e){return void r(e)}c.done?n(d):Promise.resolve(d).then(i,o)}function cn(e){return function(){var n=this,r=arguments;return new Promise(function(i,o){var s=e.apply(n,r);function a(e){ct(s,i,o,a,c,"next",e)}function c(e){ct(s,i,o,a,c,"throw",e)}a(void 0)})}}function cr(e,n){if(!(e instanceof n))throw TypeError("Cannot call a class as a function")}function ci(e,n){for(var r=0;r<n.length;r++){var i=n[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,ca(i.key),i)}}function co(e,n,r){return n&&ci(e.prototype,n),r&&ci(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function cs(e,n,r){return(n=ca(n))in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function ca(e){var n=function(e,n){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,n||"default");if("object"!=typeof i)return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==typeof n?n:String(n)}a6=function(e,n,r,i){var o,s=arguments.length,a=s<3?n:null===i?i=Object.getOwnPropertyDescriptor(n,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,n,r,i);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(a=(s<3?o(a):s>3?o(n,r,a):o(n,r))||a);return s>3&&a&&Object.defineProperty(n,r,a),a}([eb(),ew()],a6);var cc=__webpack_require__("../../node_modules/lodash/isString.js"),cd=__webpack_require__.n(cc),cl=__webpack_require__("../../node_modules/lodash/isObject.js"),cu=__webpack_require__.n(cl),cf=__webpack_require__("../../node_modules/lodash/cloneDeep.js"),cp=__webpack_require__.n(cf);class ch{static isJsonStr(e){if(cd()(e))try{let n=JSON.parse(e);return!!cu()(n)}catch(e){}return!1}static parse(e){let n={};try{n=JSON.parse(e||"{}")}catch(n){console.error("JSON.parse Error:",e)}return n||{}}static stringify(e){let n="";try{n=JSON.stringify(e||{})}catch(n){console.error("JSON.stringify error:",e)}return n||"{}"}static getParseValue(e){try{return e&&cd()(e)?ch.parse(e):e}catch(n){return console.info("JSON parse error",e),e}}static parseObj(e,n){let r=cp()(e);return n.forEach(n=>{if(Object.keys(e).includes(n))try{r[n]=ch.parse(e[n]),console.log(n,r[n])}catch(e){console.error(`Failed to parse JSON for key "${n}":`,e)}}),r}static stringifyObj(e,n){let r=cp()(e);return n.forEach(n=>{Object.keys(e).includes(n)&&(r[n]=ch.stringify(e[n]))}),r}}var cm,cv,cg,cy,cb,c_,cw,cS,cR,cT,cC,cx,cE,cO,ck,cI,cM,cP,cj,cA,cD,cB,cN,cL,cU,cF,cq,cH,cV,cz,cG,cW,cX,c$,cJ,cK,cY,cQ,cZ,c0,c1,c2,c3,c4,c5,c6,c8,c9,c7,de,dt=__webpack_require__("../../node_modules/lodash/isEmpty.js"),dn=__webpack_require__.n(dt),dr=__webpack_require__("../../node_modules/lodash/omit.js"),di=__webpack_require__.n(dr),ds=__webpack_require__("../../node_modules/lodash/pick.js"),da=__webpack_require__.n(ds),dc=["projectId","characterConfigId","configVersion","selectors","figureName","reConnect"];(s=c7||(c7={})).DH_LIB_INIT="DH_LIB_INIT",s.DH_LIB_WS_SUCCESS="DH_LIB_WS_SUCCESS",s.DH_LIB_OPEN="DH_LIB_OPEN",s.DH_LIB_STATUS="DH_LIB_STATUS",s.DH_LIB_CLOSE="DH_LIB_CLOSE",s.DH_LIB_ERROR="DH_LIB_ERROR",s.DH_LIB_WARNING="DH_LIB_WARNING",s.DH_LIB_FULL_STATUS="DH_LIB_FULL_STATUS",s.DH_LIB_MESSAGE="DH_LIB_MESSAGE",(a=de||(de={})).CONNECT_ERROR="CONNECT_ERROR",a.DISCONNECT_ALERT="DISCONNECT_ALERT",a.TIMEOUT_EXIT="TIMEOUT_EXIT",a.LOCAL_VIDEO_MUTED="LOCAL_VIDEO_MUTED",a.LOCAL_VIDEO_ERROR="LOCAL_VIDEO_ERROR",a.RTC_ERROR="RTC_ERROR";var dd={"-1":"UNINSTANTIATED",0:"CONNECTING",1:"OPEN",2:"CLOSING",3:"CLOSED"},dl=__webpack_require__("../../node_modules/fast-unique-numbers/build/es5/bundle.js");let du=(c=e=>{let n=new Map([[0,()=>{}]]),r=new Map([[0,()=>{}]]),i=new Map,o=new Worker(e);return o.addEventListener("message",({data:e})=>{let o;if(void 0!==(o=e).method&&"call"===o.method){let{params:{timerId:o,timerType:s}}=e;if("interval"===s){let e=n.get(o);if("number"==typeof e){let n=i.get(e);if(void 0===n||n.timerId!==o||n.timerType!==s)throw Error("The timer is in an undefined state.")}else if(void 0!==e)e();else throw Error("The timer is in an undefined state.")}else if("timeout"===s){let e=r.get(o);if("number"==typeof e){let n=i.get(e);if(void 0===n||n.timerId!==o||n.timerType!==s)throw Error("The timer is in an undefined state.")}else if(void 0!==e)e(),r.delete(o);else throw Error("The timer is in an undefined state.")}}else{let o;if(null===(o=e).error&&"number"==typeof o.id){let{id:o}=e,s=i.get(o);if(void 0===s)throw Error("The timer is in an undefined state.");let{timerId:a,timerType:c}=s;i.delete(o),"interval"===c?n.delete(a):r.delete(a)}else{let{error:{message:n}}=e;throw Error(n)}}}),{clearInterval:e=>{let r=(0,dl.generateUniqueNumber)(i);i.set(r,{timerId:e,timerType:"interval"}),n.set(e,r),o.postMessage({id:r,method:"clear",params:{timerId:e,timerType:"interval"}})},clearTimeout:e=>{let n=(0,dl.generateUniqueNumber)(i);i.set(n,{timerId:e,timerType:"timeout"}),r.set(e,n),o.postMessage({id:n,method:"clear",params:{timerId:e,timerType:"timeout"}})},setInterval:(e,r=0)=>{let i=(0,dl.generateUniqueNumber)(n);return n.set(i,()=>{e(),"function"==typeof n.get(i)&&o.postMessage({id:null,method:"set",params:{delay:r,now:performance.now(),timerId:i,timerType:"interval"}})}),o.postMessage({id:null,method:"set",params:{delay:r,now:performance.now(),timerId:i,timerType:"interval"}}),i},setTimeout:(e,n=0)=>{let i=(0,dl.generateUniqueNumber)(r);return r.set(i,e),o.postMessage({id:null,method:"set",params:{delay:n,now:performance.now(),timerId:i,timerType:"timeout"}}),i}}},d='(()=>{"use strict";const e=new Map,t=new Map,r=(e,t)=>{let r,o;const i=performance.now();r=i,o=e-Math.max(0,i-t);return{expected:r+o,remainingDelay:o}},o=(e,t,r,i)=>{const s=performance.now();s>r?postMessage({id:null,method:"call",params:{timerId:t,timerType:i}}):e.set(t,setTimeout(o,r-s,e,t,r,i))};addEventListener("message",(i=>{let{data:s}=i;try{if("clear"===s.method){const{id:r,params:{timerId:o,timerType:i}}=s;if("interval"===i)(t=>{const r=e.get(t);if(void 0===r)throw new Error(\'There is no interval scheduled with the given id "\'.concat(t,\'".\'));clearTimeout(r),e.delete(t)})(o),postMessage({error:null,id:r});else{if("timeout"!==i)throw new Error(\'The given type "\'.concat(i,\'" is not supported\'));(e=>{const r=t.get(e);if(void 0===r)throw new Error(\'There is no timeout scheduled with the given id "\'.concat(e,\'".\'));clearTimeout(r),t.delete(e)})(o),postMessage({error:null,id:r})}}else{if("set"!==s.method)throw new Error(\'The given method "\'.concat(s.method,\'" is not supported\'));{const{params:{delay:i,now:n,timerId:a,timerType:d}}=s;if("interval"===d)((t,i,s)=>{const{expected:n,remainingDelay:a}=r(t,s);e.set(i,setTimeout(o,a,e,i,n,"interval"))})(i,a,n);else{if("timeout"!==d)throw new Error(\'The given type "\'.concat(d,\'" is not supported\'));((e,i,s)=>{const{expected:n,remainingDelay:a}=r(e,s);t.set(i,setTimeout(o,a,t,i,n,"timeout"))})(i,a,n)}}}}catch(e){postMessage({error:{message:e.message},id:s.id,result:null})}}))})();',o=null,()=>{if(null!==o)return o;let e=new Blob([d],{type:"application/javascript; charset=utf-8"}),n=URL.createObjectURL(e);return o=c(n),setTimeout(()=>URL.revokeObjectURL(n)),o}),df=(...e)=>du().setTimeout(...e);(l=y||(y={}))[l.UNINSTANTIATED=-1]="UNINSTANTIATED",l[l.CONNECTING=0]="CONNECTING",l[l.OPEN=1]="OPEN",l[l.CLOSING=2]="CLOSING",l[l.CLOSED=3]="CLOSED",(u=b||(b={}))[u.CLOSE_INTERRUPT_WITH_NEW_URL=4e3]="CLOSE_INTERRUPT_WITH_NEW_URL";var dp=__webpack_require__("../../node_modules/lodash/get.js"),dh=__webpack_require__.n(dp),dm=function(e){function n(e){var r,i=this;cr(this,n),cs(this,"dhServerSocket",null),cs(this,"preConnectSuccess",!1),cs(this,"connectParams",null),cs(this,"socketClosingPromise",null),cs(this,"url",void 0),cs(this,"firstConnect",!0),cs(this,"sendPreConnect",function(e,n){var r,o=e.token,s=e.sessionId,a=e.onConnect;null==(r=i.dhServerSocket)||r.request({action:"RE_CONNECT",requestId:r2(),body:JSON.stringify({token:o,sessionId:s})}).on(function(e,r){null==a||a(e),0!==e.code&&(r(),i.handleConnect()),null==n||n(i.dhServerSocket)}),i.firstConnect=!1}),cs(this,"createSocket",function(e,n){return(r=r||cn(a7().mark(function e(n,r){var o,s;return a7().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(i.connectParams=n,o=n.sessionId,s=n.onDigitalHumanCallback,!i.socketClosingPromise){e.next=5;break}return e.next=5,i.socketClosingPromise;case 5:if(!i.dhServerSocket){e.next=8;break}return e.next=8,i.closeSocket();case 8:return e.abrupt("return",new Promise(function(e,a){var c={keepAlive:"heartbeat",reopen:dh()(i.connectParams,"reConnect",!0),combine:function(e,n){return e&&n&&e.requestId===n.requestId},onOpen:function(){i.dhServerSocket=d,o&&i.firstConnect?i.sendPreConnect(n,e):r&&i.firstConnect||i.handleConnect()},onClose:function(){i.dhServerSocket=null,i.socketClosingPromise=null},onError:function(e){a(e)}},d=function(e,n={}){let r=e,i=0,o=0,s=0,a=!1,c=n?.reopenDelay??5e3,d=!0,l=!1,u=0,f=new Set,p=new Set,h=new Set;function m(){a=!1,i=0,d=!0,c=n?.reopenDelay??5e3}function v(e){let{reopen:r=!0,reopenAttempts:l=10,reopenDelayIncrease:u,onReopenAttemptEnd:f}=n;if(i>=l||!r){let e;return m(),d&&o&&(e=o,du().clearTimeout(e)),void("function"==typeof f&&f(d))}s=df(()=>{a=!0,e.open(),i++},c="function"==typeof u?u({reopenCount:i,preDelay:c,isServerClosed:d}):c)}let g={socket:null,messages:[],get readyState(){return this.socket?this.socket.readyState:y.UNINSTANTIATED},get isOpened(){return y.OPEN===this.readyState},get isActive(){return y.CONNECTING===this.readyState||y.OPEN===this.readyState},open(){let e;if(this.isActive)return this;s&&!a&&(e=s,du().clearTimeout(e));let i=this.socket=new WebSocket(r,n?.protocols);return this._dispchReadyStateChangeEvent(),i.addEventListener("open",this._dispchReadyStateChangeEvent),i.addEventListener("close",this._dispchReadyStateChangeEvent),i.addEventListener("error",this._dispchReadyStateChangeEvent),i.onopen=e=>{let r,{onOpen:s,onMessage:c,combine:l,reopenDelay:u=5e3}=n;a&&(d?(o&&(r=o,du().clearTimeout(r)),o=df(m,u>1e3?u+100:1e3)):m()),s&&s(e),i.onmessage=e=>{c&&c(e);let n=this.deserialization(e.data);l&&f.forEach(e=>{l(e.requestData,n)&&(e.then?(e.then(n),f.delete(e)):e.on?e.on(n):e.responseData=n)}),p.forEach(e=>e(n))},this.messages.flush(),this._ping()},i.onerror=e=>{n.onError&&n.onError(e),d=!1,v(this)},i.onclose=e=>{let r;e.isInterruptWithNewUrl=l,l=!1,u&&(r=u,du().clearTimeout(r));let{reopenWhenServerClosed:o=!0,onClose:s,onServerClose:a}=n;d&&a&&a(e),s&&s(e),this._dispose(i),d&&o&&v(this)},this},openWithNewUrl(e){return e&&this.isActive&&e===r?this:(r=e||r,y.CONNECTING===this.readyState?(this._dispose(),this.socket?.close()):this.isActive&&this.close(b.CLOSE_INTERRUPT_WITH_NEW_URL,"interrupt by new url"),this.open())},close(e=1e3,n){return this.socket?new Promise(r=>{d=!1,b.CLOSE_INTERRUPT_WITH_NEW_URL===e&&(l=!0);let i=()=>{this.socket?.removeEventListener("close",i),this._dispose(this.socket),r()};this.socket?.addEventListener("close",i),this.socket?.close(e,n),this._dispchReadyStateChangeEvent()}):Promise.resolve()},connect(){return this.open()},disconnect(e,n){return this.close(e,n)},send(e){let{socket:n}=this;if(!n)return this;if(y.CONNECTING===n.readyState)return this.messages.push(e),this;e instanceof Function&&(e=e(r2()));let r=this.serialization(e);return n.send(r),this},request(e){if(!n?.combine)throw Error("Request failed! unconfigured combine, this configuration is required to use the request api.");e instanceof Function&&(e=e(r2())),this.send(e);let r={requestData:e,responseData:null};return f.add(r),{then(e){if(r.on&&console.warn('You have already registered for the "on" callback.'),r.responseData){let n=e(r.responseData);return n instanceof Promise?n:Promise.resolve(n)}return new Promise(e=>{r.then=n=>e(n)}).then(n=>e(n))},on(e,n=!0){r.then&&console.warn('You have already registered for the "then" callback.'),r.on=n=>{e(n,()=>{f.delete(r)})},r.responseData&&n&&r.on(r.responseData)}}},receive(){return new Promise(e=>{let n=this.onReceive(r=>{n(),e(r)})})},onReceive:e=>(p.add(e),()=>{p.delete(e)}),onMessage(e){return this.onReceive(e)},_dispchReadyStateChangeEvent(){h.forEach(e=>e(this.readyState))},_dispose(e){(e=e??this.socket)&&(e.removeEventListener("open",this._dispchReadyStateChangeEvent),e.removeEventListener("close",this._dispchReadyStateChangeEvent),e.removeEventListener("error",this._dispchReadyStateChangeEvent),e.onopen=null,e.onclose=null,e.onerror=null)},_ping(){let e,{keepAlive:r="none"}=n;u&&(e=u,du().clearTimeout(e)),"none"!==r&&this.isOpened&&(u=df(()=>{if(!this.isOpened)return;let e=n?.getKeepAliveMessage?n?.getKeepAliveMessage(r2()):{requestId:r2(),action:"heartbeat"===r?"HEART_BEAT":"PING"};"heartbeat"===n.keepAlive?(this.send(e),this._ping()):this.request(e).then(()=>{this._ping()}).catch(e=>{console.error(e)})},n?.keepAliveDelay||3e3))},onReadyStateChange:e=>(h.add(e),()=>{h.delete(e)}),serialization:e=>"[object Object]"===Object.prototype.toString.call(e)||Array.isArray(e)||"number"==typeof e?JSON.stringify(e):e,deserialization(e){if("string"==typeof e){let n=e;try{n=JSON.parse(e)}catch(r){n=e}return n}return e}};return g.messages.flush=function(){let e=[...this];if(this.length=0,e.length)for(let n of e)g.send(n)},g}(i.url,c);d.onReadyStateChange(function(e){0===e&&s&&s({status:c7.DH_LIB_INIT}),1===e&&r&&(i.preConnectSuccess=!0),3===e&&(i.preConnectSuccess=!1),s&&s({status:c7.DH_LIB_FULL_STATUS,content:{type:"wsState",readyState:e,body:dd[e]}})}),d.onMessage(function(e){var n=e.action;[de.TIMEOUT_EXIT,de.DISCONNECT_ALERT].includes(n)&&s&&s({status:c7.DH_LIB_STATUS,content:{type:n}}),[de.TIMEOUT_EXIT,de.DISCONNECT_ALERT,"HEART_BEAT","CONNECT"].includes(n)||s&&s({status:c7.DH_LIB_MESSAGE,content:e})}),r&&(i.dhServerSocket=d),d.open()}));case 9:case"end":return e.stop()}},e)}))).apply(this,arguments)}),cs(this,"closeSocket",cn(a7().mark(function e(){return a7().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(i.dhServerSocket){e.next=2;break}return e.abrupt("return");case 2:return i.socketClosingPromise=i.dhServerSocket.close(),e.next=5,i.socketClosingPromise;case 5:i.dhServerSocket=null;case 6:case"end":return e.stop()}},e)}))),cs(this,"handleConnect",cn(a7().mark(function e(){var n,r,o,s,a,c;return a7().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(i.connectParams){e.next=2;break}return e.abrupt("return");case 2:if(r=(n=i.connectParams).appId,o=n.appKey,s=n.token,a=n.parameters,c=n.onConnect,r||o||s){e.next=5;break}return e.abrupt("return");case 5:i.dhServerSocket&&i.dhServerSocket.request({action:"CONNECT",clientTs:(new Date).getTime(),requestId:r2(),body:JSON.stringify(a9(a9({token:s,appId:r,appKey:o},da()(i.connectParams,dc)),{},{parameters:a9(a9({},di()(a,["parameters"])),a&&a.parameters?a.parameters:{})}))}).on(function(e,n){null==c||c(e),0!==e.code&&n()});case 6:case"end":return e.stop()}},e)}))),this.url=e}return co(n,[{key:"sendMessage",value:function(n,r){return(e=e||cn(a7().mark(function e(n,r){var i;return a7().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:try{this.dhServerSocket&&this.dhServerSocket&&this.dhServerSocket.request(n).on(function(e){r&&r(e)})}catch(e){i="object"===ce(n)&&"requestId"in n?n.requestId:r2(),r&&r({code:-11,body:null,action:"RENDER_ERROR",requestId:i,message:JSON.stringify(e)})}case 1:case"end":return e.stop()}},e,this)}))).apply(this,arguments)}}]),n}();let dv={onLocalStream:()=>{},onLocalVideoPublished:()=>{},onRemoteVideoComing:()=>{},onRemoteVideoOn:()=>{},onRemoteVideoOff:()=>{},onRemoteVideoLoading:()=>{},onSuccess:()=>{},onError:()=>{}};class dg{client;#eZ;#e0;#e1;constructor(e){const{roomName:n,token:r,userId:i,appId:o,server:s,rtcConfig:a,callback:c}=e;if(this.#eZ={server:s,token:r,roomName:n,userId:i,appId:o},this.#e1={...dv,...c},this.#e0=a||{},!(n&&r&&i&&o&&s))return this.#e1.onError?.("RtcConnection is required, please check roomName, token, userId, appId, server"),void console.error("RtcConnection is required, please check roomName, token, userId, appId, server");this.init()}init(){let{BaiduRtcRoomClient:e}=window.baidurtc,n=new e;this.client=n,n.BRTC_Start({server:this.#eZ.server,appid:this.#eZ.appId,token:this.#eZ.token,roomname:this.#eZ.roomName,userid:this.#eZ.userId,displayname:"starling-brtc",remotevideoviewid:"starlingRtcContainer",showvideobps:!1,usingvideo:!1,usingaudio:!1,aspublisher:!1,usingdatachannel:!1,autoplaymuted:!1,autosubscribe:!1,autopublish:!1,usingremotemediastate:!0,...this.#e0||{},remotedata:()=>{},success:this.#e1.onSuccess,error:this.#e1.onError,remotevideocoming:this.#e1.onRemoteVideoComing,remotevideoloading:this.#e1.onRemoteVideoLoading,remotevideoon:this.#e1.onRemoteVideoOn,remotevideooff:this.#e1.onRemoteVideoOff,onlocalstream:this.#e1.onLocalStream,localvideopublished_ok:this.#e1.onLocalVideoPublished,remotevideoconnected_state:this.#e1.onRemoteVideoConnected,remotemediastating:this.#e1.onRemoteMediaState,localvideoconnected_state:this.#e1.onLocalVideoConnected})}destroy(){this.client?.BRTC_Stop()}subscribeStreaming(e,n){this.client?.BRTC_SubscribeStreaming(e,n)}stopSubscribeStreaming(e){this.client?.BRTC_StopSubscribeStreaming(e)}muteMicphone(e){this.client?.BRTC_MuteMicphone(e)}getRemoteVideoInfo(e){return this.client?.BRTC_GetRemoteVideoInfo(e)}getClient(){return this.client}}var dy=void 0===Number.MAX_SAFE_INTEGER?0x1fffffffffffff:Number.MAX_SAFE_INTEGER,db=new WeakMap,d_=(f=db,p=function(e,n){return f.set(e,n),n},h=db,function(e){var n=h.get(e),r=void 0===n?e.size:n<0x40000000?n+1:0;if(!e.has(r))return p(e,r);if(e.size<0x20000000){for(;e.has(r);)r=Math.floor(0x40000000*Math.random());return p(e,r)}if(e.size>dy)throw Error("Congratulations, you created a collection of unique numbers which uses all available integers!");for(;e.has(r);)r=Math.floor(Math.random()*dy);return p(e,r)}),dw=(m=function(e){var n=new Map([[0,function(){}]]),r=new Map([[0,function(){}]]),i=new Map,o=new Worker(e);return o.addEventListener("message",function(e){var o=e.data;if(void 0!==(p=o).method&&"call"===p.method){var s=o.params,a=s.timerId,c=s.timerType;if("interval"===c){var d=n.get(a);if("number"==typeof d){var l=i.get(d);if(void 0===l||l.timerId!==a||l.timerType!==c)throw Error("The timer is in an undefined state.")}else{if(void 0===d)throw Error("The timer is in an undefined state.");d()}}else if("timeout"===c){var u=r.get(a);if("number"==typeof u){var f=i.get(u);if(void 0===f||f.timerId!==a||f.timerType!==c)throw Error("The timer is in an undefined state.")}else{if(void 0===u)throw Error("The timer is in an undefined state.");u(),r.delete(a)}}}else{if(null!==(h=o).error||"number"!=typeof h.id)throw Error(o.error.message);var p,h,m=o.id,v=i.get(m);if(void 0===v)throw Error("The timer is in an undefined state.");var g=v.timerId,y=v.timerType;i.delete(m),"interval"===y?n.delete(g):r.delete(g)}}),{clearInterval:function(e){var r=d_(i);i.set(r,{timerId:e,timerType:"interval"}),n.set(e,r),o.postMessage({id:r,method:"clear",params:{timerId:e,timerType:"interval"}})},clearTimeout:function(e){var n=d_(i);i.set(n,{timerId:e,timerType:"timeout"}),r.set(e,n),o.postMessage({id:n,method:"clear",params:{timerId:e,timerType:"timeout"}})},setInterval:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=d_(n);return n.set(i,function(){e(),"function"==typeof n.get(i)&&o.postMessage({id:null,method:"set",params:{delay:r,now:performance.now(),timerId:i,timerType:"interval"}})}),o.postMessage({id:null,method:"set",params:{delay:r,now:performance.now(),timerId:i,timerType:"interval"}}),i},setTimeout:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=d_(r);return r.set(i,e),o.postMessage({id:null,method:"set",params:{delay:n,now:performance.now(),timerId:i,timerType:"timeout"}}),i}}},v='(()=>{"use strict";const e=new Map,t=new Map,r=(e,t)=>{let r,o;const i=performance.now();r=i,o=e-Math.max(0,i-t);return{expected:r+o,remainingDelay:o}},o=(e,t,r,i)=>{const s=performance.now();s>r?postMessage({id:null,method:"call",params:{timerId:t,timerType:i}}):e.set(t,setTimeout(o,r-s,e,t,r,i))};addEventListener("message",(i=>{let{data:s}=i;try{if("clear"===s.method){const{id:r,params:{timerId:o,timerType:i}}=s;if("interval"===i)(t=>{const r=e.get(t);if(void 0===r)throw new Error(\'There is no interval scheduled with the given id "\'.concat(t,\'".\'));clearTimeout(r),e.delete(t)})(o),postMessage({error:null,id:r});else{if("timeout"!==i)throw new Error(\'The given type "\'.concat(i,\'" is not supported\'));(e=>{const r=t.get(e);if(void 0===r)throw new Error(\'There is no timeout scheduled with the given id "\'.concat(e,\'".\'));clearTimeout(r),t.delete(e)})(o),postMessage({error:null,id:r})}}else{if("set"!==s.method)throw new Error(\'The given method "\'.concat(s.method,\'" is not supported\'));{const{params:{delay:i,now:n,timerId:a,timerType:d}}=s;if("interval"===d)((t,i,s)=>{const{expected:n,remainingDelay:a}=r(t,s);e.set(i,setTimeout(o,a,e,i,n,"interval"))})(i,a,n);else{if("timeout"!==d)throw new Error(\'The given type "\'.concat(d,\'" is not supported\'));((e,i,s)=>{const{expected:n,remainingDelay:a}=r(e,s);t.set(i,setTimeout(o,a,t,i,n,"timeout"))})(i,a,n)}}}}catch(e){postMessage({error:{message:e.message},id:s.id,result:null})}}))})();',g=null,function(){if(null!==g)return g;var e=new Blob([v],{type:"application/javascript; charset=utf-8"}),n=URL.createObjectURL(e);return g=m(n),setTimeout(function(){return URL.revokeObjectURL(n)}),g}),dS=function(e){return dw().clearInterval(e)},dR=function(e){return dw().clearTimeout(e)},dT=function(){var e;return(e=dw()).setInterval.apply(e,arguments)},dC=function(){var e;return(e=dw()).setTimeout.apply(e,arguments)};class dx{running=!1;logger=!0;timeoutDuration;catchMethod;promise=null;reject=null;stopTimeout=null;constructor(e,n){this.timeoutDuration=e,this.catchMethod=n}start(){this.running?this.logger&&console.warn("TimeoutController已启动"):(this.logger&&console.info("TimeoutController开始计时:",this.timeoutDuration),this.running=!0,this.promise=new Promise((e,n)=>{var r,i;let o,s;this.reject=n,this.stopTimeout?.(),this.stopTimeout=(r=()=>{n(Error("TimeoutController超时错误"))},i=this.timeoutDuration,o=-1,s=null,"undefined"!=typeof Worker?s=E:(s=window,console.warn("浏览器不支持 Web Workers,使用 原生 timer 代替")),i>=0&&(o=s.setTimeout(r,i)),()=>{-1!==o&&s.clearTimeout(o),o=-1})}),this.catchMethod&&this.promise?.catch(this.catchMethod))}clear(){this.running?(this.logger&&console.info("TimeoutController停止计时"),this.running=!1,this.stopTimeout?.(),this.stopTimeout=null,this.reject&&(this.reject=null)):this.logger&&console.warn("TimeoutController未启动")}}var dE=__webpack_require__("../../node_modules/lodash/isFunction.js"),dO=__webpack_require__.n(dE),dk=function(){function e(n){var r=this;cr(this,e),cs(this,"client",void 0),cs(this,"isRtcVideoOn",!1),cs(this,"rtcConnection",void 0),cs(this,"rtcConfig",void 0),cs(this,"bizConfig",void 0),cs(this,"rtcCallback",void 0),cs(this,"restarting",!1),cs(this,"timeoutEvent",void 0),cs(this,"reopenTimer",void 0),cs(this,"restartCount",0),cs(this,"closeLog",!0),cs(this,"haveVideoOn",!1),cs(this,"rtcStateCallback",null),cs(this,"openRtc",function(e){if(r.restarting)r.closeLog||console.warn("rtc restarting");else if(e&&(r.rtcConnection=e),r.rtcConnection&&!dn()(r.rtcConnection)){var n=r.rtcConnection,i=n.server,o=n.appId,s=n.token,a=n.roomName,c=n.userId,d=r.rtcCallback||{},l=d.onRemotedata,u=d.onLocalStream,f=d.onRemoteVideoComing,p=d.onLocalVideoPublished,h=d.onLocalVideoPublishing,m=d.onRemoteVideoOn,v=d.onRemoteVideoOff,g=d.onRemoteVideoLoading,y=d.onSuccess,b=d.onError,_=d.onLocalVideoConnected,w=d.onRemoteVideoConnected,S=d.onRemoteMediaState,R=d.onPlayingError,T=d.onDigitalHumanCallback;r.timeoutEvent.start(),r.rtcStateCallback=function(e){var n=e.body,r=e.action;T&&T({status:c7.DH_LIB_FULL_STATUS,content:{type:"rtcState",action:r,body:n}})},r.client=new dg({roomName:a,token:s,userId:c,appId:o,server:i,rtcConfig:r.rtcConfig,callback:{onRemoteVideoConnected:function(n,i){if(!i&&!r.haveVideoOn)var o=setTimeout(function(){r.restartCount<3?(r.restartCount=++r.restartCount,r.restartRtc&&r.restartRtc(e)):(r.restartCount=0,r.closeRtc()),clearTimeout(o)},500);if(i){var s=document.getElementById("remotevideo500");s.muted=!1;var a=s.play();void 0!==a&&a.catch(function(){s.muted=!0,s.play().catch(function(e){r.closeLog||console.info("videoElement play error",e),R&&R(s),T&&T({status:c7.DH_LIB_ERROR,content:{type:de.LOCAL_VIDEO_ERROR}})}),T&&T({status:c7.DH_LIB_STATUS,content:{type:de.LOCAL_VIDEO_MUTED}})})}r.closeLog||console.info("remoteVideoConnected",n,i,r.restartCount),r.rtcStateCallback&&r.rtcStateCallback({action:"remoteVideoConnected",body:{id:n,connected:i,restartCount:r.restartCount}}),dO()(w)&&w(n,i)},onRemoteVideoOn:function(e){r.haveVideoOn=!0,r.closeLog||console.info("remotevideoon by id: ",e),r.timeoutEvent.clear();var n=document.querySelector("#starlingRtcContainer"),i=n&&n.lastChild;i&&(i.style.display="none"),r.rtcStateCallback&&r.rtcStateCallback({action:"remotevideoon",body:e}),T&&T({status:c7.DH_LIB_OPEN}),dO()(m)&&m(e)},onRemoteMediaState:function(e,n,i){r.closeLog||console.info("remoteMediaState",e,n,i),r.rtcStateCallback&&r.rtcStateCallback({action:"remoteMediaState",body:{id:e,medium:n,connected:i}}),dO()(S)&&S(e,n,i)},onLocalVideoConnected:function(e){r.closeLog||console.info("localVideoConnected",e),r.rtcStateCallback&&r.rtcStateCallback({action:"localVideoConnected",body:{connected:e}}),dO()(_)&&_(e)},onRemotedata:function(e){if(r.rtcConfig&&r.rtcConfig.usingdatachannel){var n=ch.parse(e);r.closeLog||console.info("RTC - receive:",n),dO()(l)&&l(n)}},onLocalStream:function(e,n){r.closeLog||console.info("rtc - onlocalstream by name: "+n),r.rtcStateCallback&&r.rtcStateCallback({action:"onlocalstream",body:{stream:e,name:n}}),dO()(u)&&u(e,n)},onLocalVideoPublished:function(){r.closeLog||console.info("LocalVideoPublished 本地视频发布成功"),r.rtcStateCallback&&r.rtcStateCallback({action:"localvideopublished_ok",body:!0}),dO()(p)&&p()},onLocalVideoPublishing:function(){r.closeLog||console.info("LocalVideoPublishing 本地视频发布成功"),r.rtcStateCallback&&r.rtcStateCallback({action:"localvideopublishing",body:!0}),dO()(h)&&h()},onRemoteVideoComing:function(e){r.closeLog||console.info("remotevideocoming",e),r.rtcStateCallback&&r.rtcStateCallback({action:"remotevideocoming",body:e}),dO()(f)&&f(e)},onRemoteVideoLoading:function(e){r.closeLog||console.info("remotevideoloading by id: ",e),r.rtcStateCallback&&r.rtcStateCallback({action:"remotevideoloading",body:e}),dO()(g)&&g(e)},onRemoteVideoOff:function(e){var n=document.getElementById("remotevideo500");n&&n.pause(),r.closeLog||console.info("remotevideooff: ",e),r.isRtcVideoOn=!1,r.rtcStateCallback&&r.rtcStateCallback({action:"remotevideooff",body:e}),T&&T({status:c7.DH_LIB_CLOSE}),dO()(v)&&v(e),r.timeoutEvent.start()},onSuccess:function(){r.closeLog||console.info("rtc - success"),r.rtcStateCallback&&r.rtcStateCallback({action:"success",body:!0}),dO()(y)&&y()},onError:function(n){r.isRtcVideoOn=!1,r.closeLog||console.error("rtc - error:",n),r.rtcStateCallback&&r.rtcStateCallback({action:"error",body:n}),T&&T({status:c7.DH_LIB_ERROR,content:{type:de.RTC_ERROR}}),dO()(b)&&b(n),(n.includes("Lost connection to the server")||n.includes("Is the server down"))&&r.restartRtc&&r.restartRtc(e)}}})}}),cs(this,"closeRtc",function(){r.timeoutEvent.clear(),clearTimeout(r.reopenTimer),r.client&&r.client.destroy(),r.restarting=!1}),cs(this,"restartRtc",function(e){!r.restarting&&r.bizConfig&&r.bizConfig.autoReConnect&&(r.rtcStateCallback&&r.rtcStateCallback({action:"restartRtc",body:e}),r.restarting=!0,r.closeRtc(),r.reopenTimer=setTimeout(function(){r.closeLog||console.error("拉流失败,开始重启"),r.restarting=!1,r.openRtc(e)},2e3))});var i=n.rtcConnection,o=n.rtcConfig,s=n.closeLog,a=n.rtcCallback;this.rtcConnection=i,this.rtcConfig=o,this.rtcCallback=a,this.closeLog=void 0===s||s,this.timeoutEvent=new dx(6e4,function(){if(!r.rtcConnection)return!r.closeLog&&console.warn("remotevideoon事件超时, rtcConnectionRef is null");r.timeoutEvent.clear(),r.restartRtc&&r.restartRtc(r.rtcConnection)})}return co(e,[{key:"muteMicphone",value:function(e){this.client&&this.client.muteMicphone&&this.client.muteMicphone(e)}}]),e}(),dI="starling-cutout-canvas",dM="cloud-brtc-player-wrapper",dP="remotevideo500";function dj(e){var n=document.getElementById(dP);return n&&(n.muted=e),n}function dA(e){var n=document.getElementById(dP);try{if(n)return e?n.play():n.pause()}catch(e){console.info(e)}}var dD=__webpack_require__("../../node_modules/lodash/isNumber.js"),dB=__webpack_require__.n(dD);function dN(e){return(dN="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function dL(e,n){(null==n||n>e.length)&&(n=e.length);for(var r=0,i=Array(n);r<n;r++)i[r]=e[r];return i}var dU=function(e,n,r){var i;return Promise.race([new Promise(function(n){if(e())var i=setInterval(function(){e()||(clearInterval(i),n())},r||100);else n()})].concat(function(e){if(Array.isArray(e))return dL(e)}(i=n?[new Promise(function(e,r){setTimeout(function(){r(Error("overtime"))},n)})]:[])||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(i)||function(e,n){if(e){if("string"==typeof e)return dL(e,void 0);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?dL(e,void 0):void 0}}(i)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()))},dF={exports:{}};w=function(e){var n,r,i,o,s,a,c,d,l=e.document,u=e.console,f={},p={},h={},m={},v=[],g={},y={},b={canvas:[],image:[],video:[]},_={},w=e.WeakMap&&new WeakMap,S=0,R=function(){},T={transparent:[0,0,0,0],black:[0,0,0,1],red:[1,0,0,1],green:[0,128/255,0,1],blue:[0,0,1,1],white:[1,1,1,1],silver:[192/255,192/255,192/255,1],gray:[128/255,128/255,128/255,1],maroon:[128/255,0,0,1],purple:[128/255,0,128/255,1],fuchsia:[1,0,1,1],lime:[0,1,0,1],olive:[128/255,128/255,0,1],yellow:[1,1,0,1],navy:[0,0,128/255,1],teal:[0,128/255,128/255,1],aqua:[0,1,1,1],orange:[1,165/255,0,1]},C=/^(rgb|hsl)a?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*(\d+(\.\d*)?)\s*)?\)/i,x=/^#(([0-9a-fA-F]{3,8}))/,E=["x","y","z","w"],O=["r","g","b","a"],k={srcRGB:770,dstRGB:771,srcAlpha:1,dstAlpha:771},I=["MAX_COMBINED_TEXTURE_IMAGE_UNITS","MAX_FRAGMENT_UNIFORM_VECTORS","MAX_TEXTURE_IMAGE_UNITS","MAX_VARYING_VECTORS","MAX_VERTEX_ATTRIBS","MAX_VERTEX_TEXTURE_IMAGE_UNITS","MAX_VERTEX_UNIFORM_VECTORS"],M=/^[\t ]*#define[\t ]+SHADER_NAME\s+([^$\n\r]+)/i,P={frustum:function(e,n,r,i,o,s,a){a||(a=P.create());var c=n-e,d=i-r,l=s-o;return a[0]=2*o/c,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=2*o/d,a[6]=0,a[7]=0,a[8]=(n+e)/c,a[9]=(i+r)/d,a[10]=-(s+o)/l,a[11]=-1,a[12]=0,a[13]=0,a[14]=-s*o*2/l,a[15]=0,a},perspective:function(e,n,r,i,o){var s=r*Math.tan(e*Math.PI/360),a=s*n;return P.frustum(-a,a,-s,s,r,i,o)},multiply:function(e,n,r){var i=n[0],o=n[1],s=n[2],a=n[3],c=n[4],d=n[5],l=n[6],u=n[7],f=n[8],p=n[9],h=n[10],m=n[11],v=n[12],g=n[13],y=n[14],b=n[15],_=r[0],w=r[1],S=r[2],R=r[3];return e[0]=_*i+w*c+S*f+R*v,e[1]=_*o+w*d+S*p+R*g,e[2]=_*s+w*l+S*h+R*y,e[3]=_*a+w*u+S*m+R*b,_=r[4],w=r[5],S=r[6],R=r[7],e[4]=_*i+w*c+S*f+R*v,e[5]=_*o+w*d+S*p+R*g,e[6]=_*s+w*l+S*h+R*y,e[7]=_*a+w*u+S*m+R*b,_=r[8],w=r[9],S=r[10],R=r[11],e[8]=_*i+w*c+S*f+R*v,e[9]=_*o+w*d+S*p+R*g,e[10]=_*s+w*l+S*h+R*y,e[11]=_*a+w*u+S*m+R*b,_=r[12],w=r[13],S=r[14],R=r[15],e[12]=_*i+w*c+S*f+R*v,e[13]=_*o+w*d+S*p+R*g,e[14]=_*s+w*l+S*h+R*y,e[15]=_*a+w*u+S*m+R*b,e},identity:function(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},copy:function(e,n){return e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e[4]=n[4],e[5]=n[5],e[6]=n[6],e[7]=n[7],e[8]=n[8],e[9]=n[9],e[10]=n[10],e[11]=n[11],e[12]=n[12],e[13]=n[13],e[14]=n[14],e[15]=n[15],e}},j=(d=0,e.requestAnimationFrame||e.webkitRequestAnimationFrame||e.mozRequestAnimationFrame||e.oRequestAnimationFrame||e.msRequestAnimationFrame||function(n){var r,i,o;return i=Math.max(0,16-((r=(new Date).getTime())-d)),o=e.setTimeout(function(){n(r+i)},i),d=r+i,o}),A=e.cancelAnimationFrame||e.webkitCancelAnimationFrame||e.mozCancelAnimationFrame||e.oCancelAnimationFrame||e.msCancelAnimationFrame||function(n){e.cancelTimeout(n)},D=["alias","destroy","effect","id","initialize","inputs","isDestroyed","isReady","matte","off","on","readPixels","render","title","update"],B=["alias","destroy","id","inputs","isDestroyed","isReady","off","on","source","title","update"],N=["aliases","defaults","destroy","effect","go","id","incompatible","isDestroyed","isEffect","isNode","isSource","isTarget","isTransform","removeAlias","render","source","stop","target","transform"];function L(e,n){var r,i;if("string"==typeof e)r=l.querySelector(e);else if(!e)return!1;return e.tagName&&(r=e),r?(i=r.tagName.toLowerCase(),n&&0>n.indexOf(i)?e:r):e}function U(e,n){var r,i;for(r in e.prototype&&n.prototype&&e.prototype!==n.prototype&&U(e.prototype,n.prototype),n)n.hasOwnProperty(r)&&((i=Object.getOwnPropertyDescriptor(n,r)).get||i.set?Object.defineProperty(e,r,{configurable:!0,enumerable:!0,get:i.get,set:i.set}):e[r]=n[r]);return e}function F(e){var n;if(!u)return R;if("function"==typeof u[e])n=u[e];else{if("function"!=typeof u.log)return R;n=u.log}return n.bind?n.bind(u):function(){n.apply(u,arguments)}}function q(n,r){if(r||(r="HTMLElement"),!e[r])return u.error("window[proto] is undefined, proto:",r),!1;if(n instanceof e[r])return!0;if(!n||"object"!==dN(n))return!1;for(;n;)if((n=Object.getPrototypeOf(n))&&n.constructor.name===r)return!0;return!1}function H(e,n,r,i,o){var s,a;function c(e,n,r){return(r%=1)<0&&(r+=1),r<1/6?e+(n-e)*r*6:r<.5?n:r<2/3?e+(n-e)*(2/3-r)*6:e}return s=2*r-(a=r<.5?r*(n+1):r+n-r*n),o||(o=[]),o[0]=c(s,a,e+1/3),o[1]=c(s,a,e),o[2]=c(s,a,e-1/3),o[3]=i,o}function V(e){var n,r,i,o="#",s=e[3]<1?4:3;for(n=0;n<s;n++)i=(r=Math.min(255,Math.round(255*e[n]||0))).toString(16),r<16&&(i="0"+i),o+=i;return o}function z(e){return Array.isArray(e)||e&&e.BYTES_PER_ELEMENT&&"length"in e}function G(n){if("function"!=typeof n)throw Error("setTimeoutZero argument is not a function");v.push(n),"file:"!==e.location.protocol?e.postMessage("seriously-timeout-message",e.location):setTimeout(function(){v.length&&v.shift()()},0)}function W(n,r){var i;try{i=e.WebGLDebugUtils&&r&&r.debugContext?e.WebGLDebugUtils.makeDebugContext(n.getContext("webgl",r)):n.getContext("webgl",r)}catch(e){}if(!i)try{i=n.getContext("experimental-webgl",r)}catch(e){}return i}function X(){var r;return n&&n.getError()===n.CONTEXT_LOST_WEBGL&&(n=void 0),n||!e.WebGLRenderingContext||i||((n=W(r=l.createElement("canvas")))?r.addEventListener("webglcontextlost",function e(i){i.preventDefault(),n&&n.canvas===this&&(n=void 0,r.removeEventListener("webglcontextlost",e,!1))},!1):Y.logger.warn("Unable to access WebGL.")),n}function $(e){var n,r,i;function o(e,i){var o,s;z(e)?(o=e[0],s=e[1]||o):o=e,"string"==typeof o?o=o.toLowerCase():"number"==typeof o?o=String(o):o||(o=""),r[o]=s,i||(n.firstValue=o)}function s(e){return e}for(i in e.inputs)if(e.inputs.hasOwnProperty(i)){if(e.reserved.indexOf(i)>=0||Object.prototype[i])throw Error("Reserved input name: "+i);(n=e.inputs[i]).name=i,isNaN(n.min)&&(n.min=-1/0),isNaN(n.max)&&(n.max=1/0),isNaN(n.minCount)&&(n.minCount=-1/0),isNaN(n.maxCount)&&(n.maxCount=1/0),isNaN(n.step)&&(n.step=0),isNaN(n.mod)&&(n.mod=0),"enum"===n.type&&n.options&&z(n.options)&&n.options.length&&(r={},n.options.forEach(o),n.options=r),"vector"===n.type?n.dimensions<2?n.dimensions=2:n.dimensions>4||!n.dimensions||isNaN(n.dimensions)?n.dimensions=4:n.dimensions=Math.round(n.dimensions):n.dimensions=1,n.shaderDirty=!!n.shaderDirty,"function"!=typeof n.validate&&(n.validate=Y.inputValidators[n.type]||s),e.defaultImageInput||"image"!==n.type||(e.defaultImageInput=i)}}function J(e,n,r,i){var o,s,a,c,d=!0===i?i:i&&i.useFloat;d=!1,this.type=d?e.FLOAT:e.UNSIGNED_BYTE,o=e.createFramebuffer(),e.bindFramebuffer(e.FRAMEBUFFER,o),i&&i.texture?(this.texture=i.texture,e.bindTexture(e.TEXTURE_2D,this.texture),this.ownTexture=!1):(this.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.texture),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),this.ownTexture=!0);try{this.type===e.FLOAT?(a=new Float32Array(n*r*4),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,n,r,0,e.RGBA,e.FLOAT,a)):(e.texImage2D(e.TEXTURE_2D,0,e.RGBA,n,r,0,e.RGBA,e.UNSIGNED_BYTE,null),this.type=e.UNSIGNED_BYTE)}catch(i){this.type=e.UNSIGNED_BYTE,a=new Uint8Array(n*r*4),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,n,r,0,e.RGBA,e.UNSIGNED_BYTE,a)}if(s=e.createRenderbuffer(),e.bindRenderbuffer(e.RENDERBUFFER,s),e.renderbufferStorage(e.RENDERBUFFER,e.DEPTH_COMPONENT16,n,r),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,s),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,this.texture,0),(c=e.checkFramebufferStatus(e.FRAMEBUFFER))===e.FRAMEBUFFER_INCOMPLETE_ATTACHMENT)throw Error("Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_ATTACHMENT");if(c===e.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT)throw Error("Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT");if(c===e.FRAMEBUFFER_INCOMPLETE_DIMENSIONS)throw Error("Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_DIMENSIONS");if(c===e.FRAMEBUFFER_UNSUPPORTED)throw Error("Incomplete framebuffer: FRAMEBUFFER_UNSUPPORTED");if(c!==e.FRAMEBUFFER_COMPLETE)throw Error("Incomplete framebuffer: "+c);e.bindTexture(e.TEXTURE_2D,null),e.bindRenderbuffer(e.RENDERBUFFER,null),e.bindFramebuffer(e.FRAMEBUFFER,null),this.gl=e,this.frameBuffer=o,this.renderBuffer=s,this.width=n,this.height=r}function K(e,n,r){var i,o,s,a,c,d,l,u,f="";function p(n,r){var i,o;if(i=r?e.createShader(e.FRAGMENT_SHADER):e.createShader(e.VERTEX_SHADER),e.shaderSource(i,n),e.compileShader(i),!e.getShaderParameter(i,e.COMPILE_STATUS)){for(n=n.split(/[\n\r]/),o=0;o<n.length;o++)n[o]=o+1+": "+n[o];throw n.unshift("Error compiling "+(r?"fragment":"vertex")+" shader:"),Y.logger.error(n.join("\n")),Error("Shader error: "+e.getShaderInfoLog(i))}return i}if(o=p(n),s=p(r,!0),i=e.createProgram(),e.attachShader(i,o),(a=e.getShaderInfoLog(o))&&(f+="Vertex shader error: "+a+"\n"),e.attachShader(i,s),(a=e.getShaderInfoLog(s))&&(f+="Fragment shader error: "+a+"\n"),e.linkProgram(i),!e.getProgramParameter(i,e.LINK_STATUS))throw f+=e.getProgramInfoLog(i),e.deleteProgram(i),e.deleteShader(o),e.deleteShader(s),(l=M.exec(n)||M.exec(r))&&(f="Shader = "+l[1]+"\n"+f),I.forEach(function(n){f+="\n"+n+": "+e.getParameter(e[n])}),Error("Could not initialize shader:\n"+f);for(e.useProgram(i),this.uniforms={},d=e.getProgramParameter(i,e.ACTIVE_UNIFORMS),c=0;c<d;++c)(u={info:e.getActiveUniform(i,c)}).name=u.info.name.replace(/\[0\]$/,""),u.loc=e.getUniformLocation(i,u.name),u.set=function(n,r){if(n.type===e.SAMPLER_2D)return function(i){n.glTexture=e["TEXTURE"+i],e.uniform1i(r,i)};if(n.type===e.BOOL||n.type===e.INT)return n.size>1?function(n){e.uniform1iv(r,n)}:function(n){e.uniform1i(r,n)};if(n.type===e.FLOAT)return n.size>1?function(n){e.uniform1fv(r,n)}:function(n){e.uniform1f(r,n)};if(n.type===e.FLOAT_VEC2)return function(n){e.uniform2f(r,n[0],n[1])};if(n.type===e.FLOAT_VEC3)return function(n){e.uniform3f(r,n[0],n[1],n[2])};if(n.type===e.FLOAT_VEC4)return function(n){e.uniform4f(r,n[0],n[1],n[2],n[3])};if(n.type===e.FLOAT_MAT3)return function(n){e.uniformMatrix3fv(r,!1,n)};if(n.type===e.FLOAT_MAT4)return function(n){e.uniformMatrix4fv(r,!1,n)};throw Error("Unknown shader uniform type: "+n.type)}(u.info,u.loc),u.get=function(n){return function(){return e.getUniform(i,n)}}(u.loc),this.uniforms[u.name]=u,this[u.name]||(this[u.name]=u);for(this.attributes={},this.location={},d=e.getProgramParameter(i,e.ACTIVE_ATTRIBUTES),c=0;c<d;++c)(u={info:e.getActiveAttrib(i,c)}).name=u.info.name,u.location=e.getAttribLocation(i,u.name),this.attributes[u.name]=u,this.location[u.name]=u.location;this.gl=e,this.program=i,this.destroy=function(){var n;for(n in e&&(e.deleteProgram(i),e.deleteShader(o),e.deleteShader(s)),this)this.hasOwnProperty(n)&&delete this[n];i=null,o=null,s=null}}function Y(n){if(e===this||!(this instanceof Y)||void 0!==this.id)return new Y(n);var r,i,s,d,u,v,_,T,C,x,E,O,I,D,B,F=++S,H=this,z=[],X={},Q=0,Z=[],ee=[],et=[],en=[],er={},ei=[],eo=[],es={},ea={},ec=!1,ed=!1,el=null;function eu(e,n){var r,i,o;return!!n&&(r=n.createBuffer(),n.bindBuffer(n.ARRAY_BUFFER,r),n.bufferData(n.ARRAY_BUFFER,e.vertices,n.STATIC_DRAW),r.size=3,i=n.createBuffer(),n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,i),n.bufferData(n.ELEMENT_ARRAY_BUFFER,e.indices,n.STATIC_DRAW),o=n.createBuffer(),n.bindBuffer(n.ARRAY_BUFFER,o),n.bufferData(n.ARRAY_BUFFER,e.coords,n.STATIC_DRAW),o.size=2,{vertex:r,index:i,texCoord:o,length:e.indices.length,mode:e.mode||n.TRIANGLES})}function ef(e){var n={};return n.vertices=new Float32Array([-1,-1,0,1,-1,0,1,1,0,-1,1,0]),n.indices=new Uint16Array([0,1,2,0,2,3]),n.coords=new Float32Array([0,0,1,0,1,1,0,1]),eu(n,e)}function ep(){Y.logger.warn("WebGL context lost. 5 seconds to restore context."),el&&clearTimeout(el),el=setTimeout(em,5e3)}function eh(e){var n,o;if(!i)if(e.canvas.addEventListener("webglcontextlost",ev,!1),e.canvas.addEventListener("webglcontextrestored",em,!1),e.isContextLost())Y.logger.warn("Unable to attach lost WebGL context. Will try again when context is restored.");else{for(i=e,r=e.canvas,d=ef(i),u=new K(i,"#define SHADER_NAME seriously.base\n"+a,"#define SHADER_NAME seriously.base\n"+c),n=0;n<en.length;n++)(o=en[n]).gl=i,o.initialize(),o.buildShader();for(n=0;n<Z.length;n++)(o=Z[n]).initialize();for(n=0;n<ee.length;n++)(o=ee[n]).model||(o.model=d,o.shader=u)}}function em(){var e,n,r,o;if(el&&clearTimeout(el),el=null,s&&!i){if(q(n=s.target,"WebGLFramebuffer"))return void Y.logger.error("Unable to restore target built on WebGLFramebuffer");if(e=W(n,{alpha:!0,premultipliedAlpha:!0,preserveDrawingBuffer:!0,stencil:!0,debugContext:s.debugContext})){if(e.isContextLost())return el?void Y.logger.error("restore WebGL Context ing, wait...."):(ep(),void Y.logger.error("Unable to restore WebGL Context"));for(eh(e),s.renderToTexture?s.frameBuffer=new J(i,s.width,s.height,!1):s.frameBuffer={frameBuffer:null},r=0;r<z.length;r++)(o=z[r]).setDirty(),o.emit("webglcontextrestored");Y.logger.log("WebGL context restored")}}}function ev(e){var n,o;for(e?(e.preventDefault(),ep()):el&&clearTimeout(el),B&&(A(B),B=0),r&&r.removeEventListener("webglcontextlost",ev,!1),n=0;n<en.length;n++)(o=en[n]).gl=null,o.initialized=!1,o.baseShader=null,o.model=null,o.frameBuffer=null,o.texture=null,o.shader&&o.shader.destroy&&(o.shader.destroy(),o.effect.commonShader&&delete ea[o.hook]),o.shaderDirty=!0,o.shader=null,o.effect.lostContext&&o.effect.lostContext.call(o),e&&o.emit("webglcontextlost");for(n=0;n<Z.length;n++)(o=Z[n]).texture=null,o.initialized=!1,o.allowRefresh=!1,e&&o.emit("webglcontextlost");for(n=0;n<et.length;n++)(o=et[n]).frameBuffer=null,o.texture=null,e&&o.emit("webglcontextlost");for(n=0;n<ee.length;n++)(o=ee[n]).model=!1,o.frameBuffer=null,e&&o.emit("webglcontextlost");u&&u.destroy&&u.destroy(),i&&(i.deleteBuffer(d.vertex),i.deleteBuffer(d.texCoord),i.deleteBuffer(d.index)),d&&(delete d.vertex,delete d.texCoord,delete d.index),d=null,u=null,i=null,r=null}function eg(e){var n,r,i=!1;if(B=0,ei.length)for(i=!0,n=0;n<ei.length;n++)ei[n].call(H,e);if(Z&&Z.length)for(i=!0,n=0;n<Z.length;n++){var o=(r=Z[n]).source&&r.source.dataset&&r.source.dataset.playing;if("string"==typeof o&&"true"!==o)return void(B=j(eg));(r.dirty||r.checkDirty&&r.checkDirty())&&(r.dirty=!1,r.setDirty())}for(n=0;n<ee.length;n++)(r=ee[n]).auto&&r.dirty&&r.render();if(eo.length)for(i=!0,n=0;n<eo.length;n++)eo[n].call(H);i&&!B&&(B=j(eg))}function ey(e,n,r,o,s,a){var c,d,l,u,f,p,h,m,v,g=0,y=s&&s.gl||i;if(y){for(c in s?(u=a&&a.width||s.width||y.canvas.width,f=a&&a.height||s.height||y.canvas.height):(u=a&&a.width||y.canvas.width,f=a&&a.height||y.canvas.height),e.use(),y.viewport(0,0,u,f),y.bindFramebuffer(y.FRAMEBUFFER,o),y.enableVertexAttribArray(e.location.position),y.enableVertexAttribArray(e.location.texCoord),n.texCoord&&(y.bindBuffer(y.ARRAY_BUFFER,n.texCoord),y.vertexAttribPointer(e.location.texCoord,n.texCoord.size,y.FLOAT,!1,0,0)),y.bindBuffer(y.ARRAY_BUFFER,n.vertex),y.vertexAttribPointer(e.location.position,n.vertex.size,y.FLOAT,!1,0,0),y.bindBuffer(y.ELEMENT_ARRAY_BUFFER,n.index),a&&a.depth?i.enable(i.DEPTH_TEST):i.disable(i.DEPTH_TEST),a?void 0===a.blend||a.blend?(i.enable(i.BLEND),p=void 0===a.srcRGB?i.ONE:a.srcRGB,m=a.dstRGB||i.ZERO,h=void 0===a.srcAlpha?p:a.srcAlpha,v=void 0===a.dstAlpha?m:a.dstAlpha,i.blendFuncSeparate(p,m,h,v),i.blendEquation(a.blendEquation||i.FUNC_ADD)):i.disable(i.BLEND):(i.enable(i.BLEND),i.blendFunc(i.ONE,i.ZERO),i.blendEquation(i.FUNC_ADD)),r)r.hasOwnProperty(c)&&(d=r[c],(l=e.uniforms[c])&&(q(d,"WebGLTexture")?(y.activeTexture(y.TEXTURE0+g),y.bindTexture(y.TEXTURE_2D,d),l.set(g),g++):d instanceof _||d instanceof T||d instanceof C?d.texture&&(y.activeTexture(y.TEXTURE0+g),y.bindTexture(y.TEXTURE_2D,d.texture),l.set(g),g++):null!=d&&l.set(d)));a&&void 0!==a.clear&&!a.clear||(y.clearColor(0,0,0,0),y.clear(y.COLOR_BUFFER_BIT|y.DEPTH_BUFFER_BIT)),y.drawElements(n.mode,n.length,y.UNSIGNED_SHORT,0),i.enable(i.DEPTH_TEST)}}function eb(e,n,r){var i,o;if("string"==typeof e&&(n||0===n)||(r&&"object"===dN(r)||(r=n),n=e),"string"==typeof e&&h[e]||(e=null),n instanceof _||n instanceof T||n instanceof C)i=n;else if(n instanceof E||n instanceof O||n instanceof I){if(!(i=X[n.id]))throw Error("Cannot connect a foreign node")}else{for("string"==typeof n&&isNaN(n)&&(n=L(n,["canvas","img","video"])),o=0;o<Z.length;o++)if(i=Z[o],(!e||e===i.hook)&&i.compare&&i.compare(n,r))return i;i=new _(e,n,r)}return i}function e_(e,n){var r,i,o;if(!(e instanceof T||e instanceof C))return!1;if(e===n)return!0;for(r in o=e.sources)if(o.hasOwnProperty(r)&&((i=o[r])===n||e_(i,n)))return!0;return!1}(v=function(){this.ready=!1,this.width=1,this.height=1,this.gl=i,this.uniforms={resolution:[this.width,this.height],transform:null},this.dirty=!0,this.isDestroyed=!1,this.seriously=H,this.listeners={},this.id=Q,Q++}).prototype.setReady=function(){var e;if(!this.ready&&(this.ready=!0,this.emit("ready"),this.targets))for(e=0;e<this.targets.length;e++)this.targets[e].setReady()},v.prototype.setUnready=function(){var e;if(this.ready&&(this.ready=!1,this.emit("unready"),this.targets))for(e=0;e<this.targets.length;e++)this.targets[e].setUnready()},v.prototype.setDirty=function(){var e;if(!this.dirty&&(this.emit("dirty"),this.dirty=!0,this.targets))for(e=0;e<this.targets.length;e++)this.targets[e].setDirty()},v.prototype.initFrameBuffer=function(e){i&&(this.frameBuffer=new J(i,this.width,this.height,e))},v.prototype.readPixels=function(e,n,r,o,s){var a=this.gl||i;if(!i)throw Error("Cannot read pixels until a canvas is connected");if(this.frameBuffer||(this.initFrameBuffer(),this.setDirty()),this.render(),void 0===s)s=new Uint8Array(r*o*4);else if(!q(s,"Uint8Array"))throw Error("Incompatible array type");return a.bindFramebuffer(i.FRAMEBUFFER,this.frameBuffer.frameBuffer),a.readPixels(e,n,r,o,i.RGBA,i.UNSIGNED_BYTE,s),s},v.prototype.resize=function(){var e,n;this.source?(e=this.source.width,n=this.source.height):this.sources&&this.sources.source?(e=this.sources.source.width,n=this.sources.source.height):this.inputs&&this.inputs.width?(e=this.inputs.width,n=this.inputs.height||e):this.inputs&&this.inputs.height?e=n=this.inputs.height:(e=1,n=1),e=Math.floor(e),n=Math.floor(n),this.width===e&&this.height===n||(this.width=e,this.height=n,this.emit("resize"),this.setDirty()),this.uniforms&&this.uniforms.resolution&&(this.uniforms.resolution[0]=e,this.uniforms.resolution[1]=n),this.frameBuffer&&this.frameBuffer.resize&&this.frameBuffer.resize(e,n)},v.prototype.on=function(e,n){var r,i=-1;e&&"function"==typeof n&&((r=this.listeners[e])?i=r.indexOf(n):r=this.listeners[e]=[],i<0&&r.push(n))},v.prototype.off=function(e,n){var r,i=-1;e&&"function"==typeof n&&(r=this.listeners[e])&&(i=r.indexOf(n))>=0&&r.splice(i,1)},v.prototype.emit=function(e){var n,r=this.listeners[e];if(r&&r.length)for(n=0;n<r.length;n++)G(r[n])},v.prototype.destroy=function(){var e,n;for(n in delete this.gl,delete this.seriously,this.listeners)this.listeners.hasOwnProperty(n)&&delete this.listeners[n];for(e in this.uniforms)this.uniforms.hasOwnProperty(e)&&delete this.uniforms[e];this.targets&&delete this.targets,this.frameBuffer&&this.frameBuffer.destroy&&(this.frameBuffer.destroy(),delete this.frameBuffer),(e=z.indexOf(this))>=0&&z.splice(e,1),delete X[this.id],this.isDestroyed=!0},E=function(e){var n;function r(n,r){var i,o,s,a,c;return s=e.effect.inputs[n],i=e.inputElements[n],"string"==typeof r&&isNaN(r)&&("enum"===s.type?s.options.hasOwnProperty(r)||(r=L(r,["select"])):"number"===s.type||"boolean"===s.type?r=L(r,["input","select"]):"image"===s.type&&(r=L(r,["canvas","img","video"]))),q(r,"HTMLInputElement")||q(r,"HTMLSelectElement")?(o=r.value,i&&i.element!==r&&(i.element.removeEventListener("change",i.listener,!0),i.element.removeEventListener("input",i.listener,!0),delete e.inputElements[n],i=null),i||(i={element:r,listener:(a=n,c=r,function(){var n,i;n="checkbox"===r.type?r.checked:c.value,i=e.setInput(a,n),"color"===s.type&&(i=V(i).substr(0,7)),i!==n&&(c.value=i)})},e.inputElements[n]=i,"range"===r.type&&r.addEventListener("input",i.listener,!0),r.addEventListener("change",i.listener,!0)),i&&"checkbox"===r.type&&(o=r.checked)):(i&&(i.element.removeEventListener("change",i.listener,!0),i.element.removeEventListener("input",i.listener,!0),delete e.inputElements[n]),o=r),e.setInput(n,o),e.inputs[n]}for(n in e.effect.inputs)if(e.effect.inputs.hasOwnProperty(n)){if(void 0!==this[n])throw Error("Cannot overwrite Seriously."+n);"image"===e.effect.inputs[n].type?Object.defineProperty(this,n,{configurable:!0,enumerable:!0,get:function(n){return function(){var r=e.inputs[n];return r&&r.pub}}(n),set:function(e){return function(n){var i=r(e,n);return i&&i.pub}}(n)}):Object.defineProperty(this,n,{configurable:!0,enumerable:!0,get:function(n){return function(){return e.inputs[n]}}(n),set:function(e){return function(n){return r(e,n)}}(n)})}Object.defineProperties(this,{effect:{enumerable:!0,configurable:!0,get:function(){return e.hook}},title:{enumerable:!0,configurable:!0,get:function(){return e.effect.title||e.hook}},width:{enumerable:!0,configurable:!0,get:function(){return e.width}},height:{enumerable:!0,configurable:!0,get:function(){return e.height}},id:{enumerable:!0,configurable:!0,get:function(){return e.id}}}),this.render=function(){return e.render(),this},this.readPixels=function(n,r,i,o,s){return e.readPixels(n,r,i,o,s)},this.on=function(n,r){e.on(n,r)},this.off=function(n,r){e.off(n,r)},this.inputs=function(n){var r,i,o,s;if(o=e.effect.inputs,n)return(i=o[n])?(r={type:i.type,defaultValue:i.defaultValue,title:i.title||n},"number"===i.type?(r.min=i.min,r.max=i.max,r.step=i.step,r.mod=i.mod):"enum"===i.type?r.options=U({},i.options):"vector"===i.type&&(r.dimensions=i.dimensions),i.description&&(r.description=i.description),r):null;for(s in r={},o)o.hasOwnProperty(s)&&(r[s]=this.inputs(s));return r},this.alias=function(n,r){return e.alias(n,r),this},this.matte=function(n){e.matte(n)},this.destroy=function(){var n,r;for(n in e.destroy(),this)this.hasOwnProperty(n)&&"isDestroyed"!==n&&"id"!==n&&((r=Object.getOwnPropertyDescriptor(this,n)).get||r.set||"function"!=typeof this[n]?delete this[n]:this[n]=R)},this.isDestroyed=function(){return e.isDestroyed},this.isReady=function(){return e.ready}},(T=function(e,n){var r,s,a,c,d={};for(r in v.call(this,n),this.gl=i,this.effectRef=f[e],this.sources={},this.targets=[],this.inputElements={},this.dirty=!0,this.shaderDirty=!0,this.hook=e,this.options=n,this.transform=null,this.effect=U({},this.effectRef),this.effectRef.definition&&U(this.effect,this.effectRef.definition.call(this,n)),$(this.effect),this.uniforms.transform=o,this.inputs={},c=es[e],this.effect.inputs)this.effect.inputs.hasOwnProperty(r)&&(void 0!==(s=this.effect.inputs[r]).defaultValue&&null!==s.defaultValue||("number"===s.type?s.defaultValue=Math.min(Math.max(0,s.min),s.max):"color"===s.type?s.defaultValue=[0,0,0,0]:"boolean"===s.type?s.defaultValue=!1:"string"===s.type?s.defaultValue="":"enum"===s.type&&(s.defaultValue=s.firstValue)),a=s.validate.call(this,s.defaultValue,s),c&&void 0!==c[r]&&(a=s.validate.call(this,c[r],s,s.defaultValue,a),c[r]=a,"image"===s.type&&(d[r]=a)),this.inputs[r]=a,s.uniform&&(this.uniforms[s.uniform]=s.defaultValue));for(r in i&&(this.initialize(),this.effect.commonShader&&this.buildShader()),this.updateReady(),this.inPlace=this.effect.inPlace,this.pub=new E(this),z.push(this),X[this.id]=this,en.push(this),g[e].push(this),d)d.hasOwnProperty(r)&&this.setInput(r,d[r])}).prototype=Object.create(v.prototype),T.prototype.constructor=T,T.prototype.initialize=function(){if(!this.initialized){var e=this;this.baseShader=u,this.shape?this.model=eu(this.shape,this.gl):this.model=d,"function"==typeof this.effect.initialize?this.effect.initialize.call(this,function(){e.initFrameBuffer(!0)},i):this.initFrameBuffer(!0),this.frameBuffer&&(this.texture=this.frameBuffer.texture),this.initialized=!0}},T.prototype.resize=function(){var e;for(v.prototype.resize.call(this),this.effect.resize&&this.effect.resize.call(this),e=0;e<this.targets.length;e++)this.targets[e].resize()},T.prototype.updateReady=function(){var e,n,r,i,o=!0;for(n in(r=this.effect).inputs)if(r.inputs.hasOwnProperty(n)&&"image"===this.effect.inputs[n].type&&(!this.sources[n]||!this.sources[n].ready)&&(!r.requires||r.requires.call(this,n,this.inputs))){o=!1;break}if(this.ready!==o&&(this.ready=o,this.emit(o?"ready":"unready"),i=o?"setReady":"setUnready",this.targets))for(e=0;e<this.targets.length;e++)this.targets[e][i]()},T.prototype.setReady=T.prototype.updateReady,T.prototype.setUnready=T.prototype.updateReady,T.prototype.addTarget=function(e){var n;for(n=0;n<this.targets.length;n++)if(this.targets[n]===e)return;this.targets.push(e)},T.prototype.removeTarget=function(e){var n=this.targets&&this.targets.indexOf(e);n>=0&&this.targets.splice(n,1)},T.prototype.removeSource=function(e){var n,r=e&&e.pub;for(n in this.inputs)this.inputs.hasOwnProperty(n)&&(this.inputs[n]===e||this.inputs[n]===r)&&(this.inputs[n]=null);for(n in this.sources)this.sources.hasOwnProperty(n)&&(this.sources[n]===e||this.sources[n]===r)&&(this.sources[n]=null)},T.prototype.buildShader=function(){var e,n=this.effect,r=this;function o(e){return M.test(e)?e:"#define SHADER_NAME seriously."+r.hook+"\n"+e}this.shaderDirty&&(n.commonShader&&ea[this.hook]?(this.shader||ea[this.hook].count++,this.shader=ea[this.hook].shader):n.shader?(this.shader&&!n.commonShader&&this.shader.destroy(),(e=n.shader.call(this,this.inputs,{vertex:a,fragment:c},Y.util))instanceof K?this.shader=e:e&&e.vertex&&e.fragment?this.shader=new K(i,o(e.vertex),o(e.fragment)):this.shader=u,n.commonShader&&(ea[this.hook]={count:1,shader:this.shader})):this.shader=u,this.shaderDirty=!1)},T.prototype.render=function(){var e,n,r,o=this.effect,s=this;if(i){if(this.initialized||this.initialize(),this.shaderDirty&&this.buildShader(),this.dirty&&this.ready){for(e in this.sources)this.sources.hasOwnProperty(e)&&(!o.requires||o.requires.call(this,e,this.inputs))&&(r="function"==typeof this.inPlace?this.inPlace(e):this.inPlace,this.sources[e].render(!r));this.frameBuffer&&(n=this.frameBuffer.frameBuffer),"function"==typeof o.draw?(o.draw.call(this,this.shader,this.model,this.uniforms,n,function(e,n,r,i,o,a){ey(e,n,r,i,o||s,a)}),this.emit("render")):n&&(ey(this.shader,this.model,this.uniforms,n,this),this.emit("render")),this.dirty=!1}return this.texture}},T.prototype.setInput=function(e,n){var r,i,s,a,c,d=this;if(this.effect.inputs.hasOwnProperty(e)){if("image"===(r=this.effect.inputs[e]).type){if(n){if((n=eb(n))!==this.sources[e]){if(function(){var n,r=d.sources[e];if(r){for(n in d.sources)if(n!==e&&d.sources.hasOwnProperty(n)&&d.sources[n]===r)return;r.removeTarget(d)}}(),e_(n,this))throw Error("Attempt to make cyclical connection.");this.sources[e]=n,n.addTarget(this)}}else delete this.sources[e],n=!1;i=this.sources[e],s=Object.keys(this.sources),!0===this.inPlace&&1===s.length?(a=this.sources[s[0]],this.uniforms.transform=a&&a.cumulativeMatrix||o):this.uniforms.transform=o}else c=es[this.hook]&&void 0!==es[this.hook][e]?es[this.hook][e]:r.defaultValue,i=n=r.validate.call(this,n,r,c,this.inputs[e]);return this.inputs[e]===n&&"color"!==r.type&&"vector"!==r.type||(this.inputs[e]=n,r.uniform&&(this.uniforms[r.uniform]=i),"image"===r.type?(this.resize(),this.updateReady()):r.updateSources&&this.updateReady(),r.shaderDirty&&(this.shaderDirty=!0),this.setDirty(),r.update&&r.update.call(this,n)),n}},T.prototype.alias=function(e,n){var r=this;if(N.indexOf(n)>=0)throw Error("'"+n+"' is a reserved name and cannot be used as an alias.");return this.effect.inputs.hasOwnProperty(e)&&(n||(n=e),H.removeAlias(n),er[n]={node:this,input:e},Object.defineProperty(H,n,{configurable:!0,enumerable:!0,get:function(){return r.inputs[e]},set:function(n){return r.setInput(e,n)}})),this},T.prototype.matte=function(e){var n,r,i,o,s,a,c,d,l=[],u=[],f={};for(r=(n=e)&&n.length&&Array.isArray(n)?Array.isArray(n[0])?Array.isArray(n[0])&&!isNaN(n[0][0])?[n]:n:[n]:[],o=0;o<r.length;o++){for(e=r[o],d=null,i={vertices:[],edges:[]},s=0;s<e.length;s++)a=e[s],"object"!==dN(a)||isNaN(a.x)||isNaN(a.y)?!(a.length>=2)||isNaN(a[0])||isNaN(a[1])||(c={x:a[0],y:a[1],id:u.length}):c={x:a.x,y:a.y,id:u.length},c&&(d?(d.next=c,c.prev=d,c.next=i.vertices[0],i.vertices[0].prev=c):(i.head=c,c.next=c,c.prev=c),u.push(c),i.vertices.push(c),d=c);if(i.vertices.length>2)for(3===i.vertices.length&&(i.simple=!0),l.push(i),s=0;s<i.vertices.length;s++)c=i.vertices[s],i.edges.push([c,c.next])}for(o=l.length-1;o>=0;o--)!function(e){var n,r,i,o,s,a,c,d,f,p,h,m=[];if(!e.simple){for(n=0;n<e.edges.length;n++)for(i=e.edges[n],r=n+1;r<e.edges.length;r++)o=e.edges[r],(s=function(e,n,r,i){var o,s,a,c,d;return o=(i.x-r.x)*(e.y-r.y)-(i.y-r.y)*(e.x-r.x),s=(n.x-e.x)*(e.y-r.y)-(n.y-e.y)*(e.x-r.x),!!((a=(i.y-r.y)*(n.x-e.x)-(i.x-r.x)*(n.y-e.y))&&(d=s/a,(c=o/a)>0&&c<=1&&d>0&&d<=1))&&{x:e.x+c*(n.x-e.x),y:e.y+c*(n.y-e.y)}}(i[0],i[1],o[0],o[1]))&&(s.edge1=i,s.edge2=o,m.push(s));if(m.length){for(f=[],n=0;n<m.length;n++)i=(s=m[n]).edge1,o=s.edge2,p={x:s.x,y:s.y,prev:i[0],next:o[1],id:u.length},e.vertices.push(p),u.push(p),h={x:s.x,y:s.y,prev:o[0],next:i[1],id:u.length},e.vertices.push(h),u.push(p),p.prev.next=p,p.next.prev=p,h.prev.next=h,h.next.prev=h;do{a={edges:[],vertices:[],simple:!0},f.push(a),c=d=e.vertices[0];do n=e.vertices.indexOf(d),e.vertices.splice(n,1),a.edges.push([d,d.next]),a.vertices.push(d),d=d.next;while(d!==c)}while(e.vertices.length);for(n=l.indexOf(e),l.splice(n,1),n=0;n<f.length;n++)l.push(f[n])}else e.simple=!0}}(i=l[o]);for(o=0;o<l.length;o++)(i=l[o]).clockWise=function(e){var n,r,i,o,s=e.vertices.length,a=0;for(n=s-1,r=0;r<s;n=r,r++)i=e.vertices[n],o=e.vertices[r],a+=i.x*o.y-o.x*i.y;return a>0}(i),function(e){var n,r,o,s,a,c,d,l,u,f,p,h=e.vertices,m=[],v=[];if(r=h.length,e.clockWise)for(n=0;n<r;n++)m[n]=n;else for(n=0;n<r;n++)m[n]=r-1-n;for(s=2*(o=r),n=o-1;o>2;){if(s--<=0)return v;if(o<=(a=n)&&(a=0),o<=(n=a+1)&&(n=0),o<(c=n+1)&&(c=0),function(e,n,r,i,o){var s,a,c,d;if(a=h[o[e]],c=h[o[n]],d=h[o[r]],0>(c.x-a.x)*(d.y-a.y)-(c.y-a.y)*(d.x-a.x))return!1;for(s=0;s<i;s++)if(s!==e&&s!==n&&s!==r&&function(e,n,r,i){var o,s,a,c,d,l,u,f,p,h,m,v;return o=r.x-n.x,s=r.y-n.y,a=e.x-r.x,c=e.y-r.y,d=n.x-e.x,l=n.y-e.y,u=i.x-e.x,f=i.y-e.y,p=i.x-n.x,h=i.y-n.y,m=i.x-r.x,v=i.y-r.y,o*h-s*p>=0&&a*v-c*m>=0&&d*f-l*u>=0}(a,c,d,h[o[s]]))return!1;return!0}(a,n,c,o,m)){for(d=m[a],l=m[n],u=m[c],e.clockWise?(v.push(h[d]),v.push(h[l]),v.push(h[u])):(v.push(h[u]),v.push(h[l]),v.push(h[d])),f=n,p=n+1;p<o;f++,p++)m[f]=m[p];s=2*--o}}i.indices=v}(i);for(f.vertices=[],f.coords=[],o=0;o<u.length;o++)a=u[o],f.vertices.push(2*a.x-1),f.vertices.push(-2*a.y+1),f.vertices.push(-1),f.coords.push(a.x),f.coords.push(-1*a.y+1);for(f.vertices=new Float32Array(f.vertices),f.coords=new Float32Array(f.coords),f.indices=[],o=0;o<l.length;o++)for(i=l[o],s=0;s<i.indices.length;s++)a=i.indices[s],f.indices.push(a.id);f.indices=new Uint16Array(f.indices),this.shape=f,this.gl&&eu(f,this.gl)},T.prototype.destroy=function(){var e,n,r,i=this.hook;for(n in this.effect.destroy&&"function"==typeof this.effect.destroy&&this.effect.destroy.call(this),delete this.effect,ea[i]&&(ea[i].count--,ea[i].count||delete ea[i]),this.shader&&this.shader.destroy&&this.shader!==u&&!ea[i]&&this.shader.destroy(),delete this.shader,this.inputElements)this.inputElements.hasOwnProperty(n)&&((r=this.inputElements[n]).element.removeEventListener("change",r.listener,!0),r.element.removeEventListener("input",r.listener,!0));for(n in this.sources)this.sources.hasOwnProperty(n)&&((r=this.sources[n])&&r.removeTarget&&r.removeTarget(this),delete this.sources[n]);for(;this.targets.length;)(r=this.targets.pop())&&r.removeSource&&r.removeSource(this);for(n in this)this.hasOwnProperty(n)&&"id"!==n&&delete this[n];for(n in er)er.hasOwnProperty(n)&&(r=er[n]).node===this&&H.removeAlias(n);(e=en.indexOf(this))>=0&&en.splice(e,1),(e=g[i].indexOf(this))>=0&&g[i].splice(e,1),v.prototype.destroy.call(this)},O=function(e){Object.defineProperties(this,{original:{enumerable:!0,configurable:!0,get:function(){return e.source}},id:{enumerable:!0,configurable:!0,get:function(){return e.id}},width:{enumerable:!0,configurable:!0,get:function(){return e.width}},height:{enumerable:!0,configurable:!0,get:function(){return e.height}}}),this.render=function(){e.render()},this.update=function(){e.setDirty()},this.readPixels=function(n,r,i,o,s){return e.readPixels(n,r,i,o,s)},this.on=function(n,r){e.on(n,r)},this.off=function(n,r){e.off(n,r)},this.destroy=function(){var n,r;for(n in e.destroy(),this)this.hasOwnProperty(n)&&"isDestroyed"!==n&&"id"!==n&&((r=Object.getOwnPropertyDescriptor(this,n)).get||r.set||"function"!=typeof this[n]?delete this[n]:this[n]=R)},this.isDestroyed=function(){return e.isDestroyed},this.isReady=function(){return e.ready}},(_=function(e,n,r){var o,s,a=r||{},c=void 0===a.flip||a.flip,d=a.width,l=a.height,u=!1,f=this,p=!1;function m(e,n,r,i){var o=h[e];if(o.definition){if(!(o=o.definition.call(f,n,r,i)))return null;o=U(U({},h[e]),o)}return o}function g(e){return f.source===e}if(v.call(this),(e&&"string"!=typeof e||!n&&0!==n)&&(r&&"object"===dN(r)||(r=n),n=e),"string"==typeof n&&isNaN(n)&&(n=L(n,["canvas","img","video"])),"string"==typeof e&&h[e]&&(s=m(e,n,r,!0))&&(this.hook=e,p=!0,u=s.deferTexture,this.plugin=s,this.compare=s.compare,this.checkDirty=s.checkDirty,s.source&&(n=s.source)),!s&&q(n))"CANVAS"===n.tagName?(this.width=n.width,this.height=n.height,this.render=this.renderImageCanvas,p=!0,this.hook="canvas",this.compare=g):"IMG"===n.tagName&&(this.width=n.naturalWidth||1,this.height=n.naturalHeight||1,n.complete&&n.naturalWidth||(u=!0),n.addEventListener("load",function(){f.isDestroyed||(f.width===n.naturalWidth&&f.height===n.naturalHeight||(f.width=n.naturalWidth,f.height=n.naturalHeight,f.resize()),f.setDirty(),f.setReady())},!0),this.render=this.renderImageCanvas,p=!0,this.hook="image",this.compare=g);else if(!s&&q(n,"WebGLTexture")){if(i&&!i.isTexture(n))throw Error("Not a valid WebGL texture.");isNaN(d)?isNaN(l)||(d=l):isNaN(l)&&(l=d),this.width=d,this.height=l,void 0===a.flip&&(c=!1),p=!0,this.texture=n,this.initialized=!0,this.hook="texture",this.compare=g,this.render=function(){}}if(!p&&!s){for(o in h)if(h.hasOwnProperty(o)&&h[o]&&(s=m(o,n,r,!1))){this.hook=o,p=!0,u=s.deferTexture,this.plugin=s,this.compare=s.compare,this.checkDirty=s.checkDirty,s.source&&(n=s.source);break}}if(!p)throw Error("Unknown source type");this.source=n,void 0===this.flip&&(this.flip=c),this.targets=[],u||f.setReady(),this.pub=new O(this),z.push(this),X[this.id]=this,Z.push(this),b[this.hook].push(this),Z.length&&!B&&eg()}).prototype=Object.create(v.prototype),_.prototype.constructor=_,_.prototype.initialize=function(){var e;i&&!this.texture&&this.ready&&(e=i.createTexture(),i.bindTexture(i.TEXTURE_2D,e),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.bindTexture(i.TEXTURE_2D,null),this.texture=e,this.initialized=!0,this.allowRefresh=!0,this.setDirty())},_.prototype.initFrameBuffer=function(e){i&&(this.frameBuffer=new J(i,this.width,this.height,{texture:this.texture,useFloat:e}))},_.prototype.addTarget=function(e){var n;for(n=0;n<this.targets.length;n++)if(this.targets[n]===e)return;this.targets.push(e)},_.prototype.removeTarget=function(e){var n=this.targets&&this.targets.indexOf(e);n>=0&&this.targets.splice(n,1)},_.prototype.resize=function(){var e,n;if(this.uniforms.resolution[0]=this.width,this.uniforms.resolution[1]=this.height,this.framebuffer&&this.framebuffer.resize(this.width,this.height),this.emit("resize"),this.setDirty(),this.targets)for(e=0;e<this.targets.length;e++)(n=this.targets[e]).resize(),n.setTransformDirty&&n.setTransformDirty()},_.prototype.setReady=function(){var e;if(!this.ready&&(this.ready=!0,this.resize(),this.initialize(),this.emit("ready"),this.targets))for(e=0;e<this.targets.length;e++)this.targets[e].setReady()},_.prototype.render=function(){var e=this.source;i&&(e||0===e)&&this.ready&&(this.initialized||this.initialize(),this.allowRefresh&&this.plugin&&this.plugin.render&&(this.dirty||this.checkDirty&&this.checkDirty())&&this.plugin.render.call(this,i,ey,d,u)&&(this.dirty=!1,this.emit("render")))},_.prototype.renderImageCanvas=function(){var n=this.source;if(i&&n&&this.ready&&(this.initialized||this.initialize(),this.allowRefresh&&this.dirty)){i.bindTexture(i.TEXTURE_2D,this.texture),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,this.flip),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1);try{return i.texImage2D(i.TEXTURE_2D,0,i.RGBA,i.RGBA,i.UNSIGNED_BYTE,n),this.dirty=!1,this.emit("render"),!0}catch(n){n.code===e.DOMException.SECURITY_ERR&&(this.allowRefresh=!1,Y.logger.error("Unable to access cross-domain image"))}return!1}},_.prototype.destroy=function(){var e,n,r;for(this.plugin&&this.plugin.destroy&&this.plugin.destroy.call(this),i&&this.texture&&i.deleteTexture(this.texture);this.targets.length;)(r=this.targets.pop())&&r.removeSource&&r.removeSource(this);for(n in(e=Z.indexOf(this))>=0&&Z.splice(e,1),(e=b[this.hook].indexOf(this))>=0&&b[this.hook].splice(e,1),this)this.hasOwnProperty(n)&&"id"!==n&&delete this[n];v.prototype.destroy.call(this)},D=function(e){Object.defineProperties(this,{source:{enumerable:!0,configurable:!0,get:function(){if(e.source)return e.source.pub},set:function(n){e.setSource(n)}},original:{enumerable:!0,configurable:!0,get:function(){return e.target}},width:{enumerable:!0,configurable:!0,get:function(){return e.width},set:function(n){!isNaN(n)&&n>0&&e.width!==n&&(e.width=n,e.resize(),e.setTransformDirty())}},height:{enumerable:!0,configurable:!0,get:function(){return e.height},set:function(n){!isNaN(n)&&n>0&&e.height!==n&&(e.height=n,e.resize(),e.setTransformDirty())}},id:{enumerable:!0,configurable:!0,get:function(){return e.id}}}),this.render=function(){e.render()},this.readPixels=function(n,r,i,o,s){return e.readPixels(n,r,i,o,s)},this.on=function(n,r){e.on(n,r)},this.off=function(n,r){e.off(n,r)},this.go=function(n){e.go(n)},this.stop=function(){e.stop()},this.getTexture=function(){return e.frameBuffer.texture},this.destroy=function(){var n,r;for(n in e.destroy(),this)this.hasOwnProperty(n)&&"isDestroyed"!==n&&"id"!==n&&((r=Object.getOwnPropertyDescriptor(this,n)).get||r.set||"function"!=typeof this[n]?delete this[n]:this[n]=R)},this.inputs=function(e){return{source:{type:"image"}}},this.isDestroyed=function(){return e.isDestroyed},this.isReady=function(){return e.ready}},(x=function(e,n,r){var o,l,f,p,h,g,y,b,_,S=this,T=!1;function C(e,n,r,o){var s=m[e];if(s.definition){if(!(s=s.definition.call(S,n,r,o)))return null;s=U(U({},m[e]),s),S.hook=_,T=!0,S.plugin=s,S.compare=s.compare,s.target&&(n=s.target),s.gl&&!S.gl&&(S.gl=s.gl,i||eh(s.gl)),S.gl===i&&(S.model=d,S.shader=u)}return s}if(v.call(this),(e&&"string"!=typeof e||!n&&0!==n)&&(r&&"object"===dN(r)||(r=n),n=e),l=void 0===(o=r||{}).flip||o.flip,f=parseInt(o.width,10),p=parseInt(o.height,10),g=o.debugContext,"string"==typeof e&&m[e]&&C(e,n,o,!0),this.renderToTexture=o.renderToTexture,q(n,"WebGLFramebuffer"))if(y=n,q(o,"HTMLCanvasElement"))n=o;else if(q(o,"WebGLRenderingContext"))n=o.canvas;else if(q(o.canvas,"HTMLCanvasElement"))n=o.canvas;else{if(!q(o.context,"WebGLRenderingContext"))throw Error("Must provide a canvas with WebGLFramebuffer target");n=o.context.canvas}if(q(n,"HTMLCanvasElement")){if(f=n.width,p=n.height,(!i||i.canvas!==n&&o.allowSecondaryWebGL)&&(h=W(n,{alpha:!0,premultipliedAlpha:!0,preserveDrawingBuffer:!0,stencil:!0,debugContext:g})),h)i&&i!==h?(this.gl=h,this.frameBuffer={frameBuffer:y||null},this.shader=new K(this.gl,a,c),this.model=ef.call(this,this.gl),this.pixels=null,this.texture=this.gl.createTexture(),this.gl.bindTexture(i.TEXTURE_2D,this.texture),this.gl.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR),this.gl.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR),this.gl.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),this.gl.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),this.render=this.renderSecondaryWebGL):(s||(s=this),i||eh(h),this.render=this.renderWebGL,o.renderToTexture?i&&(this.frameBuffer=new J(i,f,p,!1)):this.frameBuffer={frameBuffer:y||null});else{if(!o.allowSecondaryWebGL&&i&&i.canvas!==n)throw Error("Only one WebGL target canvas allowed. Set allowSecondaryWebGL option to create secondary context.");this.render=R,Y.logger.log("Unable to create WebGL context.")}T=!0}if(!T){for(_ in m)if(m.hasOwnProperty(_)&&m[_]&&C(_,n,o,!1))break}if(!T)throw Error("Unknown target type");w&&((b=w.get(n))?Y.logger.warn("Target already in use by another instance",n,Object.keys(b).map(function(e){return b[e]})):(b={},w.set(n,b)),b[H.id]=H),this.target=n,this.transform=null,this.transformDirty=!0,this.flip=l,f&&(this.width=f),p&&(this.height=p),this.uniforms.resolution[0]=this.width,this.uniforms.resolution[1]=this.height,void 0!==o.auto?this.auto=o.auto:this.auto=ec,this.frames=0,this.pub=new D(this),z.push(this),X[this.id]=this,ee.push(this)}).prototype=Object.create(v.prototype),x.prototype.constructor=x,x.prototype.setSource=function(e){var n;(n=eb(e))!==this.source&&(this.source&&this.source.removeTarget(this),this.source=n,n.addTarget(this),n&&(this.resize(),n.ready?this.setReady():this.setUnready()),this.setDirty())},x.prototype.setDirty=function(){this.dirty=!0,this.auto&&!B&&(B=j(eg))},x.prototype.resize=function(){q(this.target,"HTMLCanvasElement")?this.width===this.target.width&&this.height===this.target.height||(this.target.width=this.width,this.target.height=this.height,this.uniforms.resolution[0]=this.width,this.uniforms.resolution[1]=this.height,this.emit("resize"),this.setTransformDirty()):this.plugin&&this.plugin.resize&&this.plugin.resize.call(this),!this.source||this.source.width===this.width&&this.source.height===this.height||this.transform||(this.transform=new Float32Array(16))},x.prototype.setTransformDirty=function(){this.transformDirty=!0,this.setDirty()},x.prototype.go=function(){this.auto=!0,this.setDirty()},x.prototype.stop=function(){this.auto=!1},x.prototype.render=function(){i&&this.plugin&&this.plugin.render&&this.plugin.render.call(this,ey,u,d)},x.prototype.renderWebGL=function(){var e,n,r;if(this.resize(),i&&this.dirty&&this.ready){if(!this.source)return;this.source.render(),this.uniforms.source=this.source.texture,this.source.width===this.width&&this.source.height===this.height?this.uniforms.transform=this.source.cumulativeMatrix||o:this.transformDirty&&(e=this.transform,P.copy(e,this.source.cumulativeMatrix||o),n=this.source.width/this.width,r=this.source.height/this.height,e[0]*=n,e[1]*=n,e[2]*=n,e[3]*=n,e[4]*=r,e[5]*=r,e[6]*=r,e[7]*=r,this.uniforms.transform=e,this.transformDirty=!1),ey(u,d,this.uniforms,this.frameBuffer.frameBuffer,this,k),this.emit("render"),this.dirty=!1}},x.prototype.renderSecondaryWebGL=function(){var e,n,r,i,s;this.dirty&&this.ready&&this.source&&(this.emit("render"),this.source.render(!0),e=this.source.width,n=this.source.height,this.pixels&&this.pixels.length===e*n*4||(this.pixels=new Uint8Array(e*n*4)),this.source.readPixels(0,0,e,n,this.pixels),this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,e,n,0,this.gl.RGBA,this.gl.UNSIGNED_BYTE,this.pixels),e===this.width&&n===this.height?this.uniforms.transform=o:this.transformDirty&&(r=this.transform,P.copy(r,o),i=this.source.width/this.width,s=this.source.height/this.height,r[0]*=i,r[1]*=i,r[2]*=i,r[3]*=i,r[4]*=s,r[5]*=s,r[6]*=s,r[7]*=s,this.uniforms.transform=r,this.transformDirty=!1),this.uniforms.source=this.texture,ey(this.shader,this.model,this.uniforms,null,this,k),this.dirty=!1)},x.prototype.removeSource=function(e){this.source!==e&&this.source!==e.pub||(this.source=null)},x.prototype.destroy=function(){var e,n;this.source&&this.source.removeTarget&&this.source.removeTarget(this),w&&(delete(n=w.get(this.target))[H.id],Object.keys(n).length||w.delete(this.target)),this.plugin&&this.plugin.destroy&&this.plugin.destroy.call(this),delete this.source,delete this.target,delete this.pub,delete this.uniforms,delete this.pixels,delete this.auto,(e=ee.indexOf(this))>=0&&ee.splice(e,1),v.prototype.destroy.call(this),this===s&&(r.removeEventListener("webglcontextrestored",em,!1),ev(),s=null)},I=function(e){var n,r=this;for(n in Object.defineProperties(this,{transform:{enumerable:!0,configurable:!0,get:function(){return e.hook}},title:{enumerable:!0,configurable:!0,get:function(){return e.plugin.title||e.hook}},width:{enumerable:!0,configurable:!0,get:function(){return e.width}},height:{enumerable:!0,configurable:!0,get:function(){return e.height}},id:{enumerable:!0,configurable:!0,get:function(){return e.id}},source:{enumerable:!0,configurable:!0,get:function(){return e.source&&e.source.pub},set:function(n){e.setSource(n)}}}),e.methods)e.methods.hasOwnProperty(n)&&(this[n]=function(n){return function(){n.apply(e,arguments)&&e.setTransformDirty()}}(e.methods[n]));for(n in e.inputs)e.inputs.hasOwnProperty(n)&&function(n,i){Object.defineProperty(r,n,{configurable:!0,enumerable:!0,get:function(){return i.get.call(e)},set:function(r){var o,s,a,c,d,l;o=n,s=i,a=r,c=e.inputElements[o],"string"==typeof a&&isNaN(a)&&("enum"===s.type?s.options.hasOwnProperty(a)||(a=L(a,["select"])):"number"===s.type||"boolean"===s.type?a=L(a,["input","select"]):"image"===s.type&&(a=L(a,["canvas","img","video"]))),q(a,"HTMLInputElement")||q(a,"HTMLSelectElement")?(d=a.value,c&&c.element!==a&&(c.element.removeEventListener("change",c.listener,!0),c.element.removeEventListener("input",c.listener,!0),delete e.inputElements[o],c=null),c||(c={element:a,listener:(l=a,function(){var n,r;n="checkbox"===a.type?a.checked:l.value,r=e.setInput(o,n),"color"===a.type&&(r=V(r)),r!==n&&(l.value=r)})},e.inputElements[o]=c,"range"===a.type&&a.addEventListener("input",c.listener,!0),a.addEventListener("change",c.listener,!0)),c&&"checkbox"===a.type&&(d=a.checked)):(c&&(c.element.removeEventListener("change",c.listener,!0),c.element.removeEventListener("input",c.listener,!0),delete e.inputElements[o]),d=a),e.setInput(o,d)}})}(n,e.inputs[n]);this.update=function(){e.setDirty()},this.inputs=function(n){var r,i,o,s;if(o=e.plugin.inputs,n)return(i=o[n])&&!i.method?(r={type:i.type,defaultValue:i.defaultValue,title:i.title||n},"number"===i.type?(r.min=i.min,r.max=i.max,r.step=i.step,r.mod=i.mod):"enum"===i.type?r.options=U({},i.options):"vector"===i.type&&(r.dimensions=i.dimensions),i.description&&(r.description=i.description),r):null;for(s in r={},o)o.hasOwnProperty(s)&&!o[s].method&&(r[s]=this.inputs(s));return r},this.alias=function(n,r){return e.alias(n,r),this},this.on=function(n,r){e.on(n,r)},this.off=function(n,r){e.off(n,r)},this.destroy=function(){var n,r;for(n in e.destroy(),this)this.hasOwnProperty(n)&&"isDestroyed"!==n&&"id"!==n&&((r=Object.getOwnPropertyDescriptor(this,n)).get||r.set||"function"!=typeof this[n]?delete this[n]:this[n]=R)},this.isDestroyed=function(){return e.isDestroyed},this.isReady=function(){return e.ready}},(C=function(e,n){var r,i,o,s,a;for(r in this.matrix=new Float32Array(16),this.cumulativeMatrix=new Float32Array(16),this.ready=!1,this.width=1,this.height=1,this.seriously=H,this.transformRef=p[e],this.hook=e,this.id=Q,Q++,this.options=n,this.sources=null,this.targets=[],this.inputElements={},this.inputs={},this.methods={},this.listeners={},this.texture=null,this.frameBuffer=null,this.uniforms=null,this.dirty=!0,this.transformDirty=!0,this.renderDirty=!1,this.isDestroyed=!1,this.transformed=!1,this.plugin=U({},this.transformRef),this.transformRef.definition&&U(this.plugin,this.transformRef.definition.call(this,n)),this.plugin.inputs)this.plugin.inputs.hasOwnProperty(r)&&((i=this.plugin.inputs[r]).method&&"function"==typeof i.method?this.methods[r]=i.method:"function"==typeof i.set&&"function"==typeof i.get&&(this.inputs[r]=i));for(r in $(this.plugin),a=es[e],this.plugin.inputs)this.plugin.inputs.hasOwnProperty(r)&&"function"==typeof(i=this.plugin.inputs[r]).set&&"function"==typeof i.get&&"function"!=typeof i.method&&(o=i.get.call(this),s=void 0===i.defaultValue?o:i.defaultValue,s=i.validate.call(this,s,i,o),a&&void 0!==a[r]&&(s=i.validate.call(this,a[r],i,i.defaultValue,s),a[r]=s),s!==o&&i.set.call(this,s));z.push(this),X[this.id]=this,this.pub=new I(this),et.push(this),y[e].push(this)}).prototype=Object.create(v.prototype),C.prototype.constructor=C,C.prototype.setDirty=function(){this.renderDirty=!0,v.prototype.setDirty.call(this)},C.prototype.setTransformDirty=function(){var e,n;for(this.transformDirty=!0,this.dirty=!0,this.renderDirty=!0,e=0;e<this.targets.length;e++)(n=this.targets[e]).setTransformDirty?n.setTransformDirty():n.setDirty()},C.prototype.resize=function(){var e;for(v.prototype.resize.call(this),this.plugin.resize&&this.plugin.resize.call(this),e=0;e<this.targets.length;e++)this.targets[e].resize();this.setTransformDirty()},C.prototype.setSource=function(e){var n;if((n=eb(e))!==this.source){if(e_(n,this))throw Error("Attempt to make cyclical connection.");this.source&&this.source.removeTarget(this),this.source=n,n.addTarget(this),n&&n.ready?this.setReady():this.setUnready(),this.resize()}},C.prototype.addTarget=function(e){var n;for(n=0;n<this.targets.length;n++)if(this.targets[n]===e)return;this.targets.push(e)},C.prototype.removeTarget=function(e){var n=this.targets&&this.targets.indexOf(e);n>=0&&this.targets.splice(n,1),this.targets&&this.targets.length&&this.resize()},C.prototype.setInput=function(e,n){var r,i,o;if(this.plugin.inputs.hasOwnProperty(e))return r=this.plugin.inputs[e],i=es[this.hook]&&void 0!==es[this.hook][e]?es[this.hook][e]:r.defaultValue,o=r.get.call(this),void 0===i&&(i=o),n=r.validate.call(this,n,r,i,o),r.set.call(this,n)&&this.setTransformDirty(),r.get.call(this)},C.prototype.alias=function(e,n){var r,i,o=this;if(N.indexOf(n)>=0)throw Error("'"+n+"' is a reserved name and cannot be used as an alias.");return this.plugin.inputs.hasOwnProperty(e)&&(n||(n=e),H.removeAlias(n),(r=this.inputs[e])?(i=o.inputs[e],Object.defineProperty(H,n,{configurable:!0,enumerable:!0,get:function(){return i.get.call(o)},set:function(e){i.set.call(o,e)&&o.setTransformDirty()}})):(r=this.methods[e])&&(i=r,H[n]=function(){i.apply(o,arguments)&&o.setTransformDirty()}),r&&(er[n]={node:this,input:e})),this},C.prototype.render=function(e){return this.source?(this.source.render(),this.transformDirty&&(this.transformed?this.source.cumulativeMatrix?P.multiply(this.cumulativeMatrix,this.matrix,this.source.cumulativeMatrix):P.copy(this.cumulativeMatrix,this.matrix):P.copy(this.cumulativeMatrix,this.source.cumulativeMatrix||o),this.transformDirty=!1),e&&i?(this.renderDirty&&(this.frameBuffer||(this.uniforms={resolution:[this.width,this.height]},this.frameBuffer=new J(i,this.width,this.height)),this.uniforms.source=this.source.texture,this.uniforms.transform=this.cumulativeMatrix||o,ey(u,d,this.uniforms,this.frameBuffer.frameBuffer,this),this.renderDirty=!1),this.texture=this.frameBuffer.texture):this.source?this.texture=this.source.texture:this.texture=null,this.dirty=!1,this.texture):(this.transformDirty&&(P.copy(this.cumulativeMatrix,this.matrix),this.transformDirty=!1),this.texture=null,void(this.dirty=!1))},C.prototype.readPixels=function(e,n,r,o,s){var a=this.gl||i;if(!i)throw Error("Cannot read pixels until a canvas is connected");if(this.render(!0),void 0===s)s=new Uint8Array(r*o*4);else if(!q(s,"Uint8Array"))throw Error("Incompatible array type");return a.bindFramebuffer(i.FRAMEBUFFER,this.frameBuffer.frameBuffer),a.readPixels(e,n,r,o,i.RGBA,i.UNSIGNED_BYTE,s),s},C.prototype.destroy=function(){var e,n,r,i=this.hook;for(e in this.plugin.destroy&&"function"==typeof this.plugin.destroy&&this.plugin.destroy.call(this),delete this.effect,this.frameBuffer&&(this.frameBuffer.destroy(),delete this.frameBuffer,delete this.texture),this.inputElements)this.inputElements.hasOwnProperty(e)&&((r=this.inputElements[e]).element.removeEventListener("change",r.listener,!0),r.element.removeEventListener("input",r.listener,!0));for(this.source&&this.source.removeTarget(this);this.targets.length;)(r=this.targets.pop())&&r.removeSource&&r.removeSource(this);for(n in this)this.hasOwnProperty(n)&&"id"!==n&&delete this[n];for(n in er)er.hasOwnProperty(n)&&(r=er[n]).node===this&&H.removeAlias(n);(e=et.indexOf(this))>=0&&et.splice(e,1),(e=y[i].indexOf(this))>=0&&y[i].splice(e,1),v.prototype.destroy.call(this)},C.prototype.setReady=v.prototype.setReady,C.prototype.setUnready=v.prototype.setUnready,C.prototype.on=v.prototype.on,C.prototype.off=v.prototype.off,C.prototype.emit=v.prototype.emit,(n=q(n,"HTMLCanvasElement")?{canvas:n}:n||{}).canvas,this.effect=function(e,n){if(!f[e])throw Error("Unknown effect: "+e);return new T(e,n).pub},this.source=function(e,n,r){return eb(e,n,r).pub},this.transform=function(e,r){if("string"!=typeof e&&(r=e,e=!1),e){if(!p[e])throw Error("Unknown transform: "+e)}else if(!p[e=n&&n.defaultTransform||"2d"])throw Error("No transform specified");return new C(e,r).pub},this.target=function(e,n,r){var i,o,s;for(e&&"string"==typeof e&&!m[e]&&(o=l.querySelector(e)),("string"!=typeof e||!n&&0!==n||o)&&(r&&"object"===dN(r)||(r=n),n=o||e,e=null),"string"==typeof n&&isNaN(n)&&(n=l.querySelector(n)),s=0;s<ee.length;s++)if(i=ee[s],(!e||e===i.hook)&&(i.target===n||i.compare&&i.compare(n,r)))return i.pub;return(i=new x(e,n,r)).pub},this.aliases=function(){return Object.keys(er)},this.removeAlias=function(e){er[e]&&(delete this[e],delete er[e])},this.defaults=function(e,n){var r;if(e)if("object"!==dN(e))null===n?delete es[e]:"object"===dN(n)&&(es[e]=U({},n));else for(r in e)e.hasOwnProperty(r)&&this.defaults(r,e[r]);else if(null===e)for(r in es)es.hasOwnProperty(r)&&delete es[r]},this.go=function(e,n){var r;for("function"==typeof e&&0>ei.indexOf(e)&&ei.push(e),"function"==typeof n&&0>eo.indexOf(n)&&eo.push(n),ec=!0,r=0;r<ee.length;r++)ee[r].go();!B&&(ei.length||eo.length)&&eg()},this.stop=function(){ei.length=0,eo.length=0,A(B),B=0},this.render=function(){var e;for(e=0;e<ee.length;e++)ee[e].render(n)},this.destroy=function(){for(var e,n;z.length;)z[0].pub.destroy();for(e in this)this.hasOwnProperty(e)&&"isDestroyed"!==e&&"id"!==e&&((n=Object.getOwnPropertyDescriptor(this,e)).get||n.set||"function"!=typeof this[e]?delete this[e]:this[e]=R);H=null,Z=[],ee=[],en=[],z=[],ei.length=0,eo.length=0,A(B),B=0,ed=!0},this.isDestroyed=function(){return ed},this.incompatible=function(e){var n,r,i=!1;if(i=Y.incompatible(e))return i;if(!e){for(n in g)if(g.hasOwnProperty(n)&&g[n].length&&(r=f[n])&&"function"==typeof r.compatible&&!r.compatible.call(this))return"plugin-"+n;for(n in b)if(b.hasOwnProperty(n)&&b[n].length&&(r=h[n])&&"function"==typeof r.compatible&&!r.compatible.call(this))return"source-"+n}return!1},this.isNode=function(e){var n;return!(!e||!(n=X[e.id])||n.isDestroyed)},this.isSource=function(e){return this.isNode(e)&&e instanceof O},this.isEffect=function(e){return this.isNode(e)&&e instanceof E},this.isTransform=function(e){return this.isNode(e)&&e instanceof I},this.isTarget=function(e){return this.isNode(e)&&e instanceof D},Object.defineProperties(this,{id:{enumerable:!0,configurable:!0,get:function(){return F}}}),this.defaults(n.defaults)}return e.addEventListener("message",function(n){n.source===e&&"seriously-timeout-message"===n.data&&(n.stopPropagation(),v.length>0&&v.shift()())},!0),J.prototype.resize=function(e,n){var r=this.gl;this.width===e&&this.height===n||(this.width=e,this.height=n,r&&(r.bindTexture(r.TEXTURE_2D,this.texture),r.bindFramebuffer(r.FRAMEBUFFER,this.frameBuffer),r.bindRenderbuffer(r.RENDERBUFFER,this.renderBuffer),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,e,n,0,r.RGBA,r.UNSIGNED_BYTE,null),r.renderbufferStorage(r.RENDERBUFFER,r.DEPTH_COMPONENT16,e,n),r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,this.texture,0),r.bindTexture(r.TEXTURE_2D,null),r.bindRenderbuffer(r.RENDERBUFFER,null),r.bindFramebuffer(r.FRAMEBUFFER,null)))},J.prototype.destroy=function(){var e=this.gl;e&&(e.deleteFramebuffer(this.frameBuffer),e.deleteRenderbuffer(this.renderBuffer),this.ownTexture&&e.deleteTexture(this.texture)),delete this.frameBuffer,delete this.renderBuffer,delete this.texture,delete this.gl},K.prototype.use=function(){this.gl.useProgram(this.program)},Y.incompatible=function(n){var r,o,s;if(void 0===i&&((r=l.createElement("canvas"))&&r.getContext?e.WebGLRenderingContext?(o=X())||(i="context"):i="webgl":i="canvas"),i)return i;if(n){if((s=f[n])&&"function"==typeof s.compatible&&!s.compatible(o))return"plugin-"+n;if((s=h[n])&&"function"==typeof s.compatible&&!s.compatible(o))return"source-"+n}return!1},Y.plugin=function(e,n,r){var i;if(f[e])Y.logger.warn("Effect ["+e+"] already loaded");else if(void 0===r&&"object"===dN(n)&&(r=n),r)return i=U({},r),"function"==typeof n&&(i.definition=n),i.reserved=D,i.inputs&&$(i),i.title||(i.title=e),f[e]=i,g[e]=[],i},Y.removePlugin=function(e){var n;if(!e||!f[e])return this;if(n=g[e]){for(;n.length;)n.shift().destroy();delete g[e]}return delete f[e],this},Y.source=function(e,n,r){var i;if(h[e])Y.logger.warn("Source ["+e+"] already loaded");else if(void 0===r&&"object"===dN(n)&&(r=n),r||n)return i=U({},r),"function"==typeof n&&(i.definition=n),i.title||(i.title=e),h[e]=i,b[e]=[],i},Y.removeSource=function(e){var n;if(!e||!h[e])return this;if(n=b[e]){for(;n.length;)n.shift().destroy();delete b[e]}return delete h[e],this},Y.transform=function(e,n,r){var i;if(p[e])Y.logger.warn("Transform ["+e+"] already loaded");else if(void 0===r&&"object"===dN(n)&&(r=n),r||n)return i=U({},r),"function"==typeof n&&(i.definition=n),i.reserved=B,i.inputs&&$(i),i.title||(i.title=e),p[e]=i,y[e]=[],i},Y.removeTransform=function(e){var n;if(!e||!p[e])return this;if(n=y[e]){for(;n.length;)n.shift().destroy();delete y[e]}return delete p[e],this},Y.target=function(e,n,r){var i;if(m[e])Y.logger.warn("Target ["+e+"] already loaded");else if(void 0===r&&"object"===dN(n)&&(r=n),r||n)return i=U({},r),"function"==typeof n&&(i.definition=n),i.title||(i.title=e),m[e]=i,_[e]=[],i},Y.removeTarget=function(e){var n;if(!e||!m[e])return this;if(n=_[e]){for(;n.length;)n.shift().destroy();delete _[e]}return delete m[e],this},Y.inputValidators={color:function(e,n,i,o){var s,a,c,d;if(a=o||[],"string"==typeof e){if((c=C.exec(e))&&c.length){if(c.length<3)return a[0]=a[1]=a[2]=a[3]=0,a;for(a[3]=1,d=0;d<3;d++)a[d]=parseFloat(c[d+2])/255;return isNaN(c[6])||(a[3]=parseFloat(c[6])),"hsl"===c[1].toLowerCase()?H(a[0],a[1],a[2],a[3],a):a}if((c=x.exec(e))&&c.length)return 3===(s=c[1]).length?(a[0]=parseInt(s[0],16)/15,a[1]=parseInt(s[1],16)/15,a[2]=parseInt(s[2],16)/15,a[3]=1):4===s.length?(a[0]=parseInt(s[0],16)/15,a[1]=parseInt(s[1],16)/15,a[2]=parseInt(s[2],16)/15,a[3]=parseInt(s[3],16)/15):6===s.length?(a[0]=parseInt(s.substr(0,2),16)/255,a[1]=parseInt(s.substr(2,2),16)/255,a[2]=parseInt(s.substr(4,2),16)/255,a[3]=1):8===s.length?(a[0]=parseInt(s.substr(0,2),16)/255,a[1]=parseInt(s.substr(2,2),16)/255,a[2]=parseInt(s.substr(4,2),16)/255,a[3]=parseInt(s.substr(6,2),16)/255):a[0]=a[1]=a[2]=a[3]=0,a;if(c=T[e.toLowerCase()]){for(d=0;d<4;d++)a[d]=c[d];return a}return r||(r=l.createElement("canvas").getContext("2d")),r.fillStyle=e,(s=r.fillStyle)&&"#000000"!==s?Y.inputValidators.color(s,n,i,o):(a[0]=a[1]=a[2]=a[3]=0,a)}if(z(e)){if((a=e).length<3)return a[0]=a[1]=a[2]=a[3]=0,a;for(d=0;d<3;d++)if(isNaN(a[d]))return a[0]=a[1]=a[2]=a[3]=0,a;return a.length<4&&a.push(1),a}if("number"==typeof e)return a[0]=a[1]=a[2]=e,a[3]=1,a;if("object"===dN(e)){for(d=0;d<4;d++)null===e[s=O[d]]||isNaN(e[s])?a[d]=+(3===d):a[d]=e[s];return a}return a[0]=a[1]=a[2]=a[3]=0,a},number:function(e,n,r){return isNaN(e=parseFloat(e))?r||0:(n.mod&&(e-=n.mod*Math.floor(e/n.mod)),e<n.min?n.min:e>n.max?n.max:n.step?Math.round(e/n.step)*n.step:e)},enum:function(e,n,r){var i=n.options||[];return"string"==typeof e?e=e.toLowerCase():"number"==typeof e?e=e.toString():e||(e=""),i.hasOwnProperty(e)?e:r||""},vector:function(e,n,r,i){var o,s,a,c=n.dimensions||4;if(o=i||[],z(e)){for(s=0;s<c;s++)o[s]=e[s]||0;return o}if("object"===dN(e)){for(s=0;s<c;s++)void 0===e[a=E[s]]&&(a=O[s]),o[s]=e[a]||0;return o}for(e=parseFloat(e)||0,s=0;s<c;s++)o[s]=e;return o},boolean:function(e){return!(!e||e&&e.toLowerCase&&"false"===e.toLowerCase())},string:function(e){return"string"==typeof e?e:0===e||e?e.toString?e.toString():String(e):""}},Y.prototype.effects=Y.effects=function(){var e,n,r,i,o,s={};for(e in f)if(f.hasOwnProperty(e)){for(o in r={title:(n=f[e]).title||e,description:n.description||"",inputs:{}},n.inputs)n.inputs.hasOwnProperty(o)&&(i=n.inputs[o],r.inputs[o]={type:i.type,defaultValue:i.defaultValue,step:i.step,min:i.min,max:i.max,mod:i.mod,minCount:i.minCount,maxCount:i.maxCount,dimensions:i.dimensions,title:i.title||o,description:i.description||"",options:i.options||[]});s[e]=r}return s},e.Float32Array&&(o=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])),e.Seriously&&"object"===dN(e.Seriously)&&function(){var n;for(n in e.Seriously)e.Seriously.hasOwnProperty(n)&&"plugin"!==n&&"object"===dN(e.Seriously[n])&&Y.plugin(n,e.Seriously[n])}(),Y.logger={log:F("log"),info:F("info"),warn:F("warn"),error:F("error")},Y.util={mat4:P,checkSource:function(n){var r,i,o,s;if(!(r=L(n,["img","canvas","video"])))return!1;if(!(i=l.createElement("canvas")))return Y.logger.warn("Browser does not support canvas or Seriously.js"),!1;if(0===r.naturalWidth&&"IMG"===r.tagName)return Y.logger.warn("Image not loaded"),!1;if(0===r.readyState&&0===r.videoWidth&&"VIDEO"===r.tagName)return Y.logger.warn("Video not loaded"),!1;if(o=X()){(s=o.createTexture())||Y.logger.error("Test WebGL context has been lost"),o.bindTexture(o.TEXTURE_2D,s);try{o.texImage2D(o.TEXTURE_2D,0,o.RGBA,o.RGBA,o.UNSIGNED_BYTE,r)}catch(n){return n.code===e.DOMException.SECURITY_ERR?Y.logger.log("Unable to access cross-domain image"):Y.logger.error("Error storing image to texture: "+n.message),o.deleteTexture(s),!1}o.deleteTexture(s)}else{o=i.getContext("2d");try{o.drawImage(r,0,0),o.getImageData(0,0,1,1)}catch(n){return n.code===e.DOMException.SECURITY_ERR?Y.logger.log("Unable to access cross-domain image"):Y.logger.error("Error drawing image to canvas: "+n.message),!1}}return!0},hslToRgb:H,colors:T,setTimeoutZero:G,ShaderProgram:K,FrameBuffer:J,requestAnimationFrame:j,shader:{makeNoise:"float makeNoise(float u, float v, float timer) {\n float x = u * v * mod(timer * 1000.0, 100.0);\n x = mod(x, 13.0) * mod(x, 127.0);\n float dx = mod(x, 0.01);\n return clamp(0.1 + dx * 100.0, 0.0, 1.0);\n}\n",random:"#ifndef RANDOM\n#define RANDOM\nfloat random(vec2 n) {\n return 0.5 + 0.5 * fract(sin(dot(n.xy, vec2(12.9898, 78.233)))* 43758.5453);\n}\n#endif\n"}},Y.source("video",function(n,r,i){var o,a,c=this,d=!1,u=!1,f=!1,p=0;function h(){n.removeEventListener("loadedmetadata",h,!0),d||(n.videoWidth?(c.width===n.videoWidth&&c.height===n.videoHeight||(c.width=n.videoWidth,c.height=n.videoHeight,c.resize()),u&&c.setReady()):(u=!0,setTimeout(h,50)))}function m(){f=!0}function v(){f=!1,c.setDirty()}if(q(n,"HTMLVideoElement"))return n.readyState?h():(u=!0,n.addEventListener("loadedmetadata",h,!0)),n.addEventListener("seeking",m,!1),n.addEventListener("seeked",v,!1),{deferTexture:u,source:n,render:function r(i){var d;if(p=n.currentTime,!n.videoHeight||!n.videoWidth)return!1;s?(a||((o=(a=l.createElement("canvas").getContext("2d")).canvas).width=c.width,o.height=c.height),d=o,a.drawImage(n,0,0,c.width,c.height)):d=n,i.bindTexture(i.TEXTURE_2D,c.texture),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,c.flip),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1);try{if(i.texImage2D(i.TEXTURE_2D,0,i.RGBA,i.RGBA,i.UNSIGNED_BYTE,d),void 0===s){if(i.getError()===i.INVALID_VALUE)return s=!0,r(i);s=!1}return!0}catch(n){n.code===e.DOMException.SECURITY_ERR?(c.allowRefresh=!1,Y.logger.error("Unable to access cross-domain image")):Y.logger.error("Error rendering video source",n)}return!1},checkDirty:function(){return!f&&n.currentTime!==p},compare:function(e){return c.source===e},destroy:function(){d=!0,n.removeEventListener("seeking",m,!1),n.removeEventListener("seeked",v,!1),n.removeEventListener("loadedmetadata",h,!0)}}},{title:"Video"}),Y.transform("2d",function(e){var n=this,r=!(e&&e.radians),i=0,o=0,s=1,a=1,c=0,d=0,l=0,u=0,f=0;function p(){var e,p,h,m,v,g,y,b,_,w,S,R=n.matrix;function T(e,n){R[12]=R[0]*e+R[4]*n+R[12],R[13]=R[1]*e+R[5]*n+R[13],R[14]=R[2]*e+R[6]*n+R[14],R[15]=R[3]*e+R[7]*n+R[15]}c||d||l||u||f||1!==s||1!==a?(P.identity(R),T(c+i,d+o),u&&(R[4]=u/n.width),f&&(R[1]=f/n.height),l&&(m=R[0],v=R[1],g=R[2],y=R[3],b=R[4],_=R[5],w=R[6],S=R[7],p=Math.sin(e=-(r?l*Math.PI/180:l)),h=Math.cos(e),R[0]=m*h+b*p,R[1]=v*h+_*p,R[2]=g*h+w*p,R[3]=y*h+S*p,R[4]=b*h-m*p,R[5]=_*h-v*p,R[6]=w*h-g*p,R[7]=S*h-y*p),1!==s&&(R[0]*=s,R[1]*=s,R[2]*=s,R[3]*=s),1!==a&&(R[4]*=a,R[5]*=a,R[6]*=a,R[7]*=a),T(-i,-o),n.transformed=!0):n.transformed=!1}return{inputs:{reset:{method:function(){return i=0,o=0,s=1,a=1,c=0,d=0,l=0,u=0,f=0,!!n.transformed&&(n.transformed=!1,!0)}},translate:{method:function(e,n){return isNaN(e)&&(e=c),isNaN(n)&&(n=d),(e!==c||n!==d)&&(c=e,d=n,p(),!0)},type:["number","number"]},translateX:{get:function(){return c},set:function(e){return e!==c&&(c=e,p(),!0)},type:"number"},translateY:{get:function(){return d},set:function(e){return e!==d&&(d=e,p(),!0)},type:"number"},rotation:{get:function(){return l},set:function(e){return e!==l&&(l=parseFloat(e),p(),!0)},type:"number"},center:{method:function(e,n){return isNaN(e)&&(e=i),isNaN(n)&&(n=o),(e!==i||n!==o)&&(i=e,o=n,p(),!0)},type:["number","number"]},centerX:{get:function(){return i},set:function(e){return e!==i&&(i=e,p(),!0)},type:"number"},centerY:{get:function(){return o},set:function(e){return e!==o&&(o=e,p(),!0)},type:"number"},skew:{method:function(e,n){return isNaN(e)&&(e=u),isNaN(n)&&(n=f),(e!==u||n!==f)&&(u=e,f=n,p(),!0)},type:["number","number"]},skewX:{get:function(){return u},set:function(e){return e!==u&&(u=e,p(),!0)},type:"number"},skewY:{get:function(){return f},set:function(e){return e!==f&&(f=e,p(),!0)},type:"number"},scale:{method:function(e,n){var r,i;if(r=isNaN(e)?s:e,isNaN(n)){if(isNaN(e))return!1;i=r}else i=n;return(r!==s||i!==a)&&(s=r,a=i,p(),!0)},type:["number","number"]},scaleX:{get:function(){return s},set:function(e){return e!==s&&(s=e,p(),!0)},type:"number"},scaleY:{get:function(){return a},set:function(e){return e!==a&&(a=e,p(),!0)},type:"number"}}}},{title:"2D Transform",description:"Translate, Rotate, Scale, Skew"}),Y.transform("flip",function(){var e=this,n=!0;function r(){var r=e.matrix;n?(r[0]=-1,r[5]=1):(r[0]=1,r[5]=-1)}return P.identity(e.matrix),r(),e.transformDirty=!0,e.transformed=!0,{inputs:{direction:{get:function(){return n?"horizontal":"vertical"},set:function(e){var i;return(i="vertical"!==e)!==n&&(n=i,r(),!0)},type:"string"}}}},{title:"Flip",description:"Flip Horizontal/Vertical"}),Y.transform("reformat",function(){var e,n,r=this,i="contain";function o(){var o,s,a,c,d=r.matrix,l=e||r.width,u=n||r.height,f=r.source,p=f&&f.width||1,h=f&&f.height||1;"distort"===i||l===p&&u===h?r.transformed=!1:(a=p/h,c=l/u,"none"===i?(o=p/l,s=h/u):"width"===i||"contain"===i&&c<=a?(o=1,s=c/a):"height"===i||"contain"===i&&c>a?(o=a/c,s=1):c>a?(o=1,s=c/a):(o=a/c,s=1),1!==o||1!==s?(P.identity(d),1!==o&&(d[0]*=o,d[1]*=o,d[2]*=o,d[3]*=o),1!==s&&(d[4]*=s,d[5]*=s,d[6]*=s,d[7]*=s),r.transformed=!0):r.transformed=!1)}function s(){return e||r.source&&r.source.width||1}function a(){return n||r.source&&r.source.height||1}return this.resize=function(){var e,n=s(),r=a();if(this.width!==n||this.height!==r)for(this.width=n,this.height=r,this.uniforms&&this.uniforms.resolution&&(this.uniforms.resolution[0]=n,this.uniforms.resolution[1]=r),this.frameBuffer&&this.frameBuffer.resize&&this.frameBuffer.resize(n,r),e=0;e<this.targets.length;e++)this.targets[e].resize();this.setTransformDirty(),o()},{inputs:{width:{get:s,set:function(n){return(n=Math.floor(n))===e||(e=n,this.resize()),!1},type:"number"},height:{get:a,set:function(e){return(e=Math.floor(e))===n||(n=e,this.resize()),!1},type:"number"},mode:{get:function(){return i},set:function(e){return e!==i&&(i=e,o(),!0)},type:"enum",options:["cover","contain","distort","width","height","none"]}}}},{title:"Reformat",description:"Change output dimensions"}),a="precision mediump float;\nattribute vec4 position;\nattribute vec2 texCoord;\nuniform vec2 resolution;\nuniform mat4 transform;\nvarying vec2 vTexCoord;\nvoid main(void) {\n vec4 screenPosition = vec4(position.xy * resolution / 2.0, position.z, position.w);\n screenPosition = transform * screenPosition;\n gl_Position.xy = screenPosition.xy * 2.0 / resolution;\n gl_Position.z = screenPosition.z * 2.0 / (resolution.x / resolution.y);\n gl_Position.w = screenPosition.w;\n vTexCoord = texCoord;\n}\n",c="precision mediump float;\nvarying vec2 vTexCoord;\nuniform sampler2D source;\nvoid main(void) {\n gl_FragColor = texture2D(source, vTexCoord);\n}",Y.util.shader.noiseHelpers="#ifndef NOISE_HELPERS\n#define NOISE_HELPERS\nvec2 mod289(vec2 x) {\n return x - floor(x * (1.0 / 289.0)) * 289.0;\n}\nvec3 mod289(vec3 x) {\n return x - floor(x * (1.0 / 289.0)) * 289.0;\n}\nvec4 mod289(vec4 x) {\n return x - floor(x * (1.0 / 289.0)) * 289.0;\n}\nvec3 permute(vec3 x) {\n return mod289(((x*34.0)+1.0)*x);\n}\nvec4 permute(vec4 x) {\n return mod289(((x*34.0)+1.0)*x);\n}\nvec4 taylorInvSqrt(vec4 r) {\n return 1.79284291400159 - 0.85373472095314 * r;\n}\nfloat taylorInvSqrt(float r) {\n return 1.79284291400159 - 0.85373472095314 * r;\n}\n#endif\n",Y.util.shader.snoise2d="#ifndef NOISE2D\n#define NOISE2D\nfloat snoise(vec2 v) {\n const vec4 C = vec4(0.211324865405187, // (3.0-sqrt(3.0))/6.0\n 0.366025403784439, // 0.5*(sqrt(3.0)-1.0)\n -0.577350269189626, // -1.0 + 2.0 * C.x\n 0.024390243902439); // 1.0 / 41.0\n vec2 i = floor(v + dot(v, C.yy));\n vec2 x0 = v - i + dot(i, C.xx);\n vec2 i1;\n //i1.x = step(x0.y, x0.x); // x0.x > x0.y ? 1.0 : 0.0\n //i1.y = 1.0 - i1.x;\n i1 = (x0.x > x0.y) ? vec2(1.0, 0.0) : vec2(0.0, 1.0);\n // x0 = x0 - 0.0 + 0.0 * C.xx ;\n // x1 = x0 - i1 + 1.0 * C.xx ;\n // x2 = x0 - 1.0 + 2.0 * C.xx ;\n vec4 x12 = x0.xyxy + C.xxzz;\n x12.xy -= i1;\n i = mod289(i); // Avoid truncation effects in permutation\n vec3 p = permute(permute(i.y + vec3(0.0, i1.y, 1.0)) + i.x + vec3(0.0, i1.x, 1.0));\n vec3 m = max(0.5 - vec3(dot(x0, x0), dot(x12.xy, x12.xy), dot(x12.zw, x12.zw)), 0.0);\n m = m*m ;\n m = m*m ;\n vec3 x = 2.0 * fract(p * C.www) - 1.0;\n vec3 h = abs(x) - 0.5;\n vec3 ox = floor(x + 0.5);\n vec3 a0 = x - ox;\n m *= 1.79284291400159 - 0.85373472095314 * (a0*a0 + h*h);\n vec3 g;\n g.x = a0.x * x0.x + h.x * x0.y;\n g.yz = a0.yz * x12.xz + h.yz * x12.yw;\n return 130.0 * dot(m, g);\n}\n#endif\n",Y.util.shader.snoise3d="#ifndef NOISE3D\n#define NOISE3D\nfloat snoise(vec3 v) {\n const vec2 C = vec2(1.0/6.0, 1.0/3.0) ;\n const vec4 D = vec4(0.0, 0.5, 1.0, 2.0);\n vec3 i = floor(v + dot(v, C.yyy));\n vec3 x0 = v - i + dot(i, C.xxx) ;\n vec3 g = step(x0.yzx, x0.xyz);\n vec3 l = 1.0 - g;\n vec3 i1 = min(g.xyz, l.zxy);\n vec3 i2 = max(g.xyz, l.zxy);\n // x0 = x0 - 0.0 + 0.0 * C.xxx;\n // x1 = x0 - i1 + 1.0 * C.xxx;\n // x2 = x0 - i2 + 2.0 * C.xxx;\n // x3 = x0 - 1.0 + 3.0 * C.xxx;\n vec3 x1 = x0 - i1 + C.xxx;\n vec3 x2 = x0 - i2 + C.yyy; // 2.0*C.x = 1/3 = C.y\n vec3 x3 = x0 - D.yyy; // -1.0+3.0*C.x = -0.5 = -D.y\n i = mod289(i);\n vec4 p = permute(permute(permute(\n i.z + vec4(0.0, i1.z, i2.z, 1.0))\n + i.y + vec4(0.0, i1.y, i2.y, 1.0))\n + i.x + vec4(0.0, i1.x, i2.x, 1.0));\n float n_ = 0.142857142857; // 1.0/7.0\n vec3 ns = n_ * D.wyz - D.xzx;\n vec4 j = p - 49.0 * floor(p * ns.z * ns.z); // mod(p, 7 * 7)\n vec4 x_ = floor(j * ns.z);\n vec4 y_ = floor(j - 7.0 * x_); // mod(j, N)\n vec4 x = x_ * ns.x + ns.yyyy;\n vec4 y = y_ * ns.x + ns.yyyy;\n vec4 h = 1.0 - abs(x) - abs(y);\n vec4 b0 = vec4(x.xy, y.xy);\n vec4 b1 = vec4(x.zw, y.zw);\n //vec4 s0 = vec4(lessThan(b0, 0.0)) * 2.0 - 1.0;\n //vec4 s1 = vec4(lessThan(b1, 0.0)) * 2.0 - 1.0;\n vec4 s0 = floor(b0) * 2.0 + 1.0;\n vec4 s1 = floor(b1) * 2.0 + 1.0;\n vec4 sh = -step(h, vec4(0.0));\n vec4 a0 = b0.xzyw + s0.xzyw * sh.xxyy ;\n vec4 a1 = b1.xzyw + s1.xzyw * sh.zzww ;\n vec3 p0 = vec3(a0.xy, h.x);\n vec3 p1 = vec3(a0.zw, h.y);\n vec3 p2 = vec3(a1.xy, h.z);\n vec3 p3 = vec3(a1.zw, h.w);\n vec4 norm = taylorInvSqrt(vec4(dot(p0, p0), dot(p1, p1), dot(p2, p2), dot(p3, p3)));\n p0 *= norm.x;\n p1 *= norm.y;\n p2 *= norm.z;\n p3 *= norm.w;\n vec4 m = max(0.6 - vec4(dot(x0, x0), dot(x1, x1), dot(x2, x2), dot(x3, x3)), 0.0);\n m = m * m;\n return 42.0 * dot(m*m, vec4(dot(p0, x0), dot(p1, x1), dot(p2, x2), dot(p3, x3)));\n}\n#endif\n",Y.util.shader.snoise4d="#ifndef NOISE4D\n#define NOISE4D\nvec4 grad4(float j, vec4 ip)\n {\n const vec4 ones = vec4(1.0, 1.0, 1.0, -1.0);\n vec4 p, s;\n\n p.xyz = floor(fract (vec3(j) * ip.xyz) * 7.0) * ip.z - 1.0;\n p.w = 1.5 - dot(abs(p.xyz), ones.xyz);\n s = vec4(lessThan(p, vec4(0.0)));\n p.xyz = p.xyz + (s.xyz*2.0 - 1.0) * s.www;\n\n return p;\n }\n\n#define F4 0.309016994374947451\n\nfloat snoise(vec4 v)\n {\n const vec4 C = vec4(0.138196601125011, // (5 - sqrt(5))/20 G4\n 0.276393202250021, // 2 * G4\n 0.414589803375032, // 3 * G4\n -0.447213595499958); // -1 + 4 * G4\n\n vec4 i = floor(v + dot(v, vec4(F4)));\n vec4 x0 = v - i + dot(i, C.xxxx);\n\n\n vec4 i0;\n vec3 isX = step(x0.yzw, x0.xxx);\n vec3 isYZ = step(x0.zww, x0.yyz);\n i0.x = isX.x + isX.y + isX.z;\n i0.yzw = 1.0 - isX;\n i0.y += isYZ.x + isYZ.y;\n i0.zw += 1.0 - isYZ.xy;\n i0.z += isYZ.z;\n i0.w += 1.0 - isYZ.z;\n\n vec4 i3 = clamp(i0, 0.0, 1.0);\n vec4 i2 = clamp(i0 - 1.0, 0.0, 1.0);\n vec4 i1 = clamp(i0 - 2.0, 0.0, 1.0);\n\n vec4 x1 = x0 - i1 + C.xxxx;\n vec4 x2 = x0 - i2 + C.yyyy;\n vec4 x3 = x0 - i3 + C.zzzz;\n vec4 x4 = x0 + C.wwww;\n\n i = mod289(i);\n float j0 = permute(permute(permute(permute(i.w) + i.z) + i.y) + i.x);\n vec4 j1 = permute(permute(permute(permute (\n i.w + vec4(i1.w, i2.w, i3.w, 1.0))\n + i.z + vec4(i1.z, i2.z, i3.z, 1.0))\n + i.y + vec4(i1.y, i2.y, i3.y, 1.0))\n + i.x + vec4(i1.x, i2.x, i3.x, 1.0));\n\n vec4 ip = vec4(1.0/294.0, 1.0/49.0, 1.0/7.0, 0.0) ;\n\n vec4 p0 = grad4(j0, ip);\n vec4 p1 = grad4(j1.x, ip);\n vec4 p2 = grad4(j1.y, ip);\n vec4 p3 = grad4(j1.z, ip);\n vec4 p4 = grad4(j1.w, ip);\n\n vec4 norm = taylorInvSqrt(vec4(dot(p0, p0), dot(p1, p1), dot(p2, p2), dot(p3, p3)));\n p0 *= norm.x;\n p1 *= norm.y;\n p2 *= norm.z;\n p3 *= norm.w;\n p4 *= taylorInvSqrt(dot(p4, p4));\n\n vec3 m0 = max(0.6 - vec3(dot(x0, x0), dot(x1, x1), dot(x2, x2)), 0.0);\n vec2 m1 = max(0.6 - vec2(dot(x3, x3), dot(x4, x4)), 0.0);\n m0 = m0 * m0;\n m1 = m1 * m1;\n return 49.0 * (dot(m0*m0, vec3(dot(p0, x0), dot(p1, x1), dot(p2, x2)))\n + dot(m1*m1, vec2(dot(p3, x3), dot(p4, x4)))) ;\n}\n#endif\n",Y}(_=window),_.Seriously||(_.Seriously=w),dF.exports=w;var dq=dF.exports;window,console.info("seriously version: chroma"),dq.plugin("chroma",{shader:function(e,n){return n.vertex="precision mediump float;\nattribute vec4 position;\nattribute vec2 texCoord;\nuniform vec2 resolution;\nuniform mat4 transform;\nvarying vec2 vTexCoord;\nuniform vec4 screen;\nuniform float balance;\nvarying float screenSat;\nvarying vec3 screenPrimary;\nvoid main(void) {\n float fmin = min(min(screen.r, screen.g), screen.b);\n float fmax = max(max(screen.r, screen.g), screen.b);\n float secondaryComponents;\n screenPrimary = step(fmax, screen.rgb);\n secondaryComponents = dot(1.0 - screenPrimary, screen.rgb);\n screenSat = fmax - mix(secondaryComponents - fmin, secondaryComponents / 2.0, balance);\n vec4 screenPosition = vec4(position.xy * resolution / 2.0, position.z, position.w);\n screenPosition = transform * screenPosition;\n gl_Position = screenPosition;\n gl_Position.xy = screenPosition.xy * 2.0 / resolution;\n gl_Position.z = screenPosition.z * 2.0 / (resolution.x / resolution.y);\n vTexCoord = texCoord;\n}",n.fragment=[this.inputs.mask?"#define MASK":"","precision mediump float;\nvarying vec2 vTexCoord;\nuniform sampler2D source;\nuniform vec4 screen;\nuniform float screenWeight;\nuniform float balance;\nuniform float clipBlack;\nuniform float clipWhite;\nuniform bool mask;\nvarying float screenSat;\nvarying vec3 screenPrimary;\nvoid main(void) {\n float pixelSat, secondaryComponents;\n vec4 sourcePixel = texture2D(source, vTexCoord);\n\n if (screen.a == 0.0) {\n gl_FragColor = sourcePixel;\n return;\n }\n \n float fmin = min(min(sourcePixel.r, sourcePixel.g), sourcePixel.b);\n float fmax = max(max(sourcePixel.r, sourcePixel.g), sourcePixel.b);\n vec3 pixelPrimary = step(fmax, sourcePixel.rgb);\n secondaryComponents = dot(1.0 - pixelPrimary, sourcePixel.rgb);\n pixelSat = fmax - mix(secondaryComponents - fmin, secondaryComponents / 2.0, balance);\n float diffPrimary = dot(abs(pixelPrimary - screenPrimary), vec3(1.0));\n float solid = step(1.0, step(pixelSat, 0.1) + step(fmax, 0.1) + diffPrimary);\n float alpha = max(0.0, 1.0 - pixelSat / screenSat);\n alpha = smoothstep(clipBlack, clipWhite, alpha);\n vec4 semiTransparentPixel = vec4((sourcePixel.rgb - (1.0 - alpha) * screen.rgb * screenWeight) / max(0.00001, alpha), alpha);\n vec4 pixel = mix(semiTransparentPixel, sourcePixel, solid);\n#ifdef MASK\n gl_FragColor = vec4(vec3(pixel.a), 1.0);\n#else\n gl_FragColor = pixel;\n#endif\n}"].join("\n"),n},inPlace:!0,inputs:{source:{type:"image",uniform:"source"},screen:{type:"color",uniform:"screen",defaultValue:[66/255,195/255,31/255,1]},weight:{type:"number",uniform:"screenWeight",defaultValue:1,min:0},balance:{type:"number",uniform:"balance",defaultValue:1,min:0,max:1},clipBlack:{type:"number",uniform:"clipBlack",defaultValue:0,min:0,max:1},clipWhite:{type:"number",uniform:"clipWhite",defaultValue:1,min:0,max:1},mask:{type:"boolean",defaultValue:!1,uniform:"mask",shaderDirty:!0}},title:"Chroma Key",description:""}),window,console.info("seriously version: chroma_obs"),dq.plugin("chroma_obs",{shader:function(e,n){return n.vertex="precision mediump float;\nattribute vec4 position;\nattribute vec2 texCoord;\nuniform vec2 resolution;\nuniform mat4 transform;\nvarying vec2 vTexCoord;\nconst vec4 cb_v4 = vec4(-0.100644, -0.338572, 0.439216, 0.501961);\nconst vec4 cr_v4 = vec4(0.439216, -0.398942, -0.040274, 0.501961);\nuniform vec4 screen;\nuniform float similarity;\nuniform float smoothness;\nuniform float spill;\nuniform float contrast;\nuniform float gamma;\nvarying vec2 chroma_key;\nvarying vec2 pixel_size;\nvarying float similarity_v;\nvarying float smoothness_v;\nvarying float spill_v;\nvarying float contrast_v;\nvarying float gamma_v;\nvoid main(void) {\n float cb = dot(screen.rgb, cb_v4.xyz) + cb_v4.w;\n float cr = dot(screen.rgb, cr_v4.xyz) + cr_v4.w;\n chroma_key.x = cb;\n chroma_key.y = cr;\n pixel_size.x = 1.0 / resolution.x;\n pixel_size.y = 1.0 / resolution.y;\n similarity_v = similarity * 1.0 / 1000.0;\n smoothness_v = smoothness * 1.0 / 1000.0;\n spill_v = spill * 1.0 / 1000.0;\n contrast_v = (contrast < 0.0) ? (1.0 / (-contrast + 1.0)) : (contrast + 1.0);\n gamma_v = (gamma < 0.0) ? (-gamma + 1.0) : (1.0 / (gamma + 1.0));\n vec4 screenPosition = vec4(position.xy * resolution / 2.0, position.z, position.w);\n screenPosition = transform * screenPosition;\n gl_Position = screenPosition;\n gl_Position.xy = screenPosition.xy * 2.0 / resolution;\n gl_Position.z = screenPosition.z * 2.0 / (resolution.x / resolution.y);\n vTexCoord = texCoord;\n}",n.fragment=[this.inputs.mask?"#define MASK":"","precision mediump float;\nvarying vec2 vTexCoord;\nuniform bool mask;\nuniform vec4 screen;\nuniform sampler2D source;\nconst vec4 cb_v4 = vec4(-0.100644, -0.338572, 0.439216, 0.501961);\nconst vec4 cr_v4 = vec4(0.439216, -0.398942, -0.040274, 0.501961);\nuniform float opacity;\nuniform float brightness;\nvarying vec2 chroma_key;\nvarying vec2 pixel_size;\nvarying float similarity_v;\nvarying float smoothness_v;\nvarying float spill_v;\nvarying float contrast_v;\nvarying float gamma_v;\nvec4 CalcColor(vec4 rgba) {\n return vec4(pow(rgba.rgb, vec3(gamma_v, gamma_v, gamma_v)) * contrast_v + brightness, rgba.a);\n}\nfloat GetChromaDist(vec3 rgb) {\n float cb = dot(rgb.rgb, cb_v4.xyz) + cb_v4.w;\n float cr = dot(rgb.rgb, cr_v4.xyz) + cr_v4.w;\n return distance(chroma_key, vec2(cb, cr));\n}\nfloat GetNonlinearChannel(float u) {\n return u;\n}\nvec3 GetNonlinearColor(vec3 rgb)\n{\n return vec3(GetNonlinearChannel(rgb.r), GetNonlinearChannel(rgb.g), GetNonlinearChannel(rgb.b));\n}\nvec3 SampleTexture(vec2 uv)\n{\n vec3 rgb = texture2D(source, uv).rgb;\n return GetNonlinearColor(rgb);\n}\nfloat GetBoxFilteredChromaDist(vec3 rgb, vec2 texCoord) {\n vec2 h_pixel_size = pixel_size / 2.0;\n vec2 point_0 = vec2(pixel_size.x, h_pixel_size.y);\n vec2 point_1 = vec2(h_pixel_size.x, -pixel_size.y);\n float distVal = GetChromaDist(SampleTexture(texCoord-point_0));\n distVal += GetChromaDist(SampleTexture(texCoord+point_0));\n distVal += GetChromaDist(SampleTexture(texCoord-point_1));\n distVal += GetChromaDist(SampleTexture(texCoord+point_1));\n distVal *= 2.0;\n distVal += GetChromaDist(GetNonlinearColor(rgb));\n return distVal / 9.0;\n}\nvec4 ProcessChromaKey(vec4 rgba, vec2 uv)\n{\n float chromaDist = GetBoxFilteredChromaDist(rgba.rgb, uv);\n float baseMask = chromaDist - similarity_v;\n float fullMask = pow(clamp(baseMask / smoothness_v, 0.0, 1.0), 1.5);\n float spillVal = pow(clamp(baseMask / spill_v, 0.0, 1.0), 1.5);\n rgba.a *= opacity;\n rgba.a *= fullMask;\n float desat = dot(rgba.rgb, vec3(0.2126, 0.7152, 0.0722));\n rgba.rgb = mix(vec3(desat, desat, desat), rgba.rgb, spillVal);\n return CalcColor(rgba);\n}\nvoid main(void) {\n vec4 rgba = texture2D(source, vTexCoord);\n\n if (screen.w == 0.0) {\n gl_FragColor = rgba;\n return;\n }\n \n rgba.rgb *= (rgba.a > 0.) ? (1. / rgba.a) : 0.;\n rgba = ProcessChromaKey(rgba, vTexCoord);\n rgba.rgb *= rgba.a;\n#ifdef MASK\n gl_FragColor = vec4(vec3(rgba.a), 1.0);\n#else\n gl_FragColor = rgba;\n#endif\n}"].join("\n"),n},inPlace:!0,inputs:{source:{type:"image",uniform:"source"},screen:{type:"color",uniform:"screen",defaultValue:[0,1,0,1]},similarity:{type:"number",uniform:"similarity",defaultValue:400,min:1,max:1e3},smoothness:{type:"number",uniform:"smoothness",defaultValue:80,min:1,max:1e3},opacity:{type:"number",uniform:"opacity",defaultValue:1,min:0,max:1},contrast:{type:"number",uniform:"contrast",defaultValue:0,min:-4,max:4},brightness:{type:"number",uniform:"brightness",defaultValue:0,min:-1,max:1},gamma:{type:"number",uniform:"gamma",defaultValue:0,min:-1,max:1},spill:{type:"number",uniform:"spill",defaultValue:100,min:1,max:1e3},mask:{type:"boolean",defaultValue:!1,uniform:"mask",shaderDirty:!0}},title:"Chroma Key OBS",description:""}),window,console.info("seriously version: chroma_post"),dq.plugin("chroma_post",{shader:function(e,n){return n.vertex="precision mediump float;\nattribute vec4 position;\nattribute vec2 texCoord;\nuniform vec2 resolution;\nuniform mat4 transform;\nvarying vec2 vTexCoord;\nvarying vec2 pixel_size;\nvoid main(void) {\n pixel_size.x = 1.0 / resolution.x;\n pixel_size.y = 1.0 / resolution.y;\n vec4 screenPosition = vec4(position.xy * resolution / 2.0, position.z, position.w);\n screenPosition = transform * screenPosition;\n gl_Position = screenPosition;\n gl_Position.xy = screenPosition.xy * 2.0 / resolution;\n gl_Position.z = screenPosition.z * 2.0 / (resolution.x / resolution.y);\n vTexCoord = texCoord;\n}",n.fragment=[this.inputs.mask?"#define MASK":"","precision mediump float;\nvarying vec2 vTexCoord;\nuniform bool mask;\nuniform sampler2D source;\nuniform float edgeShrink;\nvarying vec2 pixel_size;\nconst int filter_size = 3;\nfloat edgeSmoothSuppKernelV2(vec4 rgba, vec2 coord) {\n float alpha = rgba.a;\n if (edgeShrink > 1.0) {\n float sum = 0.0;\n float weightSum = 0.0;\n // float sigma = 1.0f;\n for (int j = - filter_size / 2; j <= filter_size / 2; j++) {\n for (int i = - filter_size / 2; i <= filter_size / 2; i++) {\n // float weight = exp(-(i*i + j*j) / (2 * sigma * sigma)) / (2 * 3.1415926f * sigma * sigma);\n float weight = 1.0;\n vec4 neighborColor = texture2D(source, coord + vec2(i, j) * pixel_size);\n // speedup: move the powf to chroma_key\n float alpha_ker = pow(neighborColor.w, edgeShrink);\n sum += (alpha_ker * weight);\n weightSum += weight;\n }\n }\n alpha = sum * 1.0 / weightSum;\n }\n return alpha;\n}\nvoid main(void) {\n vec4 rgba = texture2D(source, vTexCoord);\n rgba.a = edgeSmoothSuppKernelV2(rgba, vTexCoord);\n rgba.a = pow(rgba.a, edgeShrink);\n#ifdef MASK\n gl_FragColor = vec4(vec3(rgba.a), 1.0);\n#else\n gl_FragColor = rgba;\n#endif\n}"].join("\n"),n},inPlace:!0,inputs:{source:{type:"image",uniform:"source"},edgeShrink:{type:"number",uniform:"edgeShrink",defaultValue:3,min:1,max:10},mask:{type:"boolean",defaultValue:!1,uniform:"mask",shaderDirty:!0}},title:"Chroma Key Post",description:""});class dH{seriously;version;defaultOptions={screen:[0,255,0,0]};targetElement;sourceElement;source=null;target=null;effect=null;backEffect=null;constructor(e,n,r,i=0){this.seriously=new window.Seriously,this.version=i,this.targetElement="string"==typeof e?document.getElementById(e):e,this.sourceElement="string"==typeof n?document.getElementById(n):n,this.init(r)}async loadEffect(e){return 1===e?"chroma":"chroma_obs"}async init(e){console.info("serious version:",this.version);let n=await this.loadEffect(this.version);await dU(()=>!(this.sourceElement?.videoWidth>0&&this.sourceElement?.videoHeight>0)),this.targetElement.width=this.sourceElement.videoWidth,this.targetElement.height=this.sourceElement.videoHeight,this.source=this.seriously.source(this.sourceElement),this.target=this.seriously.target(this.targetElement),this.effect=this.seriously.effect(n),this.backEffect=this.seriously.effect("chroma_post"),this.effect.source=this.source,this.backEffect.source=this.effect,this.target.source=this.backEffect,this.seriously.go(),this.setOptions(this.defaultOptions),e&&this.setOptions(e)}destroy(){this.seriously.destroy()}async updateSource(e){e&&this.effect&&this.backEffect?(this.sourceElement="string"==typeof e?document.getElementById(e):e,await dU(()=>!(this.sourceElement?.videoWidth>0&&this.sourceElement?.videoHeight>0)),this.source?.destroy(),console.info("update source: ",this.source?.isDestroyed()),this.source=this.seriously.source(this.sourceElement),this.effect.source=this.source,this.backEffect.source=this.effect,this.target.source=this.backEffect):console.warn("update source error: source or effect is null",e,this.effect)}async setOptions(e){if(this.defaultOptions={...this.defaultOptions,...e},!this.effect||!this.backEffect||dn()(e))return;console.info("set options: ",e);let{screen:n,edgeShrink:r}=e;if(n&&n.length>=3){let[e,r,i,o]=n;this.effect.screen=[e/255,r/255,i/255,dB()(o)?o:1]}for(let[n,i]of(r&&(this.backEffect.edgeShrink=r),Object.entries(e)))"number"==typeof i&&"screen"!==n&&"edgeShrink"!==n&&(this.effect[n]=i)}}var dV=2,dz={screen:[53,186,123],similarity:90,edgeShrink:3,smoothness:80,spill:100,opacity:1,contrast:0,brightness:0,gamma:0},dG=function(){function e(n){cr(this,e),cs(this,"cutoutInstance",void 0);var r=n.effects,i=n.sourceId;this.cutoutInstance=new dH("starling-cutout-canvas",i||"starling-cutout-video",r&&r.chromaKey||dz,r&&r.version||dV)}return co(e,[{key:"setOptions",value:function(e){e&&this.cutoutInstance&&this.cutoutInstance.setOptions(e)}},{key:"destroy",value:function(){return this.cutoutInstance.destroy()}},{key:"updateSource",value:function(e){return this.cutoutInstance.updateSource(e)}}]),e}(),dW=function(e,n){function r(e){cr(this,r),cs(this,"onAudioData",void 0),cs(this,"onError",void 0),cs(this,"audioContext",null),cs(this,"processor",null),cs(this,"mediaStream",null),cs(this,"recording",!1),this.onAudioData=e.onAudioData,this.onError=e.onError,this.preWarmStream()}return co(r,[{key:"preWarmStream",value:function(){return(e=e||cn(a7().mark(function e(){var n;return a7().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,this.audioContext=new(window.AudioContext||window.webkitAudioContext)({sampleRate:16e3}),e.next=4,navigator.mediaDevices.getUserMedia({audio:!0,video:!1});case 4:this.mediaStream=e.sent,n=this.audioContext.createMediaStreamSource(this.mediaStream),this.processor=this.audioContext.createScriptProcessor(1024,1,1),n.connect(this.processor),this.processor.connect(this.audioContext.destination),this.processor.onaudioprocess=function(){},e.next=15;break;case 12:e.prev=12,e.t0=e.catch(0),console.error("preWarmStream error",e.t0);case 15:case"end":return e.stop()}},e,this,[[0,12]])}))).apply(this,arguments)}},{key:"start",value:function(){return(n=n||cn(a7().mark(function e(){var n=this;return a7().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.recording){e.next=2;break}return e.abrupt("return");case 2:if(this.audioContext&&this.processor){e.next=4;break}return e.abrupt("return");case 4:try{this.processor.onaudioprocess=function(e){if(n.recording){var r=function(e,n,r,i){try{for(var o=(i=i||{},"number"==typeof i.index)?i.index:0,s=i&&"number"==typeof i.offset?i.offset:0,a=0,c=o;c<e.length;c++)a+=e[c].length;a=Math.max(0,a-Math.floor(s));var d=n/r;d>1?a=Math.floor(a/d):(d=1,r=n);for(var l=new Int16Array(a),u=0,f=e.length;o<f;o++){for(var p=e[o],h=s,m=p.length;h<m;){var v=Math.floor(h),g=Math.ceil(h),y=h-v;l[u]=p[v]+(p[g]-p[v])*y,u++,h+=d}s=h-m}return{index:o,offset:s,sampleRate:r,data:l}}catch(e){console.log("转音错误了",e)}}([function(e){for(var n=new Int16Array(e.length),r=0;r<e.length;r++){var i=Math.max(-1,Math.min(1,e[r]));n[r]=i<0?32768*i:32767*i}return n}(e.inputBuffer.getChannelData(0))],n.audioContext.sampleRate,16e3,null);r&&r.data&&n.onAudioData(r.data.buffer)}},this.recording=!0}catch(e){this.onError&&this.onError(e)}case 5:case"end":return e.stop()}},e,this)}))).apply(this,arguments)}},{key:"stop",value:function(){this.recording=!1,this.processor.onaudioprocess=function(){}}},{key:"destroy",value:function(){this.recording=!1,this.processor&&(this.processor.disconnect(),this.processor.onaudioprocess=null),this.audioContext&&this.audioContext.close(),this.mediaStream&&this.mediaStream.getTracks().forEach(function(e){e.stop()})}}]),r}(),dX=function(){function e(n){var r,i=this;cr(this,e),cs(this,"token",void 0),cs(this,"appKey",void 0),cs(this,"appId",void 0),cs(this,"connectParams",void 0),cs(this,"onDigitalHumanCallback",void 0),cs(this,"dhServer",void 0),cs(this,"rtcServer",void 0),cs(this,"rtcConnectParams",void 0),cs(this,"cutoutInstance",void 0),cs(this,"isHuawei",(r=navigator.userAgent||navigator.vendor,/huawei/i.test(r)||/honor/i.test(r))),cs(this,"rtcServerUrl",void 0),cs(this,"recordController",null),cs(this,"wsReadyState",-1),cs(this,"isPreOpenSession",!1),cs(this,"onDigitalHumanCallbackPlus",function(e){var n;e.status===c7.DH_LIB_FULL_STATUS&&"wsState"===(null==(n=e.content)?void 0:n.type)&&(i.wsReadyState=e.content.readyState),i.onDigitalHumanCallback&&i.onDigitalHumanCallback(e)}),cs(this,"onRemoteVideoComing",function(e){i.rtcConnectParams&&i.rtcConnectParams.feedId&&e===+i.rtcConnectParams.feedId&&i.rtcServer&&i.rtcServer.client&&i.rtcServer.client.subscribeStreaming("remotevideo500",+i.rtcConnectParams.feedId)}),cs(this,"onLocalStream",function(){(i.connectParams||{}).pullAudioFromRtc&&i.rtcServer&&i.rtcServer.muteMicphone(!0)}),cs(this,"onRemoteVideoOn",function(){setTimeout(cn(a7().mark(function e(){var n,r,o,s,a;return a7().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=document.getElementById(dP),e.next=3,i.cutoutInstance&&i.cutoutInstance.updateSource(dP);case 3:n&&(n.setAttribute("data-playing","true"),r=n.videoWidth,o=n.videoHeight,a=(s=document.getElementById(dI)).getContext("2d"),s&&a&&(s.width=r,s.height=o,a.drawImage(n,0,0,r,o)));case 4:case"end":return e.stop()}},e)})),100)}),cs(this,"connectListener",function(e){var n=e.code,r=e.body,o=e.message;if(0===n&&i.onDigitalHumanCallback&&i.onDigitalHumanCallback({status:c7.DH_LIB_WS_SUCCESS,content:e}),0===n){var s=ch.parse(r),a=s.rtcServerUrl,c=s.appId,d=s.clientToken,l=s.roomName,u=s.clientId,f=s.feedId,p=s.chargeId;c&&l&&(i.rtcConnectParams={server:i.rtcServerUrl||a,appId:c,token:d,roomName:l,userId:u,feedId:f,chargeId:p},i.rtcServer&&i.rtcServer.openRtc(i.rtcConnectParams))}else i.onDigitalHumanCallback&&i.onDigitalHumanCallback({status:c7.DH_LIB_ERROR,content:{type:de.CONNECT_ERROR,msg:{code:n,errMsg:o}}})}),cs(this,"createServer",function(e){var n,r=a9(a9(a9({token:i.token,appKey:i.appKey,appId:i.appId},e?{sessionId:e}:{}),da()(i.connectParams,dc)),{},{parameters:di()(i.connectParams,dc),onConnect:i.connectListener,onDigitalHumanCallback:i.onDigitalHumanCallbackPlus});null!=(n=i.dhServer)&&n.preConnectSuccess?(i.dhServer.connectParams=r,i.dhServer&&i.dhServer.sendPreConnect(r)):i.dhServer&&i.dhServer.createSocket(r)}),cs(this,"checkHumanInstansce",function(){return i.dhServer?!(i.isPreOpenSession&&!i.dhServer.preConnectSuccess)||(i.onDigitalHumanCallback&&i.onDigitalHumanCallback({status:c7.DH_LIB_ERROR,content:{type:de.CONNECT_ERROR,msg:{code:4001,errMsg:"webSocket连接中"}}}),!1):(i.onDigitalHumanCallback&&i.onDigitalHumanCallback({status:c7.DH_LIB_ERROR,content:{type:de.CONNECT_ERROR,msg:{code:4002,errMsg:"请先初始化数字人实例"}}}),!1)}),cs(this,"sendMessage",function(e,n){return i.dhServer&&i.dhServer.sendMessage(e,n)}),cs(this,"interrupt",cn(a7().mark(function e(){return a7().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise(function(e){i.dhServer&&i.dhServer.sendMessage({requestId:r2(),action:"TEXT_RENDER",body:"<interrupt></interrupt>",clientTs:(new Date).getTime()},function(){return e()})}));case 1:case"end":return e.stop()}},e)}))),cs(this,"textRender",function(e){var n=e.requestId,r=e.body,o=e.onCallbackMsg;i.checkHumanInstansce()&&i.dhServer&&i.dhServer.sendMessage({requestId:n||r2(),action:"TEXT_RENDER",body:r,clientTs:(new Date).getTime()},o)}),cs(this,"textStreamRender",function(e){var n=e.requestId,r=e.body,o=e.onCallbackMsg,s=ch.parse(r).first;i.checkHumanInstansce()&&i.dhServer&&i.dhServer.sendMessage({requestId:n||r2(),action:"TEXT_STREAM_RENDER",body:r,clientTs:(new Date).getTime()},s?o:null)}),cs(this,"audioRender",function(e){var n=e.body,r=e.onCallbackMsg;i.checkHumanInstansce()&&i.dhServer&&i.dhServer.sendMessage({requestId:r2(),action:"AUDIO_RENDER",body:n,clientTs:(new Date).getTime()},r)}),cs(this,"audioStreamRender",function(e){var n=e.requestId,r=e.body,o=e.onCallbackMsg;i.checkHumanInstansce()&&i.dhServer&&i.dhServer.sendMessage({requestId:n||r2(),action:"AUDIO_STREAM_RENDER",body:r,clientTs:(new Date).getTime()},o)}),cs(this,"textQuery",function(e){var n=e.requestId,r=e.body,o=e.onCallbackMsg;i.dhServer&&i.dhServer.sendMessage({requestId:n||r2(),action:"TEXT_QUERY",body:r,clientTs:(new Date).getTime()},o)}),cs(this,"destroy",cn(a7().mark(function e(){var n;return a7().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,i.dhServer&&i.dhServer.closeSocket();case 2:i.rtcServer&&i.rtcServer.closeRtc(),function(){var e=document.getElementById(dM);e&&e.parentNode&&e.parentNode.removeChild(e)}(),null==(n=i.recordController)||n.destroy(),i.dhServer=null,i.rtcServer=null;case 7:case"end":return e.stop()}},e)}))),cs(this,"pauseHuman",function(){return dA(!1)}),cs(this,"playHuman",function(){return dA(!0)}),cs(this,"muteHuman",function(){return dj(!0)}),cs(this,"unMuteHuman",function(){var e=dj(!1);try{return i.isHuawei?(e.pause(),e.play()):e.paused&&e.play()}catch(e){console.info(e)}});var o=n.isPreOpenSession,s=void 0!==o&&o,a=n.wsUrl,c=n.renderParams,d=n.onDigitalHumanCallback;this.isPreOpenSession=s,this.dhServer=new dm(a||"wss://open.xiling.baidu.com/cloud/digital-human-demonstration"),this.onDigitalHumanCallback=function(e){e.status!==c7.DH_LIB_FULL_STATUS?d&&d(e):(null==c?void 0:c.fullStatus)&&d&&d(e)},s?this.dhServer.createSocket({onDigitalHumanCallback:this.onDigitalHumanCallbackPlus},s):this.init(n)}return co(e,[{key:"init",value:function(e){var n,r=this,i=e.wrapperId,o=e.token,s=e.appKey,a=e.appId,c=e.connectParams,d=e.renderParams,l=void 0===d?{}:d,u=e.rtcConnectParams,f=e.brtcParams,p=e.rtcServerUrl;if(this.token=o,this.appKey=s,this.appId=a,this.rtcServerUrl=p,this.connectParams=a9({autoChromaKey:(null==l?void 0:l.autoChromaKey)||!1},c),!a&&!s&&!o)throw Error("appId and appKey or token is required");var h=l.closeLog,m=(function(e){var n=e.autoChromaKey,r=void 0!==n&&n,i=e.autoplay;if(document.getElementById(dP))return console.error('DOM with id "'.concat(dP,'" already exists.')),null;var o=document.createElement("div");o.className=dM,o.id=dM,o.style.position="relative";var s=document.createElement("video");if(s.id=dP,s.width=0,s.height=0,s.setAttribute("width","100%"),s.setAttribute("height","100%"),s.setAttribute("data-playing","true"),s.setAttribute("playsinline",""),(void 0===i||i)&&s.setAttribute("autoplay",""),o.appendChild(s),r){var a=document.createElement("canvas");a.id=dI,Object.assign(a.style,{position:"absolute",top:"0",left:"0",height:"100%",width:"100%",zIndex:"1",display:r?"block":"none"}),s.style.visibility="hidden",o.appendChild(a)}return{playerWrapper:o,video:s}}({autoChromaKey:!!l.autoChromaKey||!dn()(l.chromaEffects)})||{}).playerWrapper,v=document.getElementById(i||"");v||console.error("dom with wrapperId is not find"),m&&v&&v.appendChild(m),(n=document.createElement("style")).appendChild(document.createTextNode('\n [id^="videoremote1-"] {\n display: none !important;\n }\n \n video#remotevideo500 {\n width: auto !important;\n height: auto !important;\n max-width: 100% !important;\n max-height: 100% !important;\n width: 100% !important;\n height: 100% !important;\n object-fit: cover;\n }\n\n .cloud-brtc-player-wrapper {\n width: inherit !important;\n background-size: cover;\n height: inherit;\n display: flex;\n justify-content: center;\n }\n\n #starling-cutout-canvas {\n object-fit: cover;\n }\n ')),document.head.appendChild(n);var g=a9({remotevideoviewid:i,showvideobps:!1,usingvideo:!1,usingaudio:!(null==c||!c.pullAudioFromRtc),aspublisher:!(null==c||!c.pullAudioFromRtc),autopublish:!(null==c||!c.pullAudioFromRtc),usingdatachannel:!0,autoplaymuted:!1},f);this.rtcServer=new dk({closeLog:h,videoWrapperId:dP,rtcConfig:g,bizConfig:{},rtcCallback:{onRemoteVideoComing:this.onRemoteVideoComing,onDigitalHumanCallback:this.onDigitalHumanCallback,onLocalStream:this.onLocalStream}}),(!dn()(null==l?void 0:l.chromaEffects)||null!=l&&l.autoChromaKey)&&(this.cutoutInstance=new dG({sourceId:dP,effects:null==l?void 0:l.chromaEffects})),dn()(u)||(this.rtcConnectParams=u,this.rtcServer.openRtc(u)),null!=c&&c.pullAudioFromRtc?this.recordController=null:this.recordController=new dW({pickAudioMode:null==c?void 0:c.pickAudioMode,onAudioData:function(e){1===r.wsReadyState&&r.sendMessage(e,null)},onError:function(e){r.onDigitalHumanCallback&&r.onDigitalHumanCallback({status:c7.DH_LIB_ERROR,content:{type:de.CONNECT_ERROR,msg:{code:-1,errMsg:e.message}}})}})}},{key:"startRecord",value:function(){var e;null!=(e=this.connectParams)&&e.pullAudioFromRtc?this.rtcServer&&this.rtcServer.muteMicphone(!1):this.recordController&&this.recordController.start()}},{key:"stopRecord",value:function(){var e;null!=(e=this.connectParams)&&e.pullAudioFromRtc?this.rtcServer&&this.rtcServer.muteMicphone(!0):this.recordController&&this.recordController.stop(),this.sendMessage({action:"AUDIO_QUERY_INTERRUPT",requestId:r2(),clientTs:Date.now(),body:""},null)}}]),e}();class d$ extends sM{get ready(){return!!this.humanInstance&&!!this.token}constructor(...e){super(...e),this.humanInstance=null,this.requestId=r2(),this.isWSConnected=!1,this.isRtcReady=!1,this.isStreamTextRendering=!1,this.wsClosedCount=0,this.mount=async e=>{e?(this.humanInstance&&this.dispose(),e.id||(e.id=`dh-container-${r2()}`),this.opts.enableDebugMode&&"development"===this.opts.env&&!this.opts.token?this.token=await this.getAccessToken():this.token=this.opts.token,this.humanInstance=new dX({token:this.token,wrapperId:e.id,connectParams:this.buildConnectParams(),renderParams:this.buildRenderParams(),onDigitalHumanCallback:this.onDigitalHumanCallback}),this.humanInstance.createServer()):this.errorManager.handleError(new rN("容器元素不能为空"))},this.bindEvents=()=>this,this.unbindEvents=()=>this,this.renderPlainText=e=>{var n;if(!this.ready)return this;let r=this.runSsmlHandlers(e);return this.refreshRequestId(),null==(n=this.humanInstance)||n.textRender({requestId:this.requestId,body:r,onCallbackMsg:this.handleTextRenderCallback}),this},this.renderStreamText=(e,n)=>{var r;if(!this.ready)return this;let i=this.runSsmlHandlers(e),o=!this.isStreamTextRendering;return o&&(this.refreshRequestId(),this.isStreamTextRendering=!0,this.latencyStartMap.set(this.requestId,performance.now())),null==(r=this.humanInstance)||r.textStreamRender({requestId:this.requestId,body:JSON.stringify({first:o,last:null!=n&&n,text:i}),onCallbackMsg:this.handleTextRenderCallback}),n&&(this.isStreamTextRendering=!1),this},this.interrupt=()=>{var e;if(!this.ready)return this;let n=this.requestId;return null==(e=this.humanInstance)||e.interrupt().catch(e=>{e instanceof Error?this.errorManager.handleError(new rU(`打断当前数字员工播报失败:${e.message}`,{requestId:n})):"string"==typeof e&&this.errorManager.handleError(new rU(`打断当前数字员工播报失败:${e}`,{requestId:n}))}).finally(()=>{this.onRenderFinished(n)}),this},this.sendSilenceMessage=()=>{var e;if(!this.ready)return this;let n=r2();return null==(e=this.humanInstance)||e.textRender({requestId:n,body:"",onCallbackMsg:r3}),this.emitter.emit("send_silence_message",{requestId:n}).catch(r3),this},this.dispose=()=>{var e;return null==(e=this.humanInstance)||e.destroy().catch(r3),this.ssmlHandlers=[],this.isWSConnected=!1,this.isRtcReady=!1,this.wsClosedCount=0,this.isStreamTextRendering=!1,this.emitter.clearListeners(),this.latencyStartMap.clear(),this.humanInstance=null,this},this.GetRequestId=()=>this.requestId,this.checkIsReady=()=>{let e=this.isWSConnected&&this.isRtcReady;return e&&this.emitter.emit("ready").catch(r3),e},this.cancelMute=async()=>{var e;await (null==(e=this.humanInstance)?void 0:e.unMuteHuman()),this._isMuted=!1},this.muteHuman=()=>{var e;null==(e=this.humanInstance)||e.muteHuman(),this._isMuted=!0},this.play=async()=>{var e;await (null==(e=this.humanInstance)?void 0:e.playHuman())},this.pause=()=>{var e;null==(e=this.humanInstance)||e.pauseHuman()},this.buildConnectParams=()=>{var e,n,r,i,o;return{initMode:"noAudio",mode:"crop",figureId:this.opts.figureId,resolutionWidth:null!=(e=this.opts.figureResolutionWidth)?e:1920,resolutionHeight:null!=(n=this.opts.figureResolutionHeight)?n:1080,ttsPer:this.opts.ttsPer,ttsPitch:5,ttsSpeed:null!=(r=this.opts.speechSpeed)?r:6,ttsVolume:5,inactiveDisconnectSec:null!=(i=this.opts.timeoutSec)?i:130,preAlertSec:null!=(o=this.opts.disconnectAlertSec)?o:10,ttsSample:this.opts.ttsSample,ttsModel:this.opts.ttsModel,minSplitLen:this.opts.minSplitLen,positionV2:JSON.stringify(this.opts.position),ttsLang:ia(this.opts.lang)}},this.buildRenderParams=()=>{var e,n;return{autoChromaKey:null!=(e=this.opts.autoChromaKey)&&e,closeLog:!(null!=(n=this.opts.enableDebugMode)&&n),fullStatus:!1}},this.refreshRequestId=()=>{this.requestId=r2()},this.onRenderFinished=e=>{if(e!==this.requestId){this.isRendering&&this.errorManager.handleError(new rU(`[DigitalHuman] Received FINISHED signal
52
52
  for ID ${e}, but current ID is ${this.requestId}.
53
53
  Ignored.`));return}this._isRendering=!1,this.isStreamTextRendering=!1,this.emitter.emit("is_rendering_change",!1).catch(r3),this.refreshRequestId(),this.emitter.emit("render_finished",{requestId:e}).catch(r3)},this.onDigitalHumanCallback=e=>{let{status:n,content:r}=e;switch(n){case"DH_LIB_INIT":this.opts.enableDebugMode&&console.log("数字员工初始化中...");break;case"DH_LIB_WS_SUCCESS":this.isWSConnected=!0,this.wsClosedCount=0,this.checkIsReady();break;case"DH_LIB_OPEN":this.isRtcReady=!0,this.checkIsReady();break;case"DH_LIB_CLOSE":this.isWSConnected=!1,this.wsClosedCount++,this.wsClosedCount>=3&&(this.emitter.emit("reconnect_failed").catch(r3),this.errorManager.handleError(new rF("检测到 Websocket 链接异常断开,如长时间无法恢复,请联系技术支持。")));break;case"DH_LIB_ERROR":r&&this.handleError(r);break;case"DH_LIB_WARNING":this.opts.enableDebugMode&&console.warn("数字人警告:",r);break;case"DH_LIB_STATUS":r&&this.handleStatusMessage(r)}},this.handleStatusMessage=e=>{if(e&&"object"==typeof e){let{type:n}=e;switch(n){case"LOCAL_VIDEO_MUTED":this._isMuted=!0;break;case"TIMEOUT_EXIT":this.emitter.emit("timeout",{requestId:this.requestId}).catch(r3);break;case"DISCONNECT_ALERT":this.emitter.emit("disconnect_alert",{requestId:this.requestId}).catch(r3)}}},this.handleTextRenderCallback=e=>{let n=e.requestId;switch(e.action){case"RENDER_START":this._isRendering=!0,this.emitter.emit("is_rendering_change",!0).catch(r3);break;case"FINISHED":case"RENDER_INTERRUPTED":this.onRenderFinished(n);break;case"DOWN_SUBTITLE":if(e.body){let r,i=JSON.parse(e.body),o=this.latencyStartMap.get(n);void 0!==o&&(r=performance.now()-o,this.latencyStartMap.clear()),this.emitter.emit("render_subtitle",{subtitle:i,requestId:n,latency:r}).catch(r3)}break;case"RENDER_ERROR":this.onRenderFinished(n),this.errorManager.handleError(new rU("数字员工文本驱动渲染失败,请确认配置后重试",{requestId:n,context:{code:e.code,body:e.body}}));break;case"TEXT_RENDER":case"TEXT_STREAM_RENDER":0!==e.code&&(this.onRenderFinished(n),this.errorManager.handleError(new rU("数字员工文本驱动渲染失败,请确认配置后重试",{requestId:n,context:{code:e.code,body:e.body}})))}},this.handleError=e=>{if(!e||"object"!=typeof e)return;let{type:n,msg:r}=e;switch(n){case"CONNECT_ERROR":{let e=null==r?void 0:r.code;1004===e||3001===e?(this.emitter.emit("reach_session_limit",{requestId:this.requestId}).catch(r3),this.errorManager.handleError(new rV("资源配额已用尽,请联系技术支持申请扩容",{context:{code:e}}))):[1002,1003,1005,1009].includes(e)?this.errorManager.handleError(new rH((null==r?void 0:r.errMsg)||"认证失败",{context:{code:e}})):this.errorManager.handleError(new rF((null==r?void 0:r.errMsg)||"连接失败",{context:{code:e}}));break}case"RTC_ERROR":this.errorManager.handleError(new rq("RTC 房间连接失败,请检查网络后重试",{context:{msg:r}}));break;case"LOCAL_VIDEO_ERROR":this.errorManager.handleError(new rU("视频播放受限,请检查浏览器权限",{context:{msg:r}}))}}}}d$=function(e,n,r,i){var o,s=arguments.length,a=s<3?n:null===i?i=Object.getOwnPropertyDescriptor(n,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,n,r,i);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(a=(s<3?o(a):s>3?o(n,r,a):o(n,r))||a);return s>3&&a&&Object.defineProperty(n,r,a),a}([eb(),ew()],d$),"undefined"==typeof AbortSignal?console.warn("AbortSignal is not defined in this environment. The polyfill will not be installed."):(ou("any",oc.abortSignalAny),ou("timeout",od.abortSignalTimeout),ou("abort",ol.abortSignalAbort));let dJ=e=>{var n;let r=new t4({defaultScope:"Singleton"}),i={...ic,...e,hotWordReplacementRules:[...ie,...null!=(n=e.hotWordReplacementRules)?n:[]]};r.bind(nm.IOptions).toConstantValue(i),r.bind(nm.ErrorManager).to(rQ),r.bind(nm.CommonRequest).to(nY);let{agentConfig:o,agentService:s,enableDebugMode:a}=i,c=!!(null==o?void 0:o.robotId),d=!!(null==o?void 0:o.token),l=!!s;if(l&&o&&a&&console.warn("[createAaaSPilotKit] agentService 已提供,agentConfig 配置将被忽略。"),!l&&!c&&!d)throw Error("[createAaaSPilotKit] 未检测到有效的 agent 配置,请至少提供 agentService 或 agentConfig 中的 robotId/token。");s?(Reflect.hasOwnMetadata("@inversifyjs/core/classIsInjectableFlagReflectKey",s)||(ea(ew(),s),ea(eb(),s)),r.bind(nm.AgentService).to(s)):d?r.bind(nm.AgentService).to(an):c&&r.bind(nm.AgentService).to(at),r.bind(nm.SignalingService).to(aa),r.bind(nm.ASRService).to(a6);let{rendererMode:u}=i;switch(u){case"cloud":default:r.bind(nm.DigitalHumanService).to(s5);break;case"cloud-native":r.bind(nm.DigitalHumanService).to(d$)}return r.bind(nm.ConversationService).to(oa),r.bind(nm.AaaSPilotKitController).to(s9),r.get(nm.AaaSPilotKitController)};function dK(e,n){let{onUpdate:r,onComplete:i}=n;if(!e)return()=>{};if(e.isCompleted())return null==r||r(e),null==i||i(e),()=>{};let o=e.emitter.on("update",e=>{let n=e.response;null==r||r(n),n.isCompleted()&&(null==i||i(n),o())});return o}})(),exports.AIWorkerConversationBean=__webpack_exports__.AIWorkerConversationBean,exports.AaaSPilotKitController=__webpack_exports__.AaaSPilotKitController,exports.AudioDeviceDetector=__webpack_exports__.AudioDeviceDetector,exports.AudioDeviceError=__webpack_exports__.AudioDeviceError,exports.BaseAgentService=__webpack_exports__.BaseAgentService,exports.ClientConversationBean=__webpack_exports__.ClientConversationBean,exports.ConversationBean=__webpack_exports__.ConversationBean,exports.ConversationService=__webpack_exports__.ConversationService,exports.DEFAULT_OPTIONS=__webpack_exports__.DEFAULT_OPTIONS,exports.Language=__webpack_exports__.Language,exports.checkAudioDevice=__webpack_exports__.checkAudioDevice,exports.createAaaSPilotKit=__webpack_exports__.createAaaSPilotKit,exports.getErrorMessage=__webpack_exports__.getErrorMessage,exports.subscribeAgentResponse=__webpack_exports__.subscribeAgentResponse,__webpack_exports__)-1===["AIWorkerConversationBean","AaaSPilotKitController","AudioDeviceDetector","AudioDeviceError","BaseAgentService","ClientConversationBean","ConversationBean","ConversationService","DEFAULT_OPTIONS","Language","checkAudioDevice","createAaaSPilotKit","getErrorMessage","subscribeAgentResponse"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});