softphone-vendor-headsets 2.5.1 → 2.5.2-develop.55

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 (22) hide show
  1. package/dist/cjs/src/library/services/headset.js +3 -1
  2. package/dist/cjs/src/library/services/headset.js.map +1 -1
  3. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser.test.js +21 -0
  4. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser.test.js.map +1 -1
  5. package/dist/cjs/src/library/services/vendor-implementations/vbet/vbet.d.ts +6 -14
  6. package/dist/cjs/src/library/services/vendor-implementations/vbet/vbet.js +109 -303
  7. package/dist/cjs/src/library/services/vendor-implementations/vbet/vbet.js.map +1 -1
  8. package/dist/cjs/src/library/services/vendor-implementations/vbet/vbet.test.js +818 -473
  9. package/dist/cjs/src/library/services/vendor-implementations/vbet/vbet.test.js.map +1 -1
  10. package/dist/deploy-info.json +3 -3
  11. package/dist/es/src/library/services/headset.js +3 -1
  12. package/dist/es/src/library/services/headset.js.map +1 -1
  13. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser.test.js +21 -0
  14. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser.test.js.map +1 -1
  15. package/dist/es/src/library/services/vendor-implementations/vbet/vbet.d.ts +6 -14
  16. package/dist/es/src/library/services/vendor-implementations/vbet/vbet.js +109 -303
  17. package/dist/es/src/library/services/vendor-implementations/vbet/vbet.js.map +1 -1
  18. package/dist/es/src/library/services/vendor-implementations/vbet/vbet.test.js +820 -475
  19. package/dist/es/src/library/services/vendor-implementations/vbet/vbet.test.js.map +1 -1
  20. package/dist/softhphone-vendor-headsets.js +3 -3
  21. package/dist/softhphone-vendor-headsets.js.map +1 -1
  22. package/package.json +82 -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],a=t[1],s=0,u=[];s<o.length;s++)i=o[s],Object.prototype.hasOwnProperty.call(r,i)&&r[i]&&u.push(r[i][0]),r[i]=0;for(n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[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 a,s=document.createElement("script");s.charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.src=function(e){return i.p+""+e+".softhphone-vendor-headsets.js"}(e);var c=new Error;a=function(t){s.onerror=s.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(){a({type:"timeout",target:s})}),12e4);s.onerror=s.onload=a,document.head.appendChild(s)}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||[],a=o.push.bind(o);o.push=t,o=o.slice();for(var s=0;s<o.length;s++)t(o[s]);var c=a;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 Un})),n.d(t,"d",(function(){return It})),n.d(t,"e",(function(){return Ke})),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 s})),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 ae})),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 qe})),n.d(t,"t",(function(){return ze})),n.d(t,"u",(function(){return qn})),n.d(t,"v",(function(){return kt})),n.d(t,"w",(function(){return Me})),n.d(t,"x",(function(){return A})),n.d(t,"y",(function(){return K})),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 a(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 s(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{c(r.next(e))}catch(e){o(e)}}function s(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(a,s)}c((r=r.apply(e,t||[])).next())}))}function c(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)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 a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){a.label=o[1];break}if(6===o[0]&&a.label<i[1]){a.label=i[1],i=o;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(o);break}i[2]&&a.ops.pop(),a.trys.pop();continue}o=t.call(e,a)}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,s])}}}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),a=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)a.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 a}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={},a("next"),a("throw"),a("return"),r[Symbol.asyncIterator]=function(){return this},r;function a(e){i[e]&&(r[e]=function(t){return new Promise((function(n,r){o.push([e,t,n,r])>1||s(e,t)}))})}function s(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){s("next",e)}function u(e){s("throw",e)}function l(e,t){e(t),o.shift(),o.length&&s(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 y(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 g(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 a=u(o),s=a.next();!s.done;s=a.next())s.value.remove(this)}catch(t){e={error:t}}finally{try{s&&!s.done&&(t=a.return)&&t.call(a)}finally{if(e)throw e.error}}else o.remove(this);var c=this.initialTeardown;if(g(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&&g(e.remove)&&g(e.add)&&g(e.unsubscribe)}function I(e){g(e)?e():e.unsubscribe()}var k=null,O=void 0,S=!1,x={setTimeout:function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];var i=x.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=x.delegate;return((null==t?void 0:t.clearTimeout)||clearTimeout)(e)},delegate:void 0};function T(e){x.setTimeout((function(){throw e}))}function A(){}var P=R("C",void 0,void 0);function R(e,t,n){return{kind:e,value:t,error:n}}function L(e){e()}var N=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 a(t,e),t.create=function(e,t,n){return new U(e,t,n)},t.prototype.next=function(e){this.isStopped?F(function(e){return R("N",e,void 0)}(e),this):this._next(e)},t.prototype.error=function(e){this.isStopped?F(R("E",void 0,e),this):(this.isStopped=!0,this._error(e))},t.prototype.complete=function(){this.isStopped?F(P,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),D=Function.prototype.bind;function H(e,t){return D.call(e,t)}var j=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){M(e)}},e.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(e){M(e)}else M(e)},e.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(e){M(e)}},e}(),U=function(e){function t(t,n,r){var i,o,a=e.call(this)||this;return g(t)||!t?i={next:null!=t?t:void 0,error:null!=n?n:void 0,complete:null!=r?r:void 0}:a&&S?((o=Object.create(t)).unsubscribe=function(){return a.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,a.destination=new j(i),a}return a(t,e),t}(N);function M(e){T(e)}function F(e,t){var n=k;n&&x.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 N||function(e){return e&&g(e.next)&&g(e.error)&&g(e.complete)}(r)&&_(r)?e:new U(e,t,n);return L((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=q(t))((function(t,r){var i=new U({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=q(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 q(e){var t;return null!==(t=null!=e?e:O)&&void 0!==t?t:Promise}function K(e){return function(t){if(function(e){return g(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,a){var s=e.call(this,t)||this;return s.onFinalize=o,s.shouldUnsubscribe=a,s._next=n?function(e){try{n(e)}catch(e){t.error(e)}}:e.prototype._next,s._error=i?function(e){try{i(e)}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._error,s._complete=r?function(){try{r()}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._complete,s}return a(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}(N),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 a(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;L((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;L((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;L((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 a(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 a(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 a(t,e),t.prototype.next=function(t){var n=this,r=n.isStopped,i=n._buffer,o=n._infiniteTimeWindow,a=n._timestampProvider,s=n._windowTime;r||(i.push(t),!o&&i.push(a.now()+s)),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 a=n.now(),s=0,c=1;c<r.length&&r[c]<=a;c+=2)s=c;s&&r.splice(0,s+1)}},t}(X),ne=function(e){function t(t,n){return e.call(this)||this}return a(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 a(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}(),ae=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 a(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),se=ae,ce=new W((function(e){return e.complete()}));function ue(e){return e&&g(e.schedule)}function le(e){return e[e.length-1]}function he(e){return g(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 g(null==e?void 0:e.then)}function ye(e){return g(e[G])}function ge(e){return Symbol.asyncIterator&&g(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 g(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 g(null==e?void 0:e.getReader)}function _e(e){if(e instanceof W)return e;if(null!=e){if(ye(e))return i=e,new W((function(e){var t=i[G]();if(g(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,T)}));if(ge(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 a=o.value;if(e.next(a),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 s(this,void 0,void 0,(function(){var a,s;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(a=r.value,t.next(a),t.closed)return[2];c.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return s=c.sent(),i={error:s},[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 ke(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),K((function(n,r){n.subscribe(z(r,(function(n){return ke(r,e,(function(){return r.next(n)}),t)}),(function(){return ke(r,e,(function(){return r.complete()}),t)}),(function(n){return ke(r,e,(function(){return r.error(n)}),t)})))}))}function Se(e,t){return void 0===t&&(t=0),K((function(n,r){r.add(e.schedule((function(){return n.subscribe(r)}),t))}))}function xe(e,t){if(!e)throw new Error("Iterable cannot be null");return new W((function(n){ke(n,t,(function(){var r=e[Symbol.asyncIterator]();ke(n,t,(function(){r.next().then((function(e){e.done?n.complete():n.next(e.value)}))}),0,!0)}))}))}function Te(e,t){return t?function(e,t){if(null!=e){if(ye(e))return function(e,t){return _e(e).pipe(Se(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(Se(t),Oe(t))}(e,t);if(ge(e))return xe(e,t);if(we(e))return function(e,t){return new W((function(n){var r;return ke(n,t,(function(){r=e[be](),ke(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 g(null==r?void 0:r.return)&&r.return()}}))}(e,t);if(Ce(e))return function(e,t){return xe(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 Te(e,n)}function Pe(e,t){var n=g(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 Re=m((function(e){return function(){e(this),this.name="EmptyError",this.message="no elements in sequence"}}));function Le(e,t){var n="object"==typeof t;return new Promise((function(r,i){var o,a=!1;e.subscribe({next:function(e){o=e,a=!0},error:i,complete:function(){a?r(o):n?r(t.defaultValue):i(new Re)}})}))}function Ne(e,t){var n="object"==typeof t;return new Promise((function(r,i){var o=new U({next:function(e){r(e),o.unsubscribe()},error:i,complete:function(){n?r(t.defaultValue):i(new Re)}});e.subscribe(o)}))}function De(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 je(e,t){var n=De(e)?{first:e}:"number"==typeof e?{each:e}:e,r=n.first,i=n.each,o=n.with,a=void 0===o?Ue:o,s=n.scheduler,c=void 0===s?null!=t?t:ae:s,u=n.meta,l=void 0===u?null:u;if(null==r&&null==i)throw new TypeError("No timeout provided.");return K((function(e,t){var n,o,s=null,u=0,h=function(e){o=ke(t,c,(function(){try{n.unsubscribe(),_e(a({meta:l,lastValue:s,seen:u})).subscribe(t)}catch(e){t.error(e)}}),e)};n=e.subscribe(z(t,(function(e){null==o||o.unsubscribe(),u++,t.next(s=e),i>0&&h(i)}),void 0,void 0,(function(){(null==o?void 0:o.closed)||null==o||o.unsubscribe(),s=null}))),!u&&h(null!=r?"number"==typeof r?r:+r-c.now():i)}))}function Ue(e){throw new He(e)}function Me(e,t){return K((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),g(t)?Fe((function(n,r){return Me((function(e,i){return t(n,e,r,i)}))(_e(e(n,r)))}),n):("number"==typeof t&&(n=t),K((function(t,r){return function(e,t,n,r,i,o,a,s){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()(Te(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=se);var r=-1;return null!=t&&(ue(t)?n=t:r=t),new W((function(t){var i=De(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 qe(){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)(Te(i,n)):ce}var Ke,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 K((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 at(){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 a=t.map((function(e){return e.shift()}));e.next(n?n.apply(void 0,h([],l(a))):a),t.some((function(e,t){return!e.length&&i[t]}))&&e.complete()}}),(function(){i[o]=!0,!t[o].length&&e.complete()})))},a=0;!e.closed&&a<r.length;a++)o(a);return function(){t=i=null}})):ce}function st(e){return K((function(t,n){var r,i=null,o=!1;i=t.subscribe(z(n,void 0,void 0,(function(a){r=_e(e(a,st(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 g(t)?Fe(e,t,1):Fe(e,1)}function ut(e){return K((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}:K((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),K((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 Re}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 Re})))}}function pt(e){return e<=0?function(){return ce}:K((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 a=o.value;n.next(a)}}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 K((function(t,n){var r,i,o=!1,a=function(){r=t.subscribe(z(n,void 0,void 0,(function(t){i||(i=new X,e(i).subscribe(z(n,(function(){return r?a():o=!0})))),i&&i.next(t)}))),o&&(r.unsubscribe(),r=null,o=!1,a())};a()}))}function yt(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,a=void 0===o||o,s=e.resetOnRefCountZero,c=void 0===s||s;return function(e){var t,r,o,s=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 K((function(e,p){s++,l||u||h();var v=o=null!=o?o:n();p.add((function(){0!=--s||l||u||(r=gt(d,c))})),v.subscribe(p),!t&&s>0&&(t=new U({next:function(e){return v.next(e)},error:function(e){l=!0,h(),r=gt(f,i,e),v.error(e)},complete:function(){u=!0,h(),r=gt(f,a),v.complete()}}),_e(e).subscribe(t))}))(e)}}function gt(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 U({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,a,s=!1;return e&&"object"==typeof e?(r=e.bufferSize,a=void 0===r?1/0:r,i=e.windowTime,t=void 0===i?1/0:i,s=void 0!==(o=e.refCount)&&o,n=e.scheduler):a=null!=e?e:1/0,yt({connector:function(){return new te(a,t,n)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:s})}function bt(e){return rt((function(t,n){return e<=n}))}function wt(e,t){return K((function(n,r){var i=null,o=0,a=!1,s=function(){return a&&!i&&r.complete()};n.subscribe(z(r,(function(n){null==i||i.unsubscribe();var a=0,c=o++;_e(e(n,c)).subscribe(i=z(r,(function(e){return r.next(t?t(n,e,c,a++):e)}),(function(){i=null,s()})))}),(function(){a=!0,s()})))}))}function Et(){return wt(Y)}function Ct(e){return K((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=g(e)||t||n?{next:e,error:t,complete:n}:e;return r?K((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 kt(e,t,n=Ke.ERROR,r=ze.JS_LIB){t?null==t||t.write({level:n,layer:r,message:e}):t||n!==Ke.ERROR||console.error(e)}function Ot(e){return void 0!==e}!function(e){e.ERROR="error",e.WARNING="warning",e.INFO="info"}(Ke||(Ke={})),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 St{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(Me(e=>(this.addItem(e),e)),yt()),this.itemAdded.subscribe({next:e=>{e.onDisconnect.pipe(dt(),Me(()=>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 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 xt{constructor(t,n){this.sdkVersion=null!=="4.2.2"?"4.2.2":"0.0.1-local",this.consoleAppVersion=t.pipe(dt(e=>"ready"===e.event),Me(e=>e.version),je(1e3),mt(1),st(()=>Ae(null))),this.chromeExtensionVersion=t.pipe(dt(e=>"chrome-extension-ready"===e.event),Me(e=>e.version),je(1e3),mt(1),st(()=>Ae(null))),at(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}`,kt(i,n,Ke.INFO)})}}class Tt{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,y(this,Je,new xt(this._readyEvents,null==n?void 0:n.logger),"f")}getVersion(){return v(this,Je,"f").sdkVersion}getChromehostVersion(){return Ne(v(this,Je,"f").consoleAppVersion)}getChromeExtensionVersion(){return Ne(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 Pt(e,t=Qe.CHROME_EXTENSION,r){return s(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 It(At,$e.UNEXPECTED_ERROR)}),o=yield i.TransportChromeExtension.checkInstallation();if(o.ok)return kt("Using Chrome extension for transport.",e,Ke.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&&kt(o.message,e,Ke.INFO)}return kt("Using WebHID for transport.",e,Ke.INFO),function(e,t){return s(this,void 0,void 0,(function*(){const r=yield n.e(2).then(n.bind(null,20)).catch(()=>{throw new It(At,$e.UNEXPECTED_ERROR)}),i=yield n.e(3).then(n.bind(null,21)).catch(()=>{throw new It(At,$e.UNEXPECTED_ERROR)}),o=r.initHandler(e);return new i.WebHidTransport(o,e,t)}))}(e,r)}))}class Rt{constructor(e,t){this.log=e.consoleAppEvent.pipe(rt(e=>"log"===e.event),Me(e=>({message:e.message,level:e.level,layer:e.layer}))),this.log.subscribe(e=>kt(e.message,t,e.level,e.layer))}}const Lt=[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 Nt{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=Lt[t]^r<<8}return 65535&(0^r)}(n.join("-")).toString(16).padStart(4,"0");return t===r}}var Dt,Ht,jt,Ut,Mt,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"}(Dt||(Dt={}));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"}(jt||(jt={}));class Vt{constructor(e,t,n,r,i,o=new Uint8Array,a=0){this.destination=e,this.source=t,this.type=n,this.command=r,this.subCommand=i,this.payload=o,this.sequenceNumber=a}}!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"}(Ut||(Ut={})),function(e){e[e.EVENT=0]="EVENT",e[e.READ=1]="READ",e[e.WRITE=2]="WRITE",e[e.REPLY=3]="REPLY"}(Mt||(Mt={})),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 qt(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 Kt{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:qt},$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:qt};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],a=t[1],s=0,u=[];s<o.length;s++)i=o[s],Object.prototype.hasOwnProperty.call(r,i)&&r[i]&&u.push(r[i][0]),r[i]=0;for(n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[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 a,s=document.createElement("script");s.charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.src=function(e){return i.p+""+e+".softhphone-vendor-headsets.js"}(e);var c=new Error;a=function(t){s.onerror=s.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(){a({type:"timeout",target:s})}),12e4);s.onerror=s.onload=a,document.head.appendChild(s)}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||[],a=o.push.bind(o);o.push=t,o=o.slice();for(var s=0;s<o.length;s++)t(o[s]);var c=a;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 Un})),n.d(t,"d",(function(){return Ot})),n.d(t,"e",(function(){return qe})),n.d(t,"f",(function(){return K})),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 s})),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 Ke})),n.d(t,"o",(function(){return ae})),n.d(t,"p",(function(){return Vn})),n.d(t,"q",(function(){return tr})),n.d(t,"r",(function(){return Kn})),n.d(t,"s",(function(){return We})),n.d(t,"t",(function(){return ze})),n.d(t,"u",(function(){return Wn})),n.d(t,"v",(function(){return It})),n.d(t,"w",(function(){return Me})),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 Bn})),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 a(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 s(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{c(r.next(e))}catch(e){o(e)}}function s(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(a,s)}c((r=r.apply(e,t||[])).next())}))}function c(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)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 a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){a.label=o[1];break}if(6===o[0]&&a.label<i[1]){a.label=i[1],i=o;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(o);break}i[2]&&a.ops.pop(),a.trys.pop();continue}o=t.call(e,a)}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,s])}}}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),a=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)a.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 a}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={},a("next"),a("throw"),a("return"),r[Symbol.asyncIterator]=function(){return this},r;function a(e){i[e]&&(r[e]=function(t){return new Promise((function(n,r){o.push([e,t,n,r])>1||s(e,t)}))})}function s(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){s("next",e)}function u(e){s("throw",e)}function l(e,t){e(t),o.shift(),o.length&&s(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 y(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 g(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 a=u(o),s=a.next();!s.done;s=a.next())s.value.remove(this)}catch(t){e={error:t}}finally{try{s&&!s.done&&(t=a.return)&&t.call(a)}finally{if(e)throw e.error}}else o.remove(this);var c=this.initialTeardown;if(g(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{O(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)O(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&&g(e.remove)&&g(e.add)&&g(e.unsubscribe)}function O(e){g(e)?e():e.unsubscribe()}var I=null,k=void 0,S=!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 x(e){T.setTimeout((function(){throw e}))}function A(){}var L=P("C",void 0,void 0);function P(e,t,n){return{kind:e,value:t,error:n}}function N(e){e()}var R=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=G,n}return a(t,e),t.create=function(e,t,n){return new U(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(L,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),D=Function.prototype.bind;function H(e,t){return D.call(e,t)}var j=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){M(e)}},e.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(e){M(e)}else M(e)},e.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(e){M(e)}},e}(),U=function(e){function t(t,n,r){var i,o,a=e.call(this)||this;return g(t)||!t?i={next:null!=t?t:void 0,error:null!=n?n:void 0,complete:null!=r?r:void 0}:a&&S?((o=Object.create(t)).unsubscribe=function(){return a.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,a.destination=new j(i),a}return a(t,e),t}(R);function M(e){x(e)}function F(e,t){var n=I;n&&T.setTimeout((function(){return n(e,t)}))}var G={closed:!0,next:A,error:function(e){throw e},complete:A},B="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 K=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 R||function(e){return e&&g(e.next)&&g(e.error)&&g(e.complete)}(r)&&_(r)?e:new U(e,t,n);return N((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=W(t))((function(t,r){var i=new U({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[B]=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=W(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 W(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 g(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,a){var s=e.call(this,t)||this;return s.onFinalize=o,s.shouldUnsubscribe=a,s._next=n?function(e){try{n(e)}catch(e){t.error(e)}}:e.prototype._next,s._error=i?function(e){try{i(e)}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._error,s._complete=r?function(){try{r()}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._complete,s}return a(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}(R),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 a(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;N((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;N((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;N((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 K;return e.source=this,e},t.create=function(e,t){return new Q(e,t)},t}(K),Q=function(e){function t(t,n){var r=e.call(this)||this;return r.destination=t,r.source=n,r}return a(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 a(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 a(t,e),t.prototype.next=function(t){var n=this,r=n.isStopped,i=n._buffer,o=n._infiniteTimeWindow,a=n._timestampProvider,s=n._windowTime;r||(i.push(t),!o&&i.push(a.now()+s)),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 a=n.now(),s=0,c=1;c<r.length&&r[c]<=a;c+=2)s=c;s&&r.splice(0,s+1)}},t}(X),ne=function(e){function t(t,n){return e.call(this)||this}return a(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 a(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}(),ae=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 a(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),se=ae,ce=new K((function(e){return e.complete()}));function ue(e){return e&&g(e.schedule)}function le(e){return e[e.length-1]}function he(e){return g(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 g(null==e?void 0:e.then)}function ye(e){return g(e[B])}function ge(e){return Symbol.asyncIterator&&g(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 g(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 g(null==e?void 0:e.getReader)}function _e(e){if(e instanceof K)return e;if(null!=e){if(ye(e))return i=e,new K((function(e){var t=i[B]();if(g(t.subscribe))return t.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")}));if(pe(e))return r=e,new K((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 K((function(e){n.then((function(t){e.closed||(e.next(t),e.complete())}),(function(t){return e.error(t)})).then(null,x)}));if(ge(e))return Oe(e);if(we(e))return t=e,new K((function(e){var n,r;try{for(var i=u(t),o=i.next();!o.done;o=i.next()){var a=o.value;if(e.next(a),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 Oe(Ee(e))}var t,n,r,i;throw me(e)}function Oe(e){return new K((function(t){(function(e,t){var n,r,i,o;return s(this,void 0,void 0,(function(){var a,s;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(a=r.value,t.next(a),t.closed)return[2];c.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return s=c.sent(),i={error:s},[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 ke(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 Se(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 K((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 xe(e,t){return t?function(e,t){if(null!=e){if(ye(e))return function(e,t){return _e(e).pipe(Se(t),ke(t))}(e,t);if(pe(e))return function(e,t){return new K((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(Se(t),ke(t))}(e,t);if(ge(e))return Te(e,t);if(we(e))return function(e,t){return new K((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 g(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 xe(e,n)}function Le(e,t){var n=g(e)?e:function(){return e},r=function(e){return e.error(n())};return new K(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 Ne(e,t){var n="object"==typeof t;return new Promise((function(r,i){var o,a=!1;e.subscribe({next:function(e){o=e,a=!0},error:i,complete:function(){a?r(o):n?r(t.defaultValue):i(new Pe)}})}))}function Re(e,t){var n="object"==typeof t;return new Promise((function(r,i){var o=new U({next:function(e){r(e),o.unsubscribe()},error:i,complete:function(){n?r(t.defaultValue):i(new Pe)}});e.subscribe(o)}))}function De(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 je(e,t){var n=De(e)?{first:e}:"number"==typeof e?{each:e}:e,r=n.first,i=n.each,o=n.with,a=void 0===o?Ue:o,s=n.scheduler,c=void 0===s?null!=t?t:ae:s,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,s=null,u=0,h=function(e){o=Ie(t,c,(function(){try{n.unsubscribe(),_e(a({meta:l,lastValue:s,seen:u})).subscribe(t)}catch(e){t.error(e)}}),e)};n=e.subscribe(z(t,(function(e){null==o||o.unsubscribe(),u++,t.next(s=e),i>0&&h(i)}),void 0,void 0,(function(){(null==o?void 0:o.closed)||null==o||o.unsubscribe(),s=null}))),!u&&h(null!=r?"number"==typeof r?r:+r-c.now():i)}))}function Ue(e){throw new He(e)}function Me(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),g(t)?Fe((function(n,r){return Me((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,a,s){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 Ge(e){return void 0===e&&(e=1/0),Fe(Y,e)}function Be(){return Ge(1)}function Ye(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Be()(xe(e,fe(e)))}function Ve(e){return new K((function(t){_e(e()).subscribe(t)}))}function Ke(e,t,n){void 0===e&&(e=0),void 0===n&&(n=se);var r=-1;return null!=t&&(ue(t)?n=t:r=t),new K((function(t){var i=De(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 We(){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]):Ge(r)(xe(i,n)):ce}var qe,ze,$e,Je,Xe,Qe,Ze=new K(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 K(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 at(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=he(e),r=tt(e);return r.length?new K((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 a=t.map((function(e){return e.shift()}));e.next(n?n.apply(void 0,h([],l(a))):a),t.some((function(e,t){return!e.length&&i[t]}))&&e.complete()}}),(function(){i[o]=!0,!t[o].length&&e.complete()})))},a=0;!e.closed&&a<r.length;a++)o(a);return function(){t=i=null}})):ce}function st(e){return q((function(t,n){var r,i=null,o=!1;i=t.subscribe(z(n,void 0,void 0,(function(a){r=_e(e(a,st(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 g(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 a=o.value;n.next(a)}}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,a=function(){r=t.subscribe(z(n,void 0,void 0,(function(t){i||(i=new X,e(i).subscribe(z(n,(function(){return r?a():o=!0})))),i&&i.next(t)}))),o&&(r.unsubscribe(),r=null,o=!1,a())};a()}))}function yt(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,a=void 0===o||o,s=e.resetOnRefCountZero,c=void 0===s||s;return function(e){var t,r,o,s=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){s++,l||u||h();var v=o=null!=o?o:n();p.add((function(){0!=--s||l||u||(r=gt(d,c))})),v.subscribe(p),!t&&s>0&&(t=new U({next:function(e){return v.next(e)},error:function(e){l=!0,h(),r=gt(f,i,e),v.error(e)},complete:function(){u=!0,h(),r=gt(f,a),v.complete()}}),_e(e).subscribe(t))}))(e)}}function gt(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 U({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,a,s=!1;return e&&"object"==typeof e?(r=e.bufferSize,a=void 0===r?1/0:r,i=e.windowTime,t=void 0===i?1/0:i,s=void 0!==(o=e.refCount)&&o,n=e.scheduler):a=null!=e?e:1/0,yt({connector:function(){return new te(a,t,n)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:s})}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,a=!1,s=function(){return a&&!i&&r.complete()};n.subscribe(z(r,(function(n){null==i||i.unsubscribe();var a=0,c=o++;_e(e(n,c)).subscribe(i=z(r,(function(e){return r.next(t?t(n,e,c,a++):e)}),(function(){i=null,s()})))}),(function(){a=!0,s()})))}))}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=g(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 Ot 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 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 St{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(Me(e=>(this.addItem(e),e)),yt()),this.itemAdded.subscribe({next:e=>{e.onDisconnect.pipe(dt(),Me(()=>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 Ot("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 Ot("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.2"?"4.2.2":"0.0.1-local",this.consoleAppVersion=t.pipe(dt(e=>"ready"===e.event),Me(e=>e.version),je(1e3),mt(1),st(()=>Ae(null))),this.chromeExtensionVersion=t.pipe(dt(e=>"chrome-extension-ready"===e.event),Me(e=>e.version),je(1e3),mt(1),st(()=>Ae(null))),at(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 xt{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,y(this,Je,new Tt(this._readyEvents,null==n?void 0:n.logger),"f")}getVersion(){return v(this,Je,"f").sdkVersion}getChromehostVersion(){return Re(v(this,Je,"f").consoleAppVersion)}getChromeExtensionVersion(){return Re(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 Lt(e,t=Qe.CHROME_EXTENSION,r){return s(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 Ot(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 Ot(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 s(this,void 0,void 0,(function*(){const r=yield n.e(2).then(n.bind(null,20)).catch(()=>{throw new Ot(At,$e.UNEXPECTED_ERROR)}),i=yield n.e(3).then(n.bind(null,21)).catch(()=>{throw new Ot(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),Me(e=>({message:e.message,level:e.level,layer:e.layer}))),this.log.subscribe(e=>It(e.message,t,e.level,e.layer))}}const Nt=[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 Rt{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=Nt[t]^r<<8}return 65535&(0^r)}(n.join("-")).toString(16).padStart(4,"0");return t===r}}var Dt,Ht,jt,Ut,Mt,Ft,Gt,Bt;!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"}(Dt||(Dt={}));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"}(jt||(jt={}));class Vt{constructor(e,t,n,r,i,o=new Uint8Array,a=0){this.destination=e,this.source=t,this.type=n,this.command=r,this.subCommand=i,this.payload=o,this.sequenceNumber=a}}!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"}(Ut||(Ut={})),function(e){e[e.EVENT=0]="EVENT",e[e.READ=1]="READ",e[e.WRITE=2]="WRITE",e[e.REPLY=3]="REPLY"}(Mt||(Mt={})),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"}(Gt||(Gt={})),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"}(Bt||(Bt={}));const Kt={command:Ft.DEVICE,subCommand:Gt.ATTACH_EVENT,serialize:e=>Uint8Array.from([5,0])};function Wt(e){const t=e.payload,n=t[0],r=t.length-1;if(r!==n)throw new Ot(`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=Gt.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 Ot(`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:Gt.NAME,deserialize:Wt},$t={command:Ft.IDENT,subCommand:Gt.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:Gt.CONFIG_PREFERRED_SOFTPHONE,deserialize:e=>e.payload[0],serialize:e=>Uint8Array.of(e)},Xt={command:Ft.IDENT,subCommand:Gt.TYPE,deserialize:e=>e.source},Qt={command:Ft.IDENT,subCommand:Gt.ID,deserialize:Wt};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 a=function(e,t){var n=e.toString(16);return n.length<2&&(n="0"+n),t&&(n=n.toUpperCase()),n},s=t;s<=n;s++)i[o++]=a(e[s],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 a=52200625;a>=1;){var s=Math.floor(o/a)%85;r+=n[s],a/=85}o=0}return r},a=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,a=0;i<n;){var s=e.charCodeAt(i++)-32;if(s<0||s>=r.length)break;if(a=85*a+r[s],i%5==0){for(var c=16777216;c>=1;)t[o++]=Math.trunc(a/c%256),c/=256;a=0}}return t},s=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,a,s=[],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?a=i<<n.obits-8:a|=i<<n.obits-8-l:0===l?a=i:a|=i<<l,!(0==(l=(l+8)%n.obits)&&(s.push(a),c>=h)););return s},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 a=e.length,s=0;s<a;s++)for(var c=e[s]&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,a,s){return[s,a,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},y=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},g=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,a=-271733879,s=-1732584194,c=271733878,u=-1009589776,l=0;l<e.length;l+=16){for(var h=o,f=a,d=s,p=c,v=u,y=0;y<80;y++){i[y]=y<16?e[l+y]:C(i[y-3]^i[y-8]^i[y-14]^i[y-16],1);var g=E(E(C(o,5),n(y,a,s,c)),E(E(u,i[y]),r(y)));u=c,c=s,s=C(a,30),a=o,o=g}o=E(o,h),a=E(a,f),s=E(s,d),c=E(c,p),u=E(u,v)}return[o,a,s,c,u]}(s(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,a,s){return n(t&r|~t&i,e,t,o,a,s)}function i(e,t,r,i,o,a,s){return n(t&i|r&~i,e,t,o,a,s)}function o(e,t,r,i,o,a,s){return n(t^r^i,e,t,o,a,s)}function a(e,t,r,i,o,a,s){return n(r^(t|~i),e,t,o,a,s)}e[t>>5]|=128<<t%32,e[14+(t+64>>>9<<4)]=t;for(var s=1732584193,c=-271733879,u=-1732584194,l=271733878,h=0;h<e.length;h+=16){var f=s,d=c,p=u,v=l;s=r(s,c,u,l,e[h+0],7,-680876936),l=r(l,s,c,u,e[h+1],12,-389564586),u=r(u,l,s,c,e[h+2],17,606105819),c=r(c,u,l,s,e[h+3],22,-1044525330),s=r(s,c,u,l,e[h+4],7,-176418897),l=r(l,s,c,u,e[h+5],12,1200080426),u=r(u,l,s,c,e[h+6],17,-1473231341),c=r(c,u,l,s,e[h+7],22,-45705983),s=r(s,c,u,l,e[h+8],7,1770035416),l=r(l,s,c,u,e[h+9],12,-1958414417),u=r(u,l,s,c,e[h+10],17,-42063),c=r(c,u,l,s,e[h+11],22,-1990404162),s=r(s,c,u,l,e[h+12],7,1804603682),l=r(l,s,c,u,e[h+13],12,-40341101),u=r(u,l,s,c,e[h+14],17,-1502002290),s=i(s,c=r(c,u,l,s,e[h+15],22,1236535329),u,l,e[h+1],5,-165796510),l=i(l,s,c,u,e[h+6],9,-1069501632),u=i(u,l,s,c,e[h+11],14,643717713),c=i(c,u,l,s,e[h+0],20,-373897302),s=i(s,c,u,l,e[h+5],5,-701558691),l=i(l,s,c,u,e[h+10],9,38016083),u=i(u,l,s,c,e[h+15],14,-660478335),c=i(c,u,l,s,e[h+4],20,-405537848),s=i(s,c,u,l,e[h+9],5,568446438),l=i(l,s,c,u,e[h+14],9,-1019803690),u=i(u,l,s,c,e[h+3],14,-187363961),c=i(c,u,l,s,e[h+8],20,1163531501),s=i(s,c,u,l,e[h+13],5,-1444681467),l=i(l,s,c,u,e[h+2],9,-51403784),u=i(u,l,s,c,e[h+7],14,1735328473),s=o(s,c=i(c,u,l,s,e[h+12],20,-1926607734),u,l,e[h+5],4,-378558),l=o(l,s,c,u,e[h+8],11,-2022574463),u=o(u,l,s,c,e[h+11],16,1839030562),c=o(c,u,l,s,e[h+14],23,-35309556),s=o(s,c,u,l,e[h+1],4,-1530992060),l=o(l,s,c,u,e[h+4],11,1272893353),u=o(u,l,s,c,e[h+7],16,-155497632),c=o(c,u,l,s,e[h+10],23,-1094730640),s=o(s,c,u,l,e[h+13],4,681279174),l=o(l,s,c,u,e[h+0],11,-358537222),u=o(u,l,s,c,e[h+3],16,-722521979),c=o(c,u,l,s,e[h+6],23,76029189),s=o(s,c,u,l,e[h+9],4,-640364487),l=o(l,s,c,u,e[h+12],11,-421815835),u=o(u,l,s,c,e[h+15],16,530742520),s=a(s,c=o(c,u,l,s,e[h+2],23,-995338651),u,l,e[h+0],6,-198630844),l=a(l,s,c,u,e[h+7],10,1126891415),u=a(u,l,s,c,e[h+14],15,-1416354905),c=a(c,u,l,s,e[h+5],21,-57434055),s=a(s,c,u,l,e[h+12],6,1700485571),l=a(l,s,c,u,e[h+3],10,-1894986606),u=a(u,l,s,c,e[h+10],15,-1051523),c=a(c,u,l,s,e[h+1],21,-2054922799),s=a(s,c,u,l,e[h+8],6,1873313359),l=a(l,s,c,u,e[h+15],10,-30611744),u=a(u,l,s,c,e[h+6],15,-1560198380),c=a(c,u,l,s,e[h+13],21,1309151649),s=a(s,c,u,l,e[h+4],6,-145523070),l=a(l,s,c,u,e[h+11],10,-1120210379),u=a(u,l,s,c,e[h+2],15,718787259),c=a(c,u,l,s,e[h+9],21,-343485551),s=E(s,f),c=E(c,d),u=E(u,p),l=E(l,v)}return[s,c,u,l]}(s(e,{ibits:8,obits:32,obigendian:!1}),8*e.length),{ibits:32,ibigendian:!1})},k=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(),g(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()};k.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),g(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 O=new k,S=function(e,t){for(var n=[],r=0;r<e;r++)n[r]=O.next()%t;return n},x=0,T=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!==x?T=0:T++,x=r;var i,o=d(r);y(o,1e4),v(o,l(1,178,29,210,19,129,64,0)),T>0&&v(o,d(T)),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 a=S(2,255);n[8]=a[0],n[9]=a[1];var s=S(6,255);for(s[0]|=1,s[0]|=2,t=0;t<6;t++)n[10+t]=s[t]}else if(4===e){var c=S(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)a(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=k,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),Me(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 an(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 sn{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 sn(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),Me(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),Me(e=>sn.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],a=e[5],s=this.packetLengthFromAttr(e[3]),c=e.slice(6,s);return new Vt(t,n,i,o,a,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(Me(n=>e(n)?Pe(t(n)):Ae(n)),Et());var e,t},pn=e=>dt(t=>t.type===Mt.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===jt.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}),yt())}}static supportsGnpOverHid(e){return void 0!==e.findDescriptor(Ht.GN_PROTOCOL,jt.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,jt.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,jt.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,Ut.PC_ADDR,Mt.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,Ut.PC_ADDR,Mt.READ,e.command,e.subCommand,e.serialize(t),this.getNextSequenceNumber()),o=new X;return this.doWithGnpLockHeld((t,n,a)=>{n.pipe(pn(i),dn(),dt(e=>e.command===i.command&&e.subCommand===i.subCommand),je(r),fn(a),Me(t=>e.deserialize(t))).subscribe(o),t(i)}),o}write(e,t,n=this.primaryAddress,r=2500){const i=new Vt(n,Ut.PC_ADDR,Mt.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),je(r),fn(n),Me(()=>!0)).subscribe(o),e(i)}),o}}vn.eventsFilter=e=>e.pipe(rt(e=>e.type===Mt.EVENT));class yn{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 gn(e,t,n,r){if(!vn.supportsGnpOverHid(e))return Pe(()=>new It("Device does not support GNP commands.",$e.DEVICE_ERROR));const i=Ae(Ut.HS_BT_USB_ADDR,Ut.BASE_ADDR,Ut.CRADLE_ADDR,Ut.HS1_ADDR,Ut.HS_CRADLE_ADDR).pipe(Me((r,i)=>Ve(()=>{const o=new vn(e,new rn(t),n,r,i);return o.read(Xt,r,500).pipe(Me(e=>o),st(()=>ce))})),Ge(),lt(1),ht(()=>new It("GNP probe failed.",$e.DEVICE_ERROR)));return it(r.pipe(Fe(e=>Pe(()=>new It("Device was suddenly disconnected.",$e.DEVICE_ERROR)))),i).pipe(yt())}function mn(e,t){return new yn(e,t)}class bn{constructor(){this.primaryAddress=Ut.BASE_ADDR,this.events=Ze}subscribeToEvent(e,t){return Pe(()=>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 Pe(()=>new It("This device does not support GNP commands.",$e.FEATURE_NOT_SUPPORTED))}readWithParams(e,t,n,r){return Pe(()=>new It("This device does not support GNP commands.",$e.FEATURE_NOT_SUPPORTED))}write(e,t,n,r){return Pe(()=>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 kn{constructor(e,t,n,r,i,o,a,s,c,u,l){this.id=e,this.type=t,this.hidChannel=n,this.events=r,this.primaryAddress=i,this.sendEvent=o,this.read=a,this.readWithParams=s,this.write=c,this.onDisconnect=u,this.parentConnectionId=l,this.onDisconnect.subscribe({error:A})}static createConnection(e,t,n,r,i,o){const a=r.sendEvent.bind(r),s=r.read.bind(r),c=r.readWithParams.bind(r),u=r.write.bind(r);return new kn(e,t,n,r.events,r.primaryAddress,a,s,c,u,i,o)}}const On=(e=3,t=500)=>n=>n.pipe(Fe((n,r)=>{const i=r+1;return i>e?Pe(()=>n):We(i*i*t)}));function Sn(e,t,n,r=1e3,i=3,o=100){return Ve(()=>e.read(t,n,r)).pipe(vt(On(i,o)))}function xn(e,t,n){const{deviceType:r,address:i}=n;return{transportId:t.transportId,vid:t.vid,pid:Sn(e,$t,i),name:Sn(e,zt,i),serialNumber:Sn(e,Qt,i),capabilities:t.capabilities,deviceType:r,connectionGnpAddress:i}}class Tn{constructor(e,t,n=xn,r=kn.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),Me(e=>({deviceType:e.payload[0],address:e.payload[1]}))).pipe(Me(n.bind(null,t,e)));this.connectionEvents=o.pipe(Me(e=>{const n=it(t.events.pipe(dt(t=>t.command===Ft.DEVICE&&t.subCommand===Bt.DETACH_EVENT&&t.payload[1]===e.connectionGnpAddress),Me(A)),t.onDisconnect);return{attach:e,detach:n}}),Fe(e=>at(Ae(e.attach),this.createConnection(e.attach,e.detach))),Me(([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 Pn(e,t,n,r=Ke.ERROR,i=ze.JS_LIB){kt(`${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 Rn(e){return new Tn(e.event,e.connection).connectionEvents}class Ln{constructor(e,t,n=((e,t,n)=>new cn(e,t,n)),r=gn,i=Rn,o=kn.createConnection){this.transport=e,this.logger=t,this.createHidChannel=n,this.createRootGnpChannel=r,this.connectionCreator=o;const a=this.transport.consoleAppEvent.pipe(rt(e=>"attach"===e.event),Me(Ln.createAttachEvent),st((e,t)=>(Pn("",e,this.logger),t))).pipe(Me(e=>{const t=this.transport.consoleAppEvent.pipe(rt(e=>"detach"===e.event),dt(t=>Ln.getTransportId(t)===e.transportId),Me(A),mt());return t.subscribe(),{attach:e,detach:t}}),Fe(e=>this.createConnection(e.attach,e.detach)),yt()),s=a.pipe(rt(e=>e.event.deviceType===In.DONGLE),rt(e=>vn.supportsGnpOverHid(e.connection.hidChannel)),Fe(e=>i(e)));this.connectionEvents=qe(a,s).pipe(yt())}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:Ln.convertToReportType(e.reportType),usagePage:e.usagePage,usage:e.usage,valueType:Ln.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 Ln.getMandatoryField(e,"id")}static createAttachEvent(e){return{transportId:Ln.getTransportId(e),vid:Ln.getMandatoryField(e,"vid"),pid:Ae(Ln.getMandatoryField(e,"pid")),name:Ae(Ln.getMandatoryField(e,"name")),serialNumber:Ae(Ln.getMandatoryField(e,"serialNumber")),capabilities:Ln.createDescriptor(Ln.getMandatoryField(e,"descriptor"))}}createConnection(e,t,n=3,r=100){const{capabilities:i,transportId:o}=e,a=new wn(o),s=this.createHidChannel(a,i,this.transport),c=this.createRootGnpChannel(s,this.transport,o,t).pipe(st((e,t)=>(e.type&&e.type===$e.DEVICE_ERROR&&this.transport.context===Xe.WEB_HID&&kt("Child devices are not yet supported when using WebHID.",this.logger,Ke.WARNING,ze.JS_LIB),Ae(new bn))),yt()),u=c.pipe(Fe(e=>e.read(An)),vt(On(n,r)),st(e=>Ae(In.ANY)));return at(c,u).pipe(Ct(t),Me(([n,r])=>({event:Object.assign(Object.assign({},e),{deviceType:r,connectionGnpAddress:n.primaryAddress}),connection:this.connectionCreator(a,_n.USB,s,n,t)})))}}var Nn,Dn,Hn,jn,Un;class Mn{constructor(e,t,n,r,i,o){this.vendorId=e,this.productId=t,this.serialNumber=n,this.name=r,this.type=i,Dn.set(this,void 0),y(this,Dn,new St(o,v(Mn,Nn,"m",jn)),"f"),this.connectionAdded=v(this,Dn,"f").itemAdded,this.connectionRemoved=v(this,Dn,"f").itemRemoved,this.connectionList=v(this,Dn,"f").itemList,this.onDisconnect=v(this,Dn,"f").itemList.pipe(bt(1),dt(e=>0===e.length),Me(A),yt())}get id(){return an(this.vendorId,this.productId,this.serialNumber)}get currentConnections(){return v(this,Dn,"f").getValue()}get browserLabel(){return`${this.vendorId.toString(16).padStart(4,"0")}:${this.productId.toString(16).padStart(4,"0")}`}}Nn=Mn,Dn=new WeakMap,jn=function(e,t){return v(Mn,Nn,"f",Hn).indexOf(e.type)-v(Mn,Nn,"f",Hn).indexOf(t.type)},Hn={value:[_n.USB,_n.INDIRECT,_n.BLUETOOTH]};class Fn{constructor(e){this.deviceObservables=new St(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(an(e.event.vid,t,n)),a)(_e(i)),rt(nt(o,a))(_e(i))]);var i,o,a;const s=n.pipe(Me(e=>Bn.createDevice(e,r)));this.deviceCollection=new Fn(s),this.deviceObservables=this.deviceCollection.deviceObservables}force(e){const{name:t,pid:n,serialNumber:r}=e.event,i=e.connection.onDisconnect.pipe((o=Pe(()=>new Error(`Connection with ID ${e.connection.id} disconnected`)),g(a)?ct((function(){return o}),a):ct((function(){return o}))));var o,a;return at(t,n,r).pipe(Me(([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?K((function(t,n){ot(h([t],l(e)))(n)})):Y}(i),st(e=>(kt("Failed to retrieve child connection information. Error: "+e,this.logger,Ke.WARNING,ze.JS_LIB),ce)))}static createDevice(e,t){const{event:n,pid:r,name:i,serialNumber:o}=e,{vid:a,deviceType:s}=n.event,c=t.pipe(rt(t=>Bn.isSameDevice(e,t)),Me(e=>e.event.connection)),u=Ye(Ae(n.connection),c);return new Mn(a,r,o,i,s,u)}static isSameDevice(e,t){const n=an(e.event.event.vid,e.pid,e.serialNumber),r=an(t.event.event.vid,t.pid,t.serialNumber);return n.startsWith(r)||r.startsWith(n)}static create(e,t){const n=new Ln(e,t);return new Bn(n.connectionEvents)}}function Gn(e){var t,n,r;return s(this,void 0,void 0,(function*(){const i=null==e?void 0:e.logger;kt("Jabra SDK JS starting up...",i,Ke.INFO);const o=new Nt(e);o.validateOrganizationKey(),o.validateAppId(),o.validateAppName();const a=null!==(n=null===(t=null==e?void 0:e.internal)||void 0===t?void 0:t.testDeviceTransport)&&void 0!==n?n:yield Pt(i,null==e?void 0:e.transport,null===(r=null==e?void 0:e.internal)||void 0===r?void 0:r.recorder);new Rt(a,i);const s=Bn.create(a,i),c=new Tt(s,a,e);return yield a.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}}}(Un||(Un={}));var Wn,qn,Kn,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 a=t-o,s=7&e,c=this._view[e>>3],u=Math.min(a,8-s);this.bigEndian?(i<<=u,i|=c>>8-u-s&~(255<<u)):i|=(c>>s&~(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,a,s,c=n-i,u=7&e,l=e>>3,h=Math.min(c,8-u);if(this.bigEndian){a=t>>n-i-h&(o=~(-1<<h));var f=8-u-h;s=~(o<<f),this._view[l]=this._view[l]&s|a<<f}else a=t&(o=~(255<<h)),t>>=h,s=~(o<<u),this._view[l]=this._view[l]&s|a<<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 a(e,t,n){if(0===t)return"";var r=0,i=[],o=!0,a=!!t;for(t||(t=Math.floor((e._length-e._index)/8));r<t;){var s=e.readUint8();if(0===s&&(o=!1,!a))break;o&&i.push(s),r++}var c=String.fromCharCode.apply(null,i);if(!n)return c;try{return decodeURIComponent(escape(c))}catch(e){return c}}var s=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(s.prototype,"index",{get:function(){return this._index-this._startIndex},set:function(e){this._index=e+this._startIndex},enumerable:!0,configurable:!0}),Object.defineProperty(s.prototype,"length",{get:function(){return this._length-this._startIndex},set:function(e){this._length=e+this._startIndex},enumerable:!0,configurable:!0}),Object.defineProperty(s.prototype,"bitsLeft",{get:function(){return this._length-this._index},enumerable:!0,configurable:!0}),Object.defineProperty(s.prototype,"byteIndex",{get:function(){return Math.ceil(this._index/8)},set:function(e){this._index=8*e},enumerable:!0,configurable:!0}),Object.defineProperty(s.prototype,"buffer",{get:function(){return this._view.buffer},enumerable:!0,configurable:!1}),Object.defineProperty(s.prototype,"view",{get:function(){return this._view},enumerable:!0,configurable:!1}),Object.defineProperty(s.prototype,"bigEndian",{get:function(){return this._view.bigEndian},set:function(e){this._view.bigEndian=e},enumerable:!0,configurable:!1}),s.prototype.readBits=function(e,t){var n=this._view.getBits(this._index,e,t);return this._index+=e,n},s.prototype.writeBits=function(e,t){this._view.setBits(this._index,e,t),this._index+=t},s.prototype.readBoolean=r("getBoolean",1),s.prototype.readInt8=r("getInt8",8),s.prototype.readUint8=r("getUint8",8),s.prototype.readInt16=r("getInt16",16),s.prototype.readUint16=r("getUint16",16),s.prototype.readInt32=r("getInt32",32),s.prototype.readUint32=r("getUint32",32),s.prototype.readFloat32=r("getFloat32",32),s.prototype.readFloat64=r("getFloat64",64),s.prototype.writeBoolean=o("setBoolean",1),s.prototype.writeInt8=o("setInt8",8),s.prototype.writeUint8=o("setUint8",8),s.prototype.writeInt16=o("setInt16",16),s.prototype.writeUint16=o("setUint16",16),s.prototype.writeInt32=o("setInt32",32),s.prototype.writeUint32=o("setUint32",32),s.prototype.writeFloat32=o("setFloat32",32),s.prototype.writeFloat64=o("setFloat64",64),s.prototype.readASCIIString=function(e){return function(e,t){return a(e,t,!1)}(this,e)},s.prototype.readUTF8String=function(e){return function(e,t){return a(e,t,!0)}(this,e)},s.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)},s.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)},s.prototype.readBitStream=function(e){var t=new s(this._view);return t._startIndex=this._index,t._index=this._index,t.length=e,this._index+=e,t},s.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},s.prototype.readArrayBuffer=function(e){var t=this._view.getArrayBuffer(this._index,e);return this._index+=8*e,t},s.prototype.writeArrayBuffer=function(e,t){this.writeBitStream(new s(e),8*t)},e.exports&&(e.exports={BitView:n,BitStream:s})}()}));function nr(){return s(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"}(qn||(qn={}));class rr{constructor(e,t,n){this.type=e,this.value=t,this.valueType=n}toString(){return void 0===qn[this.type]?`Unknown signal: type: ${this.type}, value: ${this.value}, valueType: ${this.valueType}`:`Signal: type: ${qn[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"}(Kn||(Kn={})),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(yt());return e.subscribe(),e}filter(){const e=this.hidChannel.input.pipe(rt(e=>e.usagePage===Kn.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})):(Pn("",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),yt()),t=[qn.HOOK_SWITCH,qn.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 K((function(t,r){for(var i=e.length,o=new Array(i),a=e.map((function(){return!1})),s=!1,c=function(t){_e(e[t]).subscribe(z(r,(function(e){o[t]=e,s||a[t]||(a[t]=!0,(s=a.every(Y))&&(a=null))}),A))},u=0;u<i;u++)c(u);t.subscribe(z(r,(function(e){if(s){var t=h([e],l(o));r.next(n?n.apply(void 0,h([],l(t))):t)}})))}))}(e),rt(([e,t])=>t),Me(([e,t])=>e))}(this.isSoftphoneInFocus),rt(e=>t.includes(e.usage)&&!this.lockHeld.getValue()));return qe(e.pipe(rt(e=>this.lockHeld.getValue())),n).pipe(Me(e=>new rr(e.usage,0!==e.value,e.valueType)),st(e=>(kt(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,y(this,Jn,r,"f"),v(this,Jn,"f").lockHeld.subscribe(v(this,Xn,"f")),y(this,Qn,t,"f"),this.onDisconnect.pipe(dt(),Me(()=>!0)).subscribe(e=>{y(this,Zn,e,"f")});const a=new ir(v(this,Qn,"f"),this.onDisconnect,i,v(this,Xn,"f"),o);this.deviceSignals=a.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!"),Le(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(Kn.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(Kn.GN_LED,zn.RING,en.OUTPUT),n=v(this,Qn,"f").findDescriptor(Kn.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(Kn.GN_LED,zn.MIC_MUTE,en.OUTPUT);if(t||(t=v(this,Qn,"f").findDescriptor(Kn.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(Kn.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 ar={[Dt.SKYPE]:er.GN_TELEPHONY,[Dt.CISCO]:er.GN_TELEPHONY,[Dt.AVAYA]:er.GN_TELEPHONY,[Dt.SIEMENS]:er.GN_TELEPHONY,[Dt.IBM]:er.GN_TELEPHONY,[Dt.AASTRA]:er.GN_TELEPHONY,[Dt.JABRA]:er.GN_TELEPHONY,[Dt.NEC]:er.GN_TELEPHONY,[Dt.SHORETEL]:er.GN_TELEPHONY,[Dt.MS_OC]:er.STD_TELEPHONY,[Dt.ALCATEL]:er.STD_TELEPHONY,[Dt.OTHER]:er.STD_TELEPHONY,[Dt.NORTEL]:null,[Dt.GENERIC]:null};class sr{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(()=>Te(e).pipe(ct(e=>this.takeSingleCallLock(e).pipe(st(e=>(Pn("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 Re})))}}(),Me(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),Me(e=>(this.currentLocks.getValue().add(e),this.currentLocks.next(this.currentLocks.getValue()),A)),vt(On())).subscribe({error:e=>{kt("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,Ke.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(Me(t=>t.acquired?Ae(t.transportId):Pe(()=>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),Me(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:Kn.GN_LED,usage:zn.OFF_HOOK,reportType:en.OUTPUT},{usagePage:Kn.GN_LED,usage:zn.RING,reportType:en.OUTPUT},{usagePage:Kn.GN_TELEPHONY,usage:$n.RINGER,reportType:en.OUTPUT},{usagePage:Kn.GN_LED,usage:zn.MIC_MUTE,reportType:en.OUTPUT},{usagePage:Kn.GN_LED,usage:zn.MUTE,reportType:en.OUTPUT},{usagePage:Kn.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:a,onDisconnect:s}=o,c=new sr(new cr(r),e,i);return t||r.context===Xe.WEB_HID?Ae(new or(e,a,s,c,n.softphoneInFocus,i)):function(e,t){return e.findDescriptor(Kn.GN_TELEPHONY,$n.GN_TELEPHONY_CONT_SET,en.FEATURE)?Ve(()=>(e.setFeatureReport(Kn.GN_TELEPHONY,$n.GN_TELEPHONY_CONT_SET,1),Ae(!0))):t?function(e,t){const n=e.read(Jt).pipe(Me(e=>ar[e]===t)),r=e.read(new Kt).pipe(Me(e=>e.find(e=>ar[e]===t))).pipe(Me(t=>t?e.write(Jt,t):Ae(!1)),Et());return n.pipe((i=Ae(!0),o=r,e=>e.pipe(Me(e=>e?i:o),Et())));var i,o}(t,er.GN_TELEPHONY):Ae(!1)}(a,o).pipe(Me(t=>new or(e,a,s,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),Me(e=>e.infocus),function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=fe(e);return K((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 kt("Unable to register with Jabra Direct: partnerKey or appId missing in config",null==e?void 0:e.logger,Ke.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)&&(kt("App name missing in config. Fall back to use appId as app name.",null==e?void 0:e.logger,Ke.WARNING),r=e.appId),r.length>100)return void kt("Unable to register with Jabra Direct: appName must be below 100 characters.",null==e?void 0:e.logger,Ke.WARNING);const i={action:"set-softphone-info",name:r,id:n.toString()};this.devComm.writeAction(i)}}var pr,vr,yr,gr,mr,br,wr,Er;class Cr{constructor(e){var t;pr.set(this,void 0),vr.set(this,void 0),yr.set(this,void 0),gr.set(this,void 0),y(this,gr,e._readyEvents.pipe(dt(e=>"ready"===e.event),Me(e=>e.jabraDirectInstalled)),"f"),y(this,vr,new dr(e._transport,v(this,gr,"f")),"f"),v(this,vr,"f").setSharedSoftphoneInfo(e._config),y(this,pr,e._transport,"f"),y(this,yr,null===(t=e._config)||void 0===t?void 0:t.logger,"f")}createCallControl(e){return this.supportsCallControl(e)?Ne(v(this,gr,"f").pipe(Fe(t=>fr(e,t,v(this,vr,"f"),v(this,pr,"f"),v(this,yr,"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,yr=new WeakMap,gr=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";n.d(t,"a",(function(){return r}));var r=function(e){return 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",e}({})},function(e,t,n){"use strict";n.d(t,"a",(function(){return d}));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 a(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){h(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 s(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,f(r.key),r)}}function c(e,t,n){return t=u(t),function(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 function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,function(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return function(){return!!e}()}()?Reflect.construct(t,n||[],u(e).constructor):t.apply(e,n))}function u(e){return(u=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function l(e,t){return(l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function h(e,t,n){return(t=f(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function f(e){var t=function(e,t){if("object"!=i(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=i(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==i(t)?t:t+""}var d=function(e){function t(e){var n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),h(n=c(this,t),"vendorName","Not Specified"),h(n,"isConnecting",!1),h(n,"isConnected",!1),h(n,"isMuted",!1),h(n,"errorCode",null),h(n,"disableRetry",!1),h(n,"logger",void 0),h(n,"config",void 0);var i=new r.EventEmitter;return Object.keys(i.__proto__).forEach((function(e){n[e]=i[e]})),n.config=e,n.vendorName=e.vendorName,n.logger=e.logger,n}return 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&&l(e,t)}(t,e),n=t,(i=[{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:a({},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",a({},e))}},{key:"deviceHoldStatusChanged",value:function(e){this.emitEvent("deviceHoldStatusChanged",a({},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",a({currentVendor:this},e))}},{key:"deductProductId",value:function(e){var t=null==e?void 0:e.match(/\((\w+):(\w+)\)$/);return t?parseInt(t[2],16):null}}])&&s(n.prototype,i),o&&s(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,i,o}(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,a=!1,s=!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,a=!!window.opr&&!!window.opr.addons||!!window.opera,s=!!window.StyleMedia,c=n&&!!navigator.userAgent.match(/edg/i),u=(r||a)&&!!window.CSS,l=!(n||o||t||a||!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 a},get isEdge(){return s},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 a=Number.isNaN||function(e){return e!=e};function s(){s.init.call(this)}e.exports=s,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))}g(e,t,o,{once:!0}),"error"!==t&&function(e,t,n){"function"==typeof e.on&&g(e,"error",t,n)}(e,i,{once:!0})}))},s.EventEmitter=s,s.prototype._events=void 0,s.prototype._eventsCount=0,s.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?s.defaultMaxListeners:e._maxListeners}function h(e,t,n,r){var i,o,a,s;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),a=o[t]),void 0===a)a=o[t]=n,++e._eventsCount;else if("function"==typeof a?a=o[t]=r?[n,a]:[a,n]:r?a.unshift(n):a.push(n),(i=l(e))>0&&a.length>i&&!a.warned){a.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=e,c.type=t,c.count=a.length,s=c,console&&console.warn&&console.warn(s)}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):y(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 y(e,t){for(var n=new Array(t),r=0;r<t;++r)n[r]=e[r];return n}function g(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(s,"defaultMaxListeners",{enumerable:!0,get:function(){return c},set:function(e){if("number"!=typeof e||e<0||a(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");c=e}}),s.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},s.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||a(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},s.prototype.getMaxListeners=function(){return l(this)},s.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 a;if(t.length>0&&(a=t[0]),a instanceof Error)throw a;var s=new Error("Unhandled error."+(a?" ("+a.message+")":""));throw s.context=a,s}var c=i[e];if(void 0===c)return!1;if("function"==typeof c)o(c,this,t);else{var u=c.length,l=y(c,u);for(n=0;n<u;++n)o(l[n],this,t)}return!0},s.prototype.addListener=function(e,t){return h(this,e,t,!1)},s.prototype.on=s.prototype.addListener,s.prototype.prependListener=function(e,t){return h(this,e,t,!0)},s.prototype.once=function(e,t){return u(t),this.on(e,d(this,e,t)),this},s.prototype.prependOnceListener=function(e,t){return u(t),this.prependListener(e,d(this,e,t)),this},s.prototype.removeListener=function(e,t){var n,r,i,o,a;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){a=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,a||t)}return this},s.prototype.off=s.prototype.removeListener,s.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},s.prototype.listeners=function(e){return p(this,e,!0)},s.prototype.rawListeners=function(e){return p(this,e,!1)},s.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):v.call(e,t)},s.prototype.listenerCount=v,s.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 a(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],s=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),a(f),o(h)},s+=-1===s.indexOf("?")?"?":"&";var d=document.createElement("script");d.setAttribute("src",""+s+u+"="+h),t.charset&&d.setAttribute("charset",t.charset),t.nonce&&d.setAttribute("nonce",t.nonce),t.referrerPolicy&&d.setAttribute("referrerPolicy",t.referrerPolicy),t.crossorigin&&d.setAttribute("crossorigin","true"),d.id=f,document.getElementsByTagName("head")[0].appendChild(d),l=setTimeout((function(){r(new Error("JSONP request to "+e+" timed out")),o(h),a(f),window[h]=function(){o(h)}}),c),d.onerror=function(){r(new Error("JSONP request to "+e+" failed")),o(h),a(f),l&&clearTimeout(l)}}))}})?r.apply(t,i):r)||(e.exports=o)},function(e,t,n){"use strict";n.d(t,"a",(function(){return kn}));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 a(e){try{c(r.next(e))}catch(e){o(e)}}function s(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(a,s)}c((r=r.apply(e,t||[])).next())}))}function a(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]<i[3])){a.label=s[1];break}if(6===s[0]&&a.label<i[1]){a.label=i[1],i=s;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(s);break}i[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],r=0}finally{n=i=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}}Object.create;function s(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),a=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)a.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 a}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={},a("next"),a("throw"),a("return"),r[Symbol.asyncIterator]=function(){return this},r;function a(e){i[e]&&(r[e]=function(t){return new Promise((function(n,r){o.push([e,t,n,r])>1||s(e,t)}))})}function s(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){s("next",e)}function u(e){s("throw",e)}function h(e,t){e(t),o.shift(),o.length&&s(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=s(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"==typeof SuppressedError&&SuppressedError;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 y(e,t){if(e){var n=e.indexOf(t);0<=n&&e.splice(n,1)}}var g=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 a=s(o),l=a.next();!l.done;l=a.next()){l.value.remove(this)}}catch(t){e={error:t}}finally{try{l&&!l.done&&(t=a.return)&&t.call(a)}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=s(f),y=p.next();!y.done;y=p.next()){var g=y.value;try{w(g)}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{y&&!y.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)&&y(t,e)},e.prototype.remove=function(t){var n=this._finalizers;n&&y(n,t),t instanceof e&&t._removeParent(this)},e.EMPTY=function(){var t=new e;return t.closed=!0,t}(),e}(),m=g.EMPTY;function b(e){return e instanceof g||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 k=O("C",void 0,void 0);function O(e,t,n){return{kind:e,value:t,error:n}}var S=null;function x(e){if(E.useDeprecatedSynchronousErrorHandling){var t=!S;if(t&&(S={errorThrown:!1,error:null}),e(),t){var n=S,r=n.errorThrown,i=n.error;if(S=null,r)throw i}}else e()}var T=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 L(e,t,n)},t.prototype.next=function(e){this.isStopped?D(function(e){return O("N",e,void 0)}(e),this):this._next(e)},t.prototype.error=function(e){this.isStopped?D(O("E",void 0,e),this):(this.isStopped=!0,this._error(e))},t.prototype.complete=function(){this.isStopped?D(k,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}(g),A=Function.prototype.bind;function P(e,t){return A.call(e,t)}var R=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){N(e)}},e.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(e){N(e)}else N(e)},e.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(e){N(e)}},e}(),L=function(e){function t(t,n,r){var i,o,a=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}:a&&E.useDeprecatedNextContext?((o=Object.create(t)).unsubscribe=function(){return a.unsubscribe()},i={next:t.next&&P(t.next,o),error:t.error&&P(t.error,o),complete:t.complete&&P(t.complete,o)}):i=t;return a.destination=new R(i),a}return i(t,e),t}(T);function N(e){var t;E.useDeprecatedSynchronousErrorHandling?(t=e,E.useDeprecatedSynchronousErrorHandling&&S&&(S.errorThrown=!0,S.error=t)):_(e)}function D(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},j="function"==typeof Symbol&&Symbol.observable||"@@observable";function U(e){return e}function M(e){return 0===e.length?U: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 T||function(e){return e&&d(e.next)&&d(e.error)&&d(e.complete)}(r)&&b(r)?e:new L(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=B(t))((function(t,r){var i=new L({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[j]=function(){return this},e.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return M(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=p((function(e){return function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}})),Y=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 V(this,this);return t.operator=e,t},t.prototype._throwIfClosed=function(){if(this.closed)throw new G},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=s(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.hasError,r=this.isStopped,i=this.observers;return n||r?m:(this.currentObservers=null,i.push(e),new g((function(){t.currentObservers=null,y(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 V(e,t)},t}(F),V=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}(Y),W=n(2),q=n(3),K=n.n(q);function z(){return!!window._HostedContextFunctions}function $(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 J(e){return(J="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 X(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 Q(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 Q(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,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Q(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 Z(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */Z=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,i=Object.defineProperty||function(e,t,n){e[t]=n.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",s=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,n){return e[t]=n}}function l(e,t,n,r){var o=t&&t.prototype instanceof y?t:y,a=Object.create(o.prototype),s=new T(r||[]);return i(a,"_invoke",{value:k(e,n,s)}),a}function h(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var f="suspendedStart",d="executing",p="completed",v={};function y(){}function g(){}function m(){}var b={};u(b,a,(function(){return this}));var w=Object.getPrototypeOf,E=w&&w(w(A([])));E&&E!==n&&r.call(E,a)&&(b=E);var C=m.prototype=y.prototype=Object.create(b);function _(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function I(e,t){function n(i,o,a,s){var c=h(e[i],e,o);if("throw"!==c.type){var u=c.arg,l=u.value;return l&&"object"==J(l)&&r.call(l,"__await")?t.resolve(l.__await).then((function(e){n("next",e,a,s)}),(function(e){n("throw",e,a,s)})):t.resolve(l).then((function(e){u.value=e,a(u)}),(function(e){return n("throw",e,a,s)}))}s(c.arg)}var o;i(this,"_invoke",{value:function(e,r){function i(){return new t((function(t,i){n(e,r,t,i)}))}return o=o?o.then(i,i):i()}})}function k(t,n,r){var i=f;return function(o,a){if(i===d)throw Error("Generator is already running");if(i===p){if("throw"===o)throw a;return{value:e,done:!0}}for(r.method=o,r.arg=a;;){var s=r.delegate;if(s){var c=O(s,r);if(c){if(c===v)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(i===f)throw i=p,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i=d;var u=h(t,n,r);if("normal"===u.type){if(i=r.done?p:"suspendedYield",u.arg===v)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(i=p,r.method="throw",r.arg=u.arg)}}}function O(t,n){var r=n.method,i=t.iterator[r];if(i===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,O(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),v;var o=h(i,t.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,v;var a=o.arg;return a?a.done?(n[t.resultName]=a.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,v):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,v)}function S(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function x(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function T(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(S,this),this.reset(!0)}function A(t){if(t||""===t){var n=t[a];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,o=function n(){for(;++i<t.length;)if(r.call(t,i))return n.value=t[i],n.done=!1,n;return n.value=e,n.done=!0,n};return o.next=o}}throw new TypeError(J(t)+" is not iterable")}return g.prototype=m,i(C,"constructor",{value:m,configurable:!0}),i(m,"constructor",{value:g,configurable:!0}),g.displayName=u(m,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===g||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,m):(e.__proto__=m,u(e,c,"GeneratorFunction")),e.prototype=Object.create(C),e},t.awrap=function(e){return{__await:e}},_(I.prototype),u(I.prototype,s,(function(){return this})),t.AsyncIterator=I,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new I(l(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},_(C),u(C,c,"Generator"),u(C,a,(function(){return this})),u(C,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=A,T.prototype={constructor:T,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(x),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function i(r,i){return s.type="throw",s.arg=t,n.next=r,i&&(n.method="next",n.arg=e),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var c=r.call(a,"catchLoc"),u=r.call(a,"finallyLoc");if(c&&u){if(this.prev<a.catchLoc)return i(a.catchLoc,!0);if(this.prev<a.finallyLoc)return i(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return i(a.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return i(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,v):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),v},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),x(n),v}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;x(n)}return i}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:A(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),v}},t}function ee(e,t,n,r,i,o,a){try{var s=e[o](a),c=s.value}catch(e){return void n(e)}s.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 a(e){ee(o,r,i,a,s,"next",e)}function s(e){ee(o,r,i,a,s,"throw",e)}a(void 0)}))}}function ne(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function re(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,ce(r.key),r)}}function ie(e,t,n){return t=oe(t),function(e,t){if(t&&("object"===J(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,function(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return function(){return!!e}()}()?Reflect.construct(t,n||[],oe(e).constructor):t.apply(e,n))}function oe(e){return(oe=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ae(e,t){return(ae=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function se(e,t,n){return(t=ce(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ce(e){var t=function(e,t){if("object"!=J(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=J(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==J(t)?t:t+""}var ue=1,le=4,he=function(e){function t(){var e;ne(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return se(e=ie(this,t,[].concat(r)),"vendorName","CyberAcoustics"),se(e,"activeConversationId",void 0),se(e,"_deviceInfo",null),se(e,"activeDevice",void 0),se(e,"numDeviceEventListeners",0),se(e,"currentProductID",null),se(e,"headsetOutputReportId",3),se(e,"headsetInputReportId",3),se(e,"vendorInputReportId",4),se(e,"currentState",0),se(e,"isHolding",!1),se(e,"currentlDeviceLabel",void 0),se(e,"currentCallInfo",void 0),se(e,"currentCallState","callIdle"),se(e,"deviceStatus",0),se(e,"gCmdBuf",new Uint8Array([0,0])),se(e,"inputReportReportId",3),se(e,"outputReportReportId",3),se(e,"JLCommandSet",!1),se(e,"callControlSuport",!0),se(e,"flagSupport",15),se(e,"handeledInputReportIds",[e.headsetInputReportId,e.vendorInputReportId]),e}return 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&&ae(e,t)}(t,e),n=t,r=[{key:"deviceInfo",get:function(){return this._deviceInfo}},{key:"isSupported",value:function(){return window.navigator.hid&&!z()}},{key:"deviceLabelMatchesVendor",value:function(e){this.logger.debug("CA: matchVendor");var t=e.toLowerCase();return["ac-104enc","ac-204enc","ac-304","foundever","ca essential","ca-2890"].some((function(e){return t.includes(e)}))}},{key:"connect",value:(m=te(Z().mark((function e(t){var n,r,i=this;return Z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=!1,this.logger.debug("CA: Connect Attempt"),this.currentlDeviceLabel=t,this.logger.debug("CA Device String = ".concat(t)),this.isConnecting||this.changeConnectionStatus({isConnected:this.isConnected,isConnecting:!0}),e.next=7,window.navigator.hid.getDevices();case 7:if(r=e.sent,this.selectDevice(r,t),!this.activeDevice){e.next=14;break}if(this.activeDevice.opened){e.next=13;break}return e.next=13,this.activeDevice.open();case 13:this.activeDevice.opened?(n=!0,this.handleDeviceConnect(),this.logger.debug("CA: Connect SUCCESS- previously connected device")):this.logger.debug("CA: Connect FAIL- Failed connect to previously connected device");case 14:if(n){e.next=26;break}return e.prev=15,e.next=18,new Promise((function(e,n){var r=setTimeout(n,3e4);i.requestWebHidPermissions(te(Z().mark((function o(){var a,s,c;return Z().wrap((function(o){for(;;)switch(o.prev=o.next){case 0:return i.logger.debug("Requesting web HID permissions"),a=i.deductProductId(t),o.next=4,window.navigator.hid.requestDevice({filters:[{vendorId:13201,productId:a||void 0}]});case 4:return s=o.sent,clearTimeout(r),o.next=8,i.connectFromHidPermissions(s,t);case 8:(c=o.sent)?e(c):n(),console.debug("CA: requestWebHidPermissions device found = ".concat(c," "));case 11:case"end":return o.stop()}}),o)}))))}));case 18:n=e.sent,e.next=26;break;case 21:return e.prev=21,e.t0=e.catch(15),this.isConnecting&&this.changeConnectionStatus({isConnected:this.isConnected,isConnecting:!1}),this.logger.error("CA: WebHID permissions denied"),e.abrupt("return");case 26:case"end":return e.stop()}}),e,this,[[15,21]])}))),function(e){return m.apply(this,arguments)})},{key:"connectFromHidPermissions",value:(g=te(Z().mark((function e(t,n){return Z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.activeDevice=null,this.selectDevice(t,n),!this.activeDevice){e.next=14;break}if(this.activeDevice.opened){e.next=6;break}return e.next=6,this.activeDevice.open();case 6:if(!this.activeDevice.opened){e.next=12;break}return this.handleDeviceConnect(),this.logger.debug("CA: Connect SUCCESS- from HIDWebPermission request "),e.abrupt("return",!0);case 12:return this.logger.debug("CA: Connect FAIL requesting WebHID permissions"),e.abrupt("return",!1);case 14:case"end":return e.stop()}}),e,this)}))),function(e,t){return g.apply(this,arguments)})},{key:"handleInputReport",value:function(e){var t=e.reportId;if(this.handeledInputReportIds.includes(t)){var n=e.data.getUint8(0),r=(e.data.getUint8(1)<<8)+n;this.logger.debug("CA received button press ".concat(this.formatHex(r)," reportID ").concat(t," from Device")),this.handleDeviceButtonPress(r,t)}}},{key:"handleDeviceConnect",value:(y=te(Z().mark((function e(){return Z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this._deviceInfo={ProductName:this.activeDevice.productName},this.handleInputReport=this.handleInputReport.bind(this),this.activeDevice.addEventListener("inputreport",this.handleInputReport),this.numDeviceEventListeners++,console.debug("Installed Device Input listener, num listeners = ".concat(this.numDeviceEventListeners," ")),this.numDeviceEventListeners>1&&(this.logger.debug("%c CA: ********************************************************","color: red"),this.logger.debug("%c CA: *****WARNING ***** MULTIPLE EVENT LISTENERS ON DEVICE!!!","color: red"),this.logger.debug("%c CA: ********************************************************","color: red")),this.currentProductID=this.activeDevice.productId,this.logger.debug("Product ID: 0x".concat(this.currentProductID.toString(16))),this.currentCallState="callIdle",this.headsetOutputReportId=this.outputReportReportId,this.headsetInputReportId=this.outputReportReportId,this.vendorInputReportId=4,this.handeledInputReportIds=[this.headsetInputReportId,this.vendorInputReportId],e.t0=this.currentProductID,e.next=4===e.t0?16:24===e.t0?21:23;break;case 16:return this.flagSupport=576,this.JLCommandSet=!0,ue=512,le=64,e.abrupt("break",25);case 21:return this.flagSupport=5,e.abrupt("break",25);case 23:return this.flagSupport=15,e.abrupt("break",25);case 25:this.logger.debug("flagSupport = ".concat(this.formatHex(this.flagSupport)," ")),this.changeConnectionStatus({isConnected:!0,isConnecting:!1});case 27:case"end":return e.stop()}}),e,this)}))),function(){return y.apply(this,arguments)})},{key:"selectDevice",value:function(e,t){var n=this;this.logger.debug("CA: SelectDevice");var r=t.toLowerCase(),i=!1;return e.forEach((function(e){var t;if(r.includes(null==e||null===(t=e.productName)||void 0===t?void 0:t.toLowerCase())){var o,a=X(e.collections);try{for(a.s();!(o=a.n()).done;){var s=o.value;if((5===s.usage||1===s.usage)&&11===s.usagePage){n.activeDevice=e,i=!0,0!==s.inputReports.length&&(n.inputReportReportId=s.inputReports[0].reportId,n.logger.debug("CA inputReportReportId = ".concat(n.inputReportReportId))),0!==s.outputReports.length&&(n.outputReportReportId=s.outputReports[0].reportId,n.logger.debug("CA outputReportReportId = ".concat(n.outputReportReportId)));break}}}catch(e){a.e(e)}finally{a.f()}}})),i}},{key:"disconnect",value:(v=te(Z().mark((function e(){return Z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.activeDevice){e.next=15;break}return this.logger.debug("CA: Disconnecting"),this.ChangeCallState("callEnd"),this.ChangeCallState("callIdle"),this.isMuted&&(this.setMute(!1),this.deviceMuteChanged({isMuted:!1,name:"CallUnmuted"})),this.activeDevice.removeEventListener("inputreport",this.handleInputReport),this.numDeviceEventListeners--,console.debug("Removed Device Input listener, num listeners = ".concat(this.numDeviceEventListeners," ")),e.next=10,this.activeDevice.close();case 10:this.logger.debug("CA: Device closed"),this.activeDevice=null,this._deviceInfo=null,this.currentCallState="callIdle",(this.isConnected||this.isConnecting)&&this.changeConnectionStatus({isConnected:!1,isConnecting:!1});case 15:case"end":return e.stop()}}),e,this)}))),function(){return v.apply(this,arguments)})},{key:"incomingCall",value:(p=te(Z().mark((function e(t){return Z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.logger.debug("CA: incomingCall"),this.currentCallInfo=t,this.activeConversationId=t.conversationId,this.ParseStateEvents(2);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return p.apply(this,arguments)})},{key:"outgoingCall",value:(d=te(Z().mark((function e(t){return Z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.logger.debug("CA: outgoingCall"),this.currentCallInfo=t,this.activeConversationId=t.conversationId,this.ParseStateEvents(8);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return d.apply(this,arguments)})},{key:"answerCall",value:(f=te(Z().mark((function e(t,n){return Z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.logger.debug("CA: Answer Call from UI"),this.activeConversationId=t,n&&(this.logger.debug("CA: AutoAnswer"),this.ParseStateEvents(2)),this.ParseStateEvents(7);case 4:case"end":return e.stop()}}),e,this)}))),function(e,t){return f.apply(this,arguments)})},{key:"rejectCall",value:(h=te(Z().mark((function e(){return Z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.logger.debug("CA: rejectCall from UI"),this.ParseStateEvents(3);case 2:case"end":return e.stop()}}),e,this)}))),function(){return h.apply(this,arguments)})},{key:"endCall",value:(l=te(Z().mark((function e(t,n){return Z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.logger.debug("CA: endCall from UI"),this.ParseStateEvents(3);case 2:case"end":return e.stop()}}),e,this)}))),function(e,t){return l.apply(this,arguments)})},{key:"endAllCalls",value:(u=te(Z().mark((function e(){return Z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.logger.debug("CA: endAllCalls from UI"),this.ParseStateEvents(3);case 2:case"end":return e.stop()}}),e,this)}))),function(){return u.apply(this,arguments)})},{key:"setMute",value:(c=te(Z().mark((function e(t){return Z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.logger.debug("CA: setMute. Value: ".concat(t)),this.isMuted=t,this.UpdateDeviceStatus(le,t);case 3:case"end":return e.stop()}}),e,this)}))),function(e){return c.apply(this,arguments)})},{key:"setHold",value:(s=te(Z().mark((function e(t,n){return Z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.logger.debug("CA: setHold. Value: ".concat(n)),this.activeConversationId=t,this.isHolding=n;case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return s.apply(this,arguments)})},{key:"handleDeviceButtonPress",value:function(e,t){if(this.activeDevice)if(t===this.headsetInputReportId){if(24===this.currentProductID){switch(e){case 1:case 5:this.isMuted=!this.isMuted,this.deviceMuteChanged({isMuted:this.isMuted,name:this.isMuted?"CallMuted":"CallUnmuted"}),this.UpdateDeviceStatus(le,this.isMuted),this.logger.debug("CA: AC304 Mute update micMuteFlag = ".concat(this.formatHex(le)," this.isMuted = ").concat(this.isMuted))}return}switch(e){case 515:case 19:this.isMuted=!this.isMuted,this.deviceMuteChanged({isMuted:this.isMuted,name:this.isMuted?"CallMuted":"CallUnmuted"}),this.setMute(this.isMuted);break;case 0:this.ParseStateEvents(5);break;case 1:this.ParseStateEvents(0);break;case 2:this.ParseStateEvents(6)}}else if(t===this.vendorInputReportId)switch(e){case 2:this.ParseStateEvents(1)}else console.debug("CA: Unhandeled input report #".concat(t.toString(16)));else this.logger.error("do not have active device")}},{key:"ParseStateEvents",value:function(e){switch(this.currentCallState){case"callIdle":switch(e){case 2:this.ChangeCallState("callIncoming");break;case 8:this.ChangeCallState("callOutgoing")}break;case"callIncoming":switch(e){case 0:case 7:this.ChangeCallState("callAnswering");break;case 5:case 3:this.ChangeCallState("callRejecting"),this.ChangeCallState("callEnd"),this.ChangeCallState("callIdle")}break;case"callAnswering":switch(e){case 1:this.ChangeCallState("callActive");break;case 3:case 5:this.ChangeCallState("callEnd"),this.ChangeCallState("callIdle")}break;case"callActive":case"callOutgoing":switch(e){case 3:case 6:this.ChangeCallState("callEnd"),this.ChangeCallState("callIdle")}}}},{key:"ChangeCallState",value:function(e){switch(this.logger.debug("%cCA SETTING STATE: ".concat(e),"color: red"),this.currentCallState=e,this.currentCallState){case"callIdle":this.deviceStatus=0;break;case"callIncoming":this.UpdateDeviceStatus(8,!0);break;case"callOutgoing":case"callAnswering":this.UpdateDeviceStatus(ue,!0),this.isMuted&&(this.setMute(!1),this.deviceMuteChanged({isMuted:!1,name:"CallUnmuted"}));break;case"callActive":this.UpdateDeviceStatus(8,!1),this.deviceAnsweredCall({name:"CallOffHook",conversationId:this.activeConversationId});break;case"callEnd":this.UpdateDeviceStatus(ue,!1),this.deviceEndedCall({name:"CallOnHook",conversationId:this.activeConversationId});break;case"callRejecting":this.UpdateDeviceStatus(8,!1),this.deviceRejectedCall({name:"CallRejected",conversationId:this.activeConversationId})}}},{key:"UpdateDeviceStatus",value:function(e,t){e&this.flagSupport?(this.deviceStatus=t?this.deviceStatus|e:this.deviceStatus&~e,this.SendCommandToDevice(this.deviceStatus)):console.debug("CA: UpdateDeviceStatus called with unsupported flag ".concat(e.toString(16),"... returning"))}},{key:"SendCommandToDevice",value:(a=te(Z().mark((function e(t){return Z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.JLCommandSet?(this.gCmdBuf[0]=t>>8,this.gCmdBuf[1]=255&t):this.gCmdBuf[0]=t,e.next=3,this.activeDevice.sendReport(this.headsetOutputReportId,this.gCmdBuf);case 3:this.logger.debug("CA: Sent Command to Device. Value: ".concat(this.formatHex(this.gCmdBuf[0]),", ").concat(this.formatHex(this.gCmdBuf[1])," ")),this.gCmdBuf[0]=0,this.gCmdBuf[1]=0;case 6:case"end":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:"formatHex",value:function(e){return"0x".concat(e.toString(16).padStart(2,"0"))}},{key:"HidMockDeviceInit",value:(o=te(Z().mark((function e(){var t;return Z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,window.navigator.hid.getDevices();case 2:return t=e.sent,this.activeDevice=t[0],e.abrupt("return",this.activeDevice);case 5:case"end":return e.stop()}}),e,this)}))),function(){return o.apply(this,arguments)})},{key:"_currentCallState",get:function(){return this.currentCallState},set:function(e){this.currentCallState=e}},{key:"_deviceStatus",get:function(){return this.deviceStatus},set:function(e){this.deviceStatus=e}},{key:"_activeConversationId",get:function(){return this.activeConversationId}},{key:"_currentCallInfo",get:function(){return this.currentCallInfo}},{key:"holdState",get:function(){return this.isHolding}},{key:"_headsetInputReportId",get:function(){return this.headsetInputReportId}},{key:"_vendorInputReportId",get:function(){return this.vendorInputReportId}},{key:"_headsetOutputReportId",get:function(){return this.headsetOutputReportId}},{key:"muteState",get:function(){return this.isMuted},set:function(e){this.isMuted=e}},{key:"_JLCommandSet",set:function(e){this.JLCommandSet=e}},{key:"_handeledInputReportIds",set:function(e){this.handeledInputReportIds[0]=e}},{key:"_flagSupport",set:function(e){this.flagSupport=e}},{key:"_currentProductID",set:function(e){this.currentProductID=e}}],i=[{key:"getInstance",value:function(e){return t.instance||(t.instance=new t(e)),t.instance}}],r&&re(n.prototype,r),i&&re(n,i),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,i,o,a,s,c,u,l,h,f,d,p,v,y,g,m}(W.a);se(he,"instance",void 0);var fe=n(10),de=n.n(fe),pe=function(e){return 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",e}({});function ve(e){return(ve="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 ye(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 ge(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ye(Object(n),!0).forEach((function(t){ke(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ye(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function me(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */me=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,i=Object.defineProperty||function(e,t,n){e[t]=n.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",s=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,n){return e[t]=n}}function l(e,t,n,r){var o=t&&t.prototype instanceof y?t:y,a=Object.create(o.prototype),s=new T(r||[]);return i(a,"_invoke",{value:k(e,n,s)}),a}function h(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var f="suspendedStart",d="executing",p="completed",v={};function y(){}function g(){}function m(){}var b={};u(b,a,(function(){return this}));var w=Object.getPrototypeOf,E=w&&w(w(A([])));E&&E!==n&&r.call(E,a)&&(b=E);var C=m.prototype=y.prototype=Object.create(b);function _(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function I(e,t){function n(i,o,a,s){var c=h(e[i],e,o);if("throw"!==c.type){var u=c.arg,l=u.value;return l&&"object"==ve(l)&&r.call(l,"__await")?t.resolve(l.__await).then((function(e){n("next",e,a,s)}),(function(e){n("throw",e,a,s)})):t.resolve(l).then((function(e){u.value=e,a(u)}),(function(e){return n("throw",e,a,s)}))}s(c.arg)}var o;i(this,"_invoke",{value:function(e,r){function i(){return new t((function(t,i){n(e,r,t,i)}))}return o=o?o.then(i,i):i()}})}function k(t,n,r){var i=f;return function(o,a){if(i===d)throw Error("Generator is already running");if(i===p){if("throw"===o)throw a;return{value:e,done:!0}}for(r.method=o,r.arg=a;;){var s=r.delegate;if(s){var c=O(s,r);if(c){if(c===v)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(i===f)throw i=p,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i=d;var u=h(t,n,r);if("normal"===u.type){if(i=r.done?p:"suspendedYield",u.arg===v)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(i=p,r.method="throw",r.arg=u.arg)}}}function O(t,n){var r=n.method,i=t.iterator[r];if(i===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,O(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),v;var o=h(i,t.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,v;var a=o.arg;return a?a.done?(n[t.resultName]=a.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,v):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,v)}function S(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function x(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function T(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(S,this),this.reset(!0)}function A(t){if(t||""===t){var n=t[a];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,o=function n(){for(;++i<t.length;)if(r.call(t,i))return n.value=t[i],n.done=!1,n;return n.value=e,n.done=!0,n};return o.next=o}}throw new TypeError(ve(t)+" is not iterable")}return g.prototype=m,i(C,"constructor",{value:m,configurable:!0}),i(m,"constructor",{value:g,configurable:!0}),g.displayName=u(m,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===g||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,m):(e.__proto__=m,u(e,c,"GeneratorFunction")),e.prototype=Object.create(C),e},t.awrap=function(e){return{__await:e}},_(I.prototype),u(I.prototype,s,(function(){return this})),t.AsyncIterator=I,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new I(l(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},_(C),u(C,c,"Generator"),u(C,a,(function(){return this})),u(C,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=A,T.prototype={constructor:T,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(x),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function i(r,i){return s.type="throw",s.arg=t,n.next=r,i&&(n.method="next",n.arg=e),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var c=r.call(a,"catchLoc"),u=r.call(a,"finallyLoc");if(c&&u){if(this.prev<a.catchLoc)return i(a.catchLoc,!0);if(this.prev<a.finallyLoc)return i(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return i(a.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return i(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,v):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),v},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),x(n),v}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;x(n)}return i}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:A(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),v}},t}function be(e,t,n,r,i,o,a){try{var s=e[o](a),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,i)}function we(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function a(e){be(o,r,i,a,s,"next",e)}function s(e){be(o,r,i,a,s,"throw",e)}a(void 0)}))}}function Ee(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,Oe(r.key),r)}}function Ce(e,t,n){return t=_e(t),function(e,t){if(t&&("object"===ve(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,function(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return function(){return!!e}()}()?Reflect.construct(t,n||[],_e(e).constructor):t.apply(e,n))}function _e(e){return(_e=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ie(e,t){return(Ie=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function ke(e,t,n){return(t=Oe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Oe(e){var t=function(e,t){if("object"!=ve(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=ve(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==ve(t)?t:t+""}var Se=function(e){function t(e){var n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),ke(n=Ce(this,t,[e]),"activePollingInterval",2e3),ke(n,"connectedDeviceInterval",6e3),ke(n,"disconnectedDeviceInterval",2e3),ke(n,"deviceIdRetryInterval",2e3),ke(n,"vendorName","Plantronics"),ke(n,"pluginName",void 0),ke(n,"apiHost","https://127.0.0.1:32018/Spokes"),ke(n,"isActive",!1),ke(n,"disableEventPolling",!1),ke(n,"config",void 0),ke(n,"deviceStatusTimer",null),ke(n,"isRetry",!1),ke(n,"_deviceInfo",void 0),ke(n,"callEventsTimerId",void 0),ke(n,"deviceStatusTimerId",void 0),ke(n,"incomingConversationId",void 0),ke(n,"callMappings",{}),n.config=e,n.pluginName=e.appName||"genesys-cloud-headset-library",n._deviceInfo=null,n.callEventsTimerId=null,n.deviceStatusTimerId=null,n.incomingConversationId=null,n}return 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&&Ie(e,t)}(t,e),n=t,r=[{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:(b=we(me().mark((function e(t,n){return me().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 b.apply(this,arguments)})},{key:"_fetch",value:function(e){return de()(e)}},{key:"_makeRequest",value:(m=we(me().mark((function e(n,r){var i,o=this;return me().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=t.instance,e.abrupt("return",this._fetch("".concat(this.apiHost).concat(n)).then((function(e){return e.json()})).then((function(e){if(o.isConnected||o.isConnecting){if(!1===e.ok||"Error"===e.Type_Name){if(404===e.status){if(r){o.isConnected&&o.changeConnectionStatus({isConnected:!1,isConnecting:o.isConnecting}),o.disconnect();var t=new Error("Headset: Failed connection to middleware. Headset features unavailable.");return t.handled=!0,o.logger.info(t),Promise.reject(t)}return o._makeRequestTask(n,!0)}return K.a.isFirefox&&(o.errorCode="browser",o.disableRetry=!0),Promise.reject(e)}return i?(!o.isConnected&&o.changeConnectionStatus({isConnected:!0,isConnecting:o.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 m.apply(this,arguments)})},{key:"_checkIsActiveTask",value:(g=we(me().mark((function e(){var t;return me().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:(y=we(me().mark((function e(){var t,n,r,i=this;return me().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this._makeRequestTask("/CallServices/CallManagerState?");case 3:r=e.sent,n=r,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=n)||void 0===t||null===(t=t.Result)||void 0===t?void 0:t.Calls)){e.next=13;break}return e.abrupt("return",[]);case 13:return e.abrupt("return",n.Result.Calls.filter((function(e){return e.Source===i.pluginName})));case 14:case"end":return e.stop()}}),e,this,[[0,7]])}))),function(){return y.apply(this,arguments)})},{key:"getCallEvents",value:(v=we(me().mark((function e(){var t,n=this;return me().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=pe[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 v.apply(this,arguments)})},{key:"getDeviceStatus",value:(p=we(me().mark((function e(){var t=this;return me().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 p.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(ge(ge({},e),{},{conversationId:n}));break;case"RejectCall":this.endCall(n),this.deviceRejectedCall({name:e.name,conversationId:this.incomingConversationId});break;case"TerminateCall":this.deviceEndedCall(ge(ge({},e),{},{conversationId:n}));break;case"CallEnded":delete this.callMappings[t],delete this.callMappings[n],this._checkIsActiveTask();break;case"Mute":this.deviceMuteChanged(ge(ge({isMuted:!0},e),{},{conversationId:n}));break;case"Unmute":this.deviceMuteChanged(ge(ge({isMuted:!1},e),{},{conversationId:n}));break;case"HoldCall":this.deviceHoldStatusChanged(ge(ge({holdRequested:!0},e),{},{conversationId:n}));break;case"ResumeCall":this.deviceHoldStatusChanged(ge(ge({holdRequested:!1},e),{},{conversationId:n}));break;default:this.logger.info("A headset event has occurred",ge(ge({},e),{},{conversationId:n})),this.deviceEventLogs(ge(ge({},e),{},{conversationId:n}))}}},{key:"unregisterPlugin",value:(d=we(me().mark((function e(){var t;return me().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 d.apply(this,arguments)})},{key:"connect",value:(f=we(me().mark((function e(){var t=this;return me().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:(h=we(me().mark((function e(t){return me().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 h.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 a='"Name":"'.concat(n,'"');i+="&contact={".concat(encodeURI(a),"}")}return this.logger.info("params of endpoint",i),this.isActive=!0,this._makeRequestTask("/CallServices/IncomingCall".concat(i))}},{key:"outgoingCall",value:(l=we(me().mark((function e(t){var n,r,i,o,a,s;return me().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"),a='"Id":"'.concat(i,'"'),o+="&callID={".concat(encodeURI(a),"}"),r&&(s='"Name":"'.concat(r,'"'),o+="&contact={".concat(encodeURI(s),"}")),this.isActive=!0,e.next=11,this._makeRequestTask("/CallServices/OutgoingCall".concat(o));case 11:case"end":return e.stop()}}),e,this)}))),function(e){return l.apply(this,arguments)})},{key:"answerCall",value:(u=we(me().mark((function e(t,n){var r,i,o;return me().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 u.apply(this,arguments)})},{key:"rejectCall",value:function(e){return this.incomingConversationId=null,this.endCall(e)}},{key:"endCall",value:(c=we(me().mark((function e(t){var n,r,i,o;return me().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 c.apply(this,arguments)})},{key:"endAllCalls",value:(s=we(me().mark((function e(){var t=this;return me().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:(a=we(me().mark((function e(t){var n;return me().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 a.apply(this,arguments)})},{key:"setHold",value:(o=we(me().mark((function e(t,n){var r,i,o,a;return me().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 a=e.sent,e.abrupt("return",a);case 7:case"end":return e.stop()}}),e,this)}))),function(e,t){return o.apply(this,arguments)})}],i=[{key:"getInstance",value:function(e){return t.instance&&!e.createNew||(t.instance=new t(e)),t.instance}}],r&&Ee(n.prototype,r),i&&Ee(n,i),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,i,o,a,s,c,u,l,h,f,d,p,v,y,g,m,b}(W.a);ke(Se,"instance",void 0);var xe=function(e){return 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",e}({}),Te=function(e){return e.Request="Request",e.Notification="Notification",e.Ack="Acknowledgement",e}({});function Ae(e){return(Ae="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 Pe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Re(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,je(r.key),r)}}function Le(e,t,n){return t=Ne(t),function(e,t){if(t&&("object"===Ae(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,function(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return function(){return!!e}()}()?Reflect.construct(t,n||[],Ne(e).constructor):t.apply(e,n))}function Ne(e){return(Ne=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function De(e,t){return(De=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function He(e,t,n){return(t=je(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function je(e){var t=function(e,t){if("object"!=Ae(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=Ae(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==Ae(t)?t:t+""}var Ue=function(e){function t(){var e;Pe(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return He(e=Le(this,t,[].concat(r)),"connectTimeout",5e3),He(e,"vendorName","Sennheiser"),He(e,"isActive",!1),He(e,"devices",null),He(e,"activeDeviceId",null),He(e,"websocketConnected",!1),He(e,"websocket",null),He(e,"deviceInfo",null),He(e,"ignoreAcknowledgement",!1),He(e,"webSocketOnOpen",(function(){e.websocketConnected=!0,e.logger.info("websocket open the sennheiser software")})),e}return 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&&De(e,t)}(t,e),n=t,i=[{key:"getInstance",value:function(e){return t.instance&&!e.createNew||(t.instance=new t(e)),t.instance}}],(r=[{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:xe.EstablishConnection,EventType:Te.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")),K.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:xe.TerminateConnection,EventType:Te.Request}),Promise.resolve()):Promise.resolve()}},{key:"setMute",value:function(e){return this._sendMessage({Event:e?xe.MuteFromApp:xe.UnmuteFromApp,EventType:Te.Request}),Promise.resolve()}},{key:"setHold",value:function(e,t){return this._sendMessage({Event:t?xe.Hold:xe.Resume,EventType:Te.Request,CallID:e}),Promise.resolve()}},{key:"incomingCall",value:function(e){return this.ignoreAcknowledgement=!1,this._sendMessage({Event:xe.IncomingCall,EventType:Te.Request,CallID:e.conversationId}),Promise.resolve()}},{key:"answerCall",value:function(e,t){return t&&this.incomingCall({conversationId:e}),this._sendMessage({Event:xe.IncomingCallAccepted,EventType:Te.Request,CallID:e}),Promise.resolve()}},{key:"rejectCall",value:function(e){return this._sendMessage({Event:xe.IncomingCallRejected,EventType:Te.Request,CallID:e}),Promise.resolve()}},{key:"outgoingCall",value:function(e){this.ignoreAcknowledgement=!1;var t=e.conversationId;return this._sendMessage({Event:xe.OutgoingCall,EventType:Te.Request,CallID:t}),Promise.resolve()}},{key:"endCall",value:function(e,t){return t||(this._sendMessage({Event:xe.Resume,EventType:Te.Request}),this._sendMessage({Event:xe.UnmuteFromApp,EventType:Te.Request})),this._sendMessage({Event:xe.CallEnded,EventType:Te.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 xe.SocketConnected:this._registerSoftphone();break;case xe.EstablishConnection:this._sendMessage({Event:xe.SPLogin,EventType:Te.Request});break;case xe.SPLogin:this.isConnected&&!this.isConnecting||this.changeConnectionStatus({isConnected:!0,isConnecting:!1}),this._sendMessage({Event:xe.SystemInformation,EventType:Te.Request});break;case xe.HeadsetConnected:t.HeadsetName&&(this.deviceInfo={deviceName:t.HeadsetName,headsetType:t.HeadsetType});break;case xe.HeadsetDisconnected:t.HeadsetName===this.deviceName&&(this.deviceInfo=null);break;case xe.IncomingCallAccepted:t.EventType===Te.Notification&&this.deviceAnsweredCall({name:t.Event,conversationId:n});break;case xe.Hold:if(t.EventType===Te.Ack){this._handleAck(t);break}this.deviceHoldStatusChanged({holdRequested:!0,name:t.Event,conversationId:n});break;case xe.Resume:if(t.EventType===Te.Ack){this._handleAck(t);break}this.deviceHoldStatusChanged({holdRequested:!1,name:t.Event,conversationId:n});break;case xe.MuteFromHeadset:this.deviceMuteChanged({isMuted:!0,name:t.Event});break;case xe.UnmuteFromHeadset:this.deviceMuteChanged({isMuted:!1,name:t.Event});break;case xe.CallEnded:t.EventType===Te.Notification&&(this._sendMessage({Event:xe.UnmuteFromApp,EventType:Te.Request}),this.deviceEndedCall({name:t.Event,conversationId:n}));break;case xe.IncomingCallRejected:this.deviceRejectedCall({name:t.Event,conversationId:n});break;case xe.TerminateConnection:1===this.websocket.readyState&&this.websocket.close(),this.websocket=null;break;default:t.EventType===Te.Ack&&this._handleAck(t)}}}}])&&Re(n.prototype,r),i&&Re(n,i),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,i}(W.a);He(Ue,"instance",void 0);var Me=n(0),Fe=p((function(e){return function(){e(this),this.name="EmptyError",this.message="no elements in sequence"}}));function Be(e,t){var n="object"==typeof t;return new Promise((function(r,i){var o=new L({next:function(e){r(e),o.unsubscribe()},error:i,complete:function(){n?r(t.defaultValue):i(new Fe)}});e.subscribe(o)}))}var Ge=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}(g),Ye={setInterval:function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];var i=Ye.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=Ye.delegate;return((null==t?void 0:t.clearInterval)||clearInterval)(e)},delegate:void 0},Ve=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){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),Ye.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&&Ye.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,y(r,this),null!=t&&(this.id=this.recycleAsyncId(n,t,null)),this.delay=null,e.prototype.unsubscribe.call(this)}},t}(Ge),We={now:function(){return(We.delegate||Date).now()},delegate:void 0},qe=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=We.now,e}(),Ke=new(function(e){function t(t,n){void 0===n&&(n=qe.now);var r=e.call(this,t,n)||this;return r.actions=[],r._active=!1,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}(qe))(Ve);function ze(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 $e="function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator";function Je(e){if(e instanceof F)return e;if(null!=e){if(function(e){return d(e[j])}(e))return c=e,new F((function(e){var t=c[j]();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 Xe(e);if(function(e){return d(null==e?void 0:e[$e])}(e))return t=e,new F((function(e){var n,r;try{for(var i=s(t),o=i.next();!o.done;o=i.next()){var a=o.value;if(e.next(a),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 Xe(function(e){return h(this,arguments,(function(){var t,n,r;return a(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 Xe(e){return new F((function(t){(function(e,t){var n,r,i,s;return o(this,void 0,void 0,(function(){var o,c;return a(this,(function(a){switch(a.label){case 0:a.trys.push([0,5,6,11]),n=f(e),a.label=1;case 1:return[4,n.next()];case 2:if((r=a.sent()).done)return[3,4];if(o=r.value,t.next(o),t.closed)return[2];a.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return c=a.sent(),i={error:c},[3,11];case 6:return a.trys.push([6,,9,10]),r&&!r.done&&(s=n.return)?[4,s.call(n)]:[3,8];case 7:a.sent(),a.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 Qe(e,t,n,r,i){return new Ze(e,t,n,r,i)}var Ze=function(e){function t(t,n,r,i,o,a){var s=e.call(this,t)||this;return s.onFinalize=o,s.shouldUnsubscribe=a,s._next=n?function(e){try{n(e)}catch(e){t.error(e)}}:e.prototype._next,s._error=i?function(e){try{i(e)}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._error,s._complete=r?function(){try{r()}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._complete,s}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}(T);var et=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 tt(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,a=r.with,s=void 0===a?nt:a,c=r.scheduler,u=void 0===c?null!=t?t:Ke:c,l=r.meta,h=void 0===l?null:l;if(null==i&&null==o)throw new TypeError("No timeout provided.");return ze((function(e,t){var n,r,a=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(),Je(s({meta:h,lastValue:a,seen:c})).subscribe(t)}catch(e){t.error(e)}}),e)};n=e.subscribe(Qe(t,(function(e){null==r||r.unsubscribe(),c++,t.next(a=e),o>0&&l(o)}),void 0,void 0,(function(){(null==r?void 0:r.closed)||null==r||r.unsubscribe(),a=null}))),!c&&l(null!=i?"number"==typeof i?i:+i-u.now():o)}))}function nt(e){throw new et(e)}function rt(e){return ze((function(t,n){var r=!1;t.subscribe(Qe(n,(function(e){r=!0,n.next(e)}),(function(){r||n.next(e),n.complete()})))}))}function it(e,t){return ze((function(n,r){var i=0;n.subscribe(Qe(r,(function(n){return e.call(t,n,i++)&&r.next(n)})))}))}var ot=new F((function(e){return e.complete()}));function at(e){return e<=0?function(){return ot}:ze((function(t,n){var r=0;t.subscribe(Qe(n,(function(t){++r<=e&&(n.next(t),e<=r&&n.complete())})))}))}function st(e){return void 0===e&&(e=ct),ze((function(t,n){var r=!1;t.subscribe(Qe(n,(function(e){r=!0,n.next(e)}),(function(){return r?n.complete():n.error(e())})))}))}function ct(){return new Fe}function ut(e,t){var n=arguments.length>=2;return function(r){return r.pipe(e?it((function(t,n){return e(t,n,r)})):U,at(1),n?rt(t):st((function(){return new Fe})))}}function lt(e,t){return ze((function(n,r){var i=0;n.subscribe(Qe(r,(function(n){r.next(e.call(t,n,i++))})))}))}function ht(e){return(ht="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 ft(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ft=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,i=Object.defineProperty||function(e,t,n){e[t]=n.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",s=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,n){return e[t]=n}}function l(e,t,n,r){var o=t&&t.prototype instanceof y?t:y,a=Object.create(o.prototype),s=new T(r||[]);return i(a,"_invoke",{value:k(e,n,s)}),a}function h(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var f="suspendedStart",d="executing",p="completed",v={};function y(){}function g(){}function m(){}var b={};u(b,a,(function(){return this}));var w=Object.getPrototypeOf,E=w&&w(w(A([])));E&&E!==n&&r.call(E,a)&&(b=E);var C=m.prototype=y.prototype=Object.create(b);function _(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function I(e,t){function n(i,o,a,s){var c=h(e[i],e,o);if("throw"!==c.type){var u=c.arg,l=u.value;return l&&"object"==ht(l)&&r.call(l,"__await")?t.resolve(l.__await).then((function(e){n("next",e,a,s)}),(function(e){n("throw",e,a,s)})):t.resolve(l).then((function(e){u.value=e,a(u)}),(function(e){return n("throw",e,a,s)}))}s(c.arg)}var o;i(this,"_invoke",{value:function(e,r){function i(){return new t((function(t,i){n(e,r,t,i)}))}return o=o?o.then(i,i):i()}})}function k(t,n,r){var i=f;return function(o,a){if(i===d)throw Error("Generator is already running");if(i===p){if("throw"===o)throw a;return{value:e,done:!0}}for(r.method=o,r.arg=a;;){var s=r.delegate;if(s){var c=O(s,r);if(c){if(c===v)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(i===f)throw i=p,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i=d;var u=h(t,n,r);if("normal"===u.type){if(i=r.done?p:"suspendedYield",u.arg===v)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(i=p,r.method="throw",r.arg=u.arg)}}}function O(t,n){var r=n.method,i=t.iterator[r];if(i===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,O(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),v;var o=h(i,t.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,v;var a=o.arg;return a?a.done?(n[t.resultName]=a.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,v):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,v)}function S(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function x(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function T(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(S,this),this.reset(!0)}function A(t){if(t||""===t){var n=t[a];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,o=function n(){for(;++i<t.length;)if(r.call(t,i))return n.value=t[i],n.done=!1,n;return n.value=e,n.done=!0,n};return o.next=o}}throw new TypeError(ht(t)+" is not iterable")}return g.prototype=m,i(C,"constructor",{value:m,configurable:!0}),i(m,"constructor",{value:g,configurable:!0}),g.displayName=u(m,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===g||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,m):(e.__proto__=m,u(e,c,"GeneratorFunction")),e.prototype=Object.create(C),e},t.awrap=function(e){return{__await:e}},_(I.prototype),u(I.prototype,s,(function(){return this})),t.AsyncIterator=I,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new I(l(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},_(C),u(C,c,"Generator"),u(C,a,(function(){return this})),u(C,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=A,T.prototype={constructor:T,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(x),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function i(r,i){return s.type="throw",s.arg=t,n.next=r,i&&(n.method="next",n.arg=e),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var c=r.call(a,"catchLoc"),u=r.call(a,"finallyLoc");if(c&&u){if(this.prev<a.catchLoc)return i(a.catchLoc,!0);if(this.prev<a.finallyLoc)return i(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return i(a.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return i(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,v):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),v},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),x(n),v}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;x(n)}return i}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:A(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),v}},t}function dt(e,t,n,r,i,o,a){try{var s=e[o](a),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,i)}function pt(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function a(e){dt(o,r,i,a,s,"next",e)}function s(e){dt(o,r,i,a,s,"throw",e)}a(void 0)}))}}function vt(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,wt(r.key),r)}}function yt(e,t,n){return t=gt(t),function(e,t){if(t&&("object"===ht(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,function(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return function(){return!!e}()}()?Reflect.construct(t,n||[],gt(e).constructor):t.apply(e,n))}function gt(e){return(gt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function mt(e,t){return(mt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function bt(e,t,n){return(t=wt(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function wt(e){var t=function(e,t){if("object"!=ht(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=ht(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==ht(t)?t:t+""}var Et=function(e){function t(e){var n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),bt(n=yt(this,t,[e]),"headsetEventSubscription",void 0),bt(n,"isActive",!1),bt(n,"_deviceInfo",void 0),bt(n,"isMuted",!1),bt(n,"isHeld",!1),bt(n,"version",null),bt(n,"_connectDeferred",void 0),bt(n,"jabraSdk",void 0),bt(n,"callControlFactory",void 0),bt(n,"callControl",void 0),bt(n,"ongoingCalls",0),bt(n,"callLock",!1),bt(n,"pendingConversationId",void 0),bt(n,"pendingConversationIsOutbound",void 0),bt(n,"activeConversationId",void 0),n.vendorName="Jabra",n}return 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&&mt(e,t)}(t,e),n=t,r=[{key:"isSupported",value:function(){return window.navigator.hid&&!z()}},{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=pt(ft().mark((function n(r){var i,o,a,s;return ft().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===Me.u.HOOK_SWITCH?6:n.t0===Me.u.FLASH||n.t0===Me.u.ALT_HOLD?11:n.t0===Me.u.PHONE_MUTE?15:n.t0===Me.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:Me.u[r.type],conversationId:t.pendingConversationId}),t.pendingConversationId=null;try{t.activeConversationId||(e.releaseCallLock(),t.callLock=!1)}catch(e){a=e.message,s=e.type,t.checkForCallLockError(a,s)?t.logger.info(a):t.logger.error(s,a)}case 23:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}())}},{key:"setMute",value:(b=pt(ft().mark((function e(t){return ft().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 b.apply(this,arguments)})},{key:"setHold",value:(m=pt(ft().mark((function e(t,n){return ft().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 m.apply(this,arguments)})},{key:"incomingCall",value:(g=pt(ft().mark((function e(t){var n,r;return ft().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 g.apply(this,arguments)})},{key:"answerCall",value:(y=pt(ft().mark((function e(t,n){var r,i;return ft().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 y.apply(this,arguments)})},{key:"rejectCall",value:(v=pt(ft().mark((function e(){var t,n;return ft().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 v.apply(this,arguments)})},{key:"outgoingCall",value:(p=pt(ft().mark((function e(t){var n,r;return ft().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 p.apply(this,arguments)})},{key:"endCall",value:(d=pt(ft().mark((function e(t,n){var r,i;return ft().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 d.apply(this,arguments)})},{key:"endAllCalls",value:(f=pt(ft().mark((function e(){var t,n;return ft().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 f.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:(h=pt(ft().mark((function e(t){var n,r;return ft().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.deviceHasPermissions(n);case 12:if(!e.sent){e.next=22;break}return e.next=15,this.getPreviouslyConnectedDevice(n);case 15:if(r=e.sent){e.next=20;break}return console.warn('Unable to find appropriate device. Setting state to "Not Running" to allow a retry"',n),this.changeConnectionStatus({isConnected:!1,isConnecting:!1}),e.abrupt("return");case 20:e.next=32;break;case 22:return e.prev=22,e.next=25,this.getDeviceFromWebhid(n);case 25:r=e.sent,e.next=32;break;case 28:return e.prev=28,e.t0=e.catch(22),this.isConnecting&&this.changeConnectionStatus({isConnected:this.isConnected,isConnecting:!1}),e.abrupt("return");case 32:return e.next=34,this.callControlFactory.createCallControl(r);case 34:return this.callControl=e.sent,e.next=37,this.resetHeadsetState();case 37: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 40:case"end":return e.stop()}}),e,this,[[22,28]])}))),function(e){return h.apply(this,arguments)})},{key:"deviceHasPermissions",value:(l=pt(ft().mark((function e(t){var n,r;return ft().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,window.navigator.hid.getDevices();case 2:return n=e.sent,r=!1,n.forEach((function(e){var n;t.includes(null==e||null===(n=e.productName)||void 0===n?void 0:n.toLowerCase())&&(r=!0)})),e.abrupt("return",r);case 6:case"end":return e.stop()}}),e)}))),function(e){return l.apply(this,arguments)})},{key:"getPreviouslyConnectedDevice",value:(u=pt(ft().mark((function e(t){var n,r=this;return ft().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=this.jabraSdk.deviceList.pipe(rt(null),ut((function(e){return!!e.length})),lt((function(e){return e.find((function(e){return r.isDeviceInList(e,t)}))})),it((function(e){return!!e})),tt(15e3)),e.abrupt("return",Be(n).catch((function(e){return e instanceof et||e instanceof Fe?null:Promise.reject(e)})));case 2:case"end":return e.stop()}}),e,this)}))),function(e){return u.apply(this,arguments)})},{key:"getDeviceFromWebhid",value:(c=pt(ft().mark((function e(t){var n=this;return ft().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.requestWebHidPermissions(Me.D),e.abrupt("return",Be(this.jabraSdk.deviceList.pipe(lt((function(e){return e.find((function(e){return n.isDeviceInList(e,t)}))})),it((function(e){return!!e})),ut(),tt(3e4))).catch((function(e){return e instanceof et&&(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 c.apply(this,arguments)})},{key:"initializeJabraSdk",value:(s=pt(ft().mark((function e(){return ft().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",Object(Me.C)({appId:"softphone-vendor-headsets",appName:"Softphone Headset Library",transport:Me.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 Me.a(e)}},{key:"checkForCallLockError",value:function(e,t){return t===Me.b.SDK_USAGE_ERROR&&e.includes("call lock")}},{key:"resetHeadsetState",value:(a=pt(ft().mark((function e(){return ft().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 a.apply(this,arguments)})},{key:"disconnect",value:(o=pt(ft().mark((function e(){var t,n;return ft().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.activeConversationId&&(this.activeConversationId=null),this.headsetEventSubscription&&this.headsetEventSubscription.unsubscribe(),(this.isConnected||this.isConnecting)&&this.changeConnectionStatus({isConnected:!1,isConnecting:!1}),e.finish(11);case 18:case"end":return e.stop()}}),e,this,[[0,6,11,18]])}))),function(){return o.apply(this,arguments)})}],i=[{key:"getInstance",value:function(e){return t.instance&&!e.createNew||(t.instance=new t(e)),t.instance}}],r&&vt(n.prototype,r),i&&vt(n,i),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,i,o,a,s,c,u,l,h,f,d,p,v,y,g,m,b}(W.a);bt(Et,"instance",void 0),bt(Et,"connectTimeout",5e3);var Ct=function(e){return e.Ring="ringer",e.Offhook="offhook",e.Mute="mute",e.Hold="hold",e}({}),_t=function(e){return e.OffHook="OffHook",e.Mute="Mute",e.Hold="Flash",e.RejectCall="RejectCall",e}({});function It(e){return(It="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 kt(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */kt=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,i=Object.defineProperty||function(e,t,n){e[t]=n.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",s=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,n){return e[t]=n}}function l(e,t,n,r){var o=t&&t.prototype instanceof y?t:y,a=Object.create(o.prototype),s=new T(r||[]);return i(a,"_invoke",{value:k(e,n,s)}),a}function h(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var f="suspendedStart",d="executing",p="completed",v={};function y(){}function g(){}function m(){}var b={};u(b,a,(function(){return this}));var w=Object.getPrototypeOf,E=w&&w(w(A([])));E&&E!==n&&r.call(E,a)&&(b=E);var C=m.prototype=y.prototype=Object.create(b);function _(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function I(e,t){function n(i,o,a,s){var c=h(e[i],e,o);if("throw"!==c.type){var u=c.arg,l=u.value;return l&&"object"==It(l)&&r.call(l,"__await")?t.resolve(l.__await).then((function(e){n("next",e,a,s)}),(function(e){n("throw",e,a,s)})):t.resolve(l).then((function(e){u.value=e,a(u)}),(function(e){return n("throw",e,a,s)}))}s(c.arg)}var o;i(this,"_invoke",{value:function(e,r){function i(){return new t((function(t,i){n(e,r,t,i)}))}return o=o?o.then(i,i):i()}})}function k(t,n,r){var i=f;return function(o,a){if(i===d)throw Error("Generator is already running");if(i===p){if("throw"===o)throw a;return{value:e,done:!0}}for(r.method=o,r.arg=a;;){var s=r.delegate;if(s){var c=O(s,r);if(c){if(c===v)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(i===f)throw i=p,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i=d;var u=h(t,n,r);if("normal"===u.type){if(i=r.done?p:"suspendedYield",u.arg===v)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(i=p,r.method="throw",r.arg=u.arg)}}}function O(t,n){var r=n.method,i=t.iterator[r];if(i===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,O(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),v;var o=h(i,t.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,v;var a=o.arg;return a?a.done?(n[t.resultName]=a.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,v):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,v)}function S(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function x(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function T(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(S,this),this.reset(!0)}function A(t){if(t||""===t){var n=t[a];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,o=function n(){for(;++i<t.length;)if(r.call(t,i))return n.value=t[i],n.done=!1,n;return n.value=e,n.done=!0,n};return o.next=o}}throw new TypeError(It(t)+" is not iterable")}return g.prototype=m,i(C,"constructor",{value:m,configurable:!0}),i(m,"constructor",{value:g,configurable:!0}),g.displayName=u(m,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===g||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,m):(e.__proto__=m,u(e,c,"GeneratorFunction")),e.prototype=Object.create(C),e},t.awrap=function(e){return{__await:e}},_(I.prototype),u(I.prototype,s,(function(){return this})),t.AsyncIterator=I,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new I(l(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},_(C),u(C,c,"Generator"),u(C,a,(function(){return this})),u(C,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=A,T.prototype={constructor:T,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(x),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function i(r,i){return s.type="throw",s.arg=t,n.next=r,i&&(n.method="next",n.arg=e),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var c=r.call(a,"catchLoc"),u=r.call(a,"finallyLoc");if(c&&u){if(this.prev<a.catchLoc)return i(a.catchLoc,!0);if(this.prev<a.finallyLoc)return i(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return i(a.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return i(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,v):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),v},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),x(n),v}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;x(n)}return i}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:A(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),v}},t}function Ot(e,t,n,r,i,o,a){try{var s=e[o](a),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,i)}function St(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function a(e){Ot(o,r,i,a,s,"next",e)}function s(e){Ot(o,r,i,a,s,"throw",e)}a(void 0)}))}}function xt(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,Lt(r.key),r)}}function Tt(e,t,n){return t=At(t),function(e,t){if(t&&("object"===It(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,function(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return function(){return!!e}()}()?Reflect.construct(t,n||[],At(e).constructor):t.apply(e,n))}function At(e){return(At=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Pt(e,t){return(Pt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function Rt(e,t,n){return(t=Lt(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Lt(e){var t=function(e,t){if("object"!=It(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=It(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==It(t)?t:t+""}var Nt=function(e){function t(e){var n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),Rt(n=Tt(this,t,[e]),"isActive",!1),Rt(n,"devices",null),Rt(n,"activeDeviceId",null),Rt(n,"headsetState",null),Rt(n,"ignoreNextOffhookEvent",!1),Rt(n,"cefSupportsJabra",!0),Rt(n,"pendingConversationId",void 0),Rt(n,"activeConversationId",void 0),Rt(n,"pendingConversationIsOutbound",void 0),n.vendorName="Jabra",n.headsetState={ringing:!1,offHook:!1},n.devices=new Map,z()&&(n.isHostedContextInitialized()?n.setupNativeHandlers():n.waitForHostedContext()),n}return 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&&Pt(e,t)}(t,e),n=t,r=[{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(Ct.Offhook,e),this._setRinging(!1)));this.activeConversationId&&(this._sendCmd(Ct.Offhook,e),this.deviceEndedCall({name:"CallOnHook",conversationId:this.activeConversationId})),this._getHeadsetIntoVanillaState(),this.activeConversationId=null}},{key:"_handleMuteEvent",value:function(e){this._sendCmd(Ct.Mute,e),this.isMuted=e,this.deviceMuteChanged({isMuted:e,name:e?"CallMuted":"CallUnmuted",conversationId:this.activeConversationId})}},{key:"_handleHoldEvent",value:function(e){this._sendCmd(Ct.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(Ct.Ring,e),this.headsetState.ringing=e}},{key:"isSupported",value:function(){return z()&&this.cefSupportsJabra}},{key:"deviceLabelMatchesVendor",value:function(e){var t=e.toLowerCase();return["jabra"].some((function(e){return t.includes(e)}))}},{key:"setMute",value:(d=St(kt().mark((function e(t){return kt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this._sendCmd(Ct.Mute,t);case 1:case"end":return e.stop()}}),e,this)}))),function(e){return d.apply(this,arguments)})},{key:"setHold",value:(f=St(kt().mark((function e(t,n){return kt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this._sendCmd(Ct.Hold,n);case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return f.apply(this,arguments)})},{key:"incomingCall",value:(h=St(kt().mark((function e(t){return kt().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 h.apply(this,arguments)})},{key:"answerCall",value:(l=St(kt().mark((function e(t,n){return kt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n&&(this.pendingConversationId=t),this.ignoreNextOffhookEvent=!0,this._sendCmd(Ct.Offhook,!0);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return l.apply(this,arguments)})},{key:"rejectCall",value:(u=St(kt().mark((function e(){return kt().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 u.apply(this,arguments)})},{key:"outgoingCall",value:(c=St(kt().mark((function e(t){return kt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.pendingConversationId=t.conversationId,this.pendingConversationIsOutbound=!0,this._sendCmd(Ct.Offhook,!0);case 3:case"end":return e.stop()}}),e,this)}))),function(e){return c.apply(this,arguments)})},{key:"endCall",value:(s=St(kt().mark((function e(t,n){return kt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this._setRinging(!1),n||this._sendCmd(Ct.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:(a=St(kt().mark((function e(){return kt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this._setRinging(!1),this._sendCmd(Ct.Offhook,!1),this.activeConversationId=null;case 3:case"end":return e.stop()}}),e,this)}))),function(){return a.apply(this,arguments)})},{key:"updateDevices",value:(o=St(kt().mark((function e(){var t,n=this;return kt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,$({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 o.apply(this,arguments)})},{key:"_processEvent",value:function(e,t){var n,r,i,o=this;switch(e){case _t.OffHook:(n=function(){return o._handleOffhookEvent(t)},r=500,i=null,function(){clearTimeout(i),i=setTimeout((function(){n()}),r)})();break;case _t.RejectCall:this.deviceRejectedCall({name:_t.RejectCall,conversationId:this.pendingConversationId});break;case _t.Mute:this._handleMuteEvent(t);break;case _t.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()}}],i=[{key:"getInstance",value:function(e){return t.instance&&!e.createNew||(t.instance=new t(e)),t.instance}}],r&&xt(n.prototype,r),i&&xt(n,i),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,i,o,a,s,c,u,l,h,f,d}(W.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 Ht(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */Ht=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,i=Object.defineProperty||function(e,t,n){e[t]=n.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",s=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,n){return e[t]=n}}function l(e,t,n,r){var o=t&&t.prototype instanceof y?t:y,a=Object.create(o.prototype),s=new T(r||[]);return i(a,"_invoke",{value:k(e,n,s)}),a}function h(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var f="suspendedStart",d="executing",p="completed",v={};function y(){}function g(){}function m(){}var b={};u(b,a,(function(){return this}));var w=Object.getPrototypeOf,E=w&&w(w(A([])));E&&E!==n&&r.call(E,a)&&(b=E);var C=m.prototype=y.prototype=Object.create(b);function _(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function I(e,t){function n(i,o,a,s){var c=h(e[i],e,o);if("throw"!==c.type){var u=c.arg,l=u.value;return l&&"object"==Dt(l)&&r.call(l,"__await")?t.resolve(l.__await).then((function(e){n("next",e,a,s)}),(function(e){n("throw",e,a,s)})):t.resolve(l).then((function(e){u.value=e,a(u)}),(function(e){return n("throw",e,a,s)}))}s(c.arg)}var o;i(this,"_invoke",{value:function(e,r){function i(){return new t((function(t,i){n(e,r,t,i)}))}return o=o?o.then(i,i):i()}})}function k(t,n,r){var i=f;return function(o,a){if(i===d)throw Error("Generator is already running");if(i===p){if("throw"===o)throw a;return{value:e,done:!0}}for(r.method=o,r.arg=a;;){var s=r.delegate;if(s){var c=O(s,r);if(c){if(c===v)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(i===f)throw i=p,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i=d;var u=h(t,n,r);if("normal"===u.type){if(i=r.done?p:"suspendedYield",u.arg===v)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(i=p,r.method="throw",r.arg=u.arg)}}}function O(t,n){var r=n.method,i=t.iterator[r];if(i===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,O(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),v;var o=h(i,t.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,v;var a=o.arg;return a?a.done?(n[t.resultName]=a.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,v):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,v)}function S(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function x(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function T(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(S,this),this.reset(!0)}function A(t){if(t||""===t){var n=t[a];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,o=function n(){for(;++i<t.length;)if(r.call(t,i))return n.value=t[i],n.done=!1,n;return n.value=e,n.done=!0,n};return o.next=o}}throw new TypeError(Dt(t)+" is not iterable")}return g.prototype=m,i(C,"constructor",{value:m,configurable:!0}),i(m,"constructor",{value:g,configurable:!0}),g.displayName=u(m,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===g||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,m):(e.__proto__=m,u(e,c,"GeneratorFunction")),e.prototype=Object.create(C),e},t.awrap=function(e){return{__await:e}},_(I.prototype),u(I.prototype,s,(function(){return this})),t.AsyncIterator=I,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new I(l(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},_(C),u(C,c,"Generator"),u(C,a,(function(){return this})),u(C,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=A,T.prototype={constructor:T,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(x),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function i(r,i){return s.type="throw",s.arg=t,n.next=r,i&&(n.method="next",n.arg=e),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var c=r.call(a,"catchLoc"),u=r.call(a,"finallyLoc");if(c&&u){if(this.prev<a.catchLoc)return i(a.catchLoc,!0);if(this.prev<a.finallyLoc)return i(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return i(a.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return i(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,v):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),v},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),x(n),v}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;x(n)}return i}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:A(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),v}},t}function jt(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 Ut(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 Ut(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,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Ut(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 Mt(e,t,n,r,i,o,a){try{var s=e[o](a),c=s.value}catch(e){return void n(e)}s.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 a(e){Mt(o,r,i,a,s,"next",e)}function s(e){Mt(o,r,i,a,s,"throw",e)}a(void 0)}))}}function Bt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Gt(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,Kt(r.key),r)}}function Yt(e,t,n){return t=Vt(t),function(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 function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,function(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return function(){return!!e}()}()?Reflect.construct(t,n||[],Vt(e).constructor):t.apply(e,n))}function Vt(e){return(Vt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Wt(e,t){return(Wt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function qt(e,t,n){return(t=Kt(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Kt(e){var t=function(e,t){if("object"!=Dt(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=Dt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==Dt(t)?t:t+""}Rt(Nt,"instance",void 0);var zt=function(e){function t(){var e;Bt(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return qt(e=Yt(this,t,[].concat(r)),"pendingConversationId",void 0),qt(e,"activeConversationId",void 0),qt(e,"_deviceInfo",null),qt(e,"activeDevice",void 0),qt(e,"callState",0),qt(e,"recCallState",0),qt(e,"isHold",!1),qt(e,"inputReportReportId",null),qt(e,"vendorName","Yealink"),e}return 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&&Wt(e,t)}(t,e),n=t,r=[{key:"deviceInfo",get:function(){return this._deviceInfo}},{key:"isSupported",value:function(){return window.navigator.hid&&!z()}},{key:"deviceLabelMatchesVendor",value:function(e){var t=e.toLowerCase();return["yealink","(6993:"].some((function(e){return t.includes(e)}))}},{key:"connect",value:(v=Ft(Ht().mark((function e(t){var n,r=this;return Ht().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=jt(e.collections);try{for(o.s();!(i=o.n()).done;){var a=i.value;if(5===a.usage&&11===a.usagePage){r.activeDevice=e,0!==a.inputReports.length&&(r.inputReportReportId=a.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,i){var o=setTimeout(i,3e4);r.requestWebHidPermissions(Ft(Ht().mark((function a(){var s,c,u,l;return Ht().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return s=r.deductProductId(t),c=[{usage:5,usagePage:11,vendorId:27027,productId:s||void 0}],a.next=4,window.navigator.hid.requestDevice({filters:c});case 4:return clearTimeout(o),a.next=7,window.navigator.hid.getDevices();case 7:u=a.sent,l=!1,u.forEach((function(t){var i;if(n.includes(null==t||null===(i=t.productName)||void 0===i?void 0:i.toLowerCase())){var o,a=jt(t.collections);try{for(a.s();!(o=a.n()).done;){var s=o.value;if(5===s.usage&&11===s.usagePage){l=!0,0!==s.inputReports.length&&(r.inputReportReportId=s.inputReports[0].reportId),e(t);break}}}catch(e){a.e(e)}finally{a.f()}}})),l||i();case 11:case"end":return a.stop()}}),a)}))))}));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 v.apply(this,arguments)})},{key:"disconnect",value:(p=Ft(Ht().mark((function e(){return Ht().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 p.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:(d=Ft(Ht().mark((function e(t){var n;return Ht().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 d.apply(this,arguments)})},{key:"outgoingCall",value:(f=Ft(Ht().mark((function e(t){return Ht().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:(h=Ft(Ht().mark((function e(){var t;return Ht().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 h.apply(this,arguments)})},{key:"rejectCall",value:(l=Ft(Ht().mark((function e(){return Ht().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 l.apply(this,arguments)})},{key:"endCall",value:(u=Ft(Ht().mark((function e(t,n){return Ht().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 u.apply(this,arguments)})},{key:"endAllCalls",value:(c=Ft(Ht().mark((function e(){return Ht().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 c.apply(this,arguments)})},{key:"setMute",value:(s=Ft(Ht().mark((function e(t){return Ht().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:(a=Ft(Ht().mark((function e(t,n){var r,i;return Ht().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 a.apply(this,arguments)})},{key:"sendOpToDevice",value:(o=Ft(Ht().mark((function e(t){return Ht().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 o.apply(this,arguments)})}],i=[{key:"getInstance",value:function(e){return t.instance||(t.instance=new t(e)),t.instance}}],r&&Gt(n.prototype,r),i&&Gt(n,i),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,i,o,a,s,c,u,l,h,f,d,p,v}(W.a);function $t(e){return($t="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 Jt(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */Jt=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,i=Object.defineProperty||function(e,t,n){e[t]=n.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",s=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,n){return e[t]=n}}function l(e,t,n,r){var o=t&&t.prototype instanceof y?t:y,a=Object.create(o.prototype),s=new T(r||[]);return i(a,"_invoke",{value:k(e,n,s)}),a}function h(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var f="suspendedStart",d="executing",p="completed",v={};function y(){}function g(){}function m(){}var b={};u(b,a,(function(){return this}));var w=Object.getPrototypeOf,E=w&&w(w(A([])));E&&E!==n&&r.call(E,a)&&(b=E);var C=m.prototype=y.prototype=Object.create(b);function _(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function I(e,t){function n(i,o,a,s){var c=h(e[i],e,o);if("throw"!==c.type){var u=c.arg,l=u.value;return l&&"object"==$t(l)&&r.call(l,"__await")?t.resolve(l.__await).then((function(e){n("next",e,a,s)}),(function(e){n("throw",e,a,s)})):t.resolve(l).then((function(e){u.value=e,a(u)}),(function(e){return n("throw",e,a,s)}))}s(c.arg)}var o;i(this,"_invoke",{value:function(e,r){function i(){return new t((function(t,i){n(e,r,t,i)}))}return o=o?o.then(i,i):i()}})}function k(t,n,r){var i=f;return function(o,a){if(i===d)throw Error("Generator is already running");if(i===p){if("throw"===o)throw a;return{value:e,done:!0}}for(r.method=o,r.arg=a;;){var s=r.delegate;if(s){var c=O(s,r);if(c){if(c===v)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(i===f)throw i=p,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i=d;var u=h(t,n,r);if("normal"===u.type){if(i=r.done?p:"suspendedYield",u.arg===v)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(i=p,r.method="throw",r.arg=u.arg)}}}function O(t,n){var r=n.method,i=t.iterator[r];if(i===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,O(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),v;var o=h(i,t.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,v;var a=o.arg;return a?a.done?(n[t.resultName]=a.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,v):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,v)}function S(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function x(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function T(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(S,this),this.reset(!0)}function A(t){if(t||""===t){var n=t[a];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,o=function n(){for(;++i<t.length;)if(r.call(t,i))return n.value=t[i],n.done=!1,n;return n.value=e,n.done=!0,n};return o.next=o}}throw new TypeError($t(t)+" is not iterable")}return g.prototype=m,i(C,"constructor",{value:m,configurable:!0}),i(m,"constructor",{value:g,configurable:!0}),g.displayName=u(m,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===g||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,m):(e.__proto__=m,u(e,c,"GeneratorFunction")),e.prototype=Object.create(C),e},t.awrap=function(e){return{__await:e}},_(I.prototype),u(I.prototype,s,(function(){return this})),t.AsyncIterator=I,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new I(l(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},_(C),u(C,c,"Generator"),u(C,a,(function(){return this})),u(C,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=A,T.prototype={constructor:T,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(x),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function i(r,i){return s.type="throw",s.arg=t,n.next=r,i&&(n.method="next",n.arg=e),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var c=r.call(a,"catchLoc"),u=r.call(a,"finallyLoc");if(c&&u){if(this.prev<a.catchLoc)return i(a.catchLoc,!0);if(this.prev<a.finallyLoc)return i(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return i(a.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return i(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,v):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),v},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),x(n),v}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;x(n)}return i}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:A(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),v}},t}function Xt(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 Qt(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 Qt(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,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Qt(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 Zt(e,t,n,r,i,o,a){try{var s=e[o](a),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,i)}function en(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function a(e){Zt(o,r,i,a,s,"next",e)}function s(e){Zt(o,r,i,a,s,"throw",e)}a(void 0)}))}}function tn(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function nn(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,cn(r.key),r)}}function rn(e,t,n){return t=on(t),function(e,t){if(t&&("object"===$t(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,function(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return function(){return!!e}()}()?Reflect.construct(t,n||[],on(e).constructor):t.apply(e,n))}function on(e){return(on=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function an(e,t){return(an=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function sn(e,t,n){return(t=cn(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function cn(e){var t=function(e,t){if("object"!=$t(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=$t(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==$t(t)?t:t+""}qt(zt,"instance",void 0);var un=[1],ln=[32,34],hn=[20],fn=function(e){function t(){var e;tn(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return sn(e=rn(this,t,[].concat(r)),"pendingConversationId",void 0),sn(e,"activeConversationId",void 0),sn(e,"_deviceInfo",null),sn(e,"activeDevice",void 0),sn(e,"deviceCmds",null),sn(e,"inputReportReportId",null),sn(e,"lastByte",0),sn(e,"vendorName","VBet"),e}return 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&&an(e,t)}(t,e),n=t,r=[{key:"deviceInfo",get:function(){return this._deviceInfo}},{key:"isSupported",value:function(){return window.navigator.hid&&!z()}},{key:"deviceLabelMatchesVendor",value:function(e){var t=e.toLowerCase();return["vt","340b"].some((function(e){return t.includes(e)}))}},{key:"setDeviceAttrs",value:function(e){un.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):ln.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):hn.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:(b=en(Jt().mark((function e(t){var n,r=this;return Jt().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=Xt(e.collections);try{for(o.s();!(i=o.n()).done;){var a=i.value;if(5===a.usage&&11===a.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,i){var o=setTimeout(i,3e4);r.requestWebHidPermissions(en(Jt().mark((function a(){var s,c,u,l;return Jt().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return s=r.deductProductId(t),c=[{usage:5,usagePage:11,vendorId:13323,productId:s||void 0}],a.next=4,window.navigator.hid.requestDevice({filters:c});case 4:return clearTimeout(o),a.next=7,window.navigator.hid.getDevices();case 7:u=a.sent,l=!1,u.forEach((function(t){var i;if(n.includes(null==t||null===(i=t.productName)||void 0===i?void 0:i.toLowerCase())){var o,a=Xt(t.collections);try{for(a.s();!(o=a.n()).done;){var s=o.value;if(5===s.usage&&11===s.usagePage){l=!0,r.setDeviceAttrs(t.productId),e(t);break}}}catch(e){a.e(e)}finally{a.f()}}})),l||i();case 11:case"end":return a.stop()}}),a)}))))}));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 b.apply(this,arguments)})},{key:"disconnect",value:(m=en(Jt().mark((function e(){return Jt().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 m.apply(this,arguments)})},{key:"processBtnPress",value:(g=en(Jt().mark((function e(t){return Jt().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(!un.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(!ln.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(!hn.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:(y=en(Jt().mark((function e(t){return Jt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.pendingConversationId=t.conversationId,!hn.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 y.apply(this,arguments)})},{key:"outgoingCall",value:(v=en(Jt().mark((function e(t){return Jt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.pendingConversationId=t.conversationId,!hn.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 v.apply(this,arguments)})},{key:"answerCall",value:(p=en(Jt().mark((function e(t,n){return Jt().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 p.apply(this,arguments)})},{key:"answerCallFromDevice",value:(d=en(Jt().mark((function e(){return Jt().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 d.apply(this,arguments)})},{key:"rejectCall",value:(f=en(Jt().mark((function e(){return Jt().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:(h=en(Jt().mark((function e(){return Jt().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 h.apply(this,arguments)})},{key:"endCall",value:(l=en(Jt().mark((function e(t,n){return Jt().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 l.apply(this,arguments)})},{key:"endCallFromDevice",value:(u=en(Jt().mark((function e(){return Jt().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 u.apply(this,arguments)})},{key:"endAllCalls",value:(c=en(Jt().mark((function e(){return Jt().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 c.apply(this,arguments)})},{key:"setMute",value:(s=en(Jt().mark((function e(t){return Jt().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:(a=en(Jt().mark((function e(t){return Jt().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 a.apply(this,arguments)})},{key:"sendOpToDevice",value:(o=en(Jt().mark((function e(t){var n;return Jt().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 o.apply(this,arguments)})}],i=[{key:"getInstance",value:function(e){return t.instance||(t.instance=new t(e)),t.instance}}],r&&nn(n.prototype,r),i&&nn(n,i),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,i,o,a,s,c,u,l,h,f,d,p,v,y,g,m,b}(W.a);sn(fn,"instance",void 0);var dn=n(1);function pn(e){return(pn="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 vn(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 yn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?vn(Object(n),!0).forEach((function(t){_n(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):vn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function gn(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */gn=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,i=Object.defineProperty||function(e,t,n){e[t]=n.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",s=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,n){return e[t]=n}}function l(e,t,n,r){var o=t&&t.prototype instanceof y?t:y,a=Object.create(o.prototype),s=new T(r||[]);return i(a,"_invoke",{value:k(e,n,s)}),a}function h(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var f="suspendedStart",d="executing",p="completed",v={};function y(){}function g(){}function m(){}var b={};u(b,a,(function(){return this}));var w=Object.getPrototypeOf,E=w&&w(w(A([])));E&&E!==n&&r.call(E,a)&&(b=E);var C=m.prototype=y.prototype=Object.create(b);function _(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function I(e,t){function n(i,o,a,s){var c=h(e[i],e,o);if("throw"!==c.type){var u=c.arg,l=u.value;return l&&"object"==pn(l)&&r.call(l,"__await")?t.resolve(l.__await).then((function(e){n("next",e,a,s)}),(function(e){n("throw",e,a,s)})):t.resolve(l).then((function(e){u.value=e,a(u)}),(function(e){return n("throw",e,a,s)}))}s(c.arg)}var o;i(this,"_invoke",{value:function(e,r){function i(){return new t((function(t,i){n(e,r,t,i)}))}return o=o?o.then(i,i):i()}})}function k(t,n,r){var i=f;return function(o,a){if(i===d)throw Error("Generator is already running");if(i===p){if("throw"===o)throw a;return{value:e,done:!0}}for(r.method=o,r.arg=a;;){var s=r.delegate;if(s){var c=O(s,r);if(c){if(c===v)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(i===f)throw i=p,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i=d;var u=h(t,n,r);if("normal"===u.type){if(i=r.done?p:"suspendedYield",u.arg===v)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(i=p,r.method="throw",r.arg=u.arg)}}}function O(t,n){var r=n.method,i=t.iterator[r];if(i===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,O(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),v;var o=h(i,t.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,v;var a=o.arg;return a?a.done?(n[t.resultName]=a.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,v):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,v)}function S(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function x(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function T(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(S,this),this.reset(!0)}function A(t){if(t||""===t){var n=t[a];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,o=function n(){for(;++i<t.length;)if(r.call(t,i))return n.value=t[i],n.done=!1,n;return n.value=e,n.done=!0,n};return o.next=o}}throw new TypeError(pn(t)+" is not iterable")}return g.prototype=m,i(C,"constructor",{value:m,configurable:!0}),i(m,"constructor",{value:g,configurable:!0}),g.displayName=u(m,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===g||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,m):(e.__proto__=m,u(e,c,"GeneratorFunction")),e.prototype=Object.create(C),e},t.awrap=function(e){return{__await:e}},_(I.prototype),u(I.prototype,s,(function(){return this})),t.AsyncIterator=I,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new I(l(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},_(C),u(C,c,"Generator"),u(C,a,(function(){return this})),u(C,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=A,T.prototype={constructor:T,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(x),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function i(r,i){return s.type="throw",s.arg=t,n.next=r,i&&(n.method="next",n.arg=e),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var c=r.call(a,"catchLoc"),u=r.call(a,"finallyLoc");if(c&&u){if(this.prev<a.catchLoc)return i(a.catchLoc,!0);if(this.prev<a.finallyLoc)return i(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return i(a.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return i(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,v):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),v},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),x(n),v}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;x(n)}return i}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:A(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),v}},t}function mn(e,t,n,r,i,o,a){try{var s=e[o](a),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,i)}function bn(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function a(e){mn(o,r,i,a,s,"next",e)}function s(e){mn(o,r,i,a,s,"throw",e)}a(void 0)}))}}function wn(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){var r,i,o,a,s=[],c=!0,u=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=o.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){u=!0,i=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw i}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return En(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 En(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 En(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 Cn(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,In(r.key),r)}}function _n(e,t,n){return(t=In(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function In(e){var t=function(e,t){if("object"!=pn(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=pn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==pn(t)?t:t+""}var kn=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),_n(this,"plantronics",void 0),_n(this,"jabraNative",void 0),_n(this,"jabra",void 0),_n(this,"sennheiser",void 0),_n(this,"yealink",void 0),_n(this,"vbet",void 0),_n(this,"cyberAcoustics",void 0),_n(this,"selectedImplementation",void 0),_n(this,"headsetEvents$",void 0),_n(this,"headsetConversationStates",{}),_n(this,"_headsetEvents$",void 0),_n(this,"logger",void 0),this._headsetEvents$=new Y,this.headsetEvents$=this._headsetEvents$.asObservable(),this.logger=t.logger||console,this.plantronics=Se.getInstance({logger:this.logger,appName:t.appName}),this.jabraNative=Nt.getInstance({logger:this.logger}),this.jabra=Et.getInstance({logger:this.logger}),this.sennheiser=Ue.getInstance({logger:this.logger}),this.yealink=zt.getInstance({logger:this.logger}),this.vbet=fn.getInstance({logger:this.logger}),this.cyberAcoustics=he.getInstance({logger:this.logger}),[this.plantronics,this.jabra,this.jabraNative,this.sennheiser,this.yealink,this.vbet,this.cyberAcoustics].forEach((function(e){return n.subscribeToHeadsetEvents(e)}))}return t=e,n=[{key:"implementations",get:function(){return[this.sennheiser,this.plantronics,this.jabra,this.jabraNative,this.yealink,this.vbet,this.cyberAcoustics].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=wn(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:(f=bn(gn().mark((function e(t,n){return gn().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:dn.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=bn(gn().mark((function e(t,n){var r;return gn().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=bn(gn().mark((function e(t){var n;return gn().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=bn(gn().mark((function e(t,n){var r,i;return gn().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=bn(gn().mark((function e(t){var n,r,i,o=arguments;return gn().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:(s=bn(gn().mark((function e(t){var n;return gn().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 s.apply(this,arguments)})},{key:"setHold",value:(a=bn(gn().mark((function e(t,n){var r,i;return gn().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 a.apply(this,arguments)})},{key:"endCall",value:(o=bn(gn().mark((function e(t,n){var r,i;return gn().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=bn(gn().mark((function e(){var t,n=this;return gn().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(dn.a.deviceAnsweredCall,this.handleDeviceAnsweredCall.bind(this)),e.on(dn.a.deviceRejectedCall,this.handleDeviceRejectedCall.bind(this)),e.on(dn.a.deviceEndedCall,this.handleDeviceEndedCall.bind(this)),e.on(dn.a.deviceMuteStatusChanged,this.handleDeviceMuteStatusChanged.bind(this)),e.on(dn.a.deviceHoldStatusChanged,this.handleDeviceHoldStatusChanged.bind(this)),e.on(dn.a.deviceEventLogs,this.handleDeviceLogs.bind(this)),e.on(dn.a.deviceConnectionStatusChanged,this.handleDeviceConnectionStatusChanged.bind(this)),e.on(dn.a.webHidPermissionRequested,this.handleWebHidPermissionRequested.bind(this))}},{key:"clearSelectedImplementation",value:function(e){this.selectedImplementation&&(this.selectedImplementation.disconnect(e),this._headsetEvents$.next({event:dn.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:dn.a.deviceAnsweredCall,payload:yn({},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:dn.a.deviceRejectedCall,payload:yn({},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:dn.a.deviceEndedCall,payload:yn({},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:dn.a.deviceMuteStatusChanged,payload:yn({},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:dn.a.deviceHoldStatusChanged,payload:yn({},e.body)})}},{key:"handleDeviceConnectionStatusChanged",value:function(){this._headsetEvents$.next({event:dn.a.deviceConnectionStatusChanged,payload:this.connectionStatus()})}},{key:"handleWebHidPermissionRequested",value:function(e){this.logger.debug("Requesting Webhid Permissions"),this._headsetEvents$.next({event:dn.a.webHidPermissionRequested,payload:yn({},e.body)})}},{key:"handleDeviceLogs",value:function(e){this._headsetEvents$.next({event:dn.a.loggableEvent,payload:yn({},e.body)})}}],r=[{key:"getInstance",value:function(t){return e.instance&&!t.createNew||(e.instance=new e(t)),e.instance}}],n&&Cn(t.prototype,n),r&&Cn(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r,i,o,a,s,c,u,l,h,f}();_n(kn,"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 a in o)["default","VendorImplementation"].indexOf(a)<0&&function(e){n.d(t,e,(function(){return o[e]}))}(a);var s=n(1);n.d(t,"HeadsetEvents",(function(){return s.a}));var c=n(7);for(var a in c)["default","VendorImplementation","HeadsetEvents"].indexOf(a)<0&&function(e){n.d(t,e,(function(){return c[e]}))}(a);n(8);var u=n(9);for(var a in u)["default","VendorImplementation","HeadsetEvents"].indexOf(a)<0&&function(e){n.d(t,e,(function(){return u[e]}))}(a);t.default=r.a},,function(e,t){var n,r,i=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function s(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:a}catch(e){r=a}}();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=s(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===a||!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||s(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 a=function(e,t){var n=e.toString(16);return n.length<2&&(n="0"+n),t&&(n=n.toUpperCase()),n},s=t;s<=n;s++)i[o++]=a(e[s],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 a=52200625;a>=1;){var s=Math.floor(o/a)%85;r+=n[s],a/=85}o=0}return r},a=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,a=0;i<n;){var s=e.charCodeAt(i++)-32;if(s<0||s>=r.length)break;if(a=85*a+r[s],i%5==0){for(var c=16777216;c>=1;)t[o++]=Math.trunc(a/c%256),c/=256;a=0}}return t},s=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,a,s=[],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?a=i<<n.obits-8:a|=i<<n.obits-8-l:0===l?a=i:a|=i<<l,!(0==(l=(l+8)%n.obits)&&(s.push(a),c>=h)););return s},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 a=e.length,s=0;s<a;s++)for(var c=e[s]&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,a,s){return[s,a,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},y=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},g=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,a=-271733879,s=-1732584194,c=271733878,u=-1009589776,l=0;l<e.length;l+=16){for(var h=o,f=a,d=s,p=c,v=u,y=0;y<80;y++){i[y]=y<16?e[l+y]:C(i[y-3]^i[y-8]^i[y-14]^i[y-16],1);var g=E(E(C(o,5),n(y,a,s,c)),E(E(u,i[y]),r(y)));u=c,c=s,s=C(a,30),a=o,o=g}o=E(o,h),a=E(a,f),s=E(s,d),c=E(c,p),u=E(u,v)}return[o,a,s,c,u]}(s(e,{ibits:8,obits:32,obigendian:!0}),8*e.length),{ibits:32,ibigendian:!0})},O=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,a,s){return n(t&r|~t&i,e,t,o,a,s)}function i(e,t,r,i,o,a,s){return n(t&i|r&~i,e,t,o,a,s)}function o(e,t,r,i,o,a,s){return n(t^r^i,e,t,o,a,s)}function a(e,t,r,i,o,a,s){return n(r^(t|~i),e,t,o,a,s)}e[t>>5]|=128<<t%32,e[14+(t+64>>>9<<4)]=t;for(var s=1732584193,c=-271733879,u=-1732584194,l=271733878,h=0;h<e.length;h+=16){var f=s,d=c,p=u,v=l;s=r(s,c,u,l,e[h+0],7,-680876936),l=r(l,s,c,u,e[h+1],12,-389564586),u=r(u,l,s,c,e[h+2],17,606105819),c=r(c,u,l,s,e[h+3],22,-1044525330),s=r(s,c,u,l,e[h+4],7,-176418897),l=r(l,s,c,u,e[h+5],12,1200080426),u=r(u,l,s,c,e[h+6],17,-1473231341),c=r(c,u,l,s,e[h+7],22,-45705983),s=r(s,c,u,l,e[h+8],7,1770035416),l=r(l,s,c,u,e[h+9],12,-1958414417),u=r(u,l,s,c,e[h+10],17,-42063),c=r(c,u,l,s,e[h+11],22,-1990404162),s=r(s,c,u,l,e[h+12],7,1804603682),l=r(l,s,c,u,e[h+13],12,-40341101),u=r(u,l,s,c,e[h+14],17,-1502002290),s=i(s,c=r(c,u,l,s,e[h+15],22,1236535329),u,l,e[h+1],5,-165796510),l=i(l,s,c,u,e[h+6],9,-1069501632),u=i(u,l,s,c,e[h+11],14,643717713),c=i(c,u,l,s,e[h+0],20,-373897302),s=i(s,c,u,l,e[h+5],5,-701558691),l=i(l,s,c,u,e[h+10],9,38016083),u=i(u,l,s,c,e[h+15],14,-660478335),c=i(c,u,l,s,e[h+4],20,-405537848),s=i(s,c,u,l,e[h+9],5,568446438),l=i(l,s,c,u,e[h+14],9,-1019803690),u=i(u,l,s,c,e[h+3],14,-187363961),c=i(c,u,l,s,e[h+8],20,1163531501),s=i(s,c,u,l,e[h+13],5,-1444681467),l=i(l,s,c,u,e[h+2],9,-51403784),u=i(u,l,s,c,e[h+7],14,1735328473),s=o(s,c=i(c,u,l,s,e[h+12],20,-1926607734),u,l,e[h+5],4,-378558),l=o(l,s,c,u,e[h+8],11,-2022574463),u=o(u,l,s,c,e[h+11],16,1839030562),c=o(c,u,l,s,e[h+14],23,-35309556),s=o(s,c,u,l,e[h+1],4,-1530992060),l=o(l,s,c,u,e[h+4],11,1272893353),u=o(u,l,s,c,e[h+7],16,-155497632),c=o(c,u,l,s,e[h+10],23,-1094730640),s=o(s,c,u,l,e[h+13],4,681279174),l=o(l,s,c,u,e[h+0],11,-358537222),u=o(u,l,s,c,e[h+3],16,-722521979),c=o(c,u,l,s,e[h+6],23,76029189),s=o(s,c,u,l,e[h+9],4,-640364487),l=o(l,s,c,u,e[h+12],11,-421815835),u=o(u,l,s,c,e[h+15],16,530742520),s=a(s,c=o(c,u,l,s,e[h+2],23,-995338651),u,l,e[h+0],6,-198630844),l=a(l,s,c,u,e[h+7],10,1126891415),u=a(u,l,s,c,e[h+14],15,-1416354905),c=a(c,u,l,s,e[h+5],21,-57434055),s=a(s,c,u,l,e[h+12],6,1700485571),l=a(l,s,c,u,e[h+3],10,-1894986606),u=a(u,l,s,c,e[h+10],15,-1051523),c=a(c,u,l,s,e[h+1],21,-2054922799),s=a(s,c,u,l,e[h+8],6,1873313359),l=a(l,s,c,u,e[h+15],10,-30611744),u=a(u,l,s,c,e[h+6],15,-1560198380),c=a(c,u,l,s,e[h+13],21,1309151649),s=a(s,c,u,l,e[h+4],6,-145523070),l=a(l,s,c,u,e[h+11],10,-1120210379),u=a(u,l,s,c,e[h+2],15,718787259),c=a(c,u,l,s,e[h+9],21,-343485551),s=E(s,f),c=E(c,d),u=E(u,p),l=E(l,v)}return[s,c,u,l]}(s(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=f(this.inc),this.next(),g(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=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),g(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 I,S=function(e,t){for(var n=[],r=0;r<e;r++)n[r]=k.next()%t;return n},T=0,x=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?x=0:x++,T=r;var i,o=d(r);y(o,1e4),v(o,l(1,178,29,210,19,129,64,0)),x>0&&v(o,d(x)),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 a=S(2,255);n[8]=a[0],n[9]=a[1];var s=S(6,255);for(s[0]|=1,s[0]|=2,t=0;t<6;t++)n[10+t]=s[t]}else if(4===e){var c=S(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?O(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)a(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),Me(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 an(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 sn{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 sn(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),Me(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),Me(e=>sn.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],a=e[5],s=this.packetLengthFromAttr(e[3]),c=e.slice(6,s);return new Vt(t,n,i,o,a,c,r)}}un.lengthMask=63;class ln{constructor(){this.data=[]}hasHeader(){return this.data.length>=ln.gnpPacketHeaderLength}expectedPacketLength(){if(!this.hasHeader())throw new Ot("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 Ot("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 Bt?Bt[e.subCommand]:e.subCommand;return new Ot("Got NACK response. Reason: "+t,$e.DEVICE_ERROR)},n=>n.pipe(Me(n=>e(n)?Le(t(n)):Ae(n)),Et());var e,t},pn=e=>dt(t=>t.type===Mt.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===jt.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}),yt())}}static supportsGnpOverHid(e){return void 0!==e.findDescriptor(Ht.GN_PROTOCOL,jt.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,jt.DATA,en.OUTPUT))||void 0===t?void 0:t.reportSize;if(!n)throw new Ot("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,jt.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,Ut.PC_ADDR,Mt.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,Ut.PC_ADDR,Mt.READ,e.command,e.subCommand,e.serialize(t),this.getNextSequenceNumber()),o=new X;return this.doWithGnpLockHeld((t,n,a)=>{n.pipe(pn(i),dn(),dt(e=>e.command===i.command&&e.subCommand===i.subCommand),je(r),fn(a),Me(t=>e.deserialize(t))).subscribe(o),t(i)}),o}write(e,t,n=this.primaryAddress,r=2500){const i=new Vt(n,Ut.PC_ADDR,Mt.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),je(r),fn(n),Me(()=>!0)).subscribe(o),e(i)}),o}}vn.eventsFilter=e=>e.pipe(rt(e=>e.type===Mt.EVENT));class yn{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 gn(e,t,n,r){if(!vn.supportsGnpOverHid(e))return Le(()=>new Ot("Device does not support GNP commands.",$e.DEVICE_ERROR));const i=Ae(Ut.HS_BT_USB_ADDR,Ut.BASE_ADDR,Ut.CRADLE_ADDR,Ut.HS1_ADDR,Ut.HS_CRADLE_ADDR).pipe(Me((r,i)=>Ve(()=>{const o=new vn(e,new rn(t),n,r,i);return o.read(Xt,r,500).pipe(Me(e=>o),st(()=>ce))})),Be(),lt(1),ht(()=>new Ot("GNP probe failed.",$e.DEVICE_ERROR)));return it(r.pipe(Fe(e=>Le(()=>new Ot("Device was suddenly disconnected.",$e.DEVICE_ERROR)))),i).pipe(yt())}function mn(e,t){return new yn(e,t)}class bn{constructor(){this.primaryAddress=Ut.BASE_ADDR,this.events=Ze}subscribeToEvent(e,t){return Le(()=>new Ot("This device does not support GNP commands.",$e.FEATURE_NOT_SUPPORTED))}sendEvent(e,t,n){throw new Ot("This device does not support GNP commands.",$e.FEATURE_NOT_SUPPORTED)}read(e,t,n){return Le(()=>new Ot("This device does not support GNP commands.",$e.FEATURE_NOT_SUPPORTED))}readWithParams(e,t,n,r){return Le(()=>new Ot("This device does not support GNP commands.",$e.FEATURE_NOT_SUPPORTED))}write(e,t,n,r){return Le(()=>new Ot("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,On;!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"}(On||(On={}));class In{constructor(e,t,n,r,i,o,a,s,c,u,l){this.id=e,this.type=t,this.hidChannel=n,this.events=r,this.primaryAddress=i,this.sendEvent=o,this.read=a,this.readWithParams=s,this.write=c,this.onDisconnect=u,this.parentConnectionId=l,this.onDisconnect.subscribe({error:A})}static createConnection(e,t,n,r,i,o){const a=r.sendEvent.bind(r),s=r.read.bind(r),c=r.readWithParams.bind(r),u=r.write.bind(r);return new In(e,t,n,r.events,r.primaryAddress,a,s,c,u,i,o)}}const kn=(e=3,t=500)=>n=>n.pipe(Fe((n,r)=>{const i=r+1;return i>e?Le(()=>n):Ke(i*i*t)}));function Sn(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:Sn(e,$t,i),name:Sn(e,zt,i),serialNumber:Sn(e,Qt,i),capabilities:t.capabilities,deviceType:r,connectionGnpAddress:i}}class xn{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===Gt.ATTACH_EVENT),Me(e=>({deviceType:e.payload[0],address:e.payload[1]}))).pipe(Me(n.bind(null,t,e)));this.connectionEvents=o.pipe(Me(e=>{const n=it(t.events.pipe(dt(t=>t.command===Ft.DEVICE&&t.subCommand===Gt.DETACH_EVENT&&t.payload[1]===e.connectionGnpAddress),Me(A)),t.onDisconnect);return{attach:e,detach:n}}),Fe(e=>at(Ae(e.attach),this.createConnection(e.attach,e.detach))),Me(([e,t])=>({event:e,connection:t})),Ct(t.onDisconnect)),t.sendEvent(Kt,[])}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:Gt.TYPE,deserialize:e=>{const{payload:t}=e,n=t[0];if(n<1||n>=t.length)throw new Ot("Cannot get device type.",$e.DEVICE_ERROR);return t[1]}};function Ln(e,t,n,r=qe.ERROR,i=ze.JS_LIB){It(`${e} ${function(e){if(e instanceof Ot){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 xn(e.event,e.connection).connectionEvents}class Nn{constructor(e,t,n=((e,t,n)=>new cn(e,t,n)),r=gn,i=Pn,o=In.createConnection){this.transport=e,this.logger=t,this.createHidChannel=n,this.createRootGnpChannel=r,this.connectionCreator=o;const a=this.transport.consoleAppEvent.pipe(rt(e=>"attach"===e.event),Me(Nn.createAttachEvent),st((e,t)=>(Ln("",e,this.logger),t))).pipe(Me(e=>{const t=this.transport.consoleAppEvent.pipe(rt(e=>"detach"===e.event),dt(t=>Nn.getTransportId(t)===e.transportId),Me(A),mt());return t.subscribe(),{attach:e,detach:t}}),Fe(e=>this.createConnection(e.attach,e.detach)),yt()),s=a.pipe(rt(e=>e.event.deviceType===On.DONGLE),rt(e=>vn.supportsGnpOverHid(e.connection.hidChannel)),Fe(e=>i(e)));this.connectionEvents=We(a,s).pipe(yt())}static convertToReportType(e){switch(e){case"input":return en.INPUT;case"output":return en.OUTPUT;case"feature":return en.FEATURE;default:throw new Ot(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 Ot(e+" Not a valid ValueType",$e.UNEXPECTED_ERROR)}}static createDescriptor(e){return e.map(e=>({reportType:Nn.convertToReportType(e.reportType),usagePage:e.usagePage,usage:e.usage,valueType:Nn.convertToValueType(e.valueType),reportSize:e.reportSize}))}static getMandatoryField(e,t){const n=e[t];if(void 0===n)throw new Ot(`JSON event lacks required field "${t}: ${JSON.stringify(e)}`,$e.UNEXPECTED_ERROR);return n}static getTransportId(e){return Nn.getMandatoryField(e,"id")}static createAttachEvent(e){return{transportId:Nn.getTransportId(e),vid:Nn.getMandatoryField(e,"vid"),pid:Ae(Nn.getMandatoryField(e,"pid")),name:Ae(Nn.getMandatoryField(e,"name")),serialNumber:Ae(Nn.getMandatoryField(e,"serialNumber")),capabilities:Nn.createDescriptor(Nn.getMandatoryField(e,"descriptor"))}}createConnection(e,t,n=3,r=100){const{capabilities:i,transportId:o}=e,a=new wn(o),s=this.createHidChannel(a,i,this.transport),c=this.createRootGnpChannel(s,this.transport,o,t).pipe(st((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))),yt()),u=c.pipe(Fe(e=>e.read(An)),vt(kn(n,r)),st(e=>Ae(On.ANY)));return at(c,u).pipe(Ct(t),Me(([n,r])=>({event:Object.assign(Object.assign({},e),{deviceType:r,connectionGnpAddress:n.primaryAddress}),connection:this.connectionCreator(a,_n.USB,s,n,t)})))}}var Rn,Dn,Hn,jn,Un;class Mn{constructor(e,t,n,r,i,o){this.vendorId=e,this.productId=t,this.serialNumber=n,this.name=r,this.type=i,Dn.set(this,void 0),y(this,Dn,new St(o,v(Mn,Rn,"m",jn)),"f"),this.connectionAdded=v(this,Dn,"f").itemAdded,this.connectionRemoved=v(this,Dn,"f").itemRemoved,this.connectionList=v(this,Dn,"f").itemList,this.onDisconnect=v(this,Dn,"f").itemList.pipe(bt(1),dt(e=>0===e.length),Me(A),yt())}get id(){return an(this.vendorId,this.productId,this.serialNumber)}get currentConnections(){return v(this,Dn,"f").getValue()}get browserLabel(){return`${this.vendorId.toString(16).padStart(4,"0")}:${this.productId.toString(16).padStart(4,"0")}`}}Rn=Mn,Dn=new WeakMap,jn=function(e,t){return v(Mn,Rn,"f",Hn).indexOf(e.type)-v(Mn,Rn,"f",Hn).indexOf(t.type)},Hn={value:[_n.USB,_n.INDIRECT,_n.BLUETOOTH]};class Fn{constructor(e){this.deviceObservables=new St(e)}static exceptionToUndefined(e){try{return e()}catch(e){if(e instanceof Ot)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 Ot("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 Gn{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(an(e.event.vid,t,n)),a)(_e(i)),rt(nt(o,a))(_e(i))]);var i,o,a;const s=n.pipe(Me(e=>Gn.createDevice(e,r)));this.deviceCollection=new Fn(s),this.deviceObservables=this.deviceCollection.deviceObservables}force(e){const{name:t,pid:n,serialNumber:r}=e.event,i=e.connection.onDisconnect.pipe((o=Le(()=>new Error(`Connection with ID ${e.connection.id} disconnected`)),g(a)?ct((function(){return o}),a):ct((function(){return o}))));var o,a;return at(t,n,r).pipe(Me(([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),st(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:a,deviceType:s}=n.event,c=t.pipe(rt(t=>Gn.isSameDevice(e,t)),Me(e=>e.event.connection)),u=Ye(Ae(n.connection),c);return new Mn(a,r,o,i,s,u)}static isSameDevice(e,t){const n=an(e.event.event.vid,e.pid,e.serialNumber),r=an(t.event.event.vid,t.pid,t.serialNumber);return n.startsWith(r)||r.startsWith(n)}static create(e,t){const n=new Nn(e,t);return new Gn(n.connectionEvents)}}function Bn(e){var t,n,r;return s(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 Rt(e);o.validateOrganizationKey(),o.validateAppId(),o.validateAppName();const a=null!==(n=null===(t=null==e?void 0:e.internal)||void 0===t?void 0:t.testDeviceTransport)&&void 0!==n?n:yield Lt(i,null==e?void 0:e.transport,null===(r=null==e?void 0:e.internal)||void 0===r?void 0:r.recorder);new Pt(a,i);const s=Gn.create(a,i),c=new xt(s,a,e);return yield a.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}}}(Un||(Un={}));var Kn,Wn,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 a=t-o,s=7&e,c=this._view[e>>3],u=Math.min(a,8-s);this.bigEndian?(i<<=u,i|=c>>8-u-s&~(255<<u)):i|=(c>>s&~(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,a,s,c=n-i,u=7&e,l=e>>3,h=Math.min(c,8-u);if(this.bigEndian){a=t>>n-i-h&(o=~(-1<<h));var f=8-u-h;s=~(o<<f),this._view[l]=this._view[l]&s|a<<f}else a=t&(o=~(255<<h)),t>>=h,s=~(o<<u),this._view[l]=this._view[l]&s|a<<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 a(e,t,n){if(0===t)return"";var r=0,i=[],o=!0,a=!!t;for(t||(t=Math.floor((e._length-e._index)/8));r<t;){var s=e.readUint8();if(0===s&&(o=!1,!a))break;o&&i.push(s),r++}var c=String.fromCharCode.apply(null,i);if(!n)return c;try{return decodeURIComponent(escape(c))}catch(e){return c}}var s=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(s.prototype,"index",{get:function(){return this._index-this._startIndex},set:function(e){this._index=e+this._startIndex},enumerable:!0,configurable:!0}),Object.defineProperty(s.prototype,"length",{get:function(){return this._length-this._startIndex},set:function(e){this._length=e+this._startIndex},enumerable:!0,configurable:!0}),Object.defineProperty(s.prototype,"bitsLeft",{get:function(){return this._length-this._index},enumerable:!0,configurable:!0}),Object.defineProperty(s.prototype,"byteIndex",{get:function(){return Math.ceil(this._index/8)},set:function(e){this._index=8*e},enumerable:!0,configurable:!0}),Object.defineProperty(s.prototype,"buffer",{get:function(){return this._view.buffer},enumerable:!0,configurable:!1}),Object.defineProperty(s.prototype,"view",{get:function(){return this._view},enumerable:!0,configurable:!1}),Object.defineProperty(s.prototype,"bigEndian",{get:function(){return this._view.bigEndian},set:function(e){this._view.bigEndian=e},enumerable:!0,configurable:!1}),s.prototype.readBits=function(e,t){var n=this._view.getBits(this._index,e,t);return this._index+=e,n},s.prototype.writeBits=function(e,t){this._view.setBits(this._index,e,t),this._index+=t},s.prototype.readBoolean=r("getBoolean",1),s.prototype.readInt8=r("getInt8",8),s.prototype.readUint8=r("getUint8",8),s.prototype.readInt16=r("getInt16",16),s.prototype.readUint16=r("getUint16",16),s.prototype.readInt32=r("getInt32",32),s.prototype.readUint32=r("getUint32",32),s.prototype.readFloat32=r("getFloat32",32),s.prototype.readFloat64=r("getFloat64",64),s.prototype.writeBoolean=o("setBoolean",1),s.prototype.writeInt8=o("setInt8",8),s.prototype.writeUint8=o("setUint8",8),s.prototype.writeInt16=o("setInt16",16),s.prototype.writeUint16=o("setUint16",16),s.prototype.writeInt32=o("setInt32",32),s.prototype.writeUint32=o("setUint32",32),s.prototype.writeFloat32=o("setFloat32",32),s.prototype.writeFloat64=o("setFloat64",64),s.prototype.readASCIIString=function(e){return function(e,t){return a(e,t,!1)}(this,e)},s.prototype.readUTF8String=function(e){return function(e,t){return a(e,t,!0)}(this,e)},s.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)},s.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)},s.prototype.readBitStream=function(e){var t=new s(this._view);return t._startIndex=this._index,t._index=this._index,t.length=e,this._index+=e,t},s.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},s.prototype.readArrayBuffer=function(e){var t=this._view.getArrayBuffer(this._index,e);return this._index+=8*e,t},s.prototype.writeArrayBuffer=function(e,t){this.writeBitStream(new s(e),8*t)},e.exports&&(e.exports={BitView:n,BitStream:s})}()}));function nr(){return s(this,void 0,void 0,(function*(){const{hid:e}=window.navigator;if(!e)throw new Ot("WebHID not supported",$e.INIT_ERROR);const t=yield e.requestDevice({filters:[{vendorId:Kn.VENDOR_ID}]});return new BroadcastChannel(Kn.PAIRING_CHANNEL).postMessage(null),t}))}!function(e){e[e.VENDOR_ID=2830]="VENDOR_ID",e.PAIRING_CHANNEL="jabra-webhid-pairing-channel"}(Kn||(Kn={})),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"}(Wn||(Wn={}));class rr{constructor(e,t,n){this.type=e,this.value=t,this.valueType=n}toString(){return void 0===Wn[this.type]?`Unknown signal: type: ${this.type}, value: ${this.value}, valueType: ${this.valueType}`:`Signal: type: ${Wn[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(yt());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})):(Ln("",new Ot(`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),yt()),t=[Wn.HOOK_SWITCH,Wn.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),a=e.map((function(){return!1})),s=!1,c=function(t){_e(e[t]).subscribe(z(r,(function(e){o[t]=e,s||a[t]||(a[t]=!0,(s=a.every(Y))&&(a=null))}),A))},u=0;u<i;u++)c(u);t.subscribe(z(r,(function(e){if(s){var t=h([e],l(o));r.next(n?n.apply(void 0,h([],l(t))):t)}})))}))}(e),rt(([e,t])=>t),Me(([e,t])=>e))}(this.isSoftphoneInFocus),rt(e=>t.includes(e.usage)&&!this.lockHeld.getValue()));return We(e.pipe(rt(e=>this.lockHeld.getValue())),n).pipe(Me(e=>new rr(e.usage,0!==e.value,e.valueType)),st(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,y(this,Jn,r,"f"),v(this,Jn,"f").lockHeld.subscribe(v(this,Xn,"f")),y(this,Qn,t,"f"),this.onDisconnect.pipe(dt(),Me(()=>!0)).subscribe(e=>{y(this,Zn,e,"f")});const a=new ir(v(this,Qn,"f"),this.onDisconnect,i,v(this,Xn,"f"),o);this.deviceSignals=a.setup()}checkCallLockHeld(e){if(!v(this,Xn,"f").getValue())throw new Ot(e,$e.SDK_USAGE_ERROR)}checkCallLockNotHeld(e){if(v(this,Xn,"f").getValue())throw new Ot(e,$e.SDK_USAGE_ERROR)}checkHasDisconnected(){if(v(this,Zn,"f"))throw new Ot("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!"),Ne(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 Ot(`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 Ot(`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 Ot(`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 Ot(`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 ar={[Dt.SKYPE]:er.GN_TELEPHONY,[Dt.CISCO]:er.GN_TELEPHONY,[Dt.AVAYA]:er.GN_TELEPHONY,[Dt.SIEMENS]:er.GN_TELEPHONY,[Dt.IBM]:er.GN_TELEPHONY,[Dt.AASTRA]:er.GN_TELEPHONY,[Dt.JABRA]:er.GN_TELEPHONY,[Dt.NEC]:er.GN_TELEPHONY,[Dt.SHORETEL]:er.GN_TELEPHONY,[Dt.MS_OC]:er.STD_TELEPHONY,[Dt.ALCATEL]:er.STD_TELEPHONY,[Dt.OTHER]:er.STD_TELEPHONY,[Dt.NORTEL]:null,[Dt.GENERIC]:null};class sr{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(()=>xe(e).pipe(ct(e=>this.takeSingleCallLock(e).pipe(st(e=>(Ln("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})))}}(),Me(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),Me(e=>(this.currentLocks.getValue().add(e),this.currentLocks.next(this.currentLocks.getValue()),A)),vt(kn())).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(Me(t=>t.acquired?Ae(t.transportId):Le(()=>new Ot("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),Me(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!==On.DONGLE&&t!==On.OTHER)}(e,n))}function fr(e,t,n,r,i){const o=hr(e),{hidChannel:a,onDisconnect:s}=o,c=new sr(new cr(r),e,i);return t||r.context===Xe.WEB_HID?Ae(new or(e,a,s,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(Me(e=>ar[e]===t)),r=e.read(new qt).pipe(Me(e=>e.find(e=>ar[e]===t))).pipe(Me(t=>t?e.write(Jt,t):Ae(!1)),Et());return n.pipe((i=Ae(!0),o=r,e=>e.pipe(Me(e=>e?i:o),Et())));var i,o}(t,er.GN_TELEPHONY):Ae(!1)}(a,o).pipe(Me(t=>new or(e,a,s,c,n.softphoneInFocus,i)))}class dr{constructor(e,t){this.devComm=e,this.softphoneInFocus=new K,this.softphoneInFocus=t.pipe(dt(),Fe(e=>this.devComm.consoleAppEvent.pipe(rt(e=>"softphone-in-focus"===e.event),Me(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 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,yr,gr,mr,br,wr,Er;class Cr{constructor(e){var t;pr.set(this,void 0),vr.set(this,void 0),yr.set(this,void 0),gr.set(this,void 0),y(this,gr,e._readyEvents.pipe(dt(e=>"ready"===e.event),Me(e=>e.jabraDirectInstalled)),"f"),y(this,vr,new dr(e._transport,v(this,gr,"f")),"f"),v(this,vr,"f").setSharedSoftphoneInfo(e._config),y(this,pr,e._transport,"f"),y(this,yr,null===(t=e._config)||void 0===t?void 0:t.logger,"f")}createCallControl(e){return this.supportsCallControl(e)?Re(v(this,gr,"f").pipe(Fe(t=>fr(e,t,v(this,vr,"f"),v(this,pr,"f"),v(this,yr,"f"))))):Promise.reject(new Ot(`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,yr=new WeakMap,gr=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";n.d(t,"a",(function(){return r}));var r=function(e){return 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",e}({})},function(e,t,n){"use strict";n.d(t,"a",(function(){return d}));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 a(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){h(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 s(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,f(r.key),r)}}function c(e,t,n){return t=u(t),function(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 function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,function(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return function(){return!!e}()}()?Reflect.construct(t,n||[],u(e).constructor):t.apply(e,n))}function u(e){return(u=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function l(e,t){return(l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function h(e,t,n){return(t=f(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function f(e){var t=function(e,t){if("object"!=i(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=i(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==i(t)?t:t+""}var d=function(e){function t(e){var n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),h(n=c(this,t),"vendorName","Not Specified"),h(n,"isConnecting",!1),h(n,"isConnected",!1),h(n,"isMuted",!1),h(n,"errorCode",null),h(n,"disableRetry",!1),h(n,"logger",void 0),h(n,"config",void 0);var i=new r.EventEmitter;return Object.keys(i.__proto__).forEach((function(e){n[e]=i[e]})),n.config=e,n.vendorName=e.vendorName,n.logger=e.logger,n}return 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&&l(e,t)}(t,e),n=t,(i=[{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:a({},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",a({},e))}},{key:"deviceHoldStatusChanged",value:function(e){this.emitEvent("deviceHoldStatusChanged",a({},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",a({currentVendor:this},e))}},{key:"deductProductId",value:function(e){var t=null==e?void 0:e.match(/\((\w+):(\w+)\)$/);return t?parseInt(t[2],16):null}}])&&s(n.prototype,i),o&&s(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,i,o}(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,a=!1,s=!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,a=!!window.opr&&!!window.opr.addons||!!window.opera,s=!!window.StyleMedia,c=n&&!!navigator.userAgent.match(/edg/i),u=(r||a)&&!!window.CSS,l=!(n||o||t||a||!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 a},get isEdge(){return s},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 a=Number.isNaN||function(e){return e!=e};function s(){s.init.call(this)}e.exports=s,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))}g(e,t,o,{once:!0}),"error"!==t&&function(e,t,n){"function"==typeof e.on&&g(e,"error",t,n)}(e,i,{once:!0})}))},s.EventEmitter=s,s.prototype._events=void 0,s.prototype._eventsCount=0,s.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?s.defaultMaxListeners:e._maxListeners}function h(e,t,n,r){var i,o,a,s;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),a=o[t]),void 0===a)a=o[t]=n,++e._eventsCount;else if("function"==typeof a?a=o[t]=r?[n,a]:[a,n]:r?a.unshift(n):a.push(n),(i=l(e))>0&&a.length>i&&!a.warned){a.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=e,c.type=t,c.count=a.length,s=c,console&&console.warn&&console.warn(s)}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):y(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 y(e,t){for(var n=new Array(t),r=0;r<t;++r)n[r]=e[r];return n}function g(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(s,"defaultMaxListeners",{enumerable:!0,get:function(){return c},set:function(e){if("number"!=typeof e||e<0||a(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");c=e}}),s.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},s.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||a(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},s.prototype.getMaxListeners=function(){return l(this)},s.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 a;if(t.length>0&&(a=t[0]),a instanceof Error)throw a;var s=new Error("Unhandled error."+(a?" ("+a.message+")":""));throw s.context=a,s}var c=i[e];if(void 0===c)return!1;if("function"==typeof c)o(c,this,t);else{var u=c.length,l=y(c,u);for(n=0;n<u;++n)o(l[n],this,t)}return!0},s.prototype.addListener=function(e,t){return h(this,e,t,!1)},s.prototype.on=s.prototype.addListener,s.prototype.prependListener=function(e,t){return h(this,e,t,!0)},s.prototype.once=function(e,t){return u(t),this.on(e,d(this,e,t)),this},s.prototype.prependOnceListener=function(e,t){return u(t),this.prependListener(e,d(this,e,t)),this},s.prototype.removeListener=function(e,t){var n,r,i,o,a;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){a=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,a||t)}return this},s.prototype.off=s.prototype.removeListener,s.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},s.prototype.listeners=function(e){return p(this,e,!0)},s.prototype.rawListeners=function(e){return p(this,e,!1)},s.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):v.call(e,t)},s.prototype.listenerCount=v,s.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 a(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],s=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),a(f),o(h)},s+=-1===s.indexOf("?")?"?":"&";var d=document.createElement("script");d.setAttribute("src",""+s+u+"="+h),t.charset&&d.setAttribute("charset",t.charset),t.nonce&&d.setAttribute("nonce",t.nonce),t.referrerPolicy&&d.setAttribute("referrerPolicy",t.referrerPolicy),t.crossorigin&&d.setAttribute("crossorigin","true"),d.id=f,document.getElementsByTagName("head")[0].appendChild(d),l=setTimeout((function(){r(new Error("JSONP request to "+e+" timed out")),o(h),a(f),window[h]=function(){o(h)}}),c),d.onerror=function(){r(new Error("JSONP request to "+e+" failed")),o(h),a(f),l&&clearTimeout(l)}}))}})?r.apply(t,i):r)||(e.exports=o)},function(e,t,n){"use strict";n.d(t,"a",(function(){return Qn}));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 a(e){try{c(r.next(e))}catch(e){o(e)}}function s(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(a,s)}c((r=r.apply(e,t||[])).next())}))}function a(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]<i[3])){a.label=s[1];break}if(6===s[0]&&a.label<i[1]){a.label=i[1],i=s;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(s);break}i[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],r=0}finally{n=i=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}}Object.create;function s(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),a=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)a.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 a}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={},a("next"),a("throw"),a("return"),r[Symbol.asyncIterator]=function(){return this},r;function a(e){i[e]&&(r[e]=function(t){return new Promise((function(n,r){o.push([e,t,n,r])>1||s(e,t)}))})}function s(e,t){try{!function(e){e.value instanceof l?Promise.resolve(e.value.v).then(c,u):h(o[0][2],e)}(i[e](t))}catch(e){h(o[0][3],e)}}function c(e){s("next",e)}function u(e){s("throw",e)}function h(e,t){e(t),o.shift(),o.length&&s(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=s(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"==typeof SuppressedError&&SuppressedError;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 y(e,t){if(e){var n=e.indexOf(t);0<=n&&e.splice(n,1)}}var g=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 a=s(o),l=a.next();!l.done;l=a.next()){l.value.remove(this)}}catch(t){e={error:t}}finally{try{l&&!l.done&&(t=a.return)&&t.call(a)}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=s(f),y=p.next();!y.done;y=p.next()){var g=y.value;try{w(g)}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{y&&!y.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)&&y(t,e)},e.prototype.remove=function(t){var n=this._finalizers;n&&y(n,t),t instanceof e&&t._removeParent(this)},e.EMPTY=function(){var t=new e;return t.closed=!0,t}(),e}(),m=g.EMPTY;function b(e){return e instanceof g||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 O(){}var I=k("C",void 0,void 0);function k(e,t,n){return{kind:e,value:t,error:n}}var S=null;function T(e){if(E.useDeprecatedSynchronousErrorHandling){var t=!S;if(t&&(S={errorThrown:!1,error:null}),e(),t){var n=S,r=n.errorThrown,i=n.error;if(S=null,r)throw i}}else e()}var x=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 N(e,t,n)},t.prototype.next=function(e){this.isStopped?D(function(e){return k("N",e,void 0)}(e),this):this._next(e)},t.prototype.error=function(e){this.isStopped?D(k("E",void 0,e),this):(this.isStopped=!0,this._error(e))},t.prototype.complete=function(){this.isStopped?D(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}(g),A=Function.prototype.bind;function L(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){R(e)}},e.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(e){R(e)}else R(e)},e.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(e){R(e)}},e}(),N=function(e){function t(t,n,r){var i,o,a=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}:a&&E.useDeprecatedNextContext?((o=Object.create(t)).unsubscribe=function(){return a.unsubscribe()},i={next:t.next&&L(t.next,o),error:t.error&&L(t.error,o),complete:t.complete&&L(t.complete,o)}):i=t;return a.destination=new P(i),a}return i(t,e),t}(x);function R(e){var t;E.useDeprecatedSynchronousErrorHandling?(t=e,E.useDeprecatedSynchronousErrorHandling&&S&&(S.errorThrown=!0,S.error=t)):_(e)}function D(e,t){var n=E.onStoppedNotification;n&&C.setTimeout((function(){return n(e,t)}))}var H={closed:!0,next:O,error:function(e){throw e},complete:O},j="function"==typeof Symbol&&Symbol.observable||"@@observable";function U(e){return e}function M(e){return 0===e.length?U: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 x||function(e){return e&&d(e.next)&&d(e.error)&&d(e.complete)}(r)&&b(r)?e:new N(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=G(t))((function(t,r){var i=new N({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[j]=function(){return this},e.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return M(e)(this)},e.prototype.toPromise=function(e){var t=this;return new(e=G(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 G(e){var t;return null!==(t=null!=e?e:E.Promise)&&void 0!==t?t:Promise}var B=p((function(e){return function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}})),Y=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 V(this,this);return t.operator=e,t},t.prototype._throwIfClosed=function(){if(this.closed)throw new B},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=s(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 g((function(){t.currentObservers=null,y(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 V(e,t)},t}(F),V=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}(Y),K=n(2),W=n(3),q=n.n(W);function z(){return!!window._HostedContextFunctions}function $(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 J(e){return(J="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 X(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 Q(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 Q(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,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Q(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 Z(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */Z=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,i=Object.defineProperty||function(e,t,n){e[t]=n.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",s=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,n){return e[t]=n}}function l(e,t,n,r){var o=t&&t.prototype instanceof y?t:y,a=Object.create(o.prototype),s=new x(r||[]);return i(a,"_invoke",{value:I(e,n,s)}),a}function h(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var f="suspendedStart",d="executing",p="completed",v={};function y(){}function g(){}function m(){}var b={};u(b,a,(function(){return this}));var w=Object.getPrototypeOf,E=w&&w(w(A([])));E&&E!==n&&r.call(E,a)&&(b=E);var C=m.prototype=y.prototype=Object.create(b);function _(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function O(e,t){function n(i,o,a,s){var c=h(e[i],e,o);if("throw"!==c.type){var u=c.arg,l=u.value;return l&&"object"==J(l)&&r.call(l,"__await")?t.resolve(l.__await).then((function(e){n("next",e,a,s)}),(function(e){n("throw",e,a,s)})):t.resolve(l).then((function(e){u.value=e,a(u)}),(function(e){return n("throw",e,a,s)}))}s(c.arg)}var o;i(this,"_invoke",{value:function(e,r){function i(){return new t((function(t,i){n(e,r,t,i)}))}return o=o?o.then(i,i):i()}})}function I(t,n,r){var i=f;return function(o,a){if(i===d)throw Error("Generator is already running");if(i===p){if("throw"===o)throw a;return{value:e,done:!0}}for(r.method=o,r.arg=a;;){var s=r.delegate;if(s){var c=k(s,r);if(c){if(c===v)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(i===f)throw i=p,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i=d;var u=h(t,n,r);if("normal"===u.type){if(i=r.done?p:"suspendedYield",u.arg===v)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(i=p,r.method="throw",r.arg=u.arg)}}}function k(t,n){var r=n.method,i=t.iterator[r];if(i===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,k(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),v;var o=h(i,t.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,v;var a=o.arg;return a?a.done?(n[t.resultName]=a.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,v):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,v)}function S(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function T(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function x(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(S,this),this.reset(!0)}function A(t){if(t||""===t){var n=t[a];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,o=function n(){for(;++i<t.length;)if(r.call(t,i))return n.value=t[i],n.done=!1,n;return n.value=e,n.done=!0,n};return o.next=o}}throw new TypeError(J(t)+" is not iterable")}return g.prototype=m,i(C,"constructor",{value:m,configurable:!0}),i(m,"constructor",{value:g,configurable:!0}),g.displayName=u(m,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===g||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,m):(e.__proto__=m,u(e,c,"GeneratorFunction")),e.prototype=Object.create(C),e},t.awrap=function(e){return{__await:e}},_(O.prototype),u(O.prototype,s,(function(){return this})),t.AsyncIterator=O,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new O(l(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},_(C),u(C,c,"Generator"),u(C,a,(function(){return this})),u(C,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=A,x.prototype={constructor:x,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(T),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function i(r,i){return s.type="throw",s.arg=t,n.next=r,i&&(n.method="next",n.arg=e),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var c=r.call(a,"catchLoc"),u=r.call(a,"finallyLoc");if(c&&u){if(this.prev<a.catchLoc)return i(a.catchLoc,!0);if(this.prev<a.finallyLoc)return i(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return i(a.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return i(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,v):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),v},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),T(n),v}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;T(n)}return i}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:A(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),v}},t}function ee(e,t,n,r,i,o,a){try{var s=e[o](a),c=s.value}catch(e){return void n(e)}s.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 a(e){ee(o,r,i,a,s,"next",e)}function s(e){ee(o,r,i,a,s,"throw",e)}a(void 0)}))}}function ne(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function re(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,ce(r.key),r)}}function ie(e,t,n){return t=oe(t),function(e,t){if(t&&("object"===J(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,function(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return function(){return!!e}()}()?Reflect.construct(t,n||[],oe(e).constructor):t.apply(e,n))}function oe(e){return(oe=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ae(e,t){return(ae=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function se(e,t,n){return(t=ce(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ce(e){var t=function(e,t){if("object"!=J(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=J(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==J(t)?t:t+""}var ue=1,le=4,he=function(e){function t(){var e;ne(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return se(e=ie(this,t,[].concat(r)),"vendorName","CyberAcoustics"),se(e,"activeConversationId",void 0),se(e,"_deviceInfo",null),se(e,"activeDevice",void 0),se(e,"numDeviceEventListeners",0),se(e,"currentProductID",null),se(e,"headsetOutputReportId",3),se(e,"headsetInputReportId",3),se(e,"vendorInputReportId",4),se(e,"currentState",0),se(e,"isHolding",!1),se(e,"currentlDeviceLabel",void 0),se(e,"currentCallInfo",void 0),se(e,"currentCallState","callIdle"),se(e,"deviceStatus",0),se(e,"gCmdBuf",new Uint8Array([0,0])),se(e,"inputReportReportId",3),se(e,"outputReportReportId",3),se(e,"JLCommandSet",!1),se(e,"callControlSuport",!0),se(e,"flagSupport",15),se(e,"handeledInputReportIds",[e.headsetInputReportId,e.vendorInputReportId]),e}return 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&&ae(e,t)}(t,e),n=t,r=[{key:"deviceInfo",get:function(){return this._deviceInfo}},{key:"isSupported",value:function(){return window.navigator.hid&&!z()}},{key:"deviceLabelMatchesVendor",value:function(e){this.logger.debug("CA: matchVendor");var t=e.toLowerCase();return["ac-104enc","ac-204enc","ac-304","foundever","ca essential","ca-2890"].some((function(e){return t.includes(e)}))}},{key:"connect",value:(m=te(Z().mark((function e(t){var n,r,i=this;return Z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=!1,this.logger.debug("CA: Connect Attempt"),this.currentlDeviceLabel=t,this.logger.debug("CA Device String = ".concat(t)),this.isConnecting||this.changeConnectionStatus({isConnected:this.isConnected,isConnecting:!0}),e.next=7,window.navigator.hid.getDevices();case 7:if(r=e.sent,this.selectDevice(r,t),!this.activeDevice){e.next=14;break}if(this.activeDevice.opened){e.next=13;break}return e.next=13,this.activeDevice.open();case 13:this.activeDevice.opened?(n=!0,this.handleDeviceConnect(),this.logger.debug("CA: Connect SUCCESS- previously connected device")):this.logger.debug("CA: Connect FAIL- Failed connect to previously connected device");case 14:if(n){e.next=26;break}return e.prev=15,e.next=18,new Promise((function(e,n){var r=setTimeout(n,3e4);i.requestWebHidPermissions(te(Z().mark((function o(){var a,s,c;return Z().wrap((function(o){for(;;)switch(o.prev=o.next){case 0:return i.logger.debug("Requesting web HID permissions"),a=i.deductProductId(t),o.next=4,window.navigator.hid.requestDevice({filters:[{vendorId:13201,productId:a||void 0}]});case 4:return s=o.sent,clearTimeout(r),o.next=8,i.connectFromHidPermissions(s,t);case 8:(c=o.sent)?e(c):n(),console.debug("CA: requestWebHidPermissions device found = ".concat(c," "));case 11:case"end":return o.stop()}}),o)}))))}));case 18:n=e.sent,e.next=26;break;case 21:return e.prev=21,e.t0=e.catch(15),this.isConnecting&&this.changeConnectionStatus({isConnected:this.isConnected,isConnecting:!1}),this.logger.error("CA: WebHID permissions denied"),e.abrupt("return");case 26:case"end":return e.stop()}}),e,this,[[15,21]])}))),function(e){return m.apply(this,arguments)})},{key:"connectFromHidPermissions",value:(g=te(Z().mark((function e(t,n){return Z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.activeDevice=null,this.selectDevice(t,n),!this.activeDevice){e.next=14;break}if(this.activeDevice.opened){e.next=6;break}return e.next=6,this.activeDevice.open();case 6:if(!this.activeDevice.opened){e.next=12;break}return this.handleDeviceConnect(),this.logger.debug("CA: Connect SUCCESS- from HIDWebPermission request "),e.abrupt("return",!0);case 12:return this.logger.debug("CA: Connect FAIL requesting WebHID permissions"),e.abrupt("return",!1);case 14:case"end":return e.stop()}}),e,this)}))),function(e,t){return g.apply(this,arguments)})},{key:"handleInputReport",value:function(e){var t=e.reportId;if(this.handeledInputReportIds.includes(t)){var n=e.data.getUint8(0),r=(e.data.getUint8(1)<<8)+n;this.logger.debug("CA received button press ".concat(this.formatHex(r)," reportID ").concat(t," from Device")),this.handleDeviceButtonPress(r,t)}}},{key:"handleDeviceConnect",value:(y=te(Z().mark((function e(){return Z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this._deviceInfo={ProductName:this.activeDevice.productName},this.handleInputReport=this.handleInputReport.bind(this),this.activeDevice.addEventListener("inputreport",this.handleInputReport),this.numDeviceEventListeners++,console.debug("Installed Device Input listener, num listeners = ".concat(this.numDeviceEventListeners," ")),this.numDeviceEventListeners>1&&(this.logger.debug("%c CA: ********************************************************","color: red"),this.logger.debug("%c CA: *****WARNING ***** MULTIPLE EVENT LISTENERS ON DEVICE!!!","color: red"),this.logger.debug("%c CA: ********************************************************","color: red")),this.currentProductID=this.activeDevice.productId,this.logger.debug("Product ID: 0x".concat(this.currentProductID.toString(16))),this.currentCallState="callIdle",this.headsetOutputReportId=this.outputReportReportId,this.headsetInputReportId=this.outputReportReportId,this.vendorInputReportId=4,this.handeledInputReportIds=[this.headsetInputReportId,this.vendorInputReportId],e.t0=this.currentProductID,e.next=4===e.t0?16:24===e.t0?21:23;break;case 16:return this.flagSupport=576,this.JLCommandSet=!0,ue=512,le=64,e.abrupt("break",25);case 21:return this.flagSupport=5,e.abrupt("break",25);case 23:return this.flagSupport=15,e.abrupt("break",25);case 25:this.logger.debug("flagSupport = ".concat(this.formatHex(this.flagSupport)," ")),this.changeConnectionStatus({isConnected:!0,isConnecting:!1});case 27:case"end":return e.stop()}}),e,this)}))),function(){return y.apply(this,arguments)})},{key:"selectDevice",value:function(e,t){var n=this;this.logger.debug("CA: SelectDevice");var r=t.toLowerCase(),i=!1;return e.forEach((function(e){var t;if(r.includes(null==e||null===(t=e.productName)||void 0===t?void 0:t.toLowerCase())){var o,a=X(e.collections);try{for(a.s();!(o=a.n()).done;){var s=o.value;if((5===s.usage||1===s.usage)&&11===s.usagePage){n.activeDevice=e,i=!0,0!==s.inputReports.length&&(n.inputReportReportId=s.inputReports[0].reportId,n.logger.debug("CA inputReportReportId = ".concat(n.inputReportReportId))),0!==s.outputReports.length&&(n.outputReportReportId=s.outputReports[0].reportId,n.logger.debug("CA outputReportReportId = ".concat(n.outputReportReportId)));break}}}catch(e){a.e(e)}finally{a.f()}}})),i}},{key:"disconnect",value:(v=te(Z().mark((function e(){return Z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.activeDevice){e.next=15;break}return this.logger.debug("CA: Disconnecting"),this.ChangeCallState("callEnd"),this.ChangeCallState("callIdle"),this.isMuted&&(this.setMute(!1),this.deviceMuteChanged({isMuted:!1,name:"CallUnmuted"})),this.activeDevice.removeEventListener("inputreport",this.handleInputReport),this.numDeviceEventListeners--,console.debug("Removed Device Input listener, num listeners = ".concat(this.numDeviceEventListeners," ")),e.next=10,this.activeDevice.close();case 10:this.logger.debug("CA: Device closed"),this.activeDevice=null,this._deviceInfo=null,this.currentCallState="callIdle",(this.isConnected||this.isConnecting)&&this.changeConnectionStatus({isConnected:!1,isConnecting:!1});case 15:case"end":return e.stop()}}),e,this)}))),function(){return v.apply(this,arguments)})},{key:"incomingCall",value:(p=te(Z().mark((function e(t){return Z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.logger.debug("CA: incomingCall"),this.currentCallInfo=t,this.activeConversationId=t.conversationId,this.ParseStateEvents(2);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return p.apply(this,arguments)})},{key:"outgoingCall",value:(d=te(Z().mark((function e(t){return Z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.logger.debug("CA: outgoingCall"),this.currentCallInfo=t,this.activeConversationId=t.conversationId,this.ParseStateEvents(8);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return d.apply(this,arguments)})},{key:"answerCall",value:(f=te(Z().mark((function e(t,n){return Z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.logger.debug("CA: Answer Call from UI"),this.activeConversationId=t,n&&(this.logger.debug("CA: AutoAnswer"),this.ParseStateEvents(2)),this.ParseStateEvents(7);case 4:case"end":return e.stop()}}),e,this)}))),function(e,t){return f.apply(this,arguments)})},{key:"rejectCall",value:(h=te(Z().mark((function e(){return Z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.logger.debug("CA: rejectCall from UI"),this.ParseStateEvents(3);case 2:case"end":return e.stop()}}),e,this)}))),function(){return h.apply(this,arguments)})},{key:"endCall",value:(l=te(Z().mark((function e(t,n){return Z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.logger.debug("CA: endCall from UI"),this.ParseStateEvents(3);case 2:case"end":return e.stop()}}),e,this)}))),function(e,t){return l.apply(this,arguments)})},{key:"endAllCalls",value:(u=te(Z().mark((function e(){return Z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.logger.debug("CA: endAllCalls from UI"),this.ParseStateEvents(3);case 2:case"end":return e.stop()}}),e,this)}))),function(){return u.apply(this,arguments)})},{key:"setMute",value:(c=te(Z().mark((function e(t){return Z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.logger.debug("CA: setMute. Value: ".concat(t)),this.isMuted=t,this.UpdateDeviceStatus(le,t);case 3:case"end":return e.stop()}}),e,this)}))),function(e){return c.apply(this,arguments)})},{key:"setHold",value:(s=te(Z().mark((function e(t,n){return Z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.logger.debug("CA: setHold. Value: ".concat(n)),this.activeConversationId=t,this.isHolding=n;case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return s.apply(this,arguments)})},{key:"handleDeviceButtonPress",value:function(e,t){if(this.activeDevice)if(t===this.headsetInputReportId){if(24===this.currentProductID){switch(e){case 1:case 5:this.isMuted=!this.isMuted,this.deviceMuteChanged({isMuted:this.isMuted,name:this.isMuted?"CallMuted":"CallUnmuted"}),this.UpdateDeviceStatus(le,this.isMuted),this.logger.debug("CA: AC304 Mute update micMuteFlag = ".concat(this.formatHex(le)," this.isMuted = ").concat(this.isMuted))}return}switch(e){case 515:case 19:this.isMuted=!this.isMuted,this.deviceMuteChanged({isMuted:this.isMuted,name:this.isMuted?"CallMuted":"CallUnmuted"}),this.setMute(this.isMuted);break;case 0:this.ParseStateEvents(5);break;case 1:this.ParseStateEvents(0);break;case 2:this.ParseStateEvents(6)}}else if(t===this.vendorInputReportId)switch(e){case 2:this.ParseStateEvents(1)}else console.debug("CA: Unhandeled input report #".concat(t.toString(16)));else this.logger.error("do not have active device")}},{key:"ParseStateEvents",value:function(e){switch(this.currentCallState){case"callIdle":switch(e){case 2:this.ChangeCallState("callIncoming");break;case 8:this.ChangeCallState("callOutgoing")}break;case"callIncoming":switch(e){case 0:case 7:this.ChangeCallState("callAnswering");break;case 5:case 3:this.ChangeCallState("callRejecting"),this.ChangeCallState("callEnd"),this.ChangeCallState("callIdle")}break;case"callAnswering":switch(e){case 1:this.ChangeCallState("callActive");break;case 3:case 5:this.ChangeCallState("callEnd"),this.ChangeCallState("callIdle")}break;case"callActive":case"callOutgoing":switch(e){case 3:case 6:this.ChangeCallState("callEnd"),this.ChangeCallState("callIdle")}}}},{key:"ChangeCallState",value:function(e){switch(this.logger.debug("%cCA SETTING STATE: ".concat(e),"color: red"),this.currentCallState=e,this.currentCallState){case"callIdle":this.deviceStatus=0;break;case"callIncoming":this.UpdateDeviceStatus(8,!0);break;case"callOutgoing":case"callAnswering":this.UpdateDeviceStatus(ue,!0),this.isMuted&&(this.setMute(!1),this.deviceMuteChanged({isMuted:!1,name:"CallUnmuted"}));break;case"callActive":this.UpdateDeviceStatus(8,!1),this.deviceAnsweredCall({name:"CallOffHook",conversationId:this.activeConversationId});break;case"callEnd":this.UpdateDeviceStatus(ue,!1),this.deviceEndedCall({name:"CallOnHook",conversationId:this.activeConversationId});break;case"callRejecting":this.UpdateDeviceStatus(8,!1),this.deviceRejectedCall({name:"CallRejected",conversationId:this.activeConversationId})}}},{key:"UpdateDeviceStatus",value:function(e,t){e&this.flagSupport?(this.deviceStatus=t?this.deviceStatus|e:this.deviceStatus&~e,this.SendCommandToDevice(this.deviceStatus)):console.debug("CA: UpdateDeviceStatus called with unsupported flag ".concat(e.toString(16),"... returning"))}},{key:"SendCommandToDevice",value:(a=te(Z().mark((function e(t){return Z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.JLCommandSet?(this.gCmdBuf[0]=t>>8,this.gCmdBuf[1]=255&t):this.gCmdBuf[0]=t,e.next=3,this.activeDevice.sendReport(this.headsetOutputReportId,this.gCmdBuf);case 3:this.logger.debug("CA: Sent Command to Device. Value: ".concat(this.formatHex(this.gCmdBuf[0]),", ").concat(this.formatHex(this.gCmdBuf[1])," ")),this.gCmdBuf[0]=0,this.gCmdBuf[1]=0;case 6:case"end":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:"formatHex",value:function(e){return"0x".concat(e.toString(16).padStart(2,"0"))}},{key:"HidMockDeviceInit",value:(o=te(Z().mark((function e(){var t;return Z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,window.navigator.hid.getDevices();case 2:return t=e.sent,this.activeDevice=t[0],e.abrupt("return",this.activeDevice);case 5:case"end":return e.stop()}}),e,this)}))),function(){return o.apply(this,arguments)})},{key:"_currentCallState",get:function(){return this.currentCallState},set:function(e){this.currentCallState=e}},{key:"_deviceStatus",get:function(){return this.deviceStatus},set:function(e){this.deviceStatus=e}},{key:"_activeConversationId",get:function(){return this.activeConversationId}},{key:"_currentCallInfo",get:function(){return this.currentCallInfo}},{key:"holdState",get:function(){return this.isHolding}},{key:"_headsetInputReportId",get:function(){return this.headsetInputReportId}},{key:"_vendorInputReportId",get:function(){return this.vendorInputReportId}},{key:"_headsetOutputReportId",get:function(){return this.headsetOutputReportId}},{key:"muteState",get:function(){return this.isMuted},set:function(e){this.isMuted=e}},{key:"_JLCommandSet",set:function(e){this.JLCommandSet=e}},{key:"_handeledInputReportIds",set:function(e){this.handeledInputReportIds[0]=e}},{key:"_flagSupport",set:function(e){this.flagSupport=e}},{key:"_currentProductID",set:function(e){this.currentProductID=e}}],i=[{key:"getInstance",value:function(e){return t.instance||(t.instance=new t(e)),t.instance}}],r&&re(n.prototype,r),i&&re(n,i),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,i,o,a,s,c,u,l,h,f,d,p,v,y,g,m}(K.a);se(he,"instance",void 0);var fe=n(10),de=n.n(fe),pe=function(e){return 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",e}({});function ve(e){return(ve="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 ye(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 ge(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ye(Object(n),!0).forEach((function(t){Ie(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ye(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function me(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */me=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,i=Object.defineProperty||function(e,t,n){e[t]=n.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",s=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,n){return e[t]=n}}function l(e,t,n,r){var o=t&&t.prototype instanceof y?t:y,a=Object.create(o.prototype),s=new x(r||[]);return i(a,"_invoke",{value:I(e,n,s)}),a}function h(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var f="suspendedStart",d="executing",p="completed",v={};function y(){}function g(){}function m(){}var b={};u(b,a,(function(){return this}));var w=Object.getPrototypeOf,E=w&&w(w(A([])));E&&E!==n&&r.call(E,a)&&(b=E);var C=m.prototype=y.prototype=Object.create(b);function _(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function O(e,t){function n(i,o,a,s){var c=h(e[i],e,o);if("throw"!==c.type){var u=c.arg,l=u.value;return l&&"object"==ve(l)&&r.call(l,"__await")?t.resolve(l.__await).then((function(e){n("next",e,a,s)}),(function(e){n("throw",e,a,s)})):t.resolve(l).then((function(e){u.value=e,a(u)}),(function(e){return n("throw",e,a,s)}))}s(c.arg)}var o;i(this,"_invoke",{value:function(e,r){function i(){return new t((function(t,i){n(e,r,t,i)}))}return o=o?o.then(i,i):i()}})}function I(t,n,r){var i=f;return function(o,a){if(i===d)throw Error("Generator is already running");if(i===p){if("throw"===o)throw a;return{value:e,done:!0}}for(r.method=o,r.arg=a;;){var s=r.delegate;if(s){var c=k(s,r);if(c){if(c===v)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(i===f)throw i=p,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i=d;var u=h(t,n,r);if("normal"===u.type){if(i=r.done?p:"suspendedYield",u.arg===v)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(i=p,r.method="throw",r.arg=u.arg)}}}function k(t,n){var r=n.method,i=t.iterator[r];if(i===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,k(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),v;var o=h(i,t.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,v;var a=o.arg;return a?a.done?(n[t.resultName]=a.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,v):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,v)}function S(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function T(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function x(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(S,this),this.reset(!0)}function A(t){if(t||""===t){var n=t[a];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,o=function n(){for(;++i<t.length;)if(r.call(t,i))return n.value=t[i],n.done=!1,n;return n.value=e,n.done=!0,n};return o.next=o}}throw new TypeError(ve(t)+" is not iterable")}return g.prototype=m,i(C,"constructor",{value:m,configurable:!0}),i(m,"constructor",{value:g,configurable:!0}),g.displayName=u(m,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===g||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,m):(e.__proto__=m,u(e,c,"GeneratorFunction")),e.prototype=Object.create(C),e},t.awrap=function(e){return{__await:e}},_(O.prototype),u(O.prototype,s,(function(){return this})),t.AsyncIterator=O,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new O(l(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},_(C),u(C,c,"Generator"),u(C,a,(function(){return this})),u(C,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=A,x.prototype={constructor:x,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(T),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function i(r,i){return s.type="throw",s.arg=t,n.next=r,i&&(n.method="next",n.arg=e),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var c=r.call(a,"catchLoc"),u=r.call(a,"finallyLoc");if(c&&u){if(this.prev<a.catchLoc)return i(a.catchLoc,!0);if(this.prev<a.finallyLoc)return i(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return i(a.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return i(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,v):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),v},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),T(n),v}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;T(n)}return i}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:A(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),v}},t}function be(e,t,n,r,i,o,a){try{var s=e[o](a),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,i)}function we(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function a(e){be(o,r,i,a,s,"next",e)}function s(e){be(o,r,i,a,s,"throw",e)}a(void 0)}))}}function Ee(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,ke(r.key),r)}}function Ce(e,t,n){return t=_e(t),function(e,t){if(t&&("object"===ve(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,function(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return function(){return!!e}()}()?Reflect.construct(t,n||[],_e(e).constructor):t.apply(e,n))}function _e(e){return(_e=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Oe(e,t){return(Oe=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function Ie(e,t,n){return(t=ke(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ke(e){var t=function(e,t){if("object"!=ve(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=ve(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==ve(t)?t:t+""}var Se=function(e){function t(e){var n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),Ie(n=Ce(this,t,[e]),"activePollingInterval",2e3),Ie(n,"connectedDeviceInterval",6e3),Ie(n,"disconnectedDeviceInterval",2e3),Ie(n,"deviceIdRetryInterval",2e3),Ie(n,"vendorName","Plantronics"),Ie(n,"pluginName",void 0),Ie(n,"apiHost","https://127.0.0.1:32018/Spokes"),Ie(n,"isActive",!1),Ie(n,"disableEventPolling",!1),Ie(n,"config",void 0),Ie(n,"deviceStatusTimer",null),Ie(n,"isRetry",!1),Ie(n,"_deviceInfo",void 0),Ie(n,"callEventsTimerId",void 0),Ie(n,"deviceStatusTimerId",void 0),Ie(n,"incomingConversationId",void 0),Ie(n,"callMappings",{}),n.config=e,n.pluginName=e.appName||"genesys-cloud-headset-library",n._deviceInfo=null,n.callEventsTimerId=null,n.deviceStatusTimerId=null,n.incomingConversationId=null,n}return 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&&Oe(e,t)}(t,e),n=t,r=[{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:(b=we(me().mark((function e(t,n){return me().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 b.apply(this,arguments)})},{key:"_fetch",value:function(e){return de()(e)}},{key:"_makeRequest",value:(m=we(me().mark((function e(n,r){var i,o=this;return me().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=t.instance,e.abrupt("return",this._fetch("".concat(this.apiHost).concat(n)).then((function(e){return e.json()})).then((function(e){if(o.isConnected||o.isConnecting){if(!1===e.ok||"Error"===e.Type_Name){if(404===e.status){if(r){o.isConnected&&o.changeConnectionStatus({isConnected:!1,isConnecting:o.isConnecting}),o.disconnect();var t=new Error("Headset: Failed connection to middleware. Headset features unavailable.");return t.handled=!0,o.logger.info(t),Promise.reject(t)}return o._makeRequestTask(n,!0)}return q.a.isFirefox&&(o.errorCode="browser",o.disableRetry=!0),Promise.reject(e)}return i?(!o.isConnected&&o.changeConnectionStatus({isConnected:!0,isConnecting:o.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 m.apply(this,arguments)})},{key:"_checkIsActiveTask",value:(g=we(me().mark((function e(){var t;return me().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:(y=we(me().mark((function e(){var t,n,r,i=this;return me().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this._makeRequestTask("/CallServices/CallManagerState?");case 3:r=e.sent,n=r,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=n)||void 0===t||null===(t=t.Result)||void 0===t?void 0:t.Calls)){e.next=13;break}return e.abrupt("return",[]);case 13:return e.abrupt("return",n.Result.Calls.filter((function(e){return e.Source===i.pluginName})));case 14:case"end":return e.stop()}}),e,this,[[0,7]])}))),function(){return y.apply(this,arguments)})},{key:"getCallEvents",value:(v=we(me().mark((function e(){var t,n=this;return me().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=pe[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 v.apply(this,arguments)})},{key:"getDeviceStatus",value:(p=we(me().mark((function e(){var t=this;return me().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 p.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(ge(ge({},e),{},{conversationId:n}));break;case"RejectCall":this.endCall(n),this.deviceRejectedCall({name:e.name,conversationId:this.incomingConversationId});break;case"TerminateCall":this.deviceEndedCall(ge(ge({},e),{},{conversationId:n}));break;case"CallEnded":delete this.callMappings[t],delete this.callMappings[n],this._checkIsActiveTask();break;case"Mute":this.deviceMuteChanged(ge(ge({isMuted:!0},e),{},{conversationId:n}));break;case"Unmute":this.deviceMuteChanged(ge(ge({isMuted:!1},e),{},{conversationId:n}));break;case"HoldCall":this.deviceHoldStatusChanged(ge(ge({holdRequested:!0},e),{},{conversationId:n}));break;case"ResumeCall":this.deviceHoldStatusChanged(ge(ge({holdRequested:!1},e),{},{conversationId:n}));break;default:this.logger.info("A headset event has occurred",ge(ge({},e),{},{conversationId:n})),this.deviceEventLogs(ge(ge({},e),{},{conversationId:n}))}}},{key:"unregisterPlugin",value:(d=we(me().mark((function e(){var t;return me().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 d.apply(this,arguments)})},{key:"connect",value:(f=we(me().mark((function e(){var t=this;return me().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:(h=we(me().mark((function e(t){return me().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 h.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 a='"Name":"'.concat(n,'"');i+="&contact={".concat(encodeURI(a),"}")}return this.logger.info("params of endpoint",i),this.isActive=!0,this._makeRequestTask("/CallServices/IncomingCall".concat(i))}},{key:"outgoingCall",value:(l=we(me().mark((function e(t){var n,r,i,o,a,s;return me().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"),a='"Id":"'.concat(i,'"'),o+="&callID={".concat(encodeURI(a),"}"),r&&(s='"Name":"'.concat(r,'"'),o+="&contact={".concat(encodeURI(s),"}")),this.isActive=!0,e.next=11,this._makeRequestTask("/CallServices/OutgoingCall".concat(o));case 11:case"end":return e.stop()}}),e,this)}))),function(e){return l.apply(this,arguments)})},{key:"answerCall",value:(u=we(me().mark((function e(t,n){var r,i,o;return me().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 u.apply(this,arguments)})},{key:"rejectCall",value:function(e){return this.incomingConversationId=null,this.endCall(e)}},{key:"endCall",value:(c=we(me().mark((function e(t){var n,r,i,o;return me().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 c.apply(this,arguments)})},{key:"endAllCalls",value:(s=we(me().mark((function e(){var t=this;return me().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:(a=we(me().mark((function e(t){var n;return me().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 a.apply(this,arguments)})},{key:"setHold",value:(o=we(me().mark((function e(t,n){var r,i,o,a;return me().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 a=e.sent,e.abrupt("return",a);case 7:case"end":return e.stop()}}),e,this)}))),function(e,t){return o.apply(this,arguments)})}],i=[{key:"getInstance",value:function(e){return t.instance&&!e.createNew||(t.instance=new t(e)),t.instance}}],r&&Ee(n.prototype,r),i&&Ee(n,i),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,i,o,a,s,c,u,l,h,f,d,p,v,y,g,m,b}(K.a);Ie(Se,"instance",void 0);var Te=function(e){return 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",e}({}),xe=function(e){return e.Request="Request",e.Notification="Notification",e.Ack="Acknowledgement",e}({});function Ae(e){return(Ae="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 Le(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Pe(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,je(r.key),r)}}function Ne(e,t,n){return t=Re(t),function(e,t){if(t&&("object"===Ae(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,function(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return function(){return!!e}()}()?Reflect.construct(t,n||[],Re(e).constructor):t.apply(e,n))}function Re(e){return(Re=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function De(e,t){return(De=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function He(e,t,n){return(t=je(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function je(e){var t=function(e,t){if("object"!=Ae(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=Ae(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==Ae(t)?t:t+""}var Ue=function(e){function t(){var e;Le(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return He(e=Ne(this,t,[].concat(r)),"connectTimeout",5e3),He(e,"vendorName","Sennheiser"),He(e,"isActive",!1),He(e,"devices",null),He(e,"activeDeviceId",null),He(e,"websocketConnected",!1),He(e,"websocket",null),He(e,"deviceInfo",null),He(e,"ignoreAcknowledgement",!1),He(e,"webSocketOnOpen",(function(){e.websocketConnected=!0,e.logger.info("websocket open the sennheiser software")})),e}return 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&&De(e,t)}(t,e),n=t,i=[{key:"getInstance",value:function(e){return t.instance&&!e.createNew||(t.instance=new t(e)),t.instance}}],(r=[{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:Te.EstablishConnection,EventType:xe.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")),q.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:Te.TerminateConnection,EventType:xe.Request}),Promise.resolve()):Promise.resolve()}},{key:"setMute",value:function(e){return this._sendMessage({Event:e?Te.MuteFromApp:Te.UnmuteFromApp,EventType:xe.Request}),Promise.resolve()}},{key:"setHold",value:function(e,t){return this._sendMessage({Event:t?Te.Hold:Te.Resume,EventType:xe.Request,CallID:e}),Promise.resolve()}},{key:"incomingCall",value:function(e){return this.ignoreAcknowledgement=!1,this._sendMessage({Event:Te.IncomingCall,EventType:xe.Request,CallID:e.conversationId}),Promise.resolve()}},{key:"answerCall",value:function(e,t){return t&&this.incomingCall({conversationId:e}),this._sendMessage({Event:Te.IncomingCallAccepted,EventType:xe.Request,CallID:e}),Promise.resolve()}},{key:"rejectCall",value:function(e){return this._sendMessage({Event:Te.IncomingCallRejected,EventType:xe.Request,CallID:e}),Promise.resolve()}},{key:"outgoingCall",value:function(e){this.ignoreAcknowledgement=!1;var t=e.conversationId;return this._sendMessage({Event:Te.OutgoingCall,EventType:xe.Request,CallID:t}),Promise.resolve()}},{key:"endCall",value:function(e,t){return t||(this._sendMessage({Event:Te.Resume,EventType:xe.Request}),this._sendMessage({Event:Te.UnmuteFromApp,EventType:xe.Request})),this._sendMessage({Event:Te.CallEnded,EventType:xe.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 Te.SocketConnected:this._registerSoftphone();break;case Te.EstablishConnection:this._sendMessage({Event:Te.SPLogin,EventType:xe.Request});break;case Te.SPLogin:this.isConnected&&!this.isConnecting||this.changeConnectionStatus({isConnected:!0,isConnecting:!1}),this._sendMessage({Event:Te.SystemInformation,EventType:xe.Request});break;case Te.HeadsetConnected:t.HeadsetName&&(this.deviceInfo={deviceName:t.HeadsetName,headsetType:t.HeadsetType});break;case Te.HeadsetDisconnected:t.HeadsetName===this.deviceName&&(this.deviceInfo=null);break;case Te.IncomingCallAccepted:t.EventType===xe.Notification&&this.deviceAnsweredCall({name:t.Event,conversationId:n});break;case Te.Hold:if(t.EventType===xe.Ack){this._handleAck(t);break}this.deviceHoldStatusChanged({holdRequested:!0,name:t.Event,conversationId:n});break;case Te.Resume:if(t.EventType===xe.Ack){this._handleAck(t);break}this.deviceHoldStatusChanged({holdRequested:!1,name:t.Event,conversationId:n});break;case Te.MuteFromHeadset:this.deviceMuteChanged({isMuted:!0,name:t.Event});break;case Te.UnmuteFromHeadset:this.deviceMuteChanged({isMuted:!1,name:t.Event});break;case Te.CallEnded:t.EventType===xe.Notification&&(this._sendMessage({Event:Te.UnmuteFromApp,EventType:xe.Request}),this.deviceEndedCall({name:t.Event,conversationId:n}));break;case Te.IncomingCallRejected:this.deviceRejectedCall({name:t.Event,conversationId:n});break;case Te.TerminateConnection:1===this.websocket.readyState&&this.websocket.close(),this.websocket=null;break;default:t.EventType===xe.Ack&&this._handleAck(t)}}}}])&&Pe(n.prototype,r),i&&Pe(n,i),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,i}(K.a);He(Ue,"instance",void 0);var Me=n(0),Fe=p((function(e){return function(){e(this),this.name="EmptyError",this.message="no elements in sequence"}}));function Ge(e,t){var n="object"==typeof t;return new Promise((function(r,i){var o=new N({next:function(e){r(e),o.unsubscribe()},error:i,complete:function(){n?r(t.defaultValue):i(new Fe)}});e.subscribe(o)}))}var Be=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}(g),Ye={setInterval:function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];var i=Ye.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=Ye.delegate;return((null==t?void 0:t.clearInterval)||clearInterval)(e)},delegate:void 0},Ve=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){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),Ye.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&&Ye.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,y(r,this),null!=t&&(this.id=this.recycleAsyncId(n,t,null)),this.delay=null,e.prototype.unsubscribe.call(this)}},t}(Be),Ke={now:function(){return(Ke.delegate||Date).now()},delegate:void 0},We=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=Ke.now,e}(),qe=new(function(e){function t(t,n){void 0===n&&(n=We.now);var r=e.call(this,t,n)||this;return r.actions=[],r._active=!1,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}(We))(Ve);function ze(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 $e="function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator";function Je(e){if(e instanceof F)return e;if(null!=e){if(function(e){return d(e[j])}(e))return o=e,new F((function(e){var t=o[j]();if(d(t.subscribe))return t.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")}));if(function(e){return e&&"number"==typeof e.length&&"function"!=typeof e}(e))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 Xe(e);if(function(e){return d(null==e?void 0:e[$e])}(e))return t=e,new F((function(e){var n,r;try{for(var i=s(t),o=i.next();!o.done;o=i.next()){var a=o.value;if(e.next(a),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 Xe(function(e){return h(this,arguments,(function(){var t,n,r;return a(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;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 Xe(e){return new F((function(t){(function(e,t){var n,r,i,s;return o(this,void 0,void 0,(function(){var o,c;return a(this,(function(a){switch(a.label){case 0:a.trys.push([0,5,6,11]),n=f(e),a.label=1;case 1:return[4,n.next()];case 2:if((r=a.sent()).done)return[3,4];if(o=r.value,t.next(o),t.closed)return[2];a.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return c=a.sent(),i={error:c},[3,11];case 6:return a.trys.push([6,,9,10]),r&&!r.done&&(s=n.return)?[4,s.call(n)]:[3,8];case 7:a.sent(),a.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 Qe(e,t,n,r,i){return new Ze(e,t,n,r,i)}var Ze=function(e){function t(t,n,r,i,o,a){var s=e.call(this,t)||this;return s.onFinalize=o,s.shouldUnsubscribe=a,s._next=n?function(e){try{n(e)}catch(e){t.error(e)}}:e.prototype._next,s._error=i?function(e){try{i(e)}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._error,s._complete=r?function(){try{r()}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._complete,s}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}(x);var et=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 tt(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,a=r.with,s=void 0===a?nt:a,c=r.scheduler,u=void 0===c?null!=t?t:qe:c,l=r.meta,h=void 0===l?null:l;if(null==i&&null==o)throw new TypeError("No timeout provided.");return ze((function(e,t){var n,r,a=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(),Je(s({meta:h,lastValue:a,seen:c})).subscribe(t)}catch(e){t.error(e)}}),e)};n=e.subscribe(Qe(t,(function(e){null==r||r.unsubscribe(),c++,t.next(a=e),o>0&&l(o)}),void 0,void 0,(function(){(null==r?void 0:r.closed)||null==r||r.unsubscribe(),a=null}))),!c&&l(null!=i?"number"==typeof i?i:+i-u.now():o)}))}function nt(e){throw new et(e)}function rt(e){return ze((function(t,n){var r=!1;t.subscribe(Qe(n,(function(e){r=!0,n.next(e)}),(function(){r||n.next(e),n.complete()})))}))}function it(e,t){return ze((function(n,r){var i=0;n.subscribe(Qe(r,(function(n){return e.call(t,n,i++)&&r.next(n)})))}))}var ot=new F((function(e){return e.complete()}));function at(e){return e<=0?function(){return ot}:ze((function(t,n){var r=0;t.subscribe(Qe(n,(function(t){++r<=e&&(n.next(t),e<=r&&n.complete())})))}))}function st(e){return void 0===e&&(e=ct),ze((function(t,n){var r=!1;t.subscribe(Qe(n,(function(e){r=!0,n.next(e)}),(function(){return r?n.complete():n.error(e())})))}))}function ct(){return new Fe}function ut(e,t){var n=arguments.length>=2;return function(r){return r.pipe(e?it((function(t,n){return e(t,n,r)})):U,at(1),n?rt(t):st((function(){return new Fe})))}}function lt(e,t){return ze((function(n,r){var i=0;n.subscribe(Qe(r,(function(n){r.next(e.call(t,n,i++))})))}))}function ht(e){return(ht="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 ft(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ft=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,i=Object.defineProperty||function(e,t,n){e[t]=n.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",s=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,n){return e[t]=n}}function l(e,t,n,r){var o=t&&t.prototype instanceof y?t:y,a=Object.create(o.prototype),s=new x(r||[]);return i(a,"_invoke",{value:I(e,n,s)}),a}function h(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var f="suspendedStart",d="executing",p="completed",v={};function y(){}function g(){}function m(){}var b={};u(b,a,(function(){return this}));var w=Object.getPrototypeOf,E=w&&w(w(A([])));E&&E!==n&&r.call(E,a)&&(b=E);var C=m.prototype=y.prototype=Object.create(b);function _(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function O(e,t){function n(i,o,a,s){var c=h(e[i],e,o);if("throw"!==c.type){var u=c.arg,l=u.value;return l&&"object"==ht(l)&&r.call(l,"__await")?t.resolve(l.__await).then((function(e){n("next",e,a,s)}),(function(e){n("throw",e,a,s)})):t.resolve(l).then((function(e){u.value=e,a(u)}),(function(e){return n("throw",e,a,s)}))}s(c.arg)}var o;i(this,"_invoke",{value:function(e,r){function i(){return new t((function(t,i){n(e,r,t,i)}))}return o=o?o.then(i,i):i()}})}function I(t,n,r){var i=f;return function(o,a){if(i===d)throw Error("Generator is already running");if(i===p){if("throw"===o)throw a;return{value:e,done:!0}}for(r.method=o,r.arg=a;;){var s=r.delegate;if(s){var c=k(s,r);if(c){if(c===v)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(i===f)throw i=p,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i=d;var u=h(t,n,r);if("normal"===u.type){if(i=r.done?p:"suspendedYield",u.arg===v)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(i=p,r.method="throw",r.arg=u.arg)}}}function k(t,n){var r=n.method,i=t.iterator[r];if(i===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,k(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),v;var o=h(i,t.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,v;var a=o.arg;return a?a.done?(n[t.resultName]=a.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,v):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,v)}function S(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function T(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function x(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(S,this),this.reset(!0)}function A(t){if(t||""===t){var n=t[a];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,o=function n(){for(;++i<t.length;)if(r.call(t,i))return n.value=t[i],n.done=!1,n;return n.value=e,n.done=!0,n};return o.next=o}}throw new TypeError(ht(t)+" is not iterable")}return g.prototype=m,i(C,"constructor",{value:m,configurable:!0}),i(m,"constructor",{value:g,configurable:!0}),g.displayName=u(m,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===g||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,m):(e.__proto__=m,u(e,c,"GeneratorFunction")),e.prototype=Object.create(C),e},t.awrap=function(e){return{__await:e}},_(O.prototype),u(O.prototype,s,(function(){return this})),t.AsyncIterator=O,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new O(l(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},_(C),u(C,c,"Generator"),u(C,a,(function(){return this})),u(C,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=A,x.prototype={constructor:x,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(T),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function i(r,i){return s.type="throw",s.arg=t,n.next=r,i&&(n.method="next",n.arg=e),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var c=r.call(a,"catchLoc"),u=r.call(a,"finallyLoc");if(c&&u){if(this.prev<a.catchLoc)return i(a.catchLoc,!0);if(this.prev<a.finallyLoc)return i(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return i(a.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return i(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,v):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),v},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),T(n),v}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;T(n)}return i}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:A(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),v}},t}function dt(e,t,n,r,i,o,a){try{var s=e[o](a),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,i)}function pt(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function a(e){dt(o,r,i,a,s,"next",e)}function s(e){dt(o,r,i,a,s,"throw",e)}a(void 0)}))}}function vt(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,wt(r.key),r)}}function yt(e,t,n){return t=gt(t),function(e,t){if(t&&("object"===ht(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,function(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return function(){return!!e}()}()?Reflect.construct(t,n||[],gt(e).constructor):t.apply(e,n))}function gt(e){return(gt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function mt(e,t){return(mt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function bt(e,t,n){return(t=wt(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function wt(e){var t=function(e,t){if("object"!=ht(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=ht(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==ht(t)?t:t+""}var Et=function(e){function t(e){var n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),bt(n=yt(this,t,[e]),"headsetEventSubscription",void 0),bt(n,"isActive",!1),bt(n,"_deviceInfo",void 0),bt(n,"isMuted",!1),bt(n,"isHeld",!1),bt(n,"version",null),bt(n,"_connectDeferred",void 0),bt(n,"jabraSdk",void 0),bt(n,"callControlFactory",void 0),bt(n,"callControl",void 0),bt(n,"ongoingCalls",0),bt(n,"callLock",!1),bt(n,"pendingConversationId",void 0),bt(n,"pendingConversationIsOutbound",void 0),bt(n,"activeConversationId",void 0),n.vendorName="Jabra",n}return 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&&mt(e,t)}(t,e),n=t,r=[{key:"isSupported",value:function(){return window.navigator.hid&&!z()}},{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=pt(ft().mark((function n(r){var i,o,a,s;return ft().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===Me.u.HOOK_SWITCH?6:n.t0===Me.u.FLASH||n.t0===Me.u.ALT_HOLD?11:n.t0===Me.u.PHONE_MUTE?15:n.t0===Me.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:Me.u[r.type],conversationId:t.pendingConversationId}),t.pendingConversationId=null;try{t.activeConversationId||(e.releaseCallLock(),t.callLock=!1)}catch(e){a=e.message,s=e.type,t.checkForCallLockError(a,s)?t.logger.info(a):t.logger.error(s,a)}case 23:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}())}},{key:"setMute",value:(b=pt(ft().mark((function e(t){return ft().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 b.apply(this,arguments)})},{key:"setHold",value:(m=pt(ft().mark((function e(t,n){return ft().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 m.apply(this,arguments)})},{key:"incomingCall",value:(g=pt(ft().mark((function e(t){var n,r;return ft().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 g.apply(this,arguments)})},{key:"answerCall",value:(y=pt(ft().mark((function e(t,n){var r,i;return ft().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 y.apply(this,arguments)})},{key:"rejectCall",value:(v=pt(ft().mark((function e(){var t,n;return ft().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 v.apply(this,arguments)})},{key:"outgoingCall",value:(p=pt(ft().mark((function e(t){var n,r;return ft().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 p.apply(this,arguments)})},{key:"endCall",value:(d=pt(ft().mark((function e(t,n){var r,i;return ft().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 d.apply(this,arguments)})},{key:"endAllCalls",value:(f=pt(ft().mark((function e(){var t,n;return ft().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 f.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:(h=pt(ft().mark((function e(t){var n,r;return ft().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.deviceHasPermissions(n);case 12:if(!e.sent){e.next=22;break}return e.next=15,this.getPreviouslyConnectedDevice(n);case 15:if(r=e.sent){e.next=20;break}return console.warn('Unable to find appropriate device. Setting state to "Not Running" to allow a retry"',n),this.changeConnectionStatus({isConnected:!1,isConnecting:!1}),e.abrupt("return");case 20:e.next=32;break;case 22:return e.prev=22,e.next=25,this.getDeviceFromWebhid(n);case 25:r=e.sent,e.next=32;break;case 28:return e.prev=28,e.t0=e.catch(22),this.isConnecting&&this.changeConnectionStatus({isConnected:this.isConnected,isConnecting:!1}),e.abrupt("return");case 32:return e.next=34,this.callControlFactory.createCallControl(r);case 34:return this.callControl=e.sent,e.next=37,this.resetHeadsetState();case 37: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 40:case"end":return e.stop()}}),e,this,[[22,28]])}))),function(e){return h.apply(this,arguments)})},{key:"deviceHasPermissions",value:(l=pt(ft().mark((function e(t){var n,r;return ft().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,window.navigator.hid.getDevices();case 2:return n=e.sent,r=!1,n.forEach((function(e){var n;t.includes(null==e||null===(n=e.productName)||void 0===n?void 0:n.toLowerCase())&&(r=!0)})),e.abrupt("return",r);case 6:case"end":return e.stop()}}),e)}))),function(e){return l.apply(this,arguments)})},{key:"getPreviouslyConnectedDevice",value:(u=pt(ft().mark((function e(t){var n,r=this;return ft().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=this.jabraSdk.deviceList.pipe(rt(null),ut((function(e){return!!e.length})),lt((function(e){return e.find((function(e){return r.isDeviceInList(e,t)}))})),it((function(e){return!!e})),tt(15e3)),e.abrupt("return",Ge(n).catch((function(e){return e instanceof et||e instanceof Fe?null:Promise.reject(e)})));case 2:case"end":return e.stop()}}),e,this)}))),function(e){return u.apply(this,arguments)})},{key:"getDeviceFromWebhid",value:(c=pt(ft().mark((function e(t){var n=this;return ft().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.requestWebHidPermissions(Me.D),e.abrupt("return",Ge(this.jabraSdk.deviceList.pipe(lt((function(e){return e.find((function(e){return n.isDeviceInList(e,t)}))})),it((function(e){return!!e})),ut(),tt(3e4))).catch((function(e){return e instanceof et&&(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 c.apply(this,arguments)})},{key:"initializeJabraSdk",value:(s=pt(ft().mark((function e(){return ft().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",Object(Me.C)({appId:"softphone-vendor-headsets",appName:"Softphone Headset Library",transport:Me.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 Me.a(e)}},{key:"checkForCallLockError",value:function(e,t){return t===Me.b.SDK_USAGE_ERROR&&e.includes("call lock")}},{key:"resetHeadsetState",value:(a=pt(ft().mark((function e(){return ft().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 a.apply(this,arguments)})},{key:"disconnect",value:(o=pt(ft().mark((function e(){var t,n;return ft().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.activeConversationId&&(this.activeConversationId=null),this.headsetEventSubscription&&this.headsetEventSubscription.unsubscribe(),(this.isConnected||this.isConnecting)&&this.changeConnectionStatus({isConnected:!1,isConnecting:!1}),e.finish(11);case 18:case"end":return e.stop()}}),e,this,[[0,6,11,18]])}))),function(){return o.apply(this,arguments)})}],i=[{key:"getInstance",value:function(e){return t.instance&&!e.createNew||(t.instance=new t(e)),t.instance}}],r&&vt(n.prototype,r),i&&vt(n,i),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,i,o,a,s,c,u,l,h,f,d,p,v,y,g,m,b}(K.a);bt(Et,"instance",void 0),bt(Et,"connectTimeout",5e3);var Ct=function(e){return e.Ring="ringer",e.Offhook="offhook",e.Mute="mute",e.Hold="hold",e}({}),_t=function(e){return e.OffHook="OffHook",e.Mute="Mute",e.Hold="Flash",e.RejectCall="RejectCall",e}({});function Ot(e){return(Ot="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 It(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */It=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,i=Object.defineProperty||function(e,t,n){e[t]=n.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",s=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,n){return e[t]=n}}function l(e,t,n,r){var o=t&&t.prototype instanceof y?t:y,a=Object.create(o.prototype),s=new x(r||[]);return i(a,"_invoke",{value:I(e,n,s)}),a}function h(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var f="suspendedStart",d="executing",p="completed",v={};function y(){}function g(){}function m(){}var b={};u(b,a,(function(){return this}));var w=Object.getPrototypeOf,E=w&&w(w(A([])));E&&E!==n&&r.call(E,a)&&(b=E);var C=m.prototype=y.prototype=Object.create(b);function _(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function O(e,t){function n(i,o,a,s){var c=h(e[i],e,o);if("throw"!==c.type){var u=c.arg,l=u.value;return l&&"object"==Ot(l)&&r.call(l,"__await")?t.resolve(l.__await).then((function(e){n("next",e,a,s)}),(function(e){n("throw",e,a,s)})):t.resolve(l).then((function(e){u.value=e,a(u)}),(function(e){return n("throw",e,a,s)}))}s(c.arg)}var o;i(this,"_invoke",{value:function(e,r){function i(){return new t((function(t,i){n(e,r,t,i)}))}return o=o?o.then(i,i):i()}})}function I(t,n,r){var i=f;return function(o,a){if(i===d)throw Error("Generator is already running");if(i===p){if("throw"===o)throw a;return{value:e,done:!0}}for(r.method=o,r.arg=a;;){var s=r.delegate;if(s){var c=k(s,r);if(c){if(c===v)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(i===f)throw i=p,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i=d;var u=h(t,n,r);if("normal"===u.type){if(i=r.done?p:"suspendedYield",u.arg===v)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(i=p,r.method="throw",r.arg=u.arg)}}}function k(t,n){var r=n.method,i=t.iterator[r];if(i===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,k(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),v;var o=h(i,t.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,v;var a=o.arg;return a?a.done?(n[t.resultName]=a.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,v):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,v)}function S(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function T(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function x(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(S,this),this.reset(!0)}function A(t){if(t||""===t){var n=t[a];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,o=function n(){for(;++i<t.length;)if(r.call(t,i))return n.value=t[i],n.done=!1,n;return n.value=e,n.done=!0,n};return o.next=o}}throw new TypeError(Ot(t)+" is not iterable")}return g.prototype=m,i(C,"constructor",{value:m,configurable:!0}),i(m,"constructor",{value:g,configurable:!0}),g.displayName=u(m,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===g||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,m):(e.__proto__=m,u(e,c,"GeneratorFunction")),e.prototype=Object.create(C),e},t.awrap=function(e){return{__await:e}},_(O.prototype),u(O.prototype,s,(function(){return this})),t.AsyncIterator=O,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new O(l(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},_(C),u(C,c,"Generator"),u(C,a,(function(){return this})),u(C,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=A,x.prototype={constructor:x,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(T),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function i(r,i){return s.type="throw",s.arg=t,n.next=r,i&&(n.method="next",n.arg=e),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var c=r.call(a,"catchLoc"),u=r.call(a,"finallyLoc");if(c&&u){if(this.prev<a.catchLoc)return i(a.catchLoc,!0);if(this.prev<a.finallyLoc)return i(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return i(a.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return i(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,v):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),v},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),T(n),v}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;T(n)}return i}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:A(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),v}},t}function kt(e,t,n,r,i,o,a){try{var s=e[o](a),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,i)}function St(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function a(e){kt(o,r,i,a,s,"next",e)}function s(e){kt(o,r,i,a,s,"throw",e)}a(void 0)}))}}function Tt(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,Nt(r.key),r)}}function xt(e,t,n){return t=At(t),function(e,t){if(t&&("object"===Ot(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,function(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return function(){return!!e}()}()?Reflect.construct(t,n||[],At(e).constructor):t.apply(e,n))}function At(e){return(At=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Lt(e,t){return(Lt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function Pt(e,t,n){return(t=Nt(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Nt(e){var t=function(e,t){if("object"!=Ot(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=Ot(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==Ot(t)?t:t+""}var Rt=function(e){function t(e){var n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),Pt(n=xt(this,t,[e]),"isActive",!1),Pt(n,"devices",null),Pt(n,"activeDeviceId",null),Pt(n,"headsetState",null),Pt(n,"ignoreNextOffhookEvent",!1),Pt(n,"cefSupportsJabra",!0),Pt(n,"pendingConversationId",void 0),Pt(n,"activeConversationId",void 0),Pt(n,"pendingConversationIsOutbound",void 0),n.vendorName="Jabra",n.headsetState={ringing:!1,offHook:!1},n.devices=new Map,z()&&(n.isHostedContextInitialized()?n.setupNativeHandlers():n.waitForHostedContext()),n}return 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&&Lt(e,t)}(t,e),n=t,r=[{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(Ct.Offhook,e),this._setRinging(!1)));this.activeConversationId&&(this._sendCmd(Ct.Offhook,e),this.deviceEndedCall({name:"CallOnHook",conversationId:this.activeConversationId})),this._getHeadsetIntoVanillaState(),this.activeConversationId=null}},{key:"_handleMuteEvent",value:function(e){this._sendCmd(Ct.Mute,e),this.isMuted=e,this.deviceMuteChanged({isMuted:e,name:e?"CallMuted":"CallUnmuted",conversationId:this.activeConversationId})}},{key:"_handleHoldEvent",value:function(e){this._sendCmd(Ct.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(Ct.Ring,e),this.headsetState.ringing=e}},{key:"isSupported",value:function(){return z()&&this.cefSupportsJabra}},{key:"deviceLabelMatchesVendor",value:function(e){var t=e.toLowerCase();return["jabra"].some((function(e){return t.includes(e)}))}},{key:"setMute",value:(d=St(It().mark((function e(t){return It().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this._sendCmd(Ct.Mute,t);case 1:case"end":return e.stop()}}),e,this)}))),function(e){return d.apply(this,arguments)})},{key:"setHold",value:(f=St(It().mark((function e(t,n){return It().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this._sendCmd(Ct.Hold,n);case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return f.apply(this,arguments)})},{key:"incomingCall",value:(h=St(It().mark((function e(t){return It().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 h.apply(this,arguments)})},{key:"answerCall",value:(l=St(It().mark((function e(t,n){return It().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n&&(this.pendingConversationId=t),this.ignoreNextOffhookEvent=!0,this._sendCmd(Ct.Offhook,!0);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return l.apply(this,arguments)})},{key:"rejectCall",value:(u=St(It().mark((function e(){return It().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 u.apply(this,arguments)})},{key:"outgoingCall",value:(c=St(It().mark((function e(t){return It().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.pendingConversationId=t.conversationId,this.pendingConversationIsOutbound=!0,this._sendCmd(Ct.Offhook,!0);case 3:case"end":return e.stop()}}),e,this)}))),function(e){return c.apply(this,arguments)})},{key:"endCall",value:(s=St(It().mark((function e(t,n){return It().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this._setRinging(!1),n||this._sendCmd(Ct.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:(a=St(It().mark((function e(){return It().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this._setRinging(!1),this._sendCmd(Ct.Offhook,!1),this.activeConversationId=null;case 3:case"end":return e.stop()}}),e,this)}))),function(){return a.apply(this,arguments)})},{key:"updateDevices",value:(o=St(It().mark((function e(){var t,n=this;return It().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,$({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 o.apply(this,arguments)})},{key:"_processEvent",value:function(e,t){var n,r,i,o=this;switch(e){case _t.OffHook:(n=function(){return o._handleOffhookEvent(t)},r=500,i=null,function(){clearTimeout(i),i=setTimeout((function(){n()}),r)})();break;case _t.RejectCall:this.deviceRejectedCall({name:_t.RejectCall,conversationId:this.pendingConversationId});break;case _t.Mute:this._handleMuteEvent(t);break;case _t.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()}}],i=[{key:"getInstance",value:function(e){return t.instance&&!e.createNew||(t.instance=new t(e)),t.instance}}],r&&Tt(n.prototype,r),i&&Tt(n,i),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,i,o,a,s,c,u,l,h,f,d}(K.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 Ht(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */Ht=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,i=Object.defineProperty||function(e,t,n){e[t]=n.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",s=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,n){return e[t]=n}}function l(e,t,n,r){var o=t&&t.prototype instanceof y?t:y,a=Object.create(o.prototype),s=new x(r||[]);return i(a,"_invoke",{value:I(e,n,s)}),a}function h(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var f="suspendedStart",d="executing",p="completed",v={};function y(){}function g(){}function m(){}var b={};u(b,a,(function(){return this}));var w=Object.getPrototypeOf,E=w&&w(w(A([])));E&&E!==n&&r.call(E,a)&&(b=E);var C=m.prototype=y.prototype=Object.create(b);function _(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function O(e,t){function n(i,o,a,s){var c=h(e[i],e,o);if("throw"!==c.type){var u=c.arg,l=u.value;return l&&"object"==Dt(l)&&r.call(l,"__await")?t.resolve(l.__await).then((function(e){n("next",e,a,s)}),(function(e){n("throw",e,a,s)})):t.resolve(l).then((function(e){u.value=e,a(u)}),(function(e){return n("throw",e,a,s)}))}s(c.arg)}var o;i(this,"_invoke",{value:function(e,r){function i(){return new t((function(t,i){n(e,r,t,i)}))}return o=o?o.then(i,i):i()}})}function I(t,n,r){var i=f;return function(o,a){if(i===d)throw Error("Generator is already running");if(i===p){if("throw"===o)throw a;return{value:e,done:!0}}for(r.method=o,r.arg=a;;){var s=r.delegate;if(s){var c=k(s,r);if(c){if(c===v)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(i===f)throw i=p,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i=d;var u=h(t,n,r);if("normal"===u.type){if(i=r.done?p:"suspendedYield",u.arg===v)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(i=p,r.method="throw",r.arg=u.arg)}}}function k(t,n){var r=n.method,i=t.iterator[r];if(i===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,k(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),v;var o=h(i,t.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,v;var a=o.arg;return a?a.done?(n[t.resultName]=a.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,v):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,v)}function S(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function T(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function x(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(S,this),this.reset(!0)}function A(t){if(t||""===t){var n=t[a];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,o=function n(){for(;++i<t.length;)if(r.call(t,i))return n.value=t[i],n.done=!1,n;return n.value=e,n.done=!0,n};return o.next=o}}throw new TypeError(Dt(t)+" is not iterable")}return g.prototype=m,i(C,"constructor",{value:m,configurable:!0}),i(m,"constructor",{value:g,configurable:!0}),g.displayName=u(m,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===g||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,m):(e.__proto__=m,u(e,c,"GeneratorFunction")),e.prototype=Object.create(C),e},t.awrap=function(e){return{__await:e}},_(O.prototype),u(O.prototype,s,(function(){return this})),t.AsyncIterator=O,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new O(l(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},_(C),u(C,c,"Generator"),u(C,a,(function(){return this})),u(C,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=A,x.prototype={constructor:x,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(T),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function i(r,i){return s.type="throw",s.arg=t,n.next=r,i&&(n.method="next",n.arg=e),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var c=r.call(a,"catchLoc"),u=r.call(a,"finallyLoc");if(c&&u){if(this.prev<a.catchLoc)return i(a.catchLoc,!0);if(this.prev<a.finallyLoc)return i(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return i(a.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return i(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,v):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),v},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),T(n),v}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;T(n)}return i}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:A(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),v}},t}function jt(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 Ut(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 Ut(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,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Ut(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 Mt(e,t,n,r,i,o,a){try{var s=e[o](a),c=s.value}catch(e){return void n(e)}s.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 a(e){Mt(o,r,i,a,s,"next",e)}function s(e){Mt(o,r,i,a,s,"throw",e)}a(void 0)}))}}function Gt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}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,qt(r.key),r)}}function Yt(e,t,n){return t=Vt(t),function(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 function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,function(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return function(){return!!e}()}()?Reflect.construct(t,n||[],Vt(e).constructor):t.apply(e,n))}function Vt(e){return(Vt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Kt(e,t){return(Kt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function Wt(e,t,n){return(t=qt(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function qt(e){var t=function(e,t){if("object"!=Dt(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=Dt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==Dt(t)?t:t+""}Pt(Rt,"instance",void 0);var zt,$t,Jt,Xt,Qt=function(e){function t(){var e;Gt(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return Wt(e=Yt(this,t,[].concat(r)),"pendingConversationId",void 0),Wt(e,"activeConversationId",void 0),Wt(e,"_deviceInfo",null),Wt(e,"activeDevice",void 0),Wt(e,"callState",0),Wt(e,"recCallState",0),Wt(e,"isHold",!1),Wt(e,"inputReportReportId",null),Wt(e,"vendorName","Yealink"),e}return 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&&Kt(e,t)}(t,e),n=t,r=[{key:"deviceInfo",get:function(){return this._deviceInfo}},{key:"isSupported",value:function(){return window.navigator.hid&&!z()}},{key:"deviceLabelMatchesVendor",value:function(e){var t=e.toLowerCase();return["yealink","(6993:"].some((function(e){return t.includes(e)}))}},{key:"connect",value:(v=Ft(Ht().mark((function e(t){var n,r=this;return Ht().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=jt(e.collections);try{for(o.s();!(i=o.n()).done;){var a=i.value;if(5===a.usage&&11===a.usagePage){r.activeDevice=e,0!==a.inputReports.length&&(r.inputReportReportId=a.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,i){var o=setTimeout(i,3e4);r.requestWebHidPermissions(Ft(Ht().mark((function a(){var s,c,u,l;return Ht().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return s=r.deductProductId(t),c=[{usage:5,usagePage:11,vendorId:27027,productId:s||void 0}],a.next=4,window.navigator.hid.requestDevice({filters:c});case 4:return clearTimeout(o),a.next=7,window.navigator.hid.getDevices();case 7:u=a.sent,l=!1,u.forEach((function(t){var i;if(n.includes(null==t||null===(i=t.productName)||void 0===i?void 0:i.toLowerCase())){var o,a=jt(t.collections);try{for(a.s();!(o=a.n()).done;){var s=o.value;if(5===s.usage&&11===s.usagePage){l=!0,0!==s.inputReports.length&&(r.inputReportReportId=s.inputReports[0].reportId),e(t);break}}}catch(e){a.e(e)}finally{a.f()}}})),l||i();case 11:case"end":return a.stop()}}),a)}))))}));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 v.apply(this,arguments)})},{key:"disconnect",value:(p=Ft(Ht().mark((function e(){return Ht().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 p.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:(d=Ft(Ht().mark((function e(t){var n;return Ht().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 d.apply(this,arguments)})},{key:"outgoingCall",value:(f=Ft(Ht().mark((function e(t){return Ht().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:(h=Ft(Ht().mark((function e(){var t;return Ht().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 h.apply(this,arguments)})},{key:"rejectCall",value:(l=Ft(Ht().mark((function e(){return Ht().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 l.apply(this,arguments)})},{key:"endCall",value:(u=Ft(Ht().mark((function e(t,n){return Ht().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 u.apply(this,arguments)})},{key:"endAllCalls",value:(c=Ft(Ht().mark((function e(){return Ht().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 c.apply(this,arguments)})},{key:"setMute",value:(s=Ft(Ht().mark((function e(t){return Ht().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:(a=Ft(Ht().mark((function e(t,n){var r,i;return Ht().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 a.apply(this,arguments)})},{key:"sendOpToDevice",value:(o=Ft(Ht().mark((function e(t){return Ht().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 o.apply(this,arguments)})}],i=[{key:"getInstance",value:function(e){return t.instance||(t.instance=new t(e)),t.instance}}],r&&Bt(n.prototype,r),i&&Bt(n,i),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,i,o,a,s,c,u,l,h,f,d,p,v}(K.a);function Zt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function en(e,t,n,r,i,o,a){try{var s=e[o](a),c=s.value}catch(e){return void n(e)}s.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 a(e){en(o,r,i,a,s,"next",e)}function s(e){en(o,r,i,a,s,"throw",e)}a(void 0)}))}}function nn(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,ln(r.key),r)}}function rn(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=hn(e))||t){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,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function on(e,t,n){return(t=ln(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function an(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 sn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?an(Object(n),!0).forEach((function(t){on(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):an(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function cn(){cn=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,i=Object.defineProperty||function(e,t,n){e[t]=n.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",s=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,n){return e[t]=n}}function l(e,t,n,r){var o=t&&t.prototype instanceof y?t:y,a=Object.create(o.prototype),s=new x(r||[]);return i(a,"_invoke",{value:I(e,n,s)}),a}function h(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var f="suspendedStart",d="executing",p="completed",v={};function y(){}function g(){}function m(){}var b={};u(b,a,(function(){return this}));var w=Object.getPrototypeOf,E=w&&w(w(A([])));E&&E!==n&&r.call(E,a)&&(b=E);var C=m.prototype=y.prototype=Object.create(b);function _(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function O(e,t){function n(i,o,a,s){var c=h(e[i],e,o);if("throw"!==c.type){var u=c.arg,l=u.value;return l&&"object"==typeof l&&r.call(l,"__await")?t.resolve(l.__await).then((function(e){n("next",e,a,s)}),(function(e){n("throw",e,a,s)})):t.resolve(l).then((function(e){u.value=e,a(u)}),(function(e){return n("throw",e,a,s)}))}s(c.arg)}var o;i(this,"_invoke",{value:function(e,r){function i(){return new t((function(t,i){n(e,r,t,i)}))}return o=o?o.then(i,i):i()}})}function I(t,n,r){var i=f;return function(o,a){if(i===d)throw Error("Generator is already running");if(i===p){if("throw"===o)throw a;return{value:e,done:!0}}for(r.method=o,r.arg=a;;){var s=r.delegate;if(s){var c=k(s,r);if(c){if(c===v)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(i===f)throw i=p,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i=d;var u=h(t,n,r);if("normal"===u.type){if(i=r.done?p:"suspendedYield",u.arg===v)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(i=p,r.method="throw",r.arg=u.arg)}}}function k(t,n){var r=n.method,i=t.iterator[r];if(i===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,k(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),v;var o=h(i,t.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,v;var a=o.arg;return a?a.done?(n[t.resultName]=a.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,v):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,v)}function S(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function T(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function x(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(S,this),this.reset(!0)}function A(t){if(t||""===t){var n=t[a];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,o=function n(){for(;++i<t.length;)if(r.call(t,i))return n.value=t[i],n.done=!1,n;return n.value=e,n.done=!0,n};return o.next=o}}throw new TypeError(typeof t+" is not iterable")}return g.prototype=m,i(C,"constructor",{value:m,configurable:!0}),i(m,"constructor",{value:g,configurable:!0}),g.displayName=u(m,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===g||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,m):(e.__proto__=m,u(e,c,"GeneratorFunction")),e.prototype=Object.create(C),e},t.awrap=function(e){return{__await:e}},_(O.prototype),u(O.prototype,s,(function(){return this})),t.AsyncIterator=O,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new O(l(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},_(C),u(C,c,"Generator"),u(C,a,(function(){return this})),u(C,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=A,x.prototype={constructor:x,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(T),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function i(r,i){return s.type="throw",s.arg=t,n.next=r,i&&(n.method="next",n.arg=e),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var c=r.call(a,"catchLoc"),u=r.call(a,"finallyLoc");if(c&&u){if(this.prev<a.catchLoc)return i(a.catchLoc,!0);if(this.prev<a.finallyLoc)return i(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return i(a.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return i(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,v):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),v},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),T(n),v}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;T(n)}return i}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:A(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),v}},t}function un(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){var r,i,o,a,s=[],c=!0,u=!1;try{if(o=(n=n.call(e)).next,0===t);else for(;!(c=(r=o.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){u=!0,i=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw i}}return s}}(e,t)||hn(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 ln(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t);if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==typeof t?t:t+""}function hn(e,t){if(e){if("string"==typeof e)return Zt(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Zt(e,t):void 0}}function fn(e){return 65535&e}function dn(e){return e>>>16}function pn(e){return e.isAbsolute?Xt.ToggleSwitch:Xt.ToggleButton}Wt(Qt,"instance",void 0),function(e){e[e.LED=8]="LED",e[e.TELEPHONY=11]="TELEPHONY"}(zt||(zt={})),function(e){e[e.PROGRAMMABLE_BUTTON=7]="PROGRAMMABLE_BUTTON",e[e.HOOK_SWITCH=32]="HOOK_SWITCH",e[e.FLASH=33]="FLASH",e[e.PHONE_MUTE=47]="PHONE_MUTE"}($t||($t={})),function(e){e[e.MUTE=9]="MUTE",e[e.OFF_HOOK=23]="OFF_HOOK",e[e.RING=24]="RING",e[e.HOLD=32]="HOLD"}(Jt||(Jt={})),function(e){e[e.ToggleButton=0]="ToggleButton",e[e.ToggleSwitch=1]="ToggleSwitch"}(Xt||(Xt={}));var vn,yn={usage:5,usagePage:zt.TELEPHONY},gn=[$t.HOOK_SWITCH,$t.PHONE_MUTE,$t.PROGRAMMABLE_BUTTON],mn=[Jt.OFF_HOOK,Jt.RING,Jt.MUTE],bn=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),on(this,"device",void 0),on(this,"inputEventInfos",void 0),on(this,"inputEventObserverCallbacks",void 0),on(this,"outputEventInfos",void 0),this.device=t,this.inputEventInfos=gn.reduce((function(e,t){return sn(sn({},e),{},on({},t,void 0))}),{}),this.inputEventObserverCallbacks=gn.reduce((function(e,t){return sn(sn({},e),{},on({},t,[]))}),{}),this.outputEventInfos=mn.reduce((function(e,t){return sn(sn({},e),{},on({},t,void 0))}),{}),this.parseDeviceDescriptors(),this.device.addEventListener("inputreport",(function(e){return n.onInputReport(e)}))}return t=e,n=[{key:"onInputReport",value:function(e){var t,n,r,i,o,a,s,c,u=this.device.productId;if(u>=64&&u<=130&&5===e.reportId)switch(e.data.getUint8(0)){case 32:null===(t=(n=this.inputEventObserverCallbacks[$t.HOOK_SWITCH])[0])||void 0===t||t.call(n,!0,Xt.ToggleSwitch);break;case 8:this.inputEventObserverCallbacks[$t.PROGRAMMABLE_BUTTON][0](!0,Xt.ToggleSwitch);break;case 0:null===(r=(i=this.inputEventObserverCallbacks[$t.HOOK_SWITCH])[0])||void 0===r||r.call(i,!1,Xt.ToggleSwitch);break;case 1:null===(o=(a=this.inputEventObserverCallbacks[$t.PHONE_MUTE])[0])||void 0===o||o.call(a,!1,Xt.ToggleSwitch);break;case 5:null===(s=(c=this.inputEventObserverCallbacks[$t.PHONE_MUTE])[0])||void 0===s||s.call(c,!0,Xt.ToggleSwitch)}else for(var l=0,h=gn;l<h.length;l++){var f=h[l],d=this.inputEventInfos[f];if(void 0!==d&&e.reportId===d.reportId){var p,v=Math.trunc(d.offset/8),y=d.offset%8,g=!!(e.data.getUint8(v)&1<<y),m=rn(this.inputEventObserverCallbacks[f]);try{for(m.s();!(p=m.n()).done;)(0,p.value)(g,d.controlType)}catch(e){m.e(e)}finally{m.f()}}}}},{key:"close",value:(a=tn(cn().mark((function e(){return cn().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.device.opened){e.next=3;break}return e.next=3,this.device.close();case 3:case"end":return e.stop()}}),e,this)}))),function(){return a.apply(this,arguments)})},{key:"parseDeviceDescriptors",value:function(){if(void 0===this.device.collections)throw new Error("Undefined device collection");var e=this.device.collections.find((function(e){return e.usagePage===zt.TELEPHONY}));if(void 0===e)throw new Error("No telephony collection");e.inputReports&&this.parseInputReport(e.inputReports),e.outputReports&&this.parseOutputReport(e.outputReports)}},{key:"parseInputReport",value:function(e){var t,n,r=rn(e);try{for(r.s();!(t=r.n()).done;){var i=t.value,o=0;if(void 0!==i.items&&void 0!==i.reportId){var a,s=rn(i.items);try{for(s.s();!(a=s.n()).done;){var c=a.value;if(void 0!==c.usages&&void 0!==c.reportSize&&void 0!==c.reportCount&&void 0!==c.isAbsolute){var u,l=rn(c.usages.entries());try{for(l.s();!(u=l.n()).done;){var h=un(u.value,2),f=h[0],d=h[1];if(dn(d)===zt.TELEPHONY||589831===d){var p=fn(d);n=p,gn.includes(n)&&(this.inputEventInfos[p]={reportId:i.reportId,offset:o+f*c.reportSize,controlType:pn(c)})}}}catch(e){l.e(e)}finally{l.f()}o+=c.reportCount*c.reportSize}}}catch(e){s.e(e)}finally{s.f()}}}}catch(e){r.e(e)}finally{r.f()}}},{key:"parseOutputReport",value:function(e){var t,n=this,r=rn(e);try{var i=function(){var e=t.value;if(void 0===e.items||void 0===e.reportId)return 1;var r,i,o=0,a=[],s=rn(e.items);try{for(s.s();!(r=s.n()).done;){var c=r.value;if(void 0===c.usages||void 0===c.reportSize||void 0===c.reportCount){a=[];break}var u,l=rn(c.usages.entries());try{for(l.s();!(u=l.n()).done;){var h=un(u.value,2),f=h[0],d=h[1];if(dn(d)===zt.LED){var p=fn(d);i=p,mn.includes(i)&&a.push([p,o+f*c.reportSize])}}}catch(e){l.e(e)}finally{l.f()}o+=c.reportCount*c.reportSize}}catch(e){s.e(e)}finally{s.f()}for(var v=o,y=function(){var t=un(m[g],2),r=t[0],i=t[1];n.outputEventInfos[r]={reportId:e.reportId,state:!1,offset:i,generator:function(){var t=new Uint8Array(v/8);return{reportId:e.reportId,data:t}},setter:function(e,t){if(i>=0){var n=Math.trunc(i/8),r=i%8;t[n]|=(e?1:0)<<r}return t}}},g=0,m=a;g<m.length;g++)y()};for(r.s();!(t=r.n()).done;)i()}catch(e){r.e(e)}finally{r.f()}}},{key:"getControlType",value:function(e){var t;if(this.supportInput(e))return null===(t=this.inputEventInfos[e])||void 0===t?void 0:t.controlType}},{key:"supportInput",value:function(e){return void 0!==this.inputEventInfos[e]}},{key:"supportOutput",value:function(e){return void 0!==this.outputEventInfos[e]}},{key:"subscribe",value:function(e,t){this.inputEventObserverCallbacks[e].push(t)}},{key:"unsubscribe",value:function(e){this.inputEventObserverCallbacks[e]=[]}},{key:"setState",value:function(e,t){if(this.device.opened){var n=this.outputEventInfos[e];void 0!==n&&(n.state=t)}}},{key:"getState",value:function(e){var t;if(this.device.opened)return null===(t=this.outputEventInfos[e])||void 0===t?void 0:t.state}},{key:"send",value:(o=tn(cn().mark((function e(t){var n,r,i,o,a,s,c,u,l,h,f,d,p,v,y,g=this;return cn().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.device.opened){e.next=2;break}return e.abrupt("return");case 2:if(!((n=this.device.productId)>=64&&n<=130)){e.next=21;break}if(r=t.get(Jt.RING),i=t.get(Jt.OFF_HOOK),o=t.get(Jt.MUTE),void 0===r){e.next=11;break}return this.setState(Jt.RING,r),e.next=11,this.device.sendReport(6,new Uint8Array([r?1:0,0]));case 11:if(void 0===i){e.next=15;break}return this.setState(Jt.OFF_HOOK,i),e.next=15,this.device.sendReport(6,new Uint8Array([i?2:0,0]));case 15:if(void 0===o){e.next=19;break}return this.setState(Jt.MUTE,o),e.next=19,this.device.sendReport(6,new Uint8Array([o?4:5,0]));case 19:e.next=58;break;case 21:a=[],s=rn(t),e.prev=23,u=cn().mark((function e(){var t,n,r,i;return cn().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=un(c.value,2),n=t[0],r=t[1],void 0!==(i=g.outputEventInfos[n])){e.next=4;break}return e.abrupt("return",1);case 4:void 0===a.find((function(e){return e.reportId===(null==i?void 0:i.reportId)}))&&a.push(null==i?void 0:i.generator()),i.state=r;case 7:case"end":return e.stop()}}),e)})),s.s();case 26:if((c=s.n()).done){e.next=32;break}return e.delegateYield(u(),"t0",28);case 28:if(!e.t0){e.next=30;break}return e.abrupt("continue",30);case 30:e.next=26;break;case 32:e.next=37;break;case 34:e.prev=34,e.t1=e.catch(23),s.e(e.t1);case 37:return e.prev=37,s.f(),e.finish(37);case 40:l=0,h=a;case 41:if(!(l<h.length)){e.next=58;break}f=h[l],d=0,p=mn;case 44:if(!(d<p.length)){e.next=53;break}if(v=p[d],void 0!==(y=this.outputEventInfos[v])&&y.reportId===f.reportId&&y.state){e.next=49;break}return e.abrupt("continue",50);case 49:f.data=y.setter(y.state,f.data);case 50:d++,e.next=44;break;case 53:return e.next=55,this.device.sendReport(f.reportId,f.data);case 55:l++,e.next=41;break;case 58:case"end":return e.stop()}}),e,this,[[23,34,37,40]])}))),function(e){return o.apply(this,arguments)})}],r=[{key:"create",value:(i=tn(cn().mark((function t(n){return cn().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n.opened){t.next=3;break}return t.next=3,n.open();case 3:return t.abrupt("return",new e(n));case 4:case"end":return t.stop()}}),t)}))),function(e){return i.apply(this,arguments)})}],n&&nn(t.prototype,n),r&&nn(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r,i,o,a}(),wn=function(e){if(!e.supportInput($t.HOOK_SWITCH))throw new Error("Device is missing hook switch support");if(!e.supportInput($t.PHONE_MUTE))throw new Error("Device is missing mute switch support")},En=function(e){if(!e.supportOutput(Jt.RING))throw new Error("Device is missing ring support");if(!e.supportOutput(Jt.OFF_HOOK))throw new Error("Device is missing off/on hook support");if(!e.supportOutput(Jt.MUTE))throw new Error("Device is missing mute support")};function Cn(e){return _n.apply(this,arguments)}function _n(){return(_n=tn(cn().mark((function e(t){var n;return cn().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,bn.create(t);case 2:return n=e.sent,En(n),wn(n),e.abrupt("return",{productName:n.device.productName,ring:function(){return n.send(new Map([[Jt.RING,!0]]))},onHook:function(){return n.send(new Map([[Jt.OFF_HOOK,!1],[Jt.RING,!1],[Jt.MUTE,!1]]))},offHook:function(){return n.send(new Map([[Jt.OFF_HOOK,!0],[Jt.RING,!1],[Jt.MUTE,!1]]))},muteOn:function(){return n.send(new Map([[Jt.OFF_HOOK,!0],[Jt.RING,!1],[Jt.MUTE,!0]]))},muteOff:function(){return n.send(new Map([[Jt.OFF_HOOK,!0],[Jt.RING,!1],[Jt.MUTE,!1]]))},subscribe:function(e){n.subscribe($t.HOOK_SWITCH,(function(t,r){if(r===Xt.ToggleButton&&t){if(n.getState(Jt.RING))return void e(vn.ACCEPT_CALL);if(n.getState(Jt.OFF_HOOK))return void e(vn.END_CALL)}if(r===Xt.ToggleSwitch){if(t&&n.getState(Jt.RING))return void e(vn.ACCEPT_CALL);if(!t&&n.getState(Jt.OFF_HOOK))return void e(vn.END_CALL)}})),n.subscribe($t.PHONE_MUTE,(function(t,r){if(r===Xt.ToggleButton&&t)e(n.getState(Jt.MUTE)?vn.UNMUTE_CALL:vn.MUTE_CALL);else if(r===Xt.ToggleSwitch){if(t&&!n.getState(Jt.MUTE))return void e(vn.MUTE_CALL);if(!t&&n.getState(Jt.MUTE))return void e(vn.UNMUTE_CALL)}})),n.subscribe($t.PROGRAMMABLE_BUTTON,(function(t,n){t&&e(vn.REJECT_CALL)}))},unsubscribe:function(){n.unsubscribe($t.HOOK_SWITCH),n.unsubscribe($t.PHONE_MUTE),n.unsubscribe($t.PROGRAMMABLE_BUTTON)}});case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function On(e){return In.apply(this,arguments)}function In(){return(In=tn(cn().mark((function e(t){var n,r,i,o;return cn().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,window.navigator.hid.getDevices();case 2:n=e.sent,r=rn(n),e.prev=4,r.s();case 6:if((i=r.n()).done){e.next=14;break}if(o=i.value,!t.toLowerCase().includes(o.productName.toLowerCase())){e.next=12;break}return e.next=11,Cn(o);case 11:return e.abrupt("return",e.sent);case 12:e.next=6;break;case 14:e.next=19;break;case 16:e.prev=16,e.t0=e.catch(4),r.e(e.t0);case 19:return e.prev=19,r.f(),e.finish(19);case 22:case"end":return e.stop()}}),e,null,[[4,16,19,22]])})))).apply(this,arguments)}function kn(e){return Sn.apply(this,arguments)}function Sn(){return(Sn=tn(cn().mark((function e(t){var n;return cn().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,window.navigator.hid.requestDevice({filters:[sn({vendorId:13323,productId:t.productId},yn)]});case 2:if(0!==(n=e.sent).length){e.next=5;break}throw new Error("No requested device found");case 5:return e.next=7,Cn(n[0]);case 7:return e.abrupt("return",e.sent);case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Tn(e){return(Tn="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 xn(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */xn=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,i=Object.defineProperty||function(e,t,n){e[t]=n.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",s=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,n){return e[t]=n}}function l(e,t,n,r){var o=t&&t.prototype instanceof y?t:y,a=Object.create(o.prototype),s=new x(r||[]);return i(a,"_invoke",{value:I(e,n,s)}),a}function h(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var f="suspendedStart",d="executing",p="completed",v={};function y(){}function g(){}function m(){}var b={};u(b,a,(function(){return this}));var w=Object.getPrototypeOf,E=w&&w(w(A([])));E&&E!==n&&r.call(E,a)&&(b=E);var C=m.prototype=y.prototype=Object.create(b);function _(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function O(e,t){function n(i,o,a,s){var c=h(e[i],e,o);if("throw"!==c.type){var u=c.arg,l=u.value;return l&&"object"==Tn(l)&&r.call(l,"__await")?t.resolve(l.__await).then((function(e){n("next",e,a,s)}),(function(e){n("throw",e,a,s)})):t.resolve(l).then((function(e){u.value=e,a(u)}),(function(e){return n("throw",e,a,s)}))}s(c.arg)}var o;i(this,"_invoke",{value:function(e,r){function i(){return new t((function(t,i){n(e,r,t,i)}))}return o=o?o.then(i,i):i()}})}function I(t,n,r){var i=f;return function(o,a){if(i===d)throw Error("Generator is already running");if(i===p){if("throw"===o)throw a;return{value:e,done:!0}}for(r.method=o,r.arg=a;;){var s=r.delegate;if(s){var c=k(s,r);if(c){if(c===v)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(i===f)throw i=p,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i=d;var u=h(t,n,r);if("normal"===u.type){if(i=r.done?p:"suspendedYield",u.arg===v)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(i=p,r.method="throw",r.arg=u.arg)}}}function k(t,n){var r=n.method,i=t.iterator[r];if(i===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,k(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),v;var o=h(i,t.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,v;var a=o.arg;return a?a.done?(n[t.resultName]=a.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,v):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,v)}function S(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function T(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function x(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(S,this),this.reset(!0)}function A(t){if(t||""===t){var n=t[a];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,o=function n(){for(;++i<t.length;)if(r.call(t,i))return n.value=t[i],n.done=!1,n;return n.value=e,n.done=!0,n};return o.next=o}}throw new TypeError(Tn(t)+" is not iterable")}return g.prototype=m,i(C,"constructor",{value:m,configurable:!0}),i(m,"constructor",{value:g,configurable:!0}),g.displayName=u(m,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===g||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,m):(e.__proto__=m,u(e,c,"GeneratorFunction")),e.prototype=Object.create(C),e},t.awrap=function(e){return{__await:e}},_(O.prototype),u(O.prototype,s,(function(){return this})),t.AsyncIterator=O,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new O(l(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},_(C),u(C,c,"Generator"),u(C,a,(function(){return this})),u(C,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=A,x.prototype={constructor:x,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(T),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function i(r,i){return s.type="throw",s.arg=t,n.next=r,i&&(n.method="next",n.arg=e),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var c=r.call(a,"catchLoc"),u=r.call(a,"finallyLoc");if(c&&u){if(this.prev<a.catchLoc)return i(a.catchLoc,!0);if(this.prev<a.finallyLoc)return i(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return i(a.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return i(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,v):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),v},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),T(n),v}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;T(n)}return i}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:A(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),v}},t}function An(e,t,n,r,i,o,a){try{var s=e[o](a),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,i)}function Ln(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function a(e){An(o,r,i,a,s,"next",e)}function s(e){An(o,r,i,a,s,"throw",e)}a(void 0)}))}}function Pn(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Nn(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,Un(r.key),r)}}function Rn(e,t,n){return t=Dn(t),function(e,t){if(t&&("object"===Tn(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,function(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return function(){return!!e}()}()?Reflect.construct(t,n||[],Dn(e).constructor):t.apply(e,n))}function Dn(e){return(Dn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Hn(e,t){return(Hn=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function jn(e,t,n){return(t=Un(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Un(e){var t=function(e,t){if("object"!=Tn(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=Tn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==Tn(t)?t:t+""}!function(e){e[e.ACCEPT_CALL=0]="ACCEPT_CALL",e[e.END_CALL=1]="END_CALL",e[e.REJECT_CALL=2]="REJECT_CALL",e[e.MUTE_CALL=3]="MUTE_CALL",e[e.UNMUTE_CALL=4]="UNMUTE_CALL"}(vn||(vn={}));var Mn=function(e){function t(){var e;Pn(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return jn(e=Rn(this,t,[].concat(r)),"activeConversationId",void 0),jn(e,"pendingConversationId",void 0),jn(e,"_deviceInfo",null),jn(e,"activeDevice",null),jn(e,"vendorName","VBet"),jn(e,"processBtnPress",(function(t){switch(t){case vn.ACCEPT_CALL:e.pendingConversationId?(e.answerCall(e.pendingConversationId),e.deviceAnsweredCall({name:"OffHook",conversationId:e.activeConversationId})):e.logger.error("No call to be answered");break;case vn.END_CALL:if(e.activeConversationId){var n=e.activeConversationId;e.endCall(n),e.deviceEndedCall({name:"OnHook",conversationId:n})}else e.logger.error("No call to be terminated");break;case vn.MUTE_CALL:case vn.UNMUTE_CALL:e.activeConversationId?(e.setMute(t===vn.MUTE_CALL),e.deviceMuteChanged({isMuted:e.isMuted,name:e.isMuted?"CallMuted":"CallUnmuted",conversationId:e.activeConversationId})):e.logger.error("No call to be muted");break;case vn.REJECT_CALL:e.pendingConversationId?(e.rejectCall(e.pendingConversationId),e.deviceRejectedCall({name:"Reject",conversationId:e.pendingConversationId})):e.logger.error("No call to be rejected")}})),e}return 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&&Hn(e,t)}(t,e),n=t,r=[{key:"deviceInfo",get:function(){return this._deviceInfo}},{key:"isSupported",value:function(){return window.navigator.hid&&!z()}},{key:"deviceLabelMatchesVendor",value:function(e){var t=e.toLowerCase();return["vt","340b"].some((function(e){return t.includes(e)}))}},{key:"connect",value:(d=Ln(xn().mark((function e(t){var n,r,i=this;return xn().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.isConnecting||this.changeConnectionStatus({isConnected:this.isConnected,isConnecting:!0}),e.prev=1,e.next=4,On(t);case 4:if(!(n=e.sent)){e.next=9;break}this.activeDevice=n,e.next=13;break;case 9:return e.next=11,new Promise((function(e,n){var r=i.deductProductId(t),o=setTimeout((function(){return n("The selected device was not granted WebHID permissions")}),3e4);i.requestWebHidPermissions((function(){kn({productId:r||void 0}).then((function(t){e(t),clearTimeout(o)})).catch((function(e){n(e)}))}))}));case 11:r=e.sent,this.activeDevice=r;case 13:e.next=20;break;case 15:return e.prev=15,e.t0=e.catch(1),this.isConnecting&&this.changeConnectionStatus({isConnected:this.isConnected,isConnecting:!1}),this.logger.error(e.t0),e.abrupt("return");case 20:this._deviceInfo={ProductName:this.activeDevice.productName},this.activeDevice.subscribe(this.processBtnPress),this.changeConnectionStatus({isConnected:!0,isConnecting:!1});case 23:case"end":return e.stop()}}),e,this,[[1,15]])}))),function(e){return d.apply(this,arguments)})},{key:"disconnect",value:(f=Ln(xn().mark((function e(){return xn().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.changeConnectionStatus({isConnected:!1,isConnecting:!1}),this.activeDevice&&this.activeDevice.unsubscribe(),this.activeDevice=null,this._deviceInfo=null,this.isMuted=!1;case 5:case"end":return e.stop()}}),e,this)}))),function(){return f.apply(this,arguments)})},{key:"incomingCall",value:(h=Ln(xn().mark((function e(t){return xn().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.pendingConversationId=t.conversationId,this.activeDevice.ring();case 2:case"end":return e.stop()}}),e,this)}))),function(e){return h.apply(this,arguments)})},{key:"outgoingCall",value:(l=Ln(xn().mark((function e(t){return xn().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.activeConversationId=t.conversationId,this.activeDevice.offHook();case 2:case"end":return e.stop()}}),e,this)}))),function(e){return l.apply(this,arguments)})},{key:"answerCall",value:(u=Ln(xn().mark((function e(t,n){return xn().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.pendingConversationId===t||n?(this.activeConversationId=t,this.pendingConversationId="",this.activeDevice.offHook()):this.logger.error("no call to be answered");case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return u.apply(this,arguments)})},{key:"rejectCall",value:(c=Ln(xn().mark((function e(t){return xn().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t===this.pendingConversationId?(this.pendingConversationId="",this.activeDevice.onHook()):this.logger.error("no call to be rejected");case 1:case"end":return e.stop()}}),e,this)}))),function(e){return c.apply(this,arguments)})},{key:"endCall",value:(s=Ln(xn().mark((function e(t){return xn().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t===this.activeConversationId?(this.activeConversationId="",this.pendingConversationId="",this.activeDevice.onHook()):this.logger.error("no call to be ended");case 1:case"end":return e.stop()}}),e,this)}))),function(e){return s.apply(this,arguments)})},{key:"endAllCalls",value:(a=Ln(xn().mark((function e(){return xn().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.activeConversationId="",this.pendingConversationId="",this.activeDevice.onHook();case 3:case"end":return e.stop()}}),e,this)}))),function(){return a.apply(this,arguments)})},{key:"setMute",value:(o=Ln(xn().mark((function e(t){return xn().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.isMuted=t,this.isMuted?this.activeDevice.muteOn():this.activeDevice.muteOff();case 2:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})}],i=[{key:"getInstance",value:function(e){return t.instance||(t.instance=new t(e)),t.instance}}],r&&Nn(n.prototype,r),i&&Nn(n,i),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,i,o,a,s,c,u,l,h,f,d}(K.a);jn(Mn,"instance",void 0);var Fn=n(1);function Gn(e){return(Gn="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 Bn(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 Yn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Bn(Object(n),!0).forEach((function(t){Jn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Bn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Vn(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */Vn=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,i=Object.defineProperty||function(e,t,n){e[t]=n.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",s=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,n){return e[t]=n}}function l(e,t,n,r){var o=t&&t.prototype instanceof y?t:y,a=Object.create(o.prototype),s=new x(r||[]);return i(a,"_invoke",{value:I(e,n,s)}),a}function h(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var f="suspendedStart",d="executing",p="completed",v={};function y(){}function g(){}function m(){}var b={};u(b,a,(function(){return this}));var w=Object.getPrototypeOf,E=w&&w(w(A([])));E&&E!==n&&r.call(E,a)&&(b=E);var C=m.prototype=y.prototype=Object.create(b);function _(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function O(e,t){function n(i,o,a,s){var c=h(e[i],e,o);if("throw"!==c.type){var u=c.arg,l=u.value;return l&&"object"==Gn(l)&&r.call(l,"__await")?t.resolve(l.__await).then((function(e){n("next",e,a,s)}),(function(e){n("throw",e,a,s)})):t.resolve(l).then((function(e){u.value=e,a(u)}),(function(e){return n("throw",e,a,s)}))}s(c.arg)}var o;i(this,"_invoke",{value:function(e,r){function i(){return new t((function(t,i){n(e,r,t,i)}))}return o=o?o.then(i,i):i()}})}function I(t,n,r){var i=f;return function(o,a){if(i===d)throw Error("Generator is already running");if(i===p){if("throw"===o)throw a;return{value:e,done:!0}}for(r.method=o,r.arg=a;;){var s=r.delegate;if(s){var c=k(s,r);if(c){if(c===v)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(i===f)throw i=p,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i=d;var u=h(t,n,r);if("normal"===u.type){if(i=r.done?p:"suspendedYield",u.arg===v)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(i=p,r.method="throw",r.arg=u.arg)}}}function k(t,n){var r=n.method,i=t.iterator[r];if(i===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,k(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),v;var o=h(i,t.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,v;var a=o.arg;return a?a.done?(n[t.resultName]=a.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,v):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,v)}function S(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function T(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function x(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(S,this),this.reset(!0)}function A(t){if(t||""===t){var n=t[a];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,o=function n(){for(;++i<t.length;)if(r.call(t,i))return n.value=t[i],n.done=!1,n;return n.value=e,n.done=!0,n};return o.next=o}}throw new TypeError(Gn(t)+" is not iterable")}return g.prototype=m,i(C,"constructor",{value:m,configurable:!0}),i(m,"constructor",{value:g,configurable:!0}),g.displayName=u(m,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===g||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,m):(e.__proto__=m,u(e,c,"GeneratorFunction")),e.prototype=Object.create(C),e},t.awrap=function(e){return{__await:e}},_(O.prototype),u(O.prototype,s,(function(){return this})),t.AsyncIterator=O,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new O(l(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},_(C),u(C,c,"Generator"),u(C,a,(function(){return this})),u(C,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=A,x.prototype={constructor:x,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(T),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function i(r,i){return s.type="throw",s.arg=t,n.next=r,i&&(n.method="next",n.arg=e),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var c=r.call(a,"catchLoc"),u=r.call(a,"finallyLoc");if(c&&u){if(this.prev<a.catchLoc)return i(a.catchLoc,!0);if(this.prev<a.finallyLoc)return i(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return i(a.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return i(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,v):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),v},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),T(n),v}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;T(n)}return i}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:A(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),v}},t}function Kn(e,t,n,r,i,o,a){try{var s=e[o](a),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,i)}function Wn(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function a(e){Kn(o,r,i,a,s,"next",e)}function s(e){Kn(o,r,i,a,s,"throw",e)}a(void 0)}))}}function qn(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){var r,i,o,a,s=[],c=!0,u=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=o.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){u=!0,i=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw i}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return zn(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 zn(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 zn(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 $n(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,Xn(r.key),r)}}function Jn(e,t,n){return(t=Xn(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Xn(e){var t=function(e,t){if("object"!=Gn(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=Gn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==Gn(t)?t:t+""}var Qn=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),Jn(this,"plantronics",void 0),Jn(this,"jabraNative",void 0),Jn(this,"jabra",void 0),Jn(this,"sennheiser",void 0),Jn(this,"yealink",void 0),Jn(this,"vbet",void 0),Jn(this,"cyberAcoustics",void 0),Jn(this,"selectedImplementation",void 0),Jn(this,"headsetEvents$",void 0),Jn(this,"headsetConversationStates",{}),Jn(this,"_headsetEvents$",void 0),Jn(this,"logger",void 0),this._headsetEvents$=new Y,this.headsetEvents$=this._headsetEvents$.asObservable(),this.logger=t.logger||console,this.plantronics=Se.getInstance({logger:this.logger,appName:t.appName}),this.jabraNative=Rt.getInstance({logger:this.logger}),this.jabra=Et.getInstance({logger:this.logger}),this.sennheiser=Ue.getInstance({logger:this.logger}),this.yealink=Qt.getInstance({logger:this.logger}),this.vbet=Mn.getInstance({logger:this.logger}),this.cyberAcoustics=he.getInstance({logger:this.logger}),[this.plantronics,this.jabra,this.jabraNative,this.sennheiser,this.yealink,this.vbet,this.cyberAcoustics].forEach((function(e){return n.subscribeToHeadsetEvents(e)}))}return t=e,n=[{key:"implementations",get:function(){return[this.sennheiser,this.plantronics,this.jabra,this.jabraNative,this.yealink,this.vbet,this.cyberAcoustics].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=qn(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:(f=Wn(Vn().mark((function e(t,n){return Vn().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:Fn.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=Wn(Vn().mark((function e(t,n){var r;return Vn().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=Wn(Vn().mark((function e(t){var n;return Vn().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=Wn(Vn().mark((function e(t,n){var r,i;return Vn().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=Wn(Vn().mark((function e(t){var n,r,i,o=arguments;return Vn().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:(s=Wn(Vn().mark((function e(t){var n;return Vn().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 s.apply(this,arguments)})},{key:"setHold",value:(a=Wn(Vn().mark((function e(t,n){var r,i;return Vn().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 a.apply(this,arguments)})},{key:"endCall",value:(o=Wn(Vn().mark((function e(t,n){var r,i;return Vn().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=Wn(Vn().mark((function e(){var t,n=this;return Vn().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){var t=this.getConnectedImpl();if(t)return t.resetHeadsetStateForCall(e)}},{key:"getConnectedImpl",value:function(){var e=this.selectedImplementation;return e&&e.isConnected?e:null}},{key:"subscribeToHeadsetEvents",value:function(e){e.on(Fn.a.deviceAnsweredCall,this.handleDeviceAnsweredCall.bind(this)),e.on(Fn.a.deviceRejectedCall,this.handleDeviceRejectedCall.bind(this)),e.on(Fn.a.deviceEndedCall,this.handleDeviceEndedCall.bind(this)),e.on(Fn.a.deviceMuteStatusChanged,this.handleDeviceMuteStatusChanged.bind(this)),e.on(Fn.a.deviceHoldStatusChanged,this.handleDeviceHoldStatusChanged.bind(this)),e.on(Fn.a.deviceEventLogs,this.handleDeviceLogs.bind(this)),e.on(Fn.a.deviceConnectionStatusChanged,this.handleDeviceConnectionStatusChanged.bind(this)),e.on(Fn.a.webHidPermissionRequested,this.handleWebHidPermissionRequested.bind(this))}},{key:"clearSelectedImplementation",value:function(e){this.selectedImplementation&&(this.selectedImplementation.disconnect(e),this._headsetEvents$.next({event:Fn.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:Fn.a.deviceAnsweredCall,payload:Yn({},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:Fn.a.deviceRejectedCall,payload:Yn({},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:Fn.a.deviceEndedCall,payload:Yn({},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:Fn.a.deviceMuteStatusChanged,payload:Yn({},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:Fn.a.deviceHoldStatusChanged,payload:Yn({},e.body)})}},{key:"handleDeviceConnectionStatusChanged",value:function(){this._headsetEvents$.next({event:Fn.a.deviceConnectionStatusChanged,payload:this.connectionStatus()})}},{key:"handleWebHidPermissionRequested",value:function(e){this.logger.debug("Requesting Webhid Permissions"),this._headsetEvents$.next({event:Fn.a.webHidPermissionRequested,payload:Yn({},e.body)})}},{key:"handleDeviceLogs",value:function(e){this._headsetEvents$.next({event:Fn.a.loggableEvent,payload:Yn({},e.body)})}}],r=[{key:"getInstance",value:function(t){return e.instance&&!t.createNew||(e.instance=new e(t)),e.instance}}],n&&$n(t.prototype,n),r&&$n(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r,i,o,a,s,c,u,l,h,f}();Jn(Qn,"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 a in o)["default","VendorImplementation"].indexOf(a)<0&&function(e){n.d(t,e,(function(){return o[e]}))}(a);var s=n(1);n.d(t,"HeadsetEvents",(function(){return s.a}));var c=n(7);for(var a in c)["default","VendorImplementation","HeadsetEvents"].indexOf(a)<0&&function(e){n.d(t,e,(function(){return c[e]}))}(a);n(8);var u=n(9);for(var a in u)["default","VendorImplementation","HeadsetEvents"].indexOf(a)<0&&function(e){n.d(t,e,(function(){return u[e]}))}(a);t.default=r.a},,function(e,t){var n,r,i=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function s(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:a}catch(e){r=a}}();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=s(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===a||!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||s(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(16),i=n(17),o=n(18);function a(){return c.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(e,t){if(a()<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=s(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=s(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?s(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=s(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=s(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function d(e){if(e>=a())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a().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 T(this,t,n);case"utf8":case"utf-8":return O(this,t,n);case"ascii":return S(this,t,n);case"latin1":case"binary":return x(this,t,n);case"base64":return k(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 y(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function g(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,a=1,s=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;a=2,s/=2,c/=2,n/=2}function u(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(i){var l=-1;for(o=n;o<s;o++)if(u(e,o)===u(t,-1===l?0:o-l)){if(-1===l&&(l=o),o-l+1===c)return l*a}else-1!==l&&(o-=o-l),l=-1}else for(n+c>s&&(n=s-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 a=0;a<r;++a){var s=parseInt(t.substr(2*a,2),16);if(isNaN(s))return a;e[n+a]=s}return a}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=[],a=0;a<e.length&&!((t-=2)<0);++a)n=e.charCodeAt(a),r=n>>8,i=n%256,o.push(i),o.push(r);return o}(t,e.length-n),e,n,r)}function k(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,a,s,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],a=e[i+2],128==(192&o)&&128==(192&a)&&(c=(15&u)<<12|(63&o)<<6|63&a)>2047&&(c<55296||c>57343)&&(l=c);break;case 4:o=e[i+1],a=e[i+2],s=e[i+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(c=(15&u)<<18|(63&o)<<12|(63&a)<<6|63&s)>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=a(),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?s(e,t):void 0!==n?"string"==typeof r?s(e,t).fill(n,r):s(e,t).fill(n):s(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 a=e[n];if(!c.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(r,i),i+=a.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)y(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)y(this,t,t+3),y(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)y(this,t,t+7),y(this,t+1,t+6),y(this,t+2,t+5),y(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),a=(n>>>=0)-(t>>>=0),s=Math.min(o,a),u=this.slice(r,i),l=e.slice(t,n),h=0;h<s;++h)if(u[h]!==l[h]){o=u[h],a=l[h];break}return o<a?-1:a<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 g(this,e,t,n,!0)},c.prototype.lastIndexOf=function(e,t,n){return g(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 S(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 x(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 T(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+=M(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 P(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 R(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 L(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 N(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 D(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||D(e,0,n,4),i.write(e,t,n,r,23,4),n+4}function j(e,t,n,r,o){return o||D(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||P(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||P(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||P(e,1,this.length),this[e]},c.prototype.readUInt16LE=function(e,t){return t||P(e,2,this.length),this[e]|this[e+1]<<8},c.prototype.readUInt16BE=function(e,t){return t||P(e,2,this.length),this[e]<<8|this[e+1]},c.prototype.readUInt32LE=function(e,t){return t||P(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||P(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||P(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||P(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||P(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},c.prototype.readInt16LE=function(e,t){t||P(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||P(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||P(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||P(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||P(e,4,this.length),i.read(this,e,!0,23,4)},c.prototype.readFloatBE=function(e,t){return t||P(e,4,this.length),i.read(this,e,!1,23,4)},c.prototype.readDoubleLE=function(e,t){return t||P(e,8,this.length),i.read(this,e,!0,52,8)},c.prototype.readDoubleBE=function(e,t){return t||P(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)||R(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)||R(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||R(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||R(this,e,t,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):L(this,e,t,!0),t+2},c.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||R(this,e,t,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):L(this,e,t,!1),t+2},c.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||R(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):N(this,e,t,!0),t+4},c.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||R(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):N(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);R(this,e,t,n,i-1,-i)}var o=0,a=1,s=0;for(this[t]=255&e;++o<n&&(a*=256);)e<0&&0===s&&0!==this[t+o-1]&&(s=1),this[t+o]=(e/a>>0)-s&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);R(this,e,t,n,i-1,-i)}var o=n-1,a=1,s=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)e<0&&0===s&&0!==this[t+o+1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+n},c.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||R(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||R(this,e,t,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):L(this,e,t,!0),t+2},c.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||R(this,e,t,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):L(this,e,t,!1),t+2},c.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||R(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):N(this,e,t,!0),t+4},c.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||R(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):N(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 j(this,e,t,!0,n)},c.prototype.writeDoubleBE=function(e,t,n){return j(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 a=c.isBuffer(e)?e:F(new c(e,r).toString()),s=a.length;for(o=0;o<n-t;++o)this[o+t]=a[o%s]}return this};var U=/[^+\/0-9A-Za-z-_]/g;function M(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=[],a=0;a<r;++a){if((n=e.charCodeAt(a))>55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+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(U,"")).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),a=r[0],s=r[1],c=new o(function(e,t,n){return 3*(t+n)/4-n}(0,a,s)),l=0,h=s>0?a-4:a;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===s&&(t=i[e.charCodeAt(n)]<<2|i[e.charCodeAt(n+1)]>>4,c[l++]=255&t);1===s&&(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=[],a=0,s=n-i;a<s;a+=16383)o.push(l(e,a,a+16383>s?s:a+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,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,c=a.length;s<c;++s)r[s]=a[s],i[a.charCodeAt(s)]=s;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,a=[],s=t;s<n;s+=3)i=(e[s]<<16&16711680)+(e[s+1]<<8&65280)+(255&e[s+2]),a.push(r[(o=i)>>18&63]+r[o>>12&63]+r[o>>6&63]+r[63&o]);return a.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(e,t){
32
+ var r=n(16),i=n(17),o=n(18);function a(){return c.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(e,t){if(a()<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=s(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=s(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?s(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=s(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=s(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function d(e){if(e>=a())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a().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 G(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 x(this,t,n);case"utf8":case"utf-8":return k(this,t,n);case"ascii":return S(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 y(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function g(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,a=1,s=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;a=2,s/=2,c/=2,n/=2}function u(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(i){var l=-1;for(o=n;o<s;o++)if(u(e,o)===u(t,-1===l?0:o-l)){if(-1===l&&(l=o),o-l+1===c)return l*a}else-1!==l&&(o-=o-l),l=-1}else for(n+c>s&&(n=s-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 a=0;a<r;++a){var s=parseInt(t.substr(2*a,2),16);if(isNaN(s))return a;e[n+a]=s}return a}function w(e,t,n,r){return B(F(t,e.length-n),e,n,r)}function E(e,t,n,r){return B(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 B(G(t),e,n,r)}function O(e,t,n,r){return B(function(e,t){for(var n,r,i,o=[],a=0;a<e.length&&!((t-=2)<0);++a)n=e.charCodeAt(a),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 k(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i<n;){var o,a,s,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],a=e[i+2],128==(192&o)&&128==(192&a)&&(c=(15&u)<<12|(63&o)<<6|63&a)>2047&&(c<55296||c>57343)&&(l=c);break;case 4:o=e[i+1],a=e[i+2],s=e[i+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(c=(15&u)<<18|(63&o)<<12|(63&a)<<6|63&s)>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=a(),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?s(e,t):void 0!==n?"string"==typeof r?s(e,t).fill(n,r):s(e,t).fill(n):s(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 a=e[n];if(!c.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(r,i),i+=a.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)y(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)y(this,t,t+3),y(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)y(this,t,t+7),y(this,t+1,t+6),y(this,t+2,t+5),y(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),a=(n>>>=0)-(t>>>=0),s=Math.min(o,a),u=this.slice(r,i),l=e.slice(t,n),h=0;h<s;++h)if(u[h]!==l[h]){o=u[h],a=l[h];break}return o<a?-1:a<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 g(this,e,t,n,!0)},c.prototype.lastIndexOf=function(e,t,n){return g(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 O(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 S(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 x(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+=M(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 L(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 N(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 R(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 D(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||D(e,0,n,4),i.write(e,t,n,r,23,4),n+4}function j(e,t,n,r,o){return o||D(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||L(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||L(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||L(e,1,this.length),this[e]},c.prototype.readUInt16LE=function(e,t){return t||L(e,2,this.length),this[e]|this[e+1]<<8},c.prototype.readUInt16BE=function(e,t){return t||L(e,2,this.length),this[e]<<8|this[e+1]},c.prototype.readUInt32LE=function(e,t){return t||L(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||L(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||L(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||L(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||L(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},c.prototype.readInt16LE=function(e,t){t||L(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||L(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||L(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||L(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||L(e,4,this.length),i.read(this,e,!0,23,4)},c.prototype.readFloatBE=function(e,t){return t||L(e,4,this.length),i.read(this,e,!1,23,4)},c.prototype.readDoubleLE=function(e,t){return t||L(e,8,this.length),i.read(this,e,!0,52,8)},c.prototype.readDoubleBE=function(e,t){return t||L(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):N(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):N(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):R(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):R(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,a=1,s=0;for(this[t]=255&e;++o<n&&(a*=256);)e<0&&0===s&&0!==this[t+o-1]&&(s=1),this[t+o]=(e/a>>0)-s&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,a=1,s=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)e<0&&0===s&&0!==this[t+o+1]&&(s=1),this[t+o]=(e/a>>0)-s&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):N(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):N(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):R(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):R(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 j(this,e,t,!0,n)},c.prototype.writeDoubleBE=function(e,t,n){return j(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 a=c.isBuffer(e)?e:F(new c(e,r).toString()),s=a.length;for(o=0;o<n-t;++o)this[o+t]=a[o%s]}return this};var U=/[^+\/0-9A-Za-z-_]/g;function M(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=[],a=0;a<r;++a){if((n=e.charCodeAt(a))>55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+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 G(e){return r.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(U,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function B(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),a=r[0],s=r[1],c=new o(function(e,t,n){return 3*(t+n)/4-n}(0,a,s)),l=0,h=s>0?a-4:a;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===s&&(t=i[e.charCodeAt(n)]<<2|i[e.charCodeAt(n+1)]>>4,c[l++]=255&t);1===s&&(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=[],a=0,s=n-i;a<s;a+=16383)o.push(l(e,a,a+16383>s?s:a+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,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,c=a.length;s<c;++s)r[s]=a[s],i[a.charCodeAt(s)]=s;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,a=[],s=t;s<n;s+=3)i=(e[s]<<16&16711680)+(e[s+1]<<8&65280)+(255&e[s+2]),a.push(r[(o=i)>>18&63]+r[o>>12&63]+r[o>>6&63]+r[63&o]);return a.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
34
  t.read=function(e,t,n,r,i){var o,a,s=8*i-r-1,c=(1<<s)-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+=s;l>0;o=256*o+e[t+h],h+=f,l-=8);for(a=o&(1<<-l)-1,o>>=-l,l+=r;l>0;a=256*a+e[t+h],h+=f,l-=8);if(0===o)o=1-u;else{if(o===c)return a?NaN:1/0*(d?-1:1);a+=Math.pow(2,r),o-=u}return(d?-1:1)*a*Math.pow(2,o-r)},t.write=function(e,t,n,r,i,o){var a,s,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?(s=isNaN(t)?1:0,a=l):(a=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-a))<1&&(a--,c*=2),(t+=a+h>=1?f/c:f*Math.pow(2,1-h))*c>=2&&(a++,c/=2),a+h>=l?(s=0,a=l):a+h>=1?(s=(t*c-1)*Math.pow(2,i),a+=h):(s=t*Math.pow(2,h-1)*Math.pow(2,i),a=0));i>=8;e[n+d]=255&s,d+=p,s/=256,i-=8);for(a=a<<i|s,u+=i;u>0;e[n+d]=255&a,d+=p,a/=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