UNPKG

@citrixcloud/ucsdk

Version:

Citrix UCSDK for developing optimized WebRTC applications

114 lines (111 loc) 56.5 kB
//=============================================== // By using these Developer Materials, you accept and agree to comply with // the terms of the Cloud Software Group Developer Terms of Use found here // (https://www.cloud.com/legal) //=============================================== var $jscomp={scope:{},getGlobal:function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global?global:a}};$jscomp.global=$jscomp.getGlobal(this);$jscomp.initSymbol=function(){$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol);$jscomp.initSymbol=function(){}};$jscomp.symbolCounter_=0;$jscomp.Symbol=function(a){return"jscomp_symbol_"+a+$jscomp.symbolCounter_++}; $jscomp.initSymbolIterator=function(){$jscomp.initSymbol();$jscomp.global.Symbol.iterator||($jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));$jscomp.initSymbolIterator=function(){}};$jscomp.makeIterator=function(a){$jscomp.initSymbolIterator();if(a[$jscomp.global.Symbol.iterator])return a[$jscomp.global.Symbol.iterator]();var c=0;return{next:function(){return c==a.length?{done:!0}:{done:!1,value:a[c++]}}}}; $jscomp.arrayFromIterator=function(a){for(var c,d=[];!(c=a.next()).done;)d.push(c.value);return d};$jscomp.arrayFromIterable=function(a){return a instanceof Array?a:$jscomp.arrayFromIterator($jscomp.makeIterator(a))}; $jscomp.inherits=function(a,c){function d(){}d.prototype=c.prototype;a.prototype=new d;a.prototype.constructor=a;for(var f in c)if($jscomp.global.Object.defineProperties){var b=$jscomp.global.Object.getOwnPropertyDescriptor(c,f);b&&$jscomp.global.Object.defineProperty(a,f,b)}else a[f]=c[f]};$jscomp.array=$jscomp.array||{};$jscomp.array.done_=function(){return{done:!0,value:void 0}}; $jscomp.array.arrayIterator_=function(a,c){a instanceof String&&(a=String(a));var d=0;$jscomp.initSymbol();$jscomp.initSymbolIterator();var f={},b=(f.next=function(){if(d<a.length){var f=d++;return{value:c(f,a[f]),done:!1}}b.next=$jscomp.array.done_;return $jscomp.array.done_()},f[Symbol.iterator]=function(){return b},f);return b}; $jscomp.array.findInternal_=function(a,c,d){a instanceof String&&(a=String(a));for(var f=a.length,b=0;b<f;b++){var k=a[b];if(c.call(d,k,b,a))return{i:b,v:k}}return{i:-1,v:void 0}}; $jscomp.array.from=function(a,c,d){c=void 0===c?function(a){return a}:c;var f=[];$jscomp.initSymbol();$jscomp.initSymbolIterator();if(a[Symbol.iterator]){$jscomp.initSymbol();$jscomp.initSymbolIterator();a=a[Symbol.iterator]();for(var b;!(b=a.next()).done;)f.push(c.call(d,b.value))}else{b=a.length;for(var k=0;k<b;k++)f.push(c.call(d,a[k]))}return f};$jscomp.array.of=function(a){for(var c=[],d=0;d<arguments.length;++d)c[d-0]=arguments[d];return $jscomp.array.from(c)}; $jscomp.array.entries=function(){return $jscomp.array.arrayIterator_(this,function(a,c){return[a,c]})};$jscomp.array.entries$install=function(){Array.prototype.entries||(Array.prototype.entries=$jscomp.array.entries)};$jscomp.array.keys=function(){return $jscomp.array.arrayIterator_(this,function(a){return a})};$jscomp.array.keys$install=function(){Array.prototype.keys||(Array.prototype.keys=$jscomp.array.keys)};$jscomp.array.values=function(){return $jscomp.array.arrayIterator_(this,function(a,c){return c})}; $jscomp.array.values$install=function(){Array.prototype.values||(Array.prototype.values=$jscomp.array.values)};$jscomp.array.copyWithin=function(a,c,d){var f=this.length;a=Number(a);c=Number(c);d=Number(null!=d?d:f);if(a<c)for(d=Math.min(d,f);c<d;)c in this?this[a++]=this[c++]:(delete this[a++],c++);else for(d=Math.min(d,f+c-a),a+=d-c;d>c;)--d in this?this[--a]=this[d]:delete this[a];return this};$jscomp.array.copyWithin$install=function(){Array.prototype.copyWithin||(Array.prototype.copyWithin=$jscomp.array.copyWithin)}; $jscomp.array.fill=function(a,c,d){null!=d&&a.length||(d=this.length||0);d=Number(d);for(c=Number((void 0===c?0:c)||0);c<d;c++)this[c]=a;return this};$jscomp.array.fill$install=function(){Array.prototype.fill||(Array.prototype.fill=$jscomp.array.fill)};$jscomp.array.find=function(a,c){return $jscomp.array.findInternal_(this,a,c).v};$jscomp.array.find$install=function(){Array.prototype.find||(Array.prototype.find=$jscomp.array.find)}; $jscomp.array.findIndex=function(a,c){return $jscomp.array.findInternal_(this,a,c).i};$jscomp.array.findIndex$install=function(){Array.prototype.findIndex||(Array.prototype.findIndex=$jscomp.array.findIndex)};$jscomp.Map=function(a){a=void 0===a?[]:a;this.data_={};this.head_=$jscomp.Map.createHead_();this.size=0;if(a){a=$jscomp.makeIterator(a);for(var c=a.next();!c.done;c=a.next())c=c.value,this.set(c[0],c[1])}}; $jscomp.Map.checkBrowserConformance_=function(){var a=$jscomp.global.Map;if(!a||!a.prototype.entries||!Object.seal)return!1;try{var c=Object.seal({x:4}),d=new a($jscomp.makeIterator([[c,"s"]]));if("s"!=d.get(c)||1!=d.size||d.get({x:4})||d.set({x:4},"t")!=d||2!=d.size)return!1;var f=d.entries(),b=f.next();if(b.done||b.value[0]!=c||"s"!=b.value[1])return!1;b=f.next();return b.done||4!=b.value[0].x||"t"!=b.value[1]||!f.next().done?!1:!0}catch(k){return!1}}; $jscomp.Map.createHead_=function(){var a={};return a.previous=a.next=a.head=a};$jscomp.Map.getId_=function(a){if(!(a instanceof Object))return String(a);$jscomp.Map.key_ in a||a instanceof Object&&Object.isExtensible&&Object.isExtensible(a)&&$jscomp.Map.defineProperty_(a,$jscomp.Map.key_,++$jscomp.Map.index_);return $jscomp.Map.key_ in a?a[$jscomp.Map.key_]:" "+a}; $jscomp.Map.prototype.set=function(a,c){var d=this.maybeGetEntry_(a),f=d.id,b=d.list,d=d.entry;b||(b=this.data_[f]=[]);d?d.value=c:(d={next:this.head_,previous:this.head_.previous,head:this.head_,key:a,value:c},b.push(d),this.head_.previous.next=d,this.head_.previous=d,this.size++);return this}; $jscomp.Map.prototype["delete"]=function(a){var c=this.maybeGetEntry_(a);a=c.id;var d=c.list,f=c.index;return(c=c.entry)&&d?(d.splice(f,1),d.length||delete this.data_[a],c.previous.next=c.next,c.next.previous=c.previous,c.head=null,this.size--,!0):!1};$jscomp.Map.prototype.clear=function(){this.data_={};this.head_=this.head_.previous=$jscomp.Map.createHead_();this.size=0};$jscomp.Map.prototype.has=function(a){return!!this.maybeGetEntry_(a).entry}; $jscomp.Map.prototype.get=function(a){return(a=this.maybeGetEntry_(a).entry)&&a.value};$jscomp.Map.prototype.maybeGetEntry_=function(a){var c=$jscomp.Map.getId_(a),d=this.data_[c];if(d)for(var f=0;f<d.length;f++){var b=d[f];if(a!==a&&b.key!==b.key||a===b.key)return{id:c,list:d,index:f,entry:b}}return{id:c,list:d,index:-1,entry:void 0}};$jscomp.Map.prototype.entries=function(){return this.iter_(function(a){return[a.key,a.value]})};$jscomp.Map.prototype.keys=function(){return this.iter_(function(a){return a.key})}; $jscomp.Map.prototype.values=function(){return this.iter_(function(a){return a.value})};$jscomp.Map.prototype.forEach=function(a,c){for(var d=$jscomp.makeIterator(this.entries()),f=d.next();!f.done;f=d.next())f=f.value,a.call(c,f[1],f[0],this)}; $jscomp.Map.prototype.iter_=function(a){var c=this,d=this.head_;$jscomp.initSymbol();$jscomp.initSymbolIterator();var f={};return f.next=function(){if(d){for(;d.head!=c.head_;)d=d.previous;for(;d.next!=d.head;)return d=d.next,{done:!1,value:a(d)};d=null}return{done:!0,value:void 0}},f[Symbol.iterator]=function(){return this},f};$jscomp.Map.index_=0;$jscomp.Map.defineProperty_=Object.defineProperty?function(a,c,d){Object.defineProperty(a,c,{value:String(d)})}:function(a,c,d){a[c]=String(d)}; $jscomp.Map.Entry_=function(){};$jscomp.Map.ASSUME_NO_NATIVE=!1;$jscomp.Map$install=function(){$jscomp.initSymbol();$jscomp.initSymbolIterator();!$jscomp.Map.ASSUME_NO_NATIVE&&$jscomp.Map.checkBrowserConformance_()?$jscomp.Map=$jscomp.global.Map:($jscomp.initSymbol(),$jscomp.initSymbolIterator(),$jscomp.Map.prototype[Symbol.iterator]=$jscomp.Map.prototype.entries,$jscomp.initSymbol(),$jscomp.Map.key_=Symbol("map-id-key"));$jscomp.Map$install=function(){}};$jscomp.math=$jscomp.math||{}; $jscomp.math.clz32=function(a){a=Number(a)>>>0;if(0===a)return 32;var c=0;0===(a&4294901760)&&(a<<=16,c+=16);0===(a&4278190080)&&(a<<=8,c+=8);0===(a&4026531840)&&(a<<=4,c+=4);0===(a&3221225472)&&(a<<=2,c+=2);0===(a&2147483648)&&c++;return c};$jscomp.math.imul=function(a,c){a=Number(a);c=Number(c);var d=a&65535,f=c&65535;return d*f+((a>>>16&65535)*f+d*(c>>>16&65535)<<16>>>0)|0};$jscomp.math.sign=function(a){a=Number(a);return 0===a||isNaN(a)?a:0<a?1:-1}; $jscomp.math.log10=function(a){return Math.log(a)/Math.LN10};$jscomp.math.log2=function(a){return Math.log(a)/Math.LN2};$jscomp.math.log1p=function(a){a=Number(a);if(.25>a&&-.25<a){for(var c=a,d=1,f=a,b=0,k=1;b!=f;)c*=a,k*=-1,f=(b=f)+k*c/++d;return f}return Math.log(1+a)};$jscomp.math.expm1=function(a){a=Number(a);if(.25>a&&-.25<a){for(var c=a,d=1,f=a,b=0;b!=f;)c*=a/++d,f=(b=f)+c;return f}return Math.exp(a)-1};$jscomp.math.cosh=function(a){a=Number(a);return(Math.exp(a)+Math.exp(-a))/2}; $jscomp.math.sinh=function(a){a=Number(a);return 0===a?a:(Math.exp(a)-Math.exp(-a))/2};$jscomp.math.tanh=function(a){a=Number(a);if(0===a)return a;var c=Math.exp(2*-Math.abs(a)),c=(1-c)/(1+c);return 0>a?-c:c};$jscomp.math.acosh=function(a){a=Number(a);return Math.log(a+Math.sqrt(a*a-1))};$jscomp.math.asinh=function(a){a=Number(a);if(0===a)return a;var c=Math.log(Math.abs(a)+Math.sqrt(a*a+1));return 0>a?-c:c}; $jscomp.math.atanh=function(a){a=Number(a);return($jscomp.math.log1p(a)-$jscomp.math.log1p(-a))/2}; $jscomp.math.hypot=function(a,c,d){for(var f=[],b=2;b<arguments.length;++b)f[b-2]=arguments[b];a=Number(a);c=Number(c);for(var k=Math.max(Math.abs(a),Math.abs(c)),q=$jscomp.makeIterator(f),b=q.next();!b.done;b=q.next())k=Math.max(k,Math.abs(b.value));if(1E100<k||1E-100>k){a/=k;c/=k;q=a*a+c*c;f=$jscomp.makeIterator(f);for(b=f.next();!b.done;b=f.next())b=b.value,b=Number(b)/k,q+=b*b;return Math.sqrt(q)*k}k=a*a+c*c;f=$jscomp.makeIterator(f);for(b=f.next();!b.done;b=f.next())b=b.value,b=Number(b),k+= b*b;return Math.sqrt(k)};$jscomp.math.trunc=function(a){a=Number(a);if(isNaN(a)||Infinity===a||-Infinity===a||0===a)return a;var c=Math.floor(Math.abs(a));return 0>a?-c:c};$jscomp.math.cbrt=function(a){if(0===a)return a;a=Number(a);var c=Math.pow(Math.abs(a),1/3);return 0>a?-c:c};$jscomp.number=$jscomp.number||{};$jscomp.number.isFinite=function(a){return"number"!==typeof a?!1:!isNaN(a)&&Infinity!==a&&-Infinity!==a}; $jscomp.number.isInteger=function(a){return $jscomp.number.isFinite(a)?a===Math.floor(a):!1};$jscomp.number.isNaN=function(a){return"number"===typeof a&&isNaN(a)};$jscomp.number.isSafeInteger=function(a){return $jscomp.number.isInteger(a)&&Math.abs(a)<=$jscomp.number.MAX_SAFE_INTEGER};$jscomp.number.EPSILON=Math.pow(2,-52);$jscomp.number.MAX_SAFE_INTEGER=9007199254740991;$jscomp.number.MIN_SAFE_INTEGER=-9007199254740991;$jscomp.object=$jscomp.object||{}; $jscomp.object.assign=function(a,c){for(var d=[],f=1;f<arguments.length;++f)d[f-1]=arguments[f];d=$jscomp.makeIterator(d);for(f=d.next();!f.done;f=d.next())if(f=f.value)for(var b in f)Object.prototype.hasOwnProperty.call(f,b)&&(a[b]=f[b]);return a};$jscomp.object.is=function(a,c){return a===c?0!==a||1/a===1/c:a!==a&&c!==c};$jscomp.Set=function(a){a=void 0===a?[]:a;this.map_=new $jscomp.Map;if(a){a=$jscomp.makeIterator(a);for(var c=a.next();!c.done;c=a.next())this.add(c.value)}this.size=this.map_.size}; $jscomp.Set.checkBrowserConformance_=function(){var a=$jscomp.global.Set;if(!a||!a.prototype.entries||!Object.seal)return!1;var c=Object.seal({x:4}),a=new a($jscomp.makeIterator([c]));if(a.has(c)||1!=a.size||a.add(c)!=a||1!=a.size||a.add({x:4})!=a||2!=a.size)return!1;var a=a.entries(),d=a.next();if(d.done||d.value[0]!=c||d.value[1]!=c)return!1;d=a.next();return d.done||d.value[0]==c||4!=d.value[0].x||d.value[1]!=d.value[0]?!1:a.next().done}; $jscomp.Set.prototype.add=function(a){this.map_.set(a,a);this.size=this.map_.size;return this};$jscomp.Set.prototype["delete"]=function(a){a=this.map_["delete"](a);this.size=this.map_.size;return a};$jscomp.Set.prototype.clear=function(){this.map_.clear();this.size=0};$jscomp.Set.prototype.has=function(a){return this.map_.has(a)};$jscomp.Set.prototype.entries=function(){return this.map_.entries()};$jscomp.Set.prototype.values=function(){return this.map_.values()}; $jscomp.Set.prototype.forEach=function(a,c){var d=this;this.map_.forEach(function(f){return a.call(c,f,f,d)})};$jscomp.Set.ASSUME_NO_NATIVE=!1;$jscomp.Set$install=function(){!$jscomp.Set.ASSUME_NO_NATIVE&&$jscomp.Set.checkBrowserConformance_()?$jscomp.Set=$jscomp.global.Set:($jscomp.Map$install(),$jscomp.initSymbol(),$jscomp.initSymbolIterator(),$jscomp.Set.prototype[Symbol.iterator]=$jscomp.Set.prototype.values);$jscomp.Set$install=function(){}};$jscomp.string=$jscomp.string||{}; $jscomp.string.noRegExp_=function(a,c){if(a instanceof RegExp)throw new TypeError("First argument to String.prototype."+c+" must not be a regular expression");}; $jscomp.string.fromCodePoint=function(a){for(var c=[],d=0;d<arguments.length;++d)c[d-0]=arguments[d];for(var d="",c=$jscomp.makeIterator(c),f=c.next();!f.done;f=c.next()){f=f.value;f=+f;if(0>f||1114111<f||f!==Math.floor(f))throw new RangeError("invalid_code_point "+f);65535>=f?d+=String.fromCharCode(f):(f-=65536,d+=String.fromCharCode(f>>>10&1023|55296),d+=String.fromCharCode(f&1023|56320))}return d}; $jscomp.string.repeat=function(a){var c=this.toString();if(0>a||1342177279<a)throw new RangeError("Invalid count value");a|=0;for(var d="";a;)if(a&1&&(d+=c),a>>>=1)c+=c;return d};$jscomp.string.repeat$install=function(){String.prototype.repeat||(String.prototype.repeat=$jscomp.string.repeat)}; $jscomp.string.codePointAt=function(a){var c=this.toString(),d=c.length;a=Number(a)||0;if(0<=a&&a<d){a|=0;var f=c.charCodeAt(a);if(55296>f||56319<f||a+1===d)return f;a=c.charCodeAt(a+1);return 56320>a||57343<a?f:1024*(f-55296)+a+9216}};$jscomp.string.codePointAt$install=function(){String.prototype.codePointAt||(String.prototype.codePointAt=$jscomp.string.codePointAt)}; $jscomp.string.includes=function(a,c){c=void 0===c?0:c;$jscomp.string.noRegExp_(a,"includes");return-1!==this.toString().indexOf(a,c)};$jscomp.string.includes$install=function(){String.prototype.includes||(String.prototype.includes=$jscomp.string.includes)}; $jscomp.string.startsWith=function(a,c){c=void 0===c?0:c;$jscomp.string.noRegExp_(a,"startsWith");var d=this.toString();a+="";for(var f=d.length,b=a.length,k=Math.max(0,Math.min(c|0,d.length)),q=0;q<b&&k<f;)if(d[k++]!=a[q++])return!1;return q>=b};$jscomp.string.startsWith$install=function(){String.prototype.startsWith||(String.prototype.startsWith=$jscomp.string.startsWith)}; $jscomp.string.endsWith=function(a,c){$jscomp.string.noRegExp_(a,"endsWith");var d=this.toString();a+="";void 0===c&&(c=d.length);for(var f=Math.max(0,Math.min(c|0,d.length)),b=a.length;0<b&&0<f;)if(d[--f]!=a[--b])return!1;return 0>=b};$jscomp.string.endsWith$install=function(){String.prototype.endsWith||(String.prototype.endsWith=$jscomp.string.endsWith)}; (function(a,c){"object"===typeof exports&&"object"===typeof module?module.exports=c():"function"===typeof define&&define.amd?define([],c):"object"===typeof exports?exports.CitrixBootstrap=c():a.CitrixBootstrap=c()})(self,function(){return function(){function a(f){var b=d[f];if(void 0!==b)return b.exports;b=d[f]={exports:{}};c[f].call(b.exports,b,b.exports,a);return b.exports}var c={67:function(a,b,c){function d(){var a=!0,b=l();"undefined"!==typeof b&&"[object Window]"==={}.toString.call(b)&&(a=!1); m.logger.info("isNodeApp(): rv:"+a);return a}function l(){var a=window;try{for(;a&&a.parent&&a!=a.parent.window&&"[object global]"!=={}.toString.call(a);){var b=a.parent.window;try{b.location.href,a=b}catch(h){break}}}catch(h){m.logger.error("rootWindow(): error: "+h)}return a}Object.defineProperty(b,"__esModule",{value:!0});b.generateUUIDV4=b.nodeWindow=b.rootWindow=b.isNodeApp=b.RedirectionState=void 0;var m=c(646);(function(a){a[a.Error=-2]="Error";a[a.SessionInactive=-1]="SessionInactive";a[a.RedirectionNotSupported= 0]="RedirectionNotSupported";a[a.RedirectionSupported=1]="RedirectionSupported"})(b.RedirectionState||(b.RedirectionState={}));b.isNodeApp=d;b.rootWindow=l;b.nodeWindow=function(){return d()?l():window};b.generateUUIDV4=function(){return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,function(a){return(a^crypto.getRandomValues(new Uint8Array(1))[0]&15>>a/4).toString(16)})}},146:function(a,b,c){Object.defineProperty(b,"__esModule",{value:!0});b.Bootstrap=b.BootstrapCommand=b.getTitleAccessor= b.TitleAccessor=void 0;var d=c(646),l=c(882),m=c(759),g=c(411),p=c(67),h=c(461);a=function(){function a(){}a.prototype.getWindowTitle=function(){return p.rootWindow().document.title};a.prototype.setWindowTitle=function(a){p.rootWindow().document.title=a};return a}();b.TitleAccessor=a;var e=new a;b.getTitleAccessor=function(){return e};var n;(function(a){a.EnsureConnected="EnsureConnected";a.GetRedirectionState="GetRedirectionState";a.GetWindowHandle="GetWindowHandle"})(n=b.BootstrapCommand||(b.BootstrapCommand= {}));a=function(){function a(){var b=this;this.isConnected_=!1;this.deferredActionsMap_=new Map;this.commandInProgress_=new Map;this.statePoller_=null;for(var e in n)this.deferredActionsMap_.set(e,[]),this.commandInProgress_.set(e,!1);this.statePoller_=new g.StatePoller("RedirectionState",15E3,function(){return b.getRedirectionState()})}a.prototype.user_friendly_id=function(){return"Bootstrap"};a.getBootstrapVersion=function(){return h.HDXBOOT_VERSION};a.prototype.setIsConnected=function(a){d.logger.info(this.user_friendly_id()+ ".setIsConnected isConnected = "+a);this.isConnected_=a};a.prototype.establishConnection=function(){return this.ensureConnected()};a.prototype.disconnect=function(){this.statePoller_.cleanup();l.getBootstrapProtocol().disconnect();this.setIsConnected(!1)};a.prototype.ensureConnected=function(){var b=this,e=this,h=++a.connectRequestNumber_;return new Promise(function(a,c){d.logger.info(e.user_friendly_id()+".ensureConnected called. isConnected_ = "+e.isConnected_+", commandInProgress_ = "+e.commandInProgress_.get(n.EnsureConnected)+ ", requestNum = "+h);e.isConnected_?a():b.processCommand(n.EnsureConnected,a,c,function(){l.getBootstrapProtocol().establishConnection().then(function(){d.logger.info(e.user_friendly_id()+".ensureConnected Connection Successful. requestNum = "+h);e.setIsConnected(!0);e.completeCommand(n.EnsureConnected,!0)})["catch"](function(){d.logger.info(e.user_friendly_id()+".ensureConnected Connection Failed. requestNum = "+h);e.setIsConnected(!1);e.completeCommand(n.EnsureConnected,!1)})})})};a.prototype.processCommand= function(a,e,b,h){e=new m.deferred_action(e,b,"Bootstrap_"+a);(b=this.deferredActionsMap_.get(a))?(b.push(e),this.commandInProgress_.get(a)?d.logger.info(this.user_friendly_id()+".processCommand command already in progress so deferring cmd = "+a):(d.logger.info(this.user_friendly_id()+".processCommand command not already in progress so starting cmd = "+a),this.commandInProgress_.set(a,!0),h())):d.logger.error(this.user_friendly_id()+".processCommand called with unknown cmd: "+a)};a.prototype.completeCommand= function(a,e,b){var h=this.deferredActionsMap_.get(a);if(h)for(this.commandInProgress_.set(a,!1);0<h.length;)(a=h.shift())&&(void 0!=b?a.postWithResult(e,b):a.post(e));else d.logger.error(this.user_friendly_id()+".completeCommand called with unknown cmd: "+a)};Object.defineProperty(a.prototype,"onRedirectionStateChanged",{set:function(a){l.getBootstrapProtocol().setRedirectionStateChangedCB(a)},enumerable:!1,configurable:!0});a.prototype.getRedirectionState=function(){var a=this;d.logger.info(this.user_friendly_id()+ ".getRedirectionState() called.");var e=this;return new Promise(function(b){e.ensureConnected().then(function(){e.processCommand(n.GetRedirectionState,b,b,function(){l.getBootstrapProtocol().getRedirectionState().then(function(b){d.logger.info(a.user_friendly_id()+".getRedirectionState() returning data:"+JSON.stringify(b));e.completeCommand(n.GetRedirectionState,!0,b.state)})["catch"](function(b){d.logger.error(a.user_friendly_id()+".getRedirectionState() rejected with errorCode:"+b);e.completeCommand(n.GetRedirectionState, !0,p.RedirectionState.Error)})})})["catch"](function(){d.logger.error(a.user_friendly_id()+".getRedirectionState() connection failed. Returning Error(-2).");b(p.RedirectionState.Error)})})};a.prototype.getWindowHandle=function(){var a=this;d.logger.info(this.user_friendly_id()+".getWindowHandle() called.");var b=this;return new Promise(function(e){b.ensureConnected().then(function(){b.processCommand(n.GetWindowHandle,e,e,function(){b.processGetWindowHandle().then(function(e){d.logger.info(a.user_friendly_id()+ ".getWindowHandle() returning data:"+JSON.stringify(e));b.completeCommand(n.GetWindowHandle,!0,e)})["catch"](function(e){d.logger.error(a.user_friendly_id()+".getWindowHandle() rejected with errorCode:"+e);b.completeCommand(n.GetWindowHandle,!0,"")})})})["catch"](function(){d.logger.error(a.user_friendly_id()+".getWindowHandle() connection failed. Returning empty string.");e("")})})};a.prototype.processGetWindowHandle=function(){var a=this;return new Promise(function(b,h){var c=e.getWindowTitle(), f=p.generateUUIDV4();e.setWindowTitle(f);f=new l.WindowHandleCmdData(f);l.getBootstrapProtocol().getWindowHandle(f).then(function(h){d.logger.info(a.user_friendly_id()+".processGetWindowHandle() returning:"+h.windowHandle);e.setWindowTitle(c);b(h.windowHandle)})["catch"](function(b){d.logger.error(a.user_friendly_id()+".processGetWindowHandle() rejected with errorCode:"+b);e.setWindowTitle(c);h(b)})})};a.prototype.waitforConnectionState=function(a){return this.statePoller_.waitForState(a)};a.connectRequestNumber_= 0;return a}();b.Bootstrap=a},165:function(a,b,c){var d=this&&this.__extends||function(){var a=function(b,e){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e])};return a(b,e)};return function(b,e){function c(){this.constructor=b}a(b,e);b.prototype=null===e?Object.create(e):(c.prototype=e.prototype,new c)}}();Object.defineProperty(b,"__esModule",{value:!0});b.FeaturesProtocolHandler=b.FeaturesProtocolCommands= void 0;var l=c(646),m=c(823),g;(g=b.FeaturesProtocolCommands||(b.FeaturesProtocolCommands={})).FeatureSupport="feature-support";a=function(a){function b(){var e=a.call(this)||this;e.name="features";e.vdaFeaturesReceived_=!1;e.vdaFeatures_=[];m.protocol_handler_manager.addProtocolHandler(e);return e}d(b,a);b.prototype.init=function(a){};b.prototype.deinit=function(){};b.prototype.user_friendly_id=function(){return"FeaturesProtocolHandler"};Object.defineProperty(b.prototype,"vdaFeatures",{get:function(){return this.vdaFeatures_}, enumerable:!1,configurable:!0});b.prototype.haveVdaFeaturesBeenReceived=function(){return this.vdaFeaturesReceived_};b.prototype.on_message=function(a){var b=a.command,h=a.agent_version;b==g.FeatureSupport?(a=a.features,l.logger.info(this.user_friendly_id()+"feature-support command received, version: "+h+" features:"+a),a&&(this.vdaFeatures_=a,this.vdaFeaturesReceived_=!0,m.protocol_handler_manager.oninit(this.vdaFeatures_))):l.logger.info(this.user_friendly_id()+" unknown command id:"+b)};return b}(m.protocol_base); b.FeaturesProtocolHandler=a},323:function(a,b,c){Object.defineProperty(b,"__esModule",{value:!0});b.number_allocator=void 0;var d=c(646);a=function(){function a(b,c,d){this.min_=b<a.BOUND_LOW||b>a.BOUND_HIGH?a.DEF_MIN:b;this.max_=c<a.BOUND_LOW||c>a.BOUND_HIGH?a.DEF_MAX:c;this.interval_=d<a.BOUND_LOW||d>a.BOUND_HIGH?a.DEF_INTERVAL:d;this.numbers_=new Map;this.numbers_.set(this.min_,this.max_)}Object.defineProperty(a.prototype,"max",{get:function(){return this.max_},enumerable:!1,configurable:!0}); Object.defineProperty(a.prototype,"min",{get:function(){return this.min_},enumerable:!1,configurable:!0});Object.defineProperty(a.prototype,"interval",{get:function(){return this.interval_},enumerable:!1,configurable:!0});Object.defineProperty(a.prototype,"numbers",{get:function(){return this.numbers_},enumerable:!1,configurable:!0});a.prototype.allocate=function(){var a=-1;if(0<this.numbers_.size){var b=Array.from(this.numbers_.keys()).sort(function(a,b){return a-b})[0],c=this.numbers_.get(b);d.logger.debug("low="+ b+" this.min="+this.min_+" this.interval="+this.interval_);a=this.min_+(b-this.min_)*this.interval_;this.numbers_["delete"](b);b+=1;b<c&&this.numbers_.set(b,c)}return a};a.prototype.deallocate=function(a){var b=Array.from(this.numbers_.keys()).sort(function(a,b){return a-b});a=(a-this.min_)/this.interval_;for(var c=!1,h=0;h<b.length&&(b[h]==a+1?(this.numbers_.set(a,this.numbers_.get(b[h])),this.numbers_["delete"](b[h]),c=!0):this.numbers_.get(b[h])==a&&(this.numbers_.set(b[h],a+1),h+1<b.length&&b[h+ 1]==a+1&&(this.numbers_.set(b[h],this.numbers_.get(b[h+1])),this.numbers_["delete"](b[h+1])),c=!0),!c);h++);c||this.numbers_.set(a,a+1)};a.BOUND_LOW=0;a.BOUND_HIGH=4294967295;a.DEF_MIN=0;a.DEF_MAX=1024;a.DEF_INTERVAL=1;return a}();b.number_allocator=a},401:function(a,b,c){var d=this&&this.__extends||function(){var a=function(b,e){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e])};return a(b,e)};return function(b, e){function c(){this.constructor=b}a(b,e);b.prototype=null===e?Object.create(e):(c.prototype=e.prototype,new c)}}();Object.defineProperty(b,"__esModule",{value:!0});b.LoggingProtocol=void 0;var l=c(882),m=c(823),g;(function(a){a[a.UNINITIALIZED=0]="UNINITIALIZED";a[a.ENABLED=1]="ENABLED";a[a.DISABLED=2]="DISABLED"})(g||(g={}));a=function(a){function b(e,c){var h=a.call(this)||this;h.name="logging";h.state_=g.UNINITIALIZED;h.handleFailedHandshake=function(){h.state_===g.UNINITIALIZED&&h.disable()}; m.protocol_handler_manager.addProtocolHandler(h);h.onCapsReceivedCb=e;h.onDisableCb=c;return h}d(b,a);b.prototype.disable=function(){this.state_=g.DISABLED;this.onDisableCb()};b.prototype.init=function(a){var b=this;void 0===a.find(function(a){return a===b.name})&&this.disable()};b.prototype.deinit=function(){this.clearRequests();this.clearCallbacks()};b.prototype.on_message=function(a){if("capabilities"===a.command)l.getRedirector().WSSendObject({v:this.name,command:"capabilities",caps:[]}),this.onCapsReceivedCb(a.caps); else if("configure"===a.command){var b=this.processResponseEx(Number(a.req_id));void 0!==b?!0===a.status?(this.state_=g.ENABLED,b.resolve({level:a.level,delay:a.delay,buffer_size_max:a.buffer_size_max})):(this.disable(),b.reject("failed to configure logging protocol on agent!")):this.disable()}else"shutdown"===a.command&&this.disable()};b.prototype.isEnabled=function(){return this.state_===g.UNINITIALIZED||this.state_===g.ENABLED};b.prototype.configure=function(a){var b=this;return new Promise(function(c, h){var d=b.processRequestEx(c,h);l.getRedirector().WSSendObject({v:b.name,command:"configure",req_id:String(d),client_info:a.clientInfo,vendor_name:a.vendorName});setTimeout(b.handleFailedHandshake,6E4)})};b.prototype.log=function(a){l.getRedirector().WSSendObject({v:this.name,command:"log",data:a})};return b}(m.protocol_base);b.LoggingProtocol=a},411:function(a,b,c){var d=this&&this.__awaiter||function(a,b,e,c){function d(a){return a instanceof e?a:new e(function(b){b(a)})}return new (e||(e=Promise))(function(e, f){function k(a){try{v(c.next(a))}catch(b){f(b)}}function g(a){try{v(c["throw"](a))}catch(b){f(b)}}function v(a){a.done?e(a.value):d(a.value).then(k,g)}v((c=c.apply(a,b||[])).next())})},l=this&&this.__generator||function(a,b){function e(a){return function(b){return c([a,b])}}function c(e){if(f)throw new TypeError("Generator is already executing.");for(;d;)try{if(f=1,k&&(g=e[0]&2?k["return"]:e[0]?k["throw"]||((g=k["return"])&&g.call(k),0):k.next)&&!(g=g.call(k,e[1])).done)return g;if(k=0,g)e=[e[0]& 2,g.value];switch(e[0]){case 0:case 1:g=e;break;case 4:return d.label++,{value:e[1],done:!1};case 5:d.label++;k=e[1];e=[0];continue;case 7:e=d.ops.pop();d.trys.pop();continue;default:if(!(g=d.trys,g=0<g.length&&g[g.length-1])&&(6===e[0]||2===e[0])){d=0;continue}if(3===e[0]&&(!g||e[1]>g[0]&&e[1]<g[3]))d.label=e[1];else if(6===e[0]&&d.label<g[1])d.label=g[1],g=e;else if(g&&d.label<g[2])d.label=g[2],d.ops.push(e);else{g[2]&&d.ops.pop();d.trys.pop();continue}}e=b.call(a,d)}catch(n){e=[6,n],k=0}finally{f= g=0}if(e[0]&5)throw e[1];return{value:e[0]?e[1]:void 0,done:!0}}var d={label:0,sent:function(){if(g[0]&1)throw g[1];return g[1]},trys:[],ops:[]},f,k,g,q;$jscomp.initSymbol();$jscomp.initSymbol();$jscomp.initSymbolIterator();return q={next:e(0),"throw":e(1),"return":e(2)},"function"===typeof Symbol&&(q[Symbol.iterator]=function(){return this}),q};Object.defineProperty(b,"__esModule",{value:!0});b.StatePoller=void 0;var m=c(646),g=function(){return function(a,b){this.resolve=a;this.reject=b}}();a=function(){function a(b, e,c){this.completions_=new Map;this.intervalId_=void 0;this.name_=b;this.intervalMs_=e;this.getStateFunction_=c}a.prototype.user_friendly_id=function(){return this.constructor.name+"<"+this.name_+">"};Object.defineProperty(a.prototype,"intervalMs",{get:function(){return this.intervalMs_},enumerable:!1,configurable:!0});a.prototype.needToPoll=function(){var a=!1;this.completions_.forEach(function(b,c){b&&0<b.length&&(a=!0)});return a};a.prototype.waitForState=function(a){var b=this;m.logger.info(this.user_friendly_id()+ ".waitforState(): state="+a);return new Promise(function(c,d){b.completions_.has(a)||b.completions_.set(a,[]);var f=new g(c,d);b.completions_.get(a).push(f);b.startPolling()})};a.prototype.cleanup=function(){m.logger.info(this.user_friendly_id()+".cleanup().");this.stopPolling();this.purgePendingCompletions()};a.prototype.startPolling=function(){var a=this;m.logger.info(this.user_friendly_id()+".startPolling().");!this.intervalId_&&this.needToPoll()&&(this.intervalId_=setInterval(function(){return a.onTimer()}, this.intervalMs_))};a.prototype.stopPolling=function(){m.logger.info(this.user_friendly_id()+".stopPolling().");this.intervalId_&&(clearInterval(this.intervalId_),this.intervalId_=void 0)};a.prototype.purgePendingCompletions=function(){m.logger.info(this.user_friendly_id()+".purgePendingCompletions().");this.completions_.forEach(function(a,b){a.forEach(function(a){a.reject()})});this.completions_.clear()};a.prototype.onTimer=function(){return d(this,void 0,void 0,function(){var a,b,c;return l(this, function(d){switch(d.label){case 0:return d.trys.push([0,2,,3]),[4,this.getStateFunction_()];case 1:return a=d.sent(),(b=this.completions_.get(a))&&b.forEach(function(b){b.resolve(a)}),this.completions_["delete"](a),m.logger.info(this.user_friendly_id()+".onTimer(): state="+a+", sizeAfter="+this.completions_.size),this.needToPoll()||this.stopPolling(),[3,3];case 2:return c=d.sent(),m.logger.error("Call to getRedirectionState failed:",c),this.cleanup(),[3,3];case 3:return[2]}})})};return a}();b.StatePoller= a},461:function(a,b,c){Object.defineProperty(b,"__esModule",{value:!0});b.vdaFeatureNameMap=b.FEATURE_vda_bootstrap=b.class_lib_info=b.HDXBOOT_VERSION=b.BUILD_TYPE_SDK=void 0;var d=c(677);Object.defineProperty(b,"FeatureData",{enumerable:!0,get:function(){return d.FeatureData}});b.BUILD_TYPE_SDK=!0;b.HDXBOOT_VERSION="4.1.2";b.class_lib_info=null;b.FEATURE_vda_bootstrap="bootstrap_connection";b.vdaFeatureNameMap={};b.vdaFeatureNameMap[b.FEATURE_vda_bootstrap]=[b.FEATURE_vda_bootstrap]},646:function(a, b,c){Object.defineProperty(b,"__esModule",{value:!0});b.logger=b.Logger=void 0;var d=c(755),l=c(754),m=c(401),g=l.LogLevel.Info;a=function(){function a(b){var e=this;void 0===b&&(b="[HdxWebRTC.js]");this.enabled_=!0;this.mslogger_=void 0;this.level_=g;this.enable_timestamp_=this.configuration_received_=!1;this.deferredLogs_=[];this.buffer_size_max_=10;this.intervalID_=0;this.flush=function(){0<e.deferredLogs_.length&&(e.protocol_.log(e.deferredLogs_),e.deferredLogs_=[])};this.tag_=b;d.BUILD_TYPE_SDK&& (this.enable_timestamp_=!0);this.protocol_=new m.LoggingProtocol(function(a){e.info(e.user_friendly_id()+" - Received Capabilities Cmd with caps = "+JSON.stringify(a));e.protocol_.configure(e.appInfo_).then(function(a){var b=a.level,c=a.delay;a=a.buffer_size_max;e.info(e.user_friendly_id()+"- Configure Response received with level = "+b+", delay = "+c+", buffer_size_max = "+a);e.configuration_received_=!0;e.level_=b;e.deferredLogs_=e.deferredLogs_.filter(function(a){return a.level>=e.level_});e.delay_= c;e.buffer_size_max_=a;e.intervalID_=setInterval(e.flush,1E3*e.delay_)})["catch"](function(a){e.error(a)})},function(){clearInterval(e.intervalID_);e.deferredLogs_=[];e.level_=g})}a.prototype.setInstanceId=function(a){this.instanceId_=a};a.prototype.user_friendly_id=function(){return this.constructor.name+"["+this.instanceId_+"]"};a.prototype.log=function(a){for(var b=[],c=1;c<arguments.length;c++)b[c-1]=arguments[c];if(this.enabled_&&!(a<this.level_)){var b=this.tag_+" "+b,d=new Date,c=d.getTime(), d=d.toISOString();this.protocol_.isEnabled()&&(this.deferredLogs_.push({level:a,msg:"["+c+"] "+d+" "+l.LogLevel[a].toUpperCase()+" "+b}),this.configuration_received_&&this.deferredLogs_.length>this.buffer_size_max_&&this.flush());this.enable_timestamp_&&(b="["+c+"] "+d+" "+b);void 0!==this.mslogger_?this.mslogger_.info(b):console.log(b)}};a.prototype.setMSLogger=function(a,b){this.mslogger_=a;void 0!=b&&(this.enable_timestamp_=b)};Object.defineProperty(a.prototype,"appInfo",{set:function(a){this.appInfo_= a},enumerable:!1,configurable:!0});Object.defineProperty(a.prototype,"level",{set:function(a){this.level_=a},enumerable:!1,configurable:!0});Object.defineProperty(a.prototype,"enable",{set:function(a){this.enabled_=a},enumerable:!1,configurable:!0});a.prototype.trace=function(){for(var a=[],b=0;b<arguments.length;b++)a[b]=arguments[b];this.log(l.LogLevel.Trace,a)};a.prototype.debug=function(){for(var a=[],b=0;b<arguments.length;b++)a[b]=arguments[b];this.log(l.LogLevel.Debug,a)};a.prototype.info= function(){for(var a=[],b=0;b<arguments.length;b++)a[b]=arguments[b];this.log(l.LogLevel.Info,a)};a.prototype.warning=function(){for(var a=[],b=0;b<arguments.length;b++)a[b]=arguments[b];this.log(l.LogLevel.Warning,a)};a.prototype.error=function(){for(var a=[],b=0;b<arguments.length;b++)a[b]=arguments[b];this.log(l.LogLevel.Error,a)};a.prototype.cleanup=function(){this.flush()};return a}();b.Logger=a;b.logger=new a},677:function(a,b){Object.defineProperty(b,"__esModule",{value:!0});b.HardwareInfo= b.MemoryInfo=b.GPUInfo=b.GPU=b.CPUInfo=b.WebrpcClassLibInfo=b.WebrpcClassInfo=b.WebrpcMethodInfo=b.EndpointId=b.OSInfo=b.WebrpcFeatureInfo=b.FeatureData=b.VersionData=b.FEATURE_unsupported=b.FEATURE_ms_teams_redirection=void 0;b.FEATURE_ms_teams_redirection="ms_teams_redirection";b.FEATURE_unsupported="unsupported";var c=function(){return function(a,b,c,d){this.major=a;this.minor=b;this.revision=c;this.build=d}}();b.VersionData=c;c=function(){return function(){}}();b.FeatureData=c;c=function(){return function(a, b){this.fature=a;this.version=b}}();b.WebrpcFeatureInfo=c;c=function(){return function(a,b,c,d,f){this.family=a;this.version=b;this.architecture=c;this.distro=d;this.edition=f}}();b.OSInfo=c;c=function(){return function(a,b){this.machine_id=a;this.user_id=b}}();b.EndpointId=c;c=function(){return function(a,c,d,f,p){void 0===p&&(p=b.FEATURE_ms_teams_redirection);this.iid=a;this.mid=c;this.name=d;this.isprop=f;this.feature=p}}();b.WebrpcMethodInfo=c;c=function(){return function(a,b,c){this.id=a;this.name= b;this.methods=c}}();b.WebrpcClassInfo=c;c=function(){return function(a,b){this.name=a;this.classes=b}}();b.WebrpcClassLibInfo=c;c=function(){return function(a,b){this.cpumodel=a;this.numberofprocessors=b}}();b.CPUInfo=c;c=function(){return function(a,b){this.name=a;this.driver=b}}();b.GPU=c;c=function(){return function(a){this.gpus=a}}();b.GPUInfo=c;c=function(){return function(a){this.totalmemory=a}}();b.MemoryInfo=c;c=function(){return function(a,b,c){this.cpu_info=a;this.gpu_info=b;this.memory_info= c}}();b.HardwareInfo=c},754:function(a,b){Object.defineProperty(b,"__esModule",{value:!0});b.LogLevel=void 0;var c=b.LogLevel||(b.LogLevel={});c[c.Trace=0]="Trace";c[c.Debug=1]="Debug";c[c.Info=2]="Info";c[c.Warning=3]="Warning";c[c.Error=4]="Error"},755:function(a,b,c){var d=this&&this.__createBinding||(Object.create?function(a,b,c,d){void 0===d&&(d=c);Object.defineProperty(a,d,{enumerable:!0,get:function(){return b[c]}})}:function(a,b,c,d){void 0===d&&(d=c);a[d]=b[c]});a=this&&this.__exportStar|| function(a,b){for(var c in a)"default"===c||b.hasOwnProperty(c)||d(b,a,c)};Object.defineProperty(b,"__esModule",{value:!0});b.WebrpcClassLibInfoUtil=void 0;var l=c(461);a(c(461),b);c=function(){function a(){}a.getInterfaceByid=function(a){for(var b=0,c=l.class_lib_info.classes;b<c.length;b++){var e=c[b];if(e.id==a)return e}return null};a.getMethodByid=function(a,b){var c=this.getInterfaceByid(a);if(null!=c)for(var e=0,c=c.methods;e<c.length;e++){var d=c[e];if(d.mid==b)return d}return null};a.getMethodFeatureByid= function(a,b){var c=this.getInterfaceByid(a);if(null!=c)for(var e=0,c=c.methods;e<c.length;e++){var d=c[e];if(d.mid==b)return d.feature}return null};a.composeClassInfoData=function(a){a=a.hdr;if(void 0==a)return"*** Invalid packet: Couldn't find hdr object ***";var b=a.proc;if(void 0==b)return"";a=b.iid;for(var b=b.methodid,c=0,d=l.class_lib_info.classes;c<d.length;c++){var f=d[c];if(f.id==a)for(var k=0,q=f.methods;k<q.length;k++){var m=q[k];if(m.mid==b)return f.name+"::"+m.name}}return""};return a}(); b.WebrpcClassLibInfoUtil=c},759:function(a,b,c){Object.defineProperty(b,"__esModule",{value:!0});b.deferred_action=void 0;var d=c(646);a=function(){function a(b,c,d){this.resolve=b;this.reject=c;this.name_=d}Object.defineProperty(a.prototype,"name",{get:function(){return this.name_},enumerable:!1,configurable:!0});a.prototype.post=function(a){1==a?(d.logger.info('deferred_action.post(): resolving "'+this.name_+'"'),this.resolve()):(d.logger.info('deferred_action.post(): rejecting "'+this.name_+'"'), this.reject())};a.prototype.postWithResult=function(a,b){1==a?(d.logger.info('deferred_action.post(): resolving "'+this.name_+'"'),this.resolve(b)):(d.logger.info('deferred_action.post(): rejecting "'+this.name_+'"'),this.reject())};a.prototype.postResolve=function(a){this.resolve(a)};a.prototype.postReject=function(a){void 0==a?this.reject():this.reject(a)};return a}();b.deferred_action=a},823:function(a,b,c){Object.defineProperty(b,"__esModule",{value:!0});b.protocol_handler_manager=b.protocol_base= b.callback_base=b.completion_base=void 0;var d=c(646),l=c(323),m=function(){return function(a,b,c,d,f){this.resolve=a;this.reject=b;this.reqid=f;this.cbid=c;this.completion_cb=d}}();b.completion_base=m;var g=function(){function a(b){this.id=b}a.prototype.resolve=function(a){d.logger.trace("callback.resolve() called. [id="+this.id+"]");null!=this.handler&&this.handler(a)};a.prototype.reject=function(a){null!=this.err_handler&&this.err_handler(a)};a.prototype.then=function(a){this.handler=a};a.prototype.prom= function(){var a=this;return new Promise(function(b,c){a.handler=b;a.err_handler=c})};return a}();b.callback_base=g;a=function(){function a(){this.reqs_=[];this.ID_MAX=4294967296;this.cbid_allocator_=new l.number_allocator(0,this.ID_MAX,1);this.reqid_allocator_=new l.number_allocator(0,this.ID_MAX,1);this.reqs_w_id_=new Map;this.cbs_=new Map;this.cbidmap_=new Map}a.prototype.user_friendly_id=function(){return this.constructor.name};a.prototype.processRequestEx=function(a,b,c){void 0===c&&(c=-1);var d= this.reqid_allocator_.allocate();a=new m(a,b,void 0,null,d);this.reqs_w_id_.set(d,a);0<=c&&this.startCommandTimoutTimer(a,c);return d};a.prototype.processResponseEx=function(a){var b;this.reqid_allocator_.deallocate(a);this.reqs_w_id_.has(a)?(b=this.reqs_w_id_.get(a),this.reqs_w_id_["delete"](a)):d.logger.warning(this.user_friendly_id()+".processResponse(). reqid="+a+" Cant find request!!!!");b&&this.stopCommandTimoutTimer(b);return b};a.prototype.startCommandTimoutTimer=function(a,b){var c=this, d=setTimeout(function(){a.timerId=void 0;c.processResponseEx(a.reqid);a.reject()},b);a.timerId=d};a.prototype.stopCommandTimoutTimer=function(a){a.timerId&&(clearTimeout(a.timerId),a.timerId=void 0)};a.prototype.processRequest=function(a,b){var c=new m(a,b);this.reqs_.push(c)};a.prototype.processResponse=function(){return this.reqs_.shift()};a.prototype.clearRequests=function(){var a=this;this.reqs_w_id_.forEach(function(b,c){b.reject();a.cbid_allocator_.deallocate(c)});this.reqs_w_id_.clear();this.reqs_.forEach(function(a, b){a.reject()});this.reqs_=[]};a.prototype.registerCallback=function(a){var b=this,c=this.cbid_allocator_.allocate();a&&this.unregisterCallback(a);this.cbidmap_.set(a,c);a=new g(c);0>c&&d.logger.warning(this.user_friendly_id()+".registerCallback(). !!!! ran out of cbid !!!!");d.logger.debug(this.user_friendly_id()+".registerCallback(). cbid="+c);a.completion_cb=function(a){b.unregisterCallback(a)};var f=new m(a.resolve.bind(a),a.reject.bind(a),a.id,a.completion_cb);this.cbs_.set(c,f);return a};a.prototype.unregisterCallback= function(a){var b;"string"==typeof a&&this.cbidmap_.has(a)?(b=this.cbidmap_.get(a),this.cbidmap_["delete"](a)):"number"==typeof a&&(b=a);this.cbs_.has(b)&&(this.cbid_allocator_.deallocate(b),this.cbs_["delete"](b))};a.prototype.clearCallbacks=function(){var a=this;d.logger.info(this.user_friendly_id()+".clearCallbacks().");this.cbs_.forEach(function(b,c){b.reject();a.cbid_allocator_.deallocate(c)});this.cbs_.clear();this.cbidmap_.clear()};a.prototype.getCallback=function(a){if("string"==typeof a&& this.cbidmap_.has(a))a=this.cbidmap_.get(a);else if("number"!=typeof a){d.logger.warning(this.user_friendly_id()+".getCallback(). !!!! invalid cbid !!!!");return}return this.cbs_.get(a)};return a}();b.protocol_base=a;a=function(){function a(){}a.findHandler=function(b){return a.handlers_.find(function(a){return a.name==b})};a.addProtocolHandler=function(b){void 0==a.handlers_.find(function(a){return a.name==b.name})&&a.handlers_.push(b)};a.oninit=function(b){a.handlers_.forEach(function(a,c){a.init(b)})}; a.ondeinit=function(){a.handlers_.forEach(function(a,b){a.deinit()})};a.removeAllHandlers=function(){a.handlers_.splice(0,a.handlers_.length)};a.removeProtocolHandler=function(b){var c=a.handlers_.findIndex(function(a){return a.name==b});0<=c&&a.handlers_.splice(c,1)};a.handlers_=[];return a}();b.protocol_handler_manager=a},847:function(a,b,c){Object.defineProperty(b,"__esModule",{value:!0});b.HdxAgentConnection=b.WebSocketFactory=b.AgentConnectionEvent=b.AgentConnectionStatus=void 0;var d=c(646), l=c(759),m=c(823),g;(function(a){a.Disconnected="Disconnected";a.Connecting="Connecting";a.Binding="Binding";a.Connected="Connected"})(g=b.AgentConnectionStatus||(b.AgentConnectionStatus={}));var p;(function(a){a[a.Ready=0]="Ready";a[a.Error=1]="Error"})(p=b.AgentConnectionEvent||(b.AgentConnectionEvent={}));var h=function(){function a(){}a.createWebSocket=function(a,b){return new WebSocket(a,b)};return a}();b.WebSocketFactory=h;a=function(){function a(){this.connectionStatus_=g.Disconnected;this.deferredActions_= [];this.connectionTimeoutInMilliSecs_=5E3;this.onConnectionEvent=null}a.prototype.user_friendly_id=function(){return"HdxAgentConnection"};a.prototype.setConnectionStatus=function(a,b){d.logger.info(this.user_friendly_id()+".setConnectionStatus status: "+a+", Caller: "+b);this.connectionStatus_=a};a.prototype.connect=function(b){var c=this,f=++a.connectRequestNumber_;d.logger.info(c.user_friendly_id()+".connect() called. requestNum:"+f);return new Promise(function(a,e){if(c.connectionStatus_==g.Connected)d.logger.info(c.user_friendly_id()+ "connect() called when already connected. Caller= "+f),a();else if(c.connectionStatus_==g.Disconnected){c.setConnectionStatus(g.Connecting,"connect() requestNum:"+f);try{var k=h.createWebSocket("wss://127.0.0.1:9002/bootstrap");c.websocket_=k;c.websocket_.onmessage=function(a){c.onWSMessage(a)};c.websocket_.onclose=function(a){c.onWSClose(a)};c.websocket_.onopen=function(){c.onWSOpen();a()};c.websocket_.onerror=function(a){c.onWSError("websocket.onerror called Error = "+JSON.stringify(a)+", url = "+ c.websocket_.url);e()};b&&c.startConnectionTimer(e)}catch(v){d.logger.error(c.user_friendly_id()+".connect() exception thrown when creating WebSocket. err="+v),e()}}else if(c.connectionStatus_==g.Connecting||c.connectionStatus_==g.Binding)d.logger.info(c.user_friendly_id()+"Deferring Agent connection status: Connecting... Caller= "+f),c.deferredActions_.push(new l.deferred_action(a,e,"HdxAgentConnection_"+f))})};a.prototype.startConnectionTimer=function(a){var b=this;this.stopConnectionTimer();this.timerId_= setTimeout(function(){b.onWSError("timed out waiting for response to connection.");a()},this.connectionTimeoutInMilliSecs_)};a.prototype.stopConnectionTimer=function(){this.timerId_&&(clearTimeout(this.timerId_),this.timerId_=void 0)};a.prototype.disconnectFromAgent=function(a){void 0===a&&(a=1E3);d.logger.info(this.user_friendly_id()+"disconnectFromAgent. reason="+a);void 0==this.websocket_||this.websocket_.readyState!=this.websocket_.CONNECTING&&this.websocket_.readyState!=this.websocket_.OPEN|| this.websocket_.close(a)};a.prototype.onWSOpen=function(){d.logger.info(this.user_friendly_id()+".onWSOpen opened websocket service");this.setConnectionStatus(g.Binding,"onWSOpen")};a.prototype.completeDeferedActions=function(){for(this.stopConnectionTimer();0<this.deferredActions_.length;){var a=this.deferredActions_.shift();a&&a.post(this.connectionStatus_==g.Connected)}};a.prototype.onWSBindingCompleted=function(a){d.logger.info(this.user_friendly_id()+"websocket service bind complete, ready:"+ a);if(a){if(this.setConnectionStatus(g.Connected,"onWSBindingCompleted"),this.onConnectionEvent)this.onConnectionEvent(p.Ready)}else this.disconnectFromAgent();this.completeDeferedActions()};a.prototype.onWSClose=function(a){if(this.connectionStatus_!=g.Disconnected){d.logger.info(this.user_friendly_id()+"disconnected from websocket service. closeEvent = "+JSON.stringify(a));this.setConnectionStatus(g.Disconnected,"onWSClose");if(this.onConnectionEvent)this.onConnectionEvent(p.Error);this.completeDeferedActions()}}; a.prototype.onWSError=function(a){if(this.connectionStatus_!=g.Disconnected){d.logger.error(this.user_friendly_id()+".onWSError "+a);this.setConnectionStatus(g.Disconnected,"onWSError");if(this.onConnectionEvent)this.onConnectionEvent(p.Error);this.completeDeferedActions()}};a.prototype.onWSMessage=function(a){a=a.data;d.logger.trace(this.user_friendly_id()+"onWSMessage: <<< "+a+"'");var b;try{b=JSON.parse(a)}catch(c){d.logger.error(this.user_friendly_id()+" - invalid JSON!!! err = "+c);return}var e= m.protocol_handler_manager.findHandler(b.v);if(void 0!=e)e.on_message(b);else d.logger.warning("HDXMS: onWSMessage: Unknown protocol: "+a+"'")};a.prototype.sendMessage=function(a){this.websocket_&&this.websocket_.readyState==this.websocket_.OPEN&&this.websocket_.send(a)};a.connectRequestNumber_=0;return a}();b.HdxAgentConnection=a},882:function(a,b,c){var d=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a, b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return a(b,c)};return function(b,c){function d(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(d.prototype=c.prototype,new d)}}();Object.defineProperty(b,"__esModule",{value:!0});b.getRedirector=b.getBootstrapProtocol=b.BootstrapProtocol=b.WindowHandleResponseData=b.WindowHandleCmdData=b.RedirectionStateResponseData=b.BootstrapState=b.bootstrap_cmd=void 0;var l=c(165),m=c(847),g=c(646),p=c(823),h;(function(a){a.Unknown="unknown"; a.GetRedirectionState="redirection_state";a.GetWindowHandle="window_handle";a.RedirectionStateChanged="redirection_state_changed";a.Capabilities="capabilities"})(h=b.bootstrap_cmd||(b.bootstrap_cmd={}));var e;(function(a){a[a.Unknown=0]="Unknown";a[a.Initialized=1]="Initialized";a[a.Error=2]="Error"})(e=b.BootstrapState||(b.BootstrapState={}));var n=function(){return function(a){this.state=a}}();b.RedirectionStateResponseData=n;a=function(){return function(a){this.tag=a}}();b.WindowHandleCmdData= a;var u=function(){return function(a){this.windowHandle=a}}();b.WindowHandleResponseData=u;var r=function(){return function(a){this.caps=a}}();a=function(a){function b(){var c=a.call(this)||this;c.name="bootstrap";c.state_=e.Unknown;c.onRedirectionStateChanged_=null;c.vdaFeatures_=[];c.vdaCapabilities_=[];c.shimCapabilities_=[];c.establishConnectionCompletion_=null;c.commandTimeoutInMilliSecs=2E4;c.agentConnection_=new m.HdxAgentConnection;c.agentConnection_.onConnectionEvent=function(a){c.onAgentConnectionEvent(a)}; p.protocol_handler_manager.addProtocolHandler(c);c.featuresProtocolHandler_=new l.FeaturesProtocolHandler;return c}d(b,a);b.prototype.init=function(a){this.vdaFeatures_=a};b.prototype.deinit=function(){this.state_=e.Unknown;this.clearRequests();this.clearCallbacks()};b.prototype.user_friendly_id=function(){return"BootstrapProtocol"};b.prototype.getState=function(){return this.state_};b.prototype.establishConnection=function(){var a=this;return new Promise(function(b,c){a.establishConnectionCompletion_= new p.completion_base(b,c);a.agentConnection_.connect(!0)["catch"](function(){a.onEstablishConnectionSequenceCompleted(!1)})})};b.prototype.disconnect=function(){this.agentConnection_.disconnectFromAgent()};b.prototype.onEstablishConnectionSequenceCompleted=function(a){a?(this.establishConnectionCompletion_&&(this.establishConnectionCompletion_.resolve(),this.establishConnectionCompletion_=null),this.state_=e.Initialized):(this.state_=e.Error,this.clearRequests(),this.establishConnectionCompletion_&& (this.establishConnectionCompletion_.reject(),this.establishCo