softphone-vendor-headsets 2.4.3 → 2.4.5-develop.42

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.
Files changed (51) hide show
  1. package/dist/1.softhphone-vendor-headsets.js +1 -1
  2. package/dist/2.softhphone-vendor-headsets.js +1 -1
  3. package/dist/3.softhphone-vendor-headsets.js +1 -1
  4. package/dist/cjs/src/library/index.d.ts +1 -0
  5. package/dist/cjs/src/library/index.js +1 -0
  6. package/dist/cjs/src/library/index.js.map +1 -1
  7. package/dist/cjs/src/library/services/headset.d.ts +3 -1
  8. package/dist/cjs/src/library/services/headset.js +10 -7
  9. package/dist/cjs/src/library/services/headset.js.map +1 -1
  10. package/dist/cjs/src/library/services/headset.test.js +2 -2
  11. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics.d.ts +2 -1
  12. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics.js +4 -2
  13. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics.js.map +1 -1
  14. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics.test.js +11 -0
  15. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics.test.js.map +1 -1
  16. package/dist/cjs/src/library/services/vendor-implementations/vbet/vbet.d.ts +34 -0
  17. package/dist/cjs/src/library/services/vendor-implementations/vbet/vbet.js +399 -0
  18. package/dist/cjs/src/library/services/vendor-implementations/vbet/vbet.js.map +1 -0
  19. package/dist/cjs/src/library/services/vendor-implementations/vbet/vbet.test.d.ts +1 -0
  20. package/dist/cjs/src/library/services/vendor-implementations/vbet/vbet.test.js +679 -0
  21. package/dist/cjs/src/library/services/vendor-implementations/vbet/vbet.test.js.map +1 -0
  22. package/dist/cjs/src/library/services/vendor-implementations/vendor-implementation.d.ts +2 -1
  23. package/dist/cjs/src/library/services/vendor-implementations/vendor-implementation.js +1 -1
  24. package/dist/cjs/src/library/services/vendor-implementations/vendor-implementation.js.map +1 -1
  25. package/dist/cjs/src/library/types/headset-states.d.ts +1 -0
  26. package/dist/deploy-info.json +57 -21
  27. package/dist/es/src/library/index.d.ts +1 -0
  28. package/dist/es/src/library/index.js +1 -0
  29. package/dist/es/src/library/index.js.map +1 -1
  30. package/dist/es/src/library/services/headset.d.ts +3 -1
  31. package/dist/es/src/library/services/headset.js +10 -7
  32. package/dist/es/src/library/services/headset.js.map +1 -1
  33. package/dist/es/src/library/services/headset.test.js +2 -2
  34. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics.d.ts +2 -1
  35. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics.js +4 -2
  36. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics.js.map +1 -1
  37. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics.test.js +11 -0
  38. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics.test.js.map +1 -1
  39. package/dist/es/src/library/services/vendor-implementations/vbet/vbet.d.ts +34 -0
  40. package/dist/es/src/library/services/vendor-implementations/vbet/vbet.js +396 -0
  41. package/dist/es/src/library/services/vendor-implementations/vbet/vbet.js.map +1 -0
  42. package/dist/es/src/library/services/vendor-implementations/vbet/vbet.test.d.ts +1 -0
  43. package/dist/es/src/library/services/vendor-implementations/vbet/vbet.test.js +674 -0
  44. package/dist/es/src/library/services/vendor-implementations/vbet/vbet.test.js.map +1 -0
  45. package/dist/es/src/library/services/vendor-implementations/vendor-implementation.d.ts +2 -1
  46. package/dist/es/src/library/services/vendor-implementations/vendor-implementation.js +1 -1
  47. package/dist/es/src/library/services/vendor-implementations/vendor-implementation.js.map +1 -1
  48. package/dist/es/src/library/types/headset-states.d.ts +1 -0
  49. package/dist/softhphone-vendor-headsets.js +4 -4
  50. package/dist/softhphone-vendor-headsets.js.map +1 -1
  51. package/package.json +81 -79
@@ -1,4 +1,4 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.SoftphoneVendorHeadsets=t():e.SoftphoneVendorHeadsets=t()}(window,(function(){return function(e){function t(t){for(var n,i,o=t[0],s=t[1],a=0,u=[];a<o.length;a++)i=o[a],Object.prototype.hasOwnProperty.call(r,i)&&r[i]&&u.push(r[i][0]),r[i]=0;for(n in s)Object.prototype.hasOwnProperty.call(s,n)&&(e[n]=s[n]);for(c&&c(t);u.length;)u.shift()()}var n={},r={0:0};function i(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,i),r.l=!0,r.exports}i.e=function(e){var t=[],n=r[e];if(0!==n)if(n)t.push(n[2]);else{var o=new Promise((function(t,i){n=r[e]=[t,i]}));t.push(n[2]=o);var s,a=document.createElement("script");a.charset="utf-8",a.timeout=120,i.nc&&a.setAttribute("nonce",i.nc),a.src=function(e){return i.p+""+e+".softhphone-vendor-headsets.js"}(e);var c=new Error;s=function(t){a.onerror=a.onload=null,clearTimeout(u);var n=r[e];if(0!==n){if(n){var i=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;c.message="Loading chunk "+e+" failed.\n("+i+": "+o+")",c.name="ChunkLoadError",c.type=i,c.request=o,n[1](c)}r[e]=void 0}};var u=setTimeout((function(){s({type:"timeout",target:a})}),12e4);a.onerror=a.onload=s,document.head.appendChild(a)}return Promise.all(t)},i.m=e,i.c=n,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i.oe=function(e){throw console.error(e),e};var o=window.webpackJsonpSoftphoneVendorHeadsets=window.webpackJsonpSoftphoneVendorHeadsets||[],s=o.push.bind(o);o.push=t,o=o.slice();for(var a=0;a<o.length;a++)t(o[a]);var c=s;return i(i.s=11)}([function(e,t,n){"use strict";(function(e,r,i){n.d(t,"a",(function(){return Cr})),n.d(t,"b",(function(){return $e})),n.d(t,"c",(function(){return Mn})),n.d(t,"d",(function(){return It})),n.d(t,"e",(function(){return qe})),n.d(t,"f",(function(){return W})),n.d(t,"g",(function(){return X})),n.d(t,"h",(function(){return Xe})),n.d(t,"i",(function(){return Yn})),n.d(t,"j",(function(){return a})),n.d(t,"k",(function(){return Ye})),n.d(t,"l",(function(){return Fe})),n.d(t,"m",(function(){return z})),n.d(t,"n",(function(){return We})),n.d(t,"o",(function(){return se})),n.d(t,"p",(function(){return Vn})),n.d(t,"q",(function(){return tr})),n.d(t,"r",(function(){return Wn})),n.d(t,"s",(function(){return Ke})),n.d(t,"t",(function(){return ze})),n.d(t,"u",(function(){return Kn})),n.d(t,"v",(function(){return Ot})),n.d(t,"w",(function(){return je})),n.d(t,"x",(function(){return A})),n.d(t,"y",(function(){return q})),n.d(t,"z",(function(){return Qe})),n.d(t,"A",(function(){return lt})),n.d(t,"B",(function(){return nn})),n.d(t,"C",(function(){return Gn})),n.d(t,"D",(function(){return nr}));var o=function(e,t){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}o(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}function a(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{c(r.next(e))}catch(e){o(e)}}function a(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((r=r.apply(e,t||[])).next())}))}function c(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!((i=(i=s.trys).length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}function u(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function l(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s}function h(e,t,n){if(n||2===arguments.length)for(var r,i=0,o=t.length;i<o;i++)!r&&i in t||(r||(r=Array.prototype.slice.call(t,0,i)),r[i]=t[i]);return e.concat(r||Array.prototype.slice.call(t))}function f(e){return this instanceof f?(this.v=e,this):new f(e)}function d(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,i=n.apply(e,t||[]),o=[];return r={},s("next"),s("throw"),s("return"),r[Symbol.asyncIterator]=function(){return this},r;function s(e){i[e]&&(r[e]=function(t){return new Promise((function(n,r){o.push([e,t,n,r])>1||a(e,t)}))})}function a(e,t){try{(n=i[e](t)).value instanceof f?Promise.resolve(n.value.v).then(c,u):l(o[0][2],n)}catch(e){l(o[0][3],e)}var n}function c(e){a("next",e)}function u(e){a("throw",e)}function l(e,t){e(t),o.shift(),o.length&&a(o[0][0],o[0][1])}}function p(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=u(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,i){!function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)}(r,i,(t=e[n](t)).done,t.value)}))}}}function v(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)}function g(e,t,n,r,i){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(e,n):i?i.value=n:t.set(e,n),n}function y(e){return"function"==typeof e}function m(e){var t=e((function(e){Error.call(e),e.stack=(new Error).stack}));return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}var b=m((function(e){return function(t){e(this),this.message=t?t.length+" errors occurred during unsubscription:\n"+t.map((function(e,t){return t+1+") "+e.toString()})).join("\n "):"",this.name="UnsubscriptionError",this.errors=t}}));function w(e,t){if(e){var n=e.indexOf(t);0<=n&&e.splice(n,1)}}var E=function(){function e(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}var t;return e.prototype.unsubscribe=function(){var e,t,n,r,i;if(!this.closed){this.closed=!0;var o=this._parentage;if(o)if(this._parentage=null,Array.isArray(o))try{for(var s=u(o),a=s.next();!a.done;a=s.next())a.value.remove(this)}catch(t){e={error:t}}finally{try{a&&!a.done&&(t=s.return)&&t.call(s)}finally{if(e)throw e.error}}else o.remove(this);var c=this.initialTeardown;if(y(c))try{c()}catch(e){i=e instanceof b?e.errors:[e]}var f=this._finalizers;if(f){this._finalizers=null;try{for(var d=u(f),p=d.next();!p.done;p=d.next()){var v=p.value;try{I(v)}catch(e){i=null!=i?i:[],e instanceof b?i=h(h([],l(i)),l(e.errors)):i.push(e)}}}catch(e){n={error:e}}finally{try{p&&!p.done&&(r=d.return)&&r.call(d)}finally{if(n)throw n.error}}}if(i)throw new b(i)}},e.prototype.add=function(t){var n;if(t&&t!==this)if(this.closed)I(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(n=this._finalizers)&&void 0!==n?n:[]).push(t)}},e.prototype._hasParent=function(e){var t=this._parentage;return t===e||Array.isArray(t)&&t.includes(e)},e.prototype._addParent=function(e){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e},e.prototype._removeParent=function(e){var t=this._parentage;t===e?this._parentage=null:Array.isArray(t)&&w(t,e)},e.prototype.remove=function(t){var n=this._finalizers;n&&w(n,t),t instanceof e&&t._removeParent(this)},e.EMPTY=((t=new e).closed=!0,t),e}(),C=E.EMPTY;function _(e){return e instanceof E||e&&"closed"in e&&y(e.remove)&&y(e.add)&&y(e.unsubscribe)}function I(e){y(e)?e():e.unsubscribe()}var O=null,k=void 0,R=!1,T={setTimeout:function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];var i=T.delegate;return(null==i?void 0:i.setTimeout)?i.setTimeout.apply(i,h([e,t],l(n))):setTimeout.apply(void 0,h([e,t],l(n)))},clearTimeout:function(e){var t=T.delegate;return((null==t?void 0:t.clearTimeout)||clearTimeout)(e)},delegate:void 0};function S(e){T.setTimeout((function(){throw e}))}function A(){}var N=P("C",void 0,void 0);function P(e,t,n){return{kind:e,value:t,error:n}}function x(e){e()}var D=function(e){function t(t){var n=e.call(this)||this;return n.isStopped=!1,t?(n.destination=t,_(t)&&t.add(n)):n.destination=B,n}return s(t,e),t.create=function(e,t,n){return new M(e,t,n)},t.prototype.next=function(e){this.isStopped?F(function(e){return P("N",e,void 0)}(e),this):this._next(e)},t.prototype.error=function(e){this.isStopped?F(P("E",void 0,e),this):(this.isStopped=!0,this._error(e))},t.prototype.complete=function(){this.isStopped?F(N,this):(this.isStopped=!0,this._complete())},t.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,e.prototype.unsubscribe.call(this),this.destination=null)},t.prototype._next=function(e){this.destination.next(e)},t.prototype._error=function(e){try{this.destination.error(e)}finally{this.unsubscribe()}},t.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},t}(E),L=Function.prototype.bind;function H(e,t){return L.call(e,t)}var U=function(){function e(e){this.partialObserver=e}return e.prototype.next=function(e){var t=this.partialObserver;if(t.next)try{t.next(e)}catch(e){j(e)}},e.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(e){j(e)}else j(e)},e.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(e){j(e)}},e}(),M=function(e){function t(t,n,r){var i,o,s=e.call(this)||this;return y(t)||!t?i={next:null!=t?t:void 0,error:null!=n?n:void 0,complete:null!=r?r:void 0}:s&&R?((o=Object.create(t)).unsubscribe=function(){return s.unsubscribe()},i={next:t.next&&H(t.next,o),error:t.error&&H(t.error,o),complete:t.complete&&H(t.complete,o)}):i=t,s.destination=new U(i),s}return s(t,e),t}(D);function j(e){S(e)}function F(e,t){var n=O;n&&T.setTimeout((function(){return n(e,t)}))}var B={closed:!0,next:A,error:function(e){throw e},complete:A},G="function"==typeof Symbol&&Symbol.observable||"@@observable";function Y(e){return e}function V(e){return 0===e.length?Y:1===e.length?e[0]:function(t){return e.reduce((function(e,t){return t(e)}),t)}}var W=function(){function e(e){e&&(this._subscribe=e)}return e.prototype.lift=function(t){var n=new e;return n.source=this,n.operator=t,n},e.prototype.subscribe=function(e,t,n){var r,i=this,o=(r=e)&&r instanceof D||function(e){return e&&y(e.next)&&y(e.error)&&y(e.complete)}(r)&&_(r)?e:new M(e,t,n);return x((function(){var e=i,t=e.operator,n=e.source;o.add(t?t.call(o,n):n?i._subscribe(o):i._trySubscribe(o))})),o},e.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.error(t)}},e.prototype.forEach=function(e,t){var n=this;return new(t=K(t))((function(t,r){var i=new M({next:function(t){try{e(t)}catch(e){r(e),i.unsubscribe()}},error:r,complete:t});n.subscribe(i)}))},e.prototype._subscribe=function(e){var t;return null===(t=this.source)||void 0===t?void 0:t.subscribe(e)},e.prototype[G]=function(){return this},e.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return V(e)(this)},e.prototype.toPromise=function(e){var t=this;return new(e=K(e))((function(e,n){var r;t.subscribe((function(e){return r=e}),(function(e){return n(e)}),(function(){return e(r)}))}))},e.create=function(t){return new e(t)},e}();function K(e){var t;return null!==(t=null!=e?e:k)&&void 0!==t?t:Promise}function q(e){return function(t){if(function(e){return y(null==e?void 0:e.lift)}(t))return t.lift((function(t){try{return e(t,this)}catch(e){this.error(e)}}));throw new TypeError("Unable to lift unknown Observable type")}}function z(e,t,n,r,i){return new $(e,t,n,r,i)}var $=function(e){function t(t,n,r,i,o,s){var a=e.call(this,t)||this;return a.onFinalize=o,a.shouldUnsubscribe=s,a._next=n?function(e){try{n(e)}catch(e){t.error(e)}}:e.prototype._next,a._error=i?function(e){try{i(e)}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._error,a._complete=r?function(){try{r()}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._complete,a}return s(t,e),t.prototype.unsubscribe=function(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var n=this.closed;e.prototype.unsubscribe.call(this),!n&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}},t}(D),J=m((function(e){return function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}})),X=function(e){function t(){var t=e.call(this)||this;return t.closed=!1,t.currentObservers=null,t.observers=[],t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return s(t,e),t.prototype.lift=function(e){var t=new Q(this,this);return t.operator=e,t},t.prototype._throwIfClosed=function(){if(this.closed)throw new J},t.prototype.next=function(e){var t=this;x((function(){var n,r;if(t._throwIfClosed(),!t.isStopped){t.currentObservers||(t.currentObservers=Array.from(t.observers));try{for(var i=u(t.currentObservers),o=i.next();!o.done;o=i.next())o.value.next(e)}catch(e){n={error:e}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}}}))},t.prototype.error=function(e){var t=this;x((function(){if(t._throwIfClosed(),!t.isStopped){t.hasError=t.isStopped=!0,t.thrownError=e;for(var n=t.observers;n.length;)n.shift().error(e)}}))},t.prototype.complete=function(){var e=this;x((function(){if(e._throwIfClosed(),!e.isStopped){e.isStopped=!0;for(var t=e.observers;t.length;)t.shift().complete()}}))},t.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(t.prototype,"observed",{get:function(){var e;return(null===(e=this.observers)||void 0===e?void 0:e.length)>0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(t){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,t)},t.prototype._subscribe=function(e){return this._throwIfClosed(),this._checkFinalizedStatuses(e),this._innerSubscribe(e)},t.prototype._innerSubscribe=function(e){var t=this,n=this,r=n.hasError,i=n.isStopped,o=n.observers;return r||i?C:(this.currentObservers=null,o.push(e),new E((function(){t.currentObservers=null,w(o,e)})))},t.prototype._checkFinalizedStatuses=function(e){var t=this,n=t.hasError,r=t.thrownError,i=t.isStopped;n?e.error(r):i&&e.complete()},t.prototype.asObservable=function(){var e=new W;return e.source=this,e},t.create=function(e,t){return new Q(e,t)},t}(W),Q=function(e){function t(t,n){var r=e.call(this)||this;return r.destination=t,r.source=n,r}return s(t,e),t.prototype.next=function(e){var t,n;null===(n=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===n||n.call(t,e)},t.prototype.error=function(e){var t,n;null===(n=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===n||n.call(t,e)},t.prototype.complete=function(){var e,t;null===(t=null===(e=this.destination)||void 0===e?void 0:e.complete)||void 0===t||t.call(e)},t.prototype._subscribe=function(e){var t,n;return null!==(n=null===(t=this.source)||void 0===t?void 0:t.subscribe(e))&&void 0!==n?n:C},t}(X),Z=function(e){function t(t){var n=e.call(this)||this;return n._value=t,n}return s(t,e),Object.defineProperty(t.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),t.prototype._subscribe=function(t){var n=e.prototype._subscribe.call(this,t);return!n.closed&&t.next(this._value),n},t.prototype.getValue=function(){var e=this,t=e.hasError,n=e.thrownError,r=e._value;if(t)throw n;return this._throwIfClosed(),r},t.prototype.next=function(t){e.prototype.next.call(this,this._value=t)},t}(X),ee={now:function(){return(ee.delegate||Date).now()},delegate:void 0},te=function(e){function t(t,n,r){void 0===t&&(t=1/0),void 0===n&&(n=1/0),void 0===r&&(r=ee);var i=e.call(this)||this;return i._bufferSize=t,i._windowTime=n,i._timestampProvider=r,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=n===1/0,i._bufferSize=Math.max(1,t),i._windowTime=Math.max(1,n),i}return s(t,e),t.prototype.next=function(t){var n=this,r=n.isStopped,i=n._buffer,o=n._infiniteTimeWindow,s=n._timestampProvider,a=n._windowTime;r||(i.push(t),!o&&i.push(s.now()+a)),this._trimBuffer(),e.prototype.next.call(this,t)},t.prototype._subscribe=function(e){this._throwIfClosed(),this._trimBuffer();for(var t=this._innerSubscribe(e),n=this._infiniteTimeWindow,r=this._buffer.slice(),i=0;i<r.length&&!e.closed;i+=n?1:2)e.next(r[i]);return this._checkFinalizedStatuses(e),t},t.prototype._trimBuffer=function(){var e=this,t=e._bufferSize,n=e._timestampProvider,r=e._buffer,i=e._infiniteTimeWindow,o=(i?1:2)*t;if(t<1/0&&o<r.length&&r.splice(0,r.length-o),!i){for(var s=n.now(),a=0,c=1;c<r.length&&r[c]<=s;c+=2)a=c;a&&r.splice(0,a+1)}},t}(X),ne=function(e){function t(t,n){return e.call(this)||this}return s(t,e),t.prototype.schedule=function(e,t){return this},t}(E),re={setInterval:function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];var i=re.delegate;return(null==i?void 0:i.setInterval)?i.setInterval.apply(i,h([e,t],l(n))):setInterval.apply(void 0,h([e,t],l(n)))},clearInterval:function(e){var t=re.delegate;return((null==t?void 0:t.clearInterval)||clearInterval)(e)},delegate:void 0},ie=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r.pending=!1,r}return s(t,e),t.prototype.schedule=function(e,t){var n;if(void 0===t&&(t=0),this.closed)return this;this.state=e;var r=this.id,i=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(i,r,t)),this.pending=!0,this.delay=t,this.id=null!==(n=this.id)&&void 0!==n?n:this.requestAsyncId(i,this.id,t),this},t.prototype.requestAsyncId=function(e,t,n){return void 0===n&&(n=0),re.setInterval(e.flush.bind(e,this),n)},t.prototype.recycleAsyncId=function(e,t,n){if(void 0===n&&(n=0),null!=n&&this.delay===n&&!1===this.pending)return t;null!=t&&re.clearInterval(t)},t.prototype.execute=function(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(e,t);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},t.prototype._execute=function(e,t){var n,r=!1;try{this.work(e)}catch(e){r=!0,n=e||new Error("Scheduled action threw falsy error")}if(r)return this.unsubscribe(),n},t.prototype.unsubscribe=function(){if(!this.closed){var t=this.id,n=this.scheduler,r=n.actions;this.work=this.state=this.scheduler=null,this.pending=!1,w(r,this),null!=t&&(this.id=this.recycleAsyncId(n,t,null)),this.delay=null,e.prototype.unsubscribe.call(this)}},t}(ne),oe=function(){function e(t,n){void 0===n&&(n=e.now),this.schedulerActionCtor=t,this.now=n}return e.prototype.schedule=function(e,t,n){return void 0===t&&(t=0),new this.schedulerActionCtor(this,e).schedule(n,t)},e.now=ee.now,e}(),se=new(function(e){function t(t,n){void 0===n&&(n=oe.now);var r=e.call(this,t,n)||this;return r.actions=[],r._active=!1,r}return s(t,e),t.prototype.flush=function(e){var t=this.actions;if(this._active)t.push(e);else{var n;this._active=!0;do{if(n=e.execute(e.state,e.delay))break}while(e=t.shift());if(this._active=!1,n){for(;e=t.shift();)e.unsubscribe();throw n}}},t}(oe))(ie),ae=se,ce=new W((function(e){return e.complete()}));function ue(e){return e&&y(e.schedule)}function le(e){return e[e.length-1]}function he(e){return y(le(e))?e.pop():void 0}function fe(e){return ue(le(e))?e.pop():void 0}function de(e,t){return"number"==typeof le(e)?e.pop():t}var pe=function(e){return e&&"number"==typeof e.length&&"function"!=typeof e};function ve(e){return y(null==e?void 0:e.then)}function ge(e){return y(e[G])}function ye(e){return Symbol.asyncIterator&&y(null==e?void 0:e[Symbol.asyncIterator])}function me(e){return new TypeError("You provided "+(null!==e&&"object"==typeof e?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}var be="function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator";function we(e){return y(null==e?void 0:e[be])}function Ee(e){return d(this,arguments,(function(){var t,n,r;return c(this,(function(i){switch(i.label){case 0:t=e.getReader(),i.label=1;case 1:i.trys.push([1,,9,10]),i.label=2;case 2:return[4,f(t.read())];case 3:return n=i.sent(),r=n.value,n.done?[4,f(void 0)]:[3,5];case 4:return[2,i.sent()];case 5:return[4,f(r)];case 6:return[4,i.sent()];case 7:return i.sent(),[3,2];case 8:return[3,10];case 9:return t.releaseLock(),[7];case 10:return[2]}}))}))}function Ce(e){return y(null==e?void 0:e.getReader)}function _e(e){if(e instanceof W)return e;if(null!=e){if(ge(e))return i=e,new W((function(e){var t=i[G]();if(y(t.subscribe))return t.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")}));if(pe(e))return r=e,new W((function(e){for(var t=0;t<r.length&&!e.closed;t++)e.next(r[t]);e.complete()}));if(ve(e))return n=e,new W((function(e){n.then((function(t){e.closed||(e.next(t),e.complete())}),(function(t){return e.error(t)})).then(null,S)}));if(ye(e))return Ie(e);if(we(e))return t=e,new W((function(e){var n,r;try{for(var i=u(t),o=i.next();!o.done;o=i.next()){var s=o.value;if(e.next(s),e.closed)return}}catch(e){n={error:e}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}e.complete()}));if(Ce(e))return Ie(Ee(e))}var t,n,r,i;throw me(e)}function Ie(e){return new W((function(t){(function(e,t){var n,r,i,o;return a(this,void 0,void 0,(function(){var s,a;return c(this,(function(c){switch(c.label){case 0:c.trys.push([0,5,6,11]),n=p(e),c.label=1;case 1:return[4,n.next()];case 2:if((r=c.sent()).done)return[3,4];if(s=r.value,t.next(s),t.closed)return[2];c.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return a=c.sent(),i={error:a},[3,11];case 6:return c.trys.push([6,,9,10]),r&&!r.done&&(o=n.return)?[4,o.call(n)]:[3,8];case 7:c.sent(),c.label=8;case 8:return[3,10];case 9:if(i)throw i.error;return[7];case 10:return[7];case 11:return t.complete(),[2]}}))}))})(e,t).catch((function(e){return t.error(e)}))}))}function Oe(e,t,n,r,i){void 0===r&&(r=0),void 0===i&&(i=!1);var o=t.schedule((function(){n(),i?e.add(this.schedule(null,r)):this.unsubscribe()}),r);if(e.add(o),!i)return o}function ke(e,t){return void 0===t&&(t=0),q((function(n,r){n.subscribe(z(r,(function(n){return Oe(r,e,(function(){return r.next(n)}),t)}),(function(){return Oe(r,e,(function(){return r.complete()}),t)}),(function(n){return Oe(r,e,(function(){return r.error(n)}),t)})))}))}function Re(e,t){return void 0===t&&(t=0),q((function(n,r){r.add(e.schedule((function(){return n.subscribe(r)}),t))}))}function Te(e,t){if(!e)throw new Error("Iterable cannot be null");return new W((function(n){Oe(n,t,(function(){var r=e[Symbol.asyncIterator]();Oe(n,t,(function(){r.next().then((function(e){e.done?n.complete():n.next(e.value)}))}),0,!0)}))}))}function Se(e,t){return t?function(e,t){if(null!=e){if(ge(e))return function(e,t){return _e(e).pipe(Re(t),ke(t))}(e,t);if(pe(e))return function(e,t){return new W((function(n){var r=0;return t.schedule((function(){r===e.length?n.complete():(n.next(e[r++]),n.closed||this.schedule())}))}))}(e,t);if(ve(e))return function(e,t){return _e(e).pipe(Re(t),ke(t))}(e,t);if(ye(e))return Te(e,t);if(we(e))return function(e,t){return new W((function(n){var r;return Oe(n,t,(function(){r=e[be](),Oe(n,t,(function(){var e,t,i;try{t=(e=r.next()).value,i=e.done}catch(e){return void n.error(e)}i?n.complete():n.next(t)}),0,!0)})),function(){return y(null==r?void 0:r.return)&&r.return()}}))}(e,t);if(Ce(e))return function(e,t){return Te(Ee(e),t)}(e,t)}throw me(e)}(e,t):_e(e)}function Ae(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=fe(e);return Se(e,n)}function Ne(e,t){var n=y(e)?e:function(){return e},r=function(e){return e.error(n())};return new W(t?function(e){return t.schedule(r,0,e)}:r)}var Pe=m((function(e){return function(){e(this),this.name="EmptyError",this.message="no elements in sequence"}}));function xe(e,t){var n="object"==typeof t;return new Promise((function(r,i){var o,s=!1;e.subscribe({next:function(e){o=e,s=!0},error:i,complete:function(){s?r(o):n?r(t.defaultValue):i(new Pe)}})}))}function De(e,t){var n="object"==typeof t;return new Promise((function(r,i){var o=new M({next:function(e){r(e),o.unsubscribe()},error:i,complete:function(){n?r(t.defaultValue):i(new Pe)}});e.subscribe(o)}))}function Le(e){return e instanceof Date&&!isNaN(e)}var He=m((function(e){return function(t){void 0===t&&(t=null),e(this),this.message="Timeout has occurred",this.name="TimeoutError",this.info=t}}));function Ue(e,t){var n=Le(e)?{first:e}:"number"==typeof e?{each:e}:e,r=n.first,i=n.each,o=n.with,s=void 0===o?Me:o,a=n.scheduler,c=void 0===a?null!=t?t:se:a,u=n.meta,l=void 0===u?null:u;if(null==r&&null==i)throw new TypeError("No timeout provided.");return q((function(e,t){var n,o,a=null,u=0,h=function(e){o=Oe(t,c,(function(){try{n.unsubscribe(),_e(s({meta:l,lastValue:a,seen:u})).subscribe(t)}catch(e){t.error(e)}}),e)};n=e.subscribe(z(t,(function(e){null==o||o.unsubscribe(),u++,t.next(a=e),i>0&&h(i)}),void 0,void 0,(function(){(null==o?void 0:o.closed)||null==o||o.unsubscribe(),a=null}))),!u&&h(null!=r?"number"==typeof r?r:+r-c.now():i)}))}function Me(e){throw new He(e)}function je(e,t){return q((function(n,r){var i=0;n.subscribe(z(r,(function(n){r.next(e.call(t,n,i++))})))}))}function Fe(e,t,n){return void 0===n&&(n=1/0),y(t)?Fe((function(n,r){return je((function(e,i){return t(n,e,r,i)}))(_e(e(n,r)))}),n):("number"==typeof t&&(n=t),q((function(t,r){return function(e,t,n,r,i,o,s,a){var c=[],u=0,l=0,h=!1,f=function(){!h||c.length||u||t.complete()},d=function(e){return u<r?p(e):c.push(e)},p=function(e){u++;var i=!1;_e(n(e,l++)).subscribe(z(t,(function(e){t.next(e)}),(function(){i=!0}),void 0,(function(){if(i)try{u--;for(var e=function(){var e=c.shift();p(e)};c.length&&u<r;)e();f()}catch(e){t.error(e)}})))};return e.subscribe(z(t,d,(function(){h=!0,f()}))),function(){}}(t,r,e,n)})))}function Be(e){return void 0===e&&(e=1/0),Fe(Y,e)}function Ge(){return Be(1)}function Ye(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Ge()(Se(e,fe(e)))}function Ve(e){return new W((function(t){_e(e()).subscribe(t)}))}function We(e,t,n){void 0===e&&(e=0),void 0===n&&(n=ae);var r=-1;return null!=t&&(ue(t)?n=t:r=t),new W((function(t){var i=Le(e)?+e-n.now():e;i<0&&(i=0);var o=0;return n.schedule((function(){t.closed||(t.next(o++),0<=r?this.schedule(void 0,r):t.complete())}),i)}))}function Ke(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=fe(e),r=de(e,1/0),i=e;return i.length?1===i.length?_e(i[0]):Be(r)(Se(i,n)):ce}var qe,ze,$e,Je,Xe,Qe,Ze=new W(A),et=Array.isArray;function tt(e){return 1===e.length&&et(e[0])?e[0]:e}function nt(e,t){return function(n,r){return!e.call(t,n,r)}}function rt(e,t){return q((function(n,r){var i=0;n.subscribe(z(r,(function(n){return e.call(t,n,i++)&&r.next(n)})))}))}function it(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return 1===(e=tt(e)).length?_e(e[0]):new W(ot(e))}function ot(e){return function(t){for(var n=[],r=function(r){n.push(_e(e[r]).subscribe(z(t,(function(e){if(n){for(var i=0;i<n.length;i++)i!==r&&n[i].unsubscribe();n=null}t.next(e)}))))},i=0;n&&!t.closed&&i<e.length;i++)r(i)}}function st(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=he(e),r=tt(e);return r.length?new W((function(e){var t=r.map((function(){return[]})),i=r.map((function(){return!1}));e.add((function(){t=i=null}));for(var o=function(o){_e(r[o]).subscribe(z(e,(function(r){if(t[o].push(r),t.every((function(e){return e.length}))){var s=t.map((function(e){return e.shift()}));e.next(n?n.apply(void 0,h([],l(s))):s),t.some((function(e,t){return!e.length&&i[t]}))&&e.complete()}}),(function(){i[o]=!0,!t[o].length&&e.complete()})))},s=0;!e.closed&&s<r.length;s++)o(s);return function(){t=i=null}})):ce}function at(e){return q((function(t,n){var r,i=null,o=!1;i=t.subscribe(z(n,void 0,void 0,(function(s){r=_e(e(s,at(e)(t))),i?(i.unsubscribe(),i=null,r.subscribe(n)):o=!0}))),o&&(i.unsubscribe(),i=null,r.subscribe(n))}))}function ct(e,t){return y(t)?Fe(e,t,1):Fe(e,1)}function ut(e){return q((function(t,n){var r=!1;t.subscribe(z(n,(function(e){r=!0,n.next(e)}),(function(){r||n.next(e),n.complete()})))}))}function lt(e){return e<=0?function(){return ce}:q((function(t,n){var r=0;t.subscribe(z(n,(function(t){++r<=e&&(n.next(t),e<=r&&n.complete())})))}))}function ht(e){return void 0===e&&(e=ft),q((function(t,n){var r=!1;t.subscribe(z(n,(function(e){r=!0,n.next(e)}),(function(){return r?n.complete():n.error(e())})))}))}function ft(){return new Pe}function dt(e,t){var n=arguments.length>=2;return function(r){return r.pipe(e?rt((function(t,n){return e(t,n,r)})):Y,lt(1),n?ut(t):ht((function(){return new Pe})))}}function pt(e){return e<=0?function(){return ce}:q((function(t,n){var r=[];t.subscribe(z(n,(function(t){r.push(t),e<r.length&&r.shift()}),(function(){var e,t;try{for(var i=u(r),o=i.next();!o.done;o=i.next()){var s=o.value;n.next(s)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(t=i.return)&&t.call(i)}finally{if(e)throw e.error}}n.complete()}),void 0,(function(){r=null})))}))}function vt(e){return q((function(t,n){var r,i,o=!1,s=function(){r=t.subscribe(z(n,void 0,void 0,(function(t){i||(i=new X,e(i).subscribe(z(n,(function(){return r?s():o=!0})))),i&&i.next(t)}))),o&&(r.unsubscribe(),r=null,o=!1,s())};s()}))}function gt(e){void 0===e&&(e={});var t=e.connector,n=void 0===t?function(){return new X}:t,r=e.resetOnError,i=void 0===r||r,o=e.resetOnComplete,s=void 0===o||o,a=e.resetOnRefCountZero,c=void 0===a||a;return function(e){var t,r,o,a=0,u=!1,l=!1,h=function(){null==r||r.unsubscribe(),r=void 0},f=function(){h(),t=o=void 0,u=l=!1},d=function(){var e=t;f(),null==e||e.unsubscribe()};return q((function(e,p){a++,l||u||h();var v=o=null!=o?o:n();p.add((function(){0!=--a||l||u||(r=yt(d,c))})),v.subscribe(p),!t&&a>0&&(t=new M({next:function(e){return v.next(e)},error:function(e){l=!0,h(),r=yt(f,i,e),v.error(e)},complete:function(){u=!0,h(),r=yt(f,s),v.complete()}}),_e(e).subscribe(t))}))(e)}}function yt(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];if(!0!==t){if(!1!==t){var i=new M({next:function(){i.unsubscribe(),e()}});return t.apply(void 0,h([],l(n))).subscribe(i)}}else e()}function mt(e,t,n){var r,i,o,s,a=!1;return e&&"object"==typeof e?(r=e.bufferSize,s=void 0===r?1/0:r,i=e.windowTime,t=void 0===i?1/0:i,a=void 0!==(o=e.refCount)&&o,n=e.scheduler):s=null!=e?e:1/0,gt({connector:function(){return new te(s,t,n)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:a})}function bt(e){return rt((function(t,n){return e<=n}))}function wt(e,t){return q((function(n,r){var i=null,o=0,s=!1,a=function(){return s&&!i&&r.complete()};n.subscribe(z(r,(function(n){null==i||i.unsubscribe();var s=0,c=o++;_e(e(n,c)).subscribe(i=z(r,(function(e){return r.next(t?t(n,e,c,s++):e)}),(function(){i=null,a()})))}),(function(){s=!0,a()})))}))}function Et(){return wt(Y)}function Ct(e){return q((function(t,n){_e(e).subscribe(z(n,(function(){return n.complete()}),A)),!n.closed&&t.subscribe(n)}))}function _t(e,t,n){var r=y(e)||t||n?{next:e,error:t,complete:n}:e;return r?q((function(e,t){var n;null===(n=r.subscribe)||void 0===n||n.call(r);var i=!0;e.subscribe(z(t,(function(e){var n;null===(n=r.next)||void 0===n||n.call(r,e),t.next(e)}),(function(){var e;i=!1,null===(e=r.complete)||void 0===e||e.call(r),t.complete()}),(function(e){var n;i=!1,null===(n=r.error)||void 0===n||n.call(r,e),t.error(e)}),(function(){var e,t;i&&(null===(e=r.unsubscribe)||void 0===e||e.call(r)),null===(t=r.finalize)||void 0===t||t.call(r)})))})):Y}class It extends Error{constructor(e,t){super(e),this.type=t,this.type=t,Object.setPrototypeOf(this,new.target.prototype)}}function Ot(e,t,n=qe.ERROR,r=ze.JS_LIB){t?null==t||t.write({level:n,layer:r,message:e}):t||n!==qe.ERROR||console.error(e)}function kt(e){return void 0!==e}!function(e){e.ERROR="error",e.WARNING="warning",e.INFO="info"}(qe||(qe={})),function(e){e.CHROME_EXTENSION="chrome-extension",e.NATIVE_CONSOLE="native-console",e.JS_LIB="js-lib"}(ze||(ze={})),function(e){e.SDK_USAGE_ERROR="sdk-usage-error",e.FEATURE_NOT_SUPPORTED="feature-not-supported",e.DEVICE_ERROR="device-error",e.UNEXPECTED_ERROR="unexpected-error",e.INIT_ERROR="init-error"}($e||($e={}));class Rt{constructor(e,t){this.compare=t,this.remove=new X,this.itemRemoved=this.remove,this.items=new Z([]),this.itemList=this.items,this.itemAdded=e.pipe(je(e=>(this.addItem(e),e)),gt()),this.itemAdded.subscribe({next:e=>{e.onDisconnect.pipe(dt(),je(()=>this.removeItem(e.id)),rt(kt)).subscribe(e=>this.remove.next(e))},error:A}),this.itemRemoved.subscribe({error:A})}getValue(){return[...this.items.getValue()]}addItem(e){if(this.items.getValue().filter(t=>t.id.equals(e.id)).length>0)throw new It("This item has already been added.",$e.UNEXPECTED_ERROR);const t=this.items.getValue().concat([e]);t.sort(this.compare),this.items.next(t)}removeItem(e){const t=this.getValue(),n=t.findIndex(t=>t.id.equals(e));if(-1===n)throw new It("Item not found and therefore cannot be removed.",$e.UNEXPECTED_ERROR);const r=t.splice(n,1)[0];return this.items.next(t),r}}class Tt{constructor(t,n){this.sdkVersion=null!=="4.2.1"?"4.2.1":"0.0.1-local",this.consoleAppVersion=t.pipe(dt(e=>"ready"===e.event),je(e=>e.version),Ue(1e3),mt(1),at(()=>Ae(null))),this.chromeExtensionVersion=t.pipe(dt(e=>"chrome-extension-ready"===e.event),je(e=>e.version),Ue(1e3),mt(1),at(()=>Ae(null))),st(this.consoleAppVersion,this.chromeExtensionVersion).subscribe(t=>{const r=`sdkVersion: ${this.sdkVersion} | chromeHostVersion: ${t[0]}`;let i;i=void 0!==e?`${r} | nodeVersion: ${e.version} | platform: ${e.platform}`:`${r} | chromeExtensionVersion: ${t[1]} | browserUserAgent: ${window.navigator.userAgent}`,Ot(i,n,qe.INFO)})}}class St{constructor(e,t,n){this.deviceDetector=e,this.deviceAdded=this.deviceDetector.deviceObservables.itemAdded,this.deviceRemoved=this.deviceDetector.deviceObservables.itemRemoved,this.deviceList=this.deviceDetector.deviceObservables.itemList,Je.set(this,void 0),this._transport=t,this._readyEvents=t.consoleAppEvent.pipe(rt(e=>"ready"===e.event||"chrome-extension-ready"===e.event),mt(2)),this._readyEvents.subscribe(),this._config=n,this.transportContext=t.context,g(this,Je,new Tt(this._readyEvents,null==n?void 0:n.logger),"f")}getVersion(){return v(this,Je,"f").sdkVersion}getChromehostVersion(){return De(v(this,Je,"f").consoleAppVersion)}getChromeExtensionVersion(){return De(v(this,Je,"f").chromeExtensionVersion)}}Je=new WeakMap,function(e){e.NODE="node",e.CHROME_EXTENSION="chrome-extension",e.WEB_HID="web-hid"}(Xe||(Xe={})),function(e){e.CHROME_EXTENSION="chrome-extension",e.WEB_HID="web-hid",e.CHROME_EXTENSION_WITH_WEB_HID_FALLBACK="chrome-extension-with-web-hid-fallback"}(Qe||(Qe={}));const At="Failed to dynamically import file. Please contact a Jabra representative as we would love to learn about scenarios where this could happen!";function Nt(e,t=Qe.CHROME_EXTENSION,r){return a(this,void 0,void 0,(function*(){if(t!==Qe.WEB_HID){const i=yield n.e(1).then(n.bind(null,18)).catch(()=>{throw new It(At,$e.UNEXPECTED_ERROR)}),o=yield i.TransportChromeExtension.checkInstallation();if(o.ok)return Ot("Using Chrome extension for transport.",e,qe.INFO),new i.TransportChromeExtension(e,r);if(t===Qe.CHROME_EXTENSION)throw new It(o.message,$e.INIT_ERROR);t===Qe.CHROME_EXTENSION_WITH_WEB_HID_FALLBACK&&Ot(o.message,e,qe.INFO)}return Ot("Using WebHID for transport.",e,qe.INFO),function(e,t){return a(this,void 0,void 0,(function*(){const r=yield n.e(2).then(n.bind(null,19)).catch(()=>{throw new It(At,$e.UNEXPECTED_ERROR)}),i=yield n.e(3).then(n.bind(null,20)).catch(()=>{throw new It(At,$e.UNEXPECTED_ERROR)}),o=r.initHandler(e);return new i.WebHidTransport(o,e,t)}))}(e,r)}))}class Pt{constructor(e,t){this.log=e.consoleAppEvent.pipe(rt(e=>"log"===e.event),je(e=>({message:e.message,level:e.level,layer:e.layer}))),this.log.subscribe(e=>Ot(e.message,t,e.level,e.layer))}}const xt=[0,4129,8258,12387,16516,20645,24774,28903,33032,37161,41290,45419,49548,53677,57806,61935,4657,528,12915,8786,21173,17044,29431,25302,37689,33560,45947,41818,54205,50076,62463,58334,9314,13379,1056,5121,25830,29895,17572,21637,42346,46411,34088,38153,58862,62927,50604,54669,13907,9842,5649,1584,30423,26358,22165,18100,46939,42874,38681,34616,63455,59390,55197,51132,18628,22757,26758,30887,2112,6241,10242,14371,51660,55789,59790,63919,35144,39273,43274,47403,23285,19156,31415,27286,6769,2640,14899,10770,56317,52188,64447,60318,39801,35672,47931,43802,27814,31879,19684,23749,11298,15363,3168,7233,60846,64911,52716,56781,44330,48395,36200,40265,32407,28342,24277,20212,15891,11826,7761,3696,65439,61374,57309,53244,48923,44858,40793,36728,37256,33193,45514,41451,53516,49453,61774,57711,4224,161,12482,8419,20484,16421,28742,24679,33721,37784,41979,46042,49981,54044,58239,62302,689,4752,8947,13010,16949,21012,25207,29270,46570,42443,38312,34185,62830,58703,54572,50445,13538,9411,5280,1153,29798,25671,21540,17413,42971,47098,34713,38840,59231,63358,50973,55100,9939,14066,1681,5808,26199,30326,17941,22068,55628,51565,63758,59695,39368,35305,47498,43435,22596,18533,30726,26663,6336,2273,14466,10403,52093,56156,60223,64286,35833,39896,43963,48026,19061,23124,27191,31254,2801,6864,10931,14994,64814,60687,56684,52557,48554,44427,40424,36297,31782,27655,23652,19525,15522,11395,7392,3265,61215,65342,53085,57212,44955,49082,36825,40952,28183,32310,20053,24180,11923,16050,3793,7920];class Dt{constructor(e){this.config=e,this.messageShown=!1}validateOrganizationKey(){var e;(null===(e=this.config)||void 0===e?void 0:e.partnerKey)?this.validateCrc(this.config.partnerKey)||this.logWarning("Invalid partner key."):this.logWarning("No partner key provided.")}validateAppId(){var e;(null===(e=this.config)||void 0===e?void 0:e.appId)?this.config.appId.length<3?this.logWarning("The appId should be minimum 3 characters.",!1):this.config.appId.length>100?this.logWarning("The appId should be no longer than 100 characters.",!1):/^[A-Za-z0-9\-_]+$/.test(this.config.appId)||this.logWarning("The appId is invalid. Should consist of letters, numbers, underscores or dashes",!1):this.logWarning("No app identifier provided.")}validateAppName(){var e;(null===(e=this.config)||void 0===e?void 0:e.appName)?/^[\x20-\x7F]*$/.test(this.config.appName)?this.config.appName.length>100?this.logWarning("The app name should be no longer than 100 characters.",!1):/^[A-Za-z0-9]+[A-Za-z0-9 &-]*$/g.test(this.config.appName)||this.logWarning("The appName is invalid. Name should consist of letters, numbers, spaces, ampersands and dashes. Name should not begin with spaces, ampersands or dashes.",!1):this.logWarning("The app name can only contain ASCII characters",!1):this.logWarning("No app name provided. Will fallback to use appId as name.",!1)}logWarning(e,t=!0){this.messageShown||(this.messageShown=!0,t?console.warn(`\n ${e}\n \n Add keys to the config object on initialization.\n E.g. await init({\n partnerKey: 'my-partner-key-from-developer-zone',\n appId: 'my-self-chosen-app-id',\n appName: 'My App Name'\n });\n\n Please obtain a valid partner key from https://developer.jabra.com.\n The key will ensure interoperability with other Jabra apps and services, and mitigate\n some co-existence issues with other softphone applications.\n\n The package will continue to work without the keys, but we do not recommend production release\n without it. Read more on the Developer Zone.\n \n `):console.warn(e))}validateCrc(e){const[t,...n]=e.split("-"),r=function(e){let t,n,r=65535;for(n=0;n<e.length;n+=1){const i=e.charCodeAt(n);if(i>255)throw new RangeError;t=255&(i^r>>8),r=xt[t]^r<<8}return 65535&(0^r)}(n.join("-")).toString(16).padStart(4,"0");return t===r}}var Lt,Ht,Ut,Mt,jt,Ft,Bt,Gt;!function(e){e[e.MS_OC=0]="MS_OC",e[e.CISCO=1]="CISCO",e[e.AVAYA=2]="AVAYA",e[e.SIEMENS=3]="SIEMENS",e[e.ALCATEL=4]="ALCATEL",e[e.IBM=5]="IBM",e[e.AASTRA=6]="AASTRA",e[e.SKYPE=7]="SKYPE",e[e.GENERIC=8]="GENERIC",e[e.NORTEL=9]="NORTEL",e[e.JABRA=10]="JABRA",e[e.NEC=11]="NEC",e[e.SHORETEL=12]="SHORETEL",e[e.OTHER=255]="OTHER"}(Lt||(Lt={}));class Yt{constructor(e,t){this.gnpReadCommand=e,this.serialize=t,this.command=e.command,this.subCommand=e.subCommand}deserialize(e){return this.gnpReadCommand.deserialize(e)}}!function(e){e[e.GN_PROTOCOL=65280]="GN_PROTOCOL"}(Ht||(Ht={})),function(e){e[e.DATA=1]="DATA"}(Ut||(Ut={}));class Vt{constructor(e,t,n,r,i,o=new Uint8Array,s=0){this.destination=e,this.source=t,this.type=n,this.command=r,this.subCommand=i,this.payload=o,this.sequenceNumber=s}}!function(e){e[e.PC_ADDR=0]="PC_ADDR",e[e.BASE_ADDR=1]="BASE_ADDR",e[e.HS1_ADDR=4]="HS1_ADDR",e[e.HS_BT_USB_ADDR=8]="HS_BT_USB_ADDR",e[e.HS_CRADLE_ADDR=10]="HS_CRADLE_ADDR",e[e.CRADLE_ADDR=21]="CRADLE_ADDR"}(Mt||(Mt={})),function(e){e[e.EVENT=0]="EVENT",e[e.READ=1]="READ",e[e.WRITE=2]="WRITE",e[e.REPLY=3]="REPLY"}(jt||(jt={})),function(e){e[e.IDENT=2]="IDENT",e[e.DFU=7]="DFU",e[e.DEVICE=13]="DEVICE",e[e.FWU=15]="FWU",e[e.STATUS=18]="STATUS",e[e.CONFIG=19]="CONFIG",e[e.NACK=254]="NACK",e[e.ACK=255]="ACK"}(Ft||(Ft={})),function(e){e[e.CONFIG_PREFERRED_SOFTPHONE=34]="CONFIG_PREFERRED_SOFTPHONE",e[e.ID=1]="ID",e[e.IDENT_GET_AVAILABLE_SOFTPHONES=16]="IDENT_GET_AVAILABLE_SOFTPHONES",e[e.TYPE=2]="TYPE",e[e.NAME=0]="NAME",e[e.PID=17]="PID",e[e.ATTACH_EVENT=1]="ATTACH_EVENT",e[e.DETACH_EVENT=2]="DETACH_EVENT"}(Bt||(Bt={})),function(e){e[e.NO_ERROR_CODE=0]="NO_ERROR_CODE",e[e.BAD_STATE=243]="BAD_STATE",e[e.TRANSMIT_FAILED=244]="TRANSMIT_FAILED",e[e.ILLEGAL_ADDR=245]="ILLEGAL_ADDR",e[e.UNKNOWN_CMD=246]="UNKNOWN_CMD",e[e.FILE_NOT_FOUND=247]="FILE_NOT_FOUND",e[e.INTERNAL_ERROR=248]="INTERNAL_ERROR",e[e.REPLY_ERROR=249]="REPLY_ERROR",e[e.ILLEGAL_PARAM=250]="ILLEGAL_PARAM",e[e.OUT_OF_SEQUENCE=251]="OUT_OF_SEQUENCE",e[e.NO_SPACE=252]="NO_SPACE",e[e.ACCESS_DENIED=253]="ACCESS_DENIED",e[e.NO_MORE_DATA=254]="NO_MORE_DATA",e[e.UNKNOWN_SUB_CMD=255]="UNKNOWN_SUB_CMD"}(Gt||(Gt={}));const Wt={command:Ft.DEVICE,subCommand:Bt.ATTACH_EVENT,serialize:e=>Uint8Array.from([5,0])};function Kt(e){const t=e.payload,n=t[0],r=t.length-1;if(r!==n)throw new It(`Invalid response. Expected length: ${n}, actual: ${r}`,$e.DEVICE_ERROR);const i=t.slice(1);return String.fromCharCode(...Array.from(i))}class qt{constructor(){this.command=Ft.IDENT,this.subCommand=Bt.IDENT_GET_AVAILABLE_SOFTPHONES,this.deserialize=(e=>e,e=>{const t=e.payload,n=t[0],r=t.length-1;if(r!==n)throw new It(`Invalid response. Expected length: ${n}, actual: ${r}`,$e.DEVICE_ERROR);const i=[];return t.slice(1).forEach(e=>{i.push(e)}),i})}}const zt={command:Ft.IDENT,subCommand:Bt.NAME,deserialize:Kt},$t={command:Ft.IDENT,subCommand:Bt.PID,deserialize:function(e){const t=e instanceof Vt?e.payload:e;return new DataView(t.buffer).getUint16(0,!0)}},Jt={command:Ft.CONFIG,subCommand:Bt.CONFIG_PREFERRED_SOFTPHONE,deserialize:e=>e.payload[0],serialize:e=>Uint8Array.of(e)},Xt={command:Ft.IDENT,subCommand:Bt.TYPE,deserialize:e=>e.source},Qt={command:Ft.IDENT,subCommand:Bt.ID,deserialize:Kt};function Zt(e,t,n){return e(n={path:t,exports:{},require:function(e,t){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==t&&n.path)}},n.exports),n.exports}"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==r||"undefined"!=typeof self&&self;var en,tn,nn=Zt((function(e){
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.SoftphoneVendorHeadsets=t():e.SoftphoneVendorHeadsets=t()}(window,(function(){return function(e){function t(t){for(var n,i,o=t[0],s=t[1],a=0,u=[];a<o.length;a++)i=o[a],Object.prototype.hasOwnProperty.call(r,i)&&r[i]&&u.push(r[i][0]),r[i]=0;for(n in s)Object.prototype.hasOwnProperty.call(s,n)&&(e[n]=s[n]);for(c&&c(t);u.length;)u.shift()()}var n={},r={0:0};function i(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,i),r.l=!0,r.exports}i.e=function(e){var t=[],n=r[e];if(0!==n)if(n)t.push(n[2]);else{var o=new Promise((function(t,i){n=r[e]=[t,i]}));t.push(n[2]=o);var s,a=document.createElement("script");a.charset="utf-8",a.timeout=120,i.nc&&a.setAttribute("nonce",i.nc),a.src=function(e){return i.p+""+e+".softhphone-vendor-headsets.js"}(e);var c=new Error;s=function(t){a.onerror=a.onload=null,clearTimeout(u);var n=r[e];if(0!==n){if(n){var i=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;c.message="Loading chunk "+e+" failed.\n("+i+": "+o+")",c.name="ChunkLoadError",c.type=i,c.request=o,n[1](c)}r[e]=void 0}};var u=setTimeout((function(){s({type:"timeout",target:a})}),12e4);a.onerror=a.onload=s,document.head.appendChild(a)}return Promise.all(t)},i.m=e,i.c=n,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i.oe=function(e){throw console.error(e),e};var o=window.webpackJsonpSoftphoneVendorHeadsets=window.webpackJsonpSoftphoneVendorHeadsets||[],s=o.push.bind(o);o.push=t,o=o.slice();for(var a=0;a<o.length;a++)t(o[a]);var c=s;return i(i.s=12)}([function(e,t,n){"use strict";(function(e,r,i){n.d(t,"a",(function(){return Cr})),n.d(t,"b",(function(){return $e})),n.d(t,"c",(function(){return Mn})),n.d(t,"d",(function(){return kt})),n.d(t,"e",(function(){return qe})),n.d(t,"f",(function(){return W})),n.d(t,"g",(function(){return X})),n.d(t,"h",(function(){return Xe})),n.d(t,"i",(function(){return Yn})),n.d(t,"j",(function(){return a})),n.d(t,"k",(function(){return Ye})),n.d(t,"l",(function(){return Fe})),n.d(t,"m",(function(){return z})),n.d(t,"n",(function(){return We})),n.d(t,"o",(function(){return se})),n.d(t,"p",(function(){return Vn})),n.d(t,"q",(function(){return tr})),n.d(t,"r",(function(){return Wn})),n.d(t,"s",(function(){return Ke})),n.d(t,"t",(function(){return ze})),n.d(t,"u",(function(){return Kn})),n.d(t,"v",(function(){return It})),n.d(t,"w",(function(){return je})),n.d(t,"x",(function(){return A})),n.d(t,"y",(function(){return q})),n.d(t,"z",(function(){return Qe})),n.d(t,"A",(function(){return lt})),n.d(t,"B",(function(){return nn})),n.d(t,"C",(function(){return Gn})),n.d(t,"D",(function(){return nr}));var o=function(e,t){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}o(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}function a(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{c(r.next(e))}catch(e){o(e)}}function a(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((r=r.apply(e,t||[])).next())}))}function c(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!((i=(i=s.trys).length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}function u(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function l(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s}function f(e,t,n){if(n||2===arguments.length)for(var r,i=0,o=t.length;i<o;i++)!r&&i in t||(r||(r=Array.prototype.slice.call(t,0,i)),r[i]=t[i]);return e.concat(r||Array.prototype.slice.call(t))}function h(e){return this instanceof h?(this.v=e,this):new h(e)}function d(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,i=n.apply(e,t||[]),o=[];return r={},s("next"),s("throw"),s("return"),r[Symbol.asyncIterator]=function(){return this},r;function s(e){i[e]&&(r[e]=function(t){return new Promise((function(n,r){o.push([e,t,n,r])>1||a(e,t)}))})}function a(e,t){try{(n=i[e](t)).value instanceof h?Promise.resolve(n.value.v).then(c,u):l(o[0][2],n)}catch(e){l(o[0][3],e)}var n}function c(e){a("next",e)}function u(e){a("throw",e)}function l(e,t){e(t),o.shift(),o.length&&a(o[0][0],o[0][1])}}function p(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=u(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,i){!function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)}(r,i,(t=e[n](t)).done,t.value)}))}}}function v(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)}function g(e,t,n,r,i){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(e,n):i?i.value=n:t.set(e,n),n}function y(e){return"function"==typeof e}function m(e){var t=e((function(e){Error.call(e),e.stack=(new Error).stack}));return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}var b=m((function(e){return function(t){e(this),this.message=t?t.length+" errors occurred during unsubscription:\n"+t.map((function(e,t){return t+1+") "+e.toString()})).join("\n "):"",this.name="UnsubscriptionError",this.errors=t}}));function w(e,t){if(e){var n=e.indexOf(t);0<=n&&e.splice(n,1)}}var E=function(){function e(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}var t;return e.prototype.unsubscribe=function(){var e,t,n,r,i;if(!this.closed){this.closed=!0;var o=this._parentage;if(o)if(this._parentage=null,Array.isArray(o))try{for(var s=u(o),a=s.next();!a.done;a=s.next())a.value.remove(this)}catch(t){e={error:t}}finally{try{a&&!a.done&&(t=s.return)&&t.call(s)}finally{if(e)throw e.error}}else o.remove(this);var c=this.initialTeardown;if(y(c))try{c()}catch(e){i=e instanceof b?e.errors:[e]}var h=this._finalizers;if(h){this._finalizers=null;try{for(var d=u(h),p=d.next();!p.done;p=d.next()){var v=p.value;try{k(v)}catch(e){i=null!=i?i:[],e instanceof b?i=f(f([],l(i)),l(e.errors)):i.push(e)}}}catch(e){n={error:e}}finally{try{p&&!p.done&&(r=d.return)&&r.call(d)}finally{if(n)throw n.error}}}if(i)throw new b(i)}},e.prototype.add=function(t){var n;if(t&&t!==this)if(this.closed)k(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(n=this._finalizers)&&void 0!==n?n:[]).push(t)}},e.prototype._hasParent=function(e){var t=this._parentage;return t===e||Array.isArray(t)&&t.includes(e)},e.prototype._addParent=function(e){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e},e.prototype._removeParent=function(e){var t=this._parentage;t===e?this._parentage=null:Array.isArray(t)&&w(t,e)},e.prototype.remove=function(t){var n=this._finalizers;n&&w(n,t),t instanceof e&&t._removeParent(this)},e.EMPTY=((t=new e).closed=!0,t),e}(),C=E.EMPTY;function _(e){return e instanceof E||e&&"closed"in e&&y(e.remove)&&y(e.add)&&y(e.unsubscribe)}function k(e){y(e)?e():e.unsubscribe()}var I=null,O=void 0,R=!1,T={setTimeout:function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];var i=T.delegate;return(null==i?void 0:i.setTimeout)?i.setTimeout.apply(i,f([e,t],l(n))):setTimeout.apply(void 0,f([e,t],l(n)))},clearTimeout:function(e){var t=T.delegate;return((null==t?void 0:t.clearTimeout)||clearTimeout)(e)},delegate:void 0};function S(e){T.setTimeout((function(){throw e}))}function A(){}var x=N("C",void 0,void 0);function N(e,t,n){return{kind:e,value:t,error:n}}function P(e){e()}var D=function(e){function t(t){var n=e.call(this)||this;return n.isStopped=!1,t?(n.destination=t,_(t)&&t.add(n)):n.destination=B,n}return s(t,e),t.create=function(e,t,n){return new M(e,t,n)},t.prototype.next=function(e){this.isStopped?F(function(e){return N("N",e,void 0)}(e),this):this._next(e)},t.prototype.error=function(e){this.isStopped?F(N("E",void 0,e),this):(this.isStopped=!0,this._error(e))},t.prototype.complete=function(){this.isStopped?F(x,this):(this.isStopped=!0,this._complete())},t.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,e.prototype.unsubscribe.call(this),this.destination=null)},t.prototype._next=function(e){this.destination.next(e)},t.prototype._error=function(e){try{this.destination.error(e)}finally{this.unsubscribe()}},t.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},t}(E),L=Function.prototype.bind;function H(e,t){return L.call(e,t)}var U=function(){function e(e){this.partialObserver=e}return e.prototype.next=function(e){var t=this.partialObserver;if(t.next)try{t.next(e)}catch(e){j(e)}},e.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(e){j(e)}else j(e)},e.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(e){j(e)}},e}(),M=function(e){function t(t,n,r){var i,o,s=e.call(this)||this;return y(t)||!t?i={next:null!=t?t:void 0,error:null!=n?n:void 0,complete:null!=r?r:void 0}:s&&R?((o=Object.create(t)).unsubscribe=function(){return s.unsubscribe()},i={next:t.next&&H(t.next,o),error:t.error&&H(t.error,o),complete:t.complete&&H(t.complete,o)}):i=t,s.destination=new U(i),s}return s(t,e),t}(D);function j(e){S(e)}function F(e,t){var n=I;n&&T.setTimeout((function(){return n(e,t)}))}var B={closed:!0,next:A,error:function(e){throw e},complete:A},G="function"==typeof Symbol&&Symbol.observable||"@@observable";function Y(e){return e}function V(e){return 0===e.length?Y:1===e.length?e[0]:function(t){return e.reduce((function(e,t){return t(e)}),t)}}var W=function(){function e(e){e&&(this._subscribe=e)}return e.prototype.lift=function(t){var n=new e;return n.source=this,n.operator=t,n},e.prototype.subscribe=function(e,t,n){var r,i=this,o=(r=e)&&r instanceof D||function(e){return e&&y(e.next)&&y(e.error)&&y(e.complete)}(r)&&_(r)?e:new M(e,t,n);return P((function(){var e=i,t=e.operator,n=e.source;o.add(t?t.call(o,n):n?i._subscribe(o):i._trySubscribe(o))})),o},e.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.error(t)}},e.prototype.forEach=function(e,t){var n=this;return new(t=K(t))((function(t,r){var i=new M({next:function(t){try{e(t)}catch(e){r(e),i.unsubscribe()}},error:r,complete:t});n.subscribe(i)}))},e.prototype._subscribe=function(e){var t;return null===(t=this.source)||void 0===t?void 0:t.subscribe(e)},e.prototype[G]=function(){return this},e.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return V(e)(this)},e.prototype.toPromise=function(e){var t=this;return new(e=K(e))((function(e,n){var r;t.subscribe((function(e){return r=e}),(function(e){return n(e)}),(function(){return e(r)}))}))},e.create=function(t){return new e(t)},e}();function K(e){var t;return null!==(t=null!=e?e:O)&&void 0!==t?t:Promise}function q(e){return function(t){if(function(e){return y(null==e?void 0:e.lift)}(t))return t.lift((function(t){try{return e(t,this)}catch(e){this.error(e)}}));throw new TypeError("Unable to lift unknown Observable type")}}function z(e,t,n,r,i){return new $(e,t,n,r,i)}var $=function(e){function t(t,n,r,i,o,s){var a=e.call(this,t)||this;return a.onFinalize=o,a.shouldUnsubscribe=s,a._next=n?function(e){try{n(e)}catch(e){t.error(e)}}:e.prototype._next,a._error=i?function(e){try{i(e)}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._error,a._complete=r?function(){try{r()}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._complete,a}return s(t,e),t.prototype.unsubscribe=function(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var n=this.closed;e.prototype.unsubscribe.call(this),!n&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}},t}(D),J=m((function(e){return function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}})),X=function(e){function t(){var t=e.call(this)||this;return t.closed=!1,t.currentObservers=null,t.observers=[],t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return s(t,e),t.prototype.lift=function(e){var t=new Q(this,this);return t.operator=e,t},t.prototype._throwIfClosed=function(){if(this.closed)throw new J},t.prototype.next=function(e){var t=this;P((function(){var n,r;if(t._throwIfClosed(),!t.isStopped){t.currentObservers||(t.currentObservers=Array.from(t.observers));try{for(var i=u(t.currentObservers),o=i.next();!o.done;o=i.next())o.value.next(e)}catch(e){n={error:e}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}}}))},t.prototype.error=function(e){var t=this;P((function(){if(t._throwIfClosed(),!t.isStopped){t.hasError=t.isStopped=!0,t.thrownError=e;for(var n=t.observers;n.length;)n.shift().error(e)}}))},t.prototype.complete=function(){var e=this;P((function(){if(e._throwIfClosed(),!e.isStopped){e.isStopped=!0;for(var t=e.observers;t.length;)t.shift().complete()}}))},t.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(t.prototype,"observed",{get:function(){var e;return(null===(e=this.observers)||void 0===e?void 0:e.length)>0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(t){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,t)},t.prototype._subscribe=function(e){return this._throwIfClosed(),this._checkFinalizedStatuses(e),this._innerSubscribe(e)},t.prototype._innerSubscribe=function(e){var t=this,n=this,r=n.hasError,i=n.isStopped,o=n.observers;return r||i?C:(this.currentObservers=null,o.push(e),new E((function(){t.currentObservers=null,w(o,e)})))},t.prototype._checkFinalizedStatuses=function(e){var t=this,n=t.hasError,r=t.thrownError,i=t.isStopped;n?e.error(r):i&&e.complete()},t.prototype.asObservable=function(){var e=new W;return e.source=this,e},t.create=function(e,t){return new Q(e,t)},t}(W),Q=function(e){function t(t,n){var r=e.call(this)||this;return r.destination=t,r.source=n,r}return s(t,e),t.prototype.next=function(e){var t,n;null===(n=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===n||n.call(t,e)},t.prototype.error=function(e){var t,n;null===(n=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===n||n.call(t,e)},t.prototype.complete=function(){var e,t;null===(t=null===(e=this.destination)||void 0===e?void 0:e.complete)||void 0===t||t.call(e)},t.prototype._subscribe=function(e){var t,n;return null!==(n=null===(t=this.source)||void 0===t?void 0:t.subscribe(e))&&void 0!==n?n:C},t}(X),Z=function(e){function t(t){var n=e.call(this)||this;return n._value=t,n}return s(t,e),Object.defineProperty(t.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),t.prototype._subscribe=function(t){var n=e.prototype._subscribe.call(this,t);return!n.closed&&t.next(this._value),n},t.prototype.getValue=function(){var e=this,t=e.hasError,n=e.thrownError,r=e._value;if(t)throw n;return this._throwIfClosed(),r},t.prototype.next=function(t){e.prototype.next.call(this,this._value=t)},t}(X),ee={now:function(){return(ee.delegate||Date).now()},delegate:void 0},te=function(e){function t(t,n,r){void 0===t&&(t=1/0),void 0===n&&(n=1/0),void 0===r&&(r=ee);var i=e.call(this)||this;return i._bufferSize=t,i._windowTime=n,i._timestampProvider=r,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=n===1/0,i._bufferSize=Math.max(1,t),i._windowTime=Math.max(1,n),i}return s(t,e),t.prototype.next=function(t){var n=this,r=n.isStopped,i=n._buffer,o=n._infiniteTimeWindow,s=n._timestampProvider,a=n._windowTime;r||(i.push(t),!o&&i.push(s.now()+a)),this._trimBuffer(),e.prototype.next.call(this,t)},t.prototype._subscribe=function(e){this._throwIfClosed(),this._trimBuffer();for(var t=this._innerSubscribe(e),n=this._infiniteTimeWindow,r=this._buffer.slice(),i=0;i<r.length&&!e.closed;i+=n?1:2)e.next(r[i]);return this._checkFinalizedStatuses(e),t},t.prototype._trimBuffer=function(){var e=this,t=e._bufferSize,n=e._timestampProvider,r=e._buffer,i=e._infiniteTimeWindow,o=(i?1:2)*t;if(t<1/0&&o<r.length&&r.splice(0,r.length-o),!i){for(var s=n.now(),a=0,c=1;c<r.length&&r[c]<=s;c+=2)a=c;a&&r.splice(0,a+1)}},t}(X),ne=function(e){function t(t,n){return e.call(this)||this}return s(t,e),t.prototype.schedule=function(e,t){return this},t}(E),re={setInterval:function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];var i=re.delegate;return(null==i?void 0:i.setInterval)?i.setInterval.apply(i,f([e,t],l(n))):setInterval.apply(void 0,f([e,t],l(n)))},clearInterval:function(e){var t=re.delegate;return((null==t?void 0:t.clearInterval)||clearInterval)(e)},delegate:void 0},ie=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r.pending=!1,r}return s(t,e),t.prototype.schedule=function(e,t){var n;if(void 0===t&&(t=0),this.closed)return this;this.state=e;var r=this.id,i=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(i,r,t)),this.pending=!0,this.delay=t,this.id=null!==(n=this.id)&&void 0!==n?n:this.requestAsyncId(i,this.id,t),this},t.prototype.requestAsyncId=function(e,t,n){return void 0===n&&(n=0),re.setInterval(e.flush.bind(e,this),n)},t.prototype.recycleAsyncId=function(e,t,n){if(void 0===n&&(n=0),null!=n&&this.delay===n&&!1===this.pending)return t;null!=t&&re.clearInterval(t)},t.prototype.execute=function(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(e,t);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},t.prototype._execute=function(e,t){var n,r=!1;try{this.work(e)}catch(e){r=!0,n=e||new Error("Scheduled action threw falsy error")}if(r)return this.unsubscribe(),n},t.prototype.unsubscribe=function(){if(!this.closed){var t=this.id,n=this.scheduler,r=n.actions;this.work=this.state=this.scheduler=null,this.pending=!1,w(r,this),null!=t&&(this.id=this.recycleAsyncId(n,t,null)),this.delay=null,e.prototype.unsubscribe.call(this)}},t}(ne),oe=function(){function e(t,n){void 0===n&&(n=e.now),this.schedulerActionCtor=t,this.now=n}return e.prototype.schedule=function(e,t,n){return void 0===t&&(t=0),new this.schedulerActionCtor(this,e).schedule(n,t)},e.now=ee.now,e}(),se=new(function(e){function t(t,n){void 0===n&&(n=oe.now);var r=e.call(this,t,n)||this;return r.actions=[],r._active=!1,r}return s(t,e),t.prototype.flush=function(e){var t=this.actions;if(this._active)t.push(e);else{var n;this._active=!0;do{if(n=e.execute(e.state,e.delay))break}while(e=t.shift());if(this._active=!1,n){for(;e=t.shift();)e.unsubscribe();throw n}}},t}(oe))(ie),ae=se,ce=new W((function(e){return e.complete()}));function ue(e){return e&&y(e.schedule)}function le(e){return e[e.length-1]}function fe(e){return y(le(e))?e.pop():void 0}function he(e){return ue(le(e))?e.pop():void 0}function de(e,t){return"number"==typeof le(e)?e.pop():t}var pe=function(e){return e&&"number"==typeof e.length&&"function"!=typeof e};function ve(e){return y(null==e?void 0:e.then)}function ge(e){return y(e[G])}function ye(e){return Symbol.asyncIterator&&y(null==e?void 0:e[Symbol.asyncIterator])}function me(e){return new TypeError("You provided "+(null!==e&&"object"==typeof e?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}var be="function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator";function we(e){return y(null==e?void 0:e[be])}function Ee(e){return d(this,arguments,(function(){var t,n,r;return c(this,(function(i){switch(i.label){case 0:t=e.getReader(),i.label=1;case 1:i.trys.push([1,,9,10]),i.label=2;case 2:return[4,h(t.read())];case 3:return n=i.sent(),r=n.value,n.done?[4,h(void 0)]:[3,5];case 4:return[2,i.sent()];case 5:return[4,h(r)];case 6:return[4,i.sent()];case 7:return i.sent(),[3,2];case 8:return[3,10];case 9:return t.releaseLock(),[7];case 10:return[2]}}))}))}function Ce(e){return y(null==e?void 0:e.getReader)}function _e(e){if(e instanceof W)return e;if(null!=e){if(ge(e))return i=e,new W((function(e){var t=i[G]();if(y(t.subscribe))return t.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")}));if(pe(e))return r=e,new W((function(e){for(var t=0;t<r.length&&!e.closed;t++)e.next(r[t]);e.complete()}));if(ve(e))return n=e,new W((function(e){n.then((function(t){e.closed||(e.next(t),e.complete())}),(function(t){return e.error(t)})).then(null,S)}));if(ye(e))return ke(e);if(we(e))return t=e,new W((function(e){var n,r;try{for(var i=u(t),o=i.next();!o.done;o=i.next()){var s=o.value;if(e.next(s),e.closed)return}}catch(e){n={error:e}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}e.complete()}));if(Ce(e))return ke(Ee(e))}var t,n,r,i;throw me(e)}function ke(e){return new W((function(t){(function(e,t){var n,r,i,o;return a(this,void 0,void 0,(function(){var s,a;return c(this,(function(c){switch(c.label){case 0:c.trys.push([0,5,6,11]),n=p(e),c.label=1;case 1:return[4,n.next()];case 2:if((r=c.sent()).done)return[3,4];if(s=r.value,t.next(s),t.closed)return[2];c.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return a=c.sent(),i={error:a},[3,11];case 6:return c.trys.push([6,,9,10]),r&&!r.done&&(o=n.return)?[4,o.call(n)]:[3,8];case 7:c.sent(),c.label=8;case 8:return[3,10];case 9:if(i)throw i.error;return[7];case 10:return[7];case 11:return t.complete(),[2]}}))}))})(e,t).catch((function(e){return t.error(e)}))}))}function Ie(e,t,n,r,i){void 0===r&&(r=0),void 0===i&&(i=!1);var o=t.schedule((function(){n(),i?e.add(this.schedule(null,r)):this.unsubscribe()}),r);if(e.add(o),!i)return o}function Oe(e,t){return void 0===t&&(t=0),q((function(n,r){n.subscribe(z(r,(function(n){return Ie(r,e,(function(){return r.next(n)}),t)}),(function(){return Ie(r,e,(function(){return r.complete()}),t)}),(function(n){return Ie(r,e,(function(){return r.error(n)}),t)})))}))}function Re(e,t){return void 0===t&&(t=0),q((function(n,r){r.add(e.schedule((function(){return n.subscribe(r)}),t))}))}function Te(e,t){if(!e)throw new Error("Iterable cannot be null");return new W((function(n){Ie(n,t,(function(){var r=e[Symbol.asyncIterator]();Ie(n,t,(function(){r.next().then((function(e){e.done?n.complete():n.next(e.value)}))}),0,!0)}))}))}function Se(e,t){return t?function(e,t){if(null!=e){if(ge(e))return function(e,t){return _e(e).pipe(Re(t),Oe(t))}(e,t);if(pe(e))return function(e,t){return new W((function(n){var r=0;return t.schedule((function(){r===e.length?n.complete():(n.next(e[r++]),n.closed||this.schedule())}))}))}(e,t);if(ve(e))return function(e,t){return _e(e).pipe(Re(t),Oe(t))}(e,t);if(ye(e))return Te(e,t);if(we(e))return function(e,t){return new W((function(n){var r;return Ie(n,t,(function(){r=e[be](),Ie(n,t,(function(){var e,t,i;try{t=(e=r.next()).value,i=e.done}catch(e){return void n.error(e)}i?n.complete():n.next(t)}),0,!0)})),function(){return y(null==r?void 0:r.return)&&r.return()}}))}(e,t);if(Ce(e))return function(e,t){return Te(Ee(e),t)}(e,t)}throw me(e)}(e,t):_e(e)}function Ae(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=he(e);return Se(e,n)}function xe(e,t){var n=y(e)?e:function(){return e},r=function(e){return e.error(n())};return new W(t?function(e){return t.schedule(r,0,e)}:r)}var Ne=m((function(e){return function(){e(this),this.name="EmptyError",this.message="no elements in sequence"}}));function Pe(e,t){var n="object"==typeof t;return new Promise((function(r,i){var o,s=!1;e.subscribe({next:function(e){o=e,s=!0},error:i,complete:function(){s?r(o):n?r(t.defaultValue):i(new Ne)}})}))}function De(e,t){var n="object"==typeof t;return new Promise((function(r,i){var o=new M({next:function(e){r(e),o.unsubscribe()},error:i,complete:function(){n?r(t.defaultValue):i(new Ne)}});e.subscribe(o)}))}function Le(e){return e instanceof Date&&!isNaN(e)}var He=m((function(e){return function(t){void 0===t&&(t=null),e(this),this.message="Timeout has occurred",this.name="TimeoutError",this.info=t}}));function Ue(e,t){var n=Le(e)?{first:e}:"number"==typeof e?{each:e}:e,r=n.first,i=n.each,o=n.with,s=void 0===o?Me:o,a=n.scheduler,c=void 0===a?null!=t?t:se:a,u=n.meta,l=void 0===u?null:u;if(null==r&&null==i)throw new TypeError("No timeout provided.");return q((function(e,t){var n,o,a=null,u=0,f=function(e){o=Ie(t,c,(function(){try{n.unsubscribe(),_e(s({meta:l,lastValue:a,seen:u})).subscribe(t)}catch(e){t.error(e)}}),e)};n=e.subscribe(z(t,(function(e){null==o||o.unsubscribe(),u++,t.next(a=e),i>0&&f(i)}),void 0,void 0,(function(){(null==o?void 0:o.closed)||null==o||o.unsubscribe(),a=null}))),!u&&f(null!=r?"number"==typeof r?r:+r-c.now():i)}))}function Me(e){throw new He(e)}function je(e,t){return q((function(n,r){var i=0;n.subscribe(z(r,(function(n){r.next(e.call(t,n,i++))})))}))}function Fe(e,t,n){return void 0===n&&(n=1/0),y(t)?Fe((function(n,r){return je((function(e,i){return t(n,e,r,i)}))(_e(e(n,r)))}),n):("number"==typeof t&&(n=t),q((function(t,r){return function(e,t,n,r,i,o,s,a){var c=[],u=0,l=0,f=!1,h=function(){!f||c.length||u||t.complete()},d=function(e){return u<r?p(e):c.push(e)},p=function(e){u++;var i=!1;_e(n(e,l++)).subscribe(z(t,(function(e){t.next(e)}),(function(){i=!0}),void 0,(function(){if(i)try{u--;for(var e=function(){var e=c.shift();p(e)};c.length&&u<r;)e();h()}catch(e){t.error(e)}})))};return e.subscribe(z(t,d,(function(){f=!0,h()}))),function(){}}(t,r,e,n)})))}function Be(e){return void 0===e&&(e=1/0),Fe(Y,e)}function Ge(){return Be(1)}function Ye(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Ge()(Se(e,he(e)))}function Ve(e){return new W((function(t){_e(e()).subscribe(t)}))}function We(e,t,n){void 0===e&&(e=0),void 0===n&&(n=ae);var r=-1;return null!=t&&(ue(t)?n=t:r=t),new W((function(t){var i=Le(e)?+e-n.now():e;i<0&&(i=0);var o=0;return n.schedule((function(){t.closed||(t.next(o++),0<=r?this.schedule(void 0,r):t.complete())}),i)}))}function Ke(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=he(e),r=de(e,1/0),i=e;return i.length?1===i.length?_e(i[0]):Be(r)(Se(i,n)):ce}var qe,ze,$e,Je,Xe,Qe,Ze=new W(A),et=Array.isArray;function tt(e){return 1===e.length&&et(e[0])?e[0]:e}function nt(e,t){return function(n,r){return!e.call(t,n,r)}}function rt(e,t){return q((function(n,r){var i=0;n.subscribe(z(r,(function(n){return e.call(t,n,i++)&&r.next(n)})))}))}function it(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return 1===(e=tt(e)).length?_e(e[0]):new W(ot(e))}function ot(e){return function(t){for(var n=[],r=function(r){n.push(_e(e[r]).subscribe(z(t,(function(e){if(n){for(var i=0;i<n.length;i++)i!==r&&n[i].unsubscribe();n=null}t.next(e)}))))},i=0;n&&!t.closed&&i<e.length;i++)r(i)}}function st(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=fe(e),r=tt(e);return r.length?new W((function(e){var t=r.map((function(){return[]})),i=r.map((function(){return!1}));e.add((function(){t=i=null}));for(var o=function(o){_e(r[o]).subscribe(z(e,(function(r){if(t[o].push(r),t.every((function(e){return e.length}))){var s=t.map((function(e){return e.shift()}));e.next(n?n.apply(void 0,f([],l(s))):s),t.some((function(e,t){return!e.length&&i[t]}))&&e.complete()}}),(function(){i[o]=!0,!t[o].length&&e.complete()})))},s=0;!e.closed&&s<r.length;s++)o(s);return function(){t=i=null}})):ce}function at(e){return q((function(t,n){var r,i=null,o=!1;i=t.subscribe(z(n,void 0,void 0,(function(s){r=_e(e(s,at(e)(t))),i?(i.unsubscribe(),i=null,r.subscribe(n)):o=!0}))),o&&(i.unsubscribe(),i=null,r.subscribe(n))}))}function ct(e,t){return y(t)?Fe(e,t,1):Fe(e,1)}function ut(e){return q((function(t,n){var r=!1;t.subscribe(z(n,(function(e){r=!0,n.next(e)}),(function(){r||n.next(e),n.complete()})))}))}function lt(e){return e<=0?function(){return ce}:q((function(t,n){var r=0;t.subscribe(z(n,(function(t){++r<=e&&(n.next(t),e<=r&&n.complete())})))}))}function ft(e){return void 0===e&&(e=ht),q((function(t,n){var r=!1;t.subscribe(z(n,(function(e){r=!0,n.next(e)}),(function(){return r?n.complete():n.error(e())})))}))}function ht(){return new Ne}function dt(e,t){var n=arguments.length>=2;return function(r){return r.pipe(e?rt((function(t,n){return e(t,n,r)})):Y,lt(1),n?ut(t):ft((function(){return new Ne})))}}function pt(e){return e<=0?function(){return ce}:q((function(t,n){var r=[];t.subscribe(z(n,(function(t){r.push(t),e<r.length&&r.shift()}),(function(){var e,t;try{for(var i=u(r),o=i.next();!o.done;o=i.next()){var s=o.value;n.next(s)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(t=i.return)&&t.call(i)}finally{if(e)throw e.error}}n.complete()}),void 0,(function(){r=null})))}))}function vt(e){return q((function(t,n){var r,i,o=!1,s=function(){r=t.subscribe(z(n,void 0,void 0,(function(t){i||(i=new X,e(i).subscribe(z(n,(function(){return r?s():o=!0})))),i&&i.next(t)}))),o&&(r.unsubscribe(),r=null,o=!1,s())};s()}))}function gt(e){void 0===e&&(e={});var t=e.connector,n=void 0===t?function(){return new X}:t,r=e.resetOnError,i=void 0===r||r,o=e.resetOnComplete,s=void 0===o||o,a=e.resetOnRefCountZero,c=void 0===a||a;return function(e){var t,r,o,a=0,u=!1,l=!1,f=function(){null==r||r.unsubscribe(),r=void 0},h=function(){f(),t=o=void 0,u=l=!1},d=function(){var e=t;h(),null==e||e.unsubscribe()};return q((function(e,p){a++,l||u||f();var v=o=null!=o?o:n();p.add((function(){0!=--a||l||u||(r=yt(d,c))})),v.subscribe(p),!t&&a>0&&(t=new M({next:function(e){return v.next(e)},error:function(e){l=!0,f(),r=yt(h,i,e),v.error(e)},complete:function(){u=!0,f(),r=yt(h,s),v.complete()}}),_e(e).subscribe(t))}))(e)}}function yt(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];if(!0!==t){if(!1!==t){var i=new M({next:function(){i.unsubscribe(),e()}});return t.apply(void 0,f([],l(n))).subscribe(i)}}else e()}function mt(e,t,n){var r,i,o,s,a=!1;return e&&"object"==typeof e?(r=e.bufferSize,s=void 0===r?1/0:r,i=e.windowTime,t=void 0===i?1/0:i,a=void 0!==(o=e.refCount)&&o,n=e.scheduler):s=null!=e?e:1/0,gt({connector:function(){return new te(s,t,n)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:a})}function bt(e){return rt((function(t,n){return e<=n}))}function wt(e,t){return q((function(n,r){var i=null,o=0,s=!1,a=function(){return s&&!i&&r.complete()};n.subscribe(z(r,(function(n){null==i||i.unsubscribe();var s=0,c=o++;_e(e(n,c)).subscribe(i=z(r,(function(e){return r.next(t?t(n,e,c,s++):e)}),(function(){i=null,a()})))}),(function(){s=!0,a()})))}))}function Et(){return wt(Y)}function Ct(e){return q((function(t,n){_e(e).subscribe(z(n,(function(){return n.complete()}),A)),!n.closed&&t.subscribe(n)}))}function _t(e,t,n){var r=y(e)||t||n?{next:e,error:t,complete:n}:e;return r?q((function(e,t){var n;null===(n=r.subscribe)||void 0===n||n.call(r);var i=!0;e.subscribe(z(t,(function(e){var n;null===(n=r.next)||void 0===n||n.call(r,e),t.next(e)}),(function(){var e;i=!1,null===(e=r.complete)||void 0===e||e.call(r),t.complete()}),(function(e){var n;i=!1,null===(n=r.error)||void 0===n||n.call(r,e),t.error(e)}),(function(){var e,t;i&&(null===(e=r.unsubscribe)||void 0===e||e.call(r)),null===(t=r.finalize)||void 0===t||t.call(r)})))})):Y}class kt extends Error{constructor(e,t){super(e),this.type=t,this.type=t,Object.setPrototypeOf(this,new.target.prototype)}}function It(e,t,n=qe.ERROR,r=ze.JS_LIB){t?null==t||t.write({level:n,layer:r,message:e}):t||n!==qe.ERROR||console.error(e)}function Ot(e){return void 0!==e}!function(e){e.ERROR="error",e.WARNING="warning",e.INFO="info"}(qe||(qe={})),function(e){e.CHROME_EXTENSION="chrome-extension",e.NATIVE_CONSOLE="native-console",e.JS_LIB="js-lib"}(ze||(ze={})),function(e){e.SDK_USAGE_ERROR="sdk-usage-error",e.FEATURE_NOT_SUPPORTED="feature-not-supported",e.DEVICE_ERROR="device-error",e.UNEXPECTED_ERROR="unexpected-error",e.INIT_ERROR="init-error"}($e||($e={}));class Rt{constructor(e,t){this.compare=t,this.remove=new X,this.itemRemoved=this.remove,this.items=new Z([]),this.itemList=this.items,this.itemAdded=e.pipe(je(e=>(this.addItem(e),e)),gt()),this.itemAdded.subscribe({next:e=>{e.onDisconnect.pipe(dt(),je(()=>this.removeItem(e.id)),rt(Ot)).subscribe(e=>this.remove.next(e))},error:A}),this.itemRemoved.subscribe({error:A})}getValue(){return[...this.items.getValue()]}addItem(e){if(this.items.getValue().filter(t=>t.id.equals(e.id)).length>0)throw new kt("This item has already been added.",$e.UNEXPECTED_ERROR);const t=this.items.getValue().concat([e]);t.sort(this.compare),this.items.next(t)}removeItem(e){const t=this.getValue(),n=t.findIndex(t=>t.id.equals(e));if(-1===n)throw new kt("Item not found and therefore cannot be removed.",$e.UNEXPECTED_ERROR);const r=t.splice(n,1)[0];return this.items.next(t),r}}class Tt{constructor(t,n){this.sdkVersion=null!=="4.2.1"?"4.2.1":"0.0.1-local",this.consoleAppVersion=t.pipe(dt(e=>"ready"===e.event),je(e=>e.version),Ue(1e3),mt(1),at(()=>Ae(null))),this.chromeExtensionVersion=t.pipe(dt(e=>"chrome-extension-ready"===e.event),je(e=>e.version),Ue(1e3),mt(1),at(()=>Ae(null))),st(this.consoleAppVersion,this.chromeExtensionVersion).subscribe(t=>{const r=`sdkVersion: ${this.sdkVersion} | chromeHostVersion: ${t[0]}`;let i;i=void 0!==e?`${r} | nodeVersion: ${e.version} | platform: ${e.platform}`:`${r} | chromeExtensionVersion: ${t[1]} | browserUserAgent: ${window.navigator.userAgent}`,It(i,n,qe.INFO)})}}class St{constructor(e,t,n){this.deviceDetector=e,this.deviceAdded=this.deviceDetector.deviceObservables.itemAdded,this.deviceRemoved=this.deviceDetector.deviceObservables.itemRemoved,this.deviceList=this.deviceDetector.deviceObservables.itemList,Je.set(this,void 0),this._transport=t,this._readyEvents=t.consoleAppEvent.pipe(rt(e=>"ready"===e.event||"chrome-extension-ready"===e.event),mt(2)),this._readyEvents.subscribe(),this._config=n,this.transportContext=t.context,g(this,Je,new Tt(this._readyEvents,null==n?void 0:n.logger),"f")}getVersion(){return v(this,Je,"f").sdkVersion}getChromehostVersion(){return De(v(this,Je,"f").consoleAppVersion)}getChromeExtensionVersion(){return De(v(this,Je,"f").chromeExtensionVersion)}}Je=new WeakMap,function(e){e.NODE="node",e.CHROME_EXTENSION="chrome-extension",e.WEB_HID="web-hid"}(Xe||(Xe={})),function(e){e.CHROME_EXTENSION="chrome-extension",e.WEB_HID="web-hid",e.CHROME_EXTENSION_WITH_WEB_HID_FALLBACK="chrome-extension-with-web-hid-fallback"}(Qe||(Qe={}));const At="Failed to dynamically import file. Please contact a Jabra representative as we would love to learn about scenarios where this could happen!";function xt(e,t=Qe.CHROME_EXTENSION,r){return a(this,void 0,void 0,(function*(){if(t!==Qe.WEB_HID){const i=yield n.e(1).then(n.bind(null,19)).catch(()=>{throw new kt(At,$e.UNEXPECTED_ERROR)}),o=yield i.TransportChromeExtension.checkInstallation();if(o.ok)return It("Using Chrome extension for transport.",e,qe.INFO),new i.TransportChromeExtension(e,r);if(t===Qe.CHROME_EXTENSION)throw new kt(o.message,$e.INIT_ERROR);t===Qe.CHROME_EXTENSION_WITH_WEB_HID_FALLBACK&&It(o.message,e,qe.INFO)}return It("Using WebHID for transport.",e,qe.INFO),function(e,t){return a(this,void 0,void 0,(function*(){const r=yield n.e(2).then(n.bind(null,20)).catch(()=>{throw new kt(At,$e.UNEXPECTED_ERROR)}),i=yield n.e(3).then(n.bind(null,21)).catch(()=>{throw new kt(At,$e.UNEXPECTED_ERROR)}),o=r.initHandler(e);return new i.WebHidTransport(o,e,t)}))}(e,r)}))}class Nt{constructor(e,t){this.log=e.consoleAppEvent.pipe(rt(e=>"log"===e.event),je(e=>({message:e.message,level:e.level,layer:e.layer}))),this.log.subscribe(e=>It(e.message,t,e.level,e.layer))}}const Pt=[0,4129,8258,12387,16516,20645,24774,28903,33032,37161,41290,45419,49548,53677,57806,61935,4657,528,12915,8786,21173,17044,29431,25302,37689,33560,45947,41818,54205,50076,62463,58334,9314,13379,1056,5121,25830,29895,17572,21637,42346,46411,34088,38153,58862,62927,50604,54669,13907,9842,5649,1584,30423,26358,22165,18100,46939,42874,38681,34616,63455,59390,55197,51132,18628,22757,26758,30887,2112,6241,10242,14371,51660,55789,59790,63919,35144,39273,43274,47403,23285,19156,31415,27286,6769,2640,14899,10770,56317,52188,64447,60318,39801,35672,47931,43802,27814,31879,19684,23749,11298,15363,3168,7233,60846,64911,52716,56781,44330,48395,36200,40265,32407,28342,24277,20212,15891,11826,7761,3696,65439,61374,57309,53244,48923,44858,40793,36728,37256,33193,45514,41451,53516,49453,61774,57711,4224,161,12482,8419,20484,16421,28742,24679,33721,37784,41979,46042,49981,54044,58239,62302,689,4752,8947,13010,16949,21012,25207,29270,46570,42443,38312,34185,62830,58703,54572,50445,13538,9411,5280,1153,29798,25671,21540,17413,42971,47098,34713,38840,59231,63358,50973,55100,9939,14066,1681,5808,26199,30326,17941,22068,55628,51565,63758,59695,39368,35305,47498,43435,22596,18533,30726,26663,6336,2273,14466,10403,52093,56156,60223,64286,35833,39896,43963,48026,19061,23124,27191,31254,2801,6864,10931,14994,64814,60687,56684,52557,48554,44427,40424,36297,31782,27655,23652,19525,15522,11395,7392,3265,61215,65342,53085,57212,44955,49082,36825,40952,28183,32310,20053,24180,11923,16050,3793,7920];class Dt{constructor(e){this.config=e,this.messageShown=!1}validateOrganizationKey(){var e;(null===(e=this.config)||void 0===e?void 0:e.partnerKey)?this.validateCrc(this.config.partnerKey)||this.logWarning("Invalid partner key."):this.logWarning("No partner key provided.")}validateAppId(){var e;(null===(e=this.config)||void 0===e?void 0:e.appId)?this.config.appId.length<3?this.logWarning("The appId should be minimum 3 characters.",!1):this.config.appId.length>100?this.logWarning("The appId should be no longer than 100 characters.",!1):/^[A-Za-z0-9\-_]+$/.test(this.config.appId)||this.logWarning("The appId is invalid. Should consist of letters, numbers, underscores or dashes",!1):this.logWarning("No app identifier provided.")}validateAppName(){var e;(null===(e=this.config)||void 0===e?void 0:e.appName)?/^[\x20-\x7F]*$/.test(this.config.appName)?this.config.appName.length>100?this.logWarning("The app name should be no longer than 100 characters.",!1):/^[A-Za-z0-9]+[A-Za-z0-9 &-]*$/g.test(this.config.appName)||this.logWarning("The appName is invalid. Name should consist of letters, numbers, spaces, ampersands and dashes. Name should not begin with spaces, ampersands or dashes.",!1):this.logWarning("The app name can only contain ASCII characters",!1):this.logWarning("No app name provided. Will fallback to use appId as name.",!1)}logWarning(e,t=!0){this.messageShown||(this.messageShown=!0,t?console.warn(`\n ${e}\n \n Add keys to the config object on initialization.\n E.g. await init({\n partnerKey: 'my-partner-key-from-developer-zone',\n appId: 'my-self-chosen-app-id',\n appName: 'My App Name'\n });\n\n Please obtain a valid partner key from https://developer.jabra.com.\n The key will ensure interoperability with other Jabra apps and services, and mitigate\n some co-existence issues with other softphone applications.\n\n The package will continue to work without the keys, but we do not recommend production release\n without it. Read more on the Developer Zone.\n \n `):console.warn(e))}validateCrc(e){const[t,...n]=e.split("-"),r=function(e){let t,n,r=65535;for(n=0;n<e.length;n+=1){const i=e.charCodeAt(n);if(i>255)throw new RangeError;t=255&(i^r>>8),r=Pt[t]^r<<8}return 65535&(0^r)}(n.join("-")).toString(16).padStart(4,"0");return t===r}}var Lt,Ht,Ut,Mt,jt,Ft,Bt,Gt;!function(e){e[e.MS_OC=0]="MS_OC",e[e.CISCO=1]="CISCO",e[e.AVAYA=2]="AVAYA",e[e.SIEMENS=3]="SIEMENS",e[e.ALCATEL=4]="ALCATEL",e[e.IBM=5]="IBM",e[e.AASTRA=6]="AASTRA",e[e.SKYPE=7]="SKYPE",e[e.GENERIC=8]="GENERIC",e[e.NORTEL=9]="NORTEL",e[e.JABRA=10]="JABRA",e[e.NEC=11]="NEC",e[e.SHORETEL=12]="SHORETEL",e[e.OTHER=255]="OTHER"}(Lt||(Lt={}));class Yt{constructor(e,t){this.gnpReadCommand=e,this.serialize=t,this.command=e.command,this.subCommand=e.subCommand}deserialize(e){return this.gnpReadCommand.deserialize(e)}}!function(e){e[e.GN_PROTOCOL=65280]="GN_PROTOCOL"}(Ht||(Ht={})),function(e){e[e.DATA=1]="DATA"}(Ut||(Ut={}));class Vt{constructor(e,t,n,r,i,o=new Uint8Array,s=0){this.destination=e,this.source=t,this.type=n,this.command=r,this.subCommand=i,this.payload=o,this.sequenceNumber=s}}!function(e){e[e.PC_ADDR=0]="PC_ADDR",e[e.BASE_ADDR=1]="BASE_ADDR",e[e.HS1_ADDR=4]="HS1_ADDR",e[e.HS_BT_USB_ADDR=8]="HS_BT_USB_ADDR",e[e.HS_CRADLE_ADDR=10]="HS_CRADLE_ADDR",e[e.CRADLE_ADDR=21]="CRADLE_ADDR"}(Mt||(Mt={})),function(e){e[e.EVENT=0]="EVENT",e[e.READ=1]="READ",e[e.WRITE=2]="WRITE",e[e.REPLY=3]="REPLY"}(jt||(jt={})),function(e){e[e.IDENT=2]="IDENT",e[e.DFU=7]="DFU",e[e.DEVICE=13]="DEVICE",e[e.FWU=15]="FWU",e[e.STATUS=18]="STATUS",e[e.CONFIG=19]="CONFIG",e[e.NACK=254]="NACK",e[e.ACK=255]="ACK"}(Ft||(Ft={})),function(e){e[e.CONFIG_PREFERRED_SOFTPHONE=34]="CONFIG_PREFERRED_SOFTPHONE",e[e.ID=1]="ID",e[e.IDENT_GET_AVAILABLE_SOFTPHONES=16]="IDENT_GET_AVAILABLE_SOFTPHONES",e[e.TYPE=2]="TYPE",e[e.NAME=0]="NAME",e[e.PID=17]="PID",e[e.ATTACH_EVENT=1]="ATTACH_EVENT",e[e.DETACH_EVENT=2]="DETACH_EVENT"}(Bt||(Bt={})),function(e){e[e.NO_ERROR_CODE=0]="NO_ERROR_CODE",e[e.BAD_STATE=243]="BAD_STATE",e[e.TRANSMIT_FAILED=244]="TRANSMIT_FAILED",e[e.ILLEGAL_ADDR=245]="ILLEGAL_ADDR",e[e.UNKNOWN_CMD=246]="UNKNOWN_CMD",e[e.FILE_NOT_FOUND=247]="FILE_NOT_FOUND",e[e.INTERNAL_ERROR=248]="INTERNAL_ERROR",e[e.REPLY_ERROR=249]="REPLY_ERROR",e[e.ILLEGAL_PARAM=250]="ILLEGAL_PARAM",e[e.OUT_OF_SEQUENCE=251]="OUT_OF_SEQUENCE",e[e.NO_SPACE=252]="NO_SPACE",e[e.ACCESS_DENIED=253]="ACCESS_DENIED",e[e.NO_MORE_DATA=254]="NO_MORE_DATA",e[e.UNKNOWN_SUB_CMD=255]="UNKNOWN_SUB_CMD"}(Gt||(Gt={}));const Wt={command:Ft.DEVICE,subCommand:Bt.ATTACH_EVENT,serialize:e=>Uint8Array.from([5,0])};function Kt(e){const t=e.payload,n=t[0],r=t.length-1;if(r!==n)throw new kt(`Invalid response. Expected length: ${n}, actual: ${r}`,$e.DEVICE_ERROR);const i=t.slice(1);return String.fromCharCode(...Array.from(i))}class qt{constructor(){this.command=Ft.IDENT,this.subCommand=Bt.IDENT_GET_AVAILABLE_SOFTPHONES,this.deserialize=(e=>e,e=>{const t=e.payload,n=t[0],r=t.length-1;if(r!==n)throw new kt(`Invalid response. Expected length: ${n}, actual: ${r}`,$e.DEVICE_ERROR);const i=[];return t.slice(1).forEach(e=>{i.push(e)}),i})}}const zt={command:Ft.IDENT,subCommand:Bt.NAME,deserialize:Kt},$t={command:Ft.IDENT,subCommand:Bt.PID,deserialize:function(e){const t=e instanceof Vt?e.payload:e;return new DataView(t.buffer).getUint16(0,!0)}},Jt={command:Ft.CONFIG,subCommand:Bt.CONFIG_PREFERRED_SOFTPHONE,deserialize:e=>e.payload[0],serialize:e=>Uint8Array.of(e)},Xt={command:Ft.IDENT,subCommand:Bt.TYPE,deserialize:e=>e.source},Qt={command:Ft.IDENT,subCommand:Bt.ID,deserialize:Kt};function Zt(e,t,n){return e(n={path:t,exports:{},require:function(e,t){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==t&&n.path)}},n.exports),n.exports}"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==r||"undefined"!=typeof self&&self;var en,tn,nn=Zt((function(e){
2
2
  /*!
3
3
  ** Pure-UUID -- Pure JavaScript Based Universally Unique Identifier (UUID)
4
4
  ** Copyright (c) 2004-2020 Dr. Ralf S. Engelschall <rse@engelschall.com>
@@ -22,14 +22,14 @@
22
22
  ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
23
23
  ** SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24
24
  */
25
- e.exports=function(){var e=function(e,t,n,r,i,o){for(var s=function(e,t){var n=e.toString(16);return n.length<2&&(n="0"+n),t&&(n=n.toUpperCase()),n},a=t;a<=n;a++)i[o++]=s(e[a],r);return i},t=function(e,t,n,r,i){for(var o=t;o<=n;o+=2)r[i++]=parseInt(e.substr(o,2),16)},n="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-:+=^!/*?&<>()[]{}@%$#".split(""),r=[0,68,0,84,83,82,72,0,75,76,70,65,0,63,62,69,0,1,2,3,4,5,6,7,8,9,64,0,73,66,74,71,81,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,77,0,78,67,0,0,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,79,0,80,0,0],o=function(e,t){if(t%4!=0)throw new Error("z85_encode: invalid input length (multiple of 4 expected)");for(var r="",i=0,o=0;i<t;)if(o=256*o+e[i++],i%4==0){for(var s=52200625;s>=1;){var a=Math.floor(o/s)%85;r+=n[a],s/=85}o=0}return r},s=function(e,t){var n=e.length;if(n%5!=0)throw new Error("z85_decode: invalid input length (multiple of 5 expected)");void 0===t&&(t=new Array(4*n/5));for(var i=0,o=0,s=0;i<n;){var a=e.charCodeAt(i++)-32;if(a<0||a>=r.length)break;if(s=85*s+r[a],i%5==0){for(var c=16777216;c>=1;)t[o++]=Math.trunc(s/c%256),c/=256;s=0}}return t},a=function(e,t){var n={ibits:8,obits:8,obigendian:!0};for(var r in t)void 0!==n[r]&&(n[r]=t[r]);for(var i,o,s,a=[],c=0,u=0,l=0,h=e.length;0===u&&(o=e.charCodeAt(c++)),i=o>>n.ibits-(u+8)&255,u=(u+8)%n.ibits,n.obigendian?0===l?s=i<<n.obits-8:s|=i<<n.obits-8-l:0===l?s=i:s|=i<<l,!(0==(l=(l+8)%n.obits)&&(a.push(s),c>=h)););return a},c=function(e,t){var n={ibits:32,ibigendian:!0};for(var r in t)void 0!==n[r]&&(n[r]=t[r]);var i="",o=4294967295;n.ibits<32&&(o=(1<<n.ibits)-1);for(var s=e.length,a=0;a<s;a++)for(var c=e[a]&o,u=0;u<n.ibits;u+=8)n.ibigendian?i+=String.fromCharCode(c>>n.ibits-8-u&255):i+=String.fromCharCode(c>>u&255);return i},u=256,l=function(e,t,n,r,i,o,s,a){return[a,s,o,i,r,n,t,e]},h=function(){return l(0,0,0,0,0,0,0,0)},f=function(e){return e.slice(0)},d=function(e){for(var t=h(),n=0;n<8;n++)t[n]=Math.floor(e%u),e/=u;return t},p=function(e){for(var t=0,n=7;n>=0;n--)t*=u,t+=e[n];return Math.floor(t)},v=function(e,t){for(var n=0,r=0;r<8;r++)n+=e[r]+t[r],e[r]=Math.floor(n%u),n=Math.floor(n/u);return n},g=function(e,t){for(var n=0,r=0;r<8;r++)n+=e[r]*t,e[r]=Math.floor(n%u),n=Math.floor(n/u);return n},y=function(e,t){for(var n=0;n<8;n++)e[n]&=t[n];return e},m=function(e,t){var n=h();if(t%8!=0)throw new Error("ui64_rorn: only bit rotations supported with a multiple of digit bits");for(var r=Math.floor(t/8),i=0;i<r;i++){for(var o=6;o>=0;o--)n[o+1]=n[o];for(n[0]=e[0],o=0;o<7;o++)e[o]=e[o+1];e[o]=0}return p(n)},b=function(e,t){if(t>64)throw new Error("ui64_ror: invalid number of bits to shift");var n,r=new Array(16);for(n=0;n<8;n++)r[n+8]=e[n],r[n]=0;var i=Math.floor(t/8),o=t%8;for(n=i;n<15;n++)r[n-i]=255&(r[n]>>>o|r[n+1]<<8-o);for(r[15-i]=r[15]>>>o&255,n=15-i+1;n<16;n++)r[n]=0;for(n=0;n<8;n++)e[n]=r[n+8];return r.slice(0,8)},w=function(e,t){for(var n=0;n<8;n++)e[n]^=t[n]},E=function(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n},C=function(e,t){return e<<t&4294967295|e>>>32-t&4294967295},_=function(e){return c(function(e,t){function n(e,t,n,r){return e<20?t&n|~t&r:e<40?t^n^r:e<60?t&n|t&r|n&r:t^n^r}function r(e){return e<20?1518500249:e<40?1859775393:e<60?-1894007588:-899497514}e[t>>5]|=128<<24-t%32,e[15+(t+64>>9<<4)]=t;for(var i=Array(80),o=1732584193,s=-271733879,a=-1732584194,c=271733878,u=-1009589776,l=0;l<e.length;l+=16){for(var h=o,f=s,d=a,p=c,v=u,g=0;g<80;g++){i[g]=g<16?e[l+g]:C(i[g-3]^i[g-8]^i[g-14]^i[g-16],1);var y=E(E(C(o,5),n(g,s,a,c)),E(E(u,i[g]),r(g)));u=c,c=a,a=C(s,30),s=o,o=y}o=E(o,h),s=E(s,f),a=E(a,d),c=E(c,p),u=E(u,v)}return[o,s,a,c,u]}(a(e,{ibits:8,obits:32,obigendian:!0}),8*e.length),{ibits:32,ibigendian:!0})},I=function(e){return c(function(e,t){function n(e,t,n,r,i,o){return E(C(E(E(t,e),E(r,o)),i),n)}function r(e,t,r,i,o,s,a){return n(t&r|~t&i,e,t,o,s,a)}function i(e,t,r,i,o,s,a){return n(t&i|r&~i,e,t,o,s,a)}function o(e,t,r,i,o,s,a){return n(t^r^i,e,t,o,s,a)}function s(e,t,r,i,o,s,a){return n(r^(t|~i),e,t,o,s,a)}e[t>>5]|=128<<t%32,e[14+(t+64>>>9<<4)]=t;for(var a=1732584193,c=-271733879,u=-1732584194,l=271733878,h=0;h<e.length;h+=16){var f=a,d=c,p=u,v=l;a=r(a,c,u,l,e[h+0],7,-680876936),l=r(l,a,c,u,e[h+1],12,-389564586),u=r(u,l,a,c,e[h+2],17,606105819),c=r(c,u,l,a,e[h+3],22,-1044525330),a=r(a,c,u,l,e[h+4],7,-176418897),l=r(l,a,c,u,e[h+5],12,1200080426),u=r(u,l,a,c,e[h+6],17,-1473231341),c=r(c,u,l,a,e[h+7],22,-45705983),a=r(a,c,u,l,e[h+8],7,1770035416),l=r(l,a,c,u,e[h+9],12,-1958414417),u=r(u,l,a,c,e[h+10],17,-42063),c=r(c,u,l,a,e[h+11],22,-1990404162),a=r(a,c,u,l,e[h+12],7,1804603682),l=r(l,a,c,u,e[h+13],12,-40341101),u=r(u,l,a,c,e[h+14],17,-1502002290),a=i(a,c=r(c,u,l,a,e[h+15],22,1236535329),u,l,e[h+1],5,-165796510),l=i(l,a,c,u,e[h+6],9,-1069501632),u=i(u,l,a,c,e[h+11],14,643717713),c=i(c,u,l,a,e[h+0],20,-373897302),a=i(a,c,u,l,e[h+5],5,-701558691),l=i(l,a,c,u,e[h+10],9,38016083),u=i(u,l,a,c,e[h+15],14,-660478335),c=i(c,u,l,a,e[h+4],20,-405537848),a=i(a,c,u,l,e[h+9],5,568446438),l=i(l,a,c,u,e[h+14],9,-1019803690),u=i(u,l,a,c,e[h+3],14,-187363961),c=i(c,u,l,a,e[h+8],20,1163531501),a=i(a,c,u,l,e[h+13],5,-1444681467),l=i(l,a,c,u,e[h+2],9,-51403784),u=i(u,l,a,c,e[h+7],14,1735328473),a=o(a,c=i(c,u,l,a,e[h+12],20,-1926607734),u,l,e[h+5],4,-378558),l=o(l,a,c,u,e[h+8],11,-2022574463),u=o(u,l,a,c,e[h+11],16,1839030562),c=o(c,u,l,a,e[h+14],23,-35309556),a=o(a,c,u,l,e[h+1],4,-1530992060),l=o(l,a,c,u,e[h+4],11,1272893353),u=o(u,l,a,c,e[h+7],16,-155497632),c=o(c,u,l,a,e[h+10],23,-1094730640),a=o(a,c,u,l,e[h+13],4,681279174),l=o(l,a,c,u,e[h+0],11,-358537222),u=o(u,l,a,c,e[h+3],16,-722521979),c=o(c,u,l,a,e[h+6],23,76029189),a=o(a,c,u,l,e[h+9],4,-640364487),l=o(l,a,c,u,e[h+12],11,-421815835),u=o(u,l,a,c,e[h+15],16,530742520),a=s(a,c=o(c,u,l,a,e[h+2],23,-995338651),u,l,e[h+0],6,-198630844),l=s(l,a,c,u,e[h+7],10,1126891415),u=s(u,l,a,c,e[h+14],15,-1416354905),c=s(c,u,l,a,e[h+5],21,-57434055),a=s(a,c,u,l,e[h+12],6,1700485571),l=s(l,a,c,u,e[h+3],10,-1894986606),u=s(u,l,a,c,e[h+10],15,-1051523),c=s(c,u,l,a,e[h+1],21,-2054922799),a=s(a,c,u,l,e[h+8],6,1873313359),l=s(l,a,c,u,e[h+15],10,-30611744),u=s(u,l,a,c,e[h+6],15,-1560198380),c=s(c,u,l,a,e[h+13],21,1309151649),a=s(a,c,u,l,e[h+4],6,-145523070),l=s(l,a,c,u,e[h+11],10,-1120210379),u=s(u,l,a,c,e[h+2],15,718787259),c=s(c,u,l,a,e[h+9],21,-343485551),a=E(a,f),c=E(c,d),u=E(u,p),l=E(l,v)}return[a,c,u,l]}(a(e,{ibits:8,obits:32,obigendian:!1}),8*e.length),{ibits:32,ibigendian:!1})},O=function(e){this.mul=l(88,81,244,45,76,149,127,45),this.inc=l(20,5,123,126,247,103,129,79),this.mask=l(0,0,0,0,255,255,255,255),this.state=f(this.inc),this.next(),y(this.state,this.mask),e=d(void 0!==e?e>>>0:4294967295*Math.random()>>>0),function(e,t){for(var n=0;n<8;n++)e[n]|=t[n]}(this.state,e),this.next()};O.prototype.next=function(){var e=f(this.state);(function(e,t){var n,r,i,o=new Array(16);for(n=0;n<16;n++)o[n]=0;for(n=0;n<8;n++){for(i=0,r=0;r<8;r++)i+=e[n]*t[r]+o[n+r],o[n+r]=i%u,i/=u;for(;r<16-n;r++)i+=o[n+r],o[n+r]=i%u,i/=u}for(n=0;n<8;n++)e[n]=o[n];o.slice(8,8)})(this.state,this.mul),v(this.state,this.inc);var t=f(e);b(t,18),w(t,e),b(t,27);var n=f(e);b(n,59),y(t,this.mask);var r=p(n),i=f(t);return function(e,t){if(t>64)throw new Error("ui64_rol: invalid number of bits to shift");var n,r=new Array(16);for(n=0;n<8;n++)r[n+8]=0,r[n]=e[n];var i=Math.floor(t/8),o=t%8;for(n=7-i;n>0;n--)r[n+i]=255&(r[n]<<o|r[n-1]>>>8-o);for(r[0+i]=r[0]<<o&255,n=0+i-1;n>=0;n--)r[n]=0;for(n=0;n<8;n++)e[n]=r[n];r.slice(8,8)}(i,32-r),b(t,r),w(t,i),p(t)};var k=new O,R=function(e,t){for(var n=[],r=0;r<e;r++)n[r]=k.next()%t;return n},T=0,S=0,A=function(){if(1===arguments.length&&"string"==typeof arguments[0])this.parse.apply(this,arguments);else if(arguments.length>=1&&"number"==typeof arguments[0])this.make.apply(this,arguments);else{if(arguments.length>=1)throw new Error("UUID: constructor: invalid arguments");for(var e=0;e<16;e++)this[e]=0}};return(A.prototype="undefined"!=typeof Uint8Array?new Uint8Array(16):i?i.alloc(16):new Array(16)).constructor=A,A.prototype.make=function(e){var t,n=this;if(1===e){var r=(new Date).getTime();r!==T?S=0:S++,T=r;var i,o=d(r);g(o,1e4),v(o,l(1,178,29,210,19,129,64,0)),S>0&&v(o,d(S)),i=m(o,8),n[3]=255&i,i=m(o,8),n[2]=255&i,i=m(o,8),n[1]=255&i,i=m(o,8),n[0]=255&i,i=m(o,8),n[5]=255&i,i=m(o,8),n[4]=255&i,i=m(o,8),n[7]=255&i,i=m(o,8),n[6]=15&i;var s=R(2,255);n[8]=s[0],n[9]=s[1];var a=R(6,255);for(a[0]|=1,a[0]|=2,t=0;t<6;t++)n[10+t]=a[t]}else if(4===e){var c=R(16,255);for(t=0;t<16;t++)this[t]=c[t]}else{if(3!==e&&5!==e)throw new Error("UUID: make: invalid version");var u="",h="object"==typeof arguments[1]&&arguments[1]instanceof A?arguments[1]:(new A).parse(arguments[1]);for(t=0;t<16;t++)u+=String.fromCharCode(h[t]);u+=arguments[2];var f=3===e?I(u):_(u);for(t=0;t<16;t++)n[t]=f.charCodeAt(t)}return n[6]&=15,n[6]|=e<<4,n[8]&=63,n[8]|=128,n},A.prototype.format=function(t){var n,r;return"z85"===t?n=o(this,16):"b16"===t?(r=Array(32),e(this,0,15,!0,r,0),n=r.join("")):void 0!==t&&"std"!==t||(r=new Array(36),e(this,0,3,!1,r,0),r[8]="-",e(this,4,5,!1,r,9),r[13]="-",e(this,6,7,!1,r,14),r[18]="-",e(this,8,9,!1,r,19),r[23]="-",e(this,10,15,!1,r,24),n=r.join("")),n},A.prototype.toString=function(e){return this.format(e)},A.prototype.toJSON=function(){return this.format("std")},A.prototype.parse=function(e,n){if("string"!=typeof e)throw new Error("UUID: parse: invalid argument (type string expected)");if("z85"===n)s(e,this);else if("b16"===n)t(e,0,35,this,0);else if(void 0===n||"std"===n){var r={nil:"00000000-0000-0000-0000-000000000000","ns:DNS":"6ba7b810-9dad-11d1-80b4-00c04fd430c8","ns:URL":"6ba7b811-9dad-11d1-80b4-00c04fd430c8","ns:OID":"6ba7b812-9dad-11d1-80b4-00c04fd430c8","ns:X500":"6ba7b814-9dad-11d1-80b4-00c04fd430c8"};if(void 0!==r[e])e=r[e];else if(!e.match(/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/))throw new Error('UUID: parse: invalid string representation (expected "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")');t(e,0,7,this,0),t(e,9,12,this,4),t(e,14,17,this,6),t(e,19,22,this,8),t(e,24,35,this,10)}return this},A.prototype.export=function(){for(var e=Array(16),t=0;t<16;t++)e[t]=this[t];return e},A.prototype.import=function(e){if(!("object"==typeof e&&e instanceof Array))throw new Error("UUID: import: invalid argument (type Array expected)");if(16!==e.length)throw new Error("UUID: import: invalid argument (Array of length 16 expected)");for(var t=0;t<16;t++){if("number"!=typeof e[t])throw new Error("UUID: import: invalid array element #"+t+" (type Number expected)");if(!isFinite(e[t])||Math.floor(e[t])!==e[t])throw new Error("UUID: import: invalid array element #"+t+" (Number with integer value expected)");if(!(e[t]>=0&&e[t]<=255))throw new Error("UUID: import: invalid array element #"+t+" (Number with integer value in range 0...255 expected)");this[t]=e[t]}return this},A.prototype.compare=function(e){if("object"!=typeof e)throw new Error("UUID: compare: invalid argument (type UUID expected)");if(!(e instanceof A))throw new Error("UUID: compare: invalid argument (type UUID expected)");for(var t=0;t<16;t++){if(this[t]<e[t])return-1;if(this[t]>e[t])return 1}return 0},A.prototype.equal=function(e){return 0===this.compare(e)},A.prototype.fold=function(e){if(void 0===e)throw new Error("UUID: fold: invalid argument (number of fold operations expected)");if(e<1||e>4)throw new Error("UUID: fold: invalid argument (1-4 fold operations expected)");for(var t=16/Math.pow(2,e),n=new Array(t),r=0;r<t;r++){for(var i=0,o=0;r+o<16;o+=t)i^=this[r+o];n[r]=i}return n},A.PCG=O,A}(),e.exports.default=e.exports}));class rn{constructor(e){this.transport=e,this.gnpLockAcquired=e.consoleAppEvent.pipe(rt(e=>"response-gnp-lock"===e.event),je(e=>e.token),mt(1)),this.gnpLockAcquired.subscribe()}acquireGnpLock(e){const t=new nn(4).toString(),n={action:"request-gnp-lock",id:e,token:t},r=this.gnpLockAcquired.pipe(dt(e=>e===t));return this.transport.writeAction(n),r}releaseGnpLock(e,t){const n={action:"release-gnp-lock",id:e,token:t};this.transport.writeAction(n)}}!function(e){e[e.INPUT=0]="INPUT",e[e.OUTPUT=1]="OUTPUT",e[e.FEATURE=2]="FEATURE"}(en||(en={})),function(e){e.ABSOLUTE="absolute",e.RELATIVE="relative"}(tn||(tn={}));class on{constructor(e){this.id=e}equals(e){return this.id===e.id}startsWith(e){return this.id.startsWith(e.id)}toString(){return this.id}}function sn(e,t,n){const r=e.toString(16).padStart(4,"0"),i=t.toString(16).padStart(4,"0");return new on(`${r}:${i}:${n}`)}class an{constructor(e,t,n,r){this.id=e,this.usagePage=t,this.usage=n,this.value=r}isArray(){return Array.isArray(this.value)}static deserialize(e,t){return new an(new on(e),t.usagePage,t.usage,t.value)}}class cn{constructor(e,t,n){this.descriptor=t,this.transport=n,this.transportId=e.transportId,this.input=n.consoleAppEvent.pipe(rt(e=>e.id===this.transportId),cn.inputReportsFilter)}output(e,t,n){const r={action:"hid-output",id:this.transportId,usagePage:e,usage:t,value:n};this.transport.writeAction(r)}getFeatureReport(e,t){const n=new nn(4).toString(),r={action:"request-hid-feature",id:this.transportId,token:n,usagePage:e,usage:t};return this.transport.writeAction(r),this.transport.consoleAppEvent.pipe(dt(e=>"response-hid-feature"===e.event&&e.token===n),je(e=>e.value))}setFeatureReport(e,t,n){const r={action:"set-hid-feature",id:this.transportId,usagePage:e,usage:t,value:n};this.transport.writeAction(r)}findDescriptor(e,t,n){return this.descriptor.find(r=>r.usagePage===e&&r.usage===t&&r.reportType===n)}}cn.inputReportsFilter=e=>e.pipe(rt(e=>"hid-input"===e.event),je(e=>an.deserialize(e.id,e)));class un{static typeFromAttr(e){return e>>6}static packetLengthFromAttr(e){return e&this.lengthMask}static deserialize(e){const t=e[0],n=e[1],r=e[2],i=this.typeFromAttr(e[3]),o=e[4],s=e[5],a=this.packetLengthFromAttr(e[3]),c=e.slice(6,a);return new Vt(t,n,i,o,s,c,r)}}un.lengthMask=63;class ln{constructor(){this.data=[]}hasHeader(){return this.data.length>=ln.gnpPacketHeaderLength}expectedPacketLength(){if(!this.hasHeader())throw new It("Unable to get expected packet length without a full header",$e.UNEXPECTED_ERROR);return un.packetLengthFromAttr(this.data[3])}appendData(e){this.hasHeader()&&this.expectedPacketLength()>ln.gnpPacketMaxLength&&(this.data=[]),this.data=this.data.concat(e)}hasFullPacket(){if(!this.hasHeader())return!1;const e=this.expectedPacketLength();return this.data.length>=e}getPacketAndReset(){if(!this.hasFullPacket())throw new It("Trying to get packet but buffer is not complete",$e.UNEXPECTED_ERROR);const e=un.deserialize(Uint8Array.from(this.data));return this.data=[],e}}ln.gnpPacketHeaderLength=6,ln.gnpPacketMaxLength=63;const hn=()=>{};function fn(e){return _t(t=>e(),t=>e(),()=>hn)}const dn=()=>{return e=e=>e.command===Ft.NACK,t=e=>{const t=e.subCommand in Gt?Gt[e.subCommand]:e.subCommand;return new It("Got NACK response. Reason: "+t,$e.DEVICE_ERROR)},n=>n.pipe(je(n=>e(n)?Ne(t(n)):Ae(n)),Et());var e,t},pn=e=>dt(t=>t.type===jt.REPLY&&t.sequenceNumber===e.sequenceNumber&&t.destination===e.source&&t.source===e.destination);class vn{constructor(e,t,n,r,i=0){this.hidChannel=e,this.gnpLock=t,this.transportId=n,this.primaryAddress=r,this.lockQueue=[],this.packets=e.input.pipe(vn.inputFilter),this.events=this.packets.pipe(vn.eventsFilter),this.nextSequenceNumber=i}static get inputFilter(){return e=>{const t=e.pipe(rt(e=>e.usagePage===Ht.GN_PROTOCOL&&e.usage===Ut.DATA&&e.isArray())),n=new ln;return t.pipe(Fe(e=>{const t=e.value;return n.appendData(t),n.hasFullPacket()?Ae(n.getPacketAndReset()):Ze}),gt())}}static supportsGnpOverHid(e){return void 0!==e.findDescriptor(Ht.GN_PROTOCOL,Ut.DATA,en.OUTPUT)}getNextSequenceNumber(){const e=this.nextSequenceNumber;return this.nextSequenceNumber=(this.nextSequenceNumber+1)%255,e}doWithGnpLockHeld(e){this.lockQueue.push(e),this.lockQueue.length>1||this.processLockQueue()}processLockQueue(){this.gnpLock.acquireGnpLock(this.transportId).subscribe(e=>{(0,this.lockQueue[0])(e=>{var t;const n=null===(t=this.hidChannel.findDescriptor(Ht.GN_PROTOCOL,Ut.DATA,en.OUTPUT))||void 0===t?void 0:t.reportSize;if(!n)throw new It("Cannot send GNP packets to this device.",$e.DEVICE_ERROR);const r=class{static attrFromTypeAndPayloadLength(e,t){return(e<<6)+(t+6)}static serialize(e){const t=new Uint8Array(6);t[0]=e.destination,t[1]=e.source,t[2]=e.sequenceNumber,t[3]=this.attrFromTypeAndPayloadLength(e.type,e.payload.length),t[4]=e.command,t[5]=e.subCommand;const n=new Uint8Array(t.length+e.payload.length);return n.set(t),n.set(e.payload,t.length),n}}.serialize(e);let i=0;do{const e=Math.min(r.length-i,n),t=r.subarray(i,i+e);i+=t.length,this.hidChannel.output(Ht.GN_PROTOCOL,Ut.DATA,Array.from(t))}while(i<r.length)},this.packets,()=>{this.gnpLock.releaseGnpLock(this.transportId,e),this.lockQueue.splice(0,1),this.lockQueue.length>0&&this.processLockQueue()})})}sendEvent(e,t,n=this.primaryAddress){const r=new Vt(n,Mt.PC_ADDR,jt.EVENT,e.command,e.subCommand,e.serialize(t),0);this.doWithGnpLockHeld((e,t,n)=>{e(r),n()})}read(e,t=this.primaryAddress,n=2500){const r=new Yt(e,e=>new Uint8Array);return this.readWithParams(r,null,t,n)}readWithParams(e,t,n=this.primaryAddress,r=2500){const i=new Vt(n,Mt.PC_ADDR,jt.READ,e.command,e.subCommand,e.serialize(t),this.getNextSequenceNumber()),o=new X;return this.doWithGnpLockHeld((t,n,s)=>{n.pipe(pn(i),dn(),dt(e=>e.command===i.command&&e.subCommand===i.subCommand),Ue(r),fn(s),je(t=>e.deserialize(t))).subscribe(o),t(i)}),o}write(e,t,n=this.primaryAddress,r=2500){const i=new Vt(n,Mt.PC_ADDR,jt.WRITE,e.command,e.subCommand,e.serialize(t),this.getNextSequenceNumber()),o=new X;return this.doWithGnpLockHeld((e,t,n)=>{t.pipe(pn(i),dn(),dt(e=>e.command===Ft.ACK),Ue(r),fn(n),je(()=>!0)).subscribe(o),e(i)}),o}}vn.eventsFilter=e=>e.pipe(rt(e=>e.type===jt.EVENT));class gn{constructor(e,t){this.parentGnpChannel=e,this.primaryAddress=t,this.events=e.events.pipe(rt(e=>e.source===this.primaryAddress))}sendEvent(e,t,n){this.parentGnpChannel.sendEvent(e,t,this.primaryAddress)}read(e,t,n){return this.parentGnpChannel.read(e,this.primaryAddress,n)}readWithParams(e,t,n,r){return this.parentGnpChannel.readWithParams(e,t,this.primaryAddress,r)}write(e,t,n,r){return this.parentGnpChannel.write(e,t,this.primaryAddress,r)}}function yn(e,t,n,r){if(!vn.supportsGnpOverHid(e))return Ne(()=>new It("Device does not support GNP commands.",$e.DEVICE_ERROR));const i=Ae(Mt.HS_BT_USB_ADDR,Mt.BASE_ADDR,Mt.CRADLE_ADDR,Mt.HS1_ADDR,Mt.HS_CRADLE_ADDR).pipe(je((r,i)=>Ve(()=>{const o=new vn(e,new rn(t),n,r,i);return o.read(Xt,r,500).pipe(je(e=>o),at(()=>ce))})),Ge(),lt(1),ht(()=>new It("GNP probe failed.",$e.DEVICE_ERROR)));return it(r.pipe(Fe(e=>Ne(()=>new It("Device was suddenly disconnected.",$e.DEVICE_ERROR)))),i).pipe(gt())}function mn(e,t){return new gn(e,t)}class bn{constructor(){this.primaryAddress=Mt.BASE_ADDR,this.events=Ze}subscribeToEvent(e,t){return Ne(()=>new It("This device does not support GNP commands.",$e.FEATURE_NOT_SUPPORTED))}sendEvent(e,t,n){throw new It("This device does not support GNP commands.",$e.FEATURE_NOT_SUPPORTED)}read(e,t,n){return Ne(()=>new It("This device does not support GNP commands.",$e.FEATURE_NOT_SUPPORTED))}readWithParams(e,t,n,r){return Ne(()=>new It("This device does not support GNP commands.",$e.FEATURE_NOT_SUPPORTED))}write(e,t,n,r){return Ne(()=>new It("This device does not support GNP commands.",$e.FEATURE_NOT_SUPPORTED))}}class wn{constructor(e){this.transportId=e,this.isChild=!1}equals(e){return this.isChild===e.isChild&&this.transportId===e.transportId}toString(){return this.transportId}}class En{constructor(e,t){this.parentId=e,this.gnpAddress=t,this.isChild=!0,this.transportId=e.transportId}equals(e){if(this.isChild===e.isChild){const t=e;return this.parentId.equals(t.parentId)&&this.gnpAddress===t.gnpAddress}return!1}toString(){return`0x${e=this.gnpAddress,e.toString(16).padStart(2,"0").toUpperCase()}@${this.transportId}`;var e}}var Cn,_n,In;!function(e){e.NO_TRACKING="no-tracking",e.TRACK_ERRORS="track-errors",e.TRACK_USAGE="track-usage",e.TRACK_ALL="track-all"}(Cn||(Cn={})),function(e){e[e.BLUETOOTH=0]="BLUETOOTH",e[e.INDIRECT=1]="INDIRECT",e[e.USB=2]="USB"}(_n||(_n={})),function(e){e[e.BASE=0]="BASE",e[e.HEADSET=1]="HEADSET",e[e.DESKSTAND=2]="DESKSTAND",e[e.OTHER=3]="OTHER",e[e.DONGLE=4]="DONGLE",e[e.PC=5]="PC",e[e.EHS=6]="EHS",e[e.USB=7]="USB",e[e.SPEAKER_PHONE=8]="SPEAKER_PHONE",e[e.INDICATOR=9]="INDICATOR",e[e.MOBILE=10]="MOBILE",e[e.NONE=11]="NONE",e[e.LOCAL=12]="LOCAL",e[e.DISPLAY=13]="DISPLAY",e[e.HS_CRADLE=14]="HS_CRADLE",e[e.HS_CRADLE2=15]="HS_CRADLE2",e[e.MOBILE_IAP=16]="MOBILE_IAP",e[e.CRADLE=17]="CRADLE",e[e.VIDEO=18]="VIDEO",e[e.NOT_GN=252]="NOT_GN",e[e.ANY_GN=253]="ANY_GN",e[e.NOT_INIT=254]="NOT_INIT",e[e.ANY=255]="ANY"}(In||(In={}));class On{constructor(e,t,n,r,i,o,s,a,c,u,l){this.id=e,this.type=t,this.hidChannel=n,this.events=r,this.primaryAddress=i,this.sendEvent=o,this.read=s,this.readWithParams=a,this.write=c,this.onDisconnect=u,this.parentConnectionId=l,this.onDisconnect.subscribe({error:A})}static createConnection(e,t,n,r,i,o){const s=r.sendEvent.bind(r),a=r.read.bind(r),c=r.readWithParams.bind(r),u=r.write.bind(r);return new On(e,t,n,r.events,r.primaryAddress,s,a,c,u,i,o)}}const kn=(e=3,t=500)=>n=>n.pipe(Fe((n,r)=>{const i=r+1;return i>e?Ne(()=>n):We(i*i*t)}));function Rn(e,t,n,r=1e3,i=3,o=100){return Ve(()=>e.read(t,n,r)).pipe(vt(kn(i,o)))}function Tn(e,t,n){const{deviceType:r,address:i}=n;return{transportId:t.transportId,vid:t.vid,pid:Rn(e,$t,i),name:Rn(e,zt,i),serialNumber:Rn(e,Qt,i),capabilities:t.capabilities,deviceType:r,connectionGnpAddress:i}}class Sn{constructor(e,t,n=Tn,r=On.createConnection,i=mn){this.parentConnection=t,this.connectionCreator=r,this.createChildGnpChannel=i;const o=t.events.pipe(rt(e=>e.command===Ft.DEVICE&&e.subCommand===Bt.ATTACH_EVENT),je(e=>({deviceType:e.payload[0],address:e.payload[1]}))).pipe(je(n.bind(null,t,e)));this.connectionEvents=o.pipe(je(e=>{const n=it(t.events.pipe(dt(t=>t.command===Ft.DEVICE&&t.subCommand===Bt.DETACH_EVENT&&t.payload[1]===e.connectionGnpAddress),je(A)),t.onDisconnect);return{attach:e,detach:n}}),Fe(e=>st(Ae(e.attach),this.createConnection(e.attach,e.detach))),je(([e,t])=>({event:e,connection:t})),Ct(t.onDisconnect)),t.sendEvent(Wt,[])}createConnection(e,t){const n=e.connectionGnpAddress,r=this.createChildGnpChannel(this.parentConnection,n),i=new En(this.parentConnection.id,n);return Ae(this.connectionCreator(i,_n.INDIRECT,this.parentConnection.hidChannel,r,t,this.parentConnection.id))}}const An={command:Ft.IDENT,subCommand:Bt.TYPE,deserialize:e=>{const{payload:t}=e,n=t[0];if(n<1||n>=t.length)throw new It("Cannot get device type.",$e.DEVICE_ERROR);return t[1]}};function Nn(e,t,n,r=qe.ERROR,i=ze.JS_LIB){Ot(`${e} ${function(e){if(e instanceof It){const t=e;return`JabraError: ${t.message} (type: ${t.type})`}if(e instanceof Error){const t=e;return`Error: ${t.message} (name: ${t.name})`}return"Unknown error: "+e}(t)}`,n,r,i)}function Pn(e){return new Sn(e.event,e.connection).connectionEvents}class xn{constructor(e,t,n=((e,t,n)=>new cn(e,t,n)),r=yn,i=Pn,o=On.createConnection){this.transport=e,this.logger=t,this.createHidChannel=n,this.createRootGnpChannel=r,this.connectionCreator=o;const s=this.transport.consoleAppEvent.pipe(rt(e=>"attach"===e.event),je(xn.createAttachEvent),at((e,t)=>(Nn("",e,this.logger),t))).pipe(je(e=>{const t=this.transport.consoleAppEvent.pipe(rt(e=>"detach"===e.event),dt(t=>xn.getTransportId(t)===e.transportId),je(A),mt());return t.subscribe(),{attach:e,detach:t}}),Fe(e=>this.createConnection(e.attach,e.detach)),gt()),a=s.pipe(rt(e=>e.event.deviceType===In.DONGLE),rt(e=>vn.supportsGnpOverHid(e.connection.hidChannel)),Fe(e=>i(e)));this.connectionEvents=Ke(s,a).pipe(gt())}static convertToReportType(e){switch(e){case"input":return en.INPUT;case"output":return en.OUTPUT;case"feature":return en.FEATURE;default:throw new It(e+" is not a valid ReportType",$e.UNEXPECTED_ERROR)}}static convertToValueType(e){switch(e){case"absolute":return tn.ABSOLUTE;case"relative":return tn.RELATIVE;default:throw new It(e+" Not a valid ValueType",$e.UNEXPECTED_ERROR)}}static createDescriptor(e){return e.map(e=>({reportType:xn.convertToReportType(e.reportType),usagePage:e.usagePage,usage:e.usage,valueType:xn.convertToValueType(e.valueType),reportSize:e.reportSize}))}static getMandatoryField(e,t){const n=e[t];if(void 0===n)throw new It(`JSON event lacks required field "${t}: ${JSON.stringify(e)}`,$e.UNEXPECTED_ERROR);return n}static getTransportId(e){return xn.getMandatoryField(e,"id")}static createAttachEvent(e){return{transportId:xn.getTransportId(e),vid:xn.getMandatoryField(e,"vid"),pid:Ae(xn.getMandatoryField(e,"pid")),name:Ae(xn.getMandatoryField(e,"name")),serialNumber:Ae(xn.getMandatoryField(e,"serialNumber")),capabilities:xn.createDescriptor(xn.getMandatoryField(e,"descriptor"))}}createConnection(e,t,n=3,r=100){const{capabilities:i,transportId:o}=e,s=new wn(o),a=this.createHidChannel(s,i,this.transport),c=this.createRootGnpChannel(a,this.transport,o,t).pipe(at((e,t)=>(e.type&&e.type===$e.DEVICE_ERROR&&this.transport.context===Xe.WEB_HID&&Ot("Child devices are not yet supported when using WebHID.",this.logger,qe.WARNING,ze.JS_LIB),Ae(new bn))),gt()),u=c.pipe(Fe(e=>e.read(An)),vt(kn(n,r)),at(e=>Ae(In.ANY)));return st(c,u).pipe(Ct(t),je(([n,r])=>({event:Object.assign(Object.assign({},e),{deviceType:r,connectionGnpAddress:n.primaryAddress}),connection:this.connectionCreator(s,_n.USB,a,n,t)})))}}var Dn,Ln,Hn,Un,Mn;class jn{constructor(e,t,n,r,i,o){this.vendorId=e,this.productId=t,this.serialNumber=n,this.name=r,this.type=i,Ln.set(this,void 0),g(this,Ln,new Rt(o,v(jn,Dn,"m",Un)),"f"),this.connectionAdded=v(this,Ln,"f").itemAdded,this.connectionRemoved=v(this,Ln,"f").itemRemoved,this.connectionList=v(this,Ln,"f").itemList,this.onDisconnect=v(this,Ln,"f").itemList.pipe(bt(1),dt(e=>0===e.length),je(A),gt())}get id(){return sn(this.vendorId,this.productId,this.serialNumber)}get currentConnections(){return v(this,Ln,"f").getValue()}get browserLabel(){return`${this.vendorId.toString(16).padStart(4,"0")}:${this.productId.toString(16).padStart(4,"0")}`}}Dn=jn,Ln=new WeakMap,Un=function(e,t){return v(jn,Dn,"f",Hn).indexOf(e.type)-v(jn,Dn,"f",Hn).indexOf(t.type)},Hn={value:[_n.USB,_n.INDIRECT,_n.BLUETOOTH]};class Fn{constructor(e){this.deviceObservables=new Rt(e)}static exceptionToUndefined(e){try{return e()}catch(e){if(e instanceof It)return;throw e}}connectionExists(e){return void 0!==Fn.exceptionToUndefined(()=>this.findConnectionById(e))}findConnectionById(e){for(const t of this.deviceObservables.getValue())for(const n of t.currentConnections)if(n.id.equals(e))return n;throw new It("Could not find connection with id "+e.toString(),$e.UNEXPECTED_ERROR)}findDeviceByDeviceId(e){return this.deviceObservables.getValue().find(t=>t.id.startsWith(e)||e.startsWith(t.id))}}class Bn{constructor(e,t){this.logger=t;const[n,r]=(i=e.pipe(rt(e=>!this.deviceCollection.connectionExists(e.connection.id)),ct(e=>this.force(e))),[rt(o=({event:e,pid:t,serialNumber:n})=>!this.deviceCollection.findDeviceByDeviceId(sn(e.event.vid,t,n)),s)(_e(i)),rt(nt(o,s))(_e(i))]);var i,o,s;const a=n.pipe(je(e=>Bn.createDevice(e,r)));this.deviceCollection=new Fn(a),this.deviceObservables=this.deviceCollection.deviceObservables}force(e){const{name:t,pid:n,serialNumber:r}=e.event,i=e.connection.onDisconnect.pipe((o=Ne(()=>new Error(`Connection with ID ${e.connection.id} disconnected`)),y(s)?ct((function(){return o}),s):ct((function(){return o}))));var o,s;return st(t,n,r).pipe(je(([t,n,r])=>({event:e,name:t,pid:n,serialNumber:r})),function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return e.length?q((function(t,n){ot(h([t],l(e)))(n)})):Y}(i),at(e=>(Ot("Failed to retrieve child connection information. Error: "+e,this.logger,qe.WARNING,ze.JS_LIB),ce)))}static createDevice(e,t){const{event:n,pid:r,name:i,serialNumber:o}=e,{vid:s,deviceType:a}=n.event,c=t.pipe(rt(t=>Bn.isSameDevice(e,t)),je(e=>e.event.connection)),u=Ye(Ae(n.connection),c);return new jn(s,r,o,i,a,u)}static isSameDevice(e,t){const n=sn(e.event.event.vid,e.pid,e.serialNumber),r=sn(t.event.event.vid,t.pid,t.serialNumber);return n.startsWith(r)||r.startsWith(n)}static create(e,t){const n=new xn(e,t);return new Bn(n.connectionEvents)}}function Gn(e){var t,n,r;return a(this,void 0,void 0,(function*(){const i=null==e?void 0:e.logger;Ot("Jabra SDK JS starting up...",i,qe.INFO);const o=new Dt(e);o.validateOrganizationKey(),o.validateAppId(),o.validateAppName();const s=null!==(n=null===(t=null==e?void 0:e.internal)||void 0===t?void 0:t.testDeviceTransport)&&void 0!==n?n:yield Nt(i,null==e?void 0:e.transport,null===(r=null==e?void 0:e.internal)||void 0===r?void 0:r.recorder);new Pt(s,i);const a=Bn.create(s,i),c=new St(a,s,e);return yield s.connect(),c}))}class Yn{constructor(e,t,n,r){this.deviceId=e,this.usagePage=t,this.usage=n,this.value=r}}class Vn{constructor(e,t){this.token=e,this.value=t}}!function(e){e.UsageReport=class{constructor(e,t){this.usage=e,this.value=t}}}(Mn||(Mn={}));var Wn,Kn,qn,zn,$n,Jn,Xn,Qn,Zn,er,tr=Zt((function(e){!function(t){var n=function(e,t,n){if(!(e instanceof ArrayBuffer||void 0!==i&&e instanceof i))throw new Error("Must specify a valid ArrayBuffer or Buffer.");t=t||0,n=n||e.byteLength||e.length,this._view=new Uint8Array(e.buffer||e,t,n),this.bigEndian=!1};n._scratch=new DataView(new ArrayBuffer(8)),Object.defineProperty(n.prototype,"buffer",{get:function(){return void 0!==i?i.from(this._view.buffer):this._view.buffer},enumerable:!0,configurable:!1}),Object.defineProperty(n.prototype,"byteLength",{get:function(){return this._view.length},enumerable:!0,configurable:!1}),n.prototype._setBit=function(e,t){t?this._view[e>>3]|=1<<(7&e):this._view[e>>3]&=~(1<<(7&e))},n.prototype.getBits=function(e,t,n){var r=8*this._view.length-e;if(t>r)throw new Error("Cannot get "+t+" bit(s) from offset "+e+", "+r+" available");for(var i=0,o=0;o<t;){var s=t-o,a=7&e,c=this._view[e>>3],u=Math.min(s,8-a);this.bigEndian?(i<<=u,i|=c>>8-u-a&~(255<<u)):i|=(c>>a&~(255<<u))<<o,e+=u,o+=u}return n?(32!==t&&i&1<<t-1&&(i|=-1^(1<<t)-1),i):i>>>0},n.prototype.setBits=function(e,t,n){var r=8*this._view.length-e;if(n>r)throw new Error("Cannot set "+n+" bit(s) from offset "+e+", "+r+" available");for(var i=0;i<n;){var o,s,a,c=n-i,u=7&e,l=e>>3,h=Math.min(c,8-u);if(this.bigEndian){s=t>>n-i-h&(o=~(-1<<h));var f=8-u-h;a=~(o<<f),this._view[l]=this._view[l]&a|s<<f}else s=t&(o=~(255<<h)),t>>=h,a=~(o<<u),this._view[l]=this._view[l]&a|s<<u;e+=h,i+=h}},n.prototype.getBoolean=function(e){return 0!==this.getBits(e,1,!1)},n.prototype.getInt8=function(e){return this.getBits(e,8,!0)},n.prototype.getUint8=function(e){return this.getBits(e,8,!1)},n.prototype.getInt16=function(e){return this.getBits(e,16,!0)},n.prototype.getUint16=function(e){return this.getBits(e,16,!1)},n.prototype.getInt32=function(e){return this.getBits(e,32,!0)},n.prototype.getUint32=function(e){return this.getBits(e,32,!1)},n.prototype.getFloat32=function(e){return n._scratch.setUint32(0,this.getUint32(e)),n._scratch.getFloat32(0)},n.prototype.getFloat64=function(e){return n._scratch.setUint32(0,this.getUint32(e)),n._scratch.setUint32(4,this.getUint32(e+32)),n._scratch.getFloat64(0)},n.prototype.setBoolean=function(e,t){this.setBits(e,t?1:0,1)},n.prototype.setInt8=n.prototype.setUint8=function(e,t){this.setBits(e,t,8)},n.prototype.setInt16=n.prototype.setUint16=function(e,t){this.setBits(e,t,16)},n.prototype.setInt32=n.prototype.setUint32=function(e,t){this.setBits(e,t,32)},n.prototype.setFloat32=function(e,t){n._scratch.setFloat32(0,t),this.setBits(e,n._scratch.getUint32(0),32)},n.prototype.setFloat64=function(e,t){n._scratch.setFloat64(0,t),this.setBits(e,n._scratch.getUint32(0),32),this.setBits(e+32,n._scratch.getUint32(4),32)},n.prototype.getArrayBuffer=function(e,t){for(var n=new Uint8Array(t),r=0;r<t;r++)n[r]=this.getUint8(e+8*r);return n};var r=function(e,t){return function(){if(this._index+t>this._length)throw new Error("Trying to read past the end of the stream");var n=this._view[e](this._index);return this._index+=t,n}},o=function(e,t){return function(n){this._view[e](this._index,n),this._index+=t}};function s(e,t,n){if(0===t)return"";var r=0,i=[],o=!0,s=!!t;for(t||(t=Math.floor((e._length-e._index)/8));r<t;){var a=e.readUint8();if(0===a&&(o=!1,!s))break;o&&i.push(a),r++}var c=String.fromCharCode.apply(null,i);if(!n)return c;try{return decodeURIComponent(escape(c))}catch(e){return c}}var a=function(e,t,r){var o=e instanceof ArrayBuffer||void 0!==i&&e instanceof i;if(!(e instanceof n||o))throw new Error("Must specify a valid BitView, ArrayBuffer or Buffer");this._view=o?new n(e,t,r):e,this._index=0,this._startIndex=0,this._length=8*this._view.byteLength};Object.defineProperty(a.prototype,"index",{get:function(){return this._index-this._startIndex},set:function(e){this._index=e+this._startIndex},enumerable:!0,configurable:!0}),Object.defineProperty(a.prototype,"length",{get:function(){return this._length-this._startIndex},set:function(e){this._length=e+this._startIndex},enumerable:!0,configurable:!0}),Object.defineProperty(a.prototype,"bitsLeft",{get:function(){return this._length-this._index},enumerable:!0,configurable:!0}),Object.defineProperty(a.prototype,"byteIndex",{get:function(){return Math.ceil(this._index/8)},set:function(e){this._index=8*e},enumerable:!0,configurable:!0}),Object.defineProperty(a.prototype,"buffer",{get:function(){return this._view.buffer},enumerable:!0,configurable:!1}),Object.defineProperty(a.prototype,"view",{get:function(){return this._view},enumerable:!0,configurable:!1}),Object.defineProperty(a.prototype,"bigEndian",{get:function(){return this._view.bigEndian},set:function(e){this._view.bigEndian=e},enumerable:!0,configurable:!1}),a.prototype.readBits=function(e,t){var n=this._view.getBits(this._index,e,t);return this._index+=e,n},a.prototype.writeBits=function(e,t){this._view.setBits(this._index,e,t),this._index+=t},a.prototype.readBoolean=r("getBoolean",1),a.prototype.readInt8=r("getInt8",8),a.prototype.readUint8=r("getUint8",8),a.prototype.readInt16=r("getInt16",16),a.prototype.readUint16=r("getUint16",16),a.prototype.readInt32=r("getInt32",32),a.prototype.readUint32=r("getUint32",32),a.prototype.readFloat32=r("getFloat32",32),a.prototype.readFloat64=r("getFloat64",64),a.prototype.writeBoolean=o("setBoolean",1),a.prototype.writeInt8=o("setInt8",8),a.prototype.writeUint8=o("setUint8",8),a.prototype.writeInt16=o("setInt16",16),a.prototype.writeUint16=o("setUint16",16),a.prototype.writeInt32=o("setInt32",32),a.prototype.writeUint32=o("setUint32",32),a.prototype.writeFloat32=o("setFloat32",32),a.prototype.writeFloat64=o("setFloat64",64),a.prototype.readASCIIString=function(e){return function(e,t){return s(e,t,!1)}(this,e)},a.prototype.readUTF8String=function(e){return function(e,t){return s(e,t,!0)}(this,e)},a.prototype.writeASCIIString=function(e,t){!function(e,t,n){for(var r=n||t.length+1,i=0;i<r;i++)e.writeUint8(i<t.length?t.charCodeAt(i):0)}(this,e,t)},a.prototype.writeUTF8String=function(e,t){!function(e,t,n){for(var r=function(e){var t,n,r=[];for(t=0;t<e.length;t++)(n=e.charCodeAt(t))<=127?r.push(n):n<=2047?(r.push(n>>6|192),r.push(63&n|128)):n<=65535?(r.push(n>>12|224),r.push(n>>6&63|128),r.push(63&n|128)):(r.push(n>>18|240),r.push(n>>12&63|128),r.push(n>>6&63|128),r.push(63&n|128));return r}(t),i=n||r.length+1,o=0;o<i;o++)e.writeUint8(o<r.length?r[o]:0)}(this,e,t)},a.prototype.readBitStream=function(e){var t=new a(this._view);return t._startIndex=this._index,t._index=this._index,t.length=e,this._index+=e,t},a.prototype.writeBitStream=function(e,t){var n;for(t||(t=e.bitsLeft);t>0;)n=Math.min(t,32),this.writeBits(e.readBits(n),n),t-=n},a.prototype.readArrayBuffer=function(e){var t=this._view.getArrayBuffer(this._index,e);return this._index+=8*e,t},a.prototype.writeArrayBuffer=function(e,t){this.writeBitStream(new a(e),8*t)},e.exports&&(e.exports={BitView:n,BitStream:a})}()}));function nr(){return a(this,void 0,void 0,(function*(){const{hid:e}=window.navigator;if(!e)throw new It("WebHID not supported",$e.INIT_ERROR);const t=yield e.requestDevice({filters:[{vendorId:Wn.VENDOR_ID}]});return new BroadcastChannel(Wn.PAIRING_CHANNEL).postMessage(null),t}))}!function(e){e[e.VENDOR_ID=2830]="VENDOR_ID",e.PAIRING_CHANNEL="jabra-webhid-pairing-channel"}(Wn||(Wn={})),function(e){e[e.HOOK_SWITCH=32]="HOOK_SWITCH",e[e.GN_PSEUDO_HOOK_SWITCH=65531]="GN_PSEUDO_HOOK_SWITCH",e[e.FLASH=33]="FLASH",e[e.ALT_HOLD=35]="ALT_HOLD",e[e.REDIAL=36]="REDIAL",e[e.ONLINE=42]="ONLINE",e[e.SPEAKER_PHONE=43]="SPEAKER_PHONE",e[e.PHONE_MUTE=47]="PHONE_MUTE",e[e.SEND=49]="SEND",e[e.SPEED_DIAL=80]="SPEED_DIAL",e[e.VOICE_MAIL=112]="VOICE_MAIL",e[e.ANSWER_ON_OFF=116]="ANSWER_ON_OFF",e[e.LINE_BUSY=151]="LINE_BUSY",e[e.RINGER=158]="RINGER",e[e.PHONE_KEY_0=176]="PHONE_KEY_0",e[e.PHONE_KEY_1=177]="PHONE_KEY_1",e[e.PHONE_KEY_2=178]="PHONE_KEY_2",e[e.PHONE_KEY_3=179]="PHONE_KEY_3",e[e.PHONE_KEY_4=180]="PHONE_KEY_4",e[e.PHONE_KEY_5=181]="PHONE_KEY_5",e[e.PHONE_KEY_6=182]="PHONE_KEY_6",e[e.PHONE_KEY_7=183]="PHONE_KEY_7",e[e.PHONE_KEY_8=184]="PHONE_KEY_8",e[e.PHONE_KEY_9=185]="PHONE_KEY_9",e[e.PHONE_KEY_STAR=186]="PHONE_KEY_STAR",e[e.PHONE_KEY_POUND=187]="PHONE_KEY_POUND",e[e.ALT_VOLUME_UP=233]="ALT_VOLUME_UP",e[e.ALT_VOLUME_DOWN=234]="ALT_VOLUME_DOWN",e[e.REJECT_CALL=65533]="REJECT_CALL"}(Kn||(Kn={}));class rr{constructor(e,t,n){this.type=e,this.value=t,this.valueType=n}toString(){return void 0===Kn[this.type]?`Unknown signal: type: ${this.type}, value: ${this.value}, valueType: ${this.valueType}`:`Signal: type: ${Kn[this.type]}, value: ${this.value}, valueType: ${this.valueType}`}}!function(e){e[e.BUTTON=9]="BUTTON",e[e.CONSUMER=12]="CONSUMER",e[e.LED=8]="LED",e[e.TELEPHONY=11]="TELEPHONY",e[e.GN_CONSUMER=65312]="GN_CONSUMER",e[e.GN_EXT_BUTTONS=65360]="GN_EXT_BUTTONS",e[e.GN_LED=65344]="GN_LED",e[e.GN_MISC=65376]="GN_MISC",e[e.GN_TELEPHONY=65328]="GN_TELEPHONY"}(qn||(qn={})),function(e){e[e.MUTE=9]="MUTE",e[e.OFF_HOOK=23]="OFF_HOOK",e[e.RING=24]="RING",e[e.MESSAGE_WAIT=25]="MESSAGE_WAIT",e[e.HOLD=32]="HOLD",e[e.MIC_MUTE=33]="MIC_MUTE",e[e.ONLINE=42]="ONLINE",e[e.HID_OFFLINE=43]="HID_OFFLINE"}(zn||(zn={})),function(e){e[e.HOOK_SWITCH=32]="HOOK_SWITCH",e[e.FLASH=33]="FLASH",e[e.HOLD=35]="HOLD",e[e.REDIAL=36]="REDIAL",e[e.ONLINE=42]="ONLINE",e[e.SPEAKER_PHONE=43]="SPEAKER_PHONE",e[e.MUTE=47]="MUTE",e[e.HID_SEND=49]="HID_SEND",e[e.SPEED_DIAL=80]="SPEED_DIAL",e[e.VOICE_MAIL=112]="VOICE_MAIL",e[e.ANSWER_ON_OFF=116]="ANSWER_ON_OFF",e[e.LINE_BUSY=151]="LINE_BUSY",e[e.RINGER=158]="RINGER",e[e.PHONE_KEY_0=176]="PHONE_KEY_0",e[e.PHONE_KEY_1=177]="PHONE_KEY_1",e[e.PHONE_KEY_2=178]="PHONE_KEY_2",e[e.PHONE_KEY_3=179]="PHONE_KEY_3",e[e.PHONE_KEY_4=180]="PHONE_KEY_4",e[e.PHONE_KEY_5=181]="PHONE_KEY_5",e[e.PHONE_KEY_6=182]="PHONE_KEY_6",e[e.PHONE_KEY_7=183]="PHONE_KEY_7",e[e.PHONE_KEY_8=184]="PHONE_KEY_8",e[e.PHONE_KEY_9=185]="PHONE_KEY_9",e[e.PHONE_KEY_STAR=186]="PHONE_KEY_STAR",e[e.PHONE_KEY_POUND=187]="PHONE_KEY_POUND",e[e.HID_ALT_VOLUME_UP=233]="HID_ALT_VOLUME_UP",e[e.HID_ALT_VOLUME_DOWN=234]="HID_ALT_VOLUME_DOWN",e[e.GN_PSEUDO_HOOK_SWITCH=65531]="GN_PSEUDO_HOOK_SWITCH",e[e.GN_OUT_OF_RANGE=65532]="GN_OUT_OF_RANGE",e[e.GN_REJECT_CALL=65533]="GN_REJECT_CALL",e[e.GN_TELEPHONY_CONT_SET=65535]="GN_TELEPHONY_CONT_SET"}($n||($n={}));class ir{constructor(e,t,n,r,i){this.hidChannel=e,this.onDisconnect=t,this.isSoftphoneInFocus=n,this.lockHeld=r,this.logger=i,this.cachedSignals=new Map}setup(){const e=this.filter().pipe(gt());return e.subscribe(),e}filter(){const e=this.hidChannel.input.pipe(rt(e=>e.usagePage===qn.GN_TELEPHONY&&!e.isArray()),Fe(e=>{const t=this.hidChannel.findDescriptor(e.usagePage,e.usage,en.INPUT);return(null==t?void 0:t.valueType)?Ae(Object.assign(Object.assign({},e),{valueType:t.valueType})):(Nn("",new It(`Unable to find value-type in descriptor for UsagePage: ${e.usagePage} and Usage: ${e.usage}`,$e.FEATURE_NOT_SUPPORTED),this.logger),ce)}),rt(e=>e.valueType===tn.RELATIVE?Boolean(e.value):this.cachedSignals.get(e.usage)!==e.value),_t(e=>{this.cachedSignals.set(e.usage,e.value)}),Ct(this.onDisconnect),gt()),t=[Kn.HOOK_SWITCH,Kn.REDIAL],n=e.pipe(function(e){return t=>t.pipe(function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=he(e);return q((function(t,r){for(var i=e.length,o=new Array(i),s=e.map((function(){return!1})),a=!1,c=function(t){_e(e[t]).subscribe(z(r,(function(e){o[t]=e,a||s[t]||(s[t]=!0,(a=s.every(Y))&&(s=null))}),A))},u=0;u<i;u++)c(u);t.subscribe(z(r,(function(e){if(a){var t=h([e],l(o));r.next(n?n.apply(void 0,h([],l(t))):t)}})))}))}(e),rt(([e,t])=>t),je(([e,t])=>e))}(this.isSoftphoneInFocus),rt(e=>t.includes(e.usage)&&!this.lockHeld.getValue()));return Ke(e.pipe(rt(e=>this.lockHeld.getValue())),n).pipe(je(e=>new rr(e.usage,0!==e.value,e.valueType)),at(e=>(Ot(e.message,this.logger),ce)))}}class or{constructor(e,t,n,r,i,o){this.device=e,this.onDisconnect=n,Jn.set(this,void 0),Xn.set(this,new Z(!1)),Qn.set(this,void 0),Zn.set(this,!1),this.deviceSignals=new X,g(this,Jn,r,"f"),v(this,Jn,"f").lockHeld.subscribe(v(this,Xn,"f")),g(this,Qn,t,"f"),this.onDisconnect.pipe(dt(),je(()=>!0)).subscribe(e=>{g(this,Zn,e,"f")});const s=new ir(v(this,Qn,"f"),this.onDisconnect,i,v(this,Xn,"f"),o);this.deviceSignals=s.setup()}checkCallLockHeld(e){if(!v(this,Xn,"f").getValue())throw new It(e,$e.SDK_USAGE_ERROR)}checkCallLockNotHeld(e){if(v(this,Xn,"f").getValue())throw new It(e,$e.SDK_USAGE_ERROR)}checkHasDisconnected(){if(v(this,Zn,"f"))throw new It("CallControl cannot be performed as the connection has disconnected.",$e.SDK_USAGE_ERROR)}takeCallLock(){return this.checkHasDisconnected(),this.checkCallLockNotHeld("Trying to take the call lock, but it is already held!"),xe(v(this,Jn,"f").tryTakeCallLock())}releaseCallLock(){this.checkHasDisconnected(),this.checkCallLockHeld("Trying to release the call lock, but it is not held!"),v(this,Jn,"f").releaseCallLock()}offHook(e){this.checkHasDisconnected(),this.checkCallLockHeld("Calls can only be started and stopped when the call lock is held.");const t=v(this,Qn,"f").findDescriptor(qn.GN_LED,zn.OFF_HOOK,en.OUTPUT);if(!t)throw new It(`Device ${this.device.name} does not support any offHook functionality.`,$e.FEATURE_NOT_SUPPORTED);const n=e?1:0;v(this,Qn,"f").output(t.usagePage,t.usage,n)}ring(e){this.checkHasDisconnected(),this.checkCallLockHeld("The ringer state can only be modified when the call lock is held.");const t=v(this,Qn,"f").findDescriptor(qn.GN_LED,zn.RING,en.OUTPUT),n=v(this,Qn,"f").findDescriptor(qn.GN_TELEPHONY,$n.RINGER,en.OUTPUT);if(!t&&!n)throw new It(`Device ${this.device.name} does not support any ring functionality.`,$e.FEATURE_NOT_SUPPORTED);if(n){const t=e?1:0;v(this,Qn,"f").output(n.usagePage,n.usage,t)}if(t){const n=e?1:0;v(this,Qn,"f").output(t.usagePage,t.usage,n)}}mute(e){this.checkHasDisconnected(),this.checkCallLockHeld("The mute state can only be modified when the call lock is held.");let t=v(this,Qn,"f").findDescriptor(qn.GN_LED,zn.MIC_MUTE,en.OUTPUT);if(t||(t=v(this,Qn,"f").findDescriptor(qn.GN_LED,zn.MUTE,en.OUTPUT)),!t)throw new It(`Device ${this.device.name} does not support any mute functionality.`,$e.FEATURE_NOT_SUPPORTED);const n=e?1:0;v(this,Qn,"f").output(t.usagePage,t.usage,n)}hold(e){this.checkHasDisconnected(),this.checkCallLockHeld("The hold state can only be modified when the call lock is held.");const t=v(this,Qn,"f").findDescriptor(qn.GN_LED,zn.HOLD,en.OUTPUT);if(!t)throw new It(`Device ${this.device.name} does not support hold functionality.`,$e.FEATURE_NOT_SUPPORTED);const n=e?1:0;v(this,Qn,"f").output(t.usagePage,t.usage,n)}}Jn=new WeakMap,Xn=new WeakMap,Qn=new WeakMap,Zn=new WeakMap,function(e){e[e.STD_TELEPHONY=0]="STD_TELEPHONY",e[e.GN_TELEPHONY=1]="GN_TELEPHONY"}(er||(er={}));const sr={[Lt.SKYPE]:er.GN_TELEPHONY,[Lt.CISCO]:er.GN_TELEPHONY,[Lt.AVAYA]:er.GN_TELEPHONY,[Lt.SIEMENS]:er.GN_TELEPHONY,[Lt.IBM]:er.GN_TELEPHONY,[Lt.AASTRA]:er.GN_TELEPHONY,[Lt.JABRA]:er.GN_TELEPHONY,[Lt.NEC]:er.GN_TELEPHONY,[Lt.SHORETEL]:er.GN_TELEPHONY,[Lt.MS_OC]:er.STD_TELEPHONY,[Lt.ALCATEL]:er.STD_TELEPHONY,[Lt.OTHER]:er.STD_TELEPHONY,[Lt.NORTEL]:null,[Lt.GENERIC]:null};class ar{constructor(e,t,n){this.connectionCallLock=e,this.device=t,this.logger=n,this.lockHeld=new Z(!1),this.currentLocks=new Z(new Set),this.lockReleaseEvent=new X}tryTakeCallLock(){const{currentConnections:e}=this.device,t=new Set,n=Ve(()=>Se(e).pipe(ct(e=>this.takeSingleCallLock(e).pipe(at(e=>(Nn("DeviceCallLock:",e,this.logger),Ae(""))))),_t(e=>t.add(e)))).pipe(function(e,t){var n=arguments.length>=2;return function(r){return r.pipe(e?rt((function(t,n){return e(t,n,r)})):Y,pt(1),n?ut(t):ht((function(){return new Pe})))}}(),je(n=>(t.delete(""),this.currentLocks.next(t),t.size!==e.length?(this.releaseCallLock(),!1):(this.lockHeld.next(!0),!0))),mt());return n.subscribe(e=>{e&&(this.acquireLockOnNextConnectionEmit(),this.releaseLockOnRemovedConnectionEmit())}),n}acquireLockOnNextConnectionEmit(){this.device.connectionAdded.pipe(Ct(this.lockReleaseEvent)).subscribe(e=>{this.takeSingleCallLock(e).pipe(Ct(this.lockReleaseEvent),je(e=>(this.currentLocks.getValue().add(e),this.currentLocks.next(this.currentLocks.getValue()),A)),vt(kn())).subscribe({error:e=>{Ot("Failed to acquire the call lock on a new connection.\n Another softphone running an old SDK has most likely acquired this lock.\n Full error: "+e,this.logger,qe.WARNING,ze.JS_LIB)}})})}releaseLockOnRemovedConnectionEmit(){this.device.connectionRemoved.pipe(Ct(this.lockReleaseEvent)).subscribe(e=>this.releaseSingleCallLock(e.id.transportId))}takeSingleCallLock(e){return Ve(()=>this.connectionCallLock.tryTakeCallLock(e.id.transportId)).pipe(je(t=>t.acquired?Ae(t.transportId):Ne(()=>new It("Failed to acquire call lock on connection "+e.id.transportId,$e.SDK_USAGE_ERROR))),Et())}releaseCallLock(){this.lockReleaseEvent.next(),[...this.currentLocks.getValue()].forEach(e=>{this.releaseSingleCallLock(e)}),this.currentLocks.getValue().clear(),this.currentLocks.next(this.currentLocks.getValue())}releaseSingleCallLock(e){this.connectionCallLock.releaseCallLock(e),this.currentLocks.getValue().delete(e),this.currentLocks.next(this.currentLocks.getValue()),0!==this.currentLocks.getValue().size&&0!==this.device.currentConnections.length||(this.lockReleaseEvent.next(),this.lockHeld.next(!1))}}class cr{constructor(e){this.transport=e}tryTakeCallLock(e){const t={action:"request-call-lock",id:e};return this.transport.writeAction(t),this.transport.consoleAppEvent.pipe(rt(t=>"response-call-lock"===t.event&&t.id===e),je(e=>({transportId:e.id,acquired:e.acquired})),dt())}releaseCallLock(e){const t={action:"release-call-lock",id:e};this.transport.writeAction(t)}}const ur=[{usagePage:qn.GN_LED,usage:zn.OFF_HOOK,reportType:en.OUTPUT},{usagePage:qn.GN_LED,usage:zn.RING,reportType:en.OUTPUT},{usagePage:qn.GN_TELEPHONY,usage:$n.RINGER,reportType:en.OUTPUT},{usagePage:qn.GN_LED,usage:zn.MIC_MUTE,reportType:en.OUTPUT},{usagePage:qn.GN_LED,usage:zn.MUTE,reportType:en.OUTPUT},{usagePage:qn.GN_LED,usage:zn.HOLD,reportType:en.OUTPUT}],lr=[_n.USB,_n.INDIRECT,_n.BLUETOOTH];function hr(e){const{currentConnections:t,type:n}=e;var r;return(r=t,[...r].sort((e,t)=>lr.indexOf(e.type)-lr.indexOf(t.type))).find(e=>function(e,t){const{hidChannel:n}=e;return!!function(e){return ur.some(({usagePage:t,usage:n,reportType:r})=>e.findDescriptor(t,n,r))}(n)&&(!vn.supportsGnpOverHid(n)||t!==In.DONGLE&&t!==In.OTHER)}(e,n))}function fr(e,t,n,r,i){const o=hr(e),{hidChannel:s,onDisconnect:a}=o,c=new ar(new cr(r),e,i);return t||r.context===Xe.WEB_HID?Ae(new or(e,s,a,c,n.softphoneInFocus,i)):function(e,t){return e.findDescriptor(qn.GN_TELEPHONY,$n.GN_TELEPHONY_CONT_SET,en.FEATURE)?Ve(()=>(e.setFeatureReport(qn.GN_TELEPHONY,$n.GN_TELEPHONY_CONT_SET,1),Ae(!0))):t?function(e,t){const n=e.read(Jt).pipe(je(e=>sr[e]===t)),r=e.read(new qt).pipe(je(e=>e.find(e=>sr[e]===t))).pipe(je(t=>t?e.write(Jt,t):Ae(!1)),Et());return n.pipe((i=Ae(!0),o=r,e=>e.pipe(je(e=>e?i:o),Et())));var i,o}(t,er.GN_TELEPHONY):Ae(!1)}(s,o).pipe(je(t=>new or(e,s,a,c,n.softphoneInFocus,i)))}class dr{constructor(e,t){this.devComm=e,this.softphoneInFocus=new W,this.softphoneInFocus=t.pipe(dt(),Fe(e=>this.devComm.consoleAppEvent.pipe(rt(e=>"softphone-in-focus"===e.event),je(e=>e.infocus),function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=fe(e);return q((function(t,r){(n?Ye(e,t,n):Ye(e,t)).subscribe(r)}))}(!e),mt(1)))),this.softphoneInFocus.subscribe(()=>{})}setSharedSoftphoneInfo(e){if(!(null==e?void 0:e.partnerKey)||!(null==e?void 0:e.appId))return void Ot("Unable to register with Jabra Direct: partnerKey or appId missing in config",null==e?void 0:e.logger,qe.WARNING);const t=e.partnerKey+e.appId,n=new nn(5,"ns:OID",t);let{appName:r}=e;if((!e.appName||e.appName.length<3)&&(Ot("App name missing in config. Fall back to use appId as app name.",null==e?void 0:e.logger,qe.WARNING),r=e.appId),r.length>100)return void Ot("Unable to register with Jabra Direct: appName must be below 100 characters.",null==e?void 0:e.logger,qe.WARNING);const i={action:"set-softphone-info",name:r,id:n.toString()};this.devComm.writeAction(i)}}var pr,vr,gr,yr,mr,br,wr,Er;class Cr{constructor(e){var t;pr.set(this,void 0),vr.set(this,void 0),gr.set(this,void 0),yr.set(this,void 0),g(this,yr,e._readyEvents.pipe(dt(e=>"ready"===e.event),je(e=>e.jabraDirectInstalled)),"f"),g(this,vr,new dr(e._transport,v(this,yr,"f")),"f"),v(this,vr,"f").setSharedSoftphoneInfo(e._config),g(this,pr,e._transport,"f"),g(this,gr,null===(t=e._config)||void 0===t?void 0:t.logger,"f")}createCallControl(e){return this.supportsCallControl(e)?De(v(this,yr,"f").pipe(Fe(t=>fr(e,t,v(this,vr,"f"),v(this,pr,"f"),v(this,gr,"f"))))):Promise.reject(new It(`Device ${e.name} does not support call control.`,$e.FEATURE_NOT_SUPPORTED))}supportsCallControl(e){return void 0!==hr(e)}}pr=new WeakMap,vr=new WeakMap,gr=new WeakMap,yr=new WeakMap,function(e){e.HOLD_CURRENT="hold-current",e.END_CURRENT="end-current"}(mr||(mr={})),function(e){e.MUTED="muted",e.UNMUTED="unmuted",e.NO_ONGOING_CALLS="no-ongoing-calls"}(br||(br={})),function(e){e.ON_HOLD="on-hold",e.NOT_ON_HOLD="not-on-hold",e.NO_ONGOING_CALLS="no-ongoing-calls"}(wr||(wr={})),function(e){e.NO_INCOMING="no-incoming",e.AWAITING_RESPONSE="awaiting-response",e.RESOLVING_RESPONSE="resolving-response",e.ACCEPTED="accepted",e.REJECTED="rejected"}(Er||(Er={}));new WeakMap;new WeakMap;br.NO_ONGOING_CALLS,wr.NO_ONGOING_CALLS,Er.NO_INCOMING;new WeakMap,new WeakMap;new WeakMap,new WeakMap}).call(this,n(13),n(5),n(14).Buffer)},function(e,t,n){"use strict";var r;n.d(t,"a",(function(){return r})),function(e){e.implementationChanged="implementationChanged",e.deviceHoldStatusChanged="deviceHoldStatusChanged",e.deviceMuteStatusChanged="deviceMuteStatusChanged",e.deviceAnsweredCall="deviceAnsweredCall",e.deviceEndedCall="deviceEndedCall",e.deviceRejectedCall="deviceRejectedCall",e.loggableEvent="loggableEvent",e.webHidPermissionRequested="webHidPermissionRequested",e.deviceConnectionStatusChanged="deviceConnectionStatusChanged",e.deviceEventLogs="deviceEventLogs"}(r||(r={}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return p}));var r=n(4);function i(e){return(i="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 o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){d(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function a(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function c(e,t){return(c=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function u(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=f(e);if(t){var i=f(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return l(this,n)}}function l(e,t){if(t&&("object"===i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return h(e)}function h(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function f(e){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function d(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var p=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&c(e,t)}(l,e);var t,n,i,o=u(l);function l(e){var t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,l),d(h(t=o.call(this)),"vendorName","Not Specified"),d(h(t),"isConnecting",!1),d(h(t),"isConnected",!1),d(h(t),"isMuted",!1),d(h(t),"errorCode",null),d(h(t),"disableRetry",!1),d(h(t),"logger",void 0),d(h(t),"config",void 0);var n=new r.EventEmitter;return Object.keys(n.__proto__).forEach((function(e){t[e]=n[e]})),t.config=e,t.vendorName=e.vendorName,t.logger=e.logger,t}return t=l,(n=[{key:"isDeviceAttached",get:function(){throw new Error("".concat(this.vendorName," - isDeviceAttatched getter not implemented"))}},{key:"isSupported",value:function(){return!0}},{key:"deviceLabelMatchesVendor",value:function(e){throw new Error("".concat(this.vendorName," - deviceLabelMatchesVendor() not implemented"))}},{key:"connect",value:function(e){return Promise.reject(new Error("".concat(this.vendorName," - connect() not implemented")))}},{key:"disconnect",value:function(){return Promise.reject(new Error("".concat(this.vendorName," - disconnect() not implemented")))}},{key:"incomingCall",value:function(e,t){return Promise.reject(new Error("".concat(this.vendorName," - incomingCall() not implemented")))}},{key:"outgoingCall",value:function(e){return Promise.reject(new Error("".concat(this.vendorName," - outgoingCall() not implemented")))}},{key:"answerCall",value:function(e,t){return Promise.reject(new Error("".concat(this.vendorName," - answerCall() not implemented")))}},{key:"rejectCall",value:function(e){return Promise.reject(new Error("".concat(this.vendorName," - rejectCall() not implemented")))}},{key:"endCall",value:function(e,t){return Promise.reject(new Error("".concat(this.vendorName," - endCall() not implemented")))}},{key:"endAllCalls",value:function(){return Promise.reject(new Error("".concat(this.vendorName," - endAllCalls() not implemented")))}},{key:"setMute",value:function(e){return Promise.reject(new Error("".concat(this.vendorName," - setMute() not implemented")))}},{key:"setHold",value:function(e,t){return Promise.reject(new Error("".concat(this.vendorName," - setHold() not implemented")))}},{key:"resetHeadsetStateForCall",value:function(e){return this.rejectCall(e)}},{key:"emitEvent",value:function(e,t){this.emit(e,{vendor:this,body:s({},t)})}},{key:"requestWebHidPermissions",value:function(e){this.logger.debug("Emitting premission request event"),this.emitEvent("webHidPermissionRequested",{callback:e})}},{key:"deviceAnsweredCall",value:function(e){this.emitEvent("deviceAnsweredCall",e)}},{key:"deviceRejectedCall",value:function(e){this.emitEvent("deviceRejectedCall",e)}},{key:"deviceEndedCall",value:function(e){this.emitEvent("deviceEndedCall",e)}},{key:"deviceMuteChanged",value:function(e){this.emitEvent("deviceMuteStatusChanged",s({},e))}},{key:"deviceHoldStatusChanged",value:function(e){this.emitEvent("deviceHoldStatusChanged",s({},e))}},{key:"deviceEventLogs",value:function(e){this.emitEvent("deviceEventLogs",e)}},{key:"changeConnectionStatus",value:function(e){this.isConnected=e.isConnected,this.isConnecting=e.isConnecting,this.emitEvent("deviceConnectionStatusChanged",s({currentVendor:this},e))}}])&&a(t.prototype,n),i&&a(t,i),Object.defineProperty(t,"prototype",{writable:!1}),l}(r.EventEmitter)},function(e,t,n){e.exports=function(){"use strict";var e="undefined"==typeof window,t=!1,n=!1,r=!1,i=!1,o=!1,s=!1,a=!1,c=!1,u=!1,l=!1;return e||(t="undefined"!=typeof InstallTrigger,n=!!window.chrome,r=!!window.chrome,i=n&&!window.chrome.webstore&&!window.chrome.runtime,o=0<Object.prototype.toString.call(window.HTMLElement).indexOf("Constructor")||window.safari&&window.safari.pushNotification,s=!!window.opr&&!!window.opr.addons||!!window.opera,a=!!window.StyleMedia,c=n&&!!navigator.userAgent.match(/edg/i),u=(r||s)&&!!window.CSS,l=!(n||o||t||s||!document.documentMode)),{get isChrome(){return r},get isChromeOrChromium(){return n},get isChromium(){return i},get isFirefox(){return t},get isSafari(){return o},get isOpera(){return s},get isEdge(){return a},get isEdgeChromium(){return c},get isIE(){return l},get isBlink(){return u}}}()},function(e,t,n){"use strict";var r,i="object"==typeof Reflect?Reflect:null,o=i&&"function"==typeof i.apply?i.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};r=i&&"function"==typeof i.ownKeys?i.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var s=Number.isNaN||function(e){return e!=e};function a(){a.init.call(this)}e.exports=a,e.exports.once=function(e,t){return new Promise((function(n,r){function i(n){e.removeListener(t,o),r(n)}function o(){"function"==typeof e.removeListener&&e.removeListener("error",i),n([].slice.call(arguments))}y(e,t,o,{once:!0}),"error"!==t&&function(e,t,n){"function"==typeof e.on&&y(e,"error",t,n)}(e,i,{once:!0})}))},a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var c=10;function u(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function l(e){return void 0===e._maxListeners?a.defaultMaxListeners:e._maxListeners}function h(e,t,n,r){var i,o,s,a;if(u(n),void 0===(o=e._events)?(o=e._events=Object.create(null),e._eventsCount=0):(void 0!==o.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),o=e._events),s=o[t]),void 0===s)s=o[t]=n,++e._eventsCount;else if("function"==typeof s?s=o[t]=r?[n,s]:[s,n]:r?s.unshift(n):s.push(n),(i=l(e))>0&&s.length>i&&!s.warned){s.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=e,c.type=t,c.count=s.length,a=c,console&&console.warn&&console.warn(a)}return e}function f(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function d(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},i=f.bind(r);return i.listener=n,r.wrapFn=i,i}function p(e,t,n){var r=e._events;if(void 0===r)return[];var i=r[t];return void 0===i?[]:"function"==typeof i?n?[i.listener||i]:[i]:n?function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(i):g(i,i.length)}function v(e){var t=this._events;if(void 0!==t){var n=t[e];if("function"==typeof n)return 1;if(void 0!==n)return n.length}return 0}function g(e,t){for(var n=new Array(t),r=0;r<t;++r)n[r]=e[r];return n}function y(e,t,n,r){if("function"==typeof e.on)r.once?e.once(t,n):e.on(t,n);else{if("function"!=typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e);e.addEventListener(t,(function i(o){r.once&&e.removeEventListener(t,i),n(o)}))}}Object.defineProperty(a,"defaultMaxListeners",{enumerable:!0,get:function(){return c},set:function(e){if("number"!=typeof e||e<0||s(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");c=e}}),a.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},a.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||s(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},a.prototype.getMaxListeners=function(){return l(this)},a.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var r="error"===e,i=this._events;if(void 0!==i)r=r&&void 0===i.error;else if(!r)return!1;if(r){var s;if(t.length>0&&(s=t[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var c=i[e];if(void 0===c)return!1;if("function"==typeof c)o(c,this,t);else{var u=c.length,l=g(c,u);for(n=0;n<u;++n)o(l[n],this,t)}return!0},a.prototype.addListener=function(e,t){return h(this,e,t,!1)},a.prototype.on=a.prototype.addListener,a.prototype.prependListener=function(e,t){return h(this,e,t,!0)},a.prototype.once=function(e,t){return u(t),this.on(e,d(this,e,t)),this},a.prototype.prependOnceListener=function(e,t){return u(t),this.prependListener(e,d(this,e,t)),this},a.prototype.removeListener=function(e,t){var n,r,i,o,s;if(u(t),void 0===(r=this._events))return this;if(void 0===(n=r[e]))return this;if(n===t||n.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete r[e],r.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(i=-1,o=n.length-1;o>=0;o--)if(n[o]===t||n[o].listener===t){s=n[o].listener,i=o;break}if(i<0)return this;0===i?n.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(n,i),1===n.length&&(r[e]=n[0]),void 0!==r.removeListener&&this.emit("removeListener",e,s||t)}return this},a.prototype.off=a.prototype.removeListener,a.prototype.removeAllListeners=function(e){var t,n,r;if(void 0===(n=this._events))return this;if(void 0===n.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==n[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete n[e]),this;if(0===arguments.length){var i,o=Object.keys(n);for(r=0;r<o.length;++r)"removeListener"!==(i=o[r])&&this.removeAllListeners(i);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(void 0!==t)for(r=t.length-1;r>=0;r--)this.removeListener(e,t[r]);return this},a.prototype.listeners=function(e){return p(this,e,!0)},a.prototype.rawListeners=function(e){return p(this,e,!1)},a.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):v.call(e,t)},a.prototype.listenerCount=v,a.prototype.eventNames=function(){return this._eventsCount>0?r(this._events):[]}},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t){},function(e,t){},function(e,t,n){},function(e,t,n){var r,i,o;i=[t,e],void 0===(o="function"==typeof(r=function(e,t){"use strict";var n=5e3,r="callback";function i(){return"jsonp_"+Date.now()+"_"+Math.ceil(1e5*Math.random())}function o(e){try{delete window[e]}catch(t){window[e]=void 0}}function s(e){var t=document.getElementById(e);t&&document.getElementsByTagName("head")[0].removeChild(t)}t.exports=function(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],a=e,c=t.timeout||n,u=t.jsonpCallback||r,l=void 0;return new Promise((function(n,r){var h=t.jsonpCallbackFunction||i(),f=u+"_"+h;window[h]=function(e){n({ok:!0,json:function(){return Promise.resolve(e)}}),l&&clearTimeout(l),s(f),o(h)},a+=-1===a.indexOf("?")?"?":"&";var d=document.createElement("script");d.setAttribute("src",""+a+u+"="+h),t.charset&&d.setAttribute("charset",t.charset),t.nonce&&d.setAttribute("nonce",t.nonce),t.referrerPolicy&&d.setAttribute("referrerPolicy",t.referrerPolicy),d.id=f,document.getElementsByTagName("head")[0].appendChild(d),l=setTimeout((function(){r(new Error("JSONP request to "+e+" timed out")),o(h),s(f),window[h]=function(){o(h)}}),c),d.onerror=function(){r(new Error("JSONP request to "+e+" failed")),o(h),s(f),l&&clearTimeout(l)}}))}})?r.apply(t,i):r)||(e.exports=o)},function(e,t,n){"use strict";n.d(t,"a",(function(){return Yt}));var r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}function o(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{c(r.next(e))}catch(e){o(e)}}function a(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((r=r.apply(e,t||[])).next())}))}function s(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}Object.create;function a(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function c(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s}function u(e,t,n){if(n||2===arguments.length)for(var r,i=0,o=t.length;i<o;i++)!r&&i in t||(r||(r=Array.prototype.slice.call(t,0,i)),r[i]=t[i]);return e.concat(r||Array.prototype.slice.call(t))}function l(e){return this instanceof l?(this.v=e,this):new l(e)}function h(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,i=n.apply(e,t||[]),o=[];return r={},s("next"),s("throw"),s("return"),r[Symbol.asyncIterator]=function(){return this},r;function s(e){i[e]&&(r[e]=function(t){return new Promise((function(n,r){o.push([e,t,n,r])>1||a(e,t)}))})}function a(e,t){try{(n=i[e](t)).value instanceof l?Promise.resolve(n.value.v).then(c,u):h(o[0][2],n)}catch(e){h(o[0][3],e)}var n}function c(e){a("next",e)}function u(e){a("throw",e)}function h(e,t){e(t),o.shift(),o.length&&a(o[0][0],o[0][1])}}function f(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=a(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,i){(function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)})(r,i,(t=e[n](t)).done,t.value)}))}}}Object.create;function d(e){return"function"==typeof e}function p(e){var t=e((function(e){Error.call(e),e.stack=(new Error).stack}));return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}var v=p((function(e){return function(t){e(this),this.message=t?t.length+" errors occurred during unsubscription:\n"+t.map((function(e,t){return t+1+") "+e.toString()})).join("\n "):"",this.name="UnsubscriptionError",this.errors=t}}));function g(e,t){if(e){var n=e.indexOf(t);0<=n&&e.splice(n,1)}}var y=function(){function e(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var e,t,n,r,i;if(!this.closed){this.closed=!0;var o=this._parentage;if(o)if(this._parentage=null,Array.isArray(o))try{for(var s=a(o),l=s.next();!l.done;l=s.next()){l.value.remove(this)}}catch(t){e={error:t}}finally{try{l&&!l.done&&(t=s.return)&&t.call(s)}finally{if(e)throw e.error}}else o.remove(this);var h=this.initialTeardown;if(d(h))try{h()}catch(e){i=e instanceof v?e.errors:[e]}var f=this._finalizers;if(f){this._finalizers=null;try{for(var p=a(f),g=p.next();!g.done;g=p.next()){var y=g.value;try{w(y)}catch(e){i=null!=i?i:[],e instanceof v?i=u(u([],c(i)),c(e.errors)):i.push(e)}}}catch(e){n={error:e}}finally{try{g&&!g.done&&(r=p.return)&&r.call(p)}finally{if(n)throw n.error}}}if(i)throw new v(i)}},e.prototype.add=function(t){var n;if(t&&t!==this)if(this.closed)w(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(n=this._finalizers)&&void 0!==n?n:[]).push(t)}},e.prototype._hasParent=function(e){var t=this._parentage;return t===e||Array.isArray(t)&&t.includes(e)},e.prototype._addParent=function(e){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e},e.prototype._removeParent=function(e){var t=this._parentage;t===e?this._parentage=null:Array.isArray(t)&&g(t,e)},e.prototype.remove=function(t){var n=this._finalizers;n&&g(n,t),t instanceof e&&t._removeParent(this)},e.EMPTY=function(){var t=new e;return t.closed=!0,t}(),e}(),m=y.EMPTY;function b(e){return e instanceof y||e&&"closed"in e&&d(e.remove)&&d(e.add)&&d(e.unsubscribe)}function w(e){d(e)?e():e.unsubscribe()}var E={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},C={setTimeout:function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];var i=C.delegate;return(null==i?void 0:i.setTimeout)?i.setTimeout.apply(i,u([e,t],c(n))):setTimeout.apply(void 0,u([e,t],c(n)))},clearTimeout:function(e){var t=C.delegate;return((null==t?void 0:t.clearTimeout)||clearTimeout)(e)},delegate:void 0};function _(e){C.setTimeout((function(){var t=E.onUnhandledError;if(!t)throw e;t(e)}))}function I(){}var O=k("C",void 0,void 0);function k(e,t,n){return{kind:e,value:t,error:n}}var R=null;function T(e){if(E.useDeprecatedSynchronousErrorHandling){var t=!R;if(t&&(R={errorThrown:!1,error:null}),e(),t){var n=R,r=n.errorThrown,i=n.error;if(R=null,r)throw i}}else e()}var S=function(e){function t(t){var n=e.call(this)||this;return n.isStopped=!1,t?(n.destination=t,b(t)&&t.add(n)):n.destination=H,n}return i(t,e),t.create=function(e,t,n){return new x(e,t,n)},t.prototype.next=function(e){this.isStopped?L(function(e){return k("N",e,void 0)}(e),this):this._next(e)},t.prototype.error=function(e){this.isStopped?L(k("E",void 0,e),this):(this.isStopped=!0,this._error(e))},t.prototype.complete=function(){this.isStopped?L(O,this):(this.isStopped=!0,this._complete())},t.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,e.prototype.unsubscribe.call(this),this.destination=null)},t.prototype._next=function(e){this.destination.next(e)},t.prototype._error=function(e){try{this.destination.error(e)}finally{this.unsubscribe()}},t.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},t}(y),A=Function.prototype.bind;function N(e,t){return A.call(e,t)}var P=function(){function e(e){this.partialObserver=e}return e.prototype.next=function(e){var t=this.partialObserver;if(t.next)try{t.next(e)}catch(e){D(e)}},e.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(e){D(e)}else D(e)},e.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(e){D(e)}},e}(),x=function(e){function t(t,n,r){var i,o,s=e.call(this)||this;d(t)||!t?i={next:null!=t?t:void 0,error:null!=n?n:void 0,complete:null!=r?r:void 0}:s&&E.useDeprecatedNextContext?((o=Object.create(t)).unsubscribe=function(){return s.unsubscribe()},i={next:t.next&&N(t.next,o),error:t.error&&N(t.error,o),complete:t.complete&&N(t.complete,o)}):i=t;return s.destination=new P(i),s}return i(t,e),t}(S);function D(e){var t;E.useDeprecatedSynchronousErrorHandling?(t=e,E.useDeprecatedSynchronousErrorHandling&&R&&(R.errorThrown=!0,R.error=t)):_(e)}function L(e,t){var n=E.onStoppedNotification;n&&C.setTimeout((function(){return n(e,t)}))}var H={closed:!0,next:I,error:function(e){throw e},complete:I},U="function"==typeof Symbol&&Symbol.observable||"@@observable";function M(e){return e}function j(e){return 0===e.length?M:1===e.length?e[0]:function(t){return e.reduce((function(e,t){return t(e)}),t)}}var F=function(){function e(e){e&&(this._subscribe=e)}return e.prototype.lift=function(t){var n=new e;return n.source=this,n.operator=t,n},e.prototype.subscribe=function(e,t,n){var r,i=this,o=(r=e)&&r instanceof S||function(e){return e&&d(e.next)&&d(e.error)&&d(e.complete)}(r)&&b(r)?e:new x(e,t,n);return T((function(){var e=i,t=e.operator,n=e.source;o.add(t?t.call(o,n):n?i._subscribe(o):i._trySubscribe(o))})),o},e.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.error(t)}},e.prototype.forEach=function(e,t){var n=this;return new(t=B(t))((function(t,r){var i=new x({next:function(t){try{e(t)}catch(e){r(e),i.unsubscribe()}},error:r,complete:t});n.subscribe(i)}))},e.prototype._subscribe=function(e){var t;return null===(t=this.source)||void 0===t?void 0:t.subscribe(e)},e.prototype[U]=function(){return this},e.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return j(e)(this)},e.prototype.toPromise=function(e){var t=this;return new(e=B(e))((function(e,n){var r;t.subscribe((function(e){return r=e}),(function(e){return n(e)}),(function(){return e(r)}))}))},e.create=function(t){return new e(t)},e}();function B(e){var t;return null!==(t=null!=e?e:E.Promise)&&void 0!==t?t:Promise}var G,Y=p((function(e){return function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}})),V=function(e){function t(){var t=e.call(this)||this;return t.closed=!1,t.currentObservers=null,t.observers=[],t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return i(t,e),t.prototype.lift=function(e){var t=new W(this,this);return t.operator=e,t},t.prototype._throwIfClosed=function(){if(this.closed)throw new Y},t.prototype.next=function(e){var t=this;T((function(){var n,r;if(t._throwIfClosed(),!t.isStopped){t.currentObservers||(t.currentObservers=Array.from(t.observers));try{for(var i=a(t.currentObservers),o=i.next();!o.done;o=i.next()){o.value.next(e)}}catch(e){n={error:e}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}}}))},t.prototype.error=function(e){var t=this;T((function(){if(t._throwIfClosed(),!t.isStopped){t.hasError=t.isStopped=!0,t.thrownError=e;for(var n=t.observers;n.length;)n.shift().error(e)}}))},t.prototype.complete=function(){var e=this;T((function(){if(e._throwIfClosed(),!e.isStopped){e.isStopped=!0;for(var t=e.observers;t.length;)t.shift().complete()}}))},t.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(t.prototype,"observed",{get:function(){var e;return(null===(e=this.observers)||void 0===e?void 0:e.length)>0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(t){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,t)},t.prototype._subscribe=function(e){return this._throwIfClosed(),this._checkFinalizedStatuses(e),this._innerSubscribe(e)},t.prototype._innerSubscribe=function(e){var t=this,n=this.hasError,r=this.isStopped,i=this.observers;return n||r?m:(this.currentObservers=null,i.push(e),new y((function(){t.currentObservers=null,g(i,e)})))},t.prototype._checkFinalizedStatuses=function(e){var t=this.hasError,n=this.thrownError,r=this.isStopped;t?e.error(n):r&&e.complete()},t.prototype.asObservable=function(){var e=new F;return e.source=this,e},t.create=function(e,t){return new W(e,t)},t}(F),W=function(e){function t(t,n){var r=e.call(this)||this;return r.destination=t,r.source=n,r}return i(t,e),t.prototype.next=function(e){var t,n;null===(n=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===n||n.call(t,e)},t.prototype.error=function(e){var t,n;null===(n=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===n||n.call(t,e)},t.prototype.complete=function(){var e,t;null===(t=null===(e=this.destination)||void 0===e?void 0:e.complete)||void 0===t||t.call(e)},t.prototype._subscribe=function(e){var t,n;return null!==(n=null===(t=this.source)||void 0===t?void 0:t.subscribe(e))&&void 0!==n?n:m},t}(V),K=n(9),q=n.n(K),z=n(2);!function(e){e[e.Unknown=0]="Unknown",e[e.AcceptCall=1]="AcceptCall",e[e.TerminateCall=2]="TerminateCall",e[e.HoldCall=3]="HoldCall",e[e.ResumeCall=4]="ResumeCall",e[e.Flash=5]="Flash",e[e.CallInProgress=6]="CallInProgress",e[e.CallRinging=7]="CallRinging",e[e.CallEnded=8]="CallEnded",e[e.TransferToHeadset=9]="TransferToHeadset",e[e.TransferToSpeaker=10]="TransferToSpeaker",e[e.Mute=11]="Mute",e[e.Unmute=12]="Unmute",e[e.MobileCallRinging=13]="MobileCallRinging",e[e.MobileCallInProgress=14]="MobileCallInProgress",e[e.MobileCallEnded=15]="MobileCallEnded",e[e.DOn=16]="DOn",e[e.DOff=17]="DOff",e[e.CallIdle=18]="CallIdle",e[e.Play=19]="Play",e[e.Pause=20]="Pause",e[e.Stop=21]="Stop",e[e.DTMLKey=22]="DTMLKey",e[e.RejectCall=23]="RejectCall",e[e.MakeCall=24]="MakeCall",e[e.Hook=25]="Hook",e[e.HookIdle=26]="HookIdle",e[e.HookDocked=27]="HookDocked",e[e.HookUndocked=28]="HookUndocked",e[e.BaseEvent=29]="BaseEvent",e[e.CallAnsweredAndEnded=30]="CallAnsweredAndEnded",e[e.CallUnansweredAndEnded=31]="CallUnansweredAndEnded",e[e.DeviceChange=32]="DeviceChange",e[e.DeviceArrived=33]="DeviceArrived",e[e.DeviceRemoved=34]="DeviceRemoved"}(G||(G={}));var $=n(3),J=n.n($);function X(e){return(X="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 Q(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Z(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Q(Object(n),!0).forEach((function(t){ce(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Q(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ee(e,t,n,r,i,o,s){try{var a=e[o](s),c=a.value}catch(e){return void n(e)}a.done?t(c):Promise.resolve(c).then(r,i)}function te(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function s(e){ee(o,r,i,s,a,"next",e)}function a(e){ee(o,r,i,s,a,"throw",e)}s(void 0)}))}}function ne(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function re(e,t){return(re=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ie(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=ae(e);if(t){var i=ae(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return oe(this,n)}}function oe(e,t){if(t&&("object"===X(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return se(e)}function se(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ae(e){return(ae=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ce(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ue,le,he=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&re(e,t)}(w,e);var t,n,r,i,o,s,a,c,u,l,h,f,d,p,v,g,y,m,b=ie(w);function w(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,w),ce(se(t=b.call(this,e)),"activePollingInterval",2e3),ce(se(t),"connectedDeviceInterval",6e3),ce(se(t),"disconnectedDeviceInterval",2e3),ce(se(t),"deviceIdRetryInterval",2e3),ce(se(t),"vendorName","Plantronics"),ce(se(t),"pluginName",void 0),ce(se(t),"apiHost","https://127.0.0.1:32018/Spokes"),ce(se(t),"isActive",!1),ce(se(t),"disableEventPolling",!1),ce(se(t),"config",void 0),ce(se(t),"deviceStatusTimer",null),ce(se(t),"isRetry",!1),ce(se(t),"_deviceInfo",void 0),ce(se(t),"callEventsTimerId",void 0),ce(se(t),"deviceStatusTimerId",void 0),ce(se(t),"incomingConversationId",void 0),ce(se(t),"callMappings",{}),t.config=e,t.pluginName=e.appName||"genesys-cloud-headset-library",t._deviceInfo=null,t.callEventsTimerId=null,t.deviceStatusTimerId=null,t.incomingConversationId=null,t}return t=w,n=[{key:"_createCallMapping",value:function(e){var t=Math.round(Math.random()*Math.pow(10,8));return this.callMappings[e]=t,this.callMappings[t]=e,this.logger.info("Created callId mapping for plantronics headset",{conversationId:e,plantronicsCallId:t}),t}},{key:"clearTimeouts",value:function(){clearTimeout(this.callEventsTimerId),clearTimeout(this.deviceStatusTimerId)}},{key:"deviceLabelMatchesVendor",value:function(e){var t=e.toLowerCase();return["plantronics","plt","poly","(047f:"].some((function(e){return t.includes(e)}))}},{key:"deviceName",get:function(){var e;return null===(e=this._deviceInfo)||void 0===e?void 0:e.ProductName}},{key:"deviceInfo",get:function(){return this._deviceInfo}},{key:"isDeviceAttached",get:function(){return!!this.deviceInfo}},{key:"pollForCallEvents",value:function(){var e=this;this.callEventsTimerId&&(clearTimeout(this.callEventsTimerId),this.callEventsTimerId=null),this.isConnected&&!this.disableEventPolling&&(this.logger.debug("**** POLLING FOR CALL EVENTS ****"),this.getCallEvents()),this.callEventsTimerId=setTimeout((function(){e.pollForCallEvents()}),this.activePollingInterval)}},{key:"pollForDeviceStatus",value:function(){var e=this;this.deviceStatusTimerId&&(clearTimeout(this.deviceStatusTimerId),this.deviceStatusTimerId=null),!this.isConnected||this.isConnecting||this.disableEventPolling||(this.logger.debug("**** POLLING FOR DEVICE STATUS ****"),this.getDeviceStatus()),this.deviceStatusTimerId=setTimeout((function(){e.pollForDeviceStatus()}),this.isDeviceAttached?this.connectedDeviceInterval:this.disconnectedDeviceInterval)}},{key:"_makeRequestTask",value:(m=te(regeneratorRuntime.mark((function e(t,n){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._makeRequest(t,n);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return m.apply(this,arguments)})},{key:"_fetch",value:function(e){return q()(e)}},{key:"_makeRequest",value:(y=te(regeneratorRuntime.mark((function e(t,n){var r,i=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=w.instance,e.abrupt("return",this._fetch("".concat(this.apiHost).concat(t)).then((function(e){return e.json()})).then((function(e){if(i.isConnected||i.isConnecting){if(!1===e.ok||"Error"===e.Type_Name){if(404===e.status){if(n){i.isConnected&&i.changeConnectionStatus({isConnected:!1,isConnecting:i.isConnecting}),i.disconnect();var o=new Error("Headset: Failed connection to middleware. Headset features unavailable.");return o.handled=!0,i.logger.info(o),Promise.reject(o)}return i._makeRequestTask(t,!0)}return J.a.isFirefox&&(i.errorCode="browser",i.disableRetry=!0),Promise.reject(e)}return r?(!i.isConnected&&i.changeConnectionStatus({isConnected:!0,isConnecting:i.isConnecting}),e):Promise.reject(new Error("Application destroyed."))}})).catch((function(e){return Promise.reject(e)})));case 2:case"end":return e.stop()}}),e,this)}))),function(e,t){return y.apply(this,arguments)})},{key:"_checkIsActiveTask",value:(g=te(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._getActiveCalls();case 2:t=e.sent,this.isActive=!!t.length;case 4:case"end":return e.stop()}}),e,this)}))),function(){return g.apply(this,arguments)})},{key:"_getActiveCalls",value:(v=te(regeneratorRuntime.mark((function e(){var t,n,r,i,o=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this._makeRequestTask("/CallServices/CallManagerState?");case 3:i=e.sent,r=i,e.next=11;break;case 7:return e.prev=7,e.t0=e.catch(0),this.logger.info("Error making request for active calls",e.t0),e.abrupt("return",[]);case 11:if(Array.isArray(null===(t=r)||void 0===t||null===(n=t.Result)||void 0===n?void 0:n.Calls)){e.next=13;break}return e.abrupt("return",[]);case 13:return e.abrupt("return",r.Result.Calls.filter((function(e){return e.Source===o.pluginName})));case 14:case"end":return e.stop()}}),e,this,[[0,7]])}))),function(){return v.apply(this,arguments)})},{key:"getCallEvents",value:(p=te(regeneratorRuntime.mark((function e(){var t,n=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this._makeRequestTask("/CallServices/CallEvents?name=".concat(this.pluginName));case 3:t=e.sent,e.next=10;break;case 6:return e.prev=6,e.t0=e.catch(0),this.logger.info("Error making request for call events",e.t0),e.abrupt("return");case 10:t.Result&&t.Result.forEach((function(e){var t=G[e.Action];if(!t)return n.logger.info("Unknown call event from headset",{event:e});var r={name:t,event:e};n.logger.debug("headset info",r),n.callCorrespondingFunction(r)}));case 11:case"end":return e.stop()}}),e,this,[[0,6]])}))),function(){return p.apply(this,arguments)})},{key:"getDeviceStatus",value:(d=te(regeneratorRuntime.mark((function e(){var t=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._makeRequestTask("/DeviceServices/Info").then((function(e){t._deviceInfo=e.Result})).catch((function(e){e.Err&&e.Err.Description.includes("no supported devices")||t.logger.info("Error making request for device status",e)}));case 2:case"end":return e.stop()}}),e,this)}))),function(){return d.apply(this,arguments)})},{key:"callCorrespondingFunction",value:function(e){var t=e.event.CallId.Id,n=this.callMappings[t];switch(e.name){case"AcceptCall":this.deviceAnsweredCall(Z(Z({},e),{},{conversationId:n}));break;case"RejectCall":this.endCall(n),this.deviceRejectedCall({name:e.name,conversationId:this.incomingConversationId});break;case"TerminateCall":this.deviceEndedCall(Z(Z({},e),{},{conversationId:n}));break;case"CallEnded":delete this.callMappings[t],delete this.callMappings[n],this._checkIsActiveTask();break;case"Mute":this.deviceMuteChanged(Z(Z({isMuted:!0},e),{},{conversationId:n}));break;case"Unmute":this.deviceMuteChanged(Z(Z({isMuted:!1},e),{},{conversationId:n}));break;case"HoldCall":this.deviceHoldStatusChanged(Z(Z({holdRequested:!0},e),{},{conversationId:n}));break;case"ResumeCall":this.deviceHoldStatusChanged(Z(Z({holdRequested:!1},e),{},{conversationId:n}));break;default:this.logger.info("A headset event has occurred",Z(Z({},e),{},{conversationId:n})),this.deviceEventLogs(Z(Z({},e),{},{conversationId:n}))}}},{key:"unregisterPlugin",value:(f=te(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this._makeRequestTask("/SessionManager/UnRegister?name=".concat(this.pluginName));case 3:return e.abrupt("return",e.sent);case 6:if(e.prev=6,e.t0=e.catch(0),"Invalid plugin name"!==(null===e.t0||void 0===e.t0||null===(t=e.t0.Err)||void 0===t?void 0:t.Description)){e.next=10;break}return e.abrupt("return");case 10:this.logger.error(e.t0);case 11:case"end":return e.stop()}}),e,this,[[0,6]])}))),function(){return f.apply(this,arguments)})},{key:"connect",value:(h=te(regeneratorRuntime.mark((function e(){var t=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return!this.isConnecting&&this.changeConnectionStatus({isConnected:this.isConnected,isConnecting:!0}),this.pollForDeviceStatus(),this.pollForCallEvents(),e.next=5,this.unregisterPlugin();case 5:return e.abrupt("return",this._makeRequestTask("/SessionManager/Register?name=".concat(this.pluginName)).catch((function(e){return e.Err&&"Plugin exists"===e.Err.Description?t.logger.debug("Plugin already exists",e):Promise.reject(e)})).then((function(){return t._makeRequestTask("/SessionManager/IsActive?name=".concat(t.pluginName,"&active=true"))})).catch((function(e){return e.Err&&!e.isError?t.logger.debug("Is Active",e):Promise.reject(e)})).then((function(e){return!0!==(null==e?void 0:e.Result)?Promise.reject(e):t._makeRequestTask("/UserPreference/SetDefaultSoftPhone?name=".concat(t.pluginName))})).then((function(){t.getDeviceStatus()})).then((function(){return t._getActiveCalls()})).then((function(e){if(!e.length)return t.getCallEvents();t.isActive=!0,t.logger.warn("Plantronics headset should be in vanilla state but is reporting active call state.")})).catch((function(e){return null!=e&&e.handled?t.logger.error("Unable to properly connect headset"):Promise.reject(e)})).finally((function(){t.isConnecting&&t.changeConnectionStatus({isConnected:t.isConnected,isConnecting:!1})})));case 6:case"end":return e.stop()}}),e,this)}))),function(){return h.apply(this,arguments)})},{key:"disconnect",value:(l=te(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.isConnected){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,this.unregisterPlugin();case 4:this.clearTimeouts(),this._deviceInfo=null,this.isConnected&&this.changeConnectionStatus({isConnected:!1,isConnecting:this.isConnecting}),this.isActive=!1;case 8:case"end":return e.stop()}}),e,this)}))),function(){return l.apply(this,arguments)})},{key:"incomingCall",value:function(e){this.logger.info("Inside incomingCall of selected implementation (Plantronics/Poly)");var t=e.conversationId,n=e.contactName;if(!t)throw new Error("Must provide conversationId");var r=this._createCallMapping(t);this.incomingConversationId=t;var i="?name=".concat(this.pluginName,"&tones=Unknown&route=ToHeadset"),o='"Id":"'.concat(r,'"');if(i+="&callID={".concat(encodeURI(o),"}"),n){var s='"Name":"'.concat(n,'"');i+="&contact={".concat(encodeURI(s),"}")}return this.logger.info("params of endpoint",i),this.isActive=!0,this._makeRequestTask("/CallServices/IncomingCall".concat(i))}},{key:"outgoingCall",value:(u=te(regeneratorRuntime.mark((function e(t){var n,r,i,o,s,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.conversationId,r=t.contactName,n){e.next=3;break}throw new Error("Must provide conversationId");case 3:return i=this._createCallMapping(n),o="?name=".concat(this.pluginName,"&tones=Unknown&route=ToHeadset"),s='"Id":"'.concat(i,'"'),o+="&callID={".concat(encodeURI(s),"}"),r&&(a='"Name":"'.concat(r,'"'),o+="&contact={".concat(encodeURI(a),"}")),this.isActive=!0,e.next=11,this._makeRequestTask("/CallServices/OutgoingCall".concat(o));case 11:case"end":return e.stop()}}),e,this)}))),function(e){return u.apply(this,arguments)})},{key:"answerCall",value:(c=te(regeneratorRuntime.mark((function e(t,n){var r,i,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!n){e.next=3;break}return e.next=3,this.incomingCall({conversationId:t});case 3:return r=this.callMappings[t],i='"Id":"'.concat(r,'"'),o="?name=".concat(this.pluginName,"&callID={").concat(encodeURI(i),"}"),this.isActive=!0,this.incomingConversationId=null,e.abrupt("return",this._makeRequestTask("/CallServices/AnswerCall".concat(o)));case 9:case"end":return e.stop()}}),e,this)}))),function(e,t){return c.apply(this,arguments)})},{key:"rejectCall",value:function(e){return this.incomingConversationId=null,this.endCall(e)}},{key:"endCall",value:(a=te(regeneratorRuntime.mark((function e(t){var n,r,i,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n="?name=".concat(this.pluginName),r=this.callMappings[t],i='"Id":"'.concat(r,'"'),n+="&callID={".concat(encodeURI(i),"}"),e.next=6,this._makeRequestTask("/CallServices/TerminateCall".concat(n));case 6:return o=e.sent,e.next=9,this.getCallEvents();case 9:return this._checkIsActiveTask(),e.abrupt("return",o);case 11:case"end":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:"endAllCalls",value:(s=te(regeneratorRuntime.mark((function e(){var t=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._getActiveCalls();case 2:e.sent.forEach((function(e){return t.endCall(t.callMappings[e.CallId])}));case 4:case"end":return e.stop()}}),e,this)}))),function(){return s.apply(this,arguments)})},{key:"setMute",value:(o=te(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._makeRequestTask("/CallServices/MuteCall?name=".concat(this.pluginName,"&muted=").concat(t));case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:"setHold",value:(i=te(regeneratorRuntime.mark((function e(t,n){var r,i,o,s;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=this.callMappings[t],i='"Id":"'.concat(r,'"'),o="?name=".concat(this.pluginName,"&callID={").concat(encodeURI(i),"}"),e.next=5,this._makeRequestTask("/CallServices/".concat(n?"HoldCall":"ResumeCall").concat(o));case 5:return s=e.sent,e.abrupt("return",s);case 7:case"end":return e.stop()}}),e,this)}))),function(e,t){return i.apply(this,arguments)})}],r=[{key:"getInstance",value:function(e){return w.instance&&!e.createNew||(w.instance=new w(e)),w.instance}}],n&&ne(t.prototype,n),r&&ne(t,r),Object.defineProperty(t,"prototype",{writable:!1}),w}(z.a);function fe(){return!!window._HostedContextFunctions}function de(e){return new Promise((function(t,n){try{var r=JSON.stringify(e);window.cefQuery({request:r,persistent:!1,onSuccess:function(e){try{var n=JSON.parse(e);t(n)}catch(e){t({})}},onFailure:function(e){n(e)}})}catch(e){console.error("Error requesting desktop promise",e),n(e)}}))}function pe(e){return(pe="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 ve(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ge(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function ye(e,t){return(ye=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function me(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Ee(e);if(t){var i=Ee(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return be(this,n)}}function be(e,t){if(t&&("object"===pe(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return we(e)}function we(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ee(e){return(Ee=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ce(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}ce(he,"instance",void 0),function(e){e.SocketConnected="SocketConnected",e.EstablishConnection="EstablishConnection",e.SPLogin="SPLoggedIn",e.SPLogout="SPLoggedOut",e.TerminateConnection="TerminateConnection",e.IncomingCall="IncomingCall",e.IncomingCallRejected="InCallRejected",e.IncomingCallAccepted="InCallAccepted",e.OutgoingCall="OutgoingCall",e.CallEnded="CallEnded",e.SystemInformation="SystemInformation",e.HeadsetConnected="HeadsetConnected",e.HeadsetDisconnected="HeadsetDisconnected",e.Hold="CallHold",e.Resume="HeldCallResumed",e.MuteFromApp="MuteHeadset",e.UnmuteFromApp="UnmuteHeadset",e.MuteFromHeadset="MuteSoftphone",e.UnmuteFromHeadset="UnmuteSoftphone"}(ue||(ue={})),function(e){e.Request="Request",e.Notification="Notification",e.Ack="Acknowledgement"}(le||(le={}));var _e=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ye(e,t)}(o,e);var t,n,r,i=me(o);function o(){var e;ve(this,o);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return Ce(we(e=i.call.apply(i,[this].concat(n))),"connectTimeout",5e3),Ce(we(e),"vendorName","Sennheiser"),Ce(we(e),"isActive",!1),Ce(we(e),"devices",null),Ce(we(e),"activeDeviceId",null),Ce(we(e),"websocketConnected",!1),Ce(we(e),"websocket",null),Ce(we(e),"deviceInfo",null),Ce(we(e),"ignoreAcknowledgement",!1),Ce(we(e),"webSocketOnOpen",(function(){e.websocketConnected=!0,e.logger.info("websocket open the sennheiser software")})),e}return t=o,r=[{key:"getInstance",value:function(e){return o.instance&&!e.createNew||(o.instance=new o(e)),o.instance}}],(n=[{key:"deviceLabelMatchesVendor",value:function(e){var t=e.toLowerCase();return["senn","epos"].some((function(e){return t.includes(e)}))}},{key:"deviceName",get:function(){return this.deviceInfo&&this.deviceInfo.ProductName}},{key:"isDeviceAttached",get:function(){return!!this.deviceInfo}},{key:"resetHeadsetStateForCall",value:function(e){return this.ignoreAcknowledgement=!0,this.endCall(e)}},{key:"_handleError",value:function(e){this.logger.error("Non-zero return code from sennheiser",e)}},{key:"_handleAck",value:function(e){this.logger.debug("Received Ack for ".concat(e.Event))}},{key:"_sendMessage",value:function(e){this.logger.debug("sending sennheiser message",e),this.websocket.send(JSON.stringify(e))}},{key:"_registerSoftphone",value:function(){var e={Event:ue.EstablishConnection,EventType:le.Request,SPName:"Genesys Cloud Softphone",SPIconImage:"SPImage.ico",RedialSupport:"No",OffHookSupport:"No",MuteSupport:"Yes",DNDOption:"No"};this._sendMessage(e)}},{key:"connect",value:function(){this.ignoreAcknowledgement=!1,!this.isConnecting&&this.changeConnectionStatus({isConnected:!1,isConnecting:!0});var e=new WebSocket("wss://127.0.0.1:41088");return e.onopen=this.webSocketOnOpen.bind(this),e.onclose=this.webSocketOnClose.bind(this),e.onmessage=this._handleMessage.bind(this),this.websocket=e,Promise.resolve()}},{key:"webSocketOnClose",value:function(e){this.websocketConnected=!1,e.wasClean||this.logger.error(e),this.isConnected||(this.logger.error(new Error("Failed to connect to sennheiser software. Make sure it is installed")),J.a.isFireFox&&(this.errorCode="browser",this.disableRetry=!0)),(this.isConnected||this.isConnecting)&&this.changeConnectionStatus({isConnected:!1,isConnecting:!1})}},{key:"disconnect",value:function(){return this.isConnected?(this._sendMessage({Event:ue.TerminateConnection,EventType:le.Request}),Promise.resolve()):Promise.resolve()}},{key:"setMute",value:function(e){return this._sendMessage({Event:e?ue.MuteFromApp:ue.UnmuteFromApp,EventType:le.Request}),Promise.resolve()}},{key:"setHold",value:function(e,t){return this._sendMessage({Event:t?ue.Hold:ue.Resume,EventType:le.Request,CallID:e}),Promise.resolve()}},{key:"incomingCall",value:function(e){return this.ignoreAcknowledgement=!1,this._sendMessage({Event:ue.IncomingCall,EventType:le.Request,CallID:e.conversationId}),Promise.resolve()}},{key:"answerCall",value:function(e,t){return t&&this.incomingCall({conversationId:e}),this._sendMessage({Event:ue.IncomingCallAccepted,EventType:le.Request,CallID:e}),Promise.resolve()}},{key:"rejectCall",value:function(e){return this._sendMessage({Event:ue.IncomingCallRejected,EventType:le.Request,CallID:e}),Promise.resolve()}},{key:"outgoingCall",value:function(e){this.ignoreAcknowledgement=!1;var t=e.conversationId;return this._sendMessage({Event:ue.OutgoingCall,EventType:le.Request,CallID:t}),Promise.resolve()}},{key:"endCall",value:function(e){return this._sendMessage({Event:ue.CallEnded,EventType:le.Request,CallID:e}),Promise.resolve()}},{key:"endAllCalls",value:function(){return this.logger.warn("There is no functionality defined for SennheiserService.endAllCalls()"),Promise.resolve()}},{key:"_handleMessage",value:function(e){var t;try{t=JSON.parse(e.data)}catch(t){return this.logger.error(t),void this.logger.error("Failed to parse sennheiser payload",{message:e})}if(this.logger.debug("incoming sennheiser message",t),t.ReturnCode)this._handleError(t);else{var n=t.CallID;if(!this.ignoreAcknowledgement)switch(t.Event){case ue.SocketConnected:this._registerSoftphone();break;case ue.EstablishConnection:this._sendMessage({Event:ue.SPLogin,EventType:le.Request});break;case ue.SPLogin:this.isConnected&&!this.isConnecting||this.changeConnectionStatus({isConnected:!0,isConnecting:!1}),this._sendMessage({Event:ue.SystemInformation,EventType:le.Request});break;case ue.HeadsetConnected:t.HeadsetName&&(this.deviceInfo={deviceName:t.HeadsetName,headsetType:t.HeadsetType});break;case ue.HeadsetDisconnected:t.HeadsetName===this.deviceName&&(this.deviceInfo=null);break;case ue.IncomingCallAccepted:t.EventType===le.Notification&&this.deviceAnsweredCall({name:t.Event,conversationId:n});break;case ue.Hold:if(t.EventType===le.Ack){this._handleAck(t);break}this.deviceHoldStatusChanged({holdRequested:!0,name:t.Event,conversationId:n});break;case ue.Resume:if(t.EventType===le.Ack){this._handleAck(t);break}this.deviceHoldStatusChanged({holdRequested:!1,name:t.Event,conversationId:n});break;case ue.MuteFromHeadset:this.deviceMuteChanged({isMuted:!0,name:t.Event});break;case ue.UnmuteFromHeadset:this.deviceMuteChanged({isMuted:!1,name:t.Event});break;case ue.CallEnded:t.EventType===le.Notification&&this.deviceEndedCall({name:t.Event,conversationId:n});break;case ue.IncomingCallRejected:this.deviceRejectedCall({name:t.Event,conversationId:n});break;case ue.TerminateConnection:1===this.websocket.readyState&&this.websocket.close(),this.websocket=null;break;default:t.EventType===le.Ack&&this._handleAck(t)}}}}])&&ge(t.prototype,n),r&&ge(t,r),Object.defineProperty(t,"prototype",{writable:!1}),o}(z.a);Ce(_e,"instance",void 0);var Ie=n(0),Oe=p((function(e){return function(){e(this),this.name="EmptyError",this.message="no elements in sequence"}}));function ke(e,t){var n="object"==typeof t;return new Promise((function(r,i){var o=new x({next:function(e){r(e),o.unsubscribe()},error:i,complete:function(){n?r(t.defaultValue):i(new Oe)}});e.subscribe(o)}))}var Re=function(e){function t(t,n){return e.call(this)||this}return i(t,e),t.prototype.schedule=function(e,t){return void 0===t&&(t=0),this},t}(y),Te={setInterval:function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];var i=Te.delegate;return(null==i?void 0:i.setInterval)?i.setInterval.apply(i,u([e,t],c(n))):setInterval.apply(void 0,u([e,t],c(n)))},clearInterval:function(e){var t=Te.delegate;return((null==t?void 0:t.clearInterval)||clearInterval)(e)},delegate:void 0},Se=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r.pending=!1,r}return i(t,e),t.prototype.schedule=function(e,t){if(void 0===t&&(t=0),this.closed)return this;this.state=e;var n=this.id,r=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(r,n,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(r,this.id,t),this},t.prototype.requestAsyncId=function(e,t,n){return void 0===n&&(n=0),Te.setInterval(e.flush.bind(e,this),n)},t.prototype.recycleAsyncId=function(e,t,n){if(void 0===n&&(n=0),null!=n&&this.delay===n&&!1===this.pending)return t;Te.clearInterval(t)},t.prototype.execute=function(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(e,t);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},t.prototype._execute=function(e,t){var n,r=!1;try{this.work(e)}catch(e){r=!0,n=e||new Error("Scheduled action threw falsy error")}if(r)return this.unsubscribe(),n},t.prototype.unsubscribe=function(){if(!this.closed){var t=this.id,n=this.scheduler,r=n.actions;this.work=this.state=this.scheduler=null,this.pending=!1,g(r,this),null!=t&&(this.id=this.recycleAsyncId(n,t,null)),this.delay=null,e.prototype.unsubscribe.call(this)}},t}(Re),Ae={now:function(){return(Ae.delegate||Date).now()},delegate:void 0},Ne=function(){function e(t,n){void 0===n&&(n=e.now),this.schedulerActionCtor=t,this.now=n}return e.prototype.schedule=function(e,t,n){return void 0===t&&(t=0),new this.schedulerActionCtor(this,e).schedule(n,t)},e.now=Ae.now,e}(),Pe=new(function(e){function t(t,n){void 0===n&&(n=Ne.now);var r=e.call(this,t,n)||this;return r.actions=[],r._active=!1,r._scheduled=void 0,r}return i(t,e),t.prototype.flush=function(e){var t=this.actions;if(this._active)t.push(e);else{var n;this._active=!0;do{if(n=e.execute(e.state,e.delay))break}while(e=t.shift());if(this._active=!1,n){for(;e=t.shift();)e.unsubscribe();throw n}}},t}(Ne))(Se);function xe(e){return function(t){if(function(e){return d(null==e?void 0:e.lift)}(t))return t.lift((function(t){try{return e(t,this)}catch(e){this.error(e)}}));throw new TypeError("Unable to lift unknown Observable type")}}var De="function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator";function Le(e){if(e instanceof F)return e;if(null!=e){if(function(e){return d(e[U])}(e))return c=e,new F((function(e){var t=c[U]();if(d(t.subscribe))return t.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")}));if((o=e)&&"number"==typeof o.length&&"function"!=typeof o)return i=e,new F((function(e){for(var t=0;t<i.length&&!e.closed;t++)e.next(i[t]);e.complete()}));if(d(null==(r=e)?void 0:r.then))return n=e,new F((function(e){n.then((function(t){e.closed||(e.next(t),e.complete())}),(function(t){return e.error(t)})).then(null,_)}));if(function(e){return Symbol.asyncIterator&&d(null==e?void 0:e[Symbol.asyncIterator])}(e))return He(e);if(function(e){return d(null==e?void 0:e[De])}(e))return t=e,new F((function(e){var n,r;try{for(var i=a(t),o=i.next();!o.done;o=i.next()){var s=o.value;if(e.next(s),e.closed)return}}catch(e){n={error:e}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}e.complete()}));if(function(e){return d(null==e?void 0:e.getReader)}(e))return He(function(e){return h(this,arguments,(function(){var t,n,r;return s(this,(function(i){switch(i.label){case 0:t=e.getReader(),i.label=1;case 1:i.trys.push([1,,9,10]),i.label=2;case 2:return[4,l(t.read())];case 3:return n=i.sent(),r=n.value,n.done?[4,l(void 0)]:[3,5];case 4:return[2,i.sent()];case 5:return[4,l(r)];case 6:return[4,i.sent()];case 7:return i.sent(),[3,2];case 8:return[3,10];case 9:return t.releaseLock(),[7];case 10:return[2]}}))}))}(e))}var t,n,r,i,o,c;throw function(e){return new TypeError("You provided "+(null!==e&&"object"==typeof e?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}(e)}function He(e){return new F((function(t){(function(e,t){var n,r,i,a;return o(this,void 0,void 0,(function(){var o,c;return s(this,(function(s){switch(s.label){case 0:s.trys.push([0,5,6,11]),n=f(e),s.label=1;case 1:return[4,n.next()];case 2:if((r=s.sent()).done)return[3,4];if(o=r.value,t.next(o),t.closed)return[2];s.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return c=s.sent(),i={error:c},[3,11];case 6:return s.trys.push([6,,9,10]),r&&!r.done&&(a=n.return)?[4,a.call(n)]:[3,8];case 7:s.sent(),s.label=8;case 8:return[3,10];case 9:if(i)throw i.error;return[7];case 10:return[7];case 11:return t.complete(),[2]}}))}))})(e,t).catch((function(e){return t.error(e)}))}))}function Ue(e,t,n,r,i){return new Me(e,t,n,r,i)}var Me=function(e){function t(t,n,r,i,o,s){var a=e.call(this,t)||this;return a.onFinalize=o,a.shouldUnsubscribe=s,a._next=n?function(e){try{n(e)}catch(e){t.error(e)}}:e.prototype._next,a._error=i?function(e){try{i(e)}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._error,a._complete=r?function(){try{r()}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._complete,a}return i(t,e),t.prototype.unsubscribe=function(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var n=this.closed;e.prototype.unsubscribe.call(this),!n&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}},t}(S);var je=p((function(e){return function(t){void 0===t&&(t=null),e(this),this.message="Timeout has occurred",this.name="TimeoutError",this.info=t}}));function Fe(e,t){var n,r=(n=e)instanceof Date&&!isNaN(n)?{first:e}:"number"==typeof e?{each:e}:e,i=r.first,o=r.each,s=r.with,a=void 0===s?Be:s,c=r.scheduler,u=void 0===c?null!=t?t:Pe:c,l=r.meta,h=void 0===l?null:l;if(null==i&&null==o)throw new TypeError("No timeout provided.");return xe((function(e,t){var n,r,s=null,c=0,l=function(e){r=function(e,t,n,r,i){void 0===r&&(r=0),void 0===i&&(i=!1);var o=t.schedule((function(){n(),i?e.add(this.schedule(null,r)):this.unsubscribe()}),r);if(e.add(o),!i)return o}(t,u,(function(){try{n.unsubscribe(),Le(a({meta:h,lastValue:s,seen:c})).subscribe(t)}catch(e){t.error(e)}}),e)};n=e.subscribe(Ue(t,(function(e){null==r||r.unsubscribe(),c++,t.next(s=e),o>0&&l(o)}),void 0,void 0,(function(){(null==r?void 0:r.closed)||null==r||r.unsubscribe(),s=null}))),!c&&l(null!=i?"number"==typeof i?i:+i-u.now():o)}))}function Be(e){throw new je(e)}function Ge(e){return xe((function(t,n){var r=!1;t.subscribe(Ue(n,(function(e){r=!0,n.next(e)}),(function(){r||n.next(e),n.complete()})))}))}function Ye(e,t){return xe((function(n,r){var i=0;n.subscribe(Ue(r,(function(n){return e.call(t,n,i++)&&r.next(n)})))}))}var Ve=new F((function(e){return e.complete()}));function We(e){return e<=0?function(){return Ve}:xe((function(t,n){var r=0;t.subscribe(Ue(n,(function(t){++r<=e&&(n.next(t),e<=r&&n.complete())})))}))}function Ke(e){return void 0===e&&(e=qe),xe((function(t,n){var r=!1;t.subscribe(Ue(n,(function(e){r=!0,n.next(e)}),(function(){return r?n.complete():n.error(e())})))}))}function qe(){return new Oe}function ze(e,t){var n=arguments.length>=2;return function(r){return r.pipe(e?Ye((function(t,n){return e(t,n,r)})):M,We(1),n?Ge(t):Ke((function(){return new Oe})))}}function $e(e,t){return xe((function(n,r){var i=0;n.subscribe(Ue(r,(function(n){r.next(e.call(t,n,i++))})))}))}function Je(e){return(Je="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 Xe(e,t,n,r,i,o,s){try{var a=e[o](s),c=a.value}catch(e){return void n(e)}a.done?t(c):Promise.resolve(c).then(r,i)}function Qe(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function s(e){Xe(o,r,i,s,a,"next",e)}function a(e){Xe(o,r,i,s,a,"throw",e)}s(void 0)}))}}function Ze(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function et(e,t){return(et=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function tt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=it(e);if(t){var i=it(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return nt(this,n)}}function nt(e,t){if(t&&("object"===Je(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return rt(e)}function rt(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function it(e){return(it=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ot(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var st,at=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&et(e,t)}(b,e);var t,n,r,i,o,s,a,c,u,l,h,f,d,p,v,g,y,m=tt(b);function b(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,b),ot(rt(t=m.call(this,e)),"headsetEventSubscription",void 0),ot(rt(t),"isActive",!1),ot(rt(t),"_deviceInfo",void 0),ot(rt(t),"isMuted",!1),ot(rt(t),"isHeld",!1),ot(rt(t),"version",null),ot(rt(t),"_connectDeferred",void 0),ot(rt(t),"jabraSdk",void 0),ot(rt(t),"callControlFactory",void 0),ot(rt(t),"callControl",void 0),ot(rt(t),"ongoingCalls",0),ot(rt(t),"callLock",!1),ot(rt(t),"pendingConversationId",void 0),ot(rt(t),"pendingConversationIsOutbound",void 0),ot(rt(t),"activeConversationId",void 0),t.vendorName="Jabra",t}return t=b,n=[{key:"isSupported",value:function(){return window.navigator.hid&&!fe()}},{key:"deviceLabelMatchesVendor",value:function(e){var t=e.toLowerCase();return!!["jabra"].some((function(e){return t.includes(e)}))}},{key:"deviceInfo",get:function(){return this._deviceInfo}},{key:"deviceName",get:function(){var e;return null===(e=this.deviceInfo)||void 0===e?void 0:e.deviceName}},{key:"isDeviceAttached",get:function(){return!!this.deviceInfo}},{key:"resetState",value:function(){this.setHold(null,!1),this.setMute(!1)}},{key:"_processEvents",value:function(e){var t=this;this.headsetEventSubscription=e.deviceSignals.subscribe(function(){var n=Qe(regeneratorRuntime.mark((function n(r){var i,o,s,a;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(t.callLock){n.next=3;break}return t.logger.debug("Currently not in possession of the Call Lock; Cannot react to Device Actions"),n.abrupt("return");case 3:n.t0=r.type,n.next=n.t0===Ie.u.HOOK_SWITCH?6:n.t0===Ie.u.FLASH||n.t0===Ie.u.ALT_HOLD?11:n.t0===Ie.u.PHONE_MUTE?15:n.t0===Ie.u.REJECT_CALL?19:23;break;case 6:if(!t.activeConversationId||!t.pendingConversationId){n.next=9;break}return t.logger.info("ignoring hookswitch event because there is an active and incoming call"),n.abrupt("break",23);case 9:if(r.value)e.offHook(!0),e.ring(!1),t.activeConversationId=t.pendingConversationId,t.pendingConversationId=null,t.pendingConversationIsOutbound||t.deviceAnsweredCall({name:"CallOffHook",code:r.type,conversationId:t.activeConversationId});else{e.mute(!1),e.hold(!1),e.offHook(!1),t.deviceEndedCall({name:"CallOnHook",code:r.type,conversationId:t.activeConversationId});try{e.releaseCallLock()}catch(e){i=e.message,o=e.type,t.checkForCallLockError(i,o)?t.logger.info(i):t.logger.error(o,i)}finally{t.activeConversationId=null,t.callLock=!1}}return n.abrupt("break",23);case 11:return t.isHeld=!t.isHeld,e.hold(t.isHeld),t.deviceHoldStatusChanged({holdRequested:t.isHeld,name:t.isHeld?"OnHold":"ResumeCall",code:r.type,conversationId:t.activeConversationId}),n.abrupt("break",23);case 15:return t.isMuted=!t.isMuted,e.mute(t.isMuted),t.deviceMuteChanged({isMuted:t.isMuted,name:t.isMuted?"CallMuted":"CallUnmuted",code:r.type,conversationId:t.activeConversationId}),n.abrupt("break",23);case 19:e.ring(!1),t.deviceRejectedCall({name:Ie.u[r.type],conversationId:t.pendingConversationId}),t.pendingConversationId=null;try{t.activeConversationId||(e.releaseCallLock(),t.callLock=!1)}catch(e){s=e.message,a=e.type,t.checkForCallLockError(s,a)?t.logger.info(s):t.logger.error(a,s)}case 23:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}())}},{key:"setMute",value:(y=Qe(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.callLock){e.next=2;break}return e.abrupt("return");case 2:this.isMuted=t,this.callControl.mute(t);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return y.apply(this,arguments)})},{key:"setHold",value:(g=Qe(regeneratorRuntime.mark((function e(t,n){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.callLock){e.next=2;break}return e.abrupt("return");case 2:this.isHeld=n,this.callControl.hold(n);case 4:case"end":return e.stop()}}),e,this)}))),function(e,t){return g.apply(this,arguments)})},{key:"incomingCall",value:(v=Qe(regeneratorRuntime.mark((function e(t){var n,r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.pendingConversationId=t.conversationId,this.pendingConversationIsOutbound=!1,e.prev=2,e.next=5,this.callControl.takeCallLock();case 5:this.callLock=e.sent,e.next=13;break;case 8:e.prev=8,e.t0=e.catch(2),n=e.t0.message,r=e.t0.type,this.checkForCallLockError(n,r)?(this.logger.info(n),this.callLock=!0):this.logger.error(r,n);case 13:this.callLock&&this.callControl.ring(!0);case 14:case"end":return e.stop()}}),e,this,[[2,8]])}))),function(e){return v.apply(this,arguments)})},{key:"answerCall",value:(p=Qe(regeneratorRuntime.mark((function e(t,n){var r,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!n){e.next=13;break}return this.pendingConversationId=t,e.prev=2,e.next=5,this.callControl.takeCallLock();case 5:this.callLock=e.sent,e.next=13;break;case 8:e.prev=8,e.t0=e.catch(2),r=e.t0.message,i=e.t0.type,this.checkForCallLockError(r,i)?(this.logger.info(r),this.callLock=!0):this.logger.error(i,r);case 13:if(this.callLock){e.next=15;break}return e.abrupt("return");case 15:this.callControl.ring(!1),this.callControl.offHook(!0);case 17:case"end":return e.stop()}}),e,this,[[2,8]])}))),function(e,t){return p.apply(this,arguments)})},{key:"rejectCall",value:(d=Qe(regeneratorRuntime.mark((function e(){var t,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.callLock){e.next=2;break}return e.abrupt("return",this.logger.info("Currently not in possession of the Call Lock; Cannot react to Device Actions"));case 2:if(this.callControl.ring(!1),this.pendingConversationId=null,!this.activeConversationId)try{this.resetState(),this.callControl.releaseCallLock()}catch(e){t=e.message,n=e.type,this.checkForCallLockError(t,n)?this.logger.info(t):this.logger.error(n,t)}finally{this.pendingConversationId=null,this.callLock=!1}case 5:case"end":return e.stop()}}),e,this)}))),function(){return d.apply(this,arguments)})},{key:"outgoingCall",value:(f=Qe(regeneratorRuntime.mark((function e(t){var n,r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.callControl.takeCallLock();case 3:this.callLock=e.sent,e.next=11;break;case 6:e.prev=6,e.t0=e.catch(0),n=e.t0.message,r=e.t0.type,this.checkForCallLockError(n,r)?(this.logger.info(n),this.callLock=!0):this.logger.error(r,n);case 11:this.callLock&&(this.pendingConversationId=t.conversationId,this.pendingConversationIsOutbound=!0,this.callControl.offHook(!0));case 12:case"end":return e.stop()}}),e,this,[[0,6]])}))),function(e){return f.apply(this,arguments)})},{key:"endCall",value:(h=Qe(regeneratorRuntime.mark((function e(t,n){var r,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!n){e.next=2;break}return e.abrupt("return");case 2:if(t===this.activeConversationId&&(this.activeConversationId=null),e.prev=3,this.callLock){e.next=6;break}return e.abrupt("return",this.logger.info("Currently not in possession of the Call Lock; Cannot react to Device Actions"));case 6:this.callControl.offHook(!1),this.resetState(),this.callControl.releaseCallLock(),e.next=16;break;case 11:e.prev=11,e.t0=e.catch(3),r=e.t0.message,i=e.t0.type,this.checkForCallLockError(r,i)?this.logger.info(r):this.logger.error(i,r);case 16:return e.prev=16,this.callLock=!1,e.finish(16);case 19:case"end":return e.stop()}}),e,this,[[3,11,16,19]])}))),function(e,t){return h.apply(this,arguments)})},{key:"endAllCalls",value:(l=Qe(regeneratorRuntime.mark((function e(){var t,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,this.callLock){e.next=3;break}return e.abrupt("return",this.logger.info("Currently not in possession of the Call Lock; Cannot react to Device Actions"));case 3:this.activeConversationId=null,this.callControl.offHook(!1),this.resetState(),this.callControl.releaseCallLock(),e.next=14;break;case 9:e.prev=9,e.t0=e.catch(0),t=e.t0.message,n=e.t0.type,this.checkForCallLockError(t,n)?this.logger.info(t):this.logger.error(n,t);case 14:return e.prev=14,this.callLock=!1,e.finish(14);case 17:case"end":return e.stop()}}),e,this,[[0,9,14,17]])}))),function(){return l.apply(this,arguments)})},{key:"isDeviceInList",value:function(e,t){var n;return t.toLowerCase().includes(null==e||null===(n=e.name)||void 0===n?void 0:n.toLowerCase())}},{key:"connect",value:(u=Qe(regeneratorRuntime.mark((function e(t){var n,r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.isConnecting){e.next=2;break}return e.abrupt("return");case 2:if(this.changeConnectionStatus({isConnected:this.isConnected,isConnecting:!0}),this.jabraSdk){e.next=8;break}return e.next=6,this.initializeJabraSdk();case 6:this.jabraSdk=e.sent,this.callControlFactory=this.createCallControlFactory(this.jabraSdk);case 8:return n=t.toLocaleLowerCase(),this._deviceInfo=null,e.next=12,this.getPreviouslyConnectedDevice(n);case 12:if(r=e.sent){e.next=24;break}return e.prev=14,e.next=17,this.getDeviceFromWebhid(n);case 17:r=e.sent,e.next=24;break;case 20:return e.prev=20,e.t0=e.catch(14),this.isConnecting&&this.changeConnectionStatus({isConnected:this.isConnected,isConnecting:!1}),e.abrupt("return");case 24:return e.next=26,this.callControlFactory.createCallControl(r);case 26:return this.callControl=e.sent,e.next=29,this.resetHeadsetState();case 29:this._processEvents(this.callControl),this._deviceInfo={ProductName:r.name,deviceName:r.name,attached:!0,deviceId:r.id.toString()},this.changeConnectionStatus({isConnected:!0,isConnecting:!1});case 32:case"end":return e.stop()}}),e,this,[[14,20]])}))),function(e){return u.apply(this,arguments)})},{key:"getPreviouslyConnectedDevice",value:(c=Qe(regeneratorRuntime.mark((function e(t){var n,r=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=this.jabraSdk.deviceList.pipe(Ge(null),ze((function(e){return!!e.length})),$e((function(e){return e.find((function(e){return r.isDeviceInList(e,t)}))})),Ye((function(e){return!!e})),Fe(3e3)),e.abrupt("return",ke(n).catch((function(e){return e instanceof je||e instanceof Oe?null:Promise.reject(e)})));case 2:case"end":return e.stop()}}),e,this)}))),function(e){return c.apply(this,arguments)})},{key:"getDeviceFromWebhid",value:(a=Qe(regeneratorRuntime.mark((function e(t){var n=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.requestWebHidPermissions(Ie.D),e.abrupt("return",ke(this.jabraSdk.deviceList.pipe($e((function(e){return e.find((function(e){return n.isDeviceInList(e,t)}))})),Ye((function(e){return!!e})),ze(),Fe(3e4))).catch((function(e){return e instanceof je&&(e=new Error("The selected device was not granted WebHID permissions")),n.logger.error(e),Promise.reject(e)})));case 2:case"end":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:"initializeJabraSdk",value:(s=Qe(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",Object(Ie.C)({appId:"softphone-vendor-headsets",appName:"Softphone Headset Library",transport:Ie.z.CHROME_EXTENSION_WITH_WEB_HID_FALLBACK}));case 1:case"end":return e.stop()}}),e)}))),function(){return s.apply(this,arguments)})},{key:"createCallControlFactory",value:function(e){return new Ie.a(e)}},{key:"checkForCallLockError",value:function(e,t){return t===Ie.b.SDK_USAGE_ERROR&&e.includes("call lock")}},{key:"resetHeadsetState",value:(o=Qe(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.callControl){e.next=2;break}return e.abrupt("return");case 2:return e.prev=2,e.next=5,this.callControl.takeCallLock();case 5:this.callControl.hold(!1),this.callControl.mute(!1),this.callControl.offHook(!1),this.callControl.releaseCallLock(),e.next=14;break;case 11:e.prev=11,e.t0=e.catch(2),this.logger.warn("Failed to takeCallLock in order to resetHeadsetState. Ignoring reset.");case 14:case"end":return e.stop()}}),e,this,[[2,11]])}))),function(){return o.apply(this,arguments)})},{key:"disconnect",value:(i=Qe(regeneratorRuntime.mark((function e(){var t,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,this.callLock){e.next=3;break}return e.abrupt("return",this.logger.info("Currently not in possession of the Call Lock; Cannot react to Device Actions"));case 3:this.callControl.releaseCallLock(),e.next=11;break;case 6:e.prev=6,e.t0=e.catch(0),t=e.t0.message,n=e.t0.type,this.checkForCallLockError(t,n)?this.logger.info(t):this.logger.error(n,t);case 11:return e.prev=11,this.resetHeadsetState(),this.callLock=!1,this.headsetEventSubscription&&this.headsetEventSubscription.unsubscribe(),(this.isConnected||this.isConnecting)&&this.changeConnectionStatus({isConnected:!1,isConnecting:!1}),e.finish(11);case 17:case"end":return e.stop()}}),e,this,[[0,6,11,17]])}))),function(){return i.apply(this,arguments)})}],r=[{key:"getInstance",value:function(e){return b.instance&&!e.createNew||(b.instance=new b(e)),b.instance}}],n&&Ze(t.prototype,n),r&&Ze(t,r),Object.defineProperty(t,"prototype",{writable:!1}),b}(z.a);ot(at,"instance",void 0),ot(at,"connectTimeout",5e3),function(e){e.Ring="ringer",e.Offhook="offhook",e.Mute="mute",e.Hold="hold"}(st||(st={}));var ct;function ut(e){return(ut="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 lt(e,t,n,r,i,o,s){try{var a=e[o](s),c=a.value}catch(e){return void n(e)}a.done?t(c):Promise.resolve(c).then(r,i)}function ht(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function s(e){lt(o,r,i,s,a,"next",e)}function a(e){lt(o,r,i,s,a,"throw",e)}s(void 0)}))}}function ft(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function dt(e,t){return(dt=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function pt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=yt(e);if(t){var i=yt(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return vt(this,n)}}function vt(e,t){if(t&&("object"===ut(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return gt(e)}function gt(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function yt(e){return(yt=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function mt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}!function(e){e.OffHook="OffHook",e.Mute="Mute",e.Hold="Flash",e.RejectCall="RejectCall"}(ct||(ct={}));var bt=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&dt(e,t)}(p,e);var t,n,r,i,o,s,a,c,u,l,h,f,d=pt(p);function p(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,p),mt(gt(t=d.call(this,e)),"isActive",!1),mt(gt(t),"devices",null),mt(gt(t),"activeDeviceId",null),mt(gt(t),"headsetState",null),mt(gt(t),"ignoreNextOffhookEvent",!1),mt(gt(t),"cefSupportsJabra",!0),mt(gt(t),"pendingConversationId",void 0),mt(gt(t),"activeConversationId",void 0),mt(gt(t),"pendingConversationIsOutbound",void 0),t.vendorName="Jabra",t.headsetState={ringing:!1,offHook:!1},t.devices=new Map,fe()&&(t.isHostedContextInitialized()?t.setupNativeHandlers():t.waitForHostedContext()),t}return t=p,n=[{key:"isHostedContextInitialized",value:function(){var e;return null===(e=window.Orgspan)||void 0===e?void 0:e.serviceFor("application").get("hostedContext").isHosted()}},{key:"waitForHostedContext",value:function(){var e=this;setTimeout((function(){e.isHostedContextInitialized()?e.setupNativeHandlers():e.waitForHostedContext()}),500)}},{key:"setupNativeHandlers",value:function(){var e,t=null===(e=window.Orgspan)||void 0===e?void 0:e.serviceFor("application").get("hostedContext");this.cefSupportsJabra=t.supportsJabra(),t.on("JabraEvent",this.handleJabraEvent.bind(this)),t.on("JabraDeviceAttached",this.handleJabraDeviceAttached.bind(this))}},{key:"deviceInfo",get:function(){return null===this.activeDeviceId||null===this.devices||this.devices&&!this.devices.size?null:this.devices.get(this.activeDeviceId)}},{key:"deviceName",get:function(){return this.deviceInfo&&this.deviceInfo.deviceName}},{key:"isDeviceAttached",get:function(){return!!this.deviceInfo}},{key:"isHeadsetEvent",value:function(e){return"JabraEvent"===e.msg}},{key:"isDeviceEvent",value:function(e){return"JabraDeviceAttached"===e.msg}},{key:"handleCefEvent",value:function(e){this.isConnected&&(this.isDeviceEvent(e)?this.handleJabraDeviceAttached(e):this.isHeadsetEvent(e)&&this.handleJabraEvent(e))}},{key:"handleJabraDeviceAttached",value:function(e){this.logger.debug("handling jabra attach/detach event",e),this.updateDevices()}},{key:"handleJabraEvent",value:function(e){this.logger.debug("Jabra event received",e),this._processEvent(e.eventName,e.value)}},{key:"_handleOffhookEvent",value:function(e){if(e)return this.activeConversationId=this.pendingConversationId,this.pendingConversationId=null,void(this.headsetState.ringing&&(this.pendingConversationIsOutbound||this.deviceAnsweredCall({name:"CallOffHook",conversationId:this.activeConversationId}),this._sendCmd(st.Offhook,e),this._setRinging(!1)));this.activeConversationId&&(this._sendCmd(st.Offhook,e),this.deviceEndedCall({name:"CallOnHook",conversationId:this.activeConversationId})),this._getHeadsetIntoVanillaState(),this.activeConversationId=null}},{key:"_handleMuteEvent",value:function(e){this._sendCmd(st.Mute,e),this.isMuted=e,this.deviceMuteChanged({isMuted:e,name:e?"CallMuted":"CallUnmuted",conversationId:this.activeConversationId})}},{key:"_handleHoldEvent",value:function(e){this._sendCmd(st.Hold,!!e),this.deviceHoldStatusChanged({holdRequested:!!e,name:e?"OnHold":"ResumeCall",conversationId:this.activeConversationId})}},{key:"_getHeadsetIntoVanillaState",value:function(){this.setHold(null,!1),this.setMute(!1)}},{key:"_sendCmd",value:function(e,t){var n=this.activeDeviceId;this.logger.debug("Sending command to headset",{deviceId:n,cmd:e,value:t}),window._HostedContextFunctions.sendEventToDesktop("jabraEvent",{deviceID:n,event:e,value:t})}},{key:"_setRinging",value:function(e){this._sendCmd(st.Ring,e),this.headsetState.ringing=e}},{key:"isSupported",value:function(){return fe()&&this.cefSupportsJabra}},{key:"deviceLabelMatchesVendor",value:function(e){var t=e.toLowerCase();return["jabra"].some((function(e){return t.includes(e)}))}},{key:"setMute",value:(f=ht(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this._sendCmd(st.Mute,t);case 1:case"end":return e.stop()}}),e,this)}))),function(e){return f.apply(this,arguments)})},{key:"setHold",value:(h=ht(regeneratorRuntime.mark((function e(t,n){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this._sendCmd(st.Hold,n);case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return h.apply(this,arguments)})},{key:"incomingCall",value:(l=ht(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.pendingConversationId=t.conversationId,this.pendingConversationIsOutbound=!1,this._setRinging(!0);case 3:case"end":return e.stop()}}),e,this)}))),function(e){return l.apply(this,arguments)})},{key:"answerCall",value:(u=ht(regeneratorRuntime.mark((function e(t,n){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n&&(this.pendingConversationId=t),this.ignoreNextOffhookEvent=!0,this._sendCmd(st.Offhook,!0);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return u.apply(this,arguments)})},{key:"rejectCall",value:(c=ht(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this._setRinging(!1),this.pendingConversationId=null;case 2:case"end":return e.stop()}}),e,this)}))),function(){return c.apply(this,arguments)})},{key:"outgoingCall",value:(a=ht(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.pendingConversationId=t.conversationId,this.pendingConversationIsOutbound=!0,this._sendCmd(st.Offhook,!0);case 3:case"end":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:"endCall",value:(s=ht(regeneratorRuntime.mark((function e(t,n){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this._setRinging(!1),n||this._sendCmd(st.Offhook,!1),this.activeConversationId=null;case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return s.apply(this,arguments)})},{key:"endAllCalls",value:(o=ht(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this._setRinging(!1),this._sendCmd(st.Offhook,!1),this.activeConversationId=null;case 3:case"end":return e.stop()}}),e,this)}))),function(){return o.apply(this,arguments)})},{key:"updateDevices",value:(i=ht(regeneratorRuntime.mark((function e(){var t,n=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,de({cmd:"requestJabraDevices"});case 3:if(t=e.sent,this.changeConnectionStatus({isConnected:!0,isConnecting:!1}),t&&t.length){e.next=10;break}return this.devices.clear(),this.activeDeviceId=null,this.logger.error(new Error("No attached jabra devices")),e.abrupt("return");case 10:this.logger.info("connected jabra devices",t),this.devices.clear(),t.forEach((function(e){return n.devices.set(e.deviceID,e)})),this.activeDeviceId=t[0].deviceID,this._setRinging(!1),this.setMute(!1),e.next=22;break;case 18:e.prev=18,e.t0=e.catch(0),this.logger.error("Failed to connect to jabra",e.t0),this.disconnect();case 22:case"end":return e.stop()}}),e,this,[[0,18]])}))),function(){return i.apply(this,arguments)})},{key:"_processEvent",value:function(e,t){var n,r,i,o=this;switch(e){case ct.OffHook:(n=function(){return o._handleOffhookEvent(t)},r=500,i=null,function(){clearTimeout(i),i=setTimeout((function(){n()}),r)})();break;case ct.RejectCall:this.deviceRejectedCall({name:ct.RejectCall,conversationId:this.pendingConversationId});break;case ct.Mute:this._handleMuteEvent(t);break;case ct.Hold:this._handleHoldEvent(t)}}},{key:"connect",value:function(){var e,t,n,r,i,o=this;return this.changeConnectionStatus({isConnected:!1,isConnecting:!0}),(e=this.updateDevices(),t=5e3,i=new Promise((function(e,i){r=setTimeout((function(){clearTimeout(r),i(n||"Timed out in "+t+"ms")}),t)})).then((function(e){return clearTimeout(r),e})),Promise.race([e,i])).catch((function(e){o.logger.error("Failed to connect to Jabra",e)}))}},{key:"disconnect",value:function(){return this.changeConnectionStatus({isConnected:!1,isConnecting:!1}),Promise.resolve()}}],r=[{key:"getInstance",value:function(e){return p.instance&&!e.createNew||(p.instance=new p(e)),p.instance}}],n&&ft(t.prototype,n),r&&ft(t,r),Object.defineProperty(t,"prototype",{writable:!1}),p}(z.a);function wt(e){return(wt="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 Et(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Ct(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Ct(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){a=!0,o=e},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}function Ct(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function _t(e,t,n,r,i,o,s){try{var a=e[o](s),c=a.value}catch(e){return void n(e)}a.done?t(c):Promise.resolve(c).then(r,i)}function It(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function s(e){_t(o,r,i,s,a,"next",e)}function a(e){_t(o,r,i,s,a,"throw",e)}s(void 0)}))}}function Ot(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function kt(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Rt(e,t){return(Rt=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Tt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Nt(e);if(t){var i=Nt(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return St(this,n)}}function St(e,t){if(t&&("object"===wt(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return At(e)}function At(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Nt(e){return(Nt=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Pt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}mt(bt,"instance",void 0);var xt=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Rt(e,t)}(g,e);var t,n,r,i,o,s,a,c,u,l,h,f,d,p,v=Tt(g);function g(){var e;Ot(this,g);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return Pt(At(e=v.call.apply(v,[this].concat(n))),"pendingConversationId",void 0),Pt(At(e),"activeConversationId",void 0),Pt(At(e),"_deviceInfo",null),Pt(At(e),"activeDevice",void 0),Pt(At(e),"callState",0),Pt(At(e),"recCallState",0),Pt(At(e),"isHold",!1),Pt(At(e),"inputReportReportId",null),Pt(At(e),"vendorName","Yealink"),e}return t=g,n=[{key:"deviceInfo",get:function(){return this._deviceInfo}},{key:"isSupported",value:function(){return window.navigator.hid&&!fe()}},{key:"deviceLabelMatchesVendor",value:function(e){var t=e.toLowerCase();return["yealink","(6993:"].some((function(e){return t.includes(e)}))}},{key:"connect",value:(p=It(regeneratorRuntime.mark((function e(t){var n,r=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.isConnecting||this.changeConnectionStatus({isConnected:this.isConnected,isConnecting:!0}),n=t.toLowerCase(),e.next=4,window.navigator.hid.getDevices();case 4:if(e.sent.forEach((function(e){var t;if(!r.activeDevice&&n.includes(null==e||null===(t=e.productName)||void 0===t?void 0:t.toLowerCase())){var i,o=Et(e.collections);try{for(o.s();!(i=o.n()).done;){var s=i.value;if(5===s.usage&&11===s.usagePage){r.activeDevice=e,0!==s.inputReports.length&&(r.inputReportReportId=s.inputReports[0].reportId);break}}}catch(e){o.e(e)}finally{o.f()}}})),this.activeDevice){e.next=18;break}return e.prev=7,e.next=10,new Promise((function(e,t){var i=setTimeout(t,3e4);r.requestWebHidPermissions(It(regeneratorRuntime.mark((function o(){var s,a,c;return regeneratorRuntime.wrap((function(o){for(;;)switch(o.prev=o.next){case 0:return s=[{usage:5,usagePage:11}],o.next=3,window.navigator.hid.requestDevice({filters:s});case 3:return clearTimeout(i),o.next=6,window.navigator.hid.getDevices();case 6:a=o.sent,c=!1,a.forEach((function(t){var i;if(n.includes(null==t||null===(i=t.productName)||void 0===i?void 0:i.toLowerCase())){var o,s=Et(t.collections);try{for(s.s();!(o=s.n()).done;){var a=o.value;if(5===a.usage&&11===a.usagePage){c=!0,0!==a.inputReports.length&&(r.inputReportReportId=a.inputReports[0].reportId),e(t);break}}}catch(e){s.e(e)}finally{s.f()}}})),c||t();case 10:case"end":return o.stop()}}),o)}))))}));case 10:this.activeDevice=e.sent,e.next=18;break;case 13:return e.prev=13,e.t0=e.catch(7),this.isConnecting&&this.changeConnectionStatus({isConnected:this.isConnected,isConnecting:!1}),this.logger.error("The selected device was not granted WebHID permissions"),e.abrupt("return");case 18:if(this.activeDevice.opened){e.next=21;break}return e.next=21,this.activeDevice.open();case 21:this.logger.debug("get device reportId ".concat(this.inputReportReportId)),this.activeDevice.addEventListener("inputreport",(function(e){if(e.reportId===r.inputReportReportId){var t=e.data.getUint8(0);r.processBtnPress(t)}})),this._deviceInfo={ProductName:this.activeDevice.productName},this.isConnecting&&!this.isConnected&&this.changeConnectionStatus({isConnected:!0,isConnecting:!1});case 25:case"end":return e.stop()}}),e,this,[[7,13]])}))),function(e){return p.apply(this,arguments)})},{key:"disconnect",value:(d=It(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:(this.isConnected||this.isConnecting)&&this.changeConnectionStatus({isConnected:!1,isConnecting:!1}),this.activeDevice&&(this.activeDevice.close(),this.activeDevice=null,this._deviceInfo=null,this.inputReportReportId=0);case 2:case"end":return e.stop()}}),e,this)}))),function(){return d.apply(this,arguments)})},{key:"processBtnPress",value:function(e){if(this.activeDevice){this.logger.debug("User pressed button ".concat(e,". local ").concat(this.recCallState));var t=e^this.recCallState;0!==t&&(0===e||0!=(-3&this.callState)?(this.recCallState=e,1&t?1&e?(this.answerCall(),this.activeConversationId?this.deviceAnsweredCall({name:"OffHook",conversationId:this.activeConversationId}):this.logger.debug("activeConversationId is empty")):this.isHold||(this.sendOpToDevice(this.isMuted?2:0),this.activeConversationId?this.deviceEndedCall({name:"OnHook",conversationId:this.activeConversationId}):this.logger.debug("activeConversationId is empty"),this.activeConversationId=null):4&t?4&e&&(this.setMute(!this.isMuted),this.deviceMuteChanged({isMuted:this.isMuted,name:this.isMuted?"CallMuted":"CallUnmuted",conversationId:this.activeConversationId})):8&t?8&e&&(this.setHold(null,!this.isHold),this.deviceHoldStatusChanged({holdRequested:this.isHold,name:this.isHold?"OnHold":"ResumeCall",conversationId:this.activeConversationId})):64&t&&64&e&&(this.deviceRejectedCall({name:"Reject",conversationId:this.pendingConversationId}),this.rejectCall())):this.logger.debug("Not talking, ignore key"))}else this.logger.error("do not have active device")}},{key:"incomingCall",value:(f=It(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t&&(this.pendingConversationId=t.conversationId,n=this.isMuted?2:0,this.sendOpToDevice(4|n));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return f.apply(this,arguments)})},{key:"outgoingCall",value:(h=It(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.pendingConversationId=t.conversationId,this.sendOpToDevice(1);case 2:case"end":return e.stop()}}),e,this)}))),function(e){return h.apply(this,arguments)})},{key:"answerCall",value:(l=It(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.pendingConversationId&&(this.activeConversationId=this.pendingConversationId,this.pendingConversationId=null),t=this.isMuted?2:0,this.sendOpToDevice(1|t);case 3:case"end":return e.stop()}}),e,this)}))),function(){return l.apply(this,arguments)})},{key:"rejectCall",value:(u=It(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.pendingConversationId=null,this.sendOpToDevice(this.isMuted?2:0);case 2:case"end":return e.stop()}}),e,this)}))),function(){return u.apply(this,arguments)})},{key:"endCall",value:(c=It(regeneratorRuntime.mark((function e(t,n){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!n){e.next=2;break}return e.abrupt("return");case 2:t===this.activeConversationId&&(this.activeConversationId=null),this.sendOpToDevice(this.isMuted?2:0);case 4:case"end":return e.stop()}}),e,this)}))),function(e,t){return c.apply(this,arguments)})},{key:"endAllCalls",value:(a=It(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.activeConversationId=null,this.sendOpToDevice(this.isMuted?2:0);case 2:case"end":return e.stop()}}),e,this)}))),function(){return a.apply(this,arguments)})},{key:"setMute",value:(s=It(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t?this.sendOpToDevice(2|this.callState):this.sendOpToDevice(-3&this.callState);case 1:case"end":return e.stop()}}),e,this)}))),function(e){return s.apply(this,arguments)})},{key:"setHold",value:(o=It(regeneratorRuntime.mark((function e(t,n){var r,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n?(r=-2&this.callState,this.sendOpToDevice(8|r)):(i=-9&this.callState,this.sendOpToDevice(1|i));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return o.apply(this,arguments)})},{key:"sendOpToDevice",value:(i=It(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.activeDevice&&0!==this.inputReportReportId){e.next=3;break}return this.logger.error("do not have active device"),e.abrupt("return");case 3:return this.isHold=!!(8&t),this.isMuted=!!(2&t),this.logger.debug("send to dev ".concat(t)),this.callState=t,e.next=9,this.activeDevice.sendReport(this.inputReportReportId,new Uint8Array([t]));case 9:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})}],r=[{key:"getInstance",value:function(e){return g.instance||(g.instance=new g(e)),g.instance}}],n&&kt(t.prototype,n),r&&kt(t,r),Object.defineProperty(t,"prototype",{writable:!1}),g}(z.a);Pt(xt,"instance",void 0);var Dt=n(1);function Lt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ht(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Lt(Object(n),!0).forEach((function(t){Gt(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Lt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ut(e,t,n,r,i,o,s){try{var a=e[o](s),c=a.value}catch(e){return void n(e)}a.done?t(c):Promise.resolve(c).then(r,i)}function Mt(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function s(e){Ut(o,r,i,s,a,"next",e)}function a(e){Ut(o,r,i,s,a,"throw",e)}s(void 0)}))}}function jt(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,i,o=[],s=!0,a=!1;try{for(n=n.call(e);!(s=(r=n.next()).done)&&(o.push(r.value),!t||o.length!==t);s=!0);}catch(e){a=!0,i=e}finally{try{s||null==n.return||n.return()}finally{if(a)throw i}}return o}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Ft(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Ft(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ft(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Bt(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Gt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Yt=function(){function e(t){var n=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Gt(this,"plantronics",void 0),Gt(this,"jabraNative",void 0),Gt(this,"jabra",void 0),Gt(this,"sennheiser",void 0),Gt(this,"yealink",void 0),Gt(this,"selectedImplementation",void 0),Gt(this,"headsetEvents$",void 0),Gt(this,"headsetConversationStates",{}),Gt(this,"_headsetEvents$",void 0),Gt(this,"logger",void 0),this._headsetEvents$=new V,this.headsetEvents$=this._headsetEvents$.asObservable(),this.logger=t.logger||console,this.plantronics=he.getInstance({logger:this.logger,appName:t.appName}),this.jabraNative=bt.getInstance({logger:this.logger}),this.jabra=at.getInstance({logger:this.logger}),this.sennheiser=_e.getInstance({logger:this.logger}),this.yealink=xt.getInstance({logger:this.logger}),[this.plantronics,this.jabra,this.jabraNative,this.sennheiser,this.yealink].forEach((function(e){return n.subscribeToHeadsetEvents(e)}))}var t,n,r,i,o,s,a,c,u,l,h,f;return t=e,n=[{key:"implementations",get:function(){return[this.sennheiser,this.plantronics,this.jabra,this.jabraNative,this.yealink].filter((function(e){return e.isSupported()}))}},{key:"isDifferentState",value:function(e){var t=this.headsetConversationStates[e.conversationId];return!t||Object.entries(e.state).some((function(e){var n=jt(e,2),r=n[0],i=n[1];return t[r]!==i}))}},{key:"updateHeadsetState",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{expectExistingConversation:!0};if(this.isDifferentState(e)){var n=this.headsetConversationStates[e.conversationId];return n?(Object.assign(n,e.state),!0):(t.expectExistingConversation&&this.logger.warn("updateHeadsetState has no existing state for provided conversationId.",{conversationId:e.conversationId}),!1)}return!1}},{key:"deviceIsSupported",value:function(e){return!!e.micLabel&&!!this.implementations.find((function(t){return t.deviceLabelMatchesVendor(e.micLabel)}))}},{key:"activeMicChange",value:function(e){if(e){var t=this.implementations.find((function(t){return t.deviceLabelMatchesVendor(e)}));t?this.changeImplementation(t,e):this.selectedImplementation&&this.clearSelectedImplementation()}else this.clearSelectedImplementation()}},{key:"changeImplementation",value:(f=Mt(regeneratorRuntime.mark((function e(t,n){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t!==this.selectedImplementation){e.next=2;break}return e.abrupt("return");case 2:if(!this.selectedImplementation){e.next=6;break}return this.headsetConversationStates={},e.next=6,this.selectedImplementation.disconnect();case 6:if(this.selectedImplementation=t,this._headsetEvents$.next({event:Dt.a.implementationChanged,payload:t}),!t){e.next=11;break}return e.next=11,t.connect(n);case 11:case"end":return e.stop()}}),e,this)}))),function(e,t){return f.apply(this,arguments)})},{key:"incomingCall",value:(h=Mt(regeneratorRuntime.mark((function e(t,n){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=this.getConnectedImpl()){e.next=3;break}return e.abrupt("return");case 3:return this.headsetConversationStates[t.conversationId]={conversationId:t.conversationId,held:!1,muted:!1,offHook:!1,ringing:!0},e.abrupt("return",r.incomingCall(t,n));case 5:case"end":return e.stop()}}),e,this)}))),function(e,t){return h.apply(this,arguments)})},{key:"outgoingCall",value:(l=Mt(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=this.getConnectedImpl()){e.next=3;break}return e.abrupt("return");case 3:return this.headsetConversationStates[t.conversationId]={conversationId:t.conversationId,held:!1,muted:!1,offHook:!0,ringing:!1},e.abrupt("return",n.outgoingCall(t));case 5:case"end":return e.stop()}}),e,this)}))),function(e){return l.apply(this,arguments)})},{key:"answerCall",value:(u=Mt(regeneratorRuntime.mark((function e(t,n){var r,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=this.getConnectedImpl()){e.next=3;break}return e.abrupt("return");case 3:if(n){e.next=9;break}if(i={ringing:!1,offHook:!0},!this.updateHeadsetState({conversationId:t,state:i})){e.next=7;break}return e.abrupt("return",r.answerCall(t));case 7:e.next=11;break;case 9:return this.headsetConversationStates[t]={conversationId:t,held:!1,muted:!1,offHook:!0,ringing:!1},e.abrupt("return",r.answerCall(t,n));case 11:case"end":return e.stop()}}),e,this)}))),function(e,t){return u.apply(this,arguments)})},{key:"rejectCall",value:(c=Mt(regeneratorRuntime.mark((function e(t){var n,r,i,o=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=!(o.length>1&&void 0!==o[1])||o[1],r=this.getConnectedImpl()){e.next=4;break}return e.abrupt("return");case 4:if(i={ringing:!1},!this.updateHeadsetState({conversationId:t,state:i},{expectExistingConversation:n})){e.next=9;break}return this.headsetConversationStates[t].removeTimer=this.setRemoveTimer(t),e.abrupt("return",r.rejectCall(t));case 9:case"end":return e.stop()}}),e,this)}))),function(e){return c.apply(this,arguments)})},{key:"setMute",value:(a=Mt(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=this.getConnectedImpl()){e.next=3;break}return e.abrupt("return");case 3:if(!Object.values(this.headsetConversationStates).some((function(e){return e.muted!==t}))){e.next=6;break}return Object.values(this.headsetConversationStates).forEach((function(e){return e.muted=t})),e.abrupt("return",n.setMute(t));case 6:case"end":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:"setHold",value:(s=Mt(regeneratorRuntime.mark((function e(t,n){var r,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=this.getConnectedImpl()){e.next=3;break}return e.abrupt("return");case 3:if(i={held:n},!this.updateHeadsetState({conversationId:t,state:i})){e.next=6;break}return e.abrupt("return",r.setHold(t,n));case 6:case"end":return e.stop()}}),e,this)}))),function(e,t){return s.apply(this,arguments)})},{key:"endCall",value:(o=Mt(regeneratorRuntime.mark((function e(t,n){var r,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=this.getConnectedImpl()){e.next=3;break}return e.abrupt("return");case 3:if(i={offHook:!1},!this.updateHeadsetState({conversationId:t,state:i})){e.next=8;break}return this.headsetConversationStates[t].removeTimer=this.setRemoveTimer(t),e.abrupt("return",r.endCall(t,n));case 8:case"end":return e.stop()}}),e,this)}))),function(e,t){return o.apply(this,arguments)})},{key:"endAllCalls",value:(i=Mt(regeneratorRuntime.mark((function e(){var t,n=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=this.getConnectedImpl()){e.next=3;break}return e.abrupt("return");case 3:return Object.values(this.headsetConversationStates).forEach((function(e){e.removeTimer||(e.removeTimer=n.setRemoveTimer(e.conversationId))})),e.abrupt("return",t.endAllCalls());case 5:case"end":return e.stop()}}),e,this)}))),function(){return i.apply(this,arguments)})},{key:"retryConnection",value:function(e){return this.selectedImplementation?this.selectedImplementation.connect(e):Promise.reject(new Error("No active headset implementation"))}},{key:"connectionStatus",value:function(){return this.selectedImplementation?this.selectedImplementation.isConnected||this.selectedImplementation.isConnecting?this.selectedImplementation.isConnected?"running":"checking":"notRunning":"noVendor"}},{key:"resetHeadsetStateForCall",value:function(e){return this.getConnectedImpl().resetHeadsetStateForCall(e)}},{key:"getConnectedImpl",value:function(){var e=this.selectedImplementation;return e&&e.isConnected?e:null}},{key:"subscribeToHeadsetEvents",value:function(e){e.on(Dt.a.deviceAnsweredCall,this.handleDeviceAnsweredCall.bind(this)),e.on(Dt.a.deviceRejectedCall,this.handleDeviceRejectedCall.bind(this)),e.on(Dt.a.deviceEndedCall,this.handleDeviceEndedCall.bind(this)),e.on(Dt.a.deviceMuteStatusChanged,this.handleDeviceMuteStatusChanged.bind(this)),e.on(Dt.a.deviceHoldStatusChanged,this.handleDeviceHoldStatusChanged.bind(this)),e.on(Dt.a.deviceEventLogs,this.handleDeviceLogs.bind(this)),e.on(Dt.a.deviceConnectionStatusChanged,this.handleDeviceConnectionStatusChanged.bind(this)),e.on(Dt.a.webHidPermissionRequested,this.handleWebHidPermissionRequested.bind(this))}},{key:"clearSelectedImplementation",value:function(){this.selectedImplementation&&(this.selectedImplementation.disconnect(),this._headsetEvents$.next({event:Dt.a.implementationChanged,payload:null}),this.selectedImplementation=null,this.handleDeviceConnectionStatusChanged())}},{key:"setRemoveTimer",value:function(e){var t=this;return setTimeout((function(){t.headsetConversationStates[e].removeTimer&&delete t.headsetConversationStates[e]}),2e3)}},{key:"handleDeviceAnsweredCall",value:function(e){e.vendor===this.selectedImplementation&&(this.updateHeadsetState({conversationId:e.body.conversationId,state:{ringing:!1,offHook:!0}}),this.logger.info("Headset: device answered the call"),this._headsetEvents$.next({event:Dt.a.deviceAnsweredCall,payload:Ht({},e.body)}))}},{key:"handleDeviceRejectedCall",value:function(e){if(e.vendor===this.selectedImplementation){var t=e.body.conversationId;this.updateHeadsetState({conversationId:t,state:{ringing:!1}})&&(this.headsetConversationStates[t].removeTimer=this.setRemoveTimer(t)),this.logger.info("Headset: device rejected the call"),this._headsetEvents$.next({event:Dt.a.deviceRejectedCall,payload:Ht({},e.body)})}}},{key:"handleDeviceEndedCall",value:function(e){this.logger.info("Headset: device ended the call");var t=e.body.conversationId;this.updateHeadsetState({conversationId:t,state:{offHook:!1}})&&(this.headsetConversationStates[t].removeTimer=this.setRemoveTimer(t)),this._headsetEvents$.next({event:Dt.a.deviceEndedCall,payload:Ht({},e.body)})}},{key:"handleDeviceMuteStatusChanged",value:function(e){this.logger.info("Headset: device mute status changed: ",e.body.isMuted),Object.values(this.headsetConversationStates).some((function(t){return t.muted!==e.body.isMuted}))&&Object.values(this.headsetConversationStates).forEach((function(t){return t.muted=e.body.isMuted})),this._headsetEvents$.next({event:Dt.a.deviceMuteStatusChanged,payload:Ht({},e.body)})}},{key:"handleDeviceHoldStatusChanged",value:function(e){this.logger.info("Headset: device hold status changed",e.body.holdRequested);var t={held:e.body.holdRequested},n=e.body.conversationId;this.updateHeadsetState({conversationId:n,state:t}),this._headsetEvents$.next({event:Dt.a.deviceHoldStatusChanged,payload:Ht({},e.body)})}},{key:"handleDeviceConnectionStatusChanged",value:function(){this._headsetEvents$.next({event:Dt.a.deviceConnectionStatusChanged,payload:this.connectionStatus()})}},{key:"handleWebHidPermissionRequested",value:function(e){this.logger.debug("Requesting Webhid Permissions"),this._headsetEvents$.next({event:Dt.a.webHidPermissionRequested,payload:Ht({},e.body)})}},{key:"handleDeviceLogs",value:function(e){this._headsetEvents$.next({event:Dt.a.loggableEvent,payload:Ht({},e.body)})}}],r=[{key:"getInstance",value:function(t){return e.instance&&!t.createNew||(e.instance=new e(t)),e.instance}}],n&&Bt(t.prototype,n),r&&Bt(t,r),Object.defineProperty(t,"prototype",{writable:!1}),e}();Gt(Yt,"instance",void 0)},function(e,t,n){"use strict";n.r(t);var r=n(10),i=n(2);n.d(t,"VendorImplementation",(function(){return i.a}));var o=n(6);for(var s in o)["default","VendorImplementation"].indexOf(s)<0&&function(e){n.d(t,e,(function(){return o[e]}))}(s);var a=n(1);n.d(t,"HeadsetEvents",(function(){return a.a}));var c=n(7);for(var s in c)["default","VendorImplementation","HeadsetEvents"].indexOf(s)<0&&function(e){n.d(t,e,(function(){return c[e]}))}(s);n(8);t.default=r.a},,function(e,t){var n,r,i=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function a(e){if(n===setTimeout)return setTimeout(e,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:o}catch(e){n=o}try{r="function"==typeof clearTimeout?clearTimeout:s}catch(e){r=s}}();var c,u=[],l=!1,h=-1;function f(){l&&c&&(l=!1,c.length?u=c.concat(u):h=-1,u.length&&d())}function d(){if(!l){var e=a(f);l=!0;for(var t=u.length;t;){for(c=u,u=[];++h<t;)c&&c[h].run();h=-1,t=u.length}c=null,l=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===s||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function v(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];u.push(new p(e,t)),1!==u.length||l||a(d)},p.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=v,i.addListener=v,i.once=v,i.off=v,i.removeListener=v,i.removeAllListeners=v,i.emit=v,i.prependListener=v,i.prependOnceListener=v,i.listeners=function(e){return[]},i.binding=function(e){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(e){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},function(e,t,n){"use strict";(function(e){
25
+ e.exports=function(){var e=function(e,t,n,r,i,o){for(var s=function(e,t){var n=e.toString(16);return n.length<2&&(n="0"+n),t&&(n=n.toUpperCase()),n},a=t;a<=n;a++)i[o++]=s(e[a],r);return i},t=function(e,t,n,r,i){for(var o=t;o<=n;o+=2)r[i++]=parseInt(e.substr(o,2),16)},n="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-:+=^!/*?&<>()[]{}@%$#".split(""),r=[0,68,0,84,83,82,72,0,75,76,70,65,0,63,62,69,0,1,2,3,4,5,6,7,8,9,64,0,73,66,74,71,81,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,77,0,78,67,0,0,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,79,0,80,0,0],o=function(e,t){if(t%4!=0)throw new Error("z85_encode: invalid input length (multiple of 4 expected)");for(var r="",i=0,o=0;i<t;)if(o=256*o+e[i++],i%4==0){for(var s=52200625;s>=1;){var a=Math.floor(o/s)%85;r+=n[a],s/=85}o=0}return r},s=function(e,t){var n=e.length;if(n%5!=0)throw new Error("z85_decode: invalid input length (multiple of 5 expected)");void 0===t&&(t=new Array(4*n/5));for(var i=0,o=0,s=0;i<n;){var a=e.charCodeAt(i++)-32;if(a<0||a>=r.length)break;if(s=85*s+r[a],i%5==0){for(var c=16777216;c>=1;)t[o++]=Math.trunc(s/c%256),c/=256;s=0}}return t},a=function(e,t){var n={ibits:8,obits:8,obigendian:!0};for(var r in t)void 0!==n[r]&&(n[r]=t[r]);for(var i,o,s,a=[],c=0,u=0,l=0,f=e.length;0===u&&(o=e.charCodeAt(c++)),i=o>>n.ibits-(u+8)&255,u=(u+8)%n.ibits,n.obigendian?0===l?s=i<<n.obits-8:s|=i<<n.obits-8-l:0===l?s=i:s|=i<<l,!(0==(l=(l+8)%n.obits)&&(a.push(s),c>=f)););return a},c=function(e,t){var n={ibits:32,ibigendian:!0};for(var r in t)void 0!==n[r]&&(n[r]=t[r]);var i="",o=4294967295;n.ibits<32&&(o=(1<<n.ibits)-1);for(var s=e.length,a=0;a<s;a++)for(var c=e[a]&o,u=0;u<n.ibits;u+=8)n.ibigendian?i+=String.fromCharCode(c>>n.ibits-8-u&255):i+=String.fromCharCode(c>>u&255);return i},u=256,l=function(e,t,n,r,i,o,s,a){return[a,s,o,i,r,n,t,e]},f=function(){return l(0,0,0,0,0,0,0,0)},h=function(e){return e.slice(0)},d=function(e){for(var t=f(),n=0;n<8;n++)t[n]=Math.floor(e%u),e/=u;return t},p=function(e){for(var t=0,n=7;n>=0;n--)t*=u,t+=e[n];return Math.floor(t)},v=function(e,t){for(var n=0,r=0;r<8;r++)n+=e[r]+t[r],e[r]=Math.floor(n%u),n=Math.floor(n/u);return n},g=function(e,t){for(var n=0,r=0;r<8;r++)n+=e[r]*t,e[r]=Math.floor(n%u),n=Math.floor(n/u);return n},y=function(e,t){for(var n=0;n<8;n++)e[n]&=t[n];return e},m=function(e,t){var n=f();if(t%8!=0)throw new Error("ui64_rorn: only bit rotations supported with a multiple of digit bits");for(var r=Math.floor(t/8),i=0;i<r;i++){for(var o=6;o>=0;o--)n[o+1]=n[o];for(n[0]=e[0],o=0;o<7;o++)e[o]=e[o+1];e[o]=0}return p(n)},b=function(e,t){if(t>64)throw new Error("ui64_ror: invalid number of bits to shift");var n,r=new Array(16);for(n=0;n<8;n++)r[n+8]=e[n],r[n]=0;var i=Math.floor(t/8),o=t%8;for(n=i;n<15;n++)r[n-i]=255&(r[n]>>>o|r[n+1]<<8-o);for(r[15-i]=r[15]>>>o&255,n=15-i+1;n<16;n++)r[n]=0;for(n=0;n<8;n++)e[n]=r[n+8];return r.slice(0,8)},w=function(e,t){for(var n=0;n<8;n++)e[n]^=t[n]},E=function(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n},C=function(e,t){return e<<t&4294967295|e>>>32-t&4294967295},_=function(e){return c(function(e,t){function n(e,t,n,r){return e<20?t&n|~t&r:e<40?t^n^r:e<60?t&n|t&r|n&r:t^n^r}function r(e){return e<20?1518500249:e<40?1859775393:e<60?-1894007588:-899497514}e[t>>5]|=128<<24-t%32,e[15+(t+64>>9<<4)]=t;for(var i=Array(80),o=1732584193,s=-271733879,a=-1732584194,c=271733878,u=-1009589776,l=0;l<e.length;l+=16){for(var f=o,h=s,d=a,p=c,v=u,g=0;g<80;g++){i[g]=g<16?e[l+g]:C(i[g-3]^i[g-8]^i[g-14]^i[g-16],1);var y=E(E(C(o,5),n(g,s,a,c)),E(E(u,i[g]),r(g)));u=c,c=a,a=C(s,30),s=o,o=y}o=E(o,f),s=E(s,h),a=E(a,d),c=E(c,p),u=E(u,v)}return[o,s,a,c,u]}(a(e,{ibits:8,obits:32,obigendian:!0}),8*e.length),{ibits:32,ibigendian:!0})},k=function(e){return c(function(e,t){function n(e,t,n,r,i,o){return E(C(E(E(t,e),E(r,o)),i),n)}function r(e,t,r,i,o,s,a){return n(t&r|~t&i,e,t,o,s,a)}function i(e,t,r,i,o,s,a){return n(t&i|r&~i,e,t,o,s,a)}function o(e,t,r,i,o,s,a){return n(t^r^i,e,t,o,s,a)}function s(e,t,r,i,o,s,a){return n(r^(t|~i),e,t,o,s,a)}e[t>>5]|=128<<t%32,e[14+(t+64>>>9<<4)]=t;for(var a=1732584193,c=-271733879,u=-1732584194,l=271733878,f=0;f<e.length;f+=16){var h=a,d=c,p=u,v=l;a=r(a,c,u,l,e[f+0],7,-680876936),l=r(l,a,c,u,e[f+1],12,-389564586),u=r(u,l,a,c,e[f+2],17,606105819),c=r(c,u,l,a,e[f+3],22,-1044525330),a=r(a,c,u,l,e[f+4],7,-176418897),l=r(l,a,c,u,e[f+5],12,1200080426),u=r(u,l,a,c,e[f+6],17,-1473231341),c=r(c,u,l,a,e[f+7],22,-45705983),a=r(a,c,u,l,e[f+8],7,1770035416),l=r(l,a,c,u,e[f+9],12,-1958414417),u=r(u,l,a,c,e[f+10],17,-42063),c=r(c,u,l,a,e[f+11],22,-1990404162),a=r(a,c,u,l,e[f+12],7,1804603682),l=r(l,a,c,u,e[f+13],12,-40341101),u=r(u,l,a,c,e[f+14],17,-1502002290),a=i(a,c=r(c,u,l,a,e[f+15],22,1236535329),u,l,e[f+1],5,-165796510),l=i(l,a,c,u,e[f+6],9,-1069501632),u=i(u,l,a,c,e[f+11],14,643717713),c=i(c,u,l,a,e[f+0],20,-373897302),a=i(a,c,u,l,e[f+5],5,-701558691),l=i(l,a,c,u,e[f+10],9,38016083),u=i(u,l,a,c,e[f+15],14,-660478335),c=i(c,u,l,a,e[f+4],20,-405537848),a=i(a,c,u,l,e[f+9],5,568446438),l=i(l,a,c,u,e[f+14],9,-1019803690),u=i(u,l,a,c,e[f+3],14,-187363961),c=i(c,u,l,a,e[f+8],20,1163531501),a=i(a,c,u,l,e[f+13],5,-1444681467),l=i(l,a,c,u,e[f+2],9,-51403784),u=i(u,l,a,c,e[f+7],14,1735328473),a=o(a,c=i(c,u,l,a,e[f+12],20,-1926607734),u,l,e[f+5],4,-378558),l=o(l,a,c,u,e[f+8],11,-2022574463),u=o(u,l,a,c,e[f+11],16,1839030562),c=o(c,u,l,a,e[f+14],23,-35309556),a=o(a,c,u,l,e[f+1],4,-1530992060),l=o(l,a,c,u,e[f+4],11,1272893353),u=o(u,l,a,c,e[f+7],16,-155497632),c=o(c,u,l,a,e[f+10],23,-1094730640),a=o(a,c,u,l,e[f+13],4,681279174),l=o(l,a,c,u,e[f+0],11,-358537222),u=o(u,l,a,c,e[f+3],16,-722521979),c=o(c,u,l,a,e[f+6],23,76029189),a=o(a,c,u,l,e[f+9],4,-640364487),l=o(l,a,c,u,e[f+12],11,-421815835),u=o(u,l,a,c,e[f+15],16,530742520),a=s(a,c=o(c,u,l,a,e[f+2],23,-995338651),u,l,e[f+0],6,-198630844),l=s(l,a,c,u,e[f+7],10,1126891415),u=s(u,l,a,c,e[f+14],15,-1416354905),c=s(c,u,l,a,e[f+5],21,-57434055),a=s(a,c,u,l,e[f+12],6,1700485571),l=s(l,a,c,u,e[f+3],10,-1894986606),u=s(u,l,a,c,e[f+10],15,-1051523),c=s(c,u,l,a,e[f+1],21,-2054922799),a=s(a,c,u,l,e[f+8],6,1873313359),l=s(l,a,c,u,e[f+15],10,-30611744),u=s(u,l,a,c,e[f+6],15,-1560198380),c=s(c,u,l,a,e[f+13],21,1309151649),a=s(a,c,u,l,e[f+4],6,-145523070),l=s(l,a,c,u,e[f+11],10,-1120210379),u=s(u,l,a,c,e[f+2],15,718787259),c=s(c,u,l,a,e[f+9],21,-343485551),a=E(a,h),c=E(c,d),u=E(u,p),l=E(l,v)}return[a,c,u,l]}(a(e,{ibits:8,obits:32,obigendian:!1}),8*e.length),{ibits:32,ibigendian:!1})},I=function(e){this.mul=l(88,81,244,45,76,149,127,45),this.inc=l(20,5,123,126,247,103,129,79),this.mask=l(0,0,0,0,255,255,255,255),this.state=h(this.inc),this.next(),y(this.state,this.mask),e=d(void 0!==e?e>>>0:4294967295*Math.random()>>>0),function(e,t){for(var n=0;n<8;n++)e[n]|=t[n]}(this.state,e),this.next()};I.prototype.next=function(){var e=h(this.state);(function(e,t){var n,r,i,o=new Array(16);for(n=0;n<16;n++)o[n]=0;for(n=0;n<8;n++){for(i=0,r=0;r<8;r++)i+=e[n]*t[r]+o[n+r],o[n+r]=i%u,i/=u;for(;r<16-n;r++)i+=o[n+r],o[n+r]=i%u,i/=u}for(n=0;n<8;n++)e[n]=o[n];o.slice(8,8)})(this.state,this.mul),v(this.state,this.inc);var t=h(e);b(t,18),w(t,e),b(t,27);var n=h(e);b(n,59),y(t,this.mask);var r=p(n),i=h(t);return function(e,t){if(t>64)throw new Error("ui64_rol: invalid number of bits to shift");var n,r=new Array(16);for(n=0;n<8;n++)r[n+8]=0,r[n]=e[n];var i=Math.floor(t/8),o=t%8;for(n=7-i;n>0;n--)r[n+i]=255&(r[n]<<o|r[n-1]>>>8-o);for(r[0+i]=r[0]<<o&255,n=0+i-1;n>=0;n--)r[n]=0;for(n=0;n<8;n++)e[n]=r[n];r.slice(8,8)}(i,32-r),b(t,r),w(t,i),p(t)};var O=new I,R=function(e,t){for(var n=[],r=0;r<e;r++)n[r]=O.next()%t;return n},T=0,S=0,A=function(){if(1===arguments.length&&"string"==typeof arguments[0])this.parse.apply(this,arguments);else if(arguments.length>=1&&"number"==typeof arguments[0])this.make.apply(this,arguments);else{if(arguments.length>=1)throw new Error("UUID: constructor: invalid arguments");for(var e=0;e<16;e++)this[e]=0}};return(A.prototype="undefined"!=typeof Uint8Array?new Uint8Array(16):i?i.alloc(16):new Array(16)).constructor=A,A.prototype.make=function(e){var t,n=this;if(1===e){var r=(new Date).getTime();r!==T?S=0:S++,T=r;var i,o=d(r);g(o,1e4),v(o,l(1,178,29,210,19,129,64,0)),S>0&&v(o,d(S)),i=m(o,8),n[3]=255&i,i=m(o,8),n[2]=255&i,i=m(o,8),n[1]=255&i,i=m(o,8),n[0]=255&i,i=m(o,8),n[5]=255&i,i=m(o,8),n[4]=255&i,i=m(o,8),n[7]=255&i,i=m(o,8),n[6]=15&i;var s=R(2,255);n[8]=s[0],n[9]=s[1];var a=R(6,255);for(a[0]|=1,a[0]|=2,t=0;t<6;t++)n[10+t]=a[t]}else if(4===e){var c=R(16,255);for(t=0;t<16;t++)this[t]=c[t]}else{if(3!==e&&5!==e)throw new Error("UUID: make: invalid version");var u="",f="object"==typeof arguments[1]&&arguments[1]instanceof A?arguments[1]:(new A).parse(arguments[1]);for(t=0;t<16;t++)u+=String.fromCharCode(f[t]);u+=arguments[2];var h=3===e?k(u):_(u);for(t=0;t<16;t++)n[t]=h.charCodeAt(t)}return n[6]&=15,n[6]|=e<<4,n[8]&=63,n[8]|=128,n},A.prototype.format=function(t){var n,r;return"z85"===t?n=o(this,16):"b16"===t?(r=Array(32),e(this,0,15,!0,r,0),n=r.join("")):void 0!==t&&"std"!==t||(r=new Array(36),e(this,0,3,!1,r,0),r[8]="-",e(this,4,5,!1,r,9),r[13]="-",e(this,6,7,!1,r,14),r[18]="-",e(this,8,9,!1,r,19),r[23]="-",e(this,10,15,!1,r,24),n=r.join("")),n},A.prototype.toString=function(e){return this.format(e)},A.prototype.toJSON=function(){return this.format("std")},A.prototype.parse=function(e,n){if("string"!=typeof e)throw new Error("UUID: parse: invalid argument (type string expected)");if("z85"===n)s(e,this);else if("b16"===n)t(e,0,35,this,0);else if(void 0===n||"std"===n){var r={nil:"00000000-0000-0000-0000-000000000000","ns:DNS":"6ba7b810-9dad-11d1-80b4-00c04fd430c8","ns:URL":"6ba7b811-9dad-11d1-80b4-00c04fd430c8","ns:OID":"6ba7b812-9dad-11d1-80b4-00c04fd430c8","ns:X500":"6ba7b814-9dad-11d1-80b4-00c04fd430c8"};if(void 0!==r[e])e=r[e];else if(!e.match(/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/))throw new Error('UUID: parse: invalid string representation (expected "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")');t(e,0,7,this,0),t(e,9,12,this,4),t(e,14,17,this,6),t(e,19,22,this,8),t(e,24,35,this,10)}return this},A.prototype.export=function(){for(var e=Array(16),t=0;t<16;t++)e[t]=this[t];return e},A.prototype.import=function(e){if(!("object"==typeof e&&e instanceof Array))throw new Error("UUID: import: invalid argument (type Array expected)");if(16!==e.length)throw new Error("UUID: import: invalid argument (Array of length 16 expected)");for(var t=0;t<16;t++){if("number"!=typeof e[t])throw new Error("UUID: import: invalid array element #"+t+" (type Number expected)");if(!isFinite(e[t])||Math.floor(e[t])!==e[t])throw new Error("UUID: import: invalid array element #"+t+" (Number with integer value expected)");if(!(e[t]>=0&&e[t]<=255))throw new Error("UUID: import: invalid array element #"+t+" (Number with integer value in range 0...255 expected)");this[t]=e[t]}return this},A.prototype.compare=function(e){if("object"!=typeof e)throw new Error("UUID: compare: invalid argument (type UUID expected)");if(!(e instanceof A))throw new Error("UUID: compare: invalid argument (type UUID expected)");for(var t=0;t<16;t++){if(this[t]<e[t])return-1;if(this[t]>e[t])return 1}return 0},A.prototype.equal=function(e){return 0===this.compare(e)},A.prototype.fold=function(e){if(void 0===e)throw new Error("UUID: fold: invalid argument (number of fold operations expected)");if(e<1||e>4)throw new Error("UUID: fold: invalid argument (1-4 fold operations expected)");for(var t=16/Math.pow(2,e),n=new Array(t),r=0;r<t;r++){for(var i=0,o=0;r+o<16;o+=t)i^=this[r+o];n[r]=i}return n},A.PCG=I,A}(),e.exports.default=e.exports}));class rn{constructor(e){this.transport=e,this.gnpLockAcquired=e.consoleAppEvent.pipe(rt(e=>"response-gnp-lock"===e.event),je(e=>e.token),mt(1)),this.gnpLockAcquired.subscribe()}acquireGnpLock(e){const t=new nn(4).toString(),n={action:"request-gnp-lock",id:e,token:t},r=this.gnpLockAcquired.pipe(dt(e=>e===t));return this.transport.writeAction(n),r}releaseGnpLock(e,t){const n={action:"release-gnp-lock",id:e,token:t};this.transport.writeAction(n)}}!function(e){e[e.INPUT=0]="INPUT",e[e.OUTPUT=1]="OUTPUT",e[e.FEATURE=2]="FEATURE"}(en||(en={})),function(e){e.ABSOLUTE="absolute",e.RELATIVE="relative"}(tn||(tn={}));class on{constructor(e){this.id=e}equals(e){return this.id===e.id}startsWith(e){return this.id.startsWith(e.id)}toString(){return this.id}}function sn(e,t,n){const r=e.toString(16).padStart(4,"0"),i=t.toString(16).padStart(4,"0");return new on(`${r}:${i}:${n}`)}class an{constructor(e,t,n,r){this.id=e,this.usagePage=t,this.usage=n,this.value=r}isArray(){return Array.isArray(this.value)}static deserialize(e,t){return new an(new on(e),t.usagePage,t.usage,t.value)}}class cn{constructor(e,t,n){this.descriptor=t,this.transport=n,this.transportId=e.transportId,this.input=n.consoleAppEvent.pipe(rt(e=>e.id===this.transportId),cn.inputReportsFilter)}output(e,t,n){const r={action:"hid-output",id:this.transportId,usagePage:e,usage:t,value:n};this.transport.writeAction(r)}getFeatureReport(e,t){const n=new nn(4).toString(),r={action:"request-hid-feature",id:this.transportId,token:n,usagePage:e,usage:t};return this.transport.writeAction(r),this.transport.consoleAppEvent.pipe(dt(e=>"response-hid-feature"===e.event&&e.token===n),je(e=>e.value))}setFeatureReport(e,t,n){const r={action:"set-hid-feature",id:this.transportId,usagePage:e,usage:t,value:n};this.transport.writeAction(r)}findDescriptor(e,t,n){return this.descriptor.find(r=>r.usagePage===e&&r.usage===t&&r.reportType===n)}}cn.inputReportsFilter=e=>e.pipe(rt(e=>"hid-input"===e.event),je(e=>an.deserialize(e.id,e)));class un{static typeFromAttr(e){return e>>6}static packetLengthFromAttr(e){return e&this.lengthMask}static deserialize(e){const t=e[0],n=e[1],r=e[2],i=this.typeFromAttr(e[3]),o=e[4],s=e[5],a=this.packetLengthFromAttr(e[3]),c=e.slice(6,a);return new Vt(t,n,i,o,s,c,r)}}un.lengthMask=63;class ln{constructor(){this.data=[]}hasHeader(){return this.data.length>=ln.gnpPacketHeaderLength}expectedPacketLength(){if(!this.hasHeader())throw new kt("Unable to get expected packet length without a full header",$e.UNEXPECTED_ERROR);return un.packetLengthFromAttr(this.data[3])}appendData(e){this.hasHeader()&&this.expectedPacketLength()>ln.gnpPacketMaxLength&&(this.data=[]),this.data=this.data.concat(e)}hasFullPacket(){if(!this.hasHeader())return!1;const e=this.expectedPacketLength();return this.data.length>=e}getPacketAndReset(){if(!this.hasFullPacket())throw new kt("Trying to get packet but buffer is not complete",$e.UNEXPECTED_ERROR);const e=un.deserialize(Uint8Array.from(this.data));return this.data=[],e}}ln.gnpPacketHeaderLength=6,ln.gnpPacketMaxLength=63;const fn=()=>{};function hn(e){return _t(t=>e(),t=>e(),()=>fn)}const dn=()=>{return e=e=>e.command===Ft.NACK,t=e=>{const t=e.subCommand in Gt?Gt[e.subCommand]:e.subCommand;return new kt("Got NACK response. Reason: "+t,$e.DEVICE_ERROR)},n=>n.pipe(je(n=>e(n)?xe(t(n)):Ae(n)),Et());var e,t},pn=e=>dt(t=>t.type===jt.REPLY&&t.sequenceNumber===e.sequenceNumber&&t.destination===e.source&&t.source===e.destination);class vn{constructor(e,t,n,r,i=0){this.hidChannel=e,this.gnpLock=t,this.transportId=n,this.primaryAddress=r,this.lockQueue=[],this.packets=e.input.pipe(vn.inputFilter),this.events=this.packets.pipe(vn.eventsFilter),this.nextSequenceNumber=i}static get inputFilter(){return e=>{const t=e.pipe(rt(e=>e.usagePage===Ht.GN_PROTOCOL&&e.usage===Ut.DATA&&e.isArray())),n=new ln;return t.pipe(Fe(e=>{const t=e.value;return n.appendData(t),n.hasFullPacket()?Ae(n.getPacketAndReset()):Ze}),gt())}}static supportsGnpOverHid(e){return void 0!==e.findDescriptor(Ht.GN_PROTOCOL,Ut.DATA,en.OUTPUT)}getNextSequenceNumber(){const e=this.nextSequenceNumber;return this.nextSequenceNumber=(this.nextSequenceNumber+1)%255,e}doWithGnpLockHeld(e){this.lockQueue.push(e),this.lockQueue.length>1||this.processLockQueue()}processLockQueue(){this.gnpLock.acquireGnpLock(this.transportId).subscribe(e=>{(0,this.lockQueue[0])(e=>{var t;const n=null===(t=this.hidChannel.findDescriptor(Ht.GN_PROTOCOL,Ut.DATA,en.OUTPUT))||void 0===t?void 0:t.reportSize;if(!n)throw new kt("Cannot send GNP packets to this device.",$e.DEVICE_ERROR);const r=class{static attrFromTypeAndPayloadLength(e,t){return(e<<6)+(t+6)}static serialize(e){const t=new Uint8Array(6);t[0]=e.destination,t[1]=e.source,t[2]=e.sequenceNumber,t[3]=this.attrFromTypeAndPayloadLength(e.type,e.payload.length),t[4]=e.command,t[5]=e.subCommand;const n=new Uint8Array(t.length+e.payload.length);return n.set(t),n.set(e.payload,t.length),n}}.serialize(e);let i=0;do{const e=Math.min(r.length-i,n),t=r.subarray(i,i+e);i+=t.length,this.hidChannel.output(Ht.GN_PROTOCOL,Ut.DATA,Array.from(t))}while(i<r.length)},this.packets,()=>{this.gnpLock.releaseGnpLock(this.transportId,e),this.lockQueue.splice(0,1),this.lockQueue.length>0&&this.processLockQueue()})})}sendEvent(e,t,n=this.primaryAddress){const r=new Vt(n,Mt.PC_ADDR,jt.EVENT,e.command,e.subCommand,e.serialize(t),0);this.doWithGnpLockHeld((e,t,n)=>{e(r),n()})}read(e,t=this.primaryAddress,n=2500){const r=new Yt(e,e=>new Uint8Array);return this.readWithParams(r,null,t,n)}readWithParams(e,t,n=this.primaryAddress,r=2500){const i=new Vt(n,Mt.PC_ADDR,jt.READ,e.command,e.subCommand,e.serialize(t),this.getNextSequenceNumber()),o=new X;return this.doWithGnpLockHeld((t,n,s)=>{n.pipe(pn(i),dn(),dt(e=>e.command===i.command&&e.subCommand===i.subCommand),Ue(r),hn(s),je(t=>e.deserialize(t))).subscribe(o),t(i)}),o}write(e,t,n=this.primaryAddress,r=2500){const i=new Vt(n,Mt.PC_ADDR,jt.WRITE,e.command,e.subCommand,e.serialize(t),this.getNextSequenceNumber()),o=new X;return this.doWithGnpLockHeld((e,t,n)=>{t.pipe(pn(i),dn(),dt(e=>e.command===Ft.ACK),Ue(r),hn(n),je(()=>!0)).subscribe(o),e(i)}),o}}vn.eventsFilter=e=>e.pipe(rt(e=>e.type===jt.EVENT));class gn{constructor(e,t){this.parentGnpChannel=e,this.primaryAddress=t,this.events=e.events.pipe(rt(e=>e.source===this.primaryAddress))}sendEvent(e,t,n){this.parentGnpChannel.sendEvent(e,t,this.primaryAddress)}read(e,t,n){return this.parentGnpChannel.read(e,this.primaryAddress,n)}readWithParams(e,t,n,r){return this.parentGnpChannel.readWithParams(e,t,this.primaryAddress,r)}write(e,t,n,r){return this.parentGnpChannel.write(e,t,this.primaryAddress,r)}}function yn(e,t,n,r){if(!vn.supportsGnpOverHid(e))return xe(()=>new kt("Device does not support GNP commands.",$e.DEVICE_ERROR));const i=Ae(Mt.HS_BT_USB_ADDR,Mt.BASE_ADDR,Mt.CRADLE_ADDR,Mt.HS1_ADDR,Mt.HS_CRADLE_ADDR).pipe(je((r,i)=>Ve(()=>{const o=new vn(e,new rn(t),n,r,i);return o.read(Xt,r,500).pipe(je(e=>o),at(()=>ce))})),Ge(),lt(1),ft(()=>new kt("GNP probe failed.",$e.DEVICE_ERROR)));return it(r.pipe(Fe(e=>xe(()=>new kt("Device was suddenly disconnected.",$e.DEVICE_ERROR)))),i).pipe(gt())}function mn(e,t){return new gn(e,t)}class bn{constructor(){this.primaryAddress=Mt.BASE_ADDR,this.events=Ze}subscribeToEvent(e,t){return xe(()=>new kt("This device does not support GNP commands.",$e.FEATURE_NOT_SUPPORTED))}sendEvent(e,t,n){throw new kt("This device does not support GNP commands.",$e.FEATURE_NOT_SUPPORTED)}read(e,t,n){return xe(()=>new kt("This device does not support GNP commands.",$e.FEATURE_NOT_SUPPORTED))}readWithParams(e,t,n,r){return xe(()=>new kt("This device does not support GNP commands.",$e.FEATURE_NOT_SUPPORTED))}write(e,t,n,r){return xe(()=>new kt("This device does not support GNP commands.",$e.FEATURE_NOT_SUPPORTED))}}class wn{constructor(e){this.transportId=e,this.isChild=!1}equals(e){return this.isChild===e.isChild&&this.transportId===e.transportId}toString(){return this.transportId}}class En{constructor(e,t){this.parentId=e,this.gnpAddress=t,this.isChild=!0,this.transportId=e.transportId}equals(e){if(this.isChild===e.isChild){const t=e;return this.parentId.equals(t.parentId)&&this.gnpAddress===t.gnpAddress}return!1}toString(){return`0x${e=this.gnpAddress,e.toString(16).padStart(2,"0").toUpperCase()}@${this.transportId}`;var e}}var Cn,_n,kn;!function(e){e.NO_TRACKING="no-tracking",e.TRACK_ERRORS="track-errors",e.TRACK_USAGE="track-usage",e.TRACK_ALL="track-all"}(Cn||(Cn={})),function(e){e[e.BLUETOOTH=0]="BLUETOOTH",e[e.INDIRECT=1]="INDIRECT",e[e.USB=2]="USB"}(_n||(_n={})),function(e){e[e.BASE=0]="BASE",e[e.HEADSET=1]="HEADSET",e[e.DESKSTAND=2]="DESKSTAND",e[e.OTHER=3]="OTHER",e[e.DONGLE=4]="DONGLE",e[e.PC=5]="PC",e[e.EHS=6]="EHS",e[e.USB=7]="USB",e[e.SPEAKER_PHONE=8]="SPEAKER_PHONE",e[e.INDICATOR=9]="INDICATOR",e[e.MOBILE=10]="MOBILE",e[e.NONE=11]="NONE",e[e.LOCAL=12]="LOCAL",e[e.DISPLAY=13]="DISPLAY",e[e.HS_CRADLE=14]="HS_CRADLE",e[e.HS_CRADLE2=15]="HS_CRADLE2",e[e.MOBILE_IAP=16]="MOBILE_IAP",e[e.CRADLE=17]="CRADLE",e[e.VIDEO=18]="VIDEO",e[e.NOT_GN=252]="NOT_GN",e[e.ANY_GN=253]="ANY_GN",e[e.NOT_INIT=254]="NOT_INIT",e[e.ANY=255]="ANY"}(kn||(kn={}));class In{constructor(e,t,n,r,i,o,s,a,c,u,l){this.id=e,this.type=t,this.hidChannel=n,this.events=r,this.primaryAddress=i,this.sendEvent=o,this.read=s,this.readWithParams=a,this.write=c,this.onDisconnect=u,this.parentConnectionId=l,this.onDisconnect.subscribe({error:A})}static createConnection(e,t,n,r,i,o){const s=r.sendEvent.bind(r),a=r.read.bind(r),c=r.readWithParams.bind(r),u=r.write.bind(r);return new In(e,t,n,r.events,r.primaryAddress,s,a,c,u,i,o)}}const On=(e=3,t=500)=>n=>n.pipe(Fe((n,r)=>{const i=r+1;return i>e?xe(()=>n):We(i*i*t)}));function Rn(e,t,n,r=1e3,i=3,o=100){return Ve(()=>e.read(t,n,r)).pipe(vt(On(i,o)))}function Tn(e,t,n){const{deviceType:r,address:i}=n;return{transportId:t.transportId,vid:t.vid,pid:Rn(e,$t,i),name:Rn(e,zt,i),serialNumber:Rn(e,Qt,i),capabilities:t.capabilities,deviceType:r,connectionGnpAddress:i}}class Sn{constructor(e,t,n=Tn,r=In.createConnection,i=mn){this.parentConnection=t,this.connectionCreator=r,this.createChildGnpChannel=i;const o=t.events.pipe(rt(e=>e.command===Ft.DEVICE&&e.subCommand===Bt.ATTACH_EVENT),je(e=>({deviceType:e.payload[0],address:e.payload[1]}))).pipe(je(n.bind(null,t,e)));this.connectionEvents=o.pipe(je(e=>{const n=it(t.events.pipe(dt(t=>t.command===Ft.DEVICE&&t.subCommand===Bt.DETACH_EVENT&&t.payload[1]===e.connectionGnpAddress),je(A)),t.onDisconnect);return{attach:e,detach:n}}),Fe(e=>st(Ae(e.attach),this.createConnection(e.attach,e.detach))),je(([e,t])=>({event:e,connection:t})),Ct(t.onDisconnect)),t.sendEvent(Wt,[])}createConnection(e,t){const n=e.connectionGnpAddress,r=this.createChildGnpChannel(this.parentConnection,n),i=new En(this.parentConnection.id,n);return Ae(this.connectionCreator(i,_n.INDIRECT,this.parentConnection.hidChannel,r,t,this.parentConnection.id))}}const An={command:Ft.IDENT,subCommand:Bt.TYPE,deserialize:e=>{const{payload:t}=e,n=t[0];if(n<1||n>=t.length)throw new kt("Cannot get device type.",$e.DEVICE_ERROR);return t[1]}};function xn(e,t,n,r=qe.ERROR,i=ze.JS_LIB){It(`${e} ${function(e){if(e instanceof kt){const t=e;return`JabraError: ${t.message} (type: ${t.type})`}if(e instanceof Error){const t=e;return`Error: ${t.message} (name: ${t.name})`}return"Unknown error: "+e}(t)}`,n,r,i)}function Nn(e){return new Sn(e.event,e.connection).connectionEvents}class Pn{constructor(e,t,n=((e,t,n)=>new cn(e,t,n)),r=yn,i=Nn,o=In.createConnection){this.transport=e,this.logger=t,this.createHidChannel=n,this.createRootGnpChannel=r,this.connectionCreator=o;const s=this.transport.consoleAppEvent.pipe(rt(e=>"attach"===e.event),je(Pn.createAttachEvent),at((e,t)=>(xn("",e,this.logger),t))).pipe(je(e=>{const t=this.transport.consoleAppEvent.pipe(rt(e=>"detach"===e.event),dt(t=>Pn.getTransportId(t)===e.transportId),je(A),mt());return t.subscribe(),{attach:e,detach:t}}),Fe(e=>this.createConnection(e.attach,e.detach)),gt()),a=s.pipe(rt(e=>e.event.deviceType===kn.DONGLE),rt(e=>vn.supportsGnpOverHid(e.connection.hidChannel)),Fe(e=>i(e)));this.connectionEvents=Ke(s,a).pipe(gt())}static convertToReportType(e){switch(e){case"input":return en.INPUT;case"output":return en.OUTPUT;case"feature":return en.FEATURE;default:throw new kt(e+" is not a valid ReportType",$e.UNEXPECTED_ERROR)}}static convertToValueType(e){switch(e){case"absolute":return tn.ABSOLUTE;case"relative":return tn.RELATIVE;default:throw new kt(e+" Not a valid ValueType",$e.UNEXPECTED_ERROR)}}static createDescriptor(e){return e.map(e=>({reportType:Pn.convertToReportType(e.reportType),usagePage:e.usagePage,usage:e.usage,valueType:Pn.convertToValueType(e.valueType),reportSize:e.reportSize}))}static getMandatoryField(e,t){const n=e[t];if(void 0===n)throw new kt(`JSON event lacks required field "${t}: ${JSON.stringify(e)}`,$e.UNEXPECTED_ERROR);return n}static getTransportId(e){return Pn.getMandatoryField(e,"id")}static createAttachEvent(e){return{transportId:Pn.getTransportId(e),vid:Pn.getMandatoryField(e,"vid"),pid:Ae(Pn.getMandatoryField(e,"pid")),name:Ae(Pn.getMandatoryField(e,"name")),serialNumber:Ae(Pn.getMandatoryField(e,"serialNumber")),capabilities:Pn.createDescriptor(Pn.getMandatoryField(e,"descriptor"))}}createConnection(e,t,n=3,r=100){const{capabilities:i,transportId:o}=e,s=new wn(o),a=this.createHidChannel(s,i,this.transport),c=this.createRootGnpChannel(a,this.transport,o,t).pipe(at((e,t)=>(e.type&&e.type===$e.DEVICE_ERROR&&this.transport.context===Xe.WEB_HID&&It("Child devices are not yet supported when using WebHID.",this.logger,qe.WARNING,ze.JS_LIB),Ae(new bn))),gt()),u=c.pipe(Fe(e=>e.read(An)),vt(On(n,r)),at(e=>Ae(kn.ANY)));return st(c,u).pipe(Ct(t),je(([n,r])=>({event:Object.assign(Object.assign({},e),{deviceType:r,connectionGnpAddress:n.primaryAddress}),connection:this.connectionCreator(s,_n.USB,a,n,t)})))}}var Dn,Ln,Hn,Un,Mn;class jn{constructor(e,t,n,r,i,o){this.vendorId=e,this.productId=t,this.serialNumber=n,this.name=r,this.type=i,Ln.set(this,void 0),g(this,Ln,new Rt(o,v(jn,Dn,"m",Un)),"f"),this.connectionAdded=v(this,Ln,"f").itemAdded,this.connectionRemoved=v(this,Ln,"f").itemRemoved,this.connectionList=v(this,Ln,"f").itemList,this.onDisconnect=v(this,Ln,"f").itemList.pipe(bt(1),dt(e=>0===e.length),je(A),gt())}get id(){return sn(this.vendorId,this.productId,this.serialNumber)}get currentConnections(){return v(this,Ln,"f").getValue()}get browserLabel(){return`${this.vendorId.toString(16).padStart(4,"0")}:${this.productId.toString(16).padStart(4,"0")}`}}Dn=jn,Ln=new WeakMap,Un=function(e,t){return v(jn,Dn,"f",Hn).indexOf(e.type)-v(jn,Dn,"f",Hn).indexOf(t.type)},Hn={value:[_n.USB,_n.INDIRECT,_n.BLUETOOTH]};class Fn{constructor(e){this.deviceObservables=new Rt(e)}static exceptionToUndefined(e){try{return e()}catch(e){if(e instanceof kt)return;throw e}}connectionExists(e){return void 0!==Fn.exceptionToUndefined(()=>this.findConnectionById(e))}findConnectionById(e){for(const t of this.deviceObservables.getValue())for(const n of t.currentConnections)if(n.id.equals(e))return n;throw new kt("Could not find connection with id "+e.toString(),$e.UNEXPECTED_ERROR)}findDeviceByDeviceId(e){return this.deviceObservables.getValue().find(t=>t.id.startsWith(e)||e.startsWith(t.id))}}class Bn{constructor(e,t){this.logger=t;const[n,r]=(i=e.pipe(rt(e=>!this.deviceCollection.connectionExists(e.connection.id)),ct(e=>this.force(e))),[rt(o=({event:e,pid:t,serialNumber:n})=>!this.deviceCollection.findDeviceByDeviceId(sn(e.event.vid,t,n)),s)(_e(i)),rt(nt(o,s))(_e(i))]);var i,o,s;const a=n.pipe(je(e=>Bn.createDevice(e,r)));this.deviceCollection=new Fn(a),this.deviceObservables=this.deviceCollection.deviceObservables}force(e){const{name:t,pid:n,serialNumber:r}=e.event,i=e.connection.onDisconnect.pipe((o=xe(()=>new Error(`Connection with ID ${e.connection.id} disconnected`)),y(s)?ct((function(){return o}),s):ct((function(){return o}))));var o,s;return st(t,n,r).pipe(je(([t,n,r])=>({event:e,name:t,pid:n,serialNumber:r})),function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return e.length?q((function(t,n){ot(f([t],l(e)))(n)})):Y}(i),at(e=>(It("Failed to retrieve child connection information. Error: "+e,this.logger,qe.WARNING,ze.JS_LIB),ce)))}static createDevice(e,t){const{event:n,pid:r,name:i,serialNumber:o}=e,{vid:s,deviceType:a}=n.event,c=t.pipe(rt(t=>Bn.isSameDevice(e,t)),je(e=>e.event.connection)),u=Ye(Ae(n.connection),c);return new jn(s,r,o,i,a,u)}static isSameDevice(e,t){const n=sn(e.event.event.vid,e.pid,e.serialNumber),r=sn(t.event.event.vid,t.pid,t.serialNumber);return n.startsWith(r)||r.startsWith(n)}static create(e,t){const n=new Pn(e,t);return new Bn(n.connectionEvents)}}function Gn(e){var t,n,r;return a(this,void 0,void 0,(function*(){const i=null==e?void 0:e.logger;It("Jabra SDK JS starting up...",i,qe.INFO);const o=new Dt(e);o.validateOrganizationKey(),o.validateAppId(),o.validateAppName();const s=null!==(n=null===(t=null==e?void 0:e.internal)||void 0===t?void 0:t.testDeviceTransport)&&void 0!==n?n:yield xt(i,null==e?void 0:e.transport,null===(r=null==e?void 0:e.internal)||void 0===r?void 0:r.recorder);new Nt(s,i);const a=Bn.create(s,i),c=new St(a,s,e);return yield s.connect(),c}))}class Yn{constructor(e,t,n,r){this.deviceId=e,this.usagePage=t,this.usage=n,this.value=r}}class Vn{constructor(e,t){this.token=e,this.value=t}}!function(e){e.UsageReport=class{constructor(e,t){this.usage=e,this.value=t}}}(Mn||(Mn={}));var Wn,Kn,qn,zn,$n,Jn,Xn,Qn,Zn,er,tr=Zt((function(e){!function(t){var n=function(e,t,n){if(!(e instanceof ArrayBuffer||void 0!==i&&e instanceof i))throw new Error("Must specify a valid ArrayBuffer or Buffer.");t=t||0,n=n||e.byteLength||e.length,this._view=new Uint8Array(e.buffer||e,t,n),this.bigEndian=!1};n._scratch=new DataView(new ArrayBuffer(8)),Object.defineProperty(n.prototype,"buffer",{get:function(){return void 0!==i?i.from(this._view.buffer):this._view.buffer},enumerable:!0,configurable:!1}),Object.defineProperty(n.prototype,"byteLength",{get:function(){return this._view.length},enumerable:!0,configurable:!1}),n.prototype._setBit=function(e,t){t?this._view[e>>3]|=1<<(7&e):this._view[e>>3]&=~(1<<(7&e))},n.prototype.getBits=function(e,t,n){var r=8*this._view.length-e;if(t>r)throw new Error("Cannot get "+t+" bit(s) from offset "+e+", "+r+" available");for(var i=0,o=0;o<t;){var s=t-o,a=7&e,c=this._view[e>>3],u=Math.min(s,8-a);this.bigEndian?(i<<=u,i|=c>>8-u-a&~(255<<u)):i|=(c>>a&~(255<<u))<<o,e+=u,o+=u}return n?(32!==t&&i&1<<t-1&&(i|=-1^(1<<t)-1),i):i>>>0},n.prototype.setBits=function(e,t,n){var r=8*this._view.length-e;if(n>r)throw new Error("Cannot set "+n+" bit(s) from offset "+e+", "+r+" available");for(var i=0;i<n;){var o,s,a,c=n-i,u=7&e,l=e>>3,f=Math.min(c,8-u);if(this.bigEndian){s=t>>n-i-f&(o=~(-1<<f));var h=8-u-f;a=~(o<<h),this._view[l]=this._view[l]&a|s<<h}else s=t&(o=~(255<<f)),t>>=f,a=~(o<<u),this._view[l]=this._view[l]&a|s<<u;e+=f,i+=f}},n.prototype.getBoolean=function(e){return 0!==this.getBits(e,1,!1)},n.prototype.getInt8=function(e){return this.getBits(e,8,!0)},n.prototype.getUint8=function(e){return this.getBits(e,8,!1)},n.prototype.getInt16=function(e){return this.getBits(e,16,!0)},n.prototype.getUint16=function(e){return this.getBits(e,16,!1)},n.prototype.getInt32=function(e){return this.getBits(e,32,!0)},n.prototype.getUint32=function(e){return this.getBits(e,32,!1)},n.prototype.getFloat32=function(e){return n._scratch.setUint32(0,this.getUint32(e)),n._scratch.getFloat32(0)},n.prototype.getFloat64=function(e){return n._scratch.setUint32(0,this.getUint32(e)),n._scratch.setUint32(4,this.getUint32(e+32)),n._scratch.getFloat64(0)},n.prototype.setBoolean=function(e,t){this.setBits(e,t?1:0,1)},n.prototype.setInt8=n.prototype.setUint8=function(e,t){this.setBits(e,t,8)},n.prototype.setInt16=n.prototype.setUint16=function(e,t){this.setBits(e,t,16)},n.prototype.setInt32=n.prototype.setUint32=function(e,t){this.setBits(e,t,32)},n.prototype.setFloat32=function(e,t){n._scratch.setFloat32(0,t),this.setBits(e,n._scratch.getUint32(0),32)},n.prototype.setFloat64=function(e,t){n._scratch.setFloat64(0,t),this.setBits(e,n._scratch.getUint32(0),32),this.setBits(e+32,n._scratch.getUint32(4),32)},n.prototype.getArrayBuffer=function(e,t){for(var n=new Uint8Array(t),r=0;r<t;r++)n[r]=this.getUint8(e+8*r);return n};var r=function(e,t){return function(){if(this._index+t>this._length)throw new Error("Trying to read past the end of the stream");var n=this._view[e](this._index);return this._index+=t,n}},o=function(e,t){return function(n){this._view[e](this._index,n),this._index+=t}};function s(e,t,n){if(0===t)return"";var r=0,i=[],o=!0,s=!!t;for(t||(t=Math.floor((e._length-e._index)/8));r<t;){var a=e.readUint8();if(0===a&&(o=!1,!s))break;o&&i.push(a),r++}var c=String.fromCharCode.apply(null,i);if(!n)return c;try{return decodeURIComponent(escape(c))}catch(e){return c}}var a=function(e,t,r){var o=e instanceof ArrayBuffer||void 0!==i&&e instanceof i;if(!(e instanceof n||o))throw new Error("Must specify a valid BitView, ArrayBuffer or Buffer");this._view=o?new n(e,t,r):e,this._index=0,this._startIndex=0,this._length=8*this._view.byteLength};Object.defineProperty(a.prototype,"index",{get:function(){return this._index-this._startIndex},set:function(e){this._index=e+this._startIndex},enumerable:!0,configurable:!0}),Object.defineProperty(a.prototype,"length",{get:function(){return this._length-this._startIndex},set:function(e){this._length=e+this._startIndex},enumerable:!0,configurable:!0}),Object.defineProperty(a.prototype,"bitsLeft",{get:function(){return this._length-this._index},enumerable:!0,configurable:!0}),Object.defineProperty(a.prototype,"byteIndex",{get:function(){return Math.ceil(this._index/8)},set:function(e){this._index=8*e},enumerable:!0,configurable:!0}),Object.defineProperty(a.prototype,"buffer",{get:function(){return this._view.buffer},enumerable:!0,configurable:!1}),Object.defineProperty(a.prototype,"view",{get:function(){return this._view},enumerable:!0,configurable:!1}),Object.defineProperty(a.prototype,"bigEndian",{get:function(){return this._view.bigEndian},set:function(e){this._view.bigEndian=e},enumerable:!0,configurable:!1}),a.prototype.readBits=function(e,t){var n=this._view.getBits(this._index,e,t);return this._index+=e,n},a.prototype.writeBits=function(e,t){this._view.setBits(this._index,e,t),this._index+=t},a.prototype.readBoolean=r("getBoolean",1),a.prototype.readInt8=r("getInt8",8),a.prototype.readUint8=r("getUint8",8),a.prototype.readInt16=r("getInt16",16),a.prototype.readUint16=r("getUint16",16),a.prototype.readInt32=r("getInt32",32),a.prototype.readUint32=r("getUint32",32),a.prototype.readFloat32=r("getFloat32",32),a.prototype.readFloat64=r("getFloat64",64),a.prototype.writeBoolean=o("setBoolean",1),a.prototype.writeInt8=o("setInt8",8),a.prototype.writeUint8=o("setUint8",8),a.prototype.writeInt16=o("setInt16",16),a.prototype.writeUint16=o("setUint16",16),a.prototype.writeInt32=o("setInt32",32),a.prototype.writeUint32=o("setUint32",32),a.prototype.writeFloat32=o("setFloat32",32),a.prototype.writeFloat64=o("setFloat64",64),a.prototype.readASCIIString=function(e){return function(e,t){return s(e,t,!1)}(this,e)},a.prototype.readUTF8String=function(e){return function(e,t){return s(e,t,!0)}(this,e)},a.prototype.writeASCIIString=function(e,t){!function(e,t,n){for(var r=n||t.length+1,i=0;i<r;i++)e.writeUint8(i<t.length?t.charCodeAt(i):0)}(this,e,t)},a.prototype.writeUTF8String=function(e,t){!function(e,t,n){for(var r=function(e){var t,n,r=[];for(t=0;t<e.length;t++)(n=e.charCodeAt(t))<=127?r.push(n):n<=2047?(r.push(n>>6|192),r.push(63&n|128)):n<=65535?(r.push(n>>12|224),r.push(n>>6&63|128),r.push(63&n|128)):(r.push(n>>18|240),r.push(n>>12&63|128),r.push(n>>6&63|128),r.push(63&n|128));return r}(t),i=n||r.length+1,o=0;o<i;o++)e.writeUint8(o<r.length?r[o]:0)}(this,e,t)},a.prototype.readBitStream=function(e){var t=new a(this._view);return t._startIndex=this._index,t._index=this._index,t.length=e,this._index+=e,t},a.prototype.writeBitStream=function(e,t){var n;for(t||(t=e.bitsLeft);t>0;)n=Math.min(t,32),this.writeBits(e.readBits(n),n),t-=n},a.prototype.readArrayBuffer=function(e){var t=this._view.getArrayBuffer(this._index,e);return this._index+=8*e,t},a.prototype.writeArrayBuffer=function(e,t){this.writeBitStream(new a(e),8*t)},e.exports&&(e.exports={BitView:n,BitStream:a})}()}));function nr(){return a(this,void 0,void 0,(function*(){const{hid:e}=window.navigator;if(!e)throw new kt("WebHID not supported",$e.INIT_ERROR);const t=yield e.requestDevice({filters:[{vendorId:Wn.VENDOR_ID}]});return new BroadcastChannel(Wn.PAIRING_CHANNEL).postMessage(null),t}))}!function(e){e[e.VENDOR_ID=2830]="VENDOR_ID",e.PAIRING_CHANNEL="jabra-webhid-pairing-channel"}(Wn||(Wn={})),function(e){e[e.HOOK_SWITCH=32]="HOOK_SWITCH",e[e.GN_PSEUDO_HOOK_SWITCH=65531]="GN_PSEUDO_HOOK_SWITCH",e[e.FLASH=33]="FLASH",e[e.ALT_HOLD=35]="ALT_HOLD",e[e.REDIAL=36]="REDIAL",e[e.ONLINE=42]="ONLINE",e[e.SPEAKER_PHONE=43]="SPEAKER_PHONE",e[e.PHONE_MUTE=47]="PHONE_MUTE",e[e.SEND=49]="SEND",e[e.SPEED_DIAL=80]="SPEED_DIAL",e[e.VOICE_MAIL=112]="VOICE_MAIL",e[e.ANSWER_ON_OFF=116]="ANSWER_ON_OFF",e[e.LINE_BUSY=151]="LINE_BUSY",e[e.RINGER=158]="RINGER",e[e.PHONE_KEY_0=176]="PHONE_KEY_0",e[e.PHONE_KEY_1=177]="PHONE_KEY_1",e[e.PHONE_KEY_2=178]="PHONE_KEY_2",e[e.PHONE_KEY_3=179]="PHONE_KEY_3",e[e.PHONE_KEY_4=180]="PHONE_KEY_4",e[e.PHONE_KEY_5=181]="PHONE_KEY_5",e[e.PHONE_KEY_6=182]="PHONE_KEY_6",e[e.PHONE_KEY_7=183]="PHONE_KEY_7",e[e.PHONE_KEY_8=184]="PHONE_KEY_8",e[e.PHONE_KEY_9=185]="PHONE_KEY_9",e[e.PHONE_KEY_STAR=186]="PHONE_KEY_STAR",e[e.PHONE_KEY_POUND=187]="PHONE_KEY_POUND",e[e.ALT_VOLUME_UP=233]="ALT_VOLUME_UP",e[e.ALT_VOLUME_DOWN=234]="ALT_VOLUME_DOWN",e[e.REJECT_CALL=65533]="REJECT_CALL"}(Kn||(Kn={}));class rr{constructor(e,t,n){this.type=e,this.value=t,this.valueType=n}toString(){return void 0===Kn[this.type]?`Unknown signal: type: ${this.type}, value: ${this.value}, valueType: ${this.valueType}`:`Signal: type: ${Kn[this.type]}, value: ${this.value}, valueType: ${this.valueType}`}}!function(e){e[e.BUTTON=9]="BUTTON",e[e.CONSUMER=12]="CONSUMER",e[e.LED=8]="LED",e[e.TELEPHONY=11]="TELEPHONY",e[e.GN_CONSUMER=65312]="GN_CONSUMER",e[e.GN_EXT_BUTTONS=65360]="GN_EXT_BUTTONS",e[e.GN_LED=65344]="GN_LED",e[e.GN_MISC=65376]="GN_MISC",e[e.GN_TELEPHONY=65328]="GN_TELEPHONY"}(qn||(qn={})),function(e){e[e.MUTE=9]="MUTE",e[e.OFF_HOOK=23]="OFF_HOOK",e[e.RING=24]="RING",e[e.MESSAGE_WAIT=25]="MESSAGE_WAIT",e[e.HOLD=32]="HOLD",e[e.MIC_MUTE=33]="MIC_MUTE",e[e.ONLINE=42]="ONLINE",e[e.HID_OFFLINE=43]="HID_OFFLINE"}(zn||(zn={})),function(e){e[e.HOOK_SWITCH=32]="HOOK_SWITCH",e[e.FLASH=33]="FLASH",e[e.HOLD=35]="HOLD",e[e.REDIAL=36]="REDIAL",e[e.ONLINE=42]="ONLINE",e[e.SPEAKER_PHONE=43]="SPEAKER_PHONE",e[e.MUTE=47]="MUTE",e[e.HID_SEND=49]="HID_SEND",e[e.SPEED_DIAL=80]="SPEED_DIAL",e[e.VOICE_MAIL=112]="VOICE_MAIL",e[e.ANSWER_ON_OFF=116]="ANSWER_ON_OFF",e[e.LINE_BUSY=151]="LINE_BUSY",e[e.RINGER=158]="RINGER",e[e.PHONE_KEY_0=176]="PHONE_KEY_0",e[e.PHONE_KEY_1=177]="PHONE_KEY_1",e[e.PHONE_KEY_2=178]="PHONE_KEY_2",e[e.PHONE_KEY_3=179]="PHONE_KEY_3",e[e.PHONE_KEY_4=180]="PHONE_KEY_4",e[e.PHONE_KEY_5=181]="PHONE_KEY_5",e[e.PHONE_KEY_6=182]="PHONE_KEY_6",e[e.PHONE_KEY_7=183]="PHONE_KEY_7",e[e.PHONE_KEY_8=184]="PHONE_KEY_8",e[e.PHONE_KEY_9=185]="PHONE_KEY_9",e[e.PHONE_KEY_STAR=186]="PHONE_KEY_STAR",e[e.PHONE_KEY_POUND=187]="PHONE_KEY_POUND",e[e.HID_ALT_VOLUME_UP=233]="HID_ALT_VOLUME_UP",e[e.HID_ALT_VOLUME_DOWN=234]="HID_ALT_VOLUME_DOWN",e[e.GN_PSEUDO_HOOK_SWITCH=65531]="GN_PSEUDO_HOOK_SWITCH",e[e.GN_OUT_OF_RANGE=65532]="GN_OUT_OF_RANGE",e[e.GN_REJECT_CALL=65533]="GN_REJECT_CALL",e[e.GN_TELEPHONY_CONT_SET=65535]="GN_TELEPHONY_CONT_SET"}($n||($n={}));class ir{constructor(e,t,n,r,i){this.hidChannel=e,this.onDisconnect=t,this.isSoftphoneInFocus=n,this.lockHeld=r,this.logger=i,this.cachedSignals=new Map}setup(){const e=this.filter().pipe(gt());return e.subscribe(),e}filter(){const e=this.hidChannel.input.pipe(rt(e=>e.usagePage===qn.GN_TELEPHONY&&!e.isArray()),Fe(e=>{const t=this.hidChannel.findDescriptor(e.usagePage,e.usage,en.INPUT);return(null==t?void 0:t.valueType)?Ae(Object.assign(Object.assign({},e),{valueType:t.valueType})):(xn("",new kt(`Unable to find value-type in descriptor for UsagePage: ${e.usagePage} and Usage: ${e.usage}`,$e.FEATURE_NOT_SUPPORTED),this.logger),ce)}),rt(e=>e.valueType===tn.RELATIVE?Boolean(e.value):this.cachedSignals.get(e.usage)!==e.value),_t(e=>{this.cachedSignals.set(e.usage,e.value)}),Ct(this.onDisconnect),gt()),t=[Kn.HOOK_SWITCH,Kn.REDIAL],n=e.pipe(function(e){return t=>t.pipe(function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=fe(e);return q((function(t,r){for(var i=e.length,o=new Array(i),s=e.map((function(){return!1})),a=!1,c=function(t){_e(e[t]).subscribe(z(r,(function(e){o[t]=e,a||s[t]||(s[t]=!0,(a=s.every(Y))&&(s=null))}),A))},u=0;u<i;u++)c(u);t.subscribe(z(r,(function(e){if(a){var t=f([e],l(o));r.next(n?n.apply(void 0,f([],l(t))):t)}})))}))}(e),rt(([e,t])=>t),je(([e,t])=>e))}(this.isSoftphoneInFocus),rt(e=>t.includes(e.usage)&&!this.lockHeld.getValue()));return Ke(e.pipe(rt(e=>this.lockHeld.getValue())),n).pipe(je(e=>new rr(e.usage,0!==e.value,e.valueType)),at(e=>(It(e.message,this.logger),ce)))}}class or{constructor(e,t,n,r,i,o){this.device=e,this.onDisconnect=n,Jn.set(this,void 0),Xn.set(this,new Z(!1)),Qn.set(this,void 0),Zn.set(this,!1),this.deviceSignals=new X,g(this,Jn,r,"f"),v(this,Jn,"f").lockHeld.subscribe(v(this,Xn,"f")),g(this,Qn,t,"f"),this.onDisconnect.pipe(dt(),je(()=>!0)).subscribe(e=>{g(this,Zn,e,"f")});const s=new ir(v(this,Qn,"f"),this.onDisconnect,i,v(this,Xn,"f"),o);this.deviceSignals=s.setup()}checkCallLockHeld(e){if(!v(this,Xn,"f").getValue())throw new kt(e,$e.SDK_USAGE_ERROR)}checkCallLockNotHeld(e){if(v(this,Xn,"f").getValue())throw new kt(e,$e.SDK_USAGE_ERROR)}checkHasDisconnected(){if(v(this,Zn,"f"))throw new kt("CallControl cannot be performed as the connection has disconnected.",$e.SDK_USAGE_ERROR)}takeCallLock(){return this.checkHasDisconnected(),this.checkCallLockNotHeld("Trying to take the call lock, but it is already held!"),Pe(v(this,Jn,"f").tryTakeCallLock())}releaseCallLock(){this.checkHasDisconnected(),this.checkCallLockHeld("Trying to release the call lock, but it is not held!"),v(this,Jn,"f").releaseCallLock()}offHook(e){this.checkHasDisconnected(),this.checkCallLockHeld("Calls can only be started and stopped when the call lock is held.");const t=v(this,Qn,"f").findDescriptor(qn.GN_LED,zn.OFF_HOOK,en.OUTPUT);if(!t)throw new kt(`Device ${this.device.name} does not support any offHook functionality.`,$e.FEATURE_NOT_SUPPORTED);const n=e?1:0;v(this,Qn,"f").output(t.usagePage,t.usage,n)}ring(e){this.checkHasDisconnected(),this.checkCallLockHeld("The ringer state can only be modified when the call lock is held.");const t=v(this,Qn,"f").findDescriptor(qn.GN_LED,zn.RING,en.OUTPUT),n=v(this,Qn,"f").findDescriptor(qn.GN_TELEPHONY,$n.RINGER,en.OUTPUT);if(!t&&!n)throw new kt(`Device ${this.device.name} does not support any ring functionality.`,$e.FEATURE_NOT_SUPPORTED);if(n){const t=e?1:0;v(this,Qn,"f").output(n.usagePage,n.usage,t)}if(t){const n=e?1:0;v(this,Qn,"f").output(t.usagePage,t.usage,n)}}mute(e){this.checkHasDisconnected(),this.checkCallLockHeld("The mute state can only be modified when the call lock is held.");let t=v(this,Qn,"f").findDescriptor(qn.GN_LED,zn.MIC_MUTE,en.OUTPUT);if(t||(t=v(this,Qn,"f").findDescriptor(qn.GN_LED,zn.MUTE,en.OUTPUT)),!t)throw new kt(`Device ${this.device.name} does not support any mute functionality.`,$e.FEATURE_NOT_SUPPORTED);const n=e?1:0;v(this,Qn,"f").output(t.usagePage,t.usage,n)}hold(e){this.checkHasDisconnected(),this.checkCallLockHeld("The hold state can only be modified when the call lock is held.");const t=v(this,Qn,"f").findDescriptor(qn.GN_LED,zn.HOLD,en.OUTPUT);if(!t)throw new kt(`Device ${this.device.name} does not support hold functionality.`,$e.FEATURE_NOT_SUPPORTED);const n=e?1:0;v(this,Qn,"f").output(t.usagePage,t.usage,n)}}Jn=new WeakMap,Xn=new WeakMap,Qn=new WeakMap,Zn=new WeakMap,function(e){e[e.STD_TELEPHONY=0]="STD_TELEPHONY",e[e.GN_TELEPHONY=1]="GN_TELEPHONY"}(er||(er={}));const sr={[Lt.SKYPE]:er.GN_TELEPHONY,[Lt.CISCO]:er.GN_TELEPHONY,[Lt.AVAYA]:er.GN_TELEPHONY,[Lt.SIEMENS]:er.GN_TELEPHONY,[Lt.IBM]:er.GN_TELEPHONY,[Lt.AASTRA]:er.GN_TELEPHONY,[Lt.JABRA]:er.GN_TELEPHONY,[Lt.NEC]:er.GN_TELEPHONY,[Lt.SHORETEL]:er.GN_TELEPHONY,[Lt.MS_OC]:er.STD_TELEPHONY,[Lt.ALCATEL]:er.STD_TELEPHONY,[Lt.OTHER]:er.STD_TELEPHONY,[Lt.NORTEL]:null,[Lt.GENERIC]:null};class ar{constructor(e,t,n){this.connectionCallLock=e,this.device=t,this.logger=n,this.lockHeld=new Z(!1),this.currentLocks=new Z(new Set),this.lockReleaseEvent=new X}tryTakeCallLock(){const{currentConnections:e}=this.device,t=new Set,n=Ve(()=>Se(e).pipe(ct(e=>this.takeSingleCallLock(e).pipe(at(e=>(xn("DeviceCallLock:",e,this.logger),Ae(""))))),_t(e=>t.add(e)))).pipe(function(e,t){var n=arguments.length>=2;return function(r){return r.pipe(e?rt((function(t,n){return e(t,n,r)})):Y,pt(1),n?ut(t):ft((function(){return new Ne})))}}(),je(n=>(t.delete(""),this.currentLocks.next(t),t.size!==e.length?(this.releaseCallLock(),!1):(this.lockHeld.next(!0),!0))),mt());return n.subscribe(e=>{e&&(this.acquireLockOnNextConnectionEmit(),this.releaseLockOnRemovedConnectionEmit())}),n}acquireLockOnNextConnectionEmit(){this.device.connectionAdded.pipe(Ct(this.lockReleaseEvent)).subscribe(e=>{this.takeSingleCallLock(e).pipe(Ct(this.lockReleaseEvent),je(e=>(this.currentLocks.getValue().add(e),this.currentLocks.next(this.currentLocks.getValue()),A)),vt(On())).subscribe({error:e=>{It("Failed to acquire the call lock on a new connection.\n Another softphone running an old SDK has most likely acquired this lock.\n Full error: "+e,this.logger,qe.WARNING,ze.JS_LIB)}})})}releaseLockOnRemovedConnectionEmit(){this.device.connectionRemoved.pipe(Ct(this.lockReleaseEvent)).subscribe(e=>this.releaseSingleCallLock(e.id.transportId))}takeSingleCallLock(e){return Ve(()=>this.connectionCallLock.tryTakeCallLock(e.id.transportId)).pipe(je(t=>t.acquired?Ae(t.transportId):xe(()=>new kt("Failed to acquire call lock on connection "+e.id.transportId,$e.SDK_USAGE_ERROR))),Et())}releaseCallLock(){this.lockReleaseEvent.next(),[...this.currentLocks.getValue()].forEach(e=>{this.releaseSingleCallLock(e)}),this.currentLocks.getValue().clear(),this.currentLocks.next(this.currentLocks.getValue())}releaseSingleCallLock(e){this.connectionCallLock.releaseCallLock(e),this.currentLocks.getValue().delete(e),this.currentLocks.next(this.currentLocks.getValue()),0!==this.currentLocks.getValue().size&&0!==this.device.currentConnections.length||(this.lockReleaseEvent.next(),this.lockHeld.next(!1))}}class cr{constructor(e){this.transport=e}tryTakeCallLock(e){const t={action:"request-call-lock",id:e};return this.transport.writeAction(t),this.transport.consoleAppEvent.pipe(rt(t=>"response-call-lock"===t.event&&t.id===e),je(e=>({transportId:e.id,acquired:e.acquired})),dt())}releaseCallLock(e){const t={action:"release-call-lock",id:e};this.transport.writeAction(t)}}const ur=[{usagePage:qn.GN_LED,usage:zn.OFF_HOOK,reportType:en.OUTPUT},{usagePage:qn.GN_LED,usage:zn.RING,reportType:en.OUTPUT},{usagePage:qn.GN_TELEPHONY,usage:$n.RINGER,reportType:en.OUTPUT},{usagePage:qn.GN_LED,usage:zn.MIC_MUTE,reportType:en.OUTPUT},{usagePage:qn.GN_LED,usage:zn.MUTE,reportType:en.OUTPUT},{usagePage:qn.GN_LED,usage:zn.HOLD,reportType:en.OUTPUT}],lr=[_n.USB,_n.INDIRECT,_n.BLUETOOTH];function fr(e){const{currentConnections:t,type:n}=e;var r;return(r=t,[...r].sort((e,t)=>lr.indexOf(e.type)-lr.indexOf(t.type))).find(e=>function(e,t){const{hidChannel:n}=e;return!!function(e){return ur.some(({usagePage:t,usage:n,reportType:r})=>e.findDescriptor(t,n,r))}(n)&&(!vn.supportsGnpOverHid(n)||t!==kn.DONGLE&&t!==kn.OTHER)}(e,n))}function hr(e,t,n,r,i){const o=fr(e),{hidChannel:s,onDisconnect:a}=o,c=new ar(new cr(r),e,i);return t||r.context===Xe.WEB_HID?Ae(new or(e,s,a,c,n.softphoneInFocus,i)):function(e,t){return e.findDescriptor(qn.GN_TELEPHONY,$n.GN_TELEPHONY_CONT_SET,en.FEATURE)?Ve(()=>(e.setFeatureReport(qn.GN_TELEPHONY,$n.GN_TELEPHONY_CONT_SET,1),Ae(!0))):t?function(e,t){const n=e.read(Jt).pipe(je(e=>sr[e]===t)),r=e.read(new qt).pipe(je(e=>e.find(e=>sr[e]===t))).pipe(je(t=>t?e.write(Jt,t):Ae(!1)),Et());return n.pipe((i=Ae(!0),o=r,e=>e.pipe(je(e=>e?i:o),Et())));var i,o}(t,er.GN_TELEPHONY):Ae(!1)}(s,o).pipe(je(t=>new or(e,s,a,c,n.softphoneInFocus,i)))}class dr{constructor(e,t){this.devComm=e,this.softphoneInFocus=new W,this.softphoneInFocus=t.pipe(dt(),Fe(e=>this.devComm.consoleAppEvent.pipe(rt(e=>"softphone-in-focus"===e.event),je(e=>e.infocus),function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=he(e);return q((function(t,r){(n?Ye(e,t,n):Ye(e,t)).subscribe(r)}))}(!e),mt(1)))),this.softphoneInFocus.subscribe(()=>{})}setSharedSoftphoneInfo(e){if(!(null==e?void 0:e.partnerKey)||!(null==e?void 0:e.appId))return void It("Unable to register with Jabra Direct: partnerKey or appId missing in config",null==e?void 0:e.logger,qe.WARNING);const t=e.partnerKey+e.appId,n=new nn(5,"ns:OID",t);let{appName:r}=e;if((!e.appName||e.appName.length<3)&&(It("App name missing in config. Fall back to use appId as app name.",null==e?void 0:e.logger,qe.WARNING),r=e.appId),r.length>100)return void It("Unable to register with Jabra Direct: appName must be below 100 characters.",null==e?void 0:e.logger,qe.WARNING);const i={action:"set-softphone-info",name:r,id:n.toString()};this.devComm.writeAction(i)}}var pr,vr,gr,yr,mr,br,wr,Er;class Cr{constructor(e){var t;pr.set(this,void 0),vr.set(this,void 0),gr.set(this,void 0),yr.set(this,void 0),g(this,yr,e._readyEvents.pipe(dt(e=>"ready"===e.event),je(e=>e.jabraDirectInstalled)),"f"),g(this,vr,new dr(e._transport,v(this,yr,"f")),"f"),v(this,vr,"f").setSharedSoftphoneInfo(e._config),g(this,pr,e._transport,"f"),g(this,gr,null===(t=e._config)||void 0===t?void 0:t.logger,"f")}createCallControl(e){return this.supportsCallControl(e)?De(v(this,yr,"f").pipe(Fe(t=>hr(e,t,v(this,vr,"f"),v(this,pr,"f"),v(this,gr,"f"))))):Promise.reject(new kt(`Device ${e.name} does not support call control.`,$e.FEATURE_NOT_SUPPORTED))}supportsCallControl(e){return void 0!==fr(e)}}pr=new WeakMap,vr=new WeakMap,gr=new WeakMap,yr=new WeakMap,function(e){e.HOLD_CURRENT="hold-current",e.END_CURRENT="end-current"}(mr||(mr={})),function(e){e.MUTED="muted",e.UNMUTED="unmuted",e.NO_ONGOING_CALLS="no-ongoing-calls"}(br||(br={})),function(e){e.ON_HOLD="on-hold",e.NOT_ON_HOLD="not-on-hold",e.NO_ONGOING_CALLS="no-ongoing-calls"}(wr||(wr={})),function(e){e.NO_INCOMING="no-incoming",e.AWAITING_RESPONSE="awaiting-response",e.RESOLVING_RESPONSE="resolving-response",e.ACCEPTED="accepted",e.REJECTED="rejected"}(Er||(Er={}));new WeakMap;new WeakMap;br.NO_ONGOING_CALLS,wr.NO_ONGOING_CALLS,Er.NO_INCOMING;new WeakMap,new WeakMap;new WeakMap,new WeakMap}).call(this,n(14),n(5),n(15).Buffer)},function(e,t,n){"use strict";var r;n.d(t,"a",(function(){return r})),function(e){e.implementationChanged="implementationChanged",e.deviceHoldStatusChanged="deviceHoldStatusChanged",e.deviceMuteStatusChanged="deviceMuteStatusChanged",e.deviceAnsweredCall="deviceAnsweredCall",e.deviceEndedCall="deviceEndedCall",e.deviceRejectedCall="deviceRejectedCall",e.loggableEvent="loggableEvent",e.webHidPermissionRequested="webHidPermissionRequested",e.deviceConnectionStatusChanged="deviceConnectionStatusChanged",e.deviceEventLogs="deviceEventLogs"}(r||(r={}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return p}));var r=n(4);function i(e){return(i="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 o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){d(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function a(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function c(e,t){return(c=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function u(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=h(e);if(t){var i=h(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return l(this,n)}}function l(e,t){if(t&&("object"===i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return f(e)}function f(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function h(e){return(h=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function d(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var p=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&c(e,t)}(l,e);var t,n,i,o=u(l);function l(e){var t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,l),d(f(t=o.call(this)),"vendorName","Not Specified"),d(f(t),"isConnecting",!1),d(f(t),"isConnected",!1),d(f(t),"isMuted",!1),d(f(t),"errorCode",null),d(f(t),"disableRetry",!1),d(f(t),"logger",void 0),d(f(t),"config",void 0);var n=new r.EventEmitter;return Object.keys(n.__proto__).forEach((function(e){t[e]=n[e]})),t.config=e,t.vendorName=e.vendorName,t.logger=e.logger,t}return t=l,(n=[{key:"isDeviceAttached",get:function(){throw new Error("".concat(this.vendorName," - isDeviceAttatched getter not implemented"))}},{key:"isSupported",value:function(){return!0}},{key:"deviceLabelMatchesVendor",value:function(e){throw new Error("".concat(this.vendorName," - deviceLabelMatchesVendor() not implemented"))}},{key:"connect",value:function(e){return Promise.reject(new Error("".concat(this.vendorName," - connect() not implemented")))}},{key:"disconnect",value:function(e){return Promise.reject(new Error("".concat(this.vendorName," - disconnect() not implemented")))}},{key:"incomingCall",value:function(e,t){return Promise.reject(new Error("".concat(this.vendorName," - incomingCall() not implemented")))}},{key:"outgoingCall",value:function(e){return Promise.reject(new Error("".concat(this.vendorName," - outgoingCall() not implemented")))}},{key:"answerCall",value:function(e,t){return Promise.reject(new Error("".concat(this.vendorName," - answerCall() not implemented")))}},{key:"rejectCall",value:function(e){return Promise.reject(new Error("".concat(this.vendorName," - rejectCall() not implemented")))}},{key:"endCall",value:function(e,t){return Promise.reject(new Error("".concat(this.vendorName," - endCall() not implemented")))}},{key:"endAllCalls",value:function(){return Promise.reject(new Error("".concat(this.vendorName," - endAllCalls() not implemented")))}},{key:"setMute",value:function(e){return Promise.reject(new Error("".concat(this.vendorName," - setMute() not implemented")))}},{key:"setHold",value:function(e,t){return Promise.reject(new Error("".concat(this.vendorName," - setHold() not implemented")))}},{key:"resetHeadsetStateForCall",value:function(e){return this.rejectCall(e)}},{key:"emitEvent",value:function(e,t){this.emit(e,{vendor:this,body:s({},t)})}},{key:"requestWebHidPermissions",value:function(e){this.logger.debug("Emitting premission request event"),this.emitEvent("webHidPermissionRequested",{callback:e})}},{key:"deviceAnsweredCall",value:function(e){this.emitEvent("deviceAnsweredCall",e)}},{key:"deviceRejectedCall",value:function(e){this.emitEvent("deviceRejectedCall",e)}},{key:"deviceEndedCall",value:function(e){this.emitEvent("deviceEndedCall",e)}},{key:"deviceMuteChanged",value:function(e){this.emitEvent("deviceMuteStatusChanged",s({},e))}},{key:"deviceHoldStatusChanged",value:function(e){this.emitEvent("deviceHoldStatusChanged",s({},e))}},{key:"deviceEventLogs",value:function(e){this.emitEvent("deviceEventLogs",e)}},{key:"changeConnectionStatus",value:function(e){this.isConnected=e.isConnected,this.isConnecting=e.isConnecting,this.emitEvent("deviceConnectionStatusChanged",s({currentVendor:this},e))}}])&&a(t.prototype,n),i&&a(t,i),Object.defineProperty(t,"prototype",{writable:!1}),l}(r.EventEmitter)},function(e,t,n){e.exports=function(){"use strict";var e="undefined"==typeof window,t=!1,n=!1,r=!1,i=!1,o=!1,s=!1,a=!1,c=!1,u=!1,l=!1;return e||(t="undefined"!=typeof InstallTrigger,n=!!window.chrome,r=!!window.chrome,i=n&&!window.chrome.webstore&&!window.chrome.runtime,o=0<Object.prototype.toString.call(window.HTMLElement).indexOf("Constructor")||window.safari&&window.safari.pushNotification,s=!!window.opr&&!!window.opr.addons||!!window.opera,a=!!window.StyleMedia,c=n&&!!navigator.userAgent.match(/edg/i),u=(r||s)&&!!window.CSS,l=!(n||o||t||s||!document.documentMode)),{get isChrome(){return r},get isChromeOrChromium(){return n},get isChromium(){return i},get isFirefox(){return t},get isSafari(){return o},get isOpera(){return s},get isEdge(){return a},get isEdgeChromium(){return c},get isIE(){return l},get isBlink(){return u}}}()},function(e,t,n){"use strict";var r,i="object"==typeof Reflect?Reflect:null,o=i&&"function"==typeof i.apply?i.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};r=i&&"function"==typeof i.ownKeys?i.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var s=Number.isNaN||function(e){return e!=e};function a(){a.init.call(this)}e.exports=a,e.exports.once=function(e,t){return new Promise((function(n,r){function i(n){e.removeListener(t,o),r(n)}function o(){"function"==typeof e.removeListener&&e.removeListener("error",i),n([].slice.call(arguments))}y(e,t,o,{once:!0}),"error"!==t&&function(e,t,n){"function"==typeof e.on&&y(e,"error",t,n)}(e,i,{once:!0})}))},a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var c=10;function u(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function l(e){return void 0===e._maxListeners?a.defaultMaxListeners:e._maxListeners}function f(e,t,n,r){var i,o,s,a;if(u(n),void 0===(o=e._events)?(o=e._events=Object.create(null),e._eventsCount=0):(void 0!==o.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),o=e._events),s=o[t]),void 0===s)s=o[t]=n,++e._eventsCount;else if("function"==typeof s?s=o[t]=r?[n,s]:[s,n]:r?s.unshift(n):s.push(n),(i=l(e))>0&&s.length>i&&!s.warned){s.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=e,c.type=t,c.count=s.length,a=c,console&&console.warn&&console.warn(a)}return e}function h(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function d(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},i=h.bind(r);return i.listener=n,r.wrapFn=i,i}function p(e,t,n){var r=e._events;if(void 0===r)return[];var i=r[t];return void 0===i?[]:"function"==typeof i?n?[i.listener||i]:[i]:n?function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(i):g(i,i.length)}function v(e){var t=this._events;if(void 0!==t){var n=t[e];if("function"==typeof n)return 1;if(void 0!==n)return n.length}return 0}function g(e,t){for(var n=new Array(t),r=0;r<t;++r)n[r]=e[r];return n}function y(e,t,n,r){if("function"==typeof e.on)r.once?e.once(t,n):e.on(t,n);else{if("function"!=typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e);e.addEventListener(t,(function i(o){r.once&&e.removeEventListener(t,i),n(o)}))}}Object.defineProperty(a,"defaultMaxListeners",{enumerable:!0,get:function(){return c},set:function(e){if("number"!=typeof e||e<0||s(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");c=e}}),a.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},a.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||s(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},a.prototype.getMaxListeners=function(){return l(this)},a.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var r="error"===e,i=this._events;if(void 0!==i)r=r&&void 0===i.error;else if(!r)return!1;if(r){var s;if(t.length>0&&(s=t[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var c=i[e];if(void 0===c)return!1;if("function"==typeof c)o(c,this,t);else{var u=c.length,l=g(c,u);for(n=0;n<u;++n)o(l[n],this,t)}return!0},a.prototype.addListener=function(e,t){return f(this,e,t,!1)},a.prototype.on=a.prototype.addListener,a.prototype.prependListener=function(e,t){return f(this,e,t,!0)},a.prototype.once=function(e,t){return u(t),this.on(e,d(this,e,t)),this},a.prototype.prependOnceListener=function(e,t){return u(t),this.prependListener(e,d(this,e,t)),this},a.prototype.removeListener=function(e,t){var n,r,i,o,s;if(u(t),void 0===(r=this._events))return this;if(void 0===(n=r[e]))return this;if(n===t||n.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete r[e],r.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(i=-1,o=n.length-1;o>=0;o--)if(n[o]===t||n[o].listener===t){s=n[o].listener,i=o;break}if(i<0)return this;0===i?n.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(n,i),1===n.length&&(r[e]=n[0]),void 0!==r.removeListener&&this.emit("removeListener",e,s||t)}return this},a.prototype.off=a.prototype.removeListener,a.prototype.removeAllListeners=function(e){var t,n,r;if(void 0===(n=this._events))return this;if(void 0===n.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==n[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete n[e]),this;if(0===arguments.length){var i,o=Object.keys(n);for(r=0;r<o.length;++r)"removeListener"!==(i=o[r])&&this.removeAllListeners(i);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(void 0!==t)for(r=t.length-1;r>=0;r--)this.removeListener(e,t[r]);return this},a.prototype.listeners=function(e){return p(this,e,!0)},a.prototype.rawListeners=function(e){return p(this,e,!1)},a.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):v.call(e,t)},a.prototype.listenerCount=v,a.prototype.eventNames=function(){return this._eventsCount>0?r(this._events):[]}},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t){},function(e,t){},function(e,t,n){},function(e,t){},function(e,t,n){var r,i,o;i=[t,e],void 0===(o="function"==typeof(r=function(e,t){"use strict";var n=5e3,r="callback";function i(){return"jsonp_"+Date.now()+"_"+Math.ceil(1e5*Math.random())}function o(e){try{delete window[e]}catch(t){window[e]=void 0}}function s(e){var t=document.getElementById(e);t&&document.getElementsByTagName("head")[0].removeChild(t)}t.exports=function(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],a=e,c=t.timeout||n,u=t.jsonpCallback||r,l=void 0;return new Promise((function(n,r){var f=t.jsonpCallbackFunction||i(),h=u+"_"+f;window[f]=function(e){n({ok:!0,json:function(){return Promise.resolve(e)}}),l&&clearTimeout(l),s(h),o(f)},a+=-1===a.indexOf("?")?"?":"&";var d=document.createElement("script");d.setAttribute("src",""+a+u+"="+f),t.charset&&d.setAttribute("charset",t.charset),t.nonce&&d.setAttribute("nonce",t.nonce),t.referrerPolicy&&d.setAttribute("referrerPolicy",t.referrerPolicy),d.id=h,document.getElementsByTagName("head")[0].appendChild(d),l=setTimeout((function(){r(new Error("JSONP request to "+e+" timed out")),o(f),s(h),window[f]=function(){o(f)}}),c),d.onerror=function(){r(new Error("JSONP request to "+e+" failed")),o(f),s(h),l&&clearTimeout(l)}}))}})?r.apply(t,i):r)||(e.exports=o)},function(e,t,n){"use strict";n.d(t,"a",(function(){return an}));var r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}function o(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{c(r.next(e))}catch(e){o(e)}}function a(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((r=r.apply(e,t||[])).next())}))}function s(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}Object.create;function a(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function c(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s}function u(e,t,n){if(n||2===arguments.length)for(var r,i=0,o=t.length;i<o;i++)!r&&i in t||(r||(r=Array.prototype.slice.call(t,0,i)),r[i]=t[i]);return e.concat(r||Array.prototype.slice.call(t))}function l(e){return this instanceof l?(this.v=e,this):new l(e)}function f(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,i=n.apply(e,t||[]),o=[];return r={},s("next"),s("throw"),s("return"),r[Symbol.asyncIterator]=function(){return this},r;function s(e){i[e]&&(r[e]=function(t){return new Promise((function(n,r){o.push([e,t,n,r])>1||a(e,t)}))})}function a(e,t){try{(n=i[e](t)).value instanceof l?Promise.resolve(n.value.v).then(c,u):f(o[0][2],n)}catch(e){f(o[0][3],e)}var n}function c(e){a("next",e)}function u(e){a("throw",e)}function f(e,t){e(t),o.shift(),o.length&&a(o[0][0],o[0][1])}}function h(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=a(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,i){(function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)})(r,i,(t=e[n](t)).done,t.value)}))}}}Object.create;function d(e){return"function"==typeof e}function p(e){var t=e((function(e){Error.call(e),e.stack=(new Error).stack}));return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}var v=p((function(e){return function(t){e(this),this.message=t?t.length+" errors occurred during unsubscription:\n"+t.map((function(e,t){return t+1+") "+e.toString()})).join("\n "):"",this.name="UnsubscriptionError",this.errors=t}}));function g(e,t){if(e){var n=e.indexOf(t);0<=n&&e.splice(n,1)}}var y=function(){function e(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var e,t,n,r,i;if(!this.closed){this.closed=!0;var o=this._parentage;if(o)if(this._parentage=null,Array.isArray(o))try{for(var s=a(o),l=s.next();!l.done;l=s.next()){l.value.remove(this)}}catch(t){e={error:t}}finally{try{l&&!l.done&&(t=s.return)&&t.call(s)}finally{if(e)throw e.error}}else o.remove(this);var f=this.initialTeardown;if(d(f))try{f()}catch(e){i=e instanceof v?e.errors:[e]}var h=this._finalizers;if(h){this._finalizers=null;try{for(var p=a(h),g=p.next();!g.done;g=p.next()){var y=g.value;try{w(y)}catch(e){i=null!=i?i:[],e instanceof v?i=u(u([],c(i)),c(e.errors)):i.push(e)}}}catch(e){n={error:e}}finally{try{g&&!g.done&&(r=p.return)&&r.call(p)}finally{if(n)throw n.error}}}if(i)throw new v(i)}},e.prototype.add=function(t){var n;if(t&&t!==this)if(this.closed)w(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(n=this._finalizers)&&void 0!==n?n:[]).push(t)}},e.prototype._hasParent=function(e){var t=this._parentage;return t===e||Array.isArray(t)&&t.includes(e)},e.prototype._addParent=function(e){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e},e.prototype._removeParent=function(e){var t=this._parentage;t===e?this._parentage=null:Array.isArray(t)&&g(t,e)},e.prototype.remove=function(t){var n=this._finalizers;n&&g(n,t),t instanceof e&&t._removeParent(this)},e.EMPTY=function(){var t=new e;return t.closed=!0,t}(),e}(),m=y.EMPTY;function b(e){return e instanceof y||e&&"closed"in e&&d(e.remove)&&d(e.add)&&d(e.unsubscribe)}function w(e){d(e)?e():e.unsubscribe()}var E={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},C={setTimeout:function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];var i=C.delegate;return(null==i?void 0:i.setTimeout)?i.setTimeout.apply(i,u([e,t],c(n))):setTimeout.apply(void 0,u([e,t],c(n)))},clearTimeout:function(e){var t=C.delegate;return((null==t?void 0:t.clearTimeout)||clearTimeout)(e)},delegate:void 0};function _(e){C.setTimeout((function(){var t=E.onUnhandledError;if(!t)throw e;t(e)}))}function k(){}var I=O("C",void 0,void 0);function O(e,t,n){return{kind:e,value:t,error:n}}var R=null;function T(e){if(E.useDeprecatedSynchronousErrorHandling){var t=!R;if(t&&(R={errorThrown:!1,error:null}),e(),t){var n=R,r=n.errorThrown,i=n.error;if(R=null,r)throw i}}else e()}var S=function(e){function t(t){var n=e.call(this)||this;return n.isStopped=!1,t?(n.destination=t,b(t)&&t.add(n)):n.destination=H,n}return i(t,e),t.create=function(e,t,n){return new P(e,t,n)},t.prototype.next=function(e){this.isStopped?L(function(e){return O("N",e,void 0)}(e),this):this._next(e)},t.prototype.error=function(e){this.isStopped?L(O("E",void 0,e),this):(this.isStopped=!0,this._error(e))},t.prototype.complete=function(){this.isStopped?L(I,this):(this.isStopped=!0,this._complete())},t.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,e.prototype.unsubscribe.call(this),this.destination=null)},t.prototype._next=function(e){this.destination.next(e)},t.prototype._error=function(e){try{this.destination.error(e)}finally{this.unsubscribe()}},t.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},t}(y),A=Function.prototype.bind;function x(e,t){return A.call(e,t)}var N=function(){function e(e){this.partialObserver=e}return e.prototype.next=function(e){var t=this.partialObserver;if(t.next)try{t.next(e)}catch(e){D(e)}},e.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(e){D(e)}else D(e)},e.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(e){D(e)}},e}(),P=function(e){function t(t,n,r){var i,o,s=e.call(this)||this;d(t)||!t?i={next:null!=t?t:void 0,error:null!=n?n:void 0,complete:null!=r?r:void 0}:s&&E.useDeprecatedNextContext?((o=Object.create(t)).unsubscribe=function(){return s.unsubscribe()},i={next:t.next&&x(t.next,o),error:t.error&&x(t.error,o),complete:t.complete&&x(t.complete,o)}):i=t;return s.destination=new N(i),s}return i(t,e),t}(S);function D(e){var t;E.useDeprecatedSynchronousErrorHandling?(t=e,E.useDeprecatedSynchronousErrorHandling&&R&&(R.errorThrown=!0,R.error=t)):_(e)}function L(e,t){var n=E.onStoppedNotification;n&&C.setTimeout((function(){return n(e,t)}))}var H={closed:!0,next:k,error:function(e){throw e},complete:k},U="function"==typeof Symbol&&Symbol.observable||"@@observable";function M(e){return e}function j(e){return 0===e.length?M:1===e.length?e[0]:function(t){return e.reduce((function(e,t){return t(e)}),t)}}var F=function(){function e(e){e&&(this._subscribe=e)}return e.prototype.lift=function(t){var n=new e;return n.source=this,n.operator=t,n},e.prototype.subscribe=function(e,t,n){var r,i=this,o=(r=e)&&r instanceof S||function(e){return e&&d(e.next)&&d(e.error)&&d(e.complete)}(r)&&b(r)?e:new P(e,t,n);return T((function(){var e=i,t=e.operator,n=e.source;o.add(t?t.call(o,n):n?i._subscribe(o):i._trySubscribe(o))})),o},e.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.error(t)}},e.prototype.forEach=function(e,t){var n=this;return new(t=B(t))((function(t,r){var i=new P({next:function(t){try{e(t)}catch(e){r(e),i.unsubscribe()}},error:r,complete:t});n.subscribe(i)}))},e.prototype._subscribe=function(e){var t;return null===(t=this.source)||void 0===t?void 0:t.subscribe(e)},e.prototype[U]=function(){return this},e.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return j(e)(this)},e.prototype.toPromise=function(e){var t=this;return new(e=B(e))((function(e,n){var r;t.subscribe((function(e){return r=e}),(function(e){return n(e)}),(function(){return e(r)}))}))},e.create=function(t){return new e(t)},e}();function B(e){var t;return null!==(t=null!=e?e:E.Promise)&&void 0!==t?t:Promise}var G,Y=p((function(e){return function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}})),V=function(e){function t(){var t=e.call(this)||this;return t.closed=!1,t.currentObservers=null,t.observers=[],t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return i(t,e),t.prototype.lift=function(e){var t=new W(this,this);return t.operator=e,t},t.prototype._throwIfClosed=function(){if(this.closed)throw new Y},t.prototype.next=function(e){var t=this;T((function(){var n,r;if(t._throwIfClosed(),!t.isStopped){t.currentObservers||(t.currentObservers=Array.from(t.observers));try{for(var i=a(t.currentObservers),o=i.next();!o.done;o=i.next()){o.value.next(e)}}catch(e){n={error:e}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}}}))},t.prototype.error=function(e){var t=this;T((function(){if(t._throwIfClosed(),!t.isStopped){t.hasError=t.isStopped=!0,t.thrownError=e;for(var n=t.observers;n.length;)n.shift().error(e)}}))},t.prototype.complete=function(){var e=this;T((function(){if(e._throwIfClosed(),!e.isStopped){e.isStopped=!0;for(var t=e.observers;t.length;)t.shift().complete()}}))},t.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(t.prototype,"observed",{get:function(){var e;return(null===(e=this.observers)||void 0===e?void 0:e.length)>0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(t){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,t)},t.prototype._subscribe=function(e){return this._throwIfClosed(),this._checkFinalizedStatuses(e),this._innerSubscribe(e)},t.prototype._innerSubscribe=function(e){var t=this,n=this.hasError,r=this.isStopped,i=this.observers;return n||r?m:(this.currentObservers=null,i.push(e),new y((function(){t.currentObservers=null,g(i,e)})))},t.prototype._checkFinalizedStatuses=function(e){var t=this.hasError,n=this.thrownError,r=this.isStopped;t?e.error(n):r&&e.complete()},t.prototype.asObservable=function(){var e=new F;return e.source=this,e},t.create=function(e,t){return new W(e,t)},t}(F),W=function(e){function t(t,n){var r=e.call(this)||this;return r.destination=t,r.source=n,r}return i(t,e),t.prototype.next=function(e){var t,n;null===(n=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===n||n.call(t,e)},t.prototype.error=function(e){var t,n;null===(n=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===n||n.call(t,e)},t.prototype.complete=function(){var e,t;null===(t=null===(e=this.destination)||void 0===e?void 0:e.complete)||void 0===t||t.call(e)},t.prototype._subscribe=function(e){var t,n;return null!==(n=null===(t=this.source)||void 0===t?void 0:t.subscribe(e))&&void 0!==n?n:m},t}(V),K=n(10),q=n.n(K),z=n(2);!function(e){e[e.Unknown=0]="Unknown",e[e.AcceptCall=1]="AcceptCall",e[e.TerminateCall=2]="TerminateCall",e[e.HoldCall=3]="HoldCall",e[e.ResumeCall=4]="ResumeCall",e[e.Flash=5]="Flash",e[e.CallInProgress=6]="CallInProgress",e[e.CallRinging=7]="CallRinging",e[e.CallEnded=8]="CallEnded",e[e.TransferToHeadset=9]="TransferToHeadset",e[e.TransferToSpeaker=10]="TransferToSpeaker",e[e.Mute=11]="Mute",e[e.Unmute=12]="Unmute",e[e.MobileCallRinging=13]="MobileCallRinging",e[e.MobileCallInProgress=14]="MobileCallInProgress",e[e.MobileCallEnded=15]="MobileCallEnded",e[e.DOn=16]="DOn",e[e.DOff=17]="DOff",e[e.CallIdle=18]="CallIdle",e[e.Play=19]="Play",e[e.Pause=20]="Pause",e[e.Stop=21]="Stop",e[e.DTMLKey=22]="DTMLKey",e[e.RejectCall=23]="RejectCall",e[e.MakeCall=24]="MakeCall",e[e.Hook=25]="Hook",e[e.HookIdle=26]="HookIdle",e[e.HookDocked=27]="HookDocked",e[e.HookUndocked=28]="HookUndocked",e[e.BaseEvent=29]="BaseEvent",e[e.CallAnsweredAndEnded=30]="CallAnsweredAndEnded",e[e.CallUnansweredAndEnded=31]="CallUnansweredAndEnded",e[e.DeviceChange=32]="DeviceChange",e[e.DeviceArrived=33]="DeviceArrived",e[e.DeviceRemoved=34]="DeviceRemoved"}(G||(G={}));var $=n(3),J=n.n($);function X(e){return(X="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 Q(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Z(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Q(Object(n),!0).forEach((function(t){ce(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Q(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ee(e,t,n,r,i,o,s){try{var a=e[o](s),c=a.value}catch(e){return void n(e)}a.done?t(c):Promise.resolve(c).then(r,i)}function te(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function s(e){ee(o,r,i,s,a,"next",e)}function a(e){ee(o,r,i,s,a,"throw",e)}s(void 0)}))}}function ne(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function re(e,t){return(re=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ie(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=ae(e);if(t){var i=ae(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return oe(this,n)}}function oe(e,t){if(t&&("object"===X(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return se(e)}function se(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ae(e){return(ae=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ce(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ue,le,fe=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&re(e,t)}(w,e);var t,n,r,i,o,s,a,c,u,l,f,h,d,p,v,g,y,m,b=ie(w);function w(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,w),ce(se(t=b.call(this,e)),"activePollingInterval",2e3),ce(se(t),"connectedDeviceInterval",6e3),ce(se(t),"disconnectedDeviceInterval",2e3),ce(se(t),"deviceIdRetryInterval",2e3),ce(se(t),"vendorName","Plantronics"),ce(se(t),"pluginName",void 0),ce(se(t),"apiHost","https://127.0.0.1:32018/Spokes"),ce(se(t),"isActive",!1),ce(se(t),"disableEventPolling",!1),ce(se(t),"config",void 0),ce(se(t),"deviceStatusTimer",null),ce(se(t),"isRetry",!1),ce(se(t),"_deviceInfo",void 0),ce(se(t),"callEventsTimerId",void 0),ce(se(t),"deviceStatusTimerId",void 0),ce(se(t),"incomingConversationId",void 0),ce(se(t),"callMappings",{}),t.config=e,t.pluginName=e.appName||"genesys-cloud-headset-library",t._deviceInfo=null,t.callEventsTimerId=null,t.deviceStatusTimerId=null,t.incomingConversationId=null,t}return t=w,n=[{key:"_createCallMapping",value:function(e){var t=Math.round(Math.random()*Math.pow(10,8));return this.callMappings[e]=t,this.callMappings[t]=e,this.logger.info("Created callId mapping for plantronics headset",{conversationId:e,plantronicsCallId:t}),t}},{key:"clearTimeouts",value:function(){clearTimeout(this.callEventsTimerId),clearTimeout(this.deviceStatusTimerId)}},{key:"deviceLabelMatchesVendor",value:function(e){var t=e.toLowerCase();return["plantronics","plt","poly","(047f:"].some((function(e){return t.includes(e)}))}},{key:"deviceName",get:function(){var e;return null===(e=this._deviceInfo)||void 0===e?void 0:e.ProductName}},{key:"deviceInfo",get:function(){return this._deviceInfo}},{key:"isDeviceAttached",get:function(){return!!this.deviceInfo}},{key:"pollForCallEvents",value:function(){var e=this;this.callEventsTimerId&&(clearTimeout(this.callEventsTimerId),this.callEventsTimerId=null),this.isConnected&&!this.disableEventPolling&&(this.logger.debug("**** POLLING FOR CALL EVENTS ****"),this.getCallEvents()),this.callEventsTimerId=setTimeout((function(){e.pollForCallEvents()}),this.activePollingInterval)}},{key:"pollForDeviceStatus",value:function(){var e=this;this.deviceStatusTimerId&&(clearTimeout(this.deviceStatusTimerId),this.deviceStatusTimerId=null),!this.isConnected||this.isConnecting||this.disableEventPolling||(this.logger.debug("**** POLLING FOR DEVICE STATUS ****"),this.getDeviceStatus()),this.deviceStatusTimerId=setTimeout((function(){e.pollForDeviceStatus()}),this.isDeviceAttached?this.connectedDeviceInterval:this.disconnectedDeviceInterval)}},{key:"_makeRequestTask",value:(m=te(regeneratorRuntime.mark((function e(t,n){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._makeRequest(t,n);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return m.apply(this,arguments)})},{key:"_fetch",value:function(e){return q()(e)}},{key:"_makeRequest",value:(y=te(regeneratorRuntime.mark((function e(t,n){var r,i=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=w.instance,e.abrupt("return",this._fetch("".concat(this.apiHost).concat(t)).then((function(e){return e.json()})).then((function(e){if(i.isConnected||i.isConnecting){if(!1===e.ok||"Error"===e.Type_Name){if(404===e.status){if(n){i.isConnected&&i.changeConnectionStatus({isConnected:!1,isConnecting:i.isConnecting}),i.disconnect();var o=new Error("Headset: Failed connection to middleware. Headset features unavailable.");return o.handled=!0,i.logger.info(o),Promise.reject(o)}return i._makeRequestTask(t,!0)}return J.a.isFirefox&&(i.errorCode="browser",i.disableRetry=!0),Promise.reject(e)}return r?(!i.isConnected&&i.changeConnectionStatus({isConnected:!0,isConnecting:i.isConnecting}),e):Promise.reject(new Error("Application destroyed."))}})).catch((function(e){return Promise.reject(e)})));case 2:case"end":return e.stop()}}),e,this)}))),function(e,t){return y.apply(this,arguments)})},{key:"_checkIsActiveTask",value:(g=te(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._getActiveCalls();case 2:t=e.sent,this.isActive=!!t.length;case 4:case"end":return e.stop()}}),e,this)}))),function(){return g.apply(this,arguments)})},{key:"_getActiveCalls",value:(v=te(regeneratorRuntime.mark((function e(){var t,n,r,i,o=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this._makeRequestTask("/CallServices/CallManagerState?");case 3:i=e.sent,r=i,e.next=11;break;case 7:return e.prev=7,e.t0=e.catch(0),this.logger.info("Error making request for active calls",e.t0),e.abrupt("return",[]);case 11:if(Array.isArray(null===(t=r)||void 0===t||null===(n=t.Result)||void 0===n?void 0:n.Calls)){e.next=13;break}return e.abrupt("return",[]);case 13:return e.abrupt("return",r.Result.Calls.filter((function(e){return e.Source===o.pluginName})));case 14:case"end":return e.stop()}}),e,this,[[0,7]])}))),function(){return v.apply(this,arguments)})},{key:"getCallEvents",value:(p=te(regeneratorRuntime.mark((function e(){var t,n=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this._makeRequestTask("/CallServices/CallEvents?name=".concat(this.pluginName));case 3:t=e.sent,e.next=10;break;case 6:return e.prev=6,e.t0=e.catch(0),this.logger.info("Error making request for call events",e.t0),e.abrupt("return");case 10:t.Result&&t.Result.forEach((function(e){var t=G[e.Action];if(!t)return n.logger.info("Unknown call event from headset",{event:e});var r={name:t,event:e};n.logger.debug("headset info",r),n.callCorrespondingFunction(r)}));case 11:case"end":return e.stop()}}),e,this,[[0,6]])}))),function(){return p.apply(this,arguments)})},{key:"getDeviceStatus",value:(d=te(regeneratorRuntime.mark((function e(){var t=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._makeRequestTask("/DeviceServices/Info").then((function(e){t._deviceInfo=e.Result})).catch((function(e){e.Err&&e.Err.Description.includes("no supported devices")||t.logger.info("Error making request for device status",e)}));case 2:case"end":return e.stop()}}),e,this)}))),function(){return d.apply(this,arguments)})},{key:"callCorrespondingFunction",value:function(e){var t=e.event.CallId.Id,n=this.callMappings[t];switch(e.name){case"AcceptCall":this.deviceAnsweredCall(Z(Z({},e),{},{conversationId:n}));break;case"RejectCall":this.endCall(n),this.deviceRejectedCall({name:e.name,conversationId:this.incomingConversationId});break;case"TerminateCall":this.deviceEndedCall(Z(Z({},e),{},{conversationId:n}));break;case"CallEnded":delete this.callMappings[t],delete this.callMappings[n],this._checkIsActiveTask();break;case"Mute":this.deviceMuteChanged(Z(Z({isMuted:!0},e),{},{conversationId:n}));break;case"Unmute":this.deviceMuteChanged(Z(Z({isMuted:!1},e),{},{conversationId:n}));break;case"HoldCall":this.deviceHoldStatusChanged(Z(Z({holdRequested:!0},e),{},{conversationId:n}));break;case"ResumeCall":this.deviceHoldStatusChanged(Z(Z({holdRequested:!1},e),{},{conversationId:n}));break;default:this.logger.info("A headset event has occurred",Z(Z({},e),{},{conversationId:n})),this.deviceEventLogs(Z(Z({},e),{},{conversationId:n}))}}},{key:"unregisterPlugin",value:(h=te(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this._makeRequestTask("/SessionManager/UnRegister?name=".concat(this.pluginName));case 3:return e.abrupt("return",e.sent);case 6:if(e.prev=6,e.t0=e.catch(0),"Invalid plugin name"!==(null===e.t0||void 0===e.t0||null===(t=e.t0.Err)||void 0===t?void 0:t.Description)){e.next=10;break}return e.abrupt("return");case 10:this.logger.error(e.t0);case 11:case"end":return e.stop()}}),e,this,[[0,6]])}))),function(){return h.apply(this,arguments)})},{key:"connect",value:(f=te(regeneratorRuntime.mark((function e(){var t=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return!this.isConnecting&&this.changeConnectionStatus({isConnected:this.isConnected,isConnecting:!0}),this.pollForDeviceStatus(),this.pollForCallEvents(),e.next=5,this.unregisterPlugin();case 5:return e.abrupt("return",this._makeRequestTask("/SessionManager/Register?name=".concat(this.pluginName)).catch((function(e){return e.Err&&"Plugin exists"===e.Err.Description?t.logger.debug("Plugin already exists",e):Promise.reject(e)})).then((function(){return t._makeRequestTask("/SessionManager/IsActive?name=".concat(t.pluginName,"&active=true"))})).catch((function(e){return e.Err&&!e.isError?t.logger.debug("Is Active",e):Promise.reject(e)})).then((function(e){return!0!==(null==e?void 0:e.Result)?Promise.reject(e):t._makeRequestTask("/UserPreference/SetDefaultSoftPhone?name=".concat(t.pluginName))})).then((function(){t.getDeviceStatus()})).then((function(){return t._getActiveCalls()})).then((function(e){if(!e.length)return t.getCallEvents();t.isActive=!0,t.logger.warn("Plantronics headset should be in vanilla state but is reporting active call state.")})).catch((function(e){return null!=e&&e.handled?t.logger.error("Unable to properly connect headset"):Promise.reject(e)})).finally((function(){t.isConnecting&&t.changeConnectionStatus({isConnected:t.isConnected,isConnecting:!1})})));case 6:case"end":return e.stop()}}),e,this)}))),function(){return f.apply(this,arguments)})},{key:"disconnect",value:(l=te(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.isConnected){e.next=2;break}return e.abrupt("return");case 2:if("alternativeClient"===t){e.next=5;break}return e.next=5,this.unregisterPlugin();case 5:this.clearTimeouts(),this._deviceInfo=null,this.isConnected&&this.changeConnectionStatus({isConnected:!1,isConnecting:this.isConnecting}),this.isActive=!1;case 9:case"end":return e.stop()}}),e,this)}))),function(e){return l.apply(this,arguments)})},{key:"incomingCall",value:function(e){this.logger.info("Inside incomingCall of selected implementation (Plantronics/Poly)");var t=e.conversationId,n=e.contactName;if(!t)throw new Error("Must provide conversationId");var r=this._createCallMapping(t);this.incomingConversationId=t;var i="?name=".concat(this.pluginName,"&tones=Unknown&route=ToHeadset"),o='"Id":"'.concat(r,'"');if(i+="&callID={".concat(encodeURI(o),"}"),n){var s='"Name":"'.concat(n,'"');i+="&contact={".concat(encodeURI(s),"}")}return this.logger.info("params of endpoint",i),this.isActive=!0,this._makeRequestTask("/CallServices/IncomingCall".concat(i))}},{key:"outgoingCall",value:(u=te(regeneratorRuntime.mark((function e(t){var n,r,i,o,s,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.conversationId,r=t.contactName,n){e.next=3;break}throw new Error("Must provide conversationId");case 3:return i=this._createCallMapping(n),o="?name=".concat(this.pluginName,"&tones=Unknown&route=ToHeadset"),s='"Id":"'.concat(i,'"'),o+="&callID={".concat(encodeURI(s),"}"),r&&(a='"Name":"'.concat(r,'"'),o+="&contact={".concat(encodeURI(a),"}")),this.isActive=!0,e.next=11,this._makeRequestTask("/CallServices/OutgoingCall".concat(o));case 11:case"end":return e.stop()}}),e,this)}))),function(e){return u.apply(this,arguments)})},{key:"answerCall",value:(c=te(regeneratorRuntime.mark((function e(t,n){var r,i,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!n){e.next=3;break}return e.next=3,this.incomingCall({conversationId:t});case 3:return r=this.callMappings[t],i='"Id":"'.concat(r,'"'),o="?name=".concat(this.pluginName,"&callID={").concat(encodeURI(i),"}"),this.isActive=!0,this.incomingConversationId=null,e.abrupt("return",this._makeRequestTask("/CallServices/AnswerCall".concat(o)));case 9:case"end":return e.stop()}}),e,this)}))),function(e,t){return c.apply(this,arguments)})},{key:"rejectCall",value:function(e){return this.incomingConversationId=null,this.endCall(e)}},{key:"endCall",value:(a=te(regeneratorRuntime.mark((function e(t){var n,r,i,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n="?name=".concat(this.pluginName),r=this.callMappings[t],i='"Id":"'.concat(r,'"'),n+="&callID={".concat(encodeURI(i),"}"),e.next=6,this._makeRequestTask("/CallServices/TerminateCall".concat(n));case 6:return o=e.sent,e.next=9,this.getCallEvents();case 9:return this._checkIsActiveTask(),e.abrupt("return",o);case 11:case"end":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:"endAllCalls",value:(s=te(regeneratorRuntime.mark((function e(){var t=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._getActiveCalls();case 2:e.sent.forEach((function(e){return t.endCall(t.callMappings[e.CallId])}));case 4:case"end":return e.stop()}}),e,this)}))),function(){return s.apply(this,arguments)})},{key:"setMute",value:(o=te(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._makeRequestTask("/CallServices/MuteCall?name=".concat(this.pluginName,"&muted=").concat(t));case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:"setHold",value:(i=te(regeneratorRuntime.mark((function e(t,n){var r,i,o,s;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=this.callMappings[t],i='"Id":"'.concat(r,'"'),o="?name=".concat(this.pluginName,"&callID={").concat(encodeURI(i),"}"),e.next=5,this._makeRequestTask("/CallServices/".concat(n?"HoldCall":"ResumeCall").concat(o));case 5:return s=e.sent,e.abrupt("return",s);case 7:case"end":return e.stop()}}),e,this)}))),function(e,t){return i.apply(this,arguments)})}],r=[{key:"getInstance",value:function(e){return w.instance&&!e.createNew||(w.instance=new w(e)),w.instance}}],n&&ne(t.prototype,n),r&&ne(t,r),Object.defineProperty(t,"prototype",{writable:!1}),w}(z.a);function he(){return!!window._HostedContextFunctions}function de(e){return new Promise((function(t,n){try{var r=JSON.stringify(e);window.cefQuery({request:r,persistent:!1,onSuccess:function(e){try{var n=JSON.parse(e);t(n)}catch(e){t({})}},onFailure:function(e){n(e)}})}catch(e){console.error("Error requesting desktop promise",e),n(e)}}))}function pe(e){return(pe="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 ve(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ge(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function ye(e,t){return(ye=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function me(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Ee(e);if(t){var i=Ee(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return be(this,n)}}function be(e,t){if(t&&("object"===pe(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return we(e)}function we(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ee(e){return(Ee=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ce(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}ce(fe,"instance",void 0),function(e){e.SocketConnected="SocketConnected",e.EstablishConnection="EstablishConnection",e.SPLogin="SPLoggedIn",e.SPLogout="SPLoggedOut",e.TerminateConnection="TerminateConnection",e.IncomingCall="IncomingCall",e.IncomingCallRejected="InCallRejected",e.IncomingCallAccepted="InCallAccepted",e.OutgoingCall="OutgoingCall",e.CallEnded="CallEnded",e.SystemInformation="SystemInformation",e.HeadsetConnected="HeadsetConnected",e.HeadsetDisconnected="HeadsetDisconnected",e.Hold="CallHold",e.Resume="HeldCallResumed",e.MuteFromApp="MuteHeadset",e.UnmuteFromApp="UnmuteHeadset",e.MuteFromHeadset="MuteSoftphone",e.UnmuteFromHeadset="UnmuteSoftphone"}(ue||(ue={})),function(e){e.Request="Request",e.Notification="Notification",e.Ack="Acknowledgement"}(le||(le={}));var _e=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ye(e,t)}(o,e);var t,n,r,i=me(o);function o(){var e;ve(this,o);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return Ce(we(e=i.call.apply(i,[this].concat(n))),"connectTimeout",5e3),Ce(we(e),"vendorName","Sennheiser"),Ce(we(e),"isActive",!1),Ce(we(e),"devices",null),Ce(we(e),"activeDeviceId",null),Ce(we(e),"websocketConnected",!1),Ce(we(e),"websocket",null),Ce(we(e),"deviceInfo",null),Ce(we(e),"ignoreAcknowledgement",!1),Ce(we(e),"webSocketOnOpen",(function(){e.websocketConnected=!0,e.logger.info("websocket open the sennheiser software")})),e}return t=o,r=[{key:"getInstance",value:function(e){return o.instance&&!e.createNew||(o.instance=new o(e)),o.instance}}],(n=[{key:"deviceLabelMatchesVendor",value:function(e){var t=e.toLowerCase();return["senn","epos"].some((function(e){return t.includes(e)}))}},{key:"deviceName",get:function(){return this.deviceInfo&&this.deviceInfo.ProductName}},{key:"isDeviceAttached",get:function(){return!!this.deviceInfo}},{key:"resetHeadsetStateForCall",value:function(e){return this.ignoreAcknowledgement=!0,this.endCall(e)}},{key:"_handleError",value:function(e){this.logger.error("Non-zero return code from sennheiser",e)}},{key:"_handleAck",value:function(e){this.logger.debug("Received Ack for ".concat(e.Event))}},{key:"_sendMessage",value:function(e){this.logger.debug("sending sennheiser message",e),this.websocket.send(JSON.stringify(e))}},{key:"_registerSoftphone",value:function(){var e={Event:ue.EstablishConnection,EventType:le.Request,SPName:"Genesys Cloud Softphone",SPIconImage:"SPImage.ico",RedialSupport:"No",OffHookSupport:"No",MuteSupport:"Yes",DNDOption:"No"};this._sendMessage(e)}},{key:"connect",value:function(){this.ignoreAcknowledgement=!1,!this.isConnecting&&this.changeConnectionStatus({isConnected:!1,isConnecting:!0});var e=new WebSocket("wss://127.0.0.1:41088");return e.onopen=this.webSocketOnOpen.bind(this),e.onclose=this.webSocketOnClose.bind(this),e.onmessage=this._handleMessage.bind(this),this.websocket=e,Promise.resolve()}},{key:"webSocketOnClose",value:function(e){this.websocketConnected=!1,e.wasClean||this.logger.error(e),this.isConnected||(this.logger.error(new Error("Failed to connect to sennheiser software. Make sure it is installed")),J.a.isFireFox&&(this.errorCode="browser",this.disableRetry=!0)),(this.isConnected||this.isConnecting)&&this.changeConnectionStatus({isConnected:!1,isConnecting:!1})}},{key:"disconnect",value:function(){return this.isConnected?(this._sendMessage({Event:ue.TerminateConnection,EventType:le.Request}),Promise.resolve()):Promise.resolve()}},{key:"setMute",value:function(e){return this._sendMessage({Event:e?ue.MuteFromApp:ue.UnmuteFromApp,EventType:le.Request}),Promise.resolve()}},{key:"setHold",value:function(e,t){return this._sendMessage({Event:t?ue.Hold:ue.Resume,EventType:le.Request,CallID:e}),Promise.resolve()}},{key:"incomingCall",value:function(e){return this.ignoreAcknowledgement=!1,this._sendMessage({Event:ue.IncomingCall,EventType:le.Request,CallID:e.conversationId}),Promise.resolve()}},{key:"answerCall",value:function(e,t){return t&&this.incomingCall({conversationId:e}),this._sendMessage({Event:ue.IncomingCallAccepted,EventType:le.Request,CallID:e}),Promise.resolve()}},{key:"rejectCall",value:function(e){return this._sendMessage({Event:ue.IncomingCallRejected,EventType:le.Request,CallID:e}),Promise.resolve()}},{key:"outgoingCall",value:function(e){this.ignoreAcknowledgement=!1;var t=e.conversationId;return this._sendMessage({Event:ue.OutgoingCall,EventType:le.Request,CallID:t}),Promise.resolve()}},{key:"endCall",value:function(e){return this._sendMessage({Event:ue.CallEnded,EventType:le.Request,CallID:e}),Promise.resolve()}},{key:"endAllCalls",value:function(){return this.logger.warn("There is no functionality defined for SennheiserService.endAllCalls()"),Promise.resolve()}},{key:"_handleMessage",value:function(e){var t;try{t=JSON.parse(e.data)}catch(t){return this.logger.error(t),void this.logger.error("Failed to parse sennheiser payload",{message:e})}if(this.logger.debug("incoming sennheiser message",t),t.ReturnCode)this._handleError(t);else{var n=t.CallID;if(!this.ignoreAcknowledgement)switch(t.Event){case ue.SocketConnected:this._registerSoftphone();break;case ue.EstablishConnection:this._sendMessage({Event:ue.SPLogin,EventType:le.Request});break;case ue.SPLogin:this.isConnected&&!this.isConnecting||this.changeConnectionStatus({isConnected:!0,isConnecting:!1}),this._sendMessage({Event:ue.SystemInformation,EventType:le.Request});break;case ue.HeadsetConnected:t.HeadsetName&&(this.deviceInfo={deviceName:t.HeadsetName,headsetType:t.HeadsetType});break;case ue.HeadsetDisconnected:t.HeadsetName===this.deviceName&&(this.deviceInfo=null);break;case ue.IncomingCallAccepted:t.EventType===le.Notification&&this.deviceAnsweredCall({name:t.Event,conversationId:n});break;case ue.Hold:if(t.EventType===le.Ack){this._handleAck(t);break}this.deviceHoldStatusChanged({holdRequested:!0,name:t.Event,conversationId:n});break;case ue.Resume:if(t.EventType===le.Ack){this._handleAck(t);break}this.deviceHoldStatusChanged({holdRequested:!1,name:t.Event,conversationId:n});break;case ue.MuteFromHeadset:this.deviceMuteChanged({isMuted:!0,name:t.Event});break;case ue.UnmuteFromHeadset:this.deviceMuteChanged({isMuted:!1,name:t.Event});break;case ue.CallEnded:t.EventType===le.Notification&&this.deviceEndedCall({name:t.Event,conversationId:n});break;case ue.IncomingCallRejected:this.deviceRejectedCall({name:t.Event,conversationId:n});break;case ue.TerminateConnection:1===this.websocket.readyState&&this.websocket.close(),this.websocket=null;break;default:t.EventType===le.Ack&&this._handleAck(t)}}}}])&&ge(t.prototype,n),r&&ge(t,r),Object.defineProperty(t,"prototype",{writable:!1}),o}(z.a);Ce(_e,"instance",void 0);var ke=n(0),Ie=p((function(e){return function(){e(this),this.name="EmptyError",this.message="no elements in sequence"}}));function Oe(e,t){var n="object"==typeof t;return new Promise((function(r,i){var o=new P({next:function(e){r(e),o.unsubscribe()},error:i,complete:function(){n?r(t.defaultValue):i(new Ie)}});e.subscribe(o)}))}var Re=function(e){function t(t,n){return e.call(this)||this}return i(t,e),t.prototype.schedule=function(e,t){return void 0===t&&(t=0),this},t}(y),Te={setInterval:function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];var i=Te.delegate;return(null==i?void 0:i.setInterval)?i.setInterval.apply(i,u([e,t],c(n))):setInterval.apply(void 0,u([e,t],c(n)))},clearInterval:function(e){var t=Te.delegate;return((null==t?void 0:t.clearInterval)||clearInterval)(e)},delegate:void 0},Se=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r.pending=!1,r}return i(t,e),t.prototype.schedule=function(e,t){if(void 0===t&&(t=0),this.closed)return this;this.state=e;var n=this.id,r=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(r,n,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(r,this.id,t),this},t.prototype.requestAsyncId=function(e,t,n){return void 0===n&&(n=0),Te.setInterval(e.flush.bind(e,this),n)},t.prototype.recycleAsyncId=function(e,t,n){if(void 0===n&&(n=0),null!=n&&this.delay===n&&!1===this.pending)return t;Te.clearInterval(t)},t.prototype.execute=function(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(e,t);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},t.prototype._execute=function(e,t){var n,r=!1;try{this.work(e)}catch(e){r=!0,n=e||new Error("Scheduled action threw falsy error")}if(r)return this.unsubscribe(),n},t.prototype.unsubscribe=function(){if(!this.closed){var t=this.id,n=this.scheduler,r=n.actions;this.work=this.state=this.scheduler=null,this.pending=!1,g(r,this),null!=t&&(this.id=this.recycleAsyncId(n,t,null)),this.delay=null,e.prototype.unsubscribe.call(this)}},t}(Re),Ae={now:function(){return(Ae.delegate||Date).now()},delegate:void 0},xe=function(){function e(t,n){void 0===n&&(n=e.now),this.schedulerActionCtor=t,this.now=n}return e.prototype.schedule=function(e,t,n){return void 0===t&&(t=0),new this.schedulerActionCtor(this,e).schedule(n,t)},e.now=Ae.now,e}(),Ne=new(function(e){function t(t,n){void 0===n&&(n=xe.now);var r=e.call(this,t,n)||this;return r.actions=[],r._active=!1,r._scheduled=void 0,r}return i(t,e),t.prototype.flush=function(e){var t=this.actions;if(this._active)t.push(e);else{var n;this._active=!0;do{if(n=e.execute(e.state,e.delay))break}while(e=t.shift());if(this._active=!1,n){for(;e=t.shift();)e.unsubscribe();throw n}}},t}(xe))(Se);function Pe(e){return function(t){if(function(e){return d(null==e?void 0:e.lift)}(t))return t.lift((function(t){try{return e(t,this)}catch(e){this.error(e)}}));throw new TypeError("Unable to lift unknown Observable type")}}var De="function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator";function Le(e){if(e instanceof F)return e;if(null!=e){if(function(e){return d(e[U])}(e))return c=e,new F((function(e){var t=c[U]();if(d(t.subscribe))return t.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")}));if((o=e)&&"number"==typeof o.length&&"function"!=typeof o)return i=e,new F((function(e){for(var t=0;t<i.length&&!e.closed;t++)e.next(i[t]);e.complete()}));if(d(null==(r=e)?void 0:r.then))return n=e,new F((function(e){n.then((function(t){e.closed||(e.next(t),e.complete())}),(function(t){return e.error(t)})).then(null,_)}));if(function(e){return Symbol.asyncIterator&&d(null==e?void 0:e[Symbol.asyncIterator])}(e))return He(e);if(function(e){return d(null==e?void 0:e[De])}(e))return t=e,new F((function(e){var n,r;try{for(var i=a(t),o=i.next();!o.done;o=i.next()){var s=o.value;if(e.next(s),e.closed)return}}catch(e){n={error:e}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}e.complete()}));if(function(e){return d(null==e?void 0:e.getReader)}(e))return He(function(e){return f(this,arguments,(function(){var t,n,r;return s(this,(function(i){switch(i.label){case 0:t=e.getReader(),i.label=1;case 1:i.trys.push([1,,9,10]),i.label=2;case 2:return[4,l(t.read())];case 3:return n=i.sent(),r=n.value,n.done?[4,l(void 0)]:[3,5];case 4:return[2,i.sent()];case 5:return[4,l(r)];case 6:return[4,i.sent()];case 7:return i.sent(),[3,2];case 8:return[3,10];case 9:return t.releaseLock(),[7];case 10:return[2]}}))}))}(e))}var t,n,r,i,o,c;throw function(e){return new TypeError("You provided "+(null!==e&&"object"==typeof e?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}(e)}function He(e){return new F((function(t){(function(e,t){var n,r,i,a;return o(this,void 0,void 0,(function(){var o,c;return s(this,(function(s){switch(s.label){case 0:s.trys.push([0,5,6,11]),n=h(e),s.label=1;case 1:return[4,n.next()];case 2:if((r=s.sent()).done)return[3,4];if(o=r.value,t.next(o),t.closed)return[2];s.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return c=s.sent(),i={error:c},[3,11];case 6:return s.trys.push([6,,9,10]),r&&!r.done&&(a=n.return)?[4,a.call(n)]:[3,8];case 7:s.sent(),s.label=8;case 8:return[3,10];case 9:if(i)throw i.error;return[7];case 10:return[7];case 11:return t.complete(),[2]}}))}))})(e,t).catch((function(e){return t.error(e)}))}))}function Ue(e,t,n,r,i){return new Me(e,t,n,r,i)}var Me=function(e){function t(t,n,r,i,o,s){var a=e.call(this,t)||this;return a.onFinalize=o,a.shouldUnsubscribe=s,a._next=n?function(e){try{n(e)}catch(e){t.error(e)}}:e.prototype._next,a._error=i?function(e){try{i(e)}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._error,a._complete=r?function(){try{r()}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._complete,a}return i(t,e),t.prototype.unsubscribe=function(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var n=this.closed;e.prototype.unsubscribe.call(this),!n&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}},t}(S);var je=p((function(e){return function(t){void 0===t&&(t=null),e(this),this.message="Timeout has occurred",this.name="TimeoutError",this.info=t}}));function Fe(e,t){var n,r=(n=e)instanceof Date&&!isNaN(n)?{first:e}:"number"==typeof e?{each:e}:e,i=r.first,o=r.each,s=r.with,a=void 0===s?Be:s,c=r.scheduler,u=void 0===c?null!=t?t:Ne:c,l=r.meta,f=void 0===l?null:l;if(null==i&&null==o)throw new TypeError("No timeout provided.");return Pe((function(e,t){var n,r,s=null,c=0,l=function(e){r=function(e,t,n,r,i){void 0===r&&(r=0),void 0===i&&(i=!1);var o=t.schedule((function(){n(),i?e.add(this.schedule(null,r)):this.unsubscribe()}),r);if(e.add(o),!i)return o}(t,u,(function(){try{n.unsubscribe(),Le(a({meta:f,lastValue:s,seen:c})).subscribe(t)}catch(e){t.error(e)}}),e)};n=e.subscribe(Ue(t,(function(e){null==r||r.unsubscribe(),c++,t.next(s=e),o>0&&l(o)}),void 0,void 0,(function(){(null==r?void 0:r.closed)||null==r||r.unsubscribe(),s=null}))),!c&&l(null!=i?"number"==typeof i?i:+i-u.now():o)}))}function Be(e){throw new je(e)}function Ge(e){return Pe((function(t,n){var r=!1;t.subscribe(Ue(n,(function(e){r=!0,n.next(e)}),(function(){r||n.next(e),n.complete()})))}))}function Ye(e,t){return Pe((function(n,r){var i=0;n.subscribe(Ue(r,(function(n){return e.call(t,n,i++)&&r.next(n)})))}))}var Ve=new F((function(e){return e.complete()}));function We(e){return e<=0?function(){return Ve}:Pe((function(t,n){var r=0;t.subscribe(Ue(n,(function(t){++r<=e&&(n.next(t),e<=r&&n.complete())})))}))}function Ke(e){return void 0===e&&(e=qe),Pe((function(t,n){var r=!1;t.subscribe(Ue(n,(function(e){r=!0,n.next(e)}),(function(){return r?n.complete():n.error(e())})))}))}function qe(){return new Ie}function ze(e,t){var n=arguments.length>=2;return function(r){return r.pipe(e?Ye((function(t,n){return e(t,n,r)})):M,We(1),n?Ge(t):Ke((function(){return new Ie})))}}function $e(e,t){return Pe((function(n,r){var i=0;n.subscribe(Ue(r,(function(n){r.next(e.call(t,n,i++))})))}))}function Je(e){return(Je="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 Xe(e,t,n,r,i,o,s){try{var a=e[o](s),c=a.value}catch(e){return void n(e)}a.done?t(c):Promise.resolve(c).then(r,i)}function Qe(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function s(e){Xe(o,r,i,s,a,"next",e)}function a(e){Xe(o,r,i,s,a,"throw",e)}s(void 0)}))}}function Ze(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function et(e,t){return(et=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function tt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=it(e);if(t){var i=it(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return nt(this,n)}}function nt(e,t){if(t&&("object"===Je(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return rt(e)}function rt(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function it(e){return(it=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ot(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var st,at=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&et(e,t)}(b,e);var t,n,r,i,o,s,a,c,u,l,f,h,d,p,v,g,y,m=tt(b);function b(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,b),ot(rt(t=m.call(this,e)),"headsetEventSubscription",void 0),ot(rt(t),"isActive",!1),ot(rt(t),"_deviceInfo",void 0),ot(rt(t),"isMuted",!1),ot(rt(t),"isHeld",!1),ot(rt(t),"version",null),ot(rt(t),"_connectDeferred",void 0),ot(rt(t),"jabraSdk",void 0),ot(rt(t),"callControlFactory",void 0),ot(rt(t),"callControl",void 0),ot(rt(t),"ongoingCalls",0),ot(rt(t),"callLock",!1),ot(rt(t),"pendingConversationId",void 0),ot(rt(t),"pendingConversationIsOutbound",void 0),ot(rt(t),"activeConversationId",void 0),t.vendorName="Jabra",t}return t=b,n=[{key:"isSupported",value:function(){return window.navigator.hid&&!he()}},{key:"deviceLabelMatchesVendor",value:function(e){var t=e.toLowerCase();return!!["jabra"].some((function(e){return t.includes(e)}))}},{key:"deviceInfo",get:function(){return this._deviceInfo}},{key:"deviceName",get:function(){var e;return null===(e=this.deviceInfo)||void 0===e?void 0:e.deviceName}},{key:"isDeviceAttached",get:function(){return!!this.deviceInfo}},{key:"resetState",value:function(){this.setHold(null,!1),this.setMute(!1)}},{key:"_processEvents",value:function(e){var t=this;this.headsetEventSubscription=e.deviceSignals.subscribe(function(){var n=Qe(regeneratorRuntime.mark((function n(r){var i,o,s,a;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(t.callLock){n.next=3;break}return t.logger.debug("Currently not in possession of the Call Lock; Cannot react to Device Actions"),n.abrupt("return");case 3:n.t0=r.type,n.next=n.t0===ke.u.HOOK_SWITCH?6:n.t0===ke.u.FLASH||n.t0===ke.u.ALT_HOLD?11:n.t0===ke.u.PHONE_MUTE?15:n.t0===ke.u.REJECT_CALL?19:23;break;case 6:if(!t.activeConversationId||!t.pendingConversationId){n.next=9;break}return t.logger.info("ignoring hookswitch event because there is an active and incoming call"),n.abrupt("break",23);case 9:if(r.value)e.offHook(!0),e.ring(!1),t.activeConversationId=t.pendingConversationId,t.pendingConversationId=null,t.pendingConversationIsOutbound||t.deviceAnsweredCall({name:"CallOffHook",code:r.type,conversationId:t.activeConversationId});else{e.mute(!1),e.hold(!1),e.offHook(!1),t.deviceEndedCall({name:"CallOnHook",code:r.type,conversationId:t.activeConversationId});try{e.releaseCallLock()}catch(e){i=e.message,o=e.type,t.checkForCallLockError(i,o)?t.logger.info(i):t.logger.error(o,i)}finally{t.activeConversationId=null,t.callLock=!1}}return n.abrupt("break",23);case 11:return t.isHeld=!t.isHeld,e.hold(t.isHeld),t.deviceHoldStatusChanged({holdRequested:t.isHeld,name:t.isHeld?"OnHold":"ResumeCall",code:r.type,conversationId:t.activeConversationId}),n.abrupt("break",23);case 15:return t.isMuted=!t.isMuted,e.mute(t.isMuted),t.deviceMuteChanged({isMuted:t.isMuted,name:t.isMuted?"CallMuted":"CallUnmuted",code:r.type,conversationId:t.activeConversationId}),n.abrupt("break",23);case 19:e.ring(!1),t.deviceRejectedCall({name:ke.u[r.type],conversationId:t.pendingConversationId}),t.pendingConversationId=null;try{t.activeConversationId||(e.releaseCallLock(),t.callLock=!1)}catch(e){s=e.message,a=e.type,t.checkForCallLockError(s,a)?t.logger.info(s):t.logger.error(a,s)}case 23:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}())}},{key:"setMute",value:(y=Qe(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.callLock){e.next=2;break}return e.abrupt("return");case 2:this.isMuted=t,this.callControl.mute(t);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return y.apply(this,arguments)})},{key:"setHold",value:(g=Qe(regeneratorRuntime.mark((function e(t,n){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.callLock){e.next=2;break}return e.abrupt("return");case 2:this.isHeld=n,this.callControl.hold(n);case 4:case"end":return e.stop()}}),e,this)}))),function(e,t){return g.apply(this,arguments)})},{key:"incomingCall",value:(v=Qe(regeneratorRuntime.mark((function e(t){var n,r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.pendingConversationId=t.conversationId,this.pendingConversationIsOutbound=!1,e.prev=2,e.next=5,this.callControl.takeCallLock();case 5:this.callLock=e.sent,e.next=13;break;case 8:e.prev=8,e.t0=e.catch(2),n=e.t0.message,r=e.t0.type,this.checkForCallLockError(n,r)?(this.logger.info(n),this.callLock=!0):this.logger.error(r,n);case 13:this.callLock&&this.callControl.ring(!0);case 14:case"end":return e.stop()}}),e,this,[[2,8]])}))),function(e){return v.apply(this,arguments)})},{key:"answerCall",value:(p=Qe(regeneratorRuntime.mark((function e(t,n){var r,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!n){e.next=13;break}return this.pendingConversationId=t,e.prev=2,e.next=5,this.callControl.takeCallLock();case 5:this.callLock=e.sent,e.next=13;break;case 8:e.prev=8,e.t0=e.catch(2),r=e.t0.message,i=e.t0.type,this.checkForCallLockError(r,i)?(this.logger.info(r),this.callLock=!0):this.logger.error(i,r);case 13:if(this.callLock){e.next=15;break}return e.abrupt("return");case 15:this.callControl.ring(!1),this.callControl.offHook(!0);case 17:case"end":return e.stop()}}),e,this,[[2,8]])}))),function(e,t){return p.apply(this,arguments)})},{key:"rejectCall",value:(d=Qe(regeneratorRuntime.mark((function e(){var t,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.callLock){e.next=2;break}return e.abrupt("return",this.logger.info("Currently not in possession of the Call Lock; Cannot react to Device Actions"));case 2:if(this.callControl.ring(!1),this.pendingConversationId=null,!this.activeConversationId)try{this.resetState(),this.callControl.releaseCallLock()}catch(e){t=e.message,n=e.type,this.checkForCallLockError(t,n)?this.logger.info(t):this.logger.error(n,t)}finally{this.pendingConversationId=null,this.callLock=!1}case 5:case"end":return e.stop()}}),e,this)}))),function(){return d.apply(this,arguments)})},{key:"outgoingCall",value:(h=Qe(regeneratorRuntime.mark((function e(t){var n,r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.callControl.takeCallLock();case 3:this.callLock=e.sent,e.next=11;break;case 6:e.prev=6,e.t0=e.catch(0),n=e.t0.message,r=e.t0.type,this.checkForCallLockError(n,r)?(this.logger.info(n),this.callLock=!0):this.logger.error(r,n);case 11:this.callLock&&(this.pendingConversationId=t.conversationId,this.pendingConversationIsOutbound=!0,this.callControl.offHook(!0));case 12:case"end":return e.stop()}}),e,this,[[0,6]])}))),function(e){return h.apply(this,arguments)})},{key:"endCall",value:(f=Qe(regeneratorRuntime.mark((function e(t,n){var r,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!n){e.next=2;break}return e.abrupt("return");case 2:if(t===this.activeConversationId&&(this.activeConversationId=null),e.prev=3,this.callLock){e.next=6;break}return e.abrupt("return",this.logger.info("Currently not in possession of the Call Lock; Cannot react to Device Actions"));case 6:this.callControl.offHook(!1),this.resetState(),this.callControl.releaseCallLock(),e.next=16;break;case 11:e.prev=11,e.t0=e.catch(3),r=e.t0.message,i=e.t0.type,this.checkForCallLockError(r,i)?this.logger.info(r):this.logger.error(i,r);case 16:return e.prev=16,this.callLock=!1,e.finish(16);case 19:case"end":return e.stop()}}),e,this,[[3,11,16,19]])}))),function(e,t){return f.apply(this,arguments)})},{key:"endAllCalls",value:(l=Qe(regeneratorRuntime.mark((function e(){var t,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,this.callLock){e.next=3;break}return e.abrupt("return",this.logger.info("Currently not in possession of the Call Lock; Cannot react to Device Actions"));case 3:this.activeConversationId=null,this.callControl.offHook(!1),this.resetState(),this.callControl.releaseCallLock(),e.next=14;break;case 9:e.prev=9,e.t0=e.catch(0),t=e.t0.message,n=e.t0.type,this.checkForCallLockError(t,n)?this.logger.info(t):this.logger.error(n,t);case 14:return e.prev=14,this.callLock=!1,e.finish(14);case 17:case"end":return e.stop()}}),e,this,[[0,9,14,17]])}))),function(){return l.apply(this,arguments)})},{key:"isDeviceInList",value:function(e,t){var n;return t.toLowerCase().includes(null==e||null===(n=e.name)||void 0===n?void 0:n.toLowerCase())}},{key:"connect",value:(u=Qe(regeneratorRuntime.mark((function e(t){var n,r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.isConnecting){e.next=2;break}return e.abrupt("return");case 2:if(this.changeConnectionStatus({isConnected:this.isConnected,isConnecting:!0}),this.jabraSdk){e.next=8;break}return e.next=6,this.initializeJabraSdk();case 6:this.jabraSdk=e.sent,this.callControlFactory=this.createCallControlFactory(this.jabraSdk);case 8:return n=t.toLocaleLowerCase(),this._deviceInfo=null,e.next=12,this.getPreviouslyConnectedDevice(n);case 12:if(r=e.sent){e.next=24;break}return e.prev=14,e.next=17,this.getDeviceFromWebhid(n);case 17:r=e.sent,e.next=24;break;case 20:return e.prev=20,e.t0=e.catch(14),this.isConnecting&&this.changeConnectionStatus({isConnected:this.isConnected,isConnecting:!1}),e.abrupt("return");case 24:return e.next=26,this.callControlFactory.createCallControl(r);case 26:return this.callControl=e.sent,e.next=29,this.resetHeadsetState();case 29:this._processEvents(this.callControl),this._deviceInfo={ProductName:r.name,deviceName:r.name,attached:!0,deviceId:r.id.toString()},this.changeConnectionStatus({isConnected:!0,isConnecting:!1});case 32:case"end":return e.stop()}}),e,this,[[14,20]])}))),function(e){return u.apply(this,arguments)})},{key:"getPreviouslyConnectedDevice",value:(c=Qe(regeneratorRuntime.mark((function e(t){var n,r=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=this.jabraSdk.deviceList.pipe(Ge(null),ze((function(e){return!!e.length})),$e((function(e){return e.find((function(e){return r.isDeviceInList(e,t)}))})),Ye((function(e){return!!e})),Fe(3e3)),e.abrupt("return",Oe(n).catch((function(e){return e instanceof je||e instanceof Ie?null:Promise.reject(e)})));case 2:case"end":return e.stop()}}),e,this)}))),function(e){return c.apply(this,arguments)})},{key:"getDeviceFromWebhid",value:(a=Qe(regeneratorRuntime.mark((function e(t){var n=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.requestWebHidPermissions(ke.D),e.abrupt("return",Oe(this.jabraSdk.deviceList.pipe($e((function(e){return e.find((function(e){return n.isDeviceInList(e,t)}))})),Ye((function(e){return!!e})),ze(),Fe(3e4))).catch((function(e){return e instanceof je&&(e=new Error("The selected device was not granted WebHID permissions")),n.logger.error(e),Promise.reject(e)})));case 2:case"end":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:"initializeJabraSdk",value:(s=Qe(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",Object(ke.C)({appId:"softphone-vendor-headsets",appName:"Softphone Headset Library",transport:ke.z.CHROME_EXTENSION_WITH_WEB_HID_FALLBACK}));case 1:case"end":return e.stop()}}),e)}))),function(){return s.apply(this,arguments)})},{key:"createCallControlFactory",value:function(e){return new ke.a(e)}},{key:"checkForCallLockError",value:function(e,t){return t===ke.b.SDK_USAGE_ERROR&&e.includes("call lock")}},{key:"resetHeadsetState",value:(o=Qe(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.callControl){e.next=2;break}return e.abrupt("return");case 2:return e.prev=2,e.next=5,this.callControl.takeCallLock();case 5:this.callControl.hold(!1),this.callControl.mute(!1),this.callControl.offHook(!1),this.callControl.releaseCallLock(),e.next=14;break;case 11:e.prev=11,e.t0=e.catch(2),this.logger.warn("Failed to takeCallLock in order to resetHeadsetState. Ignoring reset.");case 14:case"end":return e.stop()}}),e,this,[[2,11]])}))),function(){return o.apply(this,arguments)})},{key:"disconnect",value:(i=Qe(regeneratorRuntime.mark((function e(){var t,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,this.callLock){e.next=3;break}return e.abrupt("return",this.logger.info("Currently not in possession of the Call Lock; Cannot react to Device Actions"));case 3:this.callControl.releaseCallLock(),e.next=11;break;case 6:e.prev=6,e.t0=e.catch(0),t=e.t0.message,n=e.t0.type,this.checkForCallLockError(t,n)?this.logger.info(t):this.logger.error(n,t);case 11:return e.prev=11,this.resetHeadsetState(),this.callLock=!1,this.headsetEventSubscription&&this.headsetEventSubscription.unsubscribe(),(this.isConnected||this.isConnecting)&&this.changeConnectionStatus({isConnected:!1,isConnecting:!1}),e.finish(11);case 17:case"end":return e.stop()}}),e,this,[[0,6,11,17]])}))),function(){return i.apply(this,arguments)})}],r=[{key:"getInstance",value:function(e){return b.instance&&!e.createNew||(b.instance=new b(e)),b.instance}}],n&&Ze(t.prototype,n),r&&Ze(t,r),Object.defineProperty(t,"prototype",{writable:!1}),b}(z.a);ot(at,"instance",void 0),ot(at,"connectTimeout",5e3),function(e){e.Ring="ringer",e.Offhook="offhook",e.Mute="mute",e.Hold="hold"}(st||(st={}));var ct;function ut(e){return(ut="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 lt(e,t,n,r,i,o,s){try{var a=e[o](s),c=a.value}catch(e){return void n(e)}a.done?t(c):Promise.resolve(c).then(r,i)}function ft(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function s(e){lt(o,r,i,s,a,"next",e)}function a(e){lt(o,r,i,s,a,"throw",e)}s(void 0)}))}}function ht(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function dt(e,t){return(dt=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function pt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=yt(e);if(t){var i=yt(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return vt(this,n)}}function vt(e,t){if(t&&("object"===ut(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return gt(e)}function gt(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function yt(e){return(yt=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function mt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}!function(e){e.OffHook="OffHook",e.Mute="Mute",e.Hold="Flash",e.RejectCall="RejectCall"}(ct||(ct={}));var bt=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&dt(e,t)}(p,e);var t,n,r,i,o,s,a,c,u,l,f,h,d=pt(p);function p(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,p),mt(gt(t=d.call(this,e)),"isActive",!1),mt(gt(t),"devices",null),mt(gt(t),"activeDeviceId",null),mt(gt(t),"headsetState",null),mt(gt(t),"ignoreNextOffhookEvent",!1),mt(gt(t),"cefSupportsJabra",!0),mt(gt(t),"pendingConversationId",void 0),mt(gt(t),"activeConversationId",void 0),mt(gt(t),"pendingConversationIsOutbound",void 0),t.vendorName="Jabra",t.headsetState={ringing:!1,offHook:!1},t.devices=new Map,he()&&(t.isHostedContextInitialized()?t.setupNativeHandlers():t.waitForHostedContext()),t}return t=p,n=[{key:"isHostedContextInitialized",value:function(){var e;return null===(e=window.Orgspan)||void 0===e?void 0:e.serviceFor("application").get("hostedContext").isHosted()}},{key:"waitForHostedContext",value:function(){var e=this;setTimeout((function(){e.isHostedContextInitialized()?e.setupNativeHandlers():e.waitForHostedContext()}),500)}},{key:"setupNativeHandlers",value:function(){var e,t=null===(e=window.Orgspan)||void 0===e?void 0:e.serviceFor("application").get("hostedContext");this.cefSupportsJabra=t.supportsJabra(),t.on("JabraEvent",this.handleJabraEvent.bind(this)),t.on("JabraDeviceAttached",this.handleJabraDeviceAttached.bind(this))}},{key:"deviceInfo",get:function(){return null===this.activeDeviceId||null===this.devices||this.devices&&!this.devices.size?null:this.devices.get(this.activeDeviceId)}},{key:"deviceName",get:function(){return this.deviceInfo&&this.deviceInfo.deviceName}},{key:"isDeviceAttached",get:function(){return!!this.deviceInfo}},{key:"isHeadsetEvent",value:function(e){return"JabraEvent"===e.msg}},{key:"isDeviceEvent",value:function(e){return"JabraDeviceAttached"===e.msg}},{key:"handleCefEvent",value:function(e){this.isConnected&&(this.isDeviceEvent(e)?this.handleJabraDeviceAttached(e):this.isHeadsetEvent(e)&&this.handleJabraEvent(e))}},{key:"handleJabraDeviceAttached",value:function(e){this.logger.debug("handling jabra attach/detach event",e),this.updateDevices()}},{key:"handleJabraEvent",value:function(e){this.logger.debug("Jabra event received",e),this._processEvent(e.eventName,e.value)}},{key:"_handleOffhookEvent",value:function(e){if(e)return this.activeConversationId=this.pendingConversationId,this.pendingConversationId=null,void(this.headsetState.ringing&&(this.pendingConversationIsOutbound||this.deviceAnsweredCall({name:"CallOffHook",conversationId:this.activeConversationId}),this._sendCmd(st.Offhook,e),this._setRinging(!1)));this.activeConversationId&&(this._sendCmd(st.Offhook,e),this.deviceEndedCall({name:"CallOnHook",conversationId:this.activeConversationId})),this._getHeadsetIntoVanillaState(),this.activeConversationId=null}},{key:"_handleMuteEvent",value:function(e){this._sendCmd(st.Mute,e),this.isMuted=e,this.deviceMuteChanged({isMuted:e,name:e?"CallMuted":"CallUnmuted",conversationId:this.activeConversationId})}},{key:"_handleHoldEvent",value:function(e){this._sendCmd(st.Hold,!!e),this.deviceHoldStatusChanged({holdRequested:!!e,name:e?"OnHold":"ResumeCall",conversationId:this.activeConversationId})}},{key:"_getHeadsetIntoVanillaState",value:function(){this.setHold(null,!1),this.setMute(!1)}},{key:"_sendCmd",value:function(e,t){var n=this.activeDeviceId;this.logger.debug("Sending command to headset",{deviceId:n,cmd:e,value:t}),window._HostedContextFunctions.sendEventToDesktop("jabraEvent",{deviceID:n,event:e,value:t})}},{key:"_setRinging",value:function(e){this._sendCmd(st.Ring,e),this.headsetState.ringing=e}},{key:"isSupported",value:function(){return he()&&this.cefSupportsJabra}},{key:"deviceLabelMatchesVendor",value:function(e){var t=e.toLowerCase();return["jabra"].some((function(e){return t.includes(e)}))}},{key:"setMute",value:(h=ft(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this._sendCmd(st.Mute,t);case 1:case"end":return e.stop()}}),e,this)}))),function(e){return h.apply(this,arguments)})},{key:"setHold",value:(f=ft(regeneratorRuntime.mark((function e(t,n){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this._sendCmd(st.Hold,n);case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return f.apply(this,arguments)})},{key:"incomingCall",value:(l=ft(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.pendingConversationId=t.conversationId,this.pendingConversationIsOutbound=!1,this._setRinging(!0);case 3:case"end":return e.stop()}}),e,this)}))),function(e){return l.apply(this,arguments)})},{key:"answerCall",value:(u=ft(regeneratorRuntime.mark((function e(t,n){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n&&(this.pendingConversationId=t),this.ignoreNextOffhookEvent=!0,this._sendCmd(st.Offhook,!0);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return u.apply(this,arguments)})},{key:"rejectCall",value:(c=ft(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this._setRinging(!1),this.pendingConversationId=null;case 2:case"end":return e.stop()}}),e,this)}))),function(){return c.apply(this,arguments)})},{key:"outgoingCall",value:(a=ft(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.pendingConversationId=t.conversationId,this.pendingConversationIsOutbound=!0,this._sendCmd(st.Offhook,!0);case 3:case"end":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:"endCall",value:(s=ft(regeneratorRuntime.mark((function e(t,n){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this._setRinging(!1),n||this._sendCmd(st.Offhook,!1),this.activeConversationId=null;case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return s.apply(this,arguments)})},{key:"endAllCalls",value:(o=ft(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this._setRinging(!1),this._sendCmd(st.Offhook,!1),this.activeConversationId=null;case 3:case"end":return e.stop()}}),e,this)}))),function(){return o.apply(this,arguments)})},{key:"updateDevices",value:(i=ft(regeneratorRuntime.mark((function e(){var t,n=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,de({cmd:"requestJabraDevices"});case 3:if(t=e.sent,this.changeConnectionStatus({isConnected:!0,isConnecting:!1}),t&&t.length){e.next=10;break}return this.devices.clear(),this.activeDeviceId=null,this.logger.error(new Error("No attached jabra devices")),e.abrupt("return");case 10:this.logger.info("connected jabra devices",t),this.devices.clear(),t.forEach((function(e){return n.devices.set(e.deviceID,e)})),this.activeDeviceId=t[0].deviceID,this._setRinging(!1),this.setMute(!1),e.next=22;break;case 18:e.prev=18,e.t0=e.catch(0),this.logger.error("Failed to connect to jabra",e.t0),this.disconnect();case 22:case"end":return e.stop()}}),e,this,[[0,18]])}))),function(){return i.apply(this,arguments)})},{key:"_processEvent",value:function(e,t){var n,r,i,o=this;switch(e){case ct.OffHook:(n=function(){return o._handleOffhookEvent(t)},r=500,i=null,function(){clearTimeout(i),i=setTimeout((function(){n()}),r)})();break;case ct.RejectCall:this.deviceRejectedCall({name:ct.RejectCall,conversationId:this.pendingConversationId});break;case ct.Mute:this._handleMuteEvent(t);break;case ct.Hold:this._handleHoldEvent(t)}}},{key:"connect",value:function(){var e,t,n,r,i,o=this;return this.changeConnectionStatus({isConnected:!1,isConnecting:!0}),(e=this.updateDevices(),t=5e3,i=new Promise((function(e,i){r=setTimeout((function(){clearTimeout(r),i(n||"Timed out in "+t+"ms")}),t)})).then((function(e){return clearTimeout(r),e})),Promise.race([e,i])).catch((function(e){o.logger.error("Failed to connect to Jabra",e)}))}},{key:"disconnect",value:function(){return this.changeConnectionStatus({isConnected:!1,isConnecting:!1}),Promise.resolve()}}],r=[{key:"getInstance",value:function(e){return p.instance&&!e.createNew||(p.instance=new p(e)),p.instance}}],n&&ht(t.prototype,n),r&&ht(t,r),Object.defineProperty(t,"prototype",{writable:!1}),p}(z.a);function wt(e){return(wt="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 Et(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Ct(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Ct(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){a=!0,o=e},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}function Ct(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function _t(e,t,n,r,i,o,s){try{var a=e[o](s),c=a.value}catch(e){return void n(e)}a.done?t(c):Promise.resolve(c).then(r,i)}function kt(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function s(e){_t(o,r,i,s,a,"next",e)}function a(e){_t(o,r,i,s,a,"throw",e)}s(void 0)}))}}function It(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ot(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Rt(e,t){return(Rt=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Tt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=xt(e);if(t){var i=xt(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return St(this,n)}}function St(e,t){if(t&&("object"===wt(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return At(e)}function At(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function xt(e){return(xt=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Nt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}mt(bt,"instance",void 0);var Pt=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Rt(e,t)}(g,e);var t,n,r,i,o,s,a,c,u,l,f,h,d,p,v=Tt(g);function g(){var e;It(this,g);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return Nt(At(e=v.call.apply(v,[this].concat(n))),"pendingConversationId",void 0),Nt(At(e),"activeConversationId",void 0),Nt(At(e),"_deviceInfo",null),Nt(At(e),"activeDevice",void 0),Nt(At(e),"callState",0),Nt(At(e),"recCallState",0),Nt(At(e),"isHold",!1),Nt(At(e),"inputReportReportId",null),Nt(At(e),"vendorName","Yealink"),e}return t=g,n=[{key:"deviceInfo",get:function(){return this._deviceInfo}},{key:"isSupported",value:function(){return window.navigator.hid&&!he()}},{key:"deviceLabelMatchesVendor",value:function(e){var t=e.toLowerCase();return["yealink","(6993:"].some((function(e){return t.includes(e)}))}},{key:"connect",value:(p=kt(regeneratorRuntime.mark((function e(t){var n,r=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.isConnecting||this.changeConnectionStatus({isConnected:this.isConnected,isConnecting:!0}),n=t.toLowerCase(),e.next=4,window.navigator.hid.getDevices();case 4:if(e.sent.forEach((function(e){var t;if(!r.activeDevice&&n.includes(null==e||null===(t=e.productName)||void 0===t?void 0:t.toLowerCase())){var i,o=Et(e.collections);try{for(o.s();!(i=o.n()).done;){var s=i.value;if(5===s.usage&&11===s.usagePage){r.activeDevice=e,0!==s.inputReports.length&&(r.inputReportReportId=s.inputReports[0].reportId);break}}}catch(e){o.e(e)}finally{o.f()}}})),this.activeDevice){e.next=18;break}return e.prev=7,e.next=10,new Promise((function(e,t){var i=setTimeout(t,3e4);r.requestWebHidPermissions(kt(regeneratorRuntime.mark((function o(){var s,a,c;return regeneratorRuntime.wrap((function(o){for(;;)switch(o.prev=o.next){case 0:return s=[{usage:5,usagePage:11}],o.next=3,window.navigator.hid.requestDevice({filters:s});case 3:return clearTimeout(i),o.next=6,window.navigator.hid.getDevices();case 6:a=o.sent,c=!1,a.forEach((function(t){var i;if(n.includes(null==t||null===(i=t.productName)||void 0===i?void 0:i.toLowerCase())){var o,s=Et(t.collections);try{for(s.s();!(o=s.n()).done;){var a=o.value;if(5===a.usage&&11===a.usagePage){c=!0,0!==a.inputReports.length&&(r.inputReportReportId=a.inputReports[0].reportId),e(t);break}}}catch(e){s.e(e)}finally{s.f()}}})),c||t();case 10:case"end":return o.stop()}}),o)}))))}));case 10:this.activeDevice=e.sent,e.next=18;break;case 13:return e.prev=13,e.t0=e.catch(7),this.isConnecting&&this.changeConnectionStatus({isConnected:this.isConnected,isConnecting:!1}),this.logger.error("The selected device was not granted WebHID permissions"),e.abrupt("return");case 18:if(this.activeDevice.opened){e.next=21;break}return e.next=21,this.activeDevice.open();case 21:this.logger.debug("get device reportId ".concat(this.inputReportReportId)),this.activeDevice.addEventListener("inputreport",(function(e){if(e.reportId===r.inputReportReportId){var t=e.data.getUint8(0);r.processBtnPress(t)}})),this._deviceInfo={ProductName:this.activeDevice.productName},this.isConnecting&&!this.isConnected&&this.changeConnectionStatus({isConnected:!0,isConnecting:!1});case 25:case"end":return e.stop()}}),e,this,[[7,13]])}))),function(e){return p.apply(this,arguments)})},{key:"disconnect",value:(d=kt(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:(this.isConnected||this.isConnecting)&&this.changeConnectionStatus({isConnected:!1,isConnecting:!1}),this.activeDevice&&(this.activeDevice.close(),this.activeDevice=null,this._deviceInfo=null,this.inputReportReportId=0);case 2:case"end":return e.stop()}}),e,this)}))),function(){return d.apply(this,arguments)})},{key:"processBtnPress",value:function(e){if(this.activeDevice){this.logger.debug("User pressed button ".concat(e,". local ").concat(this.recCallState));var t=e^this.recCallState;0!==t&&(0===e||0!=(-3&this.callState)?(this.recCallState=e,1&t?1&e?(this.answerCall(),this.activeConversationId?this.deviceAnsweredCall({name:"OffHook",conversationId:this.activeConversationId}):this.logger.debug("activeConversationId is empty")):this.isHold||(this.sendOpToDevice(this.isMuted?2:0),this.activeConversationId?this.deviceEndedCall({name:"OnHook",conversationId:this.activeConversationId}):this.logger.debug("activeConversationId is empty"),this.activeConversationId=null):4&t?4&e&&(this.setMute(!this.isMuted),this.deviceMuteChanged({isMuted:this.isMuted,name:this.isMuted?"CallMuted":"CallUnmuted",conversationId:this.activeConversationId})):8&t?8&e&&(this.setHold(null,!this.isHold),this.deviceHoldStatusChanged({holdRequested:this.isHold,name:this.isHold?"OnHold":"ResumeCall",conversationId:this.activeConversationId})):64&t&&64&e&&(this.deviceRejectedCall({name:"Reject",conversationId:this.pendingConversationId}),this.rejectCall())):this.logger.debug("Not talking, ignore key"))}else this.logger.error("do not have active device")}},{key:"incomingCall",value:(h=kt(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t&&(this.pendingConversationId=t.conversationId,n=this.isMuted?2:0,this.sendOpToDevice(4|n));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return h.apply(this,arguments)})},{key:"outgoingCall",value:(f=kt(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.pendingConversationId=t.conversationId,this.sendOpToDevice(1);case 2:case"end":return e.stop()}}),e,this)}))),function(e){return f.apply(this,arguments)})},{key:"answerCall",value:(l=kt(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.pendingConversationId&&(this.activeConversationId=this.pendingConversationId,this.pendingConversationId=null),t=this.isMuted?2:0,this.sendOpToDevice(1|t);case 3:case"end":return e.stop()}}),e,this)}))),function(){return l.apply(this,arguments)})},{key:"rejectCall",value:(u=kt(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.pendingConversationId=null,this.sendOpToDevice(this.isMuted?2:0);case 2:case"end":return e.stop()}}),e,this)}))),function(){return u.apply(this,arguments)})},{key:"endCall",value:(c=kt(regeneratorRuntime.mark((function e(t,n){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!n){e.next=2;break}return e.abrupt("return");case 2:t===this.activeConversationId&&(this.activeConversationId=null),this.sendOpToDevice(this.isMuted?2:0);case 4:case"end":return e.stop()}}),e,this)}))),function(e,t){return c.apply(this,arguments)})},{key:"endAllCalls",value:(a=kt(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.activeConversationId=null,this.sendOpToDevice(this.isMuted?2:0);case 2:case"end":return e.stop()}}),e,this)}))),function(){return a.apply(this,arguments)})},{key:"setMute",value:(s=kt(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t?this.sendOpToDevice(2|this.callState):this.sendOpToDevice(-3&this.callState);case 1:case"end":return e.stop()}}),e,this)}))),function(e){return s.apply(this,arguments)})},{key:"setHold",value:(o=kt(regeneratorRuntime.mark((function e(t,n){var r,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n?(r=-2&this.callState,this.sendOpToDevice(8|r)):(i=-9&this.callState,this.sendOpToDevice(1|i));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return o.apply(this,arguments)})},{key:"sendOpToDevice",value:(i=kt(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.activeDevice&&0!==this.inputReportReportId){e.next=3;break}return this.logger.error("do not have active device"),e.abrupt("return");case 3:return this.isHold=!!(8&t),this.isMuted=!!(2&t),this.logger.debug("send to dev ".concat(t)),this.callState=t,e.next=9,this.activeDevice.sendReport(this.inputReportReportId,new Uint8Array([t]));case 9:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})}],r=[{key:"getInstance",value:function(e){return g.instance||(g.instance=new g(e)),g.instance}}],n&&Ot(t.prototype,n),r&&Ot(t,r),Object.defineProperty(t,"prototype",{writable:!1}),g}(z.a);function Dt(e){return(Dt="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 Lt(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Ht(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Ht(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){a=!0,o=e},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}function Ht(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Ut(e,t,n,r,i,o,s){try{var a=e[o](s),c=a.value}catch(e){return void n(e)}a.done?t(c):Promise.resolve(c).then(r,i)}function Mt(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function s(e){Ut(o,r,i,s,a,"next",e)}function a(e){Ut(o,r,i,s,a,"throw",e)}s(void 0)}))}}function jt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ft(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Bt(e,t){return(Bt=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Gt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Wt(e);if(t){var i=Wt(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return Yt(this,n)}}function Yt(e,t){if(t&&("object"===Dt(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return Vt(e)}function Vt(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Wt(e){return(Wt=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Kt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}Nt(Pt,"instance",void 0);var qt=[1],zt=[32,34],$t=[20],Jt=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Bt(e,t)}(w,e);var t,n,r,i,o,s,a,c,u,l,f,h,d,p,v,g,y,m,b=Gt(w);function w(){var e;jt(this,w);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return Kt(Vt(e=b.call.apply(b,[this].concat(n))),"pendingConversationId",void 0),Kt(Vt(e),"activeConversationId",void 0),Kt(Vt(e),"_deviceInfo",null),Kt(Vt(e),"activeDevice",void 0),Kt(Vt(e),"deviceCmds",null),Kt(Vt(e),"inputReportReportId",null),Kt(Vt(e),"lastByte",0),Kt(Vt(e),"vendorName","VBet"),e}return t=w,n=[{key:"deviceInfo",get:function(){return this._deviceInfo}},{key:"isSupported",value:function(){return window.navigator.hid&&!he()}},{key:"deviceLabelMatchesVendor",value:function(e){var t=e.toLowerCase();return["vt","340b"].some((function(e){return t.includes(e)}))}},{key:"setDeviceAttrs",value:function(e){qt.includes(e)?(this.deviceCmds={ring:[2,2,1],offHook:[2,2,3],onHook:[2,2,0],muteOn:[3,1,0],muteOff:[3,0,0]},this.inputReportReportId=8):zt.includes(e)?(this.deviceCmds={ring:[6,1,0],offHook:[6,2,0],onHook:[6,0,0],muteOn:[3,1,0],muteOff:[3,0,0]},this.inputReportReportId=1):$t.includes(e)?(this.deviceCmds={ring:[2,2,2,1],offHook:[2,1,0],onHook:[2,0,0],muteOn:[2,2,1],muteOff:[2,2,0],setMode:[2,2,2,2,2,2,0,0]},this.inputReportReportId=1):e>=64&&e<=131?(this.deviceCmds={ring:[6,1,0],offHook:[6,2,0],onHook:[6,0,0],muteOn:[6,4,0],muteOff:[6,5,0]},this.inputReportReportId=5):this.logger.error("not recognized device")}},{key:"connect",value:(m=Mt(regeneratorRuntime.mark((function e(t){var n,r=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.isConnecting||this.changeConnectionStatus({isConnected:this.isConnected,isConnecting:!0}),n=t.toLowerCase(),e.next=4,window.navigator.hid.getDevices();case 4:if(e.sent.forEach((function(e){var t;if(!r.activeDevice&&n.includes(null==e||null===(t=e.productName)||void 0===t?void 0:t.toLowerCase())){var i,o=Lt(e.collections);try{for(o.s();!(i=o.n()).done;){var s=i.value;if(5===s.usage&&11===s.usagePage){r.setDeviceAttrs(e.productId),r.activeDevice=e;break}}}catch(e){o.e(e)}finally{o.f()}}})),this.activeDevice){e.next=18;break}return e.prev=7,e.next=10,new Promise((function(e,t){var i=setTimeout(t,3e4);r.requestWebHidPermissions(Mt(regeneratorRuntime.mark((function o(){var s,a,c;return regeneratorRuntime.wrap((function(o){for(;;)switch(o.prev=o.next){case 0:return s=[{usage:5,usagePage:11}],o.next=3,window.navigator.hid.requestDevice({filters:s});case 3:return clearTimeout(i),o.next=6,window.navigator.hid.getDevices();case 6:a=o.sent,c=!1,a.forEach((function(t){var i;if(n.includes(null==t||null===(i=t.productName)||void 0===i?void 0:i.toLowerCase())){var o,s=Lt(t.collections);try{for(s.s();!(o=s.n()).done;){var a=o.value;if(5===a.usage&&11===a.usagePage){c=!0,r.setDeviceAttrs(t.productId),e(t);break}}}catch(e){s.e(e)}finally{s.f()}}})),c||t();case 10:case"end":return o.stop()}}),o)}))))}));case 10:this.activeDevice=e.sent,e.next=18;break;case 13:return e.prev=13,e.t0=e.catch(7),this.isConnecting&&this.changeConnectionStatus({isConnected:this.isConnected,isConnecting:!1}),this.logger.error("The selected device was not granted WebHID permissions"),e.abrupt("return");case 18:if(e.t1=!this.activeDevice.opened,!e.t1){e.next=22;break}return e.next=22,this.activeDevice.open();case 22:this.logger.debug("device input reportId ".concat(this.inputReportReportId)),this.activeDevice.addEventListener("inputreport",(function(e){if(e.reportId===r.inputReportReportId){var t=e.data.getUint8(0);r.processBtnPress(t)}})),this._deviceInfo={ProductName:this.activeDevice.productName},this.isConnecting&&!this.isConnected&&this.changeConnectionStatus({isConnected:!0,isConnecting:!1});case 26:case"end":return e.stop()}}),e,this,[[7,13]])}))),function(e){return m.apply(this,arguments)})},{key:"disconnect",value:(y=Mt(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((this.isConnected||this.isConnecting)&&this.changeConnectionStatus({isConnected:!1,isConnecting:!1}),!this.activeDevice){e.next=8;break}return e.next=4,this.activeDevice.close();case 4:this.activeDevice=null,this._deviceInfo=null,this.inputReportReportId=0,this.isMuted=!1;case 8:case"end":return e.stop()}}),e,this)}))),function(){return y.apply(this,arguments)})},{key:"processBtnPress",value:(g=Mt(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.activeDevice){e.next=3;break}return this.logger.error("do not have active device"),e.abrupt("return");case 3:if(!qt.includes(this.activeDevice.productId)){e.next=19;break}e.t0=t,e.next=4===e.t0?7:16===e.t0?10:0===e.t0?13:12===e.t0?16:19;break;case 7:return e.next=9,this.answerCallFromDevice();case 9:return e.abrupt("break",19);case 10:return e.next=12,this.rejectCallFromDevice();case 12:return e.abrupt("break",19);case 13:return e.next=15,this.endCallFromDevice();case 15:return e.abrupt("break",19);case 16:return e.next=18,this.setMuteFromDevice(!this.isMuted);case 18:return e.abrupt("break",19);case 19:if(!zt.includes(this.activeDevice.productId)){e.next=39;break}e.t1=t,e.next=1===e.t1?23:0===e.t1?28:20===e.t1?36:39;break;case 23:if(e.t2=9!==this.lastByte,!e.t2){e.next=27;break}return e.next=27,this.answerCallFromDevice();case 27:return e.abrupt("break",39);case 28:if(8!==this.lastByte){e.next=33;break}return e.next=31,this.setMuteFromDevice(!this.isMuted);case 31:e.next=35;break;case 33:return e.next=35,this.endCallFromDevice();case 35:return e.abrupt("break",39);case 36:return e.next=38,this.setMuteFromDevice(!this.isMuted);case 38:return e.abrupt("break",39);case 39:if(!(this.activeDevice.productId>=64&&this.activeDevice.productId<=131)){e.next=58;break}e.t3=t,e.next=32===e.t3?43:8===e.t3?46:0===e.t3?49:1===e.t3?52:5===e.t3?55:58;break;case 43:return e.next=45,this.answerCallFromDevice();case 45:return e.abrupt("break",58);case 46:return e.next=48,this.rejectCallFromDevice();case 48:return e.abrupt("break",58);case 49:return e.next=51,this.endCallFromDevice();case 51:return e.abrupt("break",58);case 52:return e.next=54,this.setMuteFromDevice(!1);case 54:return e.abrupt("break",58);case 55:return e.next=57,this.setMuteFromDevice(!0);case 57:return e.abrupt("break",58);case 58:if(!$t.includes(this.activeDevice.productId)){e.next=74;break}e.t4=t,e.next=2===e.t4?62:0===e.t4?65:3===e.t4?68:4===e.t4?71:74;break;case 62:return e.next=64,this.answerCallFromDevice();case 64:return e.abrupt("break",74);case 65:return e.next=67,this.endCallFromDevice();case 67:return e.abrupt("break",74);case 68:return e.next=70,this.setMuteFromDevice(!0);case 70:return e.abrupt("break",74);case 71:return e.next=73,this.setMuteFromDevice(!1);case 73:return e.abrupt("break",74);case 74:this.lastByte=t;case 75:case"end":return e.stop()}}),e,this)}))),function(e){return g.apply(this,arguments)})},{key:"incomingCall",value:(v=Mt(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.pendingConversationId=t.conversationId,!$t.includes(this.activeDevice.productId)){e.next=4;break}return e.next=4,this.sendOpToDevice("setMode");case 4:return e.next=6,this.sendOpToDevice("ring");case 6:case"end":return e.stop()}}),e,this)}))),function(e){return v.apply(this,arguments)})},{key:"outgoingCall",value:(p=Mt(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.pendingConversationId=t.conversationId,!$t.includes(this.activeDevice.productId)){e.next=4;break}return e.next=4,this.sendOpToDevice("setMode");case 4:return e.next=6,this.sendOpToDevice("offHook");case 6:case"end":return e.stop()}}),e,this)}))),function(e){return p.apply(this,arguments)})},{key:"answerCall",value:(d=Mt(regeneratorRuntime.mark((function e(t,n){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=4;break}return e.abrupt("return");case 4:if(!n){e.next=11;break}return e.next=7,this.sendOpToDevice("ring");case 7:return e.next=9,this.sendOpToDevice("offHook");case 9:e.next=14;break;case 11:return e.next=13,this.sendOpToDevice("offHook");case 13:this.pendingConversationId=null;case 14:this.activeConversationId=t;case 15:case"end":return e.stop()}}),e,this)}))),function(e,t){return d.apply(this,arguments)})},{key:"answerCallFromDevice",value:(h=Mt(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.answerCall(this.pendingConversationId,!1);case 2:this.activeConversationId?this.deviceAnsweredCall({name:"OffHook",conversationId:this.activeConversationId}):this.logger.error("no call to be answered");case 3:case"end":return e.stop()}}),e,this)}))),function(){return h.apply(this,arguments)})},{key:"rejectCall",value:(f=Mt(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.pendingConversationId){e.next=6;break}return this.pendingConversationId=null,e.next=4,this.sendOpToDevice("onHook");case 4:e.next=7;break;case 6:this.logger.error("no call to be rejected");case 7:case"end":return e.stop()}}),e,this)}))),function(){return f.apply(this,arguments)})},{key:"rejectCallFromDevice",value:(l=Mt(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.deviceRejectedCall({name:"Reject",conversationId:this.pendingConversationId}),e.next=3,this.rejectCall();case 3:case"end":return e.stop()}}),e,this)}))),function(){return l.apply(this,arguments)})},{key:"endCall",value:(u=Mt(regeneratorRuntime.mark((function e(t,n){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!n){e.next=4;break}return e.abrupt("return");case 4:if(t!==this.activeConversationId&&!this.pendingConversationId){e.next=11;break}return this.activeConversationId=null,this.pendingConversationId=null,e.next=9,this.sendOpToDevice("onHook");case 9:e.next=12;break;case 11:this.logger.error("no call to be ended");case 12:case"end":return e.stop()}}),e,this)}))),function(e,t){return u.apply(this,arguments)})},{key:"endCallFromDevice",value:(c=Mt(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.activeConversationId&&!this.pendingConversationId){e.next=8;break}return e.next=3,this.sendOpToDevice("onHook");case 3:this.deviceEndedCall({name:"OnHook",conversationId:this.activeConversationId?this.activeConversationId:this.pendingConversationId}),this.activeConversationId=null,this.pendingConversationId=null,e.next=9;break;case 8:this.logger.error("no call to be ended");case 9:case"end":return e.stop()}}),e,this)}))),function(){return c.apply(this,arguments)})},{key:"endAllCalls",value:(a=Mt(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.activeConversationId&&!this.pendingConversationId){e.next=5;break}return this.activeConversationId=null,this.pendingConversationId=null,e.next=5,this.sendOpToDevice("onHook");case 5:case"end":return e.stop()}}),e,this)}))),function(){return a.apply(this,arguments)})},{key:"setMute",value:(s=Mt(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t){e.next=5;break}return e.next=3,this.sendOpToDevice("muteOn");case 3:e.next=7;break;case 5:return e.next=7,this.sendOpToDevice("muteOff");case 7:this.isMuted=t;case 8:case"end":return e.stop()}}),e,this)}))),function(e){return s.apply(this,arguments)})},{key:"setMuteFromDevice",value:(o=Mt(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.setMute(t);case 2:this.deviceMuteChanged({isMuted:this.isMuted,name:this.isMuted?"CallMuted":"CallUnmuted",conversationId:this.activeConversationId});case 3:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:"sendOpToDevice",value:(i=Mt(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=new Uint8Array(this.deviceCmds[t]),this.logger.debug("send to dev ".concat(t)),e.next=4,this.activeDevice.sendReport(n[0],n.slice(1,n.length));case 4:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})}],r=[{key:"getInstance",value:function(e){return w.instance||(w.instance=new w(e)),w.instance}}],n&&Ft(t.prototype,n),r&&Ft(t,r),Object.defineProperty(t,"prototype",{writable:!1}),w}(z.a);Kt(Jt,"instance",void 0);var Xt=n(1);function Qt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Zt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Qt(Object(n),!0).forEach((function(t){sn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Qt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function en(e,t,n,r,i,o,s){try{var a=e[o](s),c=a.value}catch(e){return void n(e)}a.done?t(c):Promise.resolve(c).then(r,i)}function tn(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function s(e){en(o,r,i,s,a,"next",e)}function a(e){en(o,r,i,s,a,"throw",e)}s(void 0)}))}}function nn(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,i,o=[],s=!0,a=!1;try{for(n=n.call(e);!(s=(r=n.next()).done)&&(o.push(r.value),!t||o.length!==t);s=!0);}catch(e){a=!0,i=e}finally{try{s||null==n.return||n.return()}finally{if(a)throw i}}return o}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return rn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return rn(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function rn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function on(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function sn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var an=function(){function e(t){var n=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),sn(this,"plantronics",void 0),sn(this,"jabraNative",void 0),sn(this,"jabra",void 0),sn(this,"sennheiser",void 0),sn(this,"yealink",void 0),sn(this,"vbet",void 0),sn(this,"selectedImplementation",void 0),sn(this,"headsetEvents$",void 0),sn(this,"headsetConversationStates",{}),sn(this,"_headsetEvents$",void 0),sn(this,"logger",void 0),this._headsetEvents$=new V,this.headsetEvents$=this._headsetEvents$.asObservable(),this.logger=t.logger||console,this.plantronics=fe.getInstance({logger:this.logger,appName:t.appName}),this.jabraNative=bt.getInstance({logger:this.logger}),this.jabra=at.getInstance({logger:this.logger}),this.sennheiser=_e.getInstance({logger:this.logger}),this.yealink=Pt.getInstance({logger:this.logger}),this.vbet=Jt.getInstance({logger:this.logger}),[this.plantronics,this.jabra,this.jabraNative,this.sennheiser,this.yealink,this.vbet].forEach((function(e){return n.subscribeToHeadsetEvents(e)}))}var t,n,r,i,o,s,a,c,u,l,f,h;return t=e,n=[{key:"implementations",get:function(){return[this.sennheiser,this.plantronics,this.jabra,this.jabraNative,this.yealink,this.vbet].filter((function(e){return e.isSupported()}))}},{key:"isDifferentState",value:function(e){var t=this.headsetConversationStates[e.conversationId];return!t||Object.entries(e.state).some((function(e){var n=nn(e,2),r=n[0],i=n[1];return t[r]!==i}))}},{key:"updateHeadsetState",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{expectExistingConversation:!0};if(this.isDifferentState(e)){var n=this.headsetConversationStates[e.conversationId];return n?(Object.assign(n,e.state),!0):(t.expectExistingConversation&&this.logger.warn("updateHeadsetState has no existing state for provided conversationId.",{conversationId:e.conversationId}),!1)}return!1}},{key:"deviceIsSupported",value:function(e){return!!e.micLabel&&!!this.implementations.find((function(t){return t.deviceLabelMatchesVendor(e.micLabel)}))}},{key:"activeMicChange",value:function(e,t){if(e){var n=this.implementations.find((function(t){return t.deviceLabelMatchesVendor(e)}));n?this.changeImplementation(n,e):this.selectedImplementation&&this.clearSelectedImplementation(t)}else this.clearSelectedImplementation(t)}},{key:"changeImplementation",value:(h=tn(regeneratorRuntime.mark((function e(t,n){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t!==this.selectedImplementation){e.next=2;break}return e.abrupt("return");case 2:if(!this.selectedImplementation){e.next=6;break}return this.headsetConversationStates={},e.next=6,this.selectedImplementation.disconnect();case 6:if(this.selectedImplementation=t,this._headsetEvents$.next({event:Xt.a.implementationChanged,payload:t}),!t){e.next=11;break}return e.next=11,t.connect(n);case 11:case"end":return e.stop()}}),e,this)}))),function(e,t){return h.apply(this,arguments)})},{key:"incomingCall",value:(f=tn(regeneratorRuntime.mark((function e(t,n){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=this.getConnectedImpl()){e.next=3;break}return e.abrupt("return");case 3:return this.headsetConversationStates[t.conversationId]={conversationId:t.conversationId,held:!1,muted:!1,offHook:!1,ringing:!0},e.abrupt("return",r.incomingCall(t,n));case 5:case"end":return e.stop()}}),e,this)}))),function(e,t){return f.apply(this,arguments)})},{key:"outgoingCall",value:(l=tn(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=this.getConnectedImpl()){e.next=3;break}return e.abrupt("return");case 3:return this.headsetConversationStates[t.conversationId]={conversationId:t.conversationId,held:!1,muted:!1,offHook:!0,ringing:!1},e.abrupt("return",n.outgoingCall(t));case 5:case"end":return e.stop()}}),e,this)}))),function(e){return l.apply(this,arguments)})},{key:"answerCall",value:(u=tn(regeneratorRuntime.mark((function e(t,n){var r,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=this.getConnectedImpl()){e.next=3;break}return e.abrupt("return");case 3:if(n){e.next=9;break}if(i={ringing:!1,offHook:!0},!this.updateHeadsetState({conversationId:t,state:i})){e.next=7;break}return e.abrupt("return",r.answerCall(t));case 7:e.next=11;break;case 9:return this.headsetConversationStates[t]={conversationId:t,held:!1,muted:!1,offHook:!0,ringing:!1},e.abrupt("return",r.answerCall(t,n));case 11:case"end":return e.stop()}}),e,this)}))),function(e,t){return u.apply(this,arguments)})},{key:"rejectCall",value:(c=tn(regeneratorRuntime.mark((function e(t){var n,r,i,o=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=!(o.length>1&&void 0!==o[1])||o[1],r=this.getConnectedImpl()){e.next=4;break}return e.abrupt("return");case 4:if(i={ringing:!1},!this.updateHeadsetState({conversationId:t,state:i},{expectExistingConversation:n})){e.next=9;break}return this.headsetConversationStates[t].removeTimer=this.setRemoveTimer(t),e.abrupt("return",r.rejectCall(t));case 9:case"end":return e.stop()}}),e,this)}))),function(e){return c.apply(this,arguments)})},{key:"setMute",value:(a=tn(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=this.getConnectedImpl()){e.next=3;break}return e.abrupt("return");case 3:if(!Object.values(this.headsetConversationStates).some((function(e){return e.muted!==t}))){e.next=6;break}return Object.values(this.headsetConversationStates).forEach((function(e){return e.muted=t})),e.abrupt("return",n.setMute(t));case 6:case"end":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:"setHold",value:(s=tn(regeneratorRuntime.mark((function e(t,n){var r,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=this.getConnectedImpl()){e.next=3;break}return e.abrupt("return");case 3:if(i={held:n},!this.updateHeadsetState({conversationId:t,state:i})){e.next=6;break}return e.abrupt("return",r.setHold(t,n));case 6:case"end":return e.stop()}}),e,this)}))),function(e,t){return s.apply(this,arguments)})},{key:"endCall",value:(o=tn(regeneratorRuntime.mark((function e(t,n){var r,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=this.getConnectedImpl()){e.next=3;break}return e.abrupt("return");case 3:if(i={offHook:!1},!this.updateHeadsetState({conversationId:t,state:i})){e.next=8;break}return this.headsetConversationStates[t].removeTimer=this.setRemoveTimer(t),e.abrupt("return",r.endCall(t,n));case 8:case"end":return e.stop()}}),e,this)}))),function(e,t){return o.apply(this,arguments)})},{key:"endAllCalls",value:(i=tn(regeneratorRuntime.mark((function e(){var t,n=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=this.getConnectedImpl()){e.next=3;break}return e.abrupt("return");case 3:return Object.values(this.headsetConversationStates).forEach((function(e){e.removeTimer||(e.removeTimer=n.setRemoveTimer(e.conversationId))})),e.abrupt("return",t.endAllCalls());case 5:case"end":return e.stop()}}),e,this)}))),function(){return i.apply(this,arguments)})},{key:"retryConnection",value:function(e){return this.selectedImplementation?this.selectedImplementation.connect(e):Promise.reject(new Error("No active headset implementation"))}},{key:"connectionStatus",value:function(){return this.selectedImplementation?this.selectedImplementation.isConnected||this.selectedImplementation.isConnecting?this.selectedImplementation.isConnected?"running":"checking":"notRunning":"noVendor"}},{key:"resetHeadsetStateForCall",value:function(e){return this.getConnectedImpl().resetHeadsetStateForCall(e)}},{key:"getConnectedImpl",value:function(){var e=this.selectedImplementation;return e&&e.isConnected?e:null}},{key:"subscribeToHeadsetEvents",value:function(e){e.on(Xt.a.deviceAnsweredCall,this.handleDeviceAnsweredCall.bind(this)),e.on(Xt.a.deviceRejectedCall,this.handleDeviceRejectedCall.bind(this)),e.on(Xt.a.deviceEndedCall,this.handleDeviceEndedCall.bind(this)),e.on(Xt.a.deviceMuteStatusChanged,this.handleDeviceMuteStatusChanged.bind(this)),e.on(Xt.a.deviceHoldStatusChanged,this.handleDeviceHoldStatusChanged.bind(this)),e.on(Xt.a.deviceEventLogs,this.handleDeviceLogs.bind(this)),e.on(Xt.a.deviceConnectionStatusChanged,this.handleDeviceConnectionStatusChanged.bind(this)),e.on(Xt.a.webHidPermissionRequested,this.handleWebHidPermissionRequested.bind(this))}},{key:"clearSelectedImplementation",value:function(e){this.selectedImplementation&&(this.selectedImplementation.disconnect(e),this._headsetEvents$.next({event:Xt.a.implementationChanged,payload:null}),this.selectedImplementation=null,this.handleDeviceConnectionStatusChanged())}},{key:"setRemoveTimer",value:function(e){var t=this;return setTimeout((function(){t.headsetConversationStates[e].removeTimer&&delete t.headsetConversationStates[e]}),2e3)}},{key:"handleDeviceAnsweredCall",value:function(e){e.vendor===this.selectedImplementation&&(this.updateHeadsetState({conversationId:e.body.conversationId,state:{ringing:!1,offHook:!0}}),this.logger.info("Headset: device answered the call"),this._headsetEvents$.next({event:Xt.a.deviceAnsweredCall,payload:Zt({},e.body)}))}},{key:"handleDeviceRejectedCall",value:function(e){if(e.vendor===this.selectedImplementation){var t=e.body.conversationId;this.updateHeadsetState({conversationId:t,state:{ringing:!1}})&&(this.headsetConversationStates[t].removeTimer=this.setRemoveTimer(t)),this.logger.info("Headset: device rejected the call"),this._headsetEvents$.next({event:Xt.a.deviceRejectedCall,payload:Zt({},e.body)})}}},{key:"handleDeviceEndedCall",value:function(e){this.logger.info("Headset: device ended the call");var t=e.body.conversationId;this.updateHeadsetState({conversationId:t,state:{offHook:!1}})&&(this.headsetConversationStates[t].removeTimer=this.setRemoveTimer(t)),this._headsetEvents$.next({event:Xt.a.deviceEndedCall,payload:Zt({},e.body)})}},{key:"handleDeviceMuteStatusChanged",value:function(e){this.logger.info("Headset: device mute status changed: ",e.body.isMuted),Object.values(this.headsetConversationStates).some((function(t){return t.muted!==e.body.isMuted}))&&Object.values(this.headsetConversationStates).forEach((function(t){return t.muted=e.body.isMuted})),this._headsetEvents$.next({event:Xt.a.deviceMuteStatusChanged,payload:Zt({},e.body)})}},{key:"handleDeviceHoldStatusChanged",value:function(e){this.logger.info("Headset: device hold status changed",e.body.holdRequested);var t={held:e.body.holdRequested},n=e.body.conversationId;this.updateHeadsetState({conversationId:n,state:t}),this._headsetEvents$.next({event:Xt.a.deviceHoldStatusChanged,payload:Zt({},e.body)})}},{key:"handleDeviceConnectionStatusChanged",value:function(){this._headsetEvents$.next({event:Xt.a.deviceConnectionStatusChanged,payload:this.connectionStatus()})}},{key:"handleWebHidPermissionRequested",value:function(e){this.logger.debug("Requesting Webhid Permissions"),this._headsetEvents$.next({event:Xt.a.webHidPermissionRequested,payload:Zt({},e.body)})}},{key:"handleDeviceLogs",value:function(e){this._headsetEvents$.next({event:Xt.a.loggableEvent,payload:Zt({},e.body)})}}],r=[{key:"getInstance",value:function(t){return e.instance&&!t.createNew||(e.instance=new e(t)),e.instance}}],n&&on(t.prototype,n),r&&on(t,r),Object.defineProperty(t,"prototype",{writable:!1}),e}();sn(an,"instance",void 0)},function(e,t,n){"use strict";n.r(t);var r=n(11),i=n(2);n.d(t,"VendorImplementation",(function(){return i.a}));var o=n(6);for(var s in o)["default","VendorImplementation"].indexOf(s)<0&&function(e){n.d(t,e,(function(){return o[e]}))}(s);var a=n(1);n.d(t,"HeadsetEvents",(function(){return a.a}));var c=n(7);for(var s in c)["default","VendorImplementation","HeadsetEvents"].indexOf(s)<0&&function(e){n.d(t,e,(function(){return c[e]}))}(s);n(8);var u=n(9);for(var s in u)["default","VendorImplementation","HeadsetEvents"].indexOf(s)<0&&function(e){n.d(t,e,(function(){return u[e]}))}(s);t.default=r.a},,function(e,t){var n,r,i=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function a(e){if(n===setTimeout)return setTimeout(e,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:o}catch(e){n=o}try{r="function"==typeof clearTimeout?clearTimeout:s}catch(e){r=s}}();var c,u=[],l=!1,f=-1;function h(){l&&c&&(l=!1,c.length?u=c.concat(u):f=-1,u.length&&d())}function d(){if(!l){var e=a(h);l=!0;for(var t=u.length;t;){for(c=u,u=[];++f<t;)c&&c[f].run();f=-1,t=u.length}c=null,l=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===s||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function v(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];u.push(new p(e,t)),1!==u.length||l||a(d)},p.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=v,i.addListener=v,i.once=v,i.off=v,i.removeListener=v,i.removeAllListeners=v,i.emit=v,i.prependListener=v,i.prependOnceListener=v,i.listeners=function(e){return[]},i.binding=function(e){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(e){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},function(e,t,n){"use strict";(function(e){
26
26
  /*!
27
27
  * The buffer module from node.js, for the browser.
28
28
  *
29
29
  * @author Feross Aboukhadijeh <http://feross.org>
30
30
  * @license MIT
31
31
  */
32
- var r=n(15),i=n(16),o=n(17);function s(){return c.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function a(e,t){if(s()<t)throw new RangeError("Invalid typed array length");return c.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=c.prototype:(null===e&&(e=new c(t)),e.length=t),e}function c(e,t,n){if(!(c.TYPED_ARRAY_SUPPORT||this instanceof c))return new c(e,t,n);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return h(this,e)}return u(this,e,t,n)}function u(e,t,n,r){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,n,r){if(t.byteLength,n<0||t.byteLength<n)throw new RangeError("'offset' is out of bounds");if(t.byteLength<n+(r||0))throw new RangeError("'length' is out of bounds");t=void 0===n&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,n):new Uint8Array(t,n,r);c.TYPED_ARRAY_SUPPORT?(e=t).__proto__=c.prototype:e=f(e,t);return e}(e,t,n,r):"string"==typeof t?function(e,t,n){"string"==typeof n&&""!==n||(n="utf8");if(!c.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|p(t,n),i=(e=a(e,r)).write(t,n);i!==r&&(e=e.slice(0,i));return e}(e,t,n):function(e,t){if(c.isBuffer(t)){var n=0|d(t.length);return 0===(e=a(e,n)).length||t.copy(e,0,0,n),e}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||(r=t.length)!=r?a(e,0):f(e,t);if("Buffer"===t.type&&o(t.data))return f(e,t.data)}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function l(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function h(e,t){if(l(t),e=a(e,t<0?0:0|d(t)),!c.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function f(e,t){var n=t.length<0?0:0|d(t.length);e=a(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function d(e){if(e>=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|e}function p(e,t){if(c.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return F(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return B(e).length;default:if(r)return F(e).length;t=(""+t).toLowerCase(),r=!0}}function v(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return S(this,t,n);case"utf8":case"utf-8":return k(this,t,n);case"ascii":return R(this,t,n);case"latin1":case"binary":return T(this,t,n);case"base64":return O(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return A(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function g(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function y(e,t,n,r,i){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof t&&(t=c.from(t,r)),c.isBuffer(t))return 0===t.length?-1:m(e,t,n,r,i);if("number"==typeof t)return t&=255,c.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):m(e,[t],n,r,i);throw new TypeError("val must be string, number or Buffer")}function m(e,t,n,r,i){var o,s=1,a=e.length,c=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;s=2,a/=2,c/=2,n/=2}function u(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(i){var l=-1;for(o=n;o<a;o++)if(u(e,o)===u(t,-1===l?0:o-l)){if(-1===l&&(l=o),o-l+1===c)return l*s}else-1!==l&&(o-=o-l),l=-1}else for(n+c>a&&(n=a-c),o=n;o>=0;o--){for(var h=!0,f=0;f<c;f++)if(u(e,o+f)!==u(t,f)){h=!1;break}if(h)return o}return-1}function b(e,t,n,r){n=Number(n)||0;var i=e.length-n;r?(r=Number(r))>i&&(r=i):r=i;var o=t.length;if(o%2!=0)throw new TypeError("Invalid hex string");r>o/2&&(r=o/2);for(var s=0;s<r;++s){var a=parseInt(t.substr(2*s,2),16);if(isNaN(a))return s;e[n+s]=a}return s}function w(e,t,n,r){return G(F(t,e.length-n),e,n,r)}function E(e,t,n,r){return G(function(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(t),e,n,r)}function C(e,t,n,r){return E(e,t,n,r)}function _(e,t,n,r){return G(B(t),e,n,r)}function I(e,t,n,r){return G(function(e,t){for(var n,r,i,o=[],s=0;s<e.length&&!((t-=2)<0);++s)n=e.charCodeAt(s),r=n>>8,i=n%256,o.push(i),o.push(r);return o}(t,e.length-n),e,n,r)}function O(e,t,n){return 0===t&&n===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,n))}function k(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i<n;){var o,s,a,c,u=e[i],l=null,h=u>239?4:u>223?3:u>191?2:1;if(i+h<=n)switch(h){case 1:u<128&&(l=u);break;case 2:128==(192&(o=e[i+1]))&&(c=(31&u)<<6|63&o)>127&&(l=c);break;case 3:o=e[i+1],s=e[i+2],128==(192&o)&&128==(192&s)&&(c=(15&u)<<12|(63&o)<<6|63&s)>2047&&(c<55296||c>57343)&&(l=c);break;case 4:o=e[i+1],s=e[i+2],a=e[i+3],128==(192&o)&&128==(192&s)&&128==(192&a)&&(c=(15&u)<<18|(63&o)<<12|(63&s)<<6|63&a)>65535&&c<1114112&&(l=c)}null===l?(l=65533,h=1):l>65535&&(l-=65536,r.push(l>>>10&1023|55296),l=56320|1023&l),r.push(l),i+=h}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var n="",r=0;for(;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=4096));return n}(r)}t.Buffer=c,t.SlowBuffer=function(e){+e!=e&&(e=0);return c.alloc(+e)},t.INSPECT_MAX_BYTES=50,c.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=s(),c.poolSize=8192,c._augment=function(e){return e.__proto__=c.prototype,e},c.from=function(e,t,n){return u(null,e,t,n)},c.TYPED_ARRAY_SUPPORT&&(c.prototype.__proto__=Uint8Array.prototype,c.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&c[Symbol.species]===c&&Object.defineProperty(c,Symbol.species,{value:null,configurable:!0})),c.alloc=function(e,t,n){return function(e,t,n,r){return l(t),t<=0?a(e,t):void 0!==n?"string"==typeof r?a(e,t).fill(n,r):a(e,t).fill(n):a(e,t)}(null,e,t,n)},c.allocUnsafe=function(e){return h(null,e)},c.allocUnsafeSlow=function(e){return h(null,e)},c.isBuffer=function(e){return!(null==e||!e._isBuffer)},c.compare=function(e,t){if(!c.isBuffer(e)||!c.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,i=0,o=Math.min(n,r);i<o;++i)if(e[i]!==t[i]){n=e[i],r=t[i];break}return n<r?-1:r<n?1:0},c.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},c.concat=function(e,t){if(!o(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return c.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=c.allocUnsafe(t),i=0;for(n=0;n<e.length;++n){var s=e[n];if(!c.isBuffer(s))throw new TypeError('"list" argument must be an Array of Buffers');s.copy(r,i),i+=s.length}return r},c.byteLength=p,c.prototype._isBuffer=!0,c.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)g(this,t,t+1);return this},c.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)g(this,t,t+3),g(this,t+1,t+2);return this},c.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)g(this,t,t+7),g(this,t+1,t+6),g(this,t+2,t+5),g(this,t+3,t+4);return this},c.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?k(this,0,e):v.apply(this,arguments)},c.prototype.equals=function(e){if(!c.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===c.compare(this,e)},c.prototype.inspect=function(){var e="",n=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),"<Buffer "+e+">"},c.prototype.compare=function(e,t,n,r,i){if(!c.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(this===e)return 0;for(var o=(i>>>=0)-(r>>>=0),s=(n>>>=0)-(t>>>=0),a=Math.min(o,s),u=this.slice(r,i),l=e.slice(t,n),h=0;h<a;++h)if(u[h]!==l[h]){o=u[h],s=l[h];break}return o<s?-1:s<o?1:0},c.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},c.prototype.indexOf=function(e,t,n){return y(this,e,t,n,!0)},c.prototype.lastIndexOf=function(e,t,n){return y(this,e,t,n,!1)},c.prototype.write=function(e,t,n,r){if(void 0===t)r="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var i=this.length-t;if((void 0===n||n>i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return b(this,e,t,n);case"utf8":case"utf-8":return w(this,e,t,n);case"ascii":return E(this,e,t,n);case"latin1":case"binary":return C(this,e,t,n);case"base64":return _(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function R(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(127&e[i]);return r}function T(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(e[i]);return r}function S(e,t,n){var r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);for(var i="",o=t;o<n;++o)i+=j(e[o]);return i}function A(e,t,n){for(var r=e.slice(t,n),i="",o=0;o<r.length;o+=2)i+=String.fromCharCode(r[o]+256*r[o+1]);return i}function N(e,t,n){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>n)throw new RangeError("Trying to access beyond buffer length")}function P(e,t,n,r,i,o){if(!c.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||t<o)throw new RangeError('"value" argument is out of bounds');if(n+r>e.length)throw new RangeError("Index out of range")}function x(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-n,2);i<o;++i)e[n+i]=(t&255<<8*(r?i:1-i))>>>8*(r?i:1-i)}function D(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-n,4);i<o;++i)e[n+i]=t>>>8*(r?i:3-i)&255}function L(e,t,n,r,i,o){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function H(e,t,n,r,o){return o||L(e,0,n,4),i.write(e,t,n,r,23,4),n+4}function U(e,t,n,r,o){return o||L(e,0,n,8),i.write(e,t,n,r,52,8),n+8}c.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e),c.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=c.prototype;else{var i=t-e;n=new c(i,void 0);for(var o=0;o<i;++o)n[o]=this[o+e]}return n},c.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||N(e,t,this.length);for(var r=this[e],i=1,o=0;++o<t&&(i*=256);)r+=this[e+o]*i;return r},c.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||N(e,t,this.length);for(var r=this[e+--t],i=1;t>0&&(i*=256);)r+=this[e+--t]*i;return r},c.prototype.readUInt8=function(e,t){return t||N(e,1,this.length),this[e]},c.prototype.readUInt16LE=function(e,t){return t||N(e,2,this.length),this[e]|this[e+1]<<8},c.prototype.readUInt16BE=function(e,t){return t||N(e,2,this.length),this[e]<<8|this[e+1]},c.prototype.readUInt32LE=function(e,t){return t||N(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},c.prototype.readUInt32BE=function(e,t){return t||N(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},c.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||N(e,t,this.length);for(var r=this[e],i=1,o=0;++o<t&&(i*=256);)r+=this[e+o]*i;return r>=(i*=128)&&(r-=Math.pow(2,8*t)),r},c.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||N(e,t,this.length);for(var r=t,i=1,o=this[e+--r];r>0&&(i*=256);)o+=this[e+--r]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*t)),o},c.prototype.readInt8=function(e,t){return t||N(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},c.prototype.readInt16LE=function(e,t){t||N(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},c.prototype.readInt16BE=function(e,t){t||N(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},c.prototype.readInt32LE=function(e,t){return t||N(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},c.prototype.readInt32BE=function(e,t){return t||N(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},c.prototype.readFloatLE=function(e,t){return t||N(e,4,this.length),i.read(this,e,!0,23,4)},c.prototype.readFloatBE=function(e,t){return t||N(e,4,this.length),i.read(this,e,!1,23,4)},c.prototype.readDoubleLE=function(e,t){return t||N(e,8,this.length),i.read(this,e,!0,52,8)},c.prototype.readDoubleBE=function(e,t){return t||N(e,8,this.length),i.read(this,e,!1,52,8)},c.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||P(this,e,t,n,Math.pow(2,8*n)-1,0);var i=1,o=0;for(this[t]=255&e;++o<n&&(i*=256);)this[t+o]=e/i&255;return t+n},c.prototype.writeUIntBE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||P(this,e,t,n,Math.pow(2,8*n)-1,0);var i=n-1,o=1;for(this[t+i]=255&e;--i>=0&&(o*=256);)this[t+i]=e/o&255;return t+n},c.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,1,255,0),c.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},c.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):x(this,e,t,!0),t+2},c.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):x(this,e,t,!1),t+2},c.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):D(this,e,t,!0),t+4},c.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):D(this,e,t,!1),t+4},c.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);P(this,e,t,n,i-1,-i)}var o=0,s=1,a=0;for(this[t]=255&e;++o<n&&(s*=256);)e<0&&0===a&&0!==this[t+o-1]&&(a=1),this[t+o]=(e/s>>0)-a&255;return t+n},c.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);P(this,e,t,n,i-1,-i)}var o=n-1,s=1,a=0;for(this[t+o]=255&e;--o>=0&&(s*=256);)e<0&&0===a&&0!==this[t+o+1]&&(a=1),this[t+o]=(e/s>>0)-a&255;return t+n},c.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,1,127,-128),c.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},c.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):x(this,e,t,!0),t+2},c.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):x(this,e,t,!1),t+2},c.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,4,2147483647,-2147483648),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):D(this,e,t,!0),t+4},c.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):D(this,e,t,!1),t+4},c.prototype.writeFloatLE=function(e,t,n){return H(this,e,t,!0,n)},c.prototype.writeFloatBE=function(e,t,n){return H(this,e,t,!1,n)},c.prototype.writeDoubleLE=function(e,t,n){return U(this,e,t,!0,n)},c.prototype.writeDoubleBE=function(e,t,n){return U(this,e,t,!1,n)},c.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var i,o=r-n;if(this===e&&n<t&&t<r)for(i=o-1;i>=0;--i)e[i+t]=this[i+n];else if(o<1e3||!c.TYPED_ARRAY_SUPPORT)for(i=0;i<o;++i)e[i+t]=this[i+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+o),t);return o},c.prototype.fill=function(e,t,n,r){if("string"==typeof e){if("string"==typeof t?(r=t,t=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),1===e.length){var i=e.charCodeAt(0);i<256&&(e=i)}if(void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!c.isEncoding(r))throw new TypeError("Unknown encoding: "+r)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError("Out of range index");if(n<=t)return this;var o;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(o=t;o<n;++o)this[o]=e;else{var s=c.isBuffer(e)?e:F(new c(e,r).toString()),a=s.length;for(o=0;o<n-t;++o)this[o+t]=s[o%a]}return this};var M=/[^+\/0-9A-Za-z-_]/g;function j(e){return e<16?"0"+e.toString(16):e.toString(16)}function F(e,t){var n;t=t||1/0;for(var r=e.length,i=null,o=[],s=0;s<r;++s){if((n=e.charCodeAt(s))>55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(s+1===r){(t-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function B(e){return r.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(M,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function G(e,t,n,r){for(var i=0;i<r&&!(i+n>=t.length||i>=e.length);++i)t[i+n]=e[i];return i}}).call(this,n(5))},function(e,t,n){"use strict";t.byteLength=function(e){var t=u(e),n=t[0],r=t[1];return 3*(n+r)/4-r},t.toByteArray=function(e){var t,n,r=u(e),s=r[0],a=r[1],c=new o(function(e,t,n){return 3*(t+n)/4-n}(0,s,a)),l=0,h=a>0?s-4:s;for(n=0;n<h;n+=4)t=i[e.charCodeAt(n)]<<18|i[e.charCodeAt(n+1)]<<12|i[e.charCodeAt(n+2)]<<6|i[e.charCodeAt(n+3)],c[l++]=t>>16&255,c[l++]=t>>8&255,c[l++]=255&t;2===a&&(t=i[e.charCodeAt(n)]<<2|i[e.charCodeAt(n+1)]>>4,c[l++]=255&t);1===a&&(t=i[e.charCodeAt(n)]<<10|i[e.charCodeAt(n+1)]<<4|i[e.charCodeAt(n+2)]>>2,c[l++]=t>>8&255,c[l++]=255&t);return c},t.fromByteArray=function(e){for(var t,n=e.length,i=n%3,o=[],s=0,a=n-i;s<a;s+=16383)o.push(l(e,s,s+16383>a?a:s+16383));1===i?(t=e[n-1],o.push(r[t>>2]+r[t<<4&63]+"==")):2===i&&(t=(e[n-2]<<8)+e[n-1],o.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"="));return o.join("")};for(var r=[],i=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,c=s.length;a<c;++a)r[a]=s[a],i[s.charCodeAt(a)]=a;function u(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function l(e,t,n){for(var i,o,s=[],a=t;a<n;a+=3)i=(e[a]<<16&16711680)+(e[a+1]<<8&65280)+(255&e[a+2]),s.push(r[(o=i)>>18&63]+r[o>>12&63]+r[o>>6&63]+r[63&o]);return s.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(e,t){
32
+ var r=n(16),i=n(17),o=n(18);function s(){return c.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function a(e,t){if(s()<t)throw new RangeError("Invalid typed array length");return c.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=c.prototype:(null===e&&(e=new c(t)),e.length=t),e}function c(e,t,n){if(!(c.TYPED_ARRAY_SUPPORT||this instanceof c))return new c(e,t,n);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return f(this,e)}return u(this,e,t,n)}function u(e,t,n,r){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,n,r){if(t.byteLength,n<0||t.byteLength<n)throw new RangeError("'offset' is out of bounds");if(t.byteLength<n+(r||0))throw new RangeError("'length' is out of bounds");t=void 0===n&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,n):new Uint8Array(t,n,r);c.TYPED_ARRAY_SUPPORT?(e=t).__proto__=c.prototype:e=h(e,t);return e}(e,t,n,r):"string"==typeof t?function(e,t,n){"string"==typeof n&&""!==n||(n="utf8");if(!c.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|p(t,n),i=(e=a(e,r)).write(t,n);i!==r&&(e=e.slice(0,i));return e}(e,t,n):function(e,t){if(c.isBuffer(t)){var n=0|d(t.length);return 0===(e=a(e,n)).length||t.copy(e,0,0,n),e}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||(r=t.length)!=r?a(e,0):h(e,t);if("Buffer"===t.type&&o(t.data))return h(e,t.data)}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function l(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function f(e,t){if(l(t),e=a(e,t<0?0:0|d(t)),!c.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function h(e,t){var n=t.length<0?0:0|d(t.length);e=a(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function d(e){if(e>=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|e}function p(e,t){if(c.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return F(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return B(e).length;default:if(r)return F(e).length;t=(""+t).toLowerCase(),r=!0}}function v(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return S(this,t,n);case"utf8":case"utf-8":return O(this,t,n);case"ascii":return R(this,t,n);case"latin1":case"binary":return T(this,t,n);case"base64":return I(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return A(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function g(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function y(e,t,n,r,i){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof t&&(t=c.from(t,r)),c.isBuffer(t))return 0===t.length?-1:m(e,t,n,r,i);if("number"==typeof t)return t&=255,c.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):m(e,[t],n,r,i);throw new TypeError("val must be string, number or Buffer")}function m(e,t,n,r,i){var o,s=1,a=e.length,c=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;s=2,a/=2,c/=2,n/=2}function u(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(i){var l=-1;for(o=n;o<a;o++)if(u(e,o)===u(t,-1===l?0:o-l)){if(-1===l&&(l=o),o-l+1===c)return l*s}else-1!==l&&(o-=o-l),l=-1}else for(n+c>a&&(n=a-c),o=n;o>=0;o--){for(var f=!0,h=0;h<c;h++)if(u(e,o+h)!==u(t,h)){f=!1;break}if(f)return o}return-1}function b(e,t,n,r){n=Number(n)||0;var i=e.length-n;r?(r=Number(r))>i&&(r=i):r=i;var o=t.length;if(o%2!=0)throw new TypeError("Invalid hex string");r>o/2&&(r=o/2);for(var s=0;s<r;++s){var a=parseInt(t.substr(2*s,2),16);if(isNaN(a))return s;e[n+s]=a}return s}function w(e,t,n,r){return G(F(t,e.length-n),e,n,r)}function E(e,t,n,r){return G(function(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(t),e,n,r)}function C(e,t,n,r){return E(e,t,n,r)}function _(e,t,n,r){return G(B(t),e,n,r)}function k(e,t,n,r){return G(function(e,t){for(var n,r,i,o=[],s=0;s<e.length&&!((t-=2)<0);++s)n=e.charCodeAt(s),r=n>>8,i=n%256,o.push(i),o.push(r);return o}(t,e.length-n),e,n,r)}function I(e,t,n){return 0===t&&n===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,n))}function O(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i<n;){var o,s,a,c,u=e[i],l=null,f=u>239?4:u>223?3:u>191?2:1;if(i+f<=n)switch(f){case 1:u<128&&(l=u);break;case 2:128==(192&(o=e[i+1]))&&(c=(31&u)<<6|63&o)>127&&(l=c);break;case 3:o=e[i+1],s=e[i+2],128==(192&o)&&128==(192&s)&&(c=(15&u)<<12|(63&o)<<6|63&s)>2047&&(c<55296||c>57343)&&(l=c);break;case 4:o=e[i+1],s=e[i+2],a=e[i+3],128==(192&o)&&128==(192&s)&&128==(192&a)&&(c=(15&u)<<18|(63&o)<<12|(63&s)<<6|63&a)>65535&&c<1114112&&(l=c)}null===l?(l=65533,f=1):l>65535&&(l-=65536,r.push(l>>>10&1023|55296),l=56320|1023&l),r.push(l),i+=f}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var n="",r=0;for(;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=4096));return n}(r)}t.Buffer=c,t.SlowBuffer=function(e){+e!=e&&(e=0);return c.alloc(+e)},t.INSPECT_MAX_BYTES=50,c.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=s(),c.poolSize=8192,c._augment=function(e){return e.__proto__=c.prototype,e},c.from=function(e,t,n){return u(null,e,t,n)},c.TYPED_ARRAY_SUPPORT&&(c.prototype.__proto__=Uint8Array.prototype,c.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&c[Symbol.species]===c&&Object.defineProperty(c,Symbol.species,{value:null,configurable:!0})),c.alloc=function(e,t,n){return function(e,t,n,r){return l(t),t<=0?a(e,t):void 0!==n?"string"==typeof r?a(e,t).fill(n,r):a(e,t).fill(n):a(e,t)}(null,e,t,n)},c.allocUnsafe=function(e){return f(null,e)},c.allocUnsafeSlow=function(e){return f(null,e)},c.isBuffer=function(e){return!(null==e||!e._isBuffer)},c.compare=function(e,t){if(!c.isBuffer(e)||!c.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,i=0,o=Math.min(n,r);i<o;++i)if(e[i]!==t[i]){n=e[i],r=t[i];break}return n<r?-1:r<n?1:0},c.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},c.concat=function(e,t){if(!o(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return c.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=c.allocUnsafe(t),i=0;for(n=0;n<e.length;++n){var s=e[n];if(!c.isBuffer(s))throw new TypeError('"list" argument must be an Array of Buffers');s.copy(r,i),i+=s.length}return r},c.byteLength=p,c.prototype._isBuffer=!0,c.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)g(this,t,t+1);return this},c.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)g(this,t,t+3),g(this,t+1,t+2);return this},c.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)g(this,t,t+7),g(this,t+1,t+6),g(this,t+2,t+5),g(this,t+3,t+4);return this},c.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?O(this,0,e):v.apply(this,arguments)},c.prototype.equals=function(e){if(!c.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===c.compare(this,e)},c.prototype.inspect=function(){var e="",n=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),"<Buffer "+e+">"},c.prototype.compare=function(e,t,n,r,i){if(!c.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(this===e)return 0;for(var o=(i>>>=0)-(r>>>=0),s=(n>>>=0)-(t>>>=0),a=Math.min(o,s),u=this.slice(r,i),l=e.slice(t,n),f=0;f<a;++f)if(u[f]!==l[f]){o=u[f],s=l[f];break}return o<s?-1:s<o?1:0},c.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},c.prototype.indexOf=function(e,t,n){return y(this,e,t,n,!0)},c.prototype.lastIndexOf=function(e,t,n){return y(this,e,t,n,!1)},c.prototype.write=function(e,t,n,r){if(void 0===t)r="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var i=this.length-t;if((void 0===n||n>i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return b(this,e,t,n);case"utf8":case"utf-8":return w(this,e,t,n);case"ascii":return E(this,e,t,n);case"latin1":case"binary":return C(this,e,t,n);case"base64":return _(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return k(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function R(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(127&e[i]);return r}function T(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(e[i]);return r}function S(e,t,n){var r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);for(var i="",o=t;o<n;++o)i+=j(e[o]);return i}function A(e,t,n){for(var r=e.slice(t,n),i="",o=0;o<r.length;o+=2)i+=String.fromCharCode(r[o]+256*r[o+1]);return i}function x(e,t,n){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>n)throw new RangeError("Trying to access beyond buffer length")}function N(e,t,n,r,i,o){if(!c.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||t<o)throw new RangeError('"value" argument is out of bounds');if(n+r>e.length)throw new RangeError("Index out of range")}function P(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-n,2);i<o;++i)e[n+i]=(t&255<<8*(r?i:1-i))>>>8*(r?i:1-i)}function D(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-n,4);i<o;++i)e[n+i]=t>>>8*(r?i:3-i)&255}function L(e,t,n,r,i,o){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function H(e,t,n,r,o){return o||L(e,0,n,4),i.write(e,t,n,r,23,4),n+4}function U(e,t,n,r,o){return o||L(e,0,n,8),i.write(e,t,n,r,52,8),n+8}c.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e),c.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=c.prototype;else{var i=t-e;n=new c(i,void 0);for(var o=0;o<i;++o)n[o]=this[o+e]}return n},c.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||x(e,t,this.length);for(var r=this[e],i=1,o=0;++o<t&&(i*=256);)r+=this[e+o]*i;return r},c.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||x(e,t,this.length);for(var r=this[e+--t],i=1;t>0&&(i*=256);)r+=this[e+--t]*i;return r},c.prototype.readUInt8=function(e,t){return t||x(e,1,this.length),this[e]},c.prototype.readUInt16LE=function(e,t){return t||x(e,2,this.length),this[e]|this[e+1]<<8},c.prototype.readUInt16BE=function(e,t){return t||x(e,2,this.length),this[e]<<8|this[e+1]},c.prototype.readUInt32LE=function(e,t){return t||x(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},c.prototype.readUInt32BE=function(e,t){return t||x(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},c.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||x(e,t,this.length);for(var r=this[e],i=1,o=0;++o<t&&(i*=256);)r+=this[e+o]*i;return r>=(i*=128)&&(r-=Math.pow(2,8*t)),r},c.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||x(e,t,this.length);for(var r=t,i=1,o=this[e+--r];r>0&&(i*=256);)o+=this[e+--r]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*t)),o},c.prototype.readInt8=function(e,t){return t||x(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},c.prototype.readInt16LE=function(e,t){t||x(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},c.prototype.readInt16BE=function(e,t){t||x(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},c.prototype.readInt32LE=function(e,t){return t||x(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},c.prototype.readInt32BE=function(e,t){return t||x(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},c.prototype.readFloatLE=function(e,t){return t||x(e,4,this.length),i.read(this,e,!0,23,4)},c.prototype.readFloatBE=function(e,t){return t||x(e,4,this.length),i.read(this,e,!1,23,4)},c.prototype.readDoubleLE=function(e,t){return t||x(e,8,this.length),i.read(this,e,!0,52,8)},c.prototype.readDoubleBE=function(e,t){return t||x(e,8,this.length),i.read(this,e,!1,52,8)},c.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||N(this,e,t,n,Math.pow(2,8*n)-1,0);var i=1,o=0;for(this[t]=255&e;++o<n&&(i*=256);)this[t+o]=e/i&255;return t+n},c.prototype.writeUIntBE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||N(this,e,t,n,Math.pow(2,8*n)-1,0);var i=n-1,o=1;for(this[t+i]=255&e;--i>=0&&(o*=256);)this[t+i]=e/o&255;return t+n},c.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,1,255,0),c.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},c.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):P(this,e,t,!0),t+2},c.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):P(this,e,t,!1),t+2},c.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):D(this,e,t,!0),t+4},c.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):D(this,e,t,!1),t+4},c.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);N(this,e,t,n,i-1,-i)}var o=0,s=1,a=0;for(this[t]=255&e;++o<n&&(s*=256);)e<0&&0===a&&0!==this[t+o-1]&&(a=1),this[t+o]=(e/s>>0)-a&255;return t+n},c.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);N(this,e,t,n,i-1,-i)}var o=n-1,s=1,a=0;for(this[t+o]=255&e;--o>=0&&(s*=256);)e<0&&0===a&&0!==this[t+o+1]&&(a=1),this[t+o]=(e/s>>0)-a&255;return t+n},c.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,1,127,-128),c.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},c.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):P(this,e,t,!0),t+2},c.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):P(this,e,t,!1),t+2},c.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,4,2147483647,-2147483648),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):D(this,e,t,!0),t+4},c.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):D(this,e,t,!1),t+4},c.prototype.writeFloatLE=function(e,t,n){return H(this,e,t,!0,n)},c.prototype.writeFloatBE=function(e,t,n){return H(this,e,t,!1,n)},c.prototype.writeDoubleLE=function(e,t,n){return U(this,e,t,!0,n)},c.prototype.writeDoubleBE=function(e,t,n){return U(this,e,t,!1,n)},c.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var i,o=r-n;if(this===e&&n<t&&t<r)for(i=o-1;i>=0;--i)e[i+t]=this[i+n];else if(o<1e3||!c.TYPED_ARRAY_SUPPORT)for(i=0;i<o;++i)e[i+t]=this[i+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+o),t);return o},c.prototype.fill=function(e,t,n,r){if("string"==typeof e){if("string"==typeof t?(r=t,t=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),1===e.length){var i=e.charCodeAt(0);i<256&&(e=i)}if(void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!c.isEncoding(r))throw new TypeError("Unknown encoding: "+r)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError("Out of range index");if(n<=t)return this;var o;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(o=t;o<n;++o)this[o]=e;else{var s=c.isBuffer(e)?e:F(new c(e,r).toString()),a=s.length;for(o=0;o<n-t;++o)this[o+t]=s[o%a]}return this};var M=/[^+\/0-9A-Za-z-_]/g;function j(e){return e<16?"0"+e.toString(16):e.toString(16)}function F(e,t){var n;t=t||1/0;for(var r=e.length,i=null,o=[],s=0;s<r;++s){if((n=e.charCodeAt(s))>55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(s+1===r){(t-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function B(e){return r.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(M,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function G(e,t,n,r){for(var i=0;i<r&&!(i+n>=t.length||i>=e.length);++i)t[i+n]=e[i];return i}}).call(this,n(5))},function(e,t,n){"use strict";t.byteLength=function(e){var t=u(e),n=t[0],r=t[1];return 3*(n+r)/4-r},t.toByteArray=function(e){var t,n,r=u(e),s=r[0],a=r[1],c=new o(function(e,t,n){return 3*(t+n)/4-n}(0,s,a)),l=0,f=a>0?s-4:s;for(n=0;n<f;n+=4)t=i[e.charCodeAt(n)]<<18|i[e.charCodeAt(n+1)]<<12|i[e.charCodeAt(n+2)]<<6|i[e.charCodeAt(n+3)],c[l++]=t>>16&255,c[l++]=t>>8&255,c[l++]=255&t;2===a&&(t=i[e.charCodeAt(n)]<<2|i[e.charCodeAt(n+1)]>>4,c[l++]=255&t);1===a&&(t=i[e.charCodeAt(n)]<<10|i[e.charCodeAt(n+1)]<<4|i[e.charCodeAt(n+2)]>>2,c[l++]=t>>8&255,c[l++]=255&t);return c},t.fromByteArray=function(e){for(var t,n=e.length,i=n%3,o=[],s=0,a=n-i;s<a;s+=16383)o.push(l(e,s,s+16383>a?a:s+16383));1===i?(t=e[n-1],o.push(r[t>>2]+r[t<<4&63]+"==")):2===i&&(t=(e[n-2]<<8)+e[n-1],o.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"="));return o.join("")};for(var r=[],i=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,c=s.length;a<c;++a)r[a]=s[a],i[s.charCodeAt(a)]=a;function u(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function l(e,t,n){for(var i,o,s=[],a=t;a<n;a+=3)i=(e[a]<<16&16711680)+(e[a+1]<<8&65280)+(255&e[a+2]),s.push(r[(o=i)>>18&63]+r[o>>12&63]+r[o>>6&63]+r[63&o]);return s.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(e,t){
33
33
  /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
34
- t.read=function(e,t,n,r,i){var o,s,a=8*i-r-1,c=(1<<a)-1,u=c>>1,l=-7,h=n?i-1:0,f=n?-1:1,d=e[t+h];for(h+=f,o=d&(1<<-l)-1,d>>=-l,l+=a;l>0;o=256*o+e[t+h],h+=f,l-=8);for(s=o&(1<<-l)-1,o>>=-l,l+=r;l>0;s=256*s+e[t+h],h+=f,l-=8);if(0===o)o=1-u;else{if(o===c)return s?NaN:1/0*(d?-1:1);s+=Math.pow(2,r),o-=u}return(d?-1:1)*s*Math.pow(2,o-r)},t.write=function(e,t,n,r,i,o){var s,a,c,u=8*o-i-1,l=(1<<u)-1,h=l>>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=r?0:o-1,p=r?1:-1,v=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,s=l):(s=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-s))<1&&(s--,c*=2),(t+=s+h>=1?f/c:f*Math.pow(2,1-h))*c>=2&&(s++,c/=2),s+h>=l?(a=0,s=l):s+h>=1?(a=(t*c-1)*Math.pow(2,i),s+=h):(a=t*Math.pow(2,h-1)*Math.pow(2,i),s=0));i>=8;e[n+d]=255&a,d+=p,a/=256,i-=8);for(s=s<<i|a,u+=i;u>0;e[n+d]=255&s,d+=p,s/=256,u-=8);e[n+d-p]|=128*v}},function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}}])}));
34
+ t.read=function(e,t,n,r,i){var o,s,a=8*i-r-1,c=(1<<a)-1,u=c>>1,l=-7,f=n?i-1:0,h=n?-1:1,d=e[t+f];for(f+=h,o=d&(1<<-l)-1,d>>=-l,l+=a;l>0;o=256*o+e[t+f],f+=h,l-=8);for(s=o&(1<<-l)-1,o>>=-l,l+=r;l>0;s=256*s+e[t+f],f+=h,l-=8);if(0===o)o=1-u;else{if(o===c)return s?NaN:1/0*(d?-1:1);s+=Math.pow(2,r),o-=u}return(d?-1:1)*s*Math.pow(2,o-r)},t.write=function(e,t,n,r,i,o){var s,a,c,u=8*o-i-1,l=(1<<u)-1,f=l>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=r?0:o-1,p=r?1:-1,v=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,s=l):(s=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-s))<1&&(s--,c*=2),(t+=s+f>=1?h/c:h*Math.pow(2,1-f))*c>=2&&(s++,c/=2),s+f>=l?(a=0,s=l):s+f>=1?(a=(t*c-1)*Math.pow(2,i),s+=f):(a=t*Math.pow(2,f-1)*Math.pow(2,i),s=0));i>=8;e[n+d]=255&a,d+=p,a/=256,i-=8);for(s=s<<i|a,u+=i;u>0;e[n+d]=255&s,d+=p,s/=256,u-=8);e[n+d-p]|=128*v}},function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}}])}));
35
35
  //# sourceMappingURL=softhphone-vendor-headsets.js.map