Skip to content

Instantly share code, notes, and snippets.

@XGraphKhipu
Last active March 30, 2023 19:20
Show Gist options
  • Save XGraphKhipu/ca696c8e6f0e5896aef6 to your computer and use it in GitHub Desktop.
Save XGraphKhipu/ca696c8e6f0e5896aef6 to your computer and use it in GitHub Desktop.
player_netflix
(function(){function ec(h,p){return new Promise(function(P,b){function k(b){"https://www.netflix.com"==b.origin&&b.source==a.contentWindow&&"ready"==b.data&&(window.clearTimeout(U),window.removeEventListener("message",k),window.addEventListener("message",D),P(a))}var a=document.createElement("iframe");a.setAttribute("src",h);a.setAttribute("style","display:none");a.height=1;a.width=1;var U=window.setTimeout(function(){window.removeEventListener("message",k);document.body.removeChild(a);b(Error("timeout waiting for iframe to load"))},
p);window.addEventListener("message",k);document.body.appendChild(a)})}function y(h,p){return O.then(function(O){return new Promise(function(b,k){var a={cmd:h,msgId:++P,arguments:p};ca.push({msgId:a.msgId,handler:function(a){a=a.data;a.success?b(a.result):k(Error("crypto-iframe error: "+a.result))}});O.contentWindow.postMessage(a,"https://www.netflix.com")})})}function D(h){for(var p,P=ca.length;P--&&ca[P].msgId!==h.data.msgId;);(p=0>P)||(p=h.data,p=!("https://www.netflix.com"===h.origin&&p&&p.hasOwnProperty("success")&&
p.hasOwnProperty("result")&&p.hasOwnProperty("msgId")));p||(p=ca[P].handler,ca.splice(P,1),p(h))}var h=navigator.userAgent.match(/Chrome\/([0-9]*)/);if(h&&37<=parseInt(h[1])){var P=0,ca=[],O=(new Promise(function(h){function p(){document.removeEventListener("DOMContentLoaded",p);h()}"loading"===document.readyState?document.addEventListener("DOMContentLoaded",p):h()})).then(function(){return ec("https://www.netflix.com/nfcrypto-iframe-inner-2202400.html",2E3)}).catch(function(){return ec("https://www.netflix.com/nfcrypto-iframe-inner-2202400.html",
8E3)}),p={subtle:{}};window.crypto.getRandomValues&&(p.getRandomValues=function(h){return window.crypto.getRandomValues(h)});"encrypt decrypt sign verify digest generateKey deriveKey deriveBits importKey exportKey wrapKey unwrapKey".split(" ").map(function(h){p.subtle[h]=function(){return y(h,Array.prototype.slice.call(arguments))}});window.nfCrypto=p}})();
(function(ec,y){var D;function h(a,b){if(!b||"utf-8"===b)return ca(a);throw Error("unsupported encoding");}function P(a,b){if(!b||"utf-8"===b)return O(a);throw Error("unsupported encoding");}function ca(a){for(var b=0,c,d=a.length,h="";b<d;){c=a[b++];if(c&128)if(192===(c&224))c=((c&31)<<6)+(a[b++]&63);else if(224===(c&240))c=((c&15)<<12)+((a[b++]&63)<<6)+(a[b++]&63);else throw Error("unsupported character");h+=String.fromCharCode(c)}return h}function O(a){var b=a.length,c;c=0;var d,h=0,f;for(d=b;d--;)f=
a.charCodeAt(d),128>f?c++:c=2048>f?c+2:c+3;c=new Uint8Array(c);for(d=0;d<b;d++)f=a.charCodeAt(d),128>f?c[h++]=f:(2048>f?c[h++]=192|f>>>6:(c[h++]=224|f>>>12,c[h++]=128|f>>>6&63),c[h++]=128|f&63);return c}function p(a,b){if(a===b)return!0;if(!a||!b||a.length!=b.length)return!1;for(var c=0;c<a.length;++c)if(a[c]!=b[c])return!1;return!0}function Z(a){if(!(a&&a.constructor==Uint8Array||Array.isArray(a)))throw new TypeError("Cannot compute the hash code of "+a);for(var b=1,c=0;c<a.length;++c){var d=a[c];
if("number"!==typeof d)throw new TypeError("Cannot compute the hash code over non-numeric elements: "+d);b=31*b+d&4294967295}return b}function qa(a,b){if(a===b)return!0;if(!a||!b)return!1;b instanceof Array||(b=[b]);for(var c=0;c<b.length;++c){for(var d=b[c],h=!1,f=0;f<a.length;++f){var k=a[f];if(d.equals&&"function"===typeof d.equals&&d.equals(k)||d==k){h=!0;break}}if(!h)return!1}return!0}function oa(a,b){return qa(a,b)&&(a.length==b.length||qa(b,a))}function b(a,b,c){var d;c&&(d=c);if("object"!==
typeof a||"function"!==typeof a.result||"function"!==typeof a.error)throw new TypeError("callback must be an object with function properties 'result' and 'error'.");try{var h=b.call(d,a);h!==y&&a.result(h)}catch(f){try{a.error(f)}catch(k){}}}function k(a,c,d){if("object"!==typeof a||"function"!==typeof a.timeout)throw new TypeError("callback must be an object with function properties 'result', 'timeout', and 'error'.");b(a,c,d)}function a(a,b,c){1E5>a&&(a=1E5+a);Object.defineProperties(this,{internalCode:{value:a,
writable:!1,configurable:!1},responseCode:{value:b,writable:!1,configurable:!1},message:{value:c,writable:!1,configurable:!1}})}function U(a){switch(a){case Pa.PSK:case Pa.MGK:return!0;default:return!1}}function Ua(a){switch(a){case Pa.PSK:case Pa.MGK:case Pa.X509:case Pa.RSA:case Pa.NPTICKET:case Pa.ECC:return!0;default:return!1}}function f(a){return a.toJSON()}function c(b,c){Nc?c.result(Nc):Promise.resolve().then(function(){return Ea.getKeyByName(b)}).catch(function(){return Ea.generateKey({name:b},
!1,["wrapKey","unwrapKey"])}).then(function(a){Nc=a;c.result(Nc)}).catch(function(b){c.error(new A(a.INTERNAL_EXCEPTION,"Unable to get system key"))})}function n(a,b){var c=b.masterToken,d=b.userIdToken,h=b.serviceTokens;return{NccpMethod:a.nccpMethod,UserId:a.userId,UT:d&&d.serialNumber,MT:c&&c.serialNumber+":"+c.sequenceNumber,STCount:h&&h.length}}function Bb(a){return a.uniqueKey()}function oc(c,f,k,n){function p(a,b){a.errorCode===d.ENTITY_REAUTH||a.errorCode===d.ENTITYDATA_REAUTH?(n.clearCryptoContexts(),
Q()):a.errorCode!==d.USER_REAUTH&&a.errorCode!==d.USERDATA_REAUTH||C(b)}function C(a){if(a=n.getUserIdToken(a))n.removeUserIdToken(a),Q()}function L(a,c,u){var w=[];(function l(){a.read(-1,c,{result:function(a){b(u,function(){if(a)w.push(a),l();else switch(w.length){case 0:return new Uint8Array(0);case 1:return w[0];default:var t,q,J,b=w.length,u=0;for(q=t=0;q<b;q++)t+=w[q].length;t=new Uint8Array(t);for(q=0;q<b;q++)J=w[q],t.set(J,u),u+=J.length;return t}})},timeout:function(){u.timeout()},error:function(a){u.error(a)}})})()}
function Q(){n.getStoreState({result:function(a){for(var b=tb.slice(),u=0;u<b.length;u++)b[u]({storeState:a})},timeout:function(){c.error("Timeout getting store state",""+e)},error:function(a){c.error("Error getting store state",""+a)}})}var tb=[];this.addEventHandler=function(a,b){switch(a){case "shouldpersist":tb.push(b)}};this.send=function(d,Ya){var u=d.timeout,w=new Ge(c,k,d,n.getKeyRequestData()),m=d.httpLocation,l=d.serviceTokens;c.trace("Sending MSL request",{NccpMethod:d.nccpMethod});f.request(k,
w,new Fd(m),u,{result:function(g){b(Ya,function(){var m=g&&g.getMessageHeader(),q=m&&m.serviceTokens||[];c.trace("Received MSL response",{NccpMethod:d.nccpMethod},q.map(Bb).join("\n"));if(!g)throw new A(a.INTERNAL_EXCEPTION,"Null response stream");d.allowTokenRefresh&&Q();if(m=g.getErrorHeader())p(m,d.userId),Ya.error(m);else{var w={};q.forEach(function(a){w[a.name]=a});l&&l.forEach(function(a){w[a.name]||q.push(a)});q=q.filter(function(a){return Bf[a.name]&&!a.isDeleted()});L(g,u,{result:function(a){b(Ya,
function(){return{body:h(a),serviceTokens:q}})},timeout:function(){Ya.timeout()},error:function(a){Ya.error(a)}})}})},timeout:function(){Ya.timeout()},error:function(a){Ya.error(a)}})};this.hasUserIdToken=function(a){return!!n.getUserIdToken(a)};this.removeUserIdToken=C;this.isErrorReauth=function(a){return a&&a.errorCode==d.USERDATA_REAUTH};this.isErrorHeader=function(a){return a instanceof Xc};this.getErrorCode=function(a){return a&&a.errorCode};this.getStateForMdx=function(a){var b=n.getMasterToken();
a=n.getUserIdToken(a);var u=n.getCryptoContext(b);return{masterToken:b,userIdToken:a,cryptoContext:u}};this.buildPlayDataRequest=function(a,b){var u=new He;f.request(k,new Ge(c,k,a),u,a.timeout,{result:function(){b.result(u.getRequest())},error:function(){b.result(u.getRequest())},timeout:function(){b.timeout()}})}}function kb(b,c,d,h,f,k){function n(c){var d;return Promise.resolve().then(function(){d=b.authenticationKeyNames[c];if(!d)throw new A(a.KEY_IMPORT_ERROR,"Invalid config keyName "+c);return Ea.getKeyByName(d)}).then(function(b){return new Promise(function(c,
u){Oc(b,{result:c,error:function(){u(new A(a.KEY_IMPORT_ERROR,"Unable to create "+d+" CipherKey"))}})})}).catch(function(b){throw new A(a.KEY_IMPORT_ERROR,"Unable to import "+d,b);})}return Promise.resolve().then(function(){if(!Ea.getKeyByName)throw new A(a.INTERNAL_EXCEPTION,"No WebCrypto cryptokeys");return Promise.all([n("e"),n("h"),n("w")])}).then(function(a){var tb={};tb[c]=new d(b.esn,a[0],a[1],a[2]);a=new h(b.esn);var ab=new Ng,ab=[new f(ab)],Ya=new k(c);return{entityAuthFactories:tb,entityAuthData:a,
keyExchangeFactories:ab,keyRequestData:Ya}})}function Xb(b,c,d){function h(){return Promise.resolve().then(function(){return Ea.generateKey(c,!1,["wrapKey","unwrapKey"])}).then(function(a){return f(a.publicKey,a.privateKey)})}function f(b,c){return Promise.all([new Promise(function(c,d){Pc(b,{result:c,error:function(b){d(new A(a.INTERNAL_EXCEPTION,"Unable to create keyx public key",b))}})}),new Promise(function(b,d){Yc(c,{result:b,error:function(b){d(new A(a.INTERNAL_EXCEPTION,"Unable to create keyx private key",
b))}})})]).then(function(a){a=new Gd("rsaKeypairId",d,a[0],a[1]);k&&(a.storeData={keyxPublicKey:b,keyxPrivateKey:c});return a})}var k=!b.systemKeyWrapFormat;return Promise.resolve().then(function(){var a=b.storeState,c=a&&a.keyxPublicKey,a=a&&a.keyxPrivateKey;return k&&c&&a?f(c,a):h()}).then(function(a){var c={};c[Pa.NONE]=new Og;var d=new Hd(b.esn),f=[new Cf];return{entityAuthFactories:c,entityAuthData:d,keyExchangeFactories:f,keyRequestData:a,createKeyRequestData:k?h:y}})}var Fb=ec.nfCrypto||ec.msCrypto||
ec.webkitCrypto||ec.crypto,C=Fb&&(Fb.webkitSubtle||Fb.subtle),fc=ec.nfCryptokeys||ec.msCryptokeys||ec.webkitCryptokeys||ec.cryptokeys;(function(a){var b=function(){function a(c,d){c instanceof b?(this.abv=c.abv,this.position=c.position):(this.abv=c,this.position=d||0)}a.prototype={readByte:function(){return this.abv[this.position++]},writeByte:function(a){this.abv[this.position++]=a},peekByte:function(a){return this.abv[a]},copyBytes:function(a,b,c){var d=new Uint8Array(this.abv.buffer,this.position,
c);a=new Uint8Array(a.buffer,b,c);d.set(a);this.position+=c},seek:function(a){this.position=a},skip:function(a){this.position+=a},getPosition:function(){return this.position},setPosition:function(a){this.position=a},getRemaining:function(){return this.abv.length-this.position},getLength:function(){return this.abv.length},isEndOfStream:function(){return this.position>=this.abv.length},show:function(){var a;return a="AbvStream: pos "+(this.getPosition().toString()+" of "+this.getLength().toString())}};
return a}(),c={};(function(){function a(g,l){l.writeByte(g.tagClass<<6|g.constructed<<5|g.tag);var m=g.payloadLen;if(128>m)l.writeByte(m);else{for(var q=m,w=0;q;)++w,q>>=8;l.writeByte(128|w);for(q=0;q<w;++q)l.writeByte(m>>8*(w-q-1)&255)}if(g.child)for(g.tag==t.BIT_STRING&&l.writeByte(0),m=g._child;m;){if(!a(m,l))return!1;m=m.next}else switch(g.tag){case t.INTEGER:g.backingStore[g.dataIdx]>>7&&l.writeByte(0);l.copyBytes(g.backingStore,g.dataIdx,g.dataLen);break;case t.BIT_STRING:l.writeByte(0);l.copyBytes(g.backingStore,
g.dataIdx,g.dataLen);break;case t.OCTET_STRING:l.copyBytes(g.backingStore,g.dataIdx,g.dataLen);break;case t.OBJECT_IDENTIFIER:l.copyBytes(g.backingStore,g.dataIdx,g.dataLen)}return!0}function d(a){var g=a.readByte(),l=g&127;if(l==g)return l;if(3<l||0===l)return-1;for(var m=g=0;m<l;++m)g=g<<8|a.readByte();return g}function h(a,g,l){var m=a.backingStore,w=new b(m,g);g+=l;l=a;var J,c,u;if(8<M++)return y;for(;w.getPosition()<g;){w.getPosition();u=w.readByte();if(31==(u&31)){for(c=0;u&128;)c<<=8,c|=u&
127;u=c}J=u;c=J&31;if(0>c||30<c)return y;u=d(w);if(0>u||u>w.getRemaining())return y;l.constructed=J&32;l.tagClass=(J&192)>>6;l.tag=c;l.dataLen=u;l.dataIdx=w.getPosition();c=w;var B=J;J=u;if(B&32)c=!0;else if(B<t.BIT_STRING||B>t.OCTET_STRING)c=!1;else{var db=new b(c);B==t.BIT_STRING&&db.skip(1);db.readByte()>>6&1?c=!1:(B=d(db),c=db.getPosition()-c.getPosition()+B==J)}c&&(c=w.getPosition(),J=u,l.tag==t.BIT_STRING&&(l.dataIdx++,l.dataLen--,c++,J--),l.child=new q(m,l),h(l.child,c,J));l.tag==t.INTEGER&&
(c=w.getPosition(),0==w.peekByte(c)&&w.peekByte(c+1)>>7&&(l.dataIdx++,l.dataLen--));w.skip(u);w.getPosition()<g&&(l.next=new q(m,l.parent),l=l.next)}M--;return a}function f(a,g,l){if(9!=l)return!1;for(l=0;9>l;++l)if(a[g++]!=B[l])return!1;return!0}function Q(a){if(!(a&&a.child&&a.child.next&&a.child.child&&a.child.next.child))return!1;var l=a.child.child;return f(l.backingStore,l.dataIdx,l.dataLen)&&2==a.nChildren&&2==a.child.nChildren&&2==a.child.next.child.nChildren?!0:!1}function k(a){if(!(a&&a.child&&
a.child.next&&a.child.next.child&&a.child.next.next&&a.child.next.next.child))return!1;var l=a.child.next.child;return f(l.backingStore,l.dataIdx,l.dataLen)&&3==a.nChildren&&2==a.child.next.nChildren&&9==a.child.next.next.child.nChildren?!0:!1}function ab(a){var l=J.createSequenceNode(),g=new ma(l);g.addChild(J.createSequenceNode());g.addChild(J.createOidNode(B));g.addSibling(J.createNullNode());g.addToParent(l,J.createBitStringNode(null));g.addChild(J.createSequenceNode());g.addChild(J.createIntegerNode(a.n));
g.addSibling(J.createIntegerNode(a.e));return l}function Ya(a){a=a.child.next.child.child;var l=a.data;a=a.next;return new G(l,a.data,null,null)}function u(a){var l=J.createSequenceNode(),g=new ma(l);g.addChild(J.createIntegerNode(new Uint8Array([0])));g.addSibling(J.createSequenceNode());g.addChild(J.createOidNode(B));g.addSibling(J.createNullNode());g.addToParent(l,J.createOctetStringNode(null));g.addChild(J.createSequenceNode());g.addChild(J.createIntegerNode(new Uint8Array([0])));g.addSibling(J.createIntegerNode(a.n));
g.addSibling(J.createIntegerNode(a.e));g.addSibling(J.createIntegerNode(a.d));g.addSibling(J.createIntegerNode(a.p));g.addSibling(J.createIntegerNode(a.q));g.addSibling(J.createIntegerNode(a.dp));g.addSibling(J.createIntegerNode(a.dq));g.addSibling(J.createIntegerNode(a.qi));return l}function w(a){var g=[];a=a.child.next.next.child.child.next;for(var l=0;8>l;l++)g.push(a.data),a=a.next;return new ya(g[0],g[1],g[2],g[3],g[4],g[5],g[6],g[7])}function m(a,g,l,m){if(!(a instanceof G||a instanceof ya))return y;
if(l)for(var q=0;q<l.length;++q)if(-1==db.indexOf(l[q]))return y;g={kty:"RSA",alg:g,key_ops:l||[],ext:m==y?!1:m,n:L(a.n,!0),e:L(a.e,!0)};a instanceof ya&&(g.d=L(a.d,!0),g.p=L(a.p,!0),g.q=L(a.q,!0),g.dp=L(a.dp,!0),g.dq=L(a.dq,!0),g.qi=L(a.qi,!0));return g}function l(a){if(!a.kty||"RSA"!=a.kty||!a.n||!a.e)return y;var g="RSA1_5 RSA-OAEP RSA-OAEP-256 RSA-OAEP-384 RSA-OAEP-512 RS256 RS384 RS512".split(" ");if(a.alg&&-1==g.indexOf(a.alg))return y;g=[];a.use?"enc"==a.use?g=["encrypt","decrypt","wrap","unwrap"]:
"sig"==a.use&&(g=["sign","verify"]):g=a.key_ops;var l=a.ext,m=I(a.n,!0),q=I(a.e,!0);if(a.d){var t=I(a.d,!0),w=I(a.p,!0),b=I(a.q,!0),J=I(a.dp,!0),c=I(a.dq,!0),u=I(a.qi,!0);return new ya(m,q,t,w,b,J,c,u,a.alg,g,l)}return new G(m,q,l,g)}function g(a,g,l,m){this.der=a;this.type=g;this.keyOps=l;this.extractable=m}var t={BER:0,BOOLEAN:1,INTEGER:2,BIT_STRING:3,OCTET_STRING:4,NULL:5,OBJECT_IDENTIFIER:6,OBJECT_DESCRIPTOR:7,INSTANCE_OF_EXTERNAL:8,REAL:9,ENUMERATED:10,EMBEDDED_PPV:11,UTF8_STRING:12,RELATIVE_OID:13,
SEQUENCE:16,SET:17,NUMERIC_STRING:18,PRINTABLE_STRING:19,TELETEX_STRING:20,T61_STRING:20,VIDEOTEX_STRING:21,IA5_STRING:22,UTC_TIME:23,GENERALIZED_TIME:24,GRAPHIC_STRING:25,VISIBLE_STRING:26,ISO64_STRING:26,GENERAL_STRING:27,UNIVERSAL_STRING:28,CHARACTER_STRING:29,BMP_STRING:30},q=function(a,g,l,m,q,t){this._data=a;this._parent=g||y;this._constructed=l||!1;this._tagClass=0;this._tag=m||0;this._dataIdx=q||0;this._dataLen=t||0};q.prototype={_child:y,_next:y,get data(){return new Uint8Array(this._data.buffer.slice(this._dataIdx,
this._dataIdx+this._dataLen))},get backingStore(){return this._data},get constructed(){return this._constructed},set constructed(a){this._constructed=0!=a?!0:!1},get tagClass(){return this._tagClass},set tagClass(a){this._tagClass=a},get tag(){return this._tag},set tag(a){this._tag=a},get dataIdx(){return this._dataIdx},set dataIdx(a){this._dataIdx=a},get dataLen(){return this._dataLen},set dataLen(a){this._dataLen=a},get child(){return this._child},set child(a){this._child=a;this._child.parent=this},
get next(){return this._next},set next(a){this._next=a},get parent(){return this._parent},set parent(a){this._parent=a},get payloadLen(){var a=0;if(this._child){for(var g=this._child;g;)a+=g.length,g=g.next;this._tag==t.BIT_STRING&&a++}else switch(this._tag){case t.INTEGER:a=this._dataLen;this._data[this._dataIdx]>>7&&a++;break;case t.BIT_STRING:a=this._dataLen+1;break;case t.OCTET_STRING:a=this._dataLen;break;case t.NULL:a=0;break;case t.OBJECT_IDENTIFIER:f(this._data,this._dataIdx,this._dataLen)&&
(a=9)}return a},get length(){var a=this.payloadLen,g;if(127<a)for(g=a;g;)g>>=8,++a;return a+2},get der(){var g=this.length;if(!g)return y;var g=new Uint8Array(g),l=new b(g);return a(this,l)?g:y},get nChildren(){for(var a=0,g=this._child;g;)a++,g=g.next;return a}};var J={createSequenceNode:function(){return new q(null,null,!0,t.SEQUENCE,null,null)},createOidNode:function(a){return new q(a,null,!1,t.OBJECT_IDENTIFIER,0,a?a.length:0)},createNullNode:function(){return new q(null,null,!1,t.NULL,null,null)},
createBitStringNode:function(a){return new q(a,null,!1,t.BIT_STRING,0,a?a.length:0)},createIntegerNode:function(a){return new q(a,null,!1,t.INTEGER,0,a?a.length:0)},createOctetStringNode:function(a){return new q(a,null,!1,t.OCTET_STRING,0,a?a.length:0)}},ma=function(a){this._currentNode=this._rootNode=a};ma.prototype={addChild:function(a){this.addTo(this._currentNode,a)},addSibling:function(a){this.addTo(this._currentNode.parent,a)},addTo:function(a,g){this._currentNode=g;this._currentNode.parent=
a;if(a.child){for(var l=a.child;l.next;)l=l.next;l.next=g}else a.child=g},addToParent:function(a,g){this.findNode(a)&&this.addTo(a,g)},findNode:function(a){for(var g=this._currentNode;g;){if(a==g)return!0;g=g.parent}return!1}};var M=0,B=new Uint8Array([42,134,72,134,247,13,1,1,1]),G=function(a,g,l,m){this.n=a;this.e=g;this.ext=l;this.keyOps=m},ya=function(a,g,l,m,q,t,w,b,J,c,u){this.n=a;this.e=g;this.d=l;this.p=m;this.q=q;this.dp=t;this.dq=w;this.qi=b;this.alg=J;this.keyOps=c;this.ext=u},db="sign verify encrypt decrypt wrapKey unwrapKey deriveKey deriveBits".split(" ");
g.prototype.getDer=function(){return this.der};g.prototype.getType=function(){return this.type};g.prototype.getKeyOps=function(){return this.keyOps};g.prototype.getExtractable=function(){return this.extractable};c.parse=function(a){M=0;return h(new q(a),0,a.length)};c.show=function(a,g){};c.isRsaSpki=Q;c.isRsaPkcs8=k;c.NodeFactory=J;c.Builder=ma;c.tagVal=t;c.RsaPublicKey=G;c.RsaPrivateKey=ya;c.buildRsaSpki=ab;c.parseRsaSpki=function(a){a=c.parse(a);return Q?Ya(a):y};c.buildRsaPkcs8=u;c.parseRsaPkcs8=
function(a){a=c.parse(a);return k(a)?w(a):y};c.buildRsaJwk=m;c.parseRsaJwk=l;c.RsaDer=g;c.rsaDerToJwk=function(a,g,l,q){a=c.parse(a);if(!a)return y;if(Q(a))a=Ya(a);else if(k(a))a=w(a);else return y;return m(a,g,l,q)};c.jwkToRsaDer=function(a){a=l(a);if(!a)return y;var m,q;if(a instanceof G)m="spki",q=ab(a).der;else if(a instanceof ya)m="pkcs8",q=u(a).der;else return y;return new g(q,m,a.keyOps,a.ext)};c.webCryptoAlgorithmToJwkAlg=function(a){return"RSAES-PKCS1-v1_5"==a.name?"RSA1_5":"RSASSA-PKCS1-v1_5"==
a.name?"SHA-256"==a.hash.name?"RS256":"SHA-384"==a.hash.name?"RS384":"SHA-512"==a.hash.name?"RS512":y:y};c.webCryptoUsageToJwkKeyOps=function(a){return a.map(function(a){return"wrapKey"==a?"wrap":"unwrapKey"==a?"unwrap":a})}})();a.ASN1=c})(this);var L,I;(function(){for(var a={},b={},c={"=":0,".":0},d={"=":0,".":0},h=/\s+/g,f=/^[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/_-]*[=]{0,2}$/,k=64;k--;)a["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[k]]=262144*k,
b["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[k]]=4096*k,c["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[k]]=64*k,d["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[k]]=k;for(k=64;k--&&"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[k]!="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"[k];)a["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"[k]]=262144*k,b["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"[k]]=
4096*k,c["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"[k]]=64*k,d["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"[k]]=k;L=function(a,b){for(var c="",d=0,u=a.length,w=u-2,m,l=b?"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_":"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",g=b?"":"=";d<w;)m=65536*a[d++]+256*a[d++]+a[d++],c+=l[m>>>18]+l[m>>>12&63]+l[m>>>6&63]+l[m&63];d==w?(m=65536*a[d++]+256*a[d++],c+=l[m>>>18]+l[m>>>12&63]+
l[m>>>6&63]+g):d==u-1&&(m=65536*a[d++],c+=l[m>>>18]+l[m>>>12&63]+g+g);return c};I=function(k,tb){k=k.replace(h,"");if(tb){var ab=k.length%4;if(ab)for(var ab=4-ab,Ya=0;Ya<ab;++Ya)k+="="}ab=k.length;if(0!=ab%4||!f.test(k))throw Error("bad base64: "+k);for(var u=ab/4*3-("="==k[ab-1]?1:0)-("="==k[ab-2]?1:0),w=new Uint8Array(u),m=0,l=0;m<ab;)Ya=a[k[m++]]+b[k[m++]]+c[k[m++]]+d[k[m++]],w[l++]=Ya>>>16,l<u&&(w[l++]=Ya>>>8&255,l<u&&(w[l++]=Ya&255));return w}})();var Qa={};(function(){function a(c){if(!(this instanceof
a))return new a(c);for(var u=0,w=f.length;u<w;u++)this[f[u]]="";this.bufferCheckPosition=Qa.MAX_BUFFER_LENGTH;this.q=this.c=this.p="";this.opt=c||{};this.closed=this.closedRoot=this.sawRoot=!1;this.tag=this.error=null;this.state=Q.BEGIN;this.stack=new h;this.index=this.position=this.column=0;this.line=1;this.slashed=!1;this.unicodeI=0;this.unicodeS=null;b(this,"onready")}function b(a,c,w){if(a[c])a[c](w)}function c(a,u){var w=a.opt,m=a.textNode;w.trim&&(m=m.trim());w.normalize&&(m=m.replace(/\s+/g,
" "));a.textNode=m;a.textNode&&b(a,u?u:"onvalue",a.textNode);a.textNode=""}function d(a,u){c(a);u+="\nLine: "+a.line+"\nColumn: "+a.column+"\nChar: "+a.c;u=Error(u);a.error=u;b(a,"onerror",u);return a}function k(f){f.state!==Q.VALUE&&d(f,"Unexpected end");c(f);f.c="";f.closed=!0;b(f,"onend");a.call(f,f.opt);return f}var h=Array;Qa.parser=function(b){return new a(b)};Qa.CParser=a;Qa.MAX_BUFFER_LENGTH=65536;Qa.DEBUG=!1;Qa.INFO=!1;Qa.EVENTS="value string key openobject closeobject openarray closearray error end ready".split(" ");
var f=["textNode","numberNode"];Qa.EVENTS.filter(function(a){return"error"!==a&&"end"!==a});var Q=0;Qa.STATE={BEGIN:Q++,VALUE:Q++,OPEN_OBJECT:Q++,CLOSE_OBJECT:Q++,OPEN_ARRAY:Q++,CLOSE_ARRAY:Q++,TEXT_ESCAPE:Q++,STRING:Q++,BACKSLASH:Q++,END:Q++,OPEN_KEY:Q++,CLOSE_KEY:Q++,TRUE:Q++,TRUE2:Q++,TRUE3:Q++,FALSE:Q++,FALSE2:Q++,FALSE3:Q++,FALSE4:Q++,NULL:Q++,NULL2:Q++,NULL3:Q++,NUMBER_DECIMAL_POINT:Q++,NUMBER_DIGIT:Q++};for(var tb in Qa.STATE)Qa.STATE[Qa.STATE[tb]]=tb;Q=Qa.STATE;Object.getPrototypeOf||(Object.getPrototypeOf=
function(a){return a.__proto__});var ab=/[\\"\n]/g;a.prototype={end:function(){k(this)},write:function(a){if(this.error)throw this.error;if(this.closed)return d(this,"Cannot write after close. Assign an onready handler.");if(null===a)return k(this);for(var u=a[0],w=this.p;u;){w=u;this.c=u=a.charAt(this.index++);w!==u?this.p=w:w=this.p;if(!u)break;this.position++;"\n"===u?(this.line++,this.column=0):this.column++;switch(this.state){case Q.BEGIN:"{"===u?this.state=Q.OPEN_OBJECT:"["===u?this.state=Q.OPEN_ARRAY:
"\r"!==u&&"\n"!==u&&" "!==u&&"\t"!==u&&d(this,"Non-whitespace before {[.");continue;case Q.OPEN_KEY:case Q.OPEN_OBJECT:if("\r"===u||"\n"===u||" "===u||"\t"===u)continue;if(this.state===Q.OPEN_KEY)this.stack.push(Q.CLOSE_KEY);else if("}"===u){b(this,"onopenobject");b(this,"oncloseobject");this.state=this.stack.pop()||Q.VALUE;continue}else this.stack.push(Q.CLOSE_OBJECT);'"'===u?this.state=Q.STRING:d(this,'Malformed object key should start with "');continue;case Q.CLOSE_KEY:case Q.CLOSE_OBJECT:if("\r"===
u||"\n"===u||" "===u||"\t"===u)continue;":"===u?(this.state===Q.CLOSE_OBJECT?(this.stack.push(Q.CLOSE_OBJECT),c(this,"onopenobject")):c(this,"onkey"),this.state=Q.VALUE):"}"===u?(c(this),b(this,"oncloseobject",void 0),this.state=this.stack.pop()||Q.VALUE):","===u?(this.state===Q.CLOSE_OBJECT&&this.stack.push(Q.CLOSE_OBJECT),c(this),this.state=Q.OPEN_KEY):d(this,"Bad object");continue;case Q.OPEN_ARRAY:case Q.VALUE:if("\r"===u||"\n"===u||" "===u||"\t"===u)continue;if(this.state===Q.OPEN_ARRAY)if(b(this,
"onopenarray"),this.state=Q.VALUE,"]"===u){b(this,"onclosearray");this.state=this.stack.pop()||Q.VALUE;continue}else this.stack.push(Q.CLOSE_ARRAY);'"'===u?this.state=Q.STRING:"{"===u?this.state=Q.OPEN_OBJECT:"["===u?this.state=Q.OPEN_ARRAY:"t"===u?this.state=Q.TRUE:"f"===u?this.state=Q.FALSE:"n"===u?this.state=Q.NULL:"-"===u?this.numberNode+=u:"0"===u?(this.numberNode+=u,this.state=Q.NUMBER_DIGIT):-1!=="123456789".indexOf(u)?(this.numberNode+=u,this.state=Q.NUMBER_DIGIT):d(this,"Bad value");continue;
case Q.CLOSE_ARRAY:if(","===u)this.stack.push(Q.CLOSE_ARRAY),c(this,"onvalue"),this.state=Q.VALUE;else if("]"===u)c(this),b(this,"onclosearray",void 0),this.state=this.stack.pop()||Q.VALUE;else if("\r"===u||"\n"===u||" "===u||"\t"===u)continue;else d(this,"Bad array");continue;case Q.STRING:var w=this.index-1,m=this.slashed,l=this.unicodeI;a:for(;;){if(Qa.DEBUG)for(;0<l;)if(this.unicodeS+=u,u=a.charAt(this.index++),4===l?(this.textNode+=String.fromCharCode(parseInt(this.unicodeS,16)),l=0,w=this.index-
1):l++,!u)break a;if('"'===u&&!m){this.state=this.stack.pop()||Q.VALUE;(this.textNode+=a.substring(w,this.index-1))||b(this,"onvalue","");break}if("\\"===u&&!m&&(m=!0,this.textNode+=a.substring(w,this.index-1),u=a.charAt(this.index++),!u))break;if(m)if(m=!1,"n"===u?this.textNode+="\n":"r"===u?this.textNode+="\r":"t"===u?this.textNode+="\t":"f"===u?this.textNode+="\f":"b"===u?this.textNode+="\b":"u"===u?(l=1,this.unicodeS=""):this.textNode+=u,u=a.charAt(this.index++),w=this.index-1,u)continue;else break;
ab.lastIndex=this.index;var g=ab.exec(a);if(null===g){this.index=a.length+1;this.textNode+=a.substring(w,this.index-1);break}this.index=g.index+1;u=a.charAt(g.index);if(!u){this.textNode+=a.substring(w,this.index-1);break}}this.slashed=m;this.unicodeI=l;continue;case Q.TRUE:if(""===u)continue;"r"===u?this.state=Q.TRUE2:d(this,"Invalid true started with t"+u);continue;case Q.TRUE2:if(""===u)continue;"u"===u?this.state=Q.TRUE3:d(this,"Invalid true started with tr"+u);continue;case Q.TRUE3:if(""===u)continue;
"e"===u?(b(this,"onvalue",!0),this.state=this.stack.pop()||Q.VALUE):d(this,"Invalid true started with tru"+u);continue;case Q.FALSE:if(""===u)continue;"a"===u?this.state=Q.FALSE2:d(this,"Invalid false started with f"+u);continue;case Q.FALSE2:if(""===u)continue;"l"===u?this.state=Q.FALSE3:d(this,"Invalid false started with fa"+u);continue;case Q.FALSE3:if(""===u)continue;"s"===u?this.state=Q.FALSE4:d(this,"Invalid false started with fal"+u);continue;case Q.FALSE4:if(""===u)continue;"e"===u?(b(this,
"onvalue",!1),this.state=this.stack.pop()||Q.VALUE):d(this,"Invalid false started with fals"+u);continue;case Q.NULL:if(""===u)continue;"u"===u?this.state=Q.NULL2:d(this,"Invalid null started with n"+u);continue;case Q.NULL2:if(""===u)continue;"l"===u?this.state=Q.NULL3:d(this,"Invalid null started with nu"+u);continue;case Q.NULL3:if(""===u)continue;"l"===u?(b(this,"onvalue",null),this.state=this.stack.pop()||Q.VALUE):d(this,"Invalid null started with nul"+u);continue;case Q.NUMBER_DECIMAL_POINT:"."===
u?(this.numberNode+=u,this.state=Q.NUMBER_DIGIT):d(this,"Leading zero not followed by .");continue;case Q.NUMBER_DIGIT:-1!=="0123456789".indexOf(u)?this.numberNode+=u:"."===u?(-1!==this.numberNode.indexOf(".")&&d(this,"Invalid number has two dots"),this.numberNode+=u):"e"===u||"E"===u?(-1===this.numberNode.indexOf("e")&&-1===this.numberNode.indexOf("E")||d(this,"Invalid number has two exponential"),this.numberNode+=u):"+"===u||"-"===u?("e"!==w&&"E"!==w&&d(this,"Invalid symbol in number"),this.numberNode+=
u):(this.numberNode&&b(this,"onvalue",parseFloat(this.numberNode)),this.numberNode="",this.index--,this.state=this.stack.pop()||Q.VALUE);continue;default:d(this,"Unknown state: "+this.state)}}if(this.position>=this.bufferCheckPosition){a=Math.max(Qa.MAX_BUFFER_LENGTH,10);w=u=0;for(m=f.length;w<m;w++){l=this[f[w]].length;if(l>a)switch(f[w]){case "text":break;default:d(this,"Max buffer length exceeded: "+f[w])}u=Math.max(u,l)}this.bufferCheckPosition=Qa.MAX_BUFFER_LENGTH-u+this.position}return this},
resume:function(){this.error=null;return this},close:function(){return this.write(null)}}})();var ee,fe;(function(){function a(b,c){c||(c=b.length);return b.reduce(function(a,b,d){return d<c?a+String.fromCharCode(b):a},"")}for(var b={},c=0;256>c;++c){var d=a([c]);b[d]=c}for(var f=Object.keys(b).length,k=[],c=0;256>c;++c)k[c]=[c];ee=function(c){function d(a,q){for(;0<q;){if(l>=m.length)return!1;if(q>g){var t=a,t=t>>>q-g;m[l]|=t&255;q-=g;g=8;++l}else q<=g&&(t=a,t<<=g-q,t&=255,t>>>=8-g,m[l]|=t&255,g-=
q,q=0,0==g&&(g=8,++l))}return!0}var k={},h;for(h in b)k[h]=b[h];for(var Ya=f,u=[],w=8,m=new Uint8Array(c.length),l=0,g=8,t=0;t<c.length;++t){var q=c[t];u.push(q);h=a(u);var J=k[h];if(!J){u=a(u,u.length-1);if(!d(k[u],w))return null;0!=Ya>>w&&++w;k[h]=Ya++;u=[q]}}return 0<u.length&&(h=a(u),J=k[h],!d(J,w))?null:m.subarray(0,8>g?l+1:l)};fe=function(a){for(var b=k.slice(),c=0,d=0,f=8,u=new Uint8Array(Math.ceil(1.5*a.length)),w=0,m=0,l=[];c<a.length&&!(8*(a.length-c)-d<f);){for(var g=m=0;g<f;){var t=Math.min(f-
g,8-d),q=a[c],q=q<<d,q=q&255,q=q>>>8-t,g=g+t,d=d+t;8==d&&(d=0,++c);m|=(q&255)<<f-g}g=b[m];0==l.length?++f:(g?l.push(g[0]):l.push(l[0]),b[b.length]=l,l=[],b.length==1<<f&&++f,g||(g=b[m]));m=w+g.length;m>=u.length&&(t=new Uint8Array(Math.ceil(1.5*m)),t.set(u),u=t);u.set(g,w);w=m;l=l.concat(g)}return u.subarray(0,w)}})();var sa,Ia,Zc,Id,vd,Df,Qc,Jd,d;(function(){sa="utf-8";Ia=9007199254740992;var a=Zc={GZIP:"GZIP",LZW:"LZW"};Object.freeze(Zc);Id=function(b){for(var c=[a.GZIP,a.LZW],d=0;d<c.length&&0<
b.length;++d)for(var f=c[d],k=0;k<b.length;++k)if(b[k]==f)return f;return null};var b=vd={AES_CBC_PKCS5Padding:"AES/CBC/PKCS5Padding",AESWrap:"AESWrap",RSA_ECB_PKCS1Padding:"RSA/ECB/PKCS1Padding"};Object.freeze(vd);Df=function(a){return b.AES_CBC_PKCS5Padding==a?b.AES_CBC_PKCS5Padding:b.RSA_ECB_PKCS1Padding==a?b.RSA_ECB_PKCS1Padding:b[a]};var c=Qc={HmacSHA256:"HmacSHA256",SHA256withRSA:"SHA256withRSA"};Object.freeze(Qc);Jd=function(a){return c[a]};d={FAIL:1,TRANSIENT_FAILURE:2,ENTITY_REAUTH:3,USER_REAUTH:4,
KEYX_REQUIRED:5,ENTITYDATA_REAUTH:6,USERDATA_REAUTH:7,EXPIRED:8,REPLAYED:9,SSOTOKEN_REJECTED:10};Object.freeze(d)})();var Y={isObjectLiteral:function(a){return null!==a&&"object"===typeof a&&a.constructor===Object},extendDeep:function(){var a=arguments[0],b=1,c=arguments.length,d=!1,f,k,h,Q;"boolean"===typeof a&&(d=a,a=arguments[1],b=2);for(;b<c;b++)if(null!=(f=arguments[b]))for(k in f)d&&k in a||(Q=f[k],a!==Q&&Q!==y&&(h=a[k],a[k]=null!==h&&null!==Q&&"object"===typeof h&&"object"===typeof Q?Y.extendDeep(d,
{},h,Q):Q));return a}};(function(){function a(b,c){return function(){var a=b.base,u;b.base=c;u=b.apply(this,arguments);b.base=a;return u}}function b(c,d,k){var u,w,m,l;k=k||Q;l=!!k.extendAll;for(u in d)w=d.__lookupGetter__(u),m=d.__lookupSetter__(u),w||m?(w&&c.__defineGetter__(u,w),m&&c.__defineSetter__(u,m)):(w=d[u],m=c[u],"function"===typeof w&&"function"===typeof m&&w!==m?(w.base!==Function.prototype.base&&(w=a(w,m)),w.base=m):(l||k[u])&&Y.isObjectLiteral(w)&&Y.isObjectLiteral(m)&&(w=Y.extendDeep({},
m,w)),c[u]=w)}function c(){var a=Array.prototype.slice,b=a.call(arguments,1);return this.extend({init:function u(){var c=a.call(arguments,0);u.base.apply(this,b.concat(c))}})}function d(a,c){var f=new this(h);b(f,a,c);return k(f)}function f(a,c){b(this.prototype,a,c);return this}function k(a){var b=function(){var a=this.init;a&&arguments[0]!==h&&a.apply(this,arguments)};a&&(b.prototype=a);b.prototype.constructor=b;b.extend=d;b.bind=c;b.mixin=f;return b}var h={},Q={actions:!0};Function.prototype.base=
function(){};Y.Class={create:k,mixin:b,extend:function(a,b){var c=k();c.prototype=new a;return c.extend(b)}};Y.mixin=function(){Y.log&&Y.log.warn("util.mixin is deprecated. Please change your code to use util.Class.mixin()");b.apply(null,arguments)}})();(function(){function a(b,c){return function(){var a=b.base,w;b.base=c;w=b.apply(this,arguments);b.base=a;return w}}function b(c,d,u){var w,m,l,g;u=u||Q;g=!!u.extendAll;for(w in d)m=d.__lookupGetter__(w),l=d.__lookupSetter__(w),m||l?(m&&c.__defineGetter__(w,
m),l&&c.__defineSetter__(w,l)):(m=d[w],l=c[w],"function"===typeof m&&"function"===typeof l&&m!==l?(m.base!==n&&(m=a(m,l)),m.base=l):(g||u[w])&&Y.isObjectLiteral(m)&&Y.isObjectLiteral(l)&&(m=Y.extendDeep({},l,m)),c[w]=m)}function c(){var a=Array.prototype.slice,b=a.call(arguments,1);return this.extend({init:function w(){var m=a.call(arguments,0);w.base.apply(this,b.concat(m))}})}function d(a,c){var u=new this(h);b(u,a,c);return f(u)}function k(a,c){b(this.prototype,a,c);return this}function f(a){var b=
function(){var a=this.init;a&&arguments[0]!==h&&a.apply(this,arguments)};a&&(b.prototype=a);b.prototype.constructor=b;b.extend=d;b.bind=c;b.mixin=k;return b}var h={},Q={actions:!0},n=function(){};Function.prototype.base=n;Y.Class={create:f,mixin:b,extend:function(a,b){var c=f();c.prototype=new a;return c.extend(b)}};Y.mixin=function(){Y.log&&Y.log.warn("util.mixin is deprecated. Please change your code to use util.Class.mixin()");b.apply(null,arguments)}})();var Fa;(function(){function a(b){return b==
Ia?1:b+1}function b(c){if(0===Object.keys(c._waiters).length)return 0;for(var d=a(c._nextWaiter);!c._waiters[d];)d=a(d);return d}Fa=Y.Class.create({init:function(){Object.defineProperties(this,{_queue:{value:[],writable:!1,enumerable:!1,configurable:!1},_waiters:{value:{},writable:!1,enumerable:!1,configurable:!1},_nextWaiter:{value:0,writable:!0,enumerable:!1,configurable:!1},_lastWaiter:{value:0,writable:!0,enumerable:!1,configurable:!1}})},cancel:function(a){if(this._waiters[a]){var c=this._waiters[a];
delete this._waiters[a];a==this._nextWaiter&&(this._nextWaiter=b(this));c.call(this,y)}},cancelAll:function(){for(;0!==this._nextWaiter;)this.cancel(this._nextWaiter)},poll:function(c,d){var f=this,h=a(this._lastWaiter);this._lastWaiter=h;k(d,function(){if(0<this._queue.length){var a=this._queue.shift();setTimeout(function(){d.result(a)},0)}else{var k;-1!=c&&(k=setTimeout(function(){delete f._waiters[h];h==f._nextWaiter&&(f._nextWaiter=b(f));d.timeout()},c));this._waiters[h]=function(a){clearTimeout(k);
setTimeout(function(){d.result(a)},0)};this._nextWaiter||(this._nextWaiter=h)}},f);return h},add:function(a){if(this._nextWaiter){var c=this._waiters[this._nextWaiter];delete this._waiters[this._nextWaiter];this._nextWaiter=b(this);c.call(this,a)}else this._queue.push(a)}})})();var ge;(function(){var a=0-Ia;ge=Y.Class.create({nextBoolean:function(){var a=new Uint8Array(1);Fb.getRandomValues(a);return a[0]&1?!0:!1},nextInt:function(a){if(null!==a&&a!==y){if("number"!==typeof a)throw new TypeError("n must be of type number");
if(1>a)throw new RangeError("n must be greater than zero");--a;var b=new Uint8Array(4);Fb.getRandomValues(b);return Math.floor(((b[3]&127)<<24|b[2]<<16|b[1]<<8|b[0])/2147483648*(a-0+1)+0)}a=new Uint8Array(4);Fb.getRandomValues(a);b=(a[3]&127)<<24|a[2]<<16|a[1]<<8|a[0];return a[3]&128?-b:b},nextLong:function(){for(var b=a;b==a;){b=new Uint8Array(7);Fb.getRandomValues(b);var c=16777216*((b[6]&31)<<24|b[5]<<16|b[4]<<8|b[3])+(b[2]<<16|b[1]<<8|b[0]),b=b[6]&128?-c-1:c}return b},nextBytes:function(a){Fb.getRandomValues(a)}})})();
var Fc;(function(){function a(b){return b==Ia?1:b+1}function b(c){if(0===Object.keys(c._waitingReaders).length)return 0;for(var d=a(c._nextReader);!c._waitingReaders[d];)d=a(d);return d}function c(b){if(0===Object.keys(b._waitingWriters).length)return 0;for(var d=a(b._nextWriter);!b._waitingWriters[d];)d=a(d);return d}Fc=Y.Class.create({init:function(){Object.defineProperties(this,{_readers:{value:{},writable:!1,enumerable:!1,configurable:!1},_waitingReaders:{value:{},writable:!1,enumerable:!1,configurable:!1},
_writer:{value:null,writable:!0,enumerable:!1,configurable:!1},_waitingWriters:{value:{},writable:!1,enumerable:!1,configurable:!1},_nextReader:{value:0,writable:!0,enumerable:!1,configurable:!1},_nextWriter:{value:0,writable:!0,enumerable:!1,configurable:!1},_lastNumber:{value:0,writable:!0,enumerable:!1,configurable:!1}})},cancel:function(a){if(this._waitingReaders[a]){var d=this._waitingReaders[a];delete this._waitingReaders[a];a==this._nextReader&&(this._nextReader=b(this));d.call(this,!0)}this._waitingWriters[a]&&
(d=this._waitingWriters[a],delete this._waitingWriters[a],a==this._nextWriter&&(this._nextWriter=c(this)),d.call(this,!0))},cancelAll:function(){for(;0!==this._nextWriter;)this.cancel(this._nextWriter);for(;0!==this._nextReader;)this.cancel(this._nextReader)},readLock:function(c,d){var f=this,h=a(this._lastNumber);this._lastNumber=h;k(d,function(){if(!this._writer&&0===Object.keys(this._waitingWriters).length)return this._readers[h]=!0,h;var a;-1!=c&&(a=setTimeout(function(){delete f._waitingReaders[h];
h==f._nextReader&&(f._nextReader=b(f));d.timeout()},c));this._waitingReaders[h]=function(b){clearTimeout(a);b?setTimeout(function(){d.result(y)},0):(f._readers[h]=!0,setTimeout(function(){d.result(h)},0))};this._nextReader||(this._nextReader=h)},f);return h},writeLock:function(b,d){var f=this,h=a(this._lastNumber);this._lastNumber=h;k(d,function(){if(0===Object.keys(this._readers).length&&0===Object.keys(this._waitingReaders).length&&!this._writer)return this._writer=h;var a;-1!=b&&(a=setTimeout(function(){delete f._waitingWriters[h];
h==f._nextWriter&&(f._nextWriter=c(f));d.timeout()},b));this._waitingWriters[h]=function(b){clearTimeout(a);b?setTimeout(function(){d.result(y)},0):(f._writer=h,setTimeout(function(){d.result(h)},0))};this._nextWriter||(this._nextWriter=h)},f);return h},unlock:function(b){if(b==this._writer)this._writer=null;else{if(!this._readers[b])throw new W("There is no reader or writer with ticket number "+b+".");delete this._readers[b]}if(this._nextWriter)0<Object.keys(this._readers).length||(b=this._waitingWriters[this._nextWriter],
delete this._waitingWriters[this._nextWriter],this._nextWriter=c(this),b.call(this,!1));else{for(var d=this._nextReader;0<Object.keys(this._waitingReaders).length;d=a(d))this._waitingReaders[d]&&(b=this._waitingReaders[d],delete this._waitingReaders[d],b.call(this,!1));this._nextReader=0}}})})();Y.Class.mixin(a,{JSON_PARSE_ERROR:new a(0,d.FAIL,"Error parsing JSON."),JSON_ENCODE_ERROR:new a(1,d.FAIL,"Error encoding JSON."),ENVELOPE_HASH_MISMATCH:new a(2,d.FAIL,"Computed hash does not match envelope hash."),
INVALID_PUBLIC_KEY:new a(3,d.FAIL,"Invalid public key provided."),INVALID_PRIVATE_KEY:new a(4,d.FAIL,"Invalid private key provided."),PLAINTEXT_ILLEGAL_BLOCK_SIZE:new a(5,d.FAIL,"Plaintext is not a multiple of the block size."),PLAINTEXT_BAD_PADDING:new a(6,d.FAIL,"Plaintext contains incorrect padding."),CIPHERTEXT_ILLEGAL_BLOCK_SIZE:new a(7,d.FAIL,"Ciphertext is not a multiple of the block size."),CIPHERTEXT_BAD_PADDING:new a(8,d.FAIL,"Ciphertext contains incorrect padding."),ENCRYPT_NOT_SUPPORTED:new a(9,
d.FAIL,"Encryption not supported."),DECRYPT_NOT_SUPPORTED:new a(10,d.FAIL,"Decryption not supported."),ENVELOPE_KEY_ID_MISMATCH:new a(11,d.FAIL,"Encryption envelope key ID does not match crypto context key ID."),CIPHERTEXT_ENVELOPE_PARSE_ERROR:new a(12,d.FAIL,"Error parsing ciphertext envelope."),CIPHERTEXT_ENVELOPE_ENCODE_ERROR:new a(13,d.FAIL,"Error encoding ciphertext envelope."),SIGN_NOT_SUPPORTED:new a(14,d.FAIL,"Sign not supported."),VERIFY_NOT_SUPPORTED:new a(15,d.FAIL,"Verify not suppoprted."),
SIGNATURE_ERROR:new a(16,d.FAIL,"Signature not initialized or unable to process data/signature."),HMAC_ERROR:new a(17,d.FAIL,"Error computing HMAC."),ENCRYPT_ERROR:new a(18,d.FAIL,"Error encrypting plaintext."),DECRYPT_ERROR:new a(19,d.FAIL,"Error decrypting ciphertext."),INSUFFICIENT_CIPHERTEXT:new a(20,d.FAIL,"Insufficient ciphertext for decryption."),SESSION_KEY_CREATION_FAILURE:new a(21,d.FAIL,"Error when creating session keys."),ASN1_PARSE_ERROR:new a(22,d.FAIL,"Error parsing ASN.1."),ASN1_ENCODE_ERROR:new a(23,
d.FAIL,"Error encoding ASN.1."),INVALID_SYMMETRIC_KEY:new a(24,d.FAIL,"Invalid symmetric key provided."),INVALID_ENCRYPTION_KEY:new a(25,d.FAIL,"Invalid encryption key."),INVALID_HMAC_KEY:new a(26,d.FAIL,"Invalid HMAC key."),WRAP_NOT_SUPPORTED:new a(27,d.FAIL,"Wrap not supported."),UNWRAP_NOT_SUPPORTED:new a(28,d.FAIL,"Unwrap not supported."),UNIDENTIFIED_JWK_TYPE:new a(29,d.FAIL,"Unidentified JSON web key type."),UNIDENTIFIED_JWK_USAGE:new a(30,d.FAIL,"Unidentified JSON web key usage."),UNIDENTIFIED_JWK_ALGORITHM:new a(31,
d.FAIL,"Unidentified JSON web key algorithm."),WRAP_ERROR:new a(32,d.FAIL,"Error wrapping plaintext."),UNWRAP_ERROR:new a(33,d.FAIL,"Error unwrapping ciphertext."),INVALID_JWK:new a(34,d.FAIL,"Invalid JSON web key."),INVALID_JWK_KEYDATA:new a(35,d.FAIL,"Invalid JSON web key keydata."),UNSUPPORTED_JWK_ALGORITHM:new a(36,d.FAIL,"Unsupported JSON web key algorithm."),WRAP_KEY_CREATION_FAILURE:new a(37,d.FAIL,"Error when creating wrapping key."),INVALID_WRAP_CIPHERTEXT:new a(38,d.FAIL,"Invalid wrap ciphertext."),
UNSUPPORTED_JWE_ALGORITHM:new a(39,d.FAIL,"Unsupported JSON web encryption algorithm."),JWE_ENCODE_ERROR:new a(40,d.FAIL,"Error encoding JSON web encryption header."),JWE_PARSE_ERROR:new a(41,d.FAIL,"Error parsing JSON web encryption header."),INVALID_ALGORITHM_PARAMS:new a(42,d.FAIL,"Invalid algorithm parameters."),JWE_ALGORITHM_MISMATCH:new a(43,d.FAIL,"JSON web encryption header algorithms mismatch."),KEY_IMPORT_ERROR:new a(44,d.FAIL,"Error importing key."),KEY_EXPORT_ERROR:new a(45,d.FAIL,"Error exporting key."),
DIGEST_ERROR:new a(46,d.FAIL,"Error in digest."),UNSUPPORTED_KEY:new a(47,d.FAIL,"Unsupported key type or algorithm."),UNSUPPORTED_JWE_SERIALIZATION:new a(48,d.FAIL,"Unsupported JSON web encryption serialization."),XML_PARSE_ERROR:new a(49,d.FAIL,"Error parsing XML."),XML_ENCODE_ERROR:new a(50,d.FAIL,"Error encoding XML."),INVALID_WRAPPING_KEY:new a(51,d.FAIL,"Invalid wrapping key."),UNIDENTIFIED_CIPHERTEXT_ENVELOPE:new a(52,d.FAIL,"Unidentified ciphertext envelope version."),UNIDENTIFIED_SIGNATURE_ENVELOPE:new a(53,
d.FAIL,"Unidentified signature envelope version."),UNSUPPORTED_CIPHERTEXT_ENVELOPE:new a(54,d.FAIL,"Unsupported ciphertext envelope version."),UNSUPPORTED_SIGNATURE_ENVELOPE:new a(55,d.FAIL,"Unsupported signature envelope version."),UNIDENTIFIED_CIPHERSPEC:new a(56,d.FAIL,"Unidentified cipher specification."),UNIDENTIFIED_ALGORITHM:new a(57,d.FAIL,"Unidentified algorithm."),SIGNATURE_ENVELOPE_PARSE_ERROR:new a(58,d.FAIL,"Error parsing signature envelope."),SIGNATURE_ENVELOPE_ENCODE_ERROR:new a(59,
d.FAIL,"Error encoding signature envelope."),INVALID_SIGNATURE:new a(60,d.FAIL,"Invalid signature."),WRAPKEY_FINGERPRINT_NOTSUPPORTED:new a(61,d.FAIL,"Wrap key fingerprint not supported"),UNIDENTIFIED_JWK_KEYOP:new a(62,d.FAIL,"Unidentified JSON web key key operation."),MASTERTOKEN_UNTRUSTED:new a(1E3,d.ENTITY_REAUTH,"Master token is not trusted."),MASTERTOKEN_KEY_CREATION_ERROR:new a(1001,d.ENTITY_REAUTH,"Unable to construct symmetric keys from master token."),MASTERTOKEN_EXPIRES_BEFORE_RENEWAL:new a(1002,
d.ENTITY_REAUTH,"Master token expiration timestamp is before the renewal window opens."),MASTERTOKEN_SESSIONDATA_MISSING:new a(1003,d.ENTITY_REAUTH,"No master token session data found."),MASTERTOKEN_SEQUENCE_NUMBER_OUT_OF_RANGE:new a(1004,d.ENTITY_REAUTH,"Master token sequence number is out of range."),MASTERTOKEN_SERIAL_NUMBER_OUT_OF_RANGE:new a(1005,d.ENTITY_REAUTH,"Master token serial number is out of range."),MASTERTOKEN_TOKENDATA_INVALID:new a(1006,d.ENTITY_REAUTH,"Invalid master token data."),
MASTERTOKEN_SIGNATURE_INVALID:new a(1007,d.ENTITY_REAUTH,"Invalid master token signature."),MASTERTOKEN_SESSIONDATA_INVALID:new a(1008,d.ENTITY_REAUTH,"Invalid master token session data."),MASTERTOKEN_SEQUENCE_NUMBER_OUT_OF_SYNC:new a(1009,d.ENTITY_REAUTH,"Master token sequence number does not have the expected value."),MASTERTOKEN_TOKENDATA_MISSING:new a(1010,d.ENTITY_REAUTH,"No master token data found."),MASTERTOKEN_TOKENDATA_PARSE_ERROR:new a(1011,d.ENTITY_REAUTH,"Error parsing master token data."),
MASTERTOKEN_SESSIONDATA_PARSE_ERROR:new a(1012,d.ENTITY_REAUTH,"Error parsing master token session data."),MASTERTOKEN_IDENTITY_REVOKED:new a(1013,d.ENTITY_REAUTH,"Master token entity identity is revoked."),MASTERTOKEN_REJECTED_BY_APP:new a(1014,d.ENTITY_REAUTH,"Master token is rejected by the application."),USERIDTOKEN_MASTERTOKEN_MISMATCH:new a(2E3,d.USER_REAUTH,"User ID token master token serial number does not match master token serial number."),USERIDTOKEN_NOT_DECRYPTED:new a(2001,d.USER_REAUTH,
"User ID token is not decrypted or verified."),USERIDTOKEN_MASTERTOKEN_NULL:new a(2002,d.USER_REAUTH,"User ID token requires a master token."),USERIDTOKEN_EXPIRES_BEFORE_RENEWAL:new a(2003,d.USER_REAUTH,"User ID token expiration timestamp is before the renewal window opens."),USERIDTOKEN_USERDATA_MISSING:new a(2004,d.USER_REAUTH,"No user ID token user data found."),USERIDTOKEN_MASTERTOKEN_NOT_FOUND:new a(2005,d.USER_REAUTH,"User ID token is bound to an unknown master token."),USERIDTOKEN_MASTERTOKEN_SERIAL_NUMBER_OUT_OF_RANGE:new a(2006,
d.USER_REAUTH,"User ID token master token serial number is out of range."),USERIDTOKEN_SERIAL_NUMBER_OUT_OF_RANGE:new a(2007,d.USER_REAUTH,"User ID token serial number is out of range."),USERIDTOKEN_TOKENDATA_INVALID:new a(2008,d.USER_REAUTH,"Invalid user ID token data."),USERIDTOKEN_SIGNATURE_INVALID:new a(2009,d.USER_REAUTH,"Invalid user ID token signature."),USERIDTOKEN_USERDATA_INVALID:new a(2010,d.USER_REAUTH,"Invalid user ID token user data."),USERIDTOKEN_IDENTITY_INVALID:new a(2011,d.USER_REAUTH,
"Invalid user ID token user identity."),RESERVED_2012:new a(2012,d.USER_REAUTH,"The entity is not associated with the user."),USERIDTOKEN_IDENTITY_NOT_FOUND:new a(2013,d.USER_REAUTH,"The user identity was not found."),USERIDTOKEN_PASSWORD_VERSION_CHANGED:new a(2014,d.USER_REAUTH,"The user identity must be reauthenticated because the password version changed."),USERIDTOKEN_USERAUTH_DATA_MISMATCH:new a(2015,d.USER_REAUTH,"The user ID token and user authentication data user identities do not match."),
USERIDTOKEN_TOKENDATA_MISSING:new a(2016,d.USER_REAUTH,"No user ID token data found."),USERIDTOKEN_TOKENDATA_PARSE_ERROR:new a(2017,d.USER_REAUTH,"Error parsing user ID token data."),USERIDTOKEN_USERDATA_PARSE_ERROR:new a(2018,d.USER_REAUTH,"Error parsing user ID token user data."),USERIDTOKEN_REVOKED:new a(2019,d.USER_REAUTH,"User ID token is revoked."),USERIDTOKEN_REJECTED_BY_APP:new a(2020,d.USER_REAUTH,"User ID token is rejected by the application."),SERVICETOKEN_MASTERTOKEN_MISMATCH:new a(3E3,
d.FAIL,"Service token master token serial number does not match master token serial number."),SERVICETOKEN_USERIDTOKEN_MISMATCH:new a(3001,d.FAIL,"Service token user ID token serial number does not match user ID token serial number."),SERVICETOKEN_SERVICEDATA_INVALID:new a(3002,d.FAIL,"Service token data invalid."),SERVICETOKEN_MASTERTOKEN_NOT_FOUND:new a(3003,d.FAIL,"Service token is bound to an unknown master token."),SERVICETOKEN_USERIDTOKEN_NOT_FOUND:new a(3004,d.FAIL,"Service token is bound to an unknown user ID token."),
SERVICETOKEN_MASTERTOKEN_SERIAL_NUMBER_OUT_OF_RANGE:new a(3005,d.FAIL,"Service token master token serial number is out of range."),SERVICETOKEN_USERIDTOKEN_SERIAL_NUMBER_OUT_OF_RANGE:new a(3006,d.FAIL,"Service token user ID token serial number is out of range."),SERVICETOKEN_TOKENDATA_INVALID:new a(3007,d.FAIL,"Invalid service token data."),SERVICETOKEN_SIGNATURE_INVALID:new a(3008,d.FAIL,"Invalid service token signature."),SERVICETOKEN_TOKENDATA_MISSING:new a(3009,d.FAIL,"No service token data found."),
UNIDENTIFIED_ENTITYAUTH_SCHEME:new a(4E3,d.FAIL,"Unable to identify entity authentication scheme."),ENTITYAUTH_FACTORY_NOT_FOUND:new a(4001,d.FAIL,"No factory registered for entity authentication scheme."),X509CERT_PARSE_ERROR:new a(4002,d.ENTITYDATA_REAUTH,"Error parsing X.509 certificate data."),X509CERT_ENCODE_ERROR:new a(4003,d.ENTITYDATA_REAUTH,"Error encoding X.509 certificate data."),X509CERT_VERIFICATION_FAILED:new a(4004,d.ENTITYDATA_REAUTH,"X.509 certificate verification failed."),ENTITY_NOT_FOUND:new a(4005,
d.FAIL,"Entity not recognized."),INCORRECT_ENTITYAUTH_DATA:new a(4006,d.FAIL,"Entity used incorrect entity authentication data type."),RSA_PUBLICKEY_NOT_FOUND:new a(4007,d.ENTITYDATA_REAUTH,"RSA public key not found."),NPTICKET_GRACE_PERIOD_EXCEEDED:new a(4008,d.ENTITYDATA_REAUTH,"Fake NP-Tickets cannot be used after the grace period when the Playstation Network is up."),NPTICKET_SERVICE_ID_MISSING:new a(4009,d.ENTITYDATA_REAUTH,"NP-Ticket service ID is missing."),NPTICKET_SERVICE_ID_DISALLOWED:new a(4010,
d.ENTITYDATA_REAUTH,"NP-Ticket service ID is not allowed."),NPTICKET_NOT_YET_VALID:new a(4011,d.ENTITYDATA_REAUTH,"NP-Ticket issuance date is in the future."),NPTICKET_EXPIRED:new a(4012,d.ENTITYDATA_REAUTH,"NP-Ticket has expired."),NPTICKET_PRIVATE_KEY_NOT_FOUND:new a(4013,d.ENTITYDATA_REAUTH,"No private key found for NP-Ticket GUID."),NPTICKET_COOKIE_VERIFICATION_FAILED:new a(4014,d.ENTITYDATA_REAUTH,"NP-Ticket cookie signature verification failed."),NPTICKET_INCORRECT_COOKIE_VERSION:new a(4015,
d.ENTITYDATA_REAUTH,"Incorrect NP-Ticket cookie version."),NPTICKET_BROKEN:new a(4016,d.ENTITYDATA_REAUTH,"NP-Ticket broken."),NPTICKET_VERIFICATION_FAILED:new a(4017,d.ENTITYDATA_REAUTH,"NP-Ticket signature verification failed."),NPTICKET_ERROR:new a(4018,d.ENTITYDATA_REAUTH,"Unknown NP-Ticket TCM error."),NPTICKET_CIPHER_INFO_NOT_FOUND:new a(4019,d.ENTITYDATA_REAUTH,"No cipher information found for NP-Ticket."),NPTICKET_INVALID_CIPHER_INFO:new a(4020,d.ENTITYDATA_REAUTH,"Cipher information for NP-Ticket is invalid."),
NPTICKET_UNSUPPORTED_VERSION:new a(4021,d.ENTITYDATA_REAUTH,"Unsupported NP-Ticket version."),NPTICKET_INCORRECT_KEY_LENGTH:new a(4022,d.ENTITYDATA_REAUTH,"Incorrect NP-Ticket public key length."),UNSUPPORTED_ENTITYAUTH_DATA:new a(4023,d.FAIL,"Unsupported entity authentication data."),CRYPTEX_RSA_KEY_SET_NOT_FOUND:new a(4024,d.FAIL,"Cryptex RSA key set not found."),ENTITY_REVOKED:new a(4025,d.FAIL,"Entity is revoked."),ENTITY_REJECTED_BY_APP:new a(4026,d.ENTITYDATA_REAUTH,"Entity is rejected by the application."),
FORCE_LOGIN:new a(5E3,d.USERDATA_REAUTH,"User must login again."),NETFLIXID_COOKIES_EXPIRED:new a(5001,d.USERDATA_REAUTH,"Netflix ID cookie identity has expired."),NETFLIXID_COOKIES_BLANK:new a(5002,d.USERDATA_REAUTH,"Netflix ID or Secure Netflix ID cookie is blank."),UNIDENTIFIED_USERAUTH_SCHEME:new a(5003,d.FAIL,"Unable to identify user authentication scheme."),USERAUTH_FACTORY_NOT_FOUND:new a(5004,d.FAIL,"No factory registered for user authentication scheme."),EMAILPASSWORD_BLANK:new a(5005,d.USERDATA_REAUTH,
"Email or password is blank."),AUTHMGR_COMMS_FAILURE:new a(5006,d.TRANSIENT_FAILURE,"Error communicating with authentication manager."),EMAILPASSWORD_INCORRECT:new a(5007,d.USERDATA_REAUTH,"Email or password is incorrect."),UNSUPPORTED_USERAUTH_DATA:new a(5008,d.FAIL,"Unsupported user authentication data."),SSOTOKEN_BLANK:new a(5009,d.SSOTOKEN_REJECTED,"SSO token is blank."),SSOTOKEN_NOT_ASSOCIATED:new a(5010,d.USERDATA_REAUTH,"SSO token is not associated with a Netflix user."),USERAUTH_USERIDTOKEN_INVALID:new a(5011,
d.USERDATA_REAUTH,"User authentication data user ID token is invalid."),PROFILEID_BLANK:new a(5012,d.USERDATA_REAUTH,"Profile ID is blank."),UNIDENTIFIED_USERAUTH_MECHANISM:new a(5013,d.FAIL,"Unable to identify user authentication mechanism."),UNSUPPORTED_USERAUTH_MECHANISM:new a(5014,d.FAIL,"Unsupported user authentication mechanism."),SSOTOKEN_INVALID:new a(5015,d.SSOTOKEN_REJECTED,"SSO token invalid."),USERAUTH_MASTERTOKEN_MISSING:new a(5016,d.USERDATA_REAUTH,"User authentication required master token is missing."),
ACCTMGR_COMMS_FAILURE:new a(5017,d.TRANSIENT_FAILURE,"Error communicating with the account manager."),SSO_ASSOCIATION_FAILURE:new a(5018,d.TRANSIENT_FAILURE,"SSO user association failed."),SSO_DISASSOCIATION_FAILURE:new a(5019,d.TRANSIENT_FAILURE,"SSO user disassociation failed."),MDX_USERAUTH_VERIFICATION_FAILED:new a(5020,d.USERDATA_REAUTH,"MDX user authentication data verification failed."),USERAUTH_USERIDTOKEN_NOT_DECRYPTED:new a(5021,d.USERDATA_REAUTH,"User authentication data user ID token is not decrypted or verified."),
MDX_USERAUTH_ACTION_INVALID:new a(5022,d.USERDATA_REAUTH,"MDX user authentication data action is invalid."),CTICKET_DECRYPT_ERROR:new a(5023,d.USERDATA_REAUTH,"CTicket decryption failed."),USERAUTH_MASTERTOKEN_INVALID:new a(5024,d.USERDATA_REAUTH,"User authentication data master token is invalid."),USERAUTH_MASTERTOKEN_NOT_DECRYPTED:new a(5025,d.USERDATA_REAUTH,"User authentication data master token is not decrypted or verified."),CTICKET_CRYPTOCONTEXT_ERROR:new a(5026,d.USERDATA_REAUTH,"Error creating CTicket crypto context."),
MDX_PIN_BLANK:new a(5027,d.USERDATA_REAUTH,"MDX controller or target PIN is blank."),MDX_PIN_MISMATCH:new a(5028,d.USERDATA_REAUTH,"MDX controller and target PIN mismatch."),MDX_USER_UNKNOWN:new a(5029,d.USERDATA_REAUTH,"MDX controller user ID token or CTicket is not decrypted or verified."),USERAUTH_USERIDTOKEN_MISSING:new a(5030,d.USERDATA_REAUTH,"User authentication required user ID token is missing."),MDX_CONTROLLERDATA_INVALID:new a(5031,d.USERDATA_REAUTH,"MDX controller authentication data is invalid."),
USERAUTH_ENTITY_MISMATCH:new a(5032,d.USERDATA_REAUTH,"User authentication data does not match entity identity."),USERAUTH_INCORRECT_DATA:new a(5033,d.FAIL,"Entity used incorrect key request data type"),SSO_ASSOCIATION_WITH_NONMEMBER:new a(5034,d.USERDATA_REAUTH,"SSO user association failed because the customer is not a member."),SSO_ASSOCIATION_WITH_FORMERMEMBER:new a(5035,d.USERDATA_REAUTH,"SSO user association failed because the customer is a former member."),SSO_ASSOCIATION_CONFLICT:new a(5036,
d.USERDATA_REAUTH,"SSO user association failed because the token identifies a different member."),USER_REJECTED_BY_APP:new a(5037,d.USERDATA_REAUTH,"User is rejected by the application."),PROFILE_SWITCH_DISALLOWED:new a(5038,d.TRANSIENT_FAILURE,"Unable to switch user profile."),MEMBERSHIPCLIENT_COMMS_FAILURE:new a(5039,d.TRANSIENT_FAILURE,"Error communicating with the membership manager."),USERIDTOKEN_IDENTITY_NOT_ASSOCIATED_WITH_ENTITY:new a(5040,d.USER_REAUTH,"The entity is not associated with the user."),
UNSUPPORTED_COMPRESSION:new a(6E3,d.FAIL,"Unsupported compression algorithm."),COMPRESSION_ERROR:new a(6001,d.FAIL,"Error compressing data."),UNCOMPRESSION_ERROR:new a(6002,d.FAIL,"Error uncompressing data."),MESSAGE_ENTITY_NOT_FOUND:new a(6003,d.FAIL,"Message header entity authentication data or master token not found."),PAYLOAD_MESSAGE_ID_MISMATCH:new a(6004,d.FAIL,"Payload chunk message ID does not match header message ID ."),PAYLOAD_SEQUENCE_NUMBER_MISMATCH:new a(6005,d.FAIL,"Payload chunk sequence number does not match expected sequence number."),
PAYLOAD_VERIFICATION_FAILED:new a(6006,d.FAIL,"Payload chunk payload signature verification failed."),MESSAGE_DATA_MISSING:new a(6007,d.FAIL,"No message data found."),MESSAGE_FORMAT_ERROR:new a(6008,d.FAIL,"Malformed message data."),MESSAGE_VERIFICATION_FAILED:new a(6009,d.FAIL,"Message header/error data signature verification failed."),HEADER_DATA_MISSING:new a(6010,d.FAIL,"No header data found."),PAYLOAD_DATA_MISSING:new a(6011,d.FAIL,"No payload data found in non-EOM payload chunk."),PAYLOAD_DATA_CORRUPT:new a(6012,
d.FAIL,"Corrupt payload data found in non-EOM payload chunk."),UNIDENTIFIED_COMPRESSION:new a(6013,d.FAIL,"Unidentified compression algorithm."),MESSAGE_EXPIRED:new a(6014,d.EXPIRED,"Message expired and not renewable. Rejected."),MESSAGE_ID_OUT_OF_RANGE:new a(6015,d.FAIL,"Message ID is out of range."),INTERNAL_CODE_NEGATIVE:new a(6016,d.FAIL,"Error header internal code is negative."),UNEXPECTED_RESPONSE_MESSAGE_ID:new a(6017,d.FAIL,"Unexpected response message ID. Possible replay."),RESPONSE_REQUIRES_ENCRYPTION:new a(6018,
d.KEYX_REQUIRED,"Message response requires encryption."),PAYLOAD_SEQUENCE_NUMBER_OUT_OF_RANGE:new a(6019,d.FAIL,"Payload chunk sequence number is out of range."),PAYLOAD_MESSAGE_ID_OUT_OF_RANGE:new a(6020,d.FAIL,"Payload chunk message ID is out of range."),MESSAGE_REPLAYED:new a(6021,d.REPLAYED,"Non-replayable message replayed."),INCOMPLETE_NONREPLAYABLE_MESSAGE:new a(6022,d.FAIL,"Non-replayable message sent non-renewable or without key request data or without a master token."),HEADER_SIGNATURE_INVALID:new a(6023,
d.FAIL,"Invalid Header signature."),HEADER_DATA_INVALID:new a(6024,d.FAIL,"Invalid header data."),PAYLOAD_INVALID:new a(6025,d.FAIL,"Invalid payload."),PAYLOAD_SIGNATURE_INVALID:new a(6026,d.FAIL,"Invalid payload signature."),RESPONSE_REQUIRES_MASTERTOKEN:new a(6027,d.KEYX_REQUIRED,"Message response requires a master token."),RESPONSE_REQUIRES_USERIDTOKEN:new a(6028,d.USER_REAUTH,"Message response requires a user ID token."),REQUEST_REQUIRES_USERAUTHDATA:new a(6029,d.FAIL,"User-associated message requires user authentication data."),
UNEXPECTED_MESSAGE_SENDER:new a(6030,d.FAIL,"Message sender is equal to the local entity or not the master token entity."),NONREPLAYABLE_MESSAGE_REQUIRES_MASTERTOKEN:new a(6031,d.FAIL,"Non-replayable message requires a master token."),NONREPLAYABLE_ID_OUT_OF_RANGE:new a(6032,d.FAIL,"Non-replayable message non-replayable ID is out of range."),MESSAGE_SERVICETOKEN_MISMATCH:new a(6033,d.FAIL,"Service token master token or user ID token serial number does not match the message token serial numbers."),
MESSAGE_PEER_SERVICETOKEN_MISMATCH:new a(6034,d.FAIL,"Peer service token master token or user ID token serial number does not match the message peer token serial numbers."),RESPONSE_REQUIRES_INTEGRITY_PROTECTION:new a(6035,d.KEYX_REQUIRED,"Message response requires integrity protection."),HANDSHAKE_DATA_MISSING:new a(6036,d.FAIL,"Handshake message is not renewable or does not contain key request data."),MESSAGE_RECIPIENT_MISMATCH:new a(6037,d.FAIL,"Message recipient does not match local identity."),
UNIDENTIFIED_KEYX_SCHEME:new a(7E3,d.FAIL,"Unable to identify key exchange scheme."),KEYX_FACTORY_NOT_FOUND:new a(7001,d.FAIL,"No factory registered for key exchange scheme."),KEYX_REQUEST_NOT_FOUND:new a(7002,d.FAIL,"No key request found matching header key response data."),UNIDENTIFIED_KEYX_KEY_ID:new a(7003,d.FAIL,"Unable to identify key exchange key ID."),UNSUPPORTED_KEYX_KEY_ID:new a(7004,d.FAIL,"Unsupported key exchange key ID."),UNIDENTIFIED_KEYX_MECHANISM:new a(7005,d.FAIL,"Unable to identify key exchange mechanism."),
UNSUPPORTED_KEYX_MECHANISM:new a(7006,d.FAIL,"Unsupported key exchange mechanism."),KEYX_RESPONSE_REQUEST_MISMATCH:new a(7007,d.FAIL,"Key exchange response does not match request."),KEYX_PRIVATE_KEY_MISSING:new a(7008,d.FAIL,"Key exchange private key missing."),UNKNOWN_KEYX_PARAMETERS_ID:new a(7009,d.FAIL,"Key exchange parameters ID unknown or invalid."),KEYX_MASTER_TOKEN_MISSING:new a(7010,d.FAIL,"Master token required for key exchange is missing."),KEYX_INVALID_PUBLIC_KEY:new a(7011,d.FAIL,"Key exchange public key is invalid."),
KEYX_PUBLIC_KEY_MISSING:new a(7012,d.FAIL,"Key exchange public key missing."),KEYX_WRAPPING_KEY_MISSING:new a(7013,d.FAIL,"Key exchange wrapping key missing."),KEYX_WRAPPING_KEY_ID_MISSING:new a(7014,d.FAIL,"Key exchange wrapping key ID missing."),KEYX_INVALID_WRAPPING_KEY:new a(7015,d.FAIL,"Key exchange wrapping key is invalid."),KEYX_INCORRECT_DATA:new a(7016,d.FAIL,"Entity used incorrect wrapping key data type"),CRYPTEX_ENCRYPTION_ERROR:new a(8E3,d.FAIL,"Error encrypting data with cryptex."),CRYPTEX_DECRYPTION_ERROR:new a(8001,
d.FAIL,"Error decrypting data with cryptex."),CRYPTEX_MAC_ERROR:new a(8002,d.FAIL,"Error computing MAC with cryptex."),CRYPTEX_VERIFY_ERROR:new a(8003,d.FAIL,"Error verifying MAC with cryptex."),CRYPTEX_CONTEXT_CREATION_FAILURE:new a(8004,d.FAIL,"Error creating cryptex cipher or MAC context."),DATAMODEL_DEVICE_ACCESS_ERROR:new a(8005,d.TRANSIENT_FAILURE,"Error accessing data model device."),DATAMODEL_DEVICETYPE_NOT_FOUND:new a(8006,d.FAIL,"Data model device type not found."),CRYPTEX_KEYSET_UNSUPPORTED:new a(8007,
d.FAIL,"Cryptex key set not supported."),CRYPTEX_PRIVILEGE_EXCEPTION:new a(8008,d.FAIL,"Insufficient privileges for cryptex operation."),CRYPTEX_WRAP_ERROR:new a(8009,d.FAIL,"Error wrapping data with cryptex."),CRYPTEX_UNWRAP_ERROR:new a(8010,d.FAIL,"Error unwrapping data with cryptex."),CRYPTEX_COMMS_FAILURE:new a(8011,d.TRANSIENT_FAILURE,"Error comunicating with cryptex."),CRYPTEX_SIGN_ERROR:new a(8012,d.FAIL,"Error computing signature with cryptex."),INTERNAL_EXCEPTION:new a(9E3,d.TRANSIENT_FAILURE,
"Internal exception."),MSL_COMMS_FAILURE:new a(9001,d.FAIL,"Error communicating with MSL entity."),NONE:new a(9999,d.FAIL,"Special unit test error.")});Object.freeze(a);var A;(function(){A=Y.Class.create(Error());A.mixin({init:function(a,b,c){function d(){return h?h:this.cause&&this.cause instanceof A?this.cause.messageId:y}Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor);var f=a.message;b&&(f+=" ["+b+"]");var h,k=this.stack;Object.defineProperties(this,{message:{value:f,writable:!1,
configurable:!0},error:{value:a,writable:!1,configurable:!0},cause:{value:c,writable:!1,configurable:!0},name:{value:"MslException",writable:!1,configurable:!0},masterToken:{value:null,writable:!0,configurable:!1},entityAuthenticationData:{value:null,writable:!0,configurable:!1},userIdToken:{value:null,writable:!0,configurable:!1},userAuthenticationData:{value:null,writable:!0,configurable:!1},messageId:{get:d,set:function(a){if(0>a||a>Ia)throw new RangeError("Message ID "+a+" is outside the valid range.");
d()||(h=a)},configurable:!0},stack:{get:function(){var a=this.toString();k&&(a+="\n"+k);c&&c.stack&&(a+="\nCaused by "+c.stack);return a},configurable:!0}})},setEntity:function(a){!a||this.masterToken||this.entityAuthenticationData||(a instanceof Yb?this.masterToken=a:a instanceof $c&&(this.entityAuthenticationData=a));return this},setUser:function(a){!a||this.userIdToken||this.userAuthenticationData||(a instanceof wd?this.userIdToken=a:a instanceof ad&&(this.userAuthenticationData=a));return this},
setMessageId:function(a){this.messageId=a;return this},toString:function(){return this.name+": "+this.message}})})();var T=A.extend({init:function zf(a,b,c){zf.base.call(this,a,b,c);Object.defineProperties(this,{name:{value:"MslCryptoException",writable:!1,configurable:!0}})}}),ba=A.extend({init:function Af(a,b,c){Af.base.call(this,a,b,c);Object.defineProperties(this,{name:{value:"MslEncodingException",writable:!1,configurable:!0}})}}),zc=A.extend({init:function Kg(a,b,c){Kg.base.call(this,a,b,c);
Object.defineProperties(this,{name:{value:"MslEntityAuthException",writable:!1,configurable:!0}})}}),Db;(function(){Db=Y.Class.create(Error());Db.mixin({init:function(a,b,c){Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor);var d=this.stack;Object.defineProperties(this,{message:{value:a,writable:!1,configurable:!1},cause:{value:b,writable:!1,configurable:!1},requestCause:{value:c,writable:!1,configurable:!1},name:{value:"MslErrorResponseException",writable:!1,configurable:!0},
stack:{get:function(){var a=this.toString();d&&(a+="\n"+d);b&&b.stack&&(a+="\nCaused by "+b.stack);return a},configurable:!0}})},toString:function(){return this.name+": "+this.message}})})();var ob;(function(){ob=Y.Class.create(Error());ob.mixin({init:function(a,b){Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor);var c=this.stack;Object.defineProperties(this,{message:{value:a,writable:!1,configurable:!1},cause:{value:b,writable:!1,configurable:!1},name:{value:"MslIoException",
writable:!1,configurable:!0},stack:{get:function(){var a=this.toString();c&&(a+="\n"+c);b&&b.stack&&(a+="\nCaused by "+b.stack);return a},configurable:!0}})},toString:function(){return this.name+": "+this.message}})})();var W;(function(){W=Y.Class.create(Error());W.mixin({init:function(a,b){Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor);var c=this.stack;Object.defineProperties(this,{message:{value:a,writable:!1,configurable:!1},cause:{value:b,writable:!1,configurable:!1},
name:{value:"MslInternalException",writable:!1,configurable:!0},stack:{get:function(){var a=this.toString();c&&(a+="\n"+c);b&&b.stack&&(a+="\nCaused by "+b.stack);return a},configurable:!0}})},toString:function(){return this.name+": "+this.message}})})();var ub;(function(){ub=Y.Class.create(Error());ub.mixin({init:function(a,b){Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor);var c=this.stack;Object.defineProperties(this,{message:{value:a,writable:!1,configurable:!1},cause:{value:b,
writable:!1,configurable:!1},name:{value:"MslInterruptedException",writable:!1,configurable:!0},stack:{get:function(){var a=this.toString();c&&(a+="\n"+c);b&&b.stack&&(a+="\nCaused by "+b.stack);return a},configurable:!0}})},toString:function(){return this.name+": "+this.message}})})();var Ta=A.extend({init:function Lg(a,b,c){Lg.base.call(this,a,b,c);Object.defineProperties(this,{name:{value:"MslKeyExchangeException",writable:!1,configurable:!0}})}}),qc=A.extend({init:function Fe(a,b){Fe.base.call(this,
a);Object.defineProperties(this,{masterToken:{value:b,writable:!1,configurable:!1},name:{value:"MslMasterTokenException",writable:!1,configurable:!0}})}}),za=A.extend({init:function Mg(a,b,c){Mg.base.call(this,a,b,c);Object.defineProperties(this,{name:{value:"MslMessageException",writable:!1,configurable:!0}})}}),Ra=A.extend({init:function Q(a,b,c){Q.base.call(this,a,b,c);Object.defineProperties(this,{name:{value:"MslUserAuthException",writable:!1,configurable:!0}})}}),Ea,Ma,Va;(function(){function a(b){return"undefined"===
typeof b?!1:b}function b(a){return a&&a.length?(Ma===u.V2014_02&&(a=a.map(function(a){return"wrap"==a?"wrapKey":"unwrap"==a?"unwrapKey":a})),a):Ma===u.V2014_02?"encrypt decrypt sign verify deriveKey wrapKey unwrapKey".split(" "):"encrypt decrypt sign verify deriveKey wrap unwrap".split(" ")}function c(a,b,l,g,t){return Promise.resolve().then(function(){return C.importKey(a,b,l,g,t)}).catch(function(c){if("spki"!==a&&"pkcs8"!==a)throw c;c=ASN1.webCryptoAlgorithmToJwkAlg(l);var d=ASN1.webCryptoUsageToJwkKeyOps(t);
c=ASN1.rsaDerToJwk(b,c,d,g);if(!c)throw Error("Could not make valid JWK from DER input");c=JSON.stringify(c);return C.importKey("jwk",O(c),l,g,t)})}function d(a,b){return Promise.resolve().then(function(){return C.exportKey(a,b)}).catch(function(l){if("spki"!==a&&"pkcs8"!==a)throw l;return C.exportKey("jwk",b).then(function(a){a=JSON.parse(ca(new Uint8Array(a)));a=ASN1.jwkToRsaDer(a);if(!a)throw Error("Could not make valid DER from JWK input");return a.getDer().buffer})})}var u=Va={LEGACY:1,V2014_01:2,
V2014_02:3,LATEST:3};Object.freeze(Va);Ma=u.LATEST;Ea={encrypt:function(a,b,l){switch(Ma){case u.LEGACY:return new Promise(function(g,c){var q=C.encrypt(a,b,l);q.oncomplete=function(a){g(a.target.result)};q.onerror=function(a){c(a)}});case u.V2014_01:case u.V2014_02:return C.encrypt(a,b,l).then(function(a){return new Uint8Array(a)});default:throw Error("Unsupported Web Crypto version "+WEB_CRYPTO_VERSION+".");}},decrypt:function(a,b,l){switch(Ma){case u.LEGACY:return new Promise(function(g,c){var q=
C.decrypt(a,b,l);q.oncomplete=function(a){g(a.target.result)};q.onerror=function(a){c(a)}});case u.V2014_01:case u.V2014_02:return C.decrypt(a,b,l).then(function(a){return new Uint8Array(a)});default:throw Error("Unsupported Web Crypto version "+WEB_CRYPTO_VERSION+".");}},sign:function(a,b,l){switch(Ma){case u.LEGACY:return new Promise(function(g,c){var q=C.sign(a,b,l);q.oncomplete=function(a){g(a.target.result)};q.onerror=function(a){c(a)}});case u.V2014_01:case u.V2014_02:return C.sign(a,b,l).then(function(a){return new Uint8Array(a)});
default:throw Error("Unsupported Web Crypto version "+WEB_CRYPTO_VERSION+".");}},verify:function(a,b,l,g){switch(Ma){case u.LEGACY:return new Promise(function(c,q){var d=C.verify(a,b,l,g);d.oncomplete=function(a){c(a.target.result)};d.onerror=function(a){q(a)}});case u.V2014_01:case u.V2014_02:return C.verify(a,b,l,g);default:throw Error("Unsupported Web Crypto version "+WEB_CRYPTO_VERSION+".");}},digest:function(a,b){switch(Ma){case u.LEGACY:return new Promise(function(l,g){var c=C.digest(a,b);c.oncomplete=
function(a){l(a.target.result)};c.onerror=function(a){g(a)}});case u.V2014_01:case u.V2014_02:return C.digest(a,b).then(function(a){return new Uint8Array(a)});default:throw Error("Unsupported Web Crypto version "+WEB_CRYPTO_VERSION+".");}},generateKey:function(c,m,l){var g=a(m),t=b(l);switch(Ma){case u.LEGACY:return new Promise(function(a,b){var l=C.generateKey(c,g,t);l.oncomplete=function(b){a(b.target.result)};l.onerror=function(a){b(a)}});case u.V2014_01:case u.V2014_02:return C.generateKey(c,
g,t);default:throw Error("Unsupported Web Crypto version "+WEB_CRYPTO_VERSION+".");}},deriveKey:function(c,m,l,g,t){var q=a(g),d=b(t);switch(Ma){case u.LEGACY:return new Promise(function(a,b){var g=C.deriveKey(c,m,l,q,d);g.oncomplete=function(b){a(b.target.result)};g.onerror=function(a){b(a)}});case u.V2014_01:case u.V2014_02:return C.deriveKey(c,m,l,q,d);default:throw Error("Unsupported Web Crypto version "+WEB_CRYPTO_VERSION+".");}},importKey:function(d,m,l,g,t){var q=a(g),J=b(t);switch(Ma){case u.LEGACY:return new Promise(function(a,
b){var g=C.importKey(d,m,l,q,J);g.oncomplete=function(b){a(b.target.result)};g.onerror=function(a){b(a)}});case u.V2014_01:case u.V2014_02:return c(d,m,l,q,J);default:throw Error("Unsupported Web Crypto version "+WEB_CRYPTO_VERSION+".");}},exportKey:function(a,b){switch(Ma){case u.LEGACY:return new Promise(function(l,g){var c=C.exportKey(a,b);c.oncomplete=function(a){l(a.target.result)};c.onerror=function(a){g(a)}});case u.V2014_01:case u.V2014_02:return d(a,b).then(function(a){return new Uint8Array(a)});
default:throw Error("Unsupported Web Crypto version "+WEB_CRYPTO_VERSION+".");}},wrapKey:function(a,b,l,g){switch(Ma){case u.LEGACY:return new Promise(function(a,c){var d=C.wrapKey(b,l,g);d.oncomplete=function(b){a(b.target.result)};d.onerror=function(a){c(a)}});case u.V2014_01:case u.V2014_02:return C.wrapKey(a,b,l,g).then(function(a){return new Uint8Array(a)});default:throw Error("Unsupported Web Crypto version "+WEB_CRYPTO_VERSION+".");}},unwrapKey:function(c,m,l,g,t,q,d){switch(Ma){case u.LEGACY:return new Promise(function(a,
b){var g=C.unwrapKey(m,t,l);g.oncomplete=function(b){a(b.target.result)};g.onerror=function(a){b(a)}});case u.V2014_01:case u.V2014_02:return C.unwrapKey(c,m,l,g,t,a(q),b(d));default:throw Error("Unsupported Web Crypto version "+WEB_CRYPTO_VERSION+".");}}};fc&&fc.getKeyByName&&(Ea.getKeyByName=function(a){switch(Ma){case u.LEGACY:return new Promise(function(b,l){var g=fc.getKeyByName(a);g.oncomplete=function(a){b(a.target.result)};g.onerror=function(a){l(a)}});case u.V2014_01:case u.V2014_02:return fc.getKeyByName(a);
default:throw Error("Unsupported Web Crypto version "+WEB_CRYPTO_VERSION+".");}})})();var gc={name:"AES-KW"},rc={name:"AES-CBC"},Mb={name:"HMAC",hash:{name:"SHA-256"}},Aa={name:"RSA-OAEP",hash:{name:"SHA-1"}},$a={name:"RSAES-PKCS1-v1_5"},pb={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},qb=["encrypt","decrypt"],yb=["wrap","unwrap"],ia=["sign","verify"],Nb,Oc,Eb;(function(){Nb=Y.Class.create({init:function(c,d,f){function h(a){b(d,function(){var b=a?L(a):y;Object.defineProperties(u,{rawKey:{value:c,
writable:!1,configurable:!1},keyData:{value:a,writable:!1,configurable:!1},keyDataB64:{value:b,writable:!1,configurable:!1}});return this},u)}var u=this;b(d,function(){if(!c||"object"!=typeof c)throw new T(a.INVALID_SYMMETRIC_KEY);!f&&c.extractable?Ea.exportKey("raw",c).then(function(a){h(new Uint8Array(a))},function(b){d.error(new T(a.KEY_EXPORT_ERROR,"raw"))}):h(f)},u)},size:function(){return this.keyData.length},toByteArray:function(){return this.keyData},toBase64:function(){return this.keyDataB64}});
Oc=function(a,b){new Nb(a,b)};Eb=function(c,d,f,h){b(h,function(){try{c="string"==typeof c?I(c):c}catch(b){throw new T(a.INVALID_SYMMETRIC_KEY,"keydata "+c,b);}Ea.importKey("raw",c,d,!0,f).then(function(a){new Nb(a,h,c)},function(b){h.error(new T(a.INVALID_SYMMETRIC_KEY))})})}})();var he,Pc,Gc;(function(){he=Y.Class.create({init:function(c,d,f){function h(a){b(d,function(){Object.defineProperties(u,{rawKey:{value:c,writable:!1,configurable:!1},encoded:{value:a,writable:!1,configurable:!1}});return this},
u)}var u=this;b(d,function(){if(!c||"object"!=typeof c||"public"!=c.type)throw new TypeError("Only original public crypto keys are supported.");!f&&c.extractable?Ea.exportKey("spki",c).then(function(a){h(new Uint8Array(a))},function(b){d.error(new T(a.KEY_EXPORT_ERROR,"spki"))}):h(f)})},getEncoded:function(){return this.encoded}});Pc=function(a,b){new he(a,b)};Gc=function(c,d,f,h){b(h,function(){try{c="string"==typeof c?I(c):c}catch(b){throw new T(a.INVALID_PUBLIC_KEY,"spki "+c,b);}Ea.importKey("spki",
c,d,!0,f).then(function(a){new he(a,h,c)},function(b){h.error(new T(a.INVALID_PUBLIC_KEY))})})}})();var Ie,Yc;(function(){Ie=Y.Class.create({init:function(c,d,f){function h(a){b(d,function(){Object.defineProperties(u,{rawKey:{value:c,writable:!1,configurable:!1},encoded:{value:a,writable:!1,configurable:!1}});return this},u)}var u=this;b(d,function(){if(!c||"object"!=typeof c||"private"!=c.type)throw new TypeError("Only original private crypto keys are supported.");!f&&c.extractable?Ea.exportKey("pkcs8",
c).then(function(a){h(new Uint8Array(a))},function(b){d.error(new T(a.KEY_EXPORT_ERROR,"pkcs8"))}):h(f)})},getEncoded:function(){return this.encoded}});Yc=function(a,b){new Ie(a,b)}})();var Hb,Je,Xa,ie;(function(){var c=ie={V1:1,V2:2};Hb=Y.Class.create({init:function(a,d,f,u){b(u,function(){var b=c.V1,m=a,l=null,g;for(g in vd)if(vd[g]==a){b=c.V2;m=null;l=a;break}Object.defineProperties(this,{version:{value:b,writable:!1,enumerable:!1,configurable:!1},keyId:{value:m,writable:!1,configurable:!1},cipherSpec:{value:l,
writable:!1,configurable:!1},iv:{value:d,writable:!1,configurable:!1},ciphertext:{value:f,writable:!1,configurable:!1}});return this},this)},toJSON:function(){var a={};switch(this.version){case c.V1:a.keyid=this.keyId;this.iv&&(a.iv=L(this.iv));a.ciphertext=L(this.ciphertext);a.sha256="AA==";break;case c.V2:a.version=this.version;a.cipherspec=this.cipherSpec;this.iv&&(a.iv=L(this.iv));a.ciphertext=L(this.ciphertext);break;default:throw new W("Ciphertext envelope version "+this.version+" encoding unsupported.");
}return a}});Je=function(a,b,c,d){new Hb(a,b,c,d)};Xa=function(d,f,h){b(h,function(){var b=d.keyid,w=d.cipherspec,m=d.iv,l=d.ciphertext,g=d.sha256;if(!f)if((f=d.version)&&"number"===typeof f&&f===f){var t=!1,q;for(q in c)if(c[q]==f){t=!0;break}if(!t)throw new T(a.UNIDENTIFIED_CIPHERTEXT_ENVELOPE,"ciphertext envelope "+JSON.stringify(d));}else f=c.V1;switch(f){case c.V1:if("string"!==typeof b||m&&"string"!==typeof m||"string"!==typeof l||"string"!==typeof g)throw new ba(a.JSON_PARSE_ERROR,"ciphertext envelope "+
JSON.stringify(d));break;case c.V2:q=d.version;if(q!=c.V2)throw new T(a.UNIDENTIFIED_CIPHERTEXT_ENVELOPE,"ciphertext envelope "+JSON.stringify(d));if("string"!==typeof w||m&&"string"!==typeof m||"string"!==typeof l)throw new ba(a.JSON_PARSE_ERROR,"ciphertext envelope "+JSON.stringify(d));w=Df(w);if(!w)throw new T(a.UNIDENTIFIED_CIPHERSPEC,"ciphertext envelope "+JSON.stringify(d));b=w;break;default:throw new T(a.UNSUPPORTED_CIPHERTEXT_ENVELOPE,"ciphertext envelope "+JSON.stringify(d));}try{m&&(m=I(m)),
l=I(l)}catch(J){throw new T(a.CIPHERTEXT_ENVELOPE_PARSE_ERROR,"encryption envelope "+JSON.stringify(d),J);}new Hb(b,m,l,h)})}})();var Ob,je,Ib,ke;(function(){var c=ke={V1:1,V2:2};Ob=Y.Class.create({init:function(a,b,d){var u;switch(a){case c.V1:u=d;break;case c.V2:u={};u.version=a;u.algorithm=b;u.signature=L(d);u=P(JSON.stringify(u),sa);break;default:throw new W("Signature envelope version "+a+" encoding unsupported.");}Object.defineProperties(this,{version:{value:a,writable:!1,enumerable:!1,configurable:!1},
algorithm:{value:b,writable:!1,configurable:!1},signature:{value:d,writable:!1,configurable:!1},bytes:{value:u,writable:!1,configurable:!1}})}});je=function(){var a,d,f,u;2==arguments.length?(a=c.V1,d=arguments[0],f=null,u=arguments[1]):3==arguments.length&&(a=c.V2,f=arguments[0],d=arguments[1],u=arguments[2]);b(u,function(){return new Ob(a,f,d)})};Ib=function(d,f,k){b(k,function(){if(f)switch(f){case c.V1:return new Ob(c.V1,null,d);case c.V2:try{var b=h(d,sa),w=JSON.parse(b),m=parseInt(w.version),
l=w.algorithm,g=w.signature;if(!m||"number"!==typeof m||m!=m||"string"!==typeof l||"string"!==typeof g)throw new ba(a.JSON_PARSE_ERROR,"signature envelope "+L(d));if(c.V2!=m)throw new T(a.UNSUPPORTED_SIGNATURE_ENVELOPE,"signature envelope "+L(d));var t=Jd(l);if(!t)throw new T(a.UNIDENTIFIED_ALGORITHM,"signature envelope "+L(d));var q=I(g);if(!q)throw new T(a.INVALID_SIGNATURE,"signature envelope "+Base64Util.encode(d));return new Ob(c.V2,t,q)}catch(J){if(J instanceof SyntaxError)throw new ba(a.JSON_PARSE_ERROR,
"signature envelope "+L(d),J);throw J;}default:throw new T(a.UNSUPPORTED_SIGNATURE_ENVELOPE,"signature envelope "+L(d));}try{b=h(d,sa),w=JSON.parse(b)}catch(k){w=null}if(w&&w.version){if(b=w.version,"number"!==typeof b||b!==b)b=c.V1}else b=c.V1;switch(b){case c.V1:return new Ob(b,null,d);case c.V2:t=w.algorithm;g=w.signature;if("string"!==typeof t||"string"!==typeof g)return new Ob(c.V1,null,d);t=Jd(t);if(!t)return new Ob(c.V1,null,d);try{q=I(g)}catch(M){return new Ob(c.V1,null,d)}return new Ob(b,
t,q);default:throw new T(a.UNSUPPORTED_SIGNATURE_ENVELOPE,"signature envelope "+d);}})}})();var xd=Y.Class.create({encrypt:function(a,b){},decrypt:function(a,b){},wrap:function(a,b){},unwrap:function(a,b,c,d){},sign:function(a,b){},verify:function(a,b,c){}}),Hc,Ac;(function(){var c=Ac={RSA_OAEP:Aa.name,A128KW:gc.name};D="A128GCM";Hc=Y.Class.create({init:function(a,b,d,f,w){switch(b){case c.RSA_OAEP:w=w&&(w.rawKey||w);f=f&&(f.rawKey||f);break;case c.A128KW:w=f=f&&(f.rawKey||f);break;default:throw new W("Unsupported algorithm: "+
b);}Object.defineProperties(this,{_ctx:{value:a,writable:!1,enumerable:!1,configurable:!1},_algo:{value:b,writable:!1,enumerable:!1,configurable:!1},_enc:{value:d,writable:!1,enumerable:!1,configurable:!1},_wrapKey:{value:w,writable:!1,enumerable:!1,configurable:!1},_unwrapKey:{value:f,writable:!1,enumerable:!1,configurable:!1}})},encrypt:function(b,c){c.error(new T(a.ENCRYPT_NOT_SUPPORTED))},decrypt:function(b,c){c.error(new T(a.DECRYPT_NOT_SUPPORTED))},wrap:function(c,d){b(d,function(){Ea.wrapKey("jwe+jwk",
c.rawKey,this._wrapKey,this._wrapKey.algorithm).then(function(a){d.result(a)},function(b){d.error(new T(a.WRAP_ERROR))})},this)},unwrap:function(c,d,f,u){function w(c){b(u,function(){switch(c.type){case "secret":Oc(c,u);break;case "public":Pc(c,u);break;case "private":Yc(c,u);break;default:throw new T(a.UNSUPPORTED_KEY,"type: "+c.type);}})}b(u,function(){Ea.unwrapKey("jwe+jwk",c,this._unwrapKey,this._unwrapKey.algorithm,d,!1,f).then(function(a){w(a)},function(){u.error(new T(a.UNWRAP_ERROR))})},this)},
sign:function(b,c){c.error(new T(a.SIGN_NOT_SUPPORTED))},verify:function(b,c,d){d.error(new T(a.VERIFY_NOT_SUPPORTED))}})})();var bd=xd.extend({encrypt:function(a,b){b.result(a)},decrypt:function(a,b){b.result(a)},wrap:function(a,b){b.result(a)},unwrap:function(a,b,c,d){d.result(a)},sign:function(a,b){b.result(new Uint8Array(0))},verify:function(a,b,c){c.result(!0)}}),cd,fb;(function(){var c=fb={ENCRYPT_DECRYPT_OAEP:1,ENCRYPT_DECRYPT_PKCS1:2,WRAP_UNWRAP_OAEP:3,WRAP_UNWRAP_PKCS1:4,SIGN_VERIFY:5};cd=
xd.extend({init:function ab(a,b,d,m,l){ab.base.call(this);d&&(d=d.rawKey);m&&(m=m.rawKey);Object.defineProperties(this,{id:{value:b,writable:!1,enumerable:!1,configurable:!1},privateKey:{value:d,writable:!1,enumerable:!1,configurable:!1},publicKey:{value:m,writable:!1,enumerable:!1,configurable:!1},transform:{value:l==c.ENCRYPT_DECRYPT_PKCS1?$a:l==c.ENCRYPT_DECRYPT_OAEP?Aa:"nullOp",writable:!1,enumerable:!1,configurable:!1},wrapTransform:{value:l==c.WRAP_UNWRAP_PKCS1?$a:l==c.WRAP_UNWRAP_OAEP?Aa:"nullOp",
writable:!1,enumerable:!1,configurable:!1},algo:{value:l==c.SIGN_VERIFY?pb:"nullOp",writable:!1,enumerable:!1,configurable:!1}})},encrypt:function(c,d){var f=this;b(d,function(){if("nullOp"==this.transform)return c;if(!this.publicKey)throw new T(a.ENCRYPT_NOT_SUPPORTED,"no public key");if(0==c.length)return c;Ea.encrypt(f.transform,f.publicKey,c).then(function(b){Je(f.id,null,b,{result:function(b){try{var c=JSON.stringify(b);d.result(P(c,sa))}catch(g){d.error(new T(a.ENCRYPT_ERROR,null,g))}},error:function(b){b instanceof
A||(b=new T(a.ENCRYPT_ERROR,null,b));d.error(b)}})},function(b){d.error(new T(a.ENCRYPT_ERROR))})},this)},decrypt:function(c,d){var f=this;b(d,function(){if("nullOp"==this.transform)return c;if(!this.privateKey)throw new T(a.DECRYPT_NOT_SUPPORTED,"no private key");if(0==c.length)return c;var b;try{var m=h(c,sa);b=JSON.parse(m)}catch(l){if(l instanceof SyntaxError)throw new T(a.CIPHERTEXT_ENVELOPE_PARSE_ERROR,null,l);throw new T(a.DECRYPT_ERROR,null,l);}Xa(b,ie.V1,{result:function(b){try{if(b.keyId!=
f.id)throw new T(a.ENVELOPE_KEY_ID_MISMATCH);var c=d.result;Ea.decrypt(f.transform,f.privateKey,b.ciphertext).then(c,function(b){d.error(new T(a.DECRYPT_ERROR))})}catch(l){l instanceof A?d.error(l):d.error(new T(a.DECRYPT_ERROR,null,l))}},error:function(b){b instanceof ba&&(b=new T(a.CIPHERTEXT_ENVELOPE_ENCODE_ERROR,null,b));b instanceof A||(b=new T(a.DECRYPT_ERROR,null,b));d.error(b)}})},this)},wrap:function(c,d){b(d,function(){if("nullOp"==this.wrapTransform||!this.publicKey)throw new T(a.WRAP_NOT_SUPPORTED,
"no public key");var b=d.result;Ea.wrapKey("jwk",c.rawKey,this.publicKey,this.wrapTransform).then(b,function(b){d.error(new T(a.WRAP_ERROR))})},this)},unwrap:function(c,d,f,w){function m(c){b(w,function(){switch(c.type){case "secret":Oc(c,w);break;case "public":Pc(c,w);break;case "private":Yc(c,w);break;default:throw new T(a.UNSUPPORTED_KEY,"type: "+c.type);}})}b(w,function(){if("nullOp"==this.wrapTransform||!this.privateKey)throw new T(a.UNWRAP_NOT_SUPPORTED,"no private key");Ea.unwrapKey("jwk",
c,this.privateKey,{name:this.privateKey.algorithm.name,hash:{name:"SHA-1"}},d,!1,f).then(m,function(b){w.error(new T(a.UNWRAP_ERROR))})},this)},sign:function(c,d){b(d,function(){if("nullOp"==this.algo)return new Uint8Array(0);if(!this.privateKey)throw new T(a.SIGN_NOT_SUPPORTED,"no private key");Ea.sign(this.algo,this.privateKey,c).then(function(a){je(a,{result:function(a){d.result(a.bytes)},error:d.error})},function(b){d.error(new T(a.SIGNATURE_ERROR))})},this)},verify:function(c,d,f){var w=this;
b(f,function(){if("nullOp"==this.algo)return!0;if(!this.publicKey)throw new T(a.VERIFY_NOT_SUPPORTED,"no public key");Ib(d,ke.V1,{result:function(d){b(f,function(){var b=f.result;Ea.verify(this.algo,this.publicKey,d.signature,c).then(b,function(b){f.error(new T(a.SIGNATURE_ERROR))})},w)},error:f.error})},this)}})})();var hc;(function(){hc=xd.extend({init:function tb(a,b,c,d,m){tb.base.call(this);c=c&&c.rawKey;d=d&&d.rawKey;m=m&&m.rawKey;Object.defineProperties(this,{ctx:{value:a,writable:!1,enumerable:!1,
configurable:!1},id:{value:b,writable:!1,enumerable:!1,configurable:!1},encryptionKey:{value:c,writable:!1,enumerable:!1,configurable:!1},hmacKey:{value:d,writable:!1,enumerable:!1,configurable:!1},wrapKey:{value:m,writable:!1,enumerable:!1,configurable:!1}})},encrypt:function(c,d){var f=this;b(d,function(){if(!this.encryptionKey)throw new T(a.ENCRYPT_NOT_SUPPORTED,"no encryption/decryption key");if(0==c.length)return c;var b=new Uint8Array(16);this.ctx.getRandom().nextBytes(b);Ea.encrypt({name:rc.name,
iv:b},f.encryptionKey,c).then(function(c){c=new Uint8Array(c);Je(f.id,b,c,{result:function(b){try{var c=JSON.stringify(b);d.result(P(c,sa))}catch(g){d.error(new T(a.ENCRYPT_ERROR,null,g))}},error:function(b){b instanceof A||(b=new T(a.ENCRYPT_ERROR,null,b));d.error(b)}})},function(b){d.error(new T(a.ENCRYPT_ERROR))})},this)},decrypt:function(c,d){var f=this;b(d,function(){if(!this.encryptionKey)throw new T(a.DECRYPT_NOT_SUPPORTED,"no encryption/decryption key");if(0==c.length)return c;var b;try{var w=
h(c,sa);b=JSON.parse(w)}catch(m){if(m instanceof SyntaxError)throw new T(a.CIPHERTEXT_ENVELOPE_PARSE_ERROR,null,m);throw new T(a.DECRYPT_ERROR,null,m);}Xa(b,ie.V1,{result:function(b){try{if(b.keyId!=f.id)throw new T(a.ENVELOPE_KEY_ID_MISMATCH);Ea.decrypt({name:rc.name,iv:b.iv},f.encryptionKey,b.ciphertext).then(function(a){a=new Uint8Array(a);d.result(a)},function(){d.error(new T(a.DECRYPT_ERROR))})}catch(c){c instanceof A?d.error(c):d.error(new T(a.DECRYPT_ERROR,null,c))}},error:function(b){b instanceof
ba&&(b=new T(a.CIPHERTEXT_ENVELOPE_ENCODE_ERROR,null,b));b instanceof A||(b=new T(a.DECRYPT_ERROR,null,b));d.error(b)}})},this)},wrap:function(c,d){b(d,function(){if(!this.wrapKey)throw new T(a.WRAP_NOT_SUPPORTED,"no wrap/unwrap key");Ea.wrapKey("raw",c.rawKey,this.wrapKey,this.wrapKey.algorithm).then(function(a){d.result(a)},function(b){d.error(new T(a.WRAP_ERROR))})},this)},unwrap:function(c,d,f,h){function w(c){b(h,function(){switch(c.type){case "secret":Oc(c,h);break;case "public":Pc(c,h);break;
case "private":Yc(c,h);break;default:throw new T(a.UNSUPPORTED_KEY,"type: "+c.type);}})}b(h,function(){if(!this.wrapKey)throw new T(a.UNWRAP_NOT_SUPPORTED,"no wrap/unwrap key");Ea.unwrapKey("raw",c,this.wrapKey,this.wrapKey.algorithm,d,!1,f).then(function(a){w(a)},function(b){h.error(new T(a.UNWRAP_ERROR))})},this)},sign:function(c,d){var f=this;b(d,function(){if(!this.hmacKey)throw new T(a.SIGN_NOT_SUPPORTED,"no HMAC key.");Ea.sign(Mb,this.hmacKey,c).then(function(a){b(d,function(){var b=new Uint8Array(a);
je(b,{result:function(a){d.result(a.bytes)},error:d.error})},f)},function(){d.error(new T(a.HMAC_ERROR))})},this)},verify:function(c,d,f){var h=this;b(f,function(){if(!this.hmacKey)throw new T(a.VERIFY_NOT_SUPPORTED,"no HMAC key.");Ib(d,ke.V1,{result:function(d){b(f,function(){Ea.verify(Mb,this.hmacKey,d.signature,c).then(function(a){f.result(a)},function(b){f.error(new T(a.HMAC_ERROR))})},h)},error:f.error})},this)}})})();var Jb=hc.extend({init:function tb(b,c,d,f,m){if(d||f||m)tb.base.call(this,
b,d+"_"+c.sequenceNumber,f,m,null);else{if(!c.isDecrypted())throw new qc(a.MASTERTOKEN_UNTRUSTED,c);tb.base.call(this,b,c.identity+"_"+c.sequenceNumber,c.encryptionKey,c.hmacKey,null)}}}),Ke=xd.extend({encrypt:function(a,b){b.result(a)},decrypt:function(a,b){b.result(a)},wrap:function(a,b){b.error(new W("Wrap is unsupported by the MSL token crypto context."))},unwrap:function(a,b,c,d){d.error(new W("Unwrap is unsupported by the MSL token crypto context."))},sign:function(a,b){b.result(new Uint8Array(0))},
verify:function(a,b,c){c.result(!1)}}),Pa={PSK:"PSK",MGK:"MGK",X509:"X509",RSA:"RSA",NPTICKET:"NPTICKET",ECC:"ECC",NONE:"NONE"};Object.freeze(Pa);var $c,le;(function(){$c=Y.Class.create({init:function(a){Object.defineProperties(this,{scheme:{value:a,writable:!1,configurable:!1}})},getIdentity:function(){},getAuthData:function(){},equals:function(a){return this===a?!0:a instanceof $c?this.scheme==a.scheme:!1},toJSON:function(){var a={};a.scheme=this.scheme;a.authdata=this.getAuthData();return a}});
le=function(b,c){var d=c.scheme,f=c.authdata;if(!d||!f)throw new ba(a.JSON_PARSE_ERROR,"entityauthdata "+JSON.stringify(c));if(!Pa[d])throw new zc(a.UNIDENTIFIED_ENTITYAUTH_SCHEME,d);var w=b.getEntityAuthenticationFactory(d);if(!w)throw new zc(a.ENTITYAUTH_FACTORY_NOT_FOUND,d);return w.createData(b,f)}})();var Kd=Y.Class.create({init:function(a){Object.defineProperties(this,{scheme:{value:a,writable:!1,configurable:!1}})},createData:function(a,b){},getCryptoContext:function(a,b){}}),sc,Le;(function(){sc=
$c.extend({init:function ab(a){ab.base.call(this,Pa.MGK);Object.defineProperties(this,{identity:{value:a,writable:!1,configurable:!1}})},getIdentity:function(){return this.identity},getAuthData:function(){var a={};a.identity=this.identity;return a},equals:function Ya(a){return this===a?!0:a instanceof sc?Ya.base.call(this,this,a)&&this.identity==a.identity:!1}});Le=function(b){var c=b.identity;if(!c)throw new ba(a.JSON_PARSE_ERROR,"mgk authdata"+JSON.stringify(b));return new sc(c)}})();var Pg=Kd.extend({init:function ab(a){ab.base.call(this,
Pa.MGK);Object.defineProperties(this,{localIdentity:{value:a,writable:!1,enumerable:!1,configurable:!1}})},createData:function(a,b){return Le(b)},getCryptoContext:function(b,c){if(!(c instanceof sc))throw new W("Incorrect authentication data type "+JSON.stringify(c)+".");if(c.identity!=this.localIdentity)throw(new zc(a.ENTITY_NOT_FOUND,"mgk "+c.identity)).setEntity(c);return new bd}}),tc,Ef;(function(){tc=$c.extend({init:function Ya(a){Ya.base.call(this,Pa.PSK);Object.defineProperties(this,{identity:{value:a,
writable:!1}})},getIdentity:function(){return this.identity},getAuthData:function(){var a={};a.identity=this.identity;return a},equals:function u(a){return this===a?!0:a instanceof tc?u.base.call(this,this,a)&&this.identity==a.identity:!1}});Ef=function(b){var c=b.identity;if(!c)throw new ba(a.JSON_PARSE_ERROR,"psk authdata"+JSON.stringify(b));return new tc(c)}})();var Me;Me=Kd.extend({init:function Ya(a){Ya.base.call(this,Pa.PSK);Object.defineProperties(this,{localIdentity:{value:a,writable:!1,enumerable:!1,
configurable:!1}})},createData:function(a,b){return Ef(b)},getCryptoContext:function(b,c){if(!(c instanceof tc))throw new W("Incorrect authentication data type "+JSON.stringify(c)+".");if(c.getIdentity()!=this.localIdentity)throw(new zc(a.ENTITY_NOT_FOUND,"psk "+c.identity)).setEntity(c);return new bd}});var me,Ff;(function(){me=$c.extend({init:function u(a,b){u.base.call(this,Pa.RSA);Object.defineProperties(this,{identity:{value:a,writable:!1,configurable:!1},publicKeyId:{value:b,writable:!1,configurable:!1}})},
getIdentity:function(){return this.identity},getAuthData:function(){var a={};a.identity=this.identity;a.pubkeyid=this.publicKeyId;return a},equals:function w(a){return this===a?!0:a instanceof me?w.base.call(this,this,a)&&this.identity==a.identity&&this.publicKeyId==a.publicKeyId:!1}});Ff=function(b){var c=b.identity,l=b.pubkeyid;if(!c||"string"!==typeof c||!l||"string"!==typeof l)throw new ba(a.JSON_PARSE_ERROR,"RSA authdata"+JSON.stringify(b));return new me(c,l)}})();var Qg=Kd.extend({init:function u(a){u.base.call(this,
Pa.RSA);Object.defineProperties(this,{store:{value:a,writable:!1,enumerable:!1,configurable:!1}})},createData:function(a,b){return Ff(b)},getCryptoContext:function(b,c){if(!(c instanceof me))throw new W("Incorrect authentication data type "+c+".");var d=c.identity,l=c.publicKeyId,g=this.store.getPublicKey(l);if(!g)throw(new zc(a.RSA_PUBLICKEY_NOT_FOUND,l)).setEntity(c);return new cd(b,d,null,g,fb.SIGN_VERIFY)}}),Hd,Gf;(function(){Hd=$c.extend({init:function w(a){w.base.call(this,Pa.NONE);Object.defineProperties(this,
{identity:{value:a,writable:!1}})},getIdentity:function(){return this.identity},getAuthData:function(){var a={};a.identity=this.identity;return a},equals:function m(a){return this===a?!0:a instanceof Hd?m.base.call(this,this,a)&&this.identity==a.identity:!1}});Gf=function(b){var c=b.identity;if(!c)throw new ba(a.JSON_PARSE_ERROR,"Unauthenticated authdata"+JSON.stringify(b));return new Hd(c)}})();var Og=Kd.extend({init:function w(){w.base.call(this,Pa.NONE)},createData:function(a,b){return Gf(b)},
getCryptoContext:function(a,b){if(!(b instanceof Hd))throw new W("Incorrect authentication data type "+JSON.stringify(b)+".");return new bd}}),Rg=Y.Class.create({init:function(){Object.defineProperties(this,{rsaKeys:{value:{},writable:!1,enumerable:!1,configurable:!1}})},addPublicKey:function(a,b){if(!(b instanceof he))throw new W("Incorrect key data type "+b+".");this.rsaKeys[a]=b},getIdentities:function(){return Object.keys(this.rsaKeys)},removePublicKey:function(a){delete this.rsaKeys[a]},getPublicKey:function(a){return this.rsaKeys[a]}}),
Ne=Y.Class.create({abort:function(){},close:function(){},mark:function(){},reset:function(){},markSupported:function(){},read:function(a,b,c){}}),ne=Y.Class.create({abort:function(){},close:function(a,b){},write:function(a,b,c,g,d){},flush:function(a,b){}}),Sg=Y.Class.create({init:function(a){Object.defineProperties(this,{_data:{value:a,writable:!1,enumerable:!1,configurable:!1},_closed:{value:!1,writable:!0,enumerable:!1,configurable:!1},_currentPosition:{value:0,writable:!0,enumerable:!1,configurable:!1},
_mark:{value:-1,writable:!0,enumerable:!1,configurable:!1}})},abort:function(){},close:function(){this._close=!0},mark:function(){this._mark=this._currentPosition},reset:function(){if(-1==this._mark)throw new ob("Stream has not been marked.");this._currentPosition=this._mark},markSupported:function(){return!0},read:function(a,b,c){k(c,function(){if(this._closed)throw new ob("Stream is already closed.");if(this._currentPosition==this._data.length)return null;-1==a&&(a=this._data.length-this._currentPosition);
var b=this._data.subarray(this._currentPosition,this._currentPosition+a);this._currentPosition+=b.length;return b},this)}}),Hf=Y.Class.create({init:function(){var a={_closed:{value:!1,writable:!0,enumerable:!1,configurable:!1},_result:{value:new Uint8Array(0),writable:!0,enuemrable:!1,configurable:!1},_buffered:{value:[],writable:!1,enumerable:!1,configurable:!1}};Object.defineProperties(this,a)},abort:function(){},close:function(a,b){this._closed=!0;b.result(!0)},write:function(a,b,c,g,d){k(d,function(){if(this._closed)throw new ob("Stream is already closed.");
if(0>b)throw new RangeError("Offset cannot be negative.");if(0>c)throw new RangeError("Length cannot be negative.");if(b+c>a.length)throw new RangeError("Offset plus length cannot be greater than the array length.");var g=a.subarray(b,c);this._buffered.push(g);return g.length},this)},flush:function(a,b){for(;0<this._buffered.length;){var c=this._buffered.shift();if(this._result){var g=new Uint8Array(this._result.length+c.length);g.set(this._result);g.set(c,this._result.length);this._result=g}else this._result=
new Uint8Array(c)}b.result(!0)},size:function(){this.flush(1,{result:function(){}});return this._result.length},toByteArray:function(){this.flush(1,{result:function(){}});return this._result}}),Fd,Tg=Y.Class.create({getResponse:function(a,b,c){}});(function(){var a=ne.extend({init:function(a,b){var c={_httpLocation:{value:a,writable:!1,enumerable:!1,configurable:!1},_timeout:{value:b,writable:!0,enumerable:!1,configurable:!1},_buffer:{value:new Hf,writable:!1,enumerable:!1,configurable:!1},_response:{value:y,
writable:!0,enumerable:!1,configurable:!1},_abortToken:{value:y,writable:!0,enumerable:!1,configurable:!1},_responseQueue:{value:new Fa,writable:!0,enumerable:!1,configurable:!1}};Object.defineProperties(this,c)},setTimeout:function(a){this._timeout=a},getResponse:function(a,b){var c=this;this._responseQueue.poll(a,{result:function(a){k(b,function(){a&&this._responseQueue.add(a);return a},c)},timeout:function(){k(b,function(){this._response={isTimeout:!0};this._responseQueue.add(this._response);this.abort();
b.timeout()},c)},error:function(a){k(b,function(){this._response={isError:!0};this._responseQueue.add(this._response);throw a;},c)}})},abort:function(){this._abortToken&&this._abortToken.abort()},close:function(a,b){var c=this;k(b,function(){if(this._response)return!0;var a=this._buffer.toByteArray();0<a.length&&(this._abortToken=this._httpLocation.getResponse({body:a},this._timeout,{result:function(a){c._response={response:a};c._responseQueue.add(c._response)},timeout:function(){c._response={isTimeout:!0};
c._responseQueue.add(c._response)},error:function(a){c._response={isError:!0,error:a};c._responseQueue.add(c._response)}}));return!0},this)},write:function(a,b,c,d,m){k(m,function(){if(this._response)throw new ob("HttpOutputStream already closed.");this._buffer.write(a,b,c,d,m)},this)},flush:function(a,b){k(b,function(){if(this._response)return!0;this._buffer.flush(a,b)},this)}}),b=Ne.extend({init:function(a){Object.defineProperties(this,{_out:{value:a,writable:!1,enumerable:!1,configurable:!1},_buffer:{value:y,
writable:!0,enumerable:!1,configurable:!1},_exception:{value:y,writable:!0,enumerable:!1,configurable:!1},_timedout:{value:!1,writable:!0,enumerable:!1,configurable:!1},_aborted:{value:!1,writable:!0,enumerable:!1,configurable:!1},_json:{value:y,writable:!0,enumerable:!1,configurable:!1}})},abort:function(){this._out.abort()},close:function(){this._buffer&&this._buffer.close()},mark:function(){this._buffer||this._buffer.mark()},reset:function(){this._buffer&&this._buffer.reset()},markSupported:function(){if(this._buffer)return this._buffer.markSupported()},
read:function(a,b,c){function d(q){k(c,function(){if(!q)return new Uint8Array(0);this._out.getResponse(b,{result:function(d){k(c,function(){var q;if(d.isTimeout)this._timedout=!0,c.timeout();else{if(d.isError)throw this._exception=d.error||new ob("Unknown HTTP exception."),this._exception;if(!d.response)throw this._exception=new ob("Missing HTTP response."),this._exception;d.response.json!==y&&(this._json=d.response.json,this.getJSON=function(){return m._json});q=d.response.content||O("string"===
typeof d.response.body?d.response.body:JSON.stringify(this._json));this._buffer=new Sg(q);this._buffer.read(a,b,c)}},m)},timeout:function(){c.timeout()},error:function(a){c.error(a)}})},m)}var m=this;k(c,function(){if(this._exception)throw this._exception;if(this._timedout)c.timeout();else{if(this._aborted)return new Uint8Array(0);this._buffer?this._buffer.read(a,b,c):this._out.close(b,{result:function(a){d(a)},timeout:function(){c.timeout()},error:function(a){c.error(a)}})}},m)}});Fd=Y.Class.create({init:function(a,
b){Object.defineProperties(this,{_httpLocation:{value:a,writable:!1,enumerable:!1,configurable:!1},_timeout:{value:b,writable:!0,enumerable:!1,configurable:!1}})},setTimeout:function(a){this._timeout=a},openConnection:function(){var c=new a(this._httpLocation,this._timeout);return{input:new b(c),output:c}}})})();var He;(function(){var a=ne.extend({init:function(){var a={_buffer:{value:new Uint8Array,writable:!0,enumerable:!1,configurable:!1}};Object.defineProperties(this,a)},setTimeout:function(){},
getResponse:function(a,b){b.result({success:!1,content:null,errorHttpCode:y,errorSubCode:y})},abort:function(){},close:function(a,b){b.result(!0)},write:function(a,b,c,d,m){try{if(0>b)throw new RangeError("Offset cannot be negative.");if(0>c)throw new RangeError("Length cannot be negative.");if(b+c>a.length)throw new RangeError("Offset plus length cannot be greater than the array length.");var f=a.subarray(b,c),h=new Uint8Array(this._buffer.length+f.length);h.set(this._buffer);h.set(f,this._buffer.length);
this._buffer=h;m.result(f.length)}catch(B){m.error(B)}},flush:function(a,b){b.result(!0)},request:function(){return this._buffer}}),b=Ne.extend({init:function(){},abort:function(){},close:function(){},mark:function(){},reset:function(){},markSupported:function(){},read:function(a,b,c){c.result(new Uint8Array(16))}});He=Y.Class.create({init:function(){var c={output:{value:new a,writable:!1,enumerable:!1,configurable:!1},input:{value:new b,writable:!0,enumerable:!1,configurable:!1}};Object.defineProperties(this,
c)},setTimeout:function(){},openConnection:function(){return{input:this.input,output:this.output}},getRequest:function(){return ca(this.output.request())}})})();var If=function(a,b,c){function d(a){a=new Ug(h(a,"utf-8"));var b=[],c;for(c=a.nextValue();c!==y;)b.push(c),c=a.nextValue();return b}(function(a,b,d){a.read(-1,b,{result:function(a){a&&a.length?d(null,a):d(null,null)},timeout:function(){c.timeout()},error:function(a){d(a,null)}})})(a,b,function(b,q){b?c.error(b):q?a.getJSON!==y&&"function"===
typeof a.getJSON?c.result(a.getJSON()):c.result(d(q)):c.result(null)})},ic={SYMMETRIC_WRAPPED:"SYMMETRIC_WRAPPED",ASYMMETRIC_WRAPPED:"ASYMMETRIC_WRAPPED",DIFFIE_HELLMAN:"DIFFIE_HELLMAN",JWE_LADDER:"JWE_LADDER",JWK_LADDER:"JWK_LADDER",AUTHENTICATED_DH:"AUTHENTICATED_DH"};Object.freeze(ic);var Ld,Jf;(function(){Ld=Y.Class.create({init:function(a){Object.defineProperties(this,{keyExchangeScheme:{value:a,writable:!1,configurable:!1}})},getKeydata:function(){},toJSON:function(){var a={};a.scheme=this.keyExchangeScheme;
a.keydata=this.getKeydata();return a},equals:function(a){return this===a?!0:a instanceof Ld?this.keyExchangeScheme==a.keyExchangeScheme:!1},uniqueKey:function(){return this.keyExchangeScheme}});Jf=function(c,d,l){b(l,function(){var b=d.scheme,t=d.keydata;if(!b||!t||"object"!==typeof t)throw new ba(a.JSON_PARSE_ERROR,"keyrequestdata "+JSON.stringify(d));if(!ic[b])throw new Ta(a.UNIDENTIFIED_KEYX_SCHEME,b);var q=c.getKeyExchangeFactory(b);if(!q)throw new Ta(a.KEYX_FACTORY_NOT_FOUND,b);q.createRequestData(c,
t,l)})}})();var Md,Oe;(function(){Md=Y.Class.create({init:function(a,b){Object.defineProperties(this,{masterToken:{value:a,writable:!1,configurable:!1},keyExchangeScheme:{value:b,wrtiable:!1,configurable:!1}})},getKeydata:function(){},toJSON:function(){var a={};a.mastertoken=this.masterToken;a.scheme=this.keyExchangeScheme;a.keydata=this.getKeydata();return a},equals:function(a){return this===a?!0:a instanceof Md?this.masterToken.equals(a.masterToken)&&this.keyExchangeScheme==a.keyExchangeScheme:
!1},uniqueKey:function(){return this.masterToken.uniqueKey()+":"+this.keyExchangeScheme}});Oe=function(c,d,l){b(l,function(){var g=d.mastertoken,t=d.scheme,q=d.keydata;if(!t||!g||"object"!==typeof g||!q||"object"!==typeof q)throw new ba(a.JSON_PARSE_ERROR,"keyresponsedata "+JSON.stringify(d));if(!ic[t])throw new Ta(a.UNIDENTIFIED_KEYX_SCHEME,t);Rc(c,g,{result:function(d){b(l,function(){var b=c.getKeyExchangeFactory(t);if(!b)throw new Ta(a.KEYX_FACTORY_NOT_FOUND,t);return b.createResponseData(c,d,
q)})},error:function(a){l.error(a)}})})}})();var jc;(function(){var c=Y.Class.create({init:function(a,b){Object.defineProperties(this,{keyResponseData:{value:a,writable:!1,configurable:!1},cryptoContext:{value:b,writable:!1,configurable:!1}})}});jc=Y.Class.create({init:function(a){Object.defineProperties(this,{scheme:{value:a,writable:!1,configurable:!1}})},createRequestData:function(a,b,c){},createResponseData:function(a,b,c){},generateResponse:function(a,b,c,d){},getCryptoContext:function(a,b,c,
d,q){},generateSessionKeys:function(c,d){b(d,function(){var b=new Uint8Array(16),t=new Uint8Array(32);c.getRandom().nextBytes(b);c.getRandom().nextBytes(t);Eb(b,rc,qb,{result:function(b){Eb(t,Mb,ia,{result:function(a){d.result({encryptionKey:b,hmacKey:a})},error:function(b){d.error(new T(a.SESSION_KEY_CREATION_FAILURE,null,b))}})},error:function(b){d.error(new T(a.SESSION_KEY_CREATION_FAILURE,null,b))}})})},importSessionKeys:function(a,b,c){Eb(a,rc,qb,{result:function(a){Eb(b,Mb,ia,{result:function(b){c.result({encryptionKey:a,
hmacKey:b})},error:function(a){c.error(a)}})},error:function(a){c.error(a)}})}});jc.KeyExchangeData=c})();var Kf,Pe,Lf;(function(){function c(g,l,f,h,k){b(k,function(){switch(l){case d.PSK:var c=new tc(h),G=g.getEntityAuthenticationFactory(Pa.PSK);if(!G)throw new Ta(a.UNSUPPORTED_KEYX_MECHANISM,l);c=G.getCryptoContext(g,c);return new Hc(g,Ac.A128KW,D,y);case d.MGK:c=new sc(h);G=g.getEntityAuthenticationFactory(Pa.MGK);if(!G)throw new Ta(a.UNSUPPORTED_KEYX_MECHANISM,l);c=G.getCryptoContext(g,c);return new Hc(g,
Ac.A128KW,D,y);case d.WRAP:c=g.getMslCryptoContext();c.unwrap(f,gc,yb,{result:function(a){b(k,function(){return new Hc(g,Ac.A128KW,D,a)})},error:k.error});break;default:throw new Ta(a.UNSUPPORTED_KEYX_MECHANISM,l);}})}var d={PSK:"PSK",MGK:"MGK",WRAP:"WRAP"},l=Pe=Ld.extend({init:function q(a,b){q.base.call(this,ic.JWE_LADDER);switch(a){case d.WRAP:if(!b)throw new W("Previous wrapping key based key exchange requires the previous wrapping key data and ID.");break;default:b=null}Object.defineProperties(this,
{mechanism:{value:a,writable:!1,configurable:!1},wrapdata:{value:b,writable:!1,configurable:!1}})},getKeydata:function(){var a={};a.mechanism=this.mechanism;this.wrapdata&&(a.wrapdata=L(this.wrapdata));return a},equals:function J(a){return a===this?!0:a instanceof Pe?J.base.call(this,a)&&this.mechanism==a.mechanism&&p(this.wrapdata,a.wrapdata):!1},uniqueKey:function ma(){var a=ma.base.call(this)+":"+this.mechanism;this.wrapdata&&(a+=":"+Z(this.wrapdata));return a}}),g=Lf=Md.extend({init:function M(a,
b,c,d,g){M.base.call(this,a,ic.JWE_LADDER);Object.defineProperties(this,{wrapKey:{value:b,writable:!1,configurable:!1},wrapdata:{value:c,writable:!1,configurable:!1},encryptionKey:{value:d,writable:!1,configurable:!1},hmacKey:{value:g,writable:!1,configurable:!1}})},getKeydata:function(){var a={};a.wrapkey=L(this.wrapKey);a.wrapdata=L(this.wrapdata);a.encryptionkey=L(this.encryptionKey);a.hmackey=L(this.hmacKey);return a},equals:function B(a){return this===a?!0:a instanceof Lf?B.base.call(this,a)&&
p(this.wrapKey,a.wrapKey)&&p(this.wrapdata,a.wrapdata)&&p(this.encryptionKey,a.encryptionKey)&&p(this.hmacKey,a.hmacKey):!1},uniqueKey:function G(){return G.base.call(this)+":"+Z(this.wrapKey)+":"+Z(this.wrapdata)+":"+Z(this.encryptionKey)+":"+Z(this.hmacKey)}});Kf=jc.extend({init:function ya(a){ya.base.call(this,ic.JWE_LADDER);Object.defineProperties(this,{repository:{value:a,writable:!1,enumerable:!1,configurable:!1}})},createRequestData:function(c,g,f){b(f,function(){var b=g.mechanism,c=g.wrapdata;
if(!b||b==d.WRAP&&(!c||"string"!==typeof c))throw new ba(a.JSON_PARSE_ERROR,"keydata "+JSON.stringify(g));if(!d[b])throw new Ta(a.UNIDENTIFIED_KEYX_MECHANISM,b);var f;switch(b){case d.WRAP:try{f=I(c)}catch(h){throw new Ta(a.KEYX_WRAPPING_KEY_MISSING,"keydata "+g.toString());}if(null==f||0==f.length)throw new Ta(a.KEYX_WRAPPING_KEY_MISSING,"keydata "+g.toString());break;default:f=null}return new l(b,f)})},createResponseData:function(b,c,d){b=d.wrapkey;var l=d.wrapdata,f=d.encryptionkey,m=d.hmackey;
if(!(b&&"string"===typeof b&&l&&"string"===typeof l&&f&&"string"===typeof f&&m)||"string"!==typeof m)throw new ba(a.JSON_PARSE_ERROR,"keydata "+JSON.stringify(d));var h,k,w,ga;try{h=I(b),k=I(l)}catch(Sa){throw new T(a.INVALID_SYMMETRIC_KEY,"keydata "+JSON.stringify(d),Sa);}try{w=I(f)}catch(xb){throw new T(a.INVALID_ENCRYPTION_KEY,"keydata "+JSON.stringify(d),xb);}try{ga=I(m)}catch(Cb){throw new T(a.INVALID_HMAC_KEY,"keydata "+JSON.stringify(d),Cb);}return new g(c,h,k,w,ga)},generateResponse:function(d,
f,m,h){function k(a,c,g){La.generateSessionKeys(d,{result:function(d){b(h,function(){fa(a,c,g,d.encryptionKey,d.hmacKey)},La)},error:function(a){b(h,function(){a instanceof A&&a.setEntity(ga);throw a;})}})}function fa(a,g,l,m,k){b(h,function(){c(d,f.mechanism,f.wrapdata,a,{result:function(a){a.wrap(g,{result:function(a){pc(g,l,m,k,a)},error:function(a){b(h,function(){a instanceof A&&a.setEntity(ga);throw a;})}})},error:function(a){b(h,function(){a instanceof A&&a.setEntity(ga);throw a;})}})},La)}
function pc(a,c,g,l,f){b(h,function(){var m=new Hc(d,Ac.A128KW,D,a);m.wrap(g,{result:function(a){m.wrap(l,{result:function(b){na(c,f,g,a,l,b)},error:function(a){b(h,function(){a instanceof A&&a.setEntity(ga);throw a;})}})},error:function(a){b(h,function(){a instanceof A&&a.setEntity(ga);throw a;})}})},La)}function na(a,c,l,f,k,fa){b(h,function(){var ha=d.getTokenFactory();ga?ha.renewMasterToken(d,ga,l,k,{result:function(l){b(h,function(){var b=new Jb(d,l),m=new g(l,c,a,f,fa);return new jc.KeyExchangeData(m,
b,h)},La)},error:function(a){b(h,function(){a instanceof A&&a.setEntity(ga);throw a;})}}):ha.createMasterToken(d,m,l,k,{result:function(l){b(h,function(){var b=new Jb(d,l),m=new g(l,c,a,f,fa);return new jc.KeyExchangeData(m,b,h)},La)},error:h.error})},La)}var La=this,ga;b(h,function(){if(!(f instanceof l))throw new W("Key request data "+JSON.stringify(f)+" was not created by this factory.");var c=m;if(m instanceof Yb){if(!m.isVerified())throw new qc(a.MASTERTOKEN_UNTRUSTED,m);ga=m;c=m.identity}var g=
new Uint8Array(16);d.getRandom().nextBytes(g);Eb(g,gc,yb,{result:function(a){b(h,function(){d.getMslCryptoContext().wrap(a,{result:function(b){k(c,a,b)},error:function(a){b(h,function(){a instanceof A&&a.setEntity(ga);throw a;},La)}})},La)},error:function(c){b(h,function(){throw(new T(a.WRAP_KEY_CREATION_FAILURE,null,c)).setEntity(ga);},La)}})},La)},getCryptoContext:function(c,f,h,k,ha){function fa(a,d,g,l,f){b(ha,function(){var m=new Hc(c,Ac.A128KW,D,f);m.unwrap(d.encryptionKey,rc,qb,{result:function(f){m.unwrap(d.hmacKey,
Mb,ia,{result:function(a){b(ha,function(){this.repository.addCryptoContext(d.wrapdata,m);this.repository.removeCryptoContext(g);return new Jb(c,d.masterToken,l,f,a)},w)},error:function(c){b(ha,function(){c instanceof A&&c.setEntity(a);throw c;})}})},error:function(c){b(ha,function(){c instanceof A&&c.setEntity(a);throw c;})}})},w)}var w=this;b(ha,function(){if(!(f instanceof l))throw new W("Key request data "+JSON.stringify(f)+" was not created by this factory.");if(!(h instanceof g))throw new W("Key response data "+
JSON.stringify(h)+" was not created by this factory.");var k=f.mechanism,Gb=f.wrapdata;c.getEntityAuthenticationData(null,{result:function(g){b(ha,function(){var l=g.getIdentity(),f;switch(k){case d.PSK:f=new tc(l);var Cb=c.getEntityAuthenticationFactory(Pa.PSK);if(!Cb)throw(new Ta(a.UNSUPPORTED_KEYX_MECHANISM,k)).setEntity(g);f=Cb.getCryptoContext(c,f);f=new Hc(c,Ac.A128KW,D,y);break;case d.MGK:f=new sc(l);Cb=c.getEntityAuthenticationFactory(Pa.MGK);if(!Cb)throw(new Ta(a.UNSUPPORTED_KEYX_MECHANISM,
k)).setEntity(g);f=Cb.getCryptoContext(c,f);f=new Hc(c,Ac.A128KW,D,f.wrapKey);break;case d.WRAP:f=this.repository.getCryptoContext(Gb);if(!f)throw(new Ta(a.KEYX_WRAPPING_KEY_MISSING,L(Gb))).setEntity(g);break;default:throw(new Ta(a.UNSUPPORTED_KEYX_MECHANISM,k)).setEntity(g);}f.unwrap(h.wrapKey,gc,yb,{result:function(a){fa(g,h,Gb,l,a)},error:function(a){b(ha,function(){a instanceof A&&a.setEntity(g);throw a;})}})},w)},error:ha.error})},w)}})})();var Se,Pb,Da;(function(){function c(g,l,h,k,B){b(B,
function(){switch(l){case d.PSK:var c=new tc(k),w=g.getEntityAuthenticationFactory(Pa.PSK);if(!w)throw new Ta(a.UNSUPPORTED_KEYX_MECHANISM,l);c=w.getCryptoContext(g,c);return new f(y);case d.MGK:c=new sc(k);w=g.getEntityAuthenticationFactory(Pa.MGK);if(!w)throw new Ta(a.UNSUPPORTED_KEYX_MECHANISM,l);c=w.getCryptoContext(g,c);return new f(y);case d.WRAP:c=g.getMslCryptoContext();c.unwrap(h,gc,yb,{result:function(a){b(B,function(){return new f(a)})},error:B.error});break;default:throw new Ta(a.UNSUPPORTED_KEYX_MECHANISM,
l);}})}var d={PSK:"PSK",MGK:"MGK",WRAP:"WRAP"},l=Pb=Ld.extend({init:function J(a,b){J.base.call(this,ic.JWK_LADDER);switch(a){case d.WRAP:if(!b)throw new W("Previous wrapping key based key exchange requires the previous wrapping key data and ID.");break;default:b=null}Object.defineProperties(this,{mechanism:{value:a,writable:!1,configurable:!1},wrapdata:{value:b,writable:!1,configurable:!1}})},getKeydata:function(){var a={};a.mechanism=this.mechanism;this.wrapdata&&(a.wrapdata=L(this.wrapdata));return a},
equals:function ma(a){return a===this?!0:a instanceof Pb?ma.base.call(this,a)&&this.mechanism==a.mechanism&&p(this.wrapdata,a.wrapdata):!1},uniqueKey:function M(){var a=M.base.call(this)+":"+this.mechanism;this.wrapdata&&(a+=":"+Z(this.wrapdata));return a}}),g=Da=Md.extend({init:function B(a,b,c,d,g){B.base.call(this,a,ic.JWK_LADDER);Object.defineProperties(this,{wrapKey:{value:b,writable:!1,configurable:!1},wrapdata:{value:c,writable:!1,configurable:!1},encryptionKey:{value:d,writable:!1,configurable:!1},
hmacKey:{value:g,writable:!1,configurable:!1}})},getKeydata:function(){var a={};a.wrapkey=L(this.wrapKey);a.wrapdata=L(this.wrapdata);a.encryptionkey=L(this.encryptionKey);a.hmackey=L(this.hmacKey);return a},equals:function G(a){return this===a?!0:a instanceof Da?G.base.call(this,a)&&p(this.wrapKey,a.wrapKey)&&p(this.wrapdata,a.wrapdata)&&p(this.encryptionKey,a.encryptionKey)&&p(this.hmacKey,a.hmacKey):!1},uniqueKey:function ya(){return ya.base.call(this)+":"+Z(this.wrapKey)+":"+Z(this.wrapdata)+
":"+Z(this.encryptionKey)+":"+Z(this.hmacKey)}}),f=xd.extend({init:function(a){a&&a.rawKey&&(a=a.rawKey);Object.defineProperties(this,{_wrapKey:{value:a,writable:!1,enumerable:!1,configurable:!1}})},encrypt:function(b,c){c.error(new T(a.ENCRYPT_NOT_SUPPORTED))},decrypt:function(b,c){c.error(new T(a.DECRYPT_NOT_SUPPORTED))},wrap:function(c,d){b(d,function(){Ea.wrapKey("jwk",c.rawKey,this._wrapKey,gc).then(function(a){d.result(a)},function(b){d.error(new T(a.WRAP_ERROR))})},this)},unwrap:function(c,
d,g,l){function f(c){b(l,function(){switch(c.type){case "secret":Oc(c,l);break;case "public":Pc(c,l);break;case "private":Yc(c,l);break;default:throw new T(a.UNSUPPORTED_KEY,"type: "+c.type);}})}b(l,function(){Ea.unwrapKey("jwk",c,this._wrapKey,gc,d,!1,g).then(function(a){f(a)},function(b){l.error(new T(a.UNWRAP_ERROR))})},this)},sign:function(b,c){c.error(new T(a.SIGN_NOT_SUPPORTED))},verify:function(b,c,d){d.error(new T(a.VERIFY_NOT_SUPPORTED))}});Se=jc.extend({init:function db(a){db.base.call(this,
ic.JWK_LADDER);Object.defineProperties(this,{repository:{value:a,writable:!1,enumerable:!1,configurable:!1}})},createRequestData:function(c,g,f){b(f,function(){var b=g.mechanism,c=g.wrapdata;if(!b||b==d.WRAP&&(!c||"string"!==typeof c))throw new ba(a.JSON_PARSE_ERROR,"keydata "+JSON.stringify(g));if(!d[b])throw new Ta(a.UNIDENTIFIED_KEYX_MECHANISM,b);var f;switch(b){case d.WRAP:try{f=I(c)}catch(t){throw new Ta(a.KEYX_WRAPPING_KEY_MISSING,"keydata "+g.toString());}if(null==f||0==f.length)throw new Ta(a.KEYX_WRAPPING_KEY_MISSING,
"keydata "+g.toString());break;default:f=null}return new l(b,f)})},createResponseData:function(b,c,d){b=d.wrapkey;var l=d.wrapdata,f=d.encryptionkey,m=d.hmackey;if(!(b&&"string"===typeof b&&l&&"string"===typeof l&&f&&"string"===typeof f&&m)||"string"!==typeof m)throw new ba(a.JSON_PARSE_ERROR,"keydata "+JSON.stringify(d));var t,h,k,Sa;try{t=I(b),h=I(l)}catch(w){throw new T(a.INVALID_SYMMETRIC_KEY,"keydata "+JSON.stringify(d),w);}try{k=I(f)}catch(Cb){throw new T(a.INVALID_ENCRYPTION_KEY,"keydata "+
JSON.stringify(d),Cb);}try{Sa=I(m)}catch(Qe){throw new T(a.INVALID_HMAC_KEY,"keydata "+JSON.stringify(d),Qe);}return new g(c,t,h,k,Sa)},generateResponse:function(d,m,h,k){function fa(a,c,g){ga.generateSessionKeys(d,{result:function(d){b(k,function(){pc(a,c,g,d.encryptionKey,d.hmacKey)},ga)},error:function(a){b(k,function(){a instanceof A&&a.setEntity(Sa);throw a;})}})}function pc(a,g,l,f,t){b(k,function(){c(d,m.mechanism,m.wrapdata,a,{result:function(a){a.wrap(g,{result:function(a){na(g,l,f,t,a)},
error:function(a){b(k,function(){a instanceof A&&a.setEntity(Sa);throw a;})}})},error:function(a){b(k,function(){a instanceof A&&a.setEntity(Sa);throw a;})}})},ga)}function na(a,c,d,g,l){b(k,function(){var m=new f(a);m.wrap(d,{result:function(a){m.wrap(g,{result:function(b){La(c,l,d,a,g,b)},error:function(a){b(k,function(){a instanceof A&&a.setEntity(Sa);throw a;})}})},error:function(a){b(k,function(){a instanceof A&&a.setEntity(Sa);throw a;})}})},ga)}function La(a,c,l,f,m,t){b(k,function(){var fa=
d.getTokenFactory();Sa?fa.renewMasterToken(d,Sa,l,m,{result:function(l){b(k,function(){var b=new Jb(d,l),m=new g(l,c,a,f,t);return new jc.KeyExchangeData(m,b,k)},ga)},error:function(a){b(k,function(){a instanceof A&&a.setEntity(Sa);throw a;})}}):fa.createMasterToken(d,h,l,m,{result:function(l){b(k,function(){var b=new Jb(d,l),m=new g(l,c,a,f,t);return new jc.KeyExchangeData(m,b,k)},ga)},error:k.error})},ga)}var ga=this,Sa;b(k,function(){if(!(m instanceof l))throw new W("Key request data "+JSON.stringify(m)+
" was not created by this factory.");var c=h;if(h instanceof Yb){if(!h.isVerified())throw new qc(a.MASTERTOKEN_UNTRUSTED,h);Sa=h;c=h.identity}var g=new Uint8Array(16);d.getRandom().nextBytes(g);Eb(g,gc,yb,{result:function(a){b(k,function(){d.getMslCryptoContext().wrap(a,{result:function(b){fa(c,a,b)},error:function(a){b(k,function(){a instanceof A&&a.setEntity(Sa);throw a;},ga)}})},ga)},error:function(c){b(k,function(){throw(new T(a.WRAP_KEY_CREATION_FAILURE,null,c)).setEntity(Sa);},ga)}})},ga)},
getCryptoContext:function(c,h,k,w,fa){function pc(a,d,g,l,m){b(fa,function(){var h=new f(m);h.unwrap(d.encryptionKey,rc,qb,{result:function(f){h.unwrap(d.hmacKey,Mb,ia,{result:function(a){b(fa,function(){this.repository.addCryptoContext(d.wrapdata,h);this.repository.removeCryptoContext(g);return new Jb(c,d.masterToken,l,f,a)},na)},error:function(c){b(fa,function(){c instanceof A&&c.setEntity(a);throw c;})}})},error:function(c){b(fa,function(){c instanceof A&&c.setEntity(a);throw c;})}})},na)}var na=
this;b(fa,function(){if(!(h instanceof l))throw new W("Key request data "+JSON.stringify(h)+" was not created by this factory.");if(!(k instanceof g))throw new W("Key response data "+JSON.stringify(k)+" was not created by this factory.");var w=h.mechanism,ha=h.wrapdata;c.getEntityAuthenticationData(null,{result:function(g){b(fa,function(){var l=g.getIdentity(),h;switch(w){case d.PSK:h=new tc(l);var Ub=c.getEntityAuthenticationFactory(Pa.PSK);if(!Ub)throw(new Ta(a.UNSUPPORTED_KEYX_MECHANISM,w)).setEntity(g);
h=Ub.getCryptoContext(c,h);h=new f(h.wrapKey);break;case d.MGK:h=new sc(l);Ub=c.getEntityAuthenticationFactory(Pa.MGK);if(!Ub)throw(new Ta(a.UNSUPPORTED_KEYX_MECHANISM,w)).setEntity(g);h=Ub.getCryptoContext(c,h);h=new f(h.wrapKey);break;case d.WRAP:h=this.repository.getCryptoContext(ha);if(!h)throw(new Ta(a.KEYX_WRAPPING_KEY_MISSING,L(ha))).setEntity(g);break;default:throw(new Ta(a.UNSUPPORTED_KEYX_MECHANISM,w)).setEntity(g);}h.unwrap(k.wrapKey,gc,yb,{result:function(a){pc(g,k,ha,l,a)},error:function(a){b(fa,
function(){a instanceof A&&a.setEntity(g);throw a;})}})},na)},error:fa.error})},na)}})})();var pa=Y.Class.create({addCryptoContext:function(a,b){},getCryptoContext:function(a){},removeCryptoContext:function(a){}}),Cf,Nd,Gd,Od;(function(){function c(b,g,l,f,h){switch(l){case d.JWE_RSA:case d.JWEJS_RSA:return new Hc(b,Ac.RSA_OAEP,D,f,h);case d.JWK_RSA:return new cd(b,g,f,h,fb.WRAP_UNWRAP_OAEP);case d.JWK_RSAES:return new cd(b,g,f,h,fb.WRAP_UNWRAP_PKCS1);default:throw new T(a.UNSUPPORTED_KEYX_MECHANISM,
l);}}var d=Nd={RSA:"RSA",ECC:"ECC",JWE_RSA:"JWE_RSA",JWEJS_RSA:"JWEJS_RSA",JWK_RSA:"JWK_RSA",JWK_RSAES:"JWK_RSAES"},l=Gd=Ld.extend({init:function J(a,b,c,d){J.base.call(this,ic.ASYMMETRIC_WRAPPED);Object.defineProperties(this,{keyPairId:{value:a,writable:!1,configurable:!1},mechanism:{value:b,writable:!1,configurable:!1},publicKey:{value:c,writable:!1,configurable:!1},privateKey:{value:d,writable:!1,configurable:!1}})},getKeydata:function(){var a={};a.keypairid=this.keyPairId;a.mechanism=this.mechanism;
a.publickey=L(this.publicKey.getEncoded());return a},equals:function ma(a){if(a===this)return!0;if(!(a instanceof Gd))return!1;var b=this.privateKey===a.privateKey||this.privateKey&&a.privateKey&&p(this.privateKey.getEncoded(),a.privateKey.getEncoded());return ma.base.call(this,a)&&this.keyPairId==a.keyPairId&&this.mechanism==a.mechanism&&p(this.publicKey.getEncoded(),a.publicKey.getEncoded())&&b},uniqueKey:function M(){var a=this.publicKey.getEncoded(),b=this.privateKey&&this.privateKey.getEncoded(),
a=M.base.call(this)+":"+this.keyPairId+":"+this.mechanism+":"+Z(a);b&&(a+=":"+Z(b));return a}}),g=function(c,g){b(g,function(){var b=c.keypairid,f=c.mechanism,h=c.publickey;if(!b||"string"!==typeof b||!f||!h||"string"!==typeof h)throw new ba(a.JSON_PARSE_ERROR,"keydata "+JSON.stringify(c));if(!d[f])throw new Ta(a.UNIDENTIFIED_KEYX_MECHANISM,f);try{var t=I(h);switch(f){case d.JWE_RSA:case d.JWEJS_RSA:case d.JWK_RSA:Gc(t,Aa,yb,{result:function(a){g.result(new l(b,f,a,null))},error:function(a){g.error(a)}});
break;case d.JWK_RSAES:Gc(t,$a,yb,{result:function(a){g.result(new l(b,f,a,null))},error:function(a){g.error(a)}});break;default:throw new T(a.UNSUPPORTED_KEYX_MECHANISM,f);}}catch(k){if(!(k instanceof A))throw new T(a.INVALID_PUBLIC_KEY,"keydata "+JSON.stringify(c),k);throw k;}})},f=Od=Md.extend({init:function B(a,b,c,d){B.base.call(this,a,ic.ASYMMETRIC_WRAPPED);Object.defineProperties(this,{keyPairId:{value:b,writable:!1,configurable:!1},encryptionKey:{value:c,writable:!1,configurable:!1},hmacKey:{value:d,
writable:!1,configurable:!1}})},getKeydata:function(){var a={};a.keypairid=this.keyPairId;a.encryptionkey=L(this.encryptionKey);a.hmackey=L(this.hmacKey);return a},equals:function G(a){return this===a?!0:a instanceof Od?G.base.call(this,a)&&this.keyPairId==a.keyPairId&&p(this.encryptionKey,a.encryptionKey)&&p(this.hmacKey,a.hmacKey):!1},uniqueKey:function ya(){return ya.base.call(this)+":"+this.keyPairId+":"+Z(this.encryptionKey)+":"+Z(this.hmacKey)}});Cf=jc.extend({init:function db(){db.base.call(this,
ic.ASYMMETRIC_WRAPPED)},createRequestData:function(a,b,c){g(b,c)},createResponseData:function(b,c,d){b=d.keypairid;var g=d.encryptionkey,l=d.hmackey;if(!b||"string"!==typeof b||!g||"string"!==typeof g||!l||"string"!==typeof l)throw new ba(a.JSON_PARSE_ERROR,"keydata "+JSON.stringify(d));var m;try{m=I(g)}catch(h){throw new T(a.INVALID_ENCRYPTION_KEY,"keydata "+JSON.stringify(d),h);}var k;try{k=I(l)}catch(w){throw new T(a.INVALID_HMAC_KEY,"keydata "+JSON.stringify(d),w);}return new f(c,b,m,k)},generateResponse:function(a,
d,g,m){function h(l,f){b(m,function(){var h=c(a,d.keyPairId,d.mechanism,null,d.publicKey);h.wrap(l,{result:function(a){b(m,function(){h.wrap(f,{result:function(b){k(l,a,f,b)},error:function(a){b(m,function(){a instanceof A&&g instanceof Yb&&a.setEntity(g);throw a;},na)}})},na)},error:function(a){b(m,function(){a instanceof A&&g instanceof Yb&&a.setEntity(g);throw a;},na)}})},na)}function k(c,l,h,fa){b(m,function(){var k=a.getTokenFactory();g instanceof Yb?k.renewMasterToken(a,g,c,h,{result:function(c){b(m,
function(){var b=new Jb(a,c),g=new f(c,d.keyPairId,l,fa);return new jc.KeyExchangeData(g,b,m)},na)},error:function(a){b(m,function(){a instanceof A&&a.setEntity(g);throw a;},na)}}):k.createMasterToken(a,g,c,h,{result:function(c){b(m,function(){var b=new Jb(a,c),g=new f(c,d.keyPairId,l,fa);return new jc.KeyExchangeData(g,b,m)},na)},error:m.error})},na)}var na=this;b(m,function(){if(!(d instanceof l))throw new W("Key request data "+JSON.stringify(d)+" was not created by this factory.");this.generateSessionKeys(a,
{result:function(a){h(a.encryptionKey,a.hmacKey)},error:function(a){b(m,function(){a instanceof A&&g instanceof Yb&&a.setEntity(g);throw a;},na)}})},na)},getCryptoContext:function(d,g,m,h,k){var pc=this;b(k,function(){if(!(g instanceof l))throw new W("Key request data "+JSON.stringify(g)+" was not created by this factory.");if(!(m instanceof f))throw new W("Key response data "+JSON.stringify(m)+" was not created by this factory.");var na=g.keyPairId,n=m.keyPairId;if(na!=n)throw(new Ta(a.KEYX_RESPONSE_REQUEST_MISMATCH,
"request "+na+"; response "+n)).setEntity(h);n=g.privateKey;if(!n)throw(new Ta(a.KEYX_PRIVATE_KEY_MISSING,"request Asymmetric private key")).setEntity(h);var ga=c(d,na,g.mechanism,n,null);ga.unwrap(m.encryptionKey,rc,qb,{result:function(a){ga.unwrap(m.hmacKey,Mb,ia,{result:function(c){d.getEntityAuthenticationData(null,{result:function(g){b(k,function(){var b=g.getIdentity();return new Jb(d,m.masterToken,b,a,c)},pc)},error:function(a){b(k,function(){a instanceof A&&a.setEntity(h);throw a;},pc)}})},
error:function(a){b(k,function(){a instanceof A&&a.setEntity(h);throw a;},pc)}})},error:function(a){b(k,function(){a instanceof A&&a.setEntity(h);throw a;},pc)}})},pc)}})})();var Ug=Y.Class.create({init:function(a){var b=Qa.parser(),c=[],d=[],f,q,h,k=0,M=!1;b.onerror=function(a){M||(M=!0,b.end())};b.onopenobject=function(a){if(f)f[h]={},d.push(f),f=f[h];else if(q){var b={};d.push(q);q.push(b);f=b;q=y}else f={};h=a};b.oncloseobject=function(){var a=d.pop();a?"object"===typeof a?f=a:(f=y,q=a):(c.push(f),
k=b.index,f=y)};b.onopenarray=function(){if(f)f[h]=[],d.push(f),q=f[h],f=y;else if(q){var a=[];d.push(q);q.push(a);q=a}else q=[]};b.onclosearray=function(){var a=d.pop();a?"object"===typeof a?(f=a,q=y):q=a:(c.push(q),k=b.index,q=y)};b.onkey=function(a){h=a};b.onvalue=function(a){f?f[h]=a:q?q.push(a):(c.push(a),k=b.index)};b.write(a).close();Object.defineProperties(this,{_values:{value:c,writable:!1,enumerable:!1,configurable:!1},_lastIndex:{value:k,writable:!0,enumerable:!1,configurable:!1}})},more:function(){return 0<
this._values.length},nextValue:function(){return 0==this._values.length?y:this._values.shift()},lastIndex:function(){return this._lastIndex}}),pe,Te,Nf,Ue,Of,qe;(function(){var c=Te="entityauthdata",d=Nf="mastertoken",l=Ue="headerdata",g=Of="errordata",f=qe="signature";pe=function(q,h,k,M){b(M,function(){var b=h[c],G=h[d],ya=h[f];if(b&&"object"!==typeof b||G&&"object"!==typeof G||"string"!==typeof ya)throw new ba(a.JSON_PARSE_ERROR,"header/errormsg "+JSON.stringify(h));var db;try{db=I(ya)}catch(Ub){throw new za(a.HEADER_SIGNATURE_INVALID,
"header/errormsg "+JSON.stringify(h),Ub);}var Gb=null;b&&(Gb=le(q,b));var ha=h[l];if(ha!=y&&null!=ha){if("string"!==typeof ha)throw new ba(a.JSON_PARSE_ERROR,"header/errormsg "+JSON.stringify(h));G?Rc(q,G,{result:function(a){Ve(q,ha,Gb,a,db,k,M)},error:function(a){M.error(a)}}):Ve(q,ha,Gb,null,db,k,M)}else if(b=h[g],b!=y&&null!=b){if("string"!==typeof b)throw new ba(a.JSON_PARSE_ERROR,"header/errormsg "+JSON.stringify(h));Pf(q,b,Gb,db,M)}else throw new ba(a.JSON_PARSE_ERROR,JSON.stringify(h));})}})();
var Xc,Qf,Pf;(function(){function c(a,b){this.errordata=a;this.signature=b}Xc=Y.Class.create({init:function(c,d,g,f,q,h,k,w,B,G){var ya=this;b(G,function(){0>h&&(h=-1);if(0>f||f>Ia)throw new W("Message ID "+f+" is out of range.");if(!d)throw new za(a.MESSAGE_ENTITY_NOT_FOUND);if(B)return Object.defineProperties(this,{entityAuthenticationData:{value:d,writable:!1,configurable:!1},recipient:{value:g,writable:!1,configurable:!1},messageId:{value:f,writable:!1,configurable:!1},errorCode:{value:q,writable:!1,
configurable:!1},internalCode:{value:h,writable:!1,configurable:!1},errorMessage:{value:k,writable:!1,configurable:!1},userMessage:{value:w,writable:!1,configurable:!1},errordata:{value:B.errordata,writable:!1,enumerable:!1,configurable:!1},signature:{value:B.signature,writable:!1,enumerable:!1,configurable:!1}}),this;var db={};g&&(db.recipient=g);db.messageid=f;db.errorcode=q;0<h&&(db.internalcode=h);k&&(db.errormsg=k);w&&(db.usermsg=w);var Ub;try{Ub=c.getEntityAuthenticationFactory(d.scheme).getCryptoContext(c,
d)}catch(Gb){throw Gb instanceof A&&(Gb.setEntity(d),Gb.setMessageId(f)),Gb;}db=P(JSON.stringify(db),sa);Ub.encrypt(db,{result:function(a){b(G,function(){Ub.sign(a,{result:function(c){b(G,function(){Object.defineProperties(this,{entityAuthenticationData:{value:d,writable:!1,configurable:!1},recipient:{value:g,writable:!1,configurable:!1},messageId:{value:f,writable:!1,configurable:!1},errorCode:{value:q,writable:!1,configurable:!1},internalCode:{value:h,writable:!1,configurable:!1},errorMessage:{value:k,
writable:!1,configurable:!1},userMessage:{value:w,writable:!1,configurable:!1},errordata:{value:a,writable:!1,enumerable:!1,configurable:!1},signature:{value:c,writable:!1,enumerable:!1,configurable:!1}});return this},ya)},error:function(a){b(G,function(){a instanceof A&&(a.setEntity(d),a.setMessageId(f));throw a;},ya)}})},ya)},error:function(a){b(G,function(){a instanceof A&&(a.setEntity(d),a.setMessageId(f));throw a;},ya)}})},ya)},toJSON:function(){var a={};a[Te]=this.entityAuthenticationData;a[Of]=
L(this.errordata);a[qe]=L(this.signature);return a}});Qf=function(a,b,c,d,f,h,k,w,B){new Xc(a,b,c,d,f,h,k,w,null,B)};Pf=function(f,l,g,k,q){b(q,function(){if(!g)throw new za(a.MESSAGE_ENTITY_NOT_FOUND);var J;try{var ma=g.scheme,M=f.getEntityAuthenticationFactory(ma);if(!M)throw new zc(a.ENTITYAUTH_FACTORY_NOT_FOUND,ma);J=M.getCryptoContext(f,g)}catch(B){throw B instanceof A&&B.setEntity(g),B;}try{l=I(l)}catch(G){throw(new za(a.HEADER_DATA_INVALID,l,G)).setEntity(g);}if(!l||0==l.length)throw(new za(a.HEADER_DATA_MISSING,
l)).setEntity(g);J.verify(l,k,{result:function(B){b(q,function(){if(!B)throw(new T(a.MESSAGE_VERIFICATION_FAILED)).setEntity(g);J.decrypt(l,{result:function(J){b(q,function(){var b=h(J,sa),B;try{B=JSON.parse(b)}catch(M){if(M instanceof SyntaxError)throw(new ba(a.JSON_PARSE_ERROR,"errordata "+b,M)).setEntity(g);throw M;}var fa=B.recipient!==y?B.recipient:null,G=parseInt(B.messageid),ma=parseInt(B.errorcode),ya=parseInt(B.internalcode),ga=B.errormsg,Sa=B.usermsg;if(fa&&"string"!==typeof fa||!G||G!=
G||!ma||ma!=ma||B.internalcode&&ya!=ya||ga&&"string"!==typeof ga||Sa&&"string"!==typeof Sa)throw(new ba(a.JSON_PARSE_ERROR,"errordata "+b)).setEntity(g);if(0>G||G>Ia)throw(new za(a.MESSAGE_ID_OUT_OF_RANGE,"errordata "+b)).setEntity(g);B=!1;for(var xb in d)if(d[xb]==ma){B=!0;break}B||(ma=d.FAIL);if(ya){if(0>ya)throw(new za(a.INTERNAL_CODE_NEGATIVE,"errordata "+b)).setEntity(g).setMessageId(G);}else ya=-1;b=new c(l,k);new Xc(f,g,fa,G,ma,ya,ga,Sa,b,q)})},error:function(a){b(q,function(){a instanceof
A&&a.setEntity(g);throw a;})}})})},error:function(a){b(q,function(){a instanceof A&&a.setEntity(g);throw a;})}})})}})();var Rf=Y.Class.create({getUserMessage:function(a,b){}}),Pd,Sf,We;(function(){We=function(a,b){if(!a||!b)return null;var c=a.compressionAlgorithms.filter(function(a){for(var c=0;c<b.compressionAlgorithms.length;++c)if(a==b.compressionAlgorithms[c])return!0;return!1}),d=a.languages.filter(function(a){for(var c=0;c<b.languages.length;++c)if(a==b.languages[c])return!0;return!1});return new Pd(c,
d)};Pd=Y.Class.create({init:function(a,b){a||(a=[]);b||(b=[]);a.sort();Object.defineProperties(this,{compressionAlgorithms:{value:a,writable:!1,enumerable:!0,configurable:!1},languages:{value:b,writable:!1,enumerable:!0,configurable:!1}})},toJSON:function(){var a={};a.compressionalgos=this.compressionAlgorithms;a.languages=this.languages;return a},equals:function(a){return this===a?!0:a instanceof Pd?oa(this.compressionAlgorithms,a.compressionAlgorithms)&&oa(this.languages,a.languages):!1},uniqueKey:function(){return this.compressionAlgorithms.join(":")+
"|"+this.languages.join(":")}});Sf=function(b){var c=b.compressionalgos,d=b.languages;if(c&&!(c instanceof Array)||d&&!(d instanceof Array))throw new ba(a.JSON_PARSE_ERROR,"capabilities "+JSON.stringify(b));b=[];for(var g=0;c&&g<c.length;++g){var f=c[g];Zc[f]&&b.push(f)}return new Pd(b,d)}})();var Qd,Tf,Ve,Uf,Vf;(function(){function c(a,b,d,g,l){this.customer=a;this.sender=b;this.messageCryptoContext=d;this.headerdata=g;this.signature=l}function d(a,b,c,g,l,f,h,q,m,k,t,J,B,M,G,w,ma,ya,n,A){return{cryptoContext:{value:b,
writable:!1,configurable:!1},customer:{value:c,writable:!1,configurable:!1},entityAuthenticationData:{value:g,writable:!1,configurable:!1},masterToken:{value:l,writable:!1,configurable:!1},sender:{value:f,writable:!1,configurable:!1},messageId:{value:h,writable:!1,configurable:!1},nonReplayableId:{value:w,writable:!1,configurable:!1},keyRequestData:{value:q,writable:!1,configurable:!1},keyResponseData:{value:m,writable:!1,configurable:!1},userAuthenticationData:{value:k,writable:!1,configurable:!1},
userIdToken:{value:t,writable:!1,configurable:!1},serviceTokens:{value:J,writable:!1,configurable:!1},peerMasterToken:{value:B,writable:!1,configurable:!1},peerUserIdToken:{value:M,writable:!1,configurable:!1},peerServiceTokens:{value:G,writable:!1,configurable:!1},messageCapabilities:{value:ya,writable:!1,configurable:!1},renewable:{value:ma,writable:!1,enumerable:!1,configurable:!1},headerdata:{value:n,writable:!1,enumerable:!1,configurable:!1},signature:{value:A,writable:!1,enumerable:!1,configurable:!1}}}
function l(b,c,d){if(d){if(c=b.getMslStore().getCryptoContext(d))return c;if(!d.isVerified()||!d.isDecrypted())throw new qc(a.MASTERTOKEN_UNTRUSTED,d);return new Jb(b,d)}d=c.scheme;var g=b.getEntityAuthenticationFactory(d);if(!g)throw new zc(a.ENTITYAUTH_FACTORY_NOT_FOUND,d);return g.getCryptoContext(b,c)}function g(c,d,g,l,f){b(f,function(){d.verify(g,l,{result:function(c){b(f,function(){if(!c)throw new T(a.MESSAGE_VERIFICATION_FAILED);d.decrypt(g,{result:function(a){b(f,function(){return h(a,sa)})},
error:function(a){f.error(a)}})})},error:function(a){f.error(a)}})})}function f(a,c,d){b(d,function(){if(c)Oe(a,c,d);else return null})}function q(a,c,d,g){b(g,function(){if(c)ed(a,c,d,g);else return null})}function k(a,c,d,g){b(g,function(){if(d)Wf(a,c,d,g);else return null})}function ma(c,d,g,l,f,h,q){function m(d,q,t){if(q>=d.length){var J=[],B;for(B in k)J.push(k[B]);t.result(J)}else{J=d[q];if("object"!==typeof J)throw new ba(a.JSON_PARSE_ERROR,"headerdata "+h);re(c,J,g,l,f,{result:function(a){b(t,
function(){k[a.uniqueKey()]=a;m(d,q+1,t)})},error:function(a){t.error(a)}})}}var k={};b(q,function(){if(d){if(!(d instanceof Array))throw new ba(a.JSON_PARSE_ERROR,"headerdata "+h);m(d,0,q)}else return[]})}function M(c,d,g,l,f,q){function h(c,d,g){b(g,function(){var b=d.peermastertoken;if(b&&"object"!==typeof b)throw new ba(a.JSON_PARSE_ERROR,"headerdata "+f);if(!b)return null;Rc(c,b,g)})}function k(c,d,g,l){b(l,function(){var b=d.peeruseridtoken;if(b&&"object"!==typeof b)throw new ba(a.JSON_PARSE_ERROR,
"headerdata "+f);if(!b)return null;ed(c,b,g,l)})}b(q,function(){if(!c.isPeerToPeer())return{peerMasterToken:null,peerUserIdToken:null,peerServiceTokens:[]};h(c,d,{result:function(a){b(q,function(){var h=g?g.masterToken:a;k(c,d,h,{result:function(g){b(q,function(){ma(c,d.peerservicetokens,h,g,l,f,{result:function(c){b(q,function(){return{peerMasterToken:a,peerUserIdToken:g,peerServiceTokens:c}})},error:function(a){b(q,function(){a instanceof A&&(a.setEntity(h),a.setUser(g));throw a;})}})})},error:function(a){b(q,
function(){a instanceof A&&a.setEntity(h);throw a;})}})})},error:q.error})})}function B(c,d,g,l){function f(a,d){b(l,function(){if(d>=a.length)return q;Jf(c,a[d],{result:function(c){b(l,function(){q.push(c);f(a,d+1)})},error:function(a){l.error(a)}})})}var q=[];b(l,function(){var b=d.keyrequestdata;if(!b)return q;if(!(b instanceof Array))throw new ba(a.JSON_PARSE_ERROR,"headerdata "+g);f(b,0)})}var G=Uf=Y.Class.create({init:function(a,b,c,d,g,l,f,q,h){Object.defineProperties(this,{messageId:{value:a,
writable:!1,configurable:!1},nonReplayableId:{value:b,writable:!1,configurable:!1},renewable:{value:c,writable:!1,configurable:!1},capabilities:{value:d,writable:!1,configurable:!1},keyRequestData:{value:g,writable:!1,configurable:!1},keyResponseData:{value:l,writable:!1,configurable:!1},userAuthData:{value:f,writable:!1,configurable:!1},userIdToken:{value:q,writable:!1,configurable:!1},serviceTokens:{value:h,writable:!1,configurable:!1}})}}),ya=Vf=Y.Class.create({init:function(a,b,c){Object.defineProperties(this,
{peerMasterToken:{value:a,writable:!1,configurable:!1},peerUserIdToken:{value:b,writable:!1,configurable:!1},peerServiceTokens:{value:c,writable:!1,configurable:!1}})}});Qd=Y.Class.create({init:function(a,c,g,f,q,h,k){function t(Sa){b(k,function(){c=g?null:c;var t=f.nonReplayableId,B=f.renewable,M=f.capabilities,G=f.messageId,w=f.keyRequestData?f.keyRequestData:[],ma=f.keyResponseData,ya=f.userAuthData,n=f.userIdToken,p=f.serviceTokens?f.serviceTokens:[],La,C,L;a.isPeerToPeer()?(La=q.peerMasterToken,
C=q.peerUserIdToken,L=q.peerServiceTokens?q.peerServiceTokens:[]):(C=La=null,L=[]);if(0>G||G>Ia)throw new W("Message ID "+G+" is out of range.");if(!c&&!g)throw new W("Message entity authentication data or master token must be provided.");var I,O;ma?a.isPeerToPeer()?(I=g,O=ma.masterToken):(I=ma.masterToken,O=La):(I=g,O=La);if(n&&(!I||!n.isBoundTo(I)))throw new W("User ID token must be bound to a master token.");if(C&&(!O||!C.isBoundTo(O)))throw new W("Peer user ID token must be bound to a peer master token.");
p.forEach(function(a){if(a.isMasterTokenBound()&&(!I||!a.isBoundTo(I)))throw new W("Master token bound service tokens must be bound to the provided master token.");if(a.isUserIdTokenBound()&&(!n||!a.isBoundTo(n)))throw new W("User ID token bound service tokens must be bound to the provided user ID token.");},this);L.forEach(function(a){if(a.isMasterTokenBound()&&(!O||!a.isBoundTo(O)))throw new W("Master token bound peer service tokens must be bound to the provided peer master token.");if(a.isUserIdTokenBound()&&
(!C||!a.isBoundTo(C)))throw new W("User ID token bound peer service tokens must be bound to the provided peer user ID token.");},this);if(h){var U=h.customer,D=h.messageCryptoContext,y=d(a,D,U,c,g,Sa,G,w,ma,ya,n,p,La,C,L,t,B,M,h.headerdata,h.signature);Object.defineProperties(this,y);return this}var U=n?n.customer:null,y={};Sa&&(y.sender=Sa);y.messageid=G;"number"===typeof t&&(y.nonreplayableid=t);y.renewable=B;M&&(y.capabilities=M);0<w.length&&(y.keyrequestdata=w);ma&&(y.keyresponsedata=ma);ya&&
(y.userauthdata=ya);n&&(y.useridtoken=n);0<p.length&&(y.servicetokens=p);La&&(y.peermastertoken=La);C&&(y.peeruseridtoken=C);0<L.length&&(y.peerservicetokens=L);var D;try{D=l(a,c,g)}catch(ca){throw ca instanceof A&&(ca.setEntity(g),ca.setEntity(c),ca.setUser(n),ca.setUser(ya),ca.setMessageId(G)),ca;}y=P(JSON.stringify(y),sa);D.encrypt(y,{result:function(l){b(k,function(){D.sign(l,{result:function(f){b(k,function(){var b=d(a,D,U,c,g,Sa,G,w,ma,ya,n,p,La,C,L,t,B,M,l,f);Object.defineProperties(this,b);
return this},J)},error:function(a){b(k,function(){a instanceof A&&(a.setEntity(g),a.setEntity(c),a.setUser(n),a.setUser(ya),a.setMessageId(G));throw a;},J)}})},J)},error:function(a){b(k,function(){a instanceof A&&(a.setEntity(g),a.setEntity(c),a.setUser(n),a.setUser(ya),a.setMessageId(G));throw a;},J)}})},J)}var J=this;b(k,function(){h?t(h.sender):g?a.getEntityAuthenticationData(null,{result:function(a){a=a.getIdentity();t(a)},error:k.error}):t(null)},J)},isEncrypting:function(){return this.masterToken||
U(this.entityAuthenticationData.scheme)},isRenewable:function(){return this.renewable},toJSON:function(){var a={};this.masterToken?a[Nf]=this.masterToken:a[Te]=this.entityAuthenticationData;a[Ue]=L(this.headerdata);a[qe]=L(this.signature);return a}});Tf=function(a,b,c,d,g,l){new Qd(a,b,c,d,g,null,l)};Ve=function(d,h,m,n,fa,p,na){b(na,function(){m=n?null:m;if(!m&&!n)throw new za(a.MESSAGE_ENTITY_NOT_FOUND);var La=h;try{h=I(La)}catch(ga){throw new za(a.HEADER_DATA_INVALID,La,ga);}if(!h||0==h.length)throw new za(a.HEADER_DATA_MISSING,
La);var Sa;try{Sa=l(d,m,n)}catch(xb){throw xb instanceof A&&(xb.setEntity(n),xb.setEntity(m)),xb;}g(d,Sa,h,fa,{result:function(g){b(na,function(){var l;try{l=JSON.parse(g)}catch(gb){if(gb instanceof SyntaxError)throw(new ba(a.JSON_PARSE_ERROR,"headerdata "+g,gb)).setEntity(n).setEntity(m);throw gb;}var xb=parseInt(l.messageid);if(!xb||xb!=xb)throw(new ba(a.JSON_PARSE_ERROR,"headerdata "+g)).setEntity(n).setEntity(m);if(0>xb||xb>Ia)throw(new za(a.MESSAGE_ID_OUT_OF_RANGE,"headerdata "+g)).setEntity(n).setEntity(m);
var oe=n?l.sender:null;if(n&&(!oe||"string"!==typeof oe))throw(new ba(a.JSON_PARSE_ERROR,"headerdata "+g)).setEntity(n).setEntity(m).setMessageId(xb);var ga=l.keyresponsedata;if(ga&&"object"!==typeof ga)throw(new ba(a.JSON_PARSE_ERROR,"headerdata "+g)).setEntity(n).setEntity(m).setMessageId(xb);var La=na;na={result:function(a){La.result(a)},error:function(a){a instanceof A&&(a.setEntity(n),a.setEntity(m),a.setMessageId(xb));La.error(a)}};f(d,ga,{result:function(f){b(na,function(){var t=!d.isPeerToPeer()&&
f?f.masterToken:n,gb=l.useridtoken;if(gb&&"object"!==typeof gb)throw new ba(a.JSON_PARSE_ERROR,"headerdata "+g);q(d,gb,t,{result:function(q){b(na,function(){var gb=l.userauthdata;if(gb&&"object"!==typeof gb)throw new ba(a.JSON_PARSE_ERROR,"headerdata "+g);k(d,t,gb,{result:function(k){b(na,function(){var J;if(k){var gb=k.scheme,ga=d.getUserAuthenticationFactory(gb);if(!ga)throw(new Ra(a.USERAUTH_FACTORY_NOT_FOUND,gb)).setUser(q).setUser(k);gb=n?n.identity:m.getIdentity();J=ga.authenticate(d,gb,k,q)}else J=
q?q.customer:null;ma(d,l.servicetokens,t,q,p,g,{result:function(t){b(na,function(){var gb=l.nonreplayableid!==y?parseInt(l.nonreplayableid):null,ma=l.renewable;if(gb!=gb||"boolean"!==typeof ma)throw new ba(a.JSON_PARSE_ERROR,"headerdata "+g);if(0>gb||gb>Ia)throw new za(a.NONREPLAYABLE_ID_OUT_OF_RANGE,"headerdata "+g);var ga=null,Re=l.capabilities;if(Re){if("object"!==typeof Re)throw new ba(a.JSON_PARSE_ERROR,"headerdata "+g);ga=Sf(Re)}B(d,l,g,{result:function(a){M(d,l,f,p,g,{result:function(g){b(na,
function(){var b=g.peerMasterToken,l=g.peerUserIdToken,B=g.peerServiceTokens,M=new G(xb,gb,ma,ga,a,f,k,q,t),b=new ya(b,l,B),l=new c(J,oe,Sa,h,fa);new Qd(d,m,n,M,b,l,na)})},error:na.error})},error:function(a){b(na,function(){a instanceof A&&(a.setUser(q),a.setUser(k));throw a;})}})})},error:function(a){b(na,function(){a instanceof A&&(a.setEntity(t),a.setUser(q),a.setUser(k));throw a;})}})})},error:na.error})})},error:na.error})})},error:na.error})})},error:na.error})})}})();var Xe,Zf,Ye;(function(){function c(a,
b){this.payload=a;this.signature=b}Xe=Y.Class.create({init:function(a,c,d,f,q,h,k,M){var B=this;b(M,function(){if(0>a||a>Ia)throw new W("Sequence number "+a+" is outside the valid range.");if(0>c||c>Ia)throw new W("Message ID "+c+" is outside the valid range.");if(k)return Object.defineProperties(this,{sequenceNumber:{value:a,writable:!1,configurable:!1},messageId:{value:c,writable:!1,configurable:!1},compressionAlgo:{value:f,writable:!1,configurable:!1},data:{value:q,writable:!1,configurable:!1},
endofmsg:{value:d,writable:!1,enumerable:!1,configurable:!1},payload:{value:k.payload,writable:!1,enumerable:!1,configurable:!1},signature:{value:k.signature,writable:!1,enumerable:!1,configurable:!1}}),this;var G;f?(G=ue(f,q),G||(f=null,G=q)):(f=null,G=q);var w={};w.sequencenumber=a;w.messageid=c;d&&(w.endofmsg=d);f&&(w.compressionalgo=f);w.data=L(G);G=P(JSON.stringify(w),sa);h.encrypt(G,{result:function(k){b(M,function(){h.sign(k,{result:function(h){b(M,function(){Object.defineProperties(this,{sequenceNumber:{value:a,
writable:!1,configurable:!1},messageId:{value:c,writable:!1,configurable:!1},compressionAlgo:{value:f,writable:!1,configurable:!1},data:{value:q,writable:!1,configurable:!1},endofmsg:{value:d,writable:!1,enumerable:!1,configurable:!1},payload:{value:k,writable:!1,enumerable:!1,configurable:!1},signature:{value:h,writable:!1,enumerable:!1,configurable:!1}});return this},B)},error:function(a){M.error(a)}})},B)},error:function(a){M.error(a)}})},B)},isEndOfMessage:function(){return this.endofmsg},toJSON:function(){var a=
{};a.payload=L(this.payload);a.signature=L(this.signature);return a}});Zf=function(a,b,c,d,f,h,k){new Xe(a,b,c,d,f,h,null,k)};Ye=function(d,l,g){b(g,function(){var f=d.payload,q=d.signature;if(!f||"string"!==typeof f||"string"!==typeof q)throw new ba(a.JSON_PARSE_ERROR,"payload chunk "+JSON.stringify(d));var k,ma;try{k=I(f)}catch(M){throw new za(a.PAYLOAD_INVALID,"payload chunk "+JSON.stringify(d),M);}try{ma=I(q)}catch(B){throw new za(a.PAYLOAD_SIGNATURE_INVALID,"payload chunk "+JSON.stringify(d),
B);}l.verify(k,ma,{result:function(d){b(g,function(){if(!d)throw new T(a.PAYLOAD_VERIFICATION_FAILED);l.decrypt(k,{result:function(d){b(g,function(){var b=h(d,sa),f;try{f=JSON.parse(b)}catch(q){if(q instanceof SyntaxError)throw new ba(a.JSON_PARSE_ERROR,"payload chunk payload "+b,q);throw q;}var m=parseInt(f.sequencenumber),t=parseInt(f.messageid),B=f.endofmsg,M=f.compressionalgo;f=f.data;if(!m||m!=m||!t||t!=t||B&&"boolean"!==typeof B||M&&"string"!==typeof M||"string"!==typeof f)throw new ba(a.JSON_PARSE_ERROR,
"payload chunk payload "+b);if(0>m||m>Ia)throw new A(a.PAYLOAD_SEQUENCE_NUMBER_OUT_OF_RANGE,"payload chunk payload "+b);if(0>t||t>Ia)throw new A(a.PAYLOAD_MESSAGE_ID_OUT_OF_RANGE,"payload chunk payload "+b);B||(B=!1);if(M&&!Zc[M])throw new za(a.UNIDENTIFIED_COMPRESSION,M);var G;try{G=I(f)}catch(n){throw new za(a.PAYLOAD_DATA_CORRUPT,f,n);}if(G&&0!=G.length)b=M?ve(M,G):G;else{if(0<f.length)throw new za(a.PAYLOAD_DATA_CORRUPT,f);if(B)b=new Uint8Array(0);else throw new za(a.PAYLOAD_DATA_MISSING,f);}G=
new c(k,ma);new Xe(m,t,B,M,b,l,G,g)})},error:function(a){g.error(a)}})})},error:function(a){g.error(a)}})})}})();var Rd,fd,yd,gd,$f,Ze;(function(){function c(d,g,f,l,h){function k(){b(h,function(){t>=g.length&&(t=0,++m);if(m>=w.length){if(n)throw n;throw new Ta(a.KEYX_FACTORY_NOT_FOUND,JSON.stringify(g));}var c=w[m],f=g[t];c.scheme!=f.keyExchangeScheme?(++t,k()):c.generateResponse(d,f,ha,{result:function(a){h.result(a)},error:function(a){b(h,function(){if(!(a instanceof A))throw a;n=a;++t;k()})}})})}
var m=0,t=0,w=d.getKeyExchangeFactories(),n,ha=f?f:l;k()}function d(a,g,f,l,h){b(h,function(){var d=g.keyRequestData;if(g.isRenewable()&&0<d.length)l?l.isRenewable()||l.isExpired()?c(a,d,l,null,h):a.getTokenFactory().isNewestMasterToken(a,l,{result:function(g){b(h,function(){if(g)return null;c(a,d,l,null,h)})},error:h.error}):c(a,d,null,f.getIdentity(),h);else return null})}function f(c,d,g,l){b(l,function(){var b=d.userIdToken,f=d.userAuthenticationData,h=d.messageId;if(b&&b.isVerified()){if(b.isRenewable()&&
d.isRenewable()||b.isExpired()||!b.isBoundTo(g)){f=c.getTokenFactory();f.renewUserIdToken(c,b,g,l);return}}else if(d.isRenewable()&&g&&f){b=d.customer;if(!b){var b=f.scheme,k=c.getUserAuthenticationFactory(b);if(!k)throw(new Ra(a.USERAUTH_FACTORY_NOT_FOUND,b)).setEntity(g).setUser(f).setMessageId(h);b=k.authenticate(c,g.identity,f,null)}f=c.getTokenFactory();f.createUserIdToken(c,b,g,l);return}return b})}var g=new Uint8Array(0),h=fd=function(a){if(0>a||a>Ia)throw new W("Message ID "+a+" is outside the valid range.");
return a==Ia?0:a+1};yd=function(a){if(0>a||a>Ia)throw new W("Message ID "+a+" is outside the valid range.");return 0==a?Ia:a-1};gd=function(a,c,d,g,f){b(f,function(){if(g==y||null==g){var l=a.getRandom();do g=l.nextLong();while(0>g||g>Ia)}else if(0>g||g>Ia)throw new W("Message ID "+g+" is outside the valid range.");a.getEntityAuthenticationData(null,{result:function(l){b(f,function(){var b=a.getMessageCapabilities();return new Rd(a,g,b,l,c,d,null,null,null,null,null)})},error:function(a){f.error(a)}})})};
$f=function(a,c,g){b(g,function(){function k(a){b(g,function(){a instanceof A&&(a.setEntity(B),a.setEntity(w),a.setUser(n),a.setUser(p),a.setMessageId(Ub));throw a;})}var B=c.masterToken,w=c.entityAuthenticationData,n=c.userIdToken,p=c.userAuthenticationData,Ub=c.messageId,C=h(Ub);d(a,c,w,B,{result:function(d){b(g,function(){var h=d?d.keyResponseData.masterToken:h=B;a.getEntityAuthenticationData(null,{result:function(m){b(g,function(){f(a,c,h,{result:function(f){b(g,function(){n=f;var b=We(c.messageCapabilities,
a.getMessageCapabilities()),g=c.keyResponseData,l=c.serviceTokens;return a.isPeerToPeer()?new Rd(a,C,b,m,g?g.masterToken:c.peerMasterToken,c.peerUserIdToken,c.peerServiceTokens,B,n,l,d):new Rd(a,C,b,m,g?g.masterToken:B,n,l,null,null,null,d)})},error:k})})},error:k})})},error:k})})};Ze=function(a,c,d,g,f){b(f,function(){a.getEntityAuthenticationData(null,{result:function(l){b(f,function(){var b;if(c!=y&&null!=c)b=h(c);else{var k=a.getRandom();do b=k.nextInt();while(0>b||b>Ia)}Qf(a,l,b,d.responseCode,
d.internalCode,d.message,g,f)})},error:function(a){f.error(a)}})})};Rd=Y.Class.create({init:function(a,b,c,d,g,f,l,h,k,m,t){if(!a.isPeerToPeer()&&(h||k))throw new W("Cannot set peer master token or peer user ID token when not in peer-to-peer mode.");var w;w=t&&!a.isPeerToPeer()?t.keyResponseData.masterToken:g;var n={};a.getMslStore().getServiceTokens(w,f).forEach(function(a){n[a.name]=a},this);l&&l.forEach(function(a){n[a.name]=a},this);var p,A,ga={};a.isPeerToPeer()&&(p=h,A=k,l=t?t.keyResponseData.masterToken:
h,a.getMslStore().getServiceTokens(l,k).forEach(function(a){ga[a.name]=a},this),m&&m.forEach(function(a){ga[a.name]=a},this));Object.defineProperties(this,{_ctx:{value:a,writable:!1,enumerable:!1,configurable:!1},_entityAuthData:{value:d,writable:!1,enumerable:!1,configurable:!1},_masterToken:{value:g,writable:!0,enumerable:!1,configurable:!1},_messageId:{value:b,writable:!1,enumerable:!1,configurable:!1},_capabilities:{value:c,writable:!1,enumerable:!1,configurable:!1},_keyExchangeData:{value:t,
writable:!1,enumerable:!1,configurable:!1},_nonReplayable:{value:!1,writable:!0,enumerable:!1,configurable:!1},_renewable:{value:!1,writable:!0,enumerable:!1,configurable:!1},_keyRequestData:{value:{},writable:!1,enumerable:!1,configurable:!1},_userAuthData:{value:null,writable:!0,enumerable:!1,configurable:!1},_userIdToken:{value:f,writable:!0,enumerable:!1,configurable:!1},_serviceTokens:{value:n,writable:!1,enumerable:!1,configurable:!1},_peerMasterToken:{value:p,writable:!0,enumerable:!1,configurable:!1},
_peerUserIdToken:{value:A,writable:!0,enumerable:!1,configurable:!1},_peerServiceTokens:{value:ga,writable:!1,enumerable:!1,configurable:!1}})},getMessageId:function(){return this._messageId},getMasterToken:function(){return this._masterToken},getUserIdToken:function(){return this._userIdToken},getKeyExchangeData:function(){return this._keyExchangeData},willEncryptHeader:function(){return this._masterToken||U(this._entityAuthData.scheme)},willEncryptPayloads:function(){return this._masterToken||!this._ctx.isPeerToPeer()&&
this._keyExchangeData||U(this._entityAuthData.scheme)},willIntegrityProtectHeader:function(){return this._masterToken||Ua(this._entityAuthData.scheme)},willIntegrityProtectPayloads:function(){return this._masterToken||!this._ctx.isPeerToPeer()&&this._keyExchangeData||Ua(this._entityAuthData.scheme)},getHeader:function(c){b(c,function(){var b=this._keyExchangeData?this._keyExchangeData.keyResponseData:null,d=[],g;for(g in this._serviceTokens)d.push(this._serviceTokens[g]);var f=[],l;for(l in this._keyRequestData)f.push(this._keyRequestData[l]);
if(this._nonReplayable){if(!this._masterToken)throw new za(a.NONREPLAYABLE_MESSAGE_REQUIRES_MASTERTOKEN);l=this._ctx.getMslStore().getNonReplayableId(this._masterToken)}else l=null;b=new Uf(this._messageId,l,this._renewable,this._capabilities,f,b,this._userAuthData,this._userIdToken,d);d=[];for(g in this._peerServiceTokens)d.push(this._peerServiceTokens[g]);g=new Vf(this._peerMasterToken,this._peerUserIdToken,d);Tf(this._ctx,this._entityAuthData,this._masterToken,b,g,c)},this)},isNonReplayable:function(){return this._nonReplayable},
setNonReplayable:function(a){this._nonReplayable=a;return this},isRenewable:function(){return this._renewable},setRenewable:function(a){this._renewable=a;return this},setAuthTokens:function(a,b){if(b&&!b.isBoundTo(a))throw new W("User ID token must be bound to master token.");if(this._keyExchangeData&&!this._ctx.isPeerToPeer())throw new W("Attempt to set message builder master token when key exchange data exists as a trusted network server.");var c;try{c=this._ctx.getMslStore().getServiceTokens(a,
b)}catch(d){if(d instanceof A)throw new W("Invalid master token and user ID token combination despite checking above.",d);throw d;}var g=[],f;for(f in this._serviceTokens)g.push(this._serviceTokens[f]);g.forEach(function(c){(c.isUserIdTokenBound()&&!c.isBoundTo(b)||c.isMasterTokenBound()&&!c.isBoundTo(a))&&delete this._serviceTokens[c.name]},this);c.forEach(function(a){this._serviceTokens[a.name]=a},this);this._masterToken=a;this._userIdToken=b},setUserAuthenticationData:function(a){this._userAuthData=
a;return this},setCustomer:function(a,c){var d=this;b(c,function(){if(!this._ctx.isPeerToPeer()&&null!=this._userIdToken||this._ctx.isPeerToPeer()&&null!=this._peerUserIdToken)throw new W("User ID token or peer user ID token already exists for the remote user.");var g;g=this._keyExchangeData?this._keyExchangeData.keyResponseData.masterToken:this._ctx.isPeerToPeer()?this._peerMasterToken:this._masterToken;if(!g)throw new W("User ID token or peer user ID token cannot be created because no corresponding master token exists.");
this._ctx.getTokenFactory().createUserIdToken(this._ctx,a,g,{result:function(a){b(c,function(){this._ctx.isPeerToPeer()?this._peerUserIdToken=a:(this._userIdToken=a,this._userAuthData=null);return!0},d)},error:function(a){c.error(a)}})},d)},addKeyRequestData:function(a){this._keyRequestData[a.uniqueKey()]=a;return this},removeKeyRequestData:function(a){delete this._keyRequestData[a.uniqueKey()];return this},addServiceToken:function(b){var c;c=this._keyExchangeData&&!this._ctx.isPeerToPeer()?this._keyExchangeData.keyResponseData.masterToken:
this._masterToken;if(b.isMasterTokenBound()&&!b.isBoundTo(c))throw(new za(a.SERVICETOKEN_MASTERTOKEN_MISMATCH,"st "+JSON.stringify(b)+"; mt "+JSON.stringify(c))).setEntity(c);if(b.isUserIdTokenBound()&&!b.isBoundTo(this._userIdToken))throw(new za(a.SERVICETOKEN_USERIDTOKEN_MISMATCH,"st "+JSON.stringify(b)+"; uit "+JSON.stringify(this._userIdToken))).setEntity(c).setUser(this._userIdToken);this._serviceTokens[b.name]=b;return this},addServiceTokenIfAbsent:function(a){this._serviceTokens[a.name]||this.addServiceToken(a);
return this},excludeServiceToken:function(a){delete this._serviceTokens[a];return this},deleteServiceToken:function(a,c){var d=this;b(c,function(){var f=this._serviceTokens[a];if(!f)return this;var l=f.isMasterTokenBound()?this._masterToken:null,f=f.isUserIdTokenBound()?this._userIdToken:null;uc(this._ctx,a,g,l,f,!1,null,new bd,{result:function(a){b(c,function(){return this.addServiceToken(a)},d)},error:function(a){a instanceof A&&(a=new W("Failed to create and add empty service token to message.",
a));c.error(a)}})},d)},getServiceTokens:function(){var a=[],b;for(b in this._serviceTokens)a.push(this._serviceTokens[b]);return a},getPeerMasterToken:function(){return this._peerMasterToken},getPeerUserIdToken:function(){return this._peerUserIdToken},setPeerAuthTokens:function(b,c){if(!this._ctx.isPeerToPeer())throw new W("Cannot set peer master token or peer user ID token when not in peer-to-peer mode.");if(c&&!b)throw new W("Peer master token cannot be null when setting peer user ID token.");if(c&&
!c.isBoundTo(b))throw(new za(a.USERIDTOKEN_MASTERTOKEN_MISMATCH,"uit "+c+"; mt "+b)).setEntity(b).setUser(c);var d;try{d=this._ctx.getMslStore().getServiceTokens(b,c)}catch(g){if(g instanceof A)throw new W("Invalid peer master token and user ID token combination despite proper check.",g);throw g;}Object.keys(this._peerServiceTokens).forEach(function(a){var d=this._peerServiceTokens[a];d.isUserIdTokenBound()&&!d.isBoundTo(c)?delete this._peerServiceTokens[a]:d.isMasterTokenBound()&&!d.isBoundTo(b)&&
delete this._peerServiceTokens[a]},this);d.forEach(function(a){var b=a.name;this._peerServiceTokens[b]||(this._peerServiceTokens[b]=a)},this);this._peerUserIdToken=c;this._peerMasterToken=b;return this},addPeerServiceToken:function(b){if(!this._ctx.isPeerToPeer())throw new W("Cannot set peer service tokens when not in peer-to-peer mode.");if(b.isMasterTokenBound()&&!b.isBoundTo(this._peerMasterToken))throw(new za(a.SERVICETOKEN_MASTERTOKEN_MISMATCH,"st "+JSON.stringify(b)+"; mt "+JSON.stringify(this._peerMasterToken))).setEntity(this._peerMasterToken);
if(b.isUserIdTokenBound()&&!b.isBoundTo(this._peerUserIdToken))throw(new za(a.SERVICETOKEN_USERIDTOKEN_MISMATCH,"st "+JSON.stringify(b)+"; uit "+JSON.stringify(this._peerUserIdToken))).setEntity(this._peerMasterToken).setUser(this._peerUserIdToken);this._peerServiceTokens[b.name]=b;return this},addPeerServiceTokenIfAbsent:function(a){this._peerServiceTokens[a.name]||this.addPeerServiceToken(a);return this},excludePeerServiceToken:function(a){delete this._peerServiceTokens[a];return this},deletePeerServiceToken:function(a,
c){var d=this;b(c,function(){var f=this._peerServiceTokens[a];if(!f)return this;var l=f.isMasterTokenBound()?this._peerMasterToken:null,f=f.isUserIdTokenBound()?this._peerUserIdToken:null;uc(this._ctx,a,g,l,f,!1,null,new bd,{result:function(a){b(c,function(){return this.addPeerServiceToken(a)},d)},error:function(a){a instanceof A&&(a=new W("Failed to create and add empty peer service token to message.",a));c.error(a)}})},d)},getPeerServiceTokens:function(){var a=[],b;for(b in this._peerServiceTokens)a.push(this._peerServiceTokens[b]);
return a}})})();var Sd;(function(){function a(b,c){return c[b]?c[b]:c[""]}function c(a){var b=a.builder.getKeyExchangeData();return b&&!a.ctx.isPeerToPeer()?b.keyResponseData.masterToken:a.builder.getMasterToken()}Sd=Y.Class.create({init:function(a,b,c){a={ctx:{value:a,writable:!1,enumerable:!1,configurable:!1},cryptoContexts:{value:b.getCryptoContexts(),writable:!1,enumerable:!1,configurable:!1},builder:{value:c,writable:!1,enumerable:!1,configurable:!1}};Object.defineProperties(this,a)},isPrimaryMasterTokenAvailable:function(){return c(this)?
!0:!1},isPrimaryUserIdTokenAvailable:function(){return this.builder.getUserIdToken()?!0:!1},isPeerMasterTokenAvailable:function(){return this.builder.getPeerMasterToken()?!0:!1},isPeerUserIdTokenAvailable:function(){return this.builder.getPeerUserIdToken()?!0:!1},getPrimaryServiceTokens:function(){return this.builder.getServiceTokens()},getPeerServiceTokens:function(){return this.builder.getPeerServiceTokens()},addPrimaryServiceToken:function(a){try{return this.builder.addServiceToken(a),!0}catch(b){if(b instanceof
za)return!1;throw b;}},addPeerServiceToken:function(a){try{return this.builder.addPeerServiceToken(a),!0}catch(b){if(b instanceof za)return!1;throw b;}},addUnboundPrimaryServiceToken:function(c,d,f,h,k){var m=this;b(k,function(){var n=a(c,this.cryptoContexts);if(!n)return!1;uc(this.ctx,c,d,null,null,f,h,n,{result:function(a){b(k,function(){try{this.builder.addServiceToken(a)}catch(b){if(b instanceof za)throw new W("Service token bound to incorrect authentication tokens despite being unbound.",b);
throw b;}return!0},m)},error:function(a){k.error(a)}})},m)},addUnboundPeerServiceToken:function(c,d,f,h,k){var m=this;b(k,function(){var n=a(c,this.cryptoContexts);if(!n)return!1;uc(this.ctx,c,d,null,null,f,h,n,{result:function(a){b(k,function(){try{this.builder.addPeerServiceToken(a)}catch(b){if(b instanceof za)throw new W("Service token bound to incorrect authentication tokens despite being unbound.",b);throw b;}return!0},m)},error:function(a){k.error(a)}})},m)},addMasterBoundPrimaryServiceToken:function(d,
g,f,h,k){var n=this;b(k,function(){var M=c(this);if(!M)return!1;var B=a(d,this.cryptoContexts);if(!B)return!1;uc(this.ctx,d,g,M,null,f,h,B,{result:function(a){b(k,function(){try{this.builder.addServiceToken(a)}catch(b){if(b instanceof za)throw new W("Service token bound to incorrect authentication tokens despite setting correct master token.",b);throw b;}return!0},n)},error:function(a){k.error(a)}})},n)},addMasterBoundPeerServiceToken:function(c,d,f,h,k){var m=this;b(k,function(){var n=this.builder.getPeerMasterToken();
if(!n)return!1;var B=a(c,this.cryptoContexts);if(!B)return!1;uc(this.ctx,c,d,n,null,f,h,B,{result:function(a){b(k,function(){try{this.builder.addPeerServiceToken(a)}catch(b){if(b instanceof za)throw new W("Service token bound to incorrect authentication tokens despite setting correct master token.",b);throw b;}return!0},m)},error:function(a){k.error(a)}})},m)},addUserBoundPrimaryServiceToken:function(d,g,f,h,k){var n=this;b(k,function(){var M=c(this);if(!M)return!1;var B=this.builder.getUserIdToken();
if(!B)return!1;var G=a(d,this.cryptoContexts);if(!G)return!1;uc(this.ctx,d,g,M,B,f,h,G,{result:function(a){b(k,function(){try{this.builder.addServiceToken(a)}catch(b){if(b instanceof za)throw new W("Service token bound to incorrect authentication tokens despite setting correct master token and user ID token.",b);throw b;}return!0},n)},error:function(a){k.error(a)}})},n)},addUserBoundPeerServiceToken:function(c,d,f,h,k){var m=this;b(k,function(){var n=this.builder.getPeerMasterToken();if(!n)return!1;
var B=this.builder.getPeerUserIdToken();if(!B)return!1;var G=a(c,this.cryptoContexts);if(!G)return!1;uc(this.ctx,c,d,n,B,f,h,G,{result:function(a){b(k,function(){try{this.builder.addPeerServiceToken(a)}catch(b){if(b instanceof za)throw new W("Service token bound to incorrect authentication tokens despite setting correct master token and user ID token.",b);throw b;}return!0},m)},error:function(a){k.error(a)}})},m)},excludePrimaryServiceToken:function(a){for(var b=this.builder.getServiceTokens(),c=
0;c<b.length;++c)if(b[c].name==a)return this.builder.excludeServiceToken(a),!0;return!1},excludePeerServiceToken:function(a){for(var b=this.builder.getPeerServiceTokens(),c=0;c<b.length;++c)if(b[c].name==a)return this.builder.excludePeerServiceToken(a),!0;return!1},deletePrimaryServiceToken:function(a,c){b(c,function(){for(var b=this.builder.getServiceTokens(),d=0;d<b.length;++d)if(b[d].name==a){this.builder.deleteServiceToken(a,{result:function(){c.result(!0)},error:function(a){c.error(a)}});return}return!1},
this)},deletePeerServiceToken:function(a,c){b(c,function(){for(var b=this.builder.getPeerServiceTokens(),d=0;d<b.length;++d)if(b[d].name==a){this.builder.deletePeerServiceToken(a,{result:function(){c.result(!0)},error:function(a){c.error(a)}});return}return!1},this)}})})();var ag,we;(function(){function c(d,f,g,h){b(h,function(){function c(){b(h,function(){if(p>=g.length){if(G)throw G;throw new Ta(a.KEYX_RESPONSE_REQUEST_MISMATCH,JSON.stringify(g));}var f=g[p];n!=f.keyExchangeScheme?(++p,c()):B.getCryptoContext(d,
f,w,k,{result:h.result,error:function(a){b(h,function(){if(!(a instanceof A))throw a;G=a;++p;c()})}})})}var k=f.masterToken,w=f.keyResponseData;if(!w)return null;var n=w.keyExchangeScheme,B=d.getKeyExchangeFactory(n);if(!B)throw new Ta(a.KEYX_FACTORY_NOT_FOUND,n);var G,p=0;c()})}ag=Ne.extend({init:function(b,d,g,f,h,n,ma){var M=this;k(ma,function(){function k(){M._ready=!0;M._readyQueue.add(!0)}function G(a,b){try{var c=b.masterToken;a.getTokenFactory().isMasterTokenRevoked(a,c,{result:function(d){d?
(M._errored=(new qc(d,c)).setUser(b.userIdToken).setUser(b.userAuthenticationData).setMessageId(b.messageId),k()):ma(a,b)},error:function(a){a instanceof A&&(a.setEntity(b.masterToken),a.setUser(b.userIdToken),a.setUser(b.userAuthenticationData),a.setMessageId(b.messageId));M._errored=a;k()}})}catch(d){d instanceof A&&(d.setEntity(b.masterToken),d.setUser(b.userIdToken),d.setUser(b.userAuthenticationData),d.setMessageId(b.messageId)),M._errored=d,k()}}function ma(a,b){try{var c=b.masterToken,d=b.userIdToken;
d?a.getTokenFactory().isUserIdTokenRevoked(a,c,d,{result:function(g){g?(M._errored=(new MslUserIdTokenException(g,d)).setEntity(c).setUser(d).setMessageId(b.messageId),k()):p(a,b)},error:function(a){a instanceof A&&(a.setEntity(b.masterToken),a.setUser(b.userIdToken),a.setUser(b.userAuthenticationData),a.setMessageId(b.messageId));M._errored=a;k()}}):p(a,b)}catch(g){g instanceof A&&(g.setEntity(b.masterToken),g.setUser(b.userIdToken),g.setUser(b.userAuthenticationData),g.setMessageId(b.messageId)),
M._errored=g,k()}}function p(b,c){try{var d=c.masterToken;d.isExpired()?c.isRenewable()&&0!=c.keyRequestData.length?b.getTokenFactory().isMasterTokenRenewable(b,d,{result:function(a){a?(M._errored=(new za(a,"Master token is expired and not renewable.")).setEntity(d).setUser(c.userIdToken).setUser(c.userAuthenticationData).setMessageId(c.messageId),k()):C(b,c)},error:function(a){a instanceof A&&(a.setEntity(c.masterToken),a.setUser(c.userIdToken),a.setUser(c.userAuthenticationData),a.setMessageId(c.messageId));
M._errored=a;k()}}):(M._errored=(new za(a.MESSAGE_EXPIRED,JSON.stringify(c))).setEntity(d).setUser(c.userIdToken).setUser(c.userAuthenticationData).setMessageId(c.messageId),k()):C(b,c)}catch(g){g instanceof A&&(g.setEntity(c.masterToken),g.setUser(c.userIdToken),g.setUser(c.userAuthenticationData),g.setMessageId(c.messageId)),M._errored=g,k()}}function C(b,c){try{var d=c.masterToken,g=c.nonReplayableId;"number"===typeof g?d?b.getTokenFactory().acceptNonReplayableId(b,d,g,{result:function(b){b||(M._errored=
(new za(a.MESSAGE_REPLAYED,JSON.stringify(c))).setEntity(d).setUser(c.userIdToken).setUser(c.userAuthenticationData).setMessageId(c.messageId));k()},error:function(a){a instanceof A&&(a.setEntity(d),a.setUser(c.userIdToken),a.setUser(c.userAuthenticationData),a.setMessageId(c.messageId));M._errored=a;k()}}):(M._errored=(new za(a.INCOMPLETE_NONREPLAYABLE_MESSAGE,JSON.stringify(c))).setEntity(c.entityAuthenticationData).setUser(c.userIdToken).setUser(c.userAuthenticationData).setMessageId(c.messageId),
k()):k()}catch(f){f instanceof A&&(f.setEntity(c.masterToken),f.setEntity(c.entityAuthenticationData),f.setUser(c.userIdToken),f.setUser(c.userAuthenticationData),f.setMessageId(c.messageId)),M._errored=f,k()}}var L={_source:{value:d,writable:!1,enumerable:!1,configurable:!1},_parser:{value:y,writable:!0,enumerable:!1,configurable:!1},_charset:{value:g,writable:!1,enumerable:!1,configurable:!1},_remainingData:{value:"",writable:!0,enumerable:!1,configurable:!1},_timeout:{value:n,writable:!1,enumerable:!1,
configurable:!1},_header:{value:y,writable:!0,enumerable:!1,configurable:!1},_cryptoContext:{value:y,writable:!0,enumerable:!1,configurable:!1},_keyxCryptoContext:{value:y,writable:!0,enumerable:!1,configurable:!1},_payloadSequenceNumber:{value:1,writable:!0,enuemrable:!1,configurable:!1},_eom:{value:!1,writable:!0,enumerable:!1,configurable:!1},_closeSource:{value:!1,writable:!0,enumerable:!1,configurable:!1},_payloads:{value:[],writable:!0,enumerable:!1,configurable:!1},_payloadIndex:{value:-1,
writable:!0,enumerable:!1,configurable:!1},_payloadOffset:{value:0,writable:!0,enuemrable:!1,configurable:!1},_markOffset:{value:0,writable:!0,enumerable:!1,configurable:!1},_currentPayload:{value:null,writable:!0,enumerable:!1,configurable:!1},_readException:{value:null,writable:!0,enumerable:!1,configurable:!1},_ready:{value:!1,writable:!0,enumerable:!1,configurable:!1},_readyQueue:{value:new Fa,writable:!1,enumerable:!1,configurable:!1},_aborted:{value:!1,writable:!0,enumerable:!1,configurable:!1},
_timedout:{value:!1,writable:!0,enumerable:!1,configurable:!1},_errored:{value:null,writable:!0,enumerable:!1,configurable:!1}};Object.defineProperties(this,L);If(M._source,n,{result:function(d){M._json=d;M._jsonIndex=0;null===M._json?(M._errored=new ba(a.MESSAGE_DATA_MISSING),k()):pe(b,M._json[M._jsonIndex++],h,{result:function(a){M._header=a;if(M._header instanceof Xc)M._keyxCryptoContext=null,M._cryptoContext=null,k();else{var d=M._header;c(b,d,f,{result:function(a){try{M._keyxCryptoContext=a;
b.isPeerToPeer()||!M._keyxCryptoContext?M._cryptoContext=d.cryptoContext:M._cryptoContext=M._keyxCryptoContext;try{var c=d.masterToken;c&&(b.isPeerToPeer()||c.isVerified())?G(b,d):C(b,d)}catch(g){g instanceof A&&(g.setEntity(d.masterToken),g.setUser(d.userIdToken),g.setUser(d.userAuthenticationData),g.setMessageId(d.messageId)),M._errored=g,k()}}catch(f){f instanceof A&&(f.setEntity(d.masterToken),f.setEntity(d.entityAuthenticationData),f.setUser(d.userIdToken),f.setUser(d.userAuthenticationData),
f.setMessageId(d.messageId)),M._errored=f,k()}},error:function(a){a instanceof A&&(a.setEntity(d.masterToken),a.setEntity(d.entityAuthenticationData),a.setUser(d.userIdToken),a.setUser(d.userAuthenticationData),a.setMessageId(d.messageId));M._errored=a;k()}})}},error:function(a){M._errored=a;k()}})},timeout:function(){M._timedout=!0;k()},error:function(a){M._errored=a;k()}});return this},M)},nextData:function(b,c){var d=this;k(c,function(){function b(a){k(a,function(){var c;if(this._jsonIndex<this._json.length)return c=
this._json[this._jsonIndex++];If(this._source,this._timeout,{result:function(c){c&&c.length&&0<c.length?(c.forEach(function(a){this._json.push(a)}),b(a)):(this._eom=!0,a.result(null))},timeout:function(){a.timeout()},error:function(b){a.error(b)}})},d)}var f=this.getMessageHeader();if(!f)throw new W("Read attempted with error message.");if(-1!=this._payloadIndex&&this._payloadIndex<this._payloads.length)return this._payloads[this._payloadIndex++];if(this._eom)return null;b({result:function(b){k(c,
function(){if(!b)return null;if("object"!==typeof b)throw new ba(a.MESSAGE_FORMAT_ERROR);Ye(b,this._cryptoContext,{result:function(b){k(c,function(){var c=f.masterToken,d=f.entityAuthenticationData,g=f.userIdToken,l=f.getUserAuthenticationData;if(b.messageId!=f.messageId)throw(new za(a.PAYLOAD_MESSAGE_ID_MISMATCH,"payload mid "+b.messageId+" header mid "+f.messageId)).setEntity(c).setEntity(d).setUser(g).setUser(l);if(b.sequenceNumber!=this._payloadSequenceNumber)throw(new za(a.PAYLOAD_SEQUENCE_NUMBER_MISMATCH,
"payload seqno "+b.sequenceNumber+" expected seqno "+this._payloadSequenceNumber)).setEntity(c).setEntity(d).setUser(g).setUser(l);++this._payloadSequenceNumber;b.isEndOfMessage()&&(this._eom=!0);c=b.data;this._payloads.push(c);this._payloadIndex=-1;return c},d)},error:function(b){b instanceof SyntaxError&&(b=new ba(a.JSON_PARSE_ERROR,"payloadchunk",b));c.error(b)}})},d)},timeout:function(){c.timeout()},error:function(a){c.error(a)}})},d)},isReady:function(a,b){function c(){k(b,function(){if(this._aborted)return!1;
if(this._timedout)b.timeout();else{if(this._errored)throw this._errored;return!0}},d)}var d=this;k(b,function(){this._ready?c():this._readyQueue.poll(a,{result:function(a){k(b,function(){if(a===y)return!1;c()},d)},timeout:function(){b.timeout()},error:function(a){b.error(a)}})},d)},getMessageHeader:function(){return this._header instanceof Qd?this._header:null},getErrorHeader:function(){return this._header instanceof Xc?this._header:null},getIdentity:function(){var a=this.getMessageHeader();if(a){var b=
a.masterToken;return b?b.identity:a.entityAuthenticationData.getIdentity()}return this.getErrorHeader().entityAuthenticationData.getIdentity()},getCustomer:function(){var a=this.getMessageHeader();return a?a.customer:null},getPayloadCryptoContext:function(){return this._cryptoContext},getKeyExchangeCryptoContext:function(){return this._keyxCryptoContext},closeSource:function(a){this._closeSource=a},abort:function(){this._aborted=!0;this._source.abort();this._readyQueue.cancelAll()},close:function(){this._closeSource&&
this._source.close()},mark:function(){if(this._currentPayload){for(;0<this._payloads.length&&this._payloads[0]!==this._currentPayload;)this._payloads.shift();this._payloadIndex=0;this._currentPayload=this._payloads[this._payloadIndex++];this._markOffset=this._payloadOffset}else this._payloadIndex=-1,this._payloads=[]},markSupported:function(){return!0},read:function(a,b,c){function d(){k(c,function(){function d(c){k(c,function(){if(t&&n>=t.length)return t.subarray(0,n);var g=-1;if(this._currentPayload){var h=
this._currentPayload.length-this._payloadOffset;if(!t){var p=h;if(-1!=this._payloadIndex)for(var ma=this._payloadIndex;ma<this._payloads.length;++ma)p+=this._payloads[ma].length;0<p&&(t=new Uint8Array(p))}h=Math.min(h,t?t.length-n:0);0<h&&(g=this._currentPayload.subarray(this._payloadOffset,this._payloadOffset+h),t.set(g,w),g=h,w+=h,this._payloadOffset+=h)}-1!=g?(n+=g,d(c)):this.nextData(b,{result:function(b){k(c,function(){if(this._aborted)return t?t.subarray(0,n):new Uint8Array(0);this._currentPayload=
b;this._payloadOffset=0;if(this._currentPayload)d(c);else return 0==n&&0!=a?null:t?t.subarray(0,n):new Uint8Array(0)},f)},timeout:function(){c.timeout(t?t.subarray(0,n):new Uint8Array(0))},error:function(a){k(c,function(){a instanceof A&&(a=new ob("Error reading the payload chunk.",a));if(0<n)return f._readException=a,t.subarray(0,n);throw a;},f)}})},f)}if(this._aborted)return new Uint8Array(0);if(this._timedout)c.timeout(new Uint8Array(0));else{if(this._errored)throw this._errored;if(null!=this._readException){var h=
this._readException;this._readException=null;throw h;}var t=-1!=a?new Uint8Array(a):y,w=0,n=0;d(c)}},f)}var f=this;k(c,function(){if(-1>a)throw new RangeError("read requested with illegal length "+a);this._ready?d():this._readyQueue.poll(b,{result:function(a){a===y?c.result(!1):d()},timeout:function(){c.timeout(new Uint8Array(0))},error:function(a){c.error(a)}})},f)},reset:function(){this._payloadIndex=0;0<this._payloads.length?(this._currentPayload=this._payloads[this._payloadIndex++],this._payloadOffset=
this._markOffset):this._currentPayload=null}});we=function(a,b,c,d,f,h,k){new ag(a,b,c,d,f,h,k)}})();var bg,Td;(function(){bg=ne.extend({init:function(a,b,c,d,f,h,n){var p=this;k(n,function(){function k(){p._ready=!0;p._readyQueue.add(!0)}var n=We(a.getMessageCapabilities(),d.messageCapabilities),J=null;n&&(J=Id(n.compressionAlgorithms));n={_destination:{value:b,writable:!1,enumerable:!1,configurable:!1},_charset:{value:c,writable:!1,enumerable:!1,configurable:!1},_capabilities:{value:n,writable:!1,
enumerable:!1,configurable:!1},_header:{value:d,writable:!1,enumerable:!1,configurable:!1},_compressionAlgo:{value:J,writable:!0,enumerable:!1,configurable:!1},_cryptoContext:{value:f,writable:!1,enumerable:!1,configurable:!1},_payloadSequenceNumber:{value:1,writable:!0,enumerable:!1,configurable:!1},_currentPayload:{value:[],writable:!0,enumerable:!1,configurable:!1},_closed:{value:!1,writable:!0,enumerable:!1,configurable:!1},_payloads:{value:[],writable:!1,enumerable:!1,configurable:!1},_ready:{value:!1,
writable:!0,enumerable:!1,configurable:!1},_readyQueue:{value:new Fa,writable:!1,enumerable:!1,configurable:!1},_aborted:{value:!1,writable:!0,enumerable:!1,configurable:!1},_timedout:{value:!1,writable:!0,enumerable:!1,configurable:!1},_errored:{value:null,writable:!0,enumerable:!1,configurable:!1}};Object.defineProperties(this,n);var A=P(JSON.stringify(d),c);b.write(A,0,A.length,h,{result:function(a){try{p._aborted?k():a<A.length?(p._timedout=!0,k()):b.flush(h,{result:function(a){p._aborted||(p._timedout=
!a);k()},timeout:function(){p._timedout=!0;k()},error:function(a){p._errored=a;k()}})}catch(c){p._errored=c,k()}},timeout:function(){p._timedout=!0;k()},error:function(a){p._errored=a;k()}});return this},p)},setCompressionAlgorithm:function(a,b,c){function d(){f.flush(b,{result:function(b){k(c,function(){if(!b)throw new ob("flush() aborted");this._compressionAlgo=a;return!0},f)},timeout:function(){c.timeout()},error:function(a){c.error(a)}})}var f=this;k(c,function(){if(!this.getMessageHeader())throw new W("Cannot write payload data for an error message.");
if(this._compressionAlgo==a)return!0;if(a){if(!this._capabilities)return!1;for(var b=this._capabilities.compressionAlgorithms,c=0;c<b.length;++c)if(b[c]==a){d();return}return!1}d()},f)},getMessageHeader:function(){return this._header instanceof Qd?this._header:null},getErrorMessage:function(){return this._header instanceof Xc?this._header:null},getPayloads:function(){return this._payloads},abort:function(){this._aborted=!0;this._destination.abort();this._readyQueue.cancelAll()},close:function(a,b){var c=
this;k(b,function(){if(this._aborted)return!1;if(this._timedout)b.timeout();else{if(this._errored)throw this._errored;if(this._closed)return!0;this._closed=!0;this.flush(a,{result:function(a){k(b,function(){a&&(this._currentPayload=null);return a},c)},timeout:function(){b.timeout()},error:function(a){b.error(a)}})}},c)},flush:function(a,b){function c(){k(b,function(){if(this._aborted)return!1;if(this._timedout)b.timeout();else{if(this._errored)throw this._errored;if(!this._currentPayload||!this._closed&&
0==this._currentPayload.length)return!0;var c=this.getMessageHeader();if(!c)return!0;var f=0;this._currentPayload&&this._currentPayload.forEach(function(a){f+=a.length});for(var h=new Uint8Array(f),l=0,n=0;this._currentPayload&&n<this._currentPayload.length;++n){var B=this._currentPayload[n];h.set(B,l);l+=B.length}Zf(this._payloadSequenceNumber,c.messageId,this._closed,this._compressionAlgo,h,this._cryptoContext,{result:function(c){k(b,function(){this._payloads.push(c);var f=P(JSON.stringify(c),this._charset);
this._destination.write(f,0,f.length,a,{result:function(f){k(b,function(){if(this._aborted)return!1;f<c.length?b.timeout():this._destination.flush(a,{result:function(a){k(b,function(){if(this._aborted)return!1;if(a)return++this._payloadSequenceNumber,this._currentPayload=this._closed?null:[],!0;b.timeout()},d)},timeout:function(){b.timeout()},error:function(a){a instanceof A&&(a=new ob("Error encoding payload chunk [sequence number "+d._payloadSequenceNumber+"].",a));b.error(a)}})},d)},timeout:function(a){b.timeout()},
error:function(a){a instanceof A&&(a=new ob("Error encoding payload chunk [sequence number "+d._payloadSequenceNumber+"].",a));b.error(a)}})},d)},error:function(a){a instanceof A&&(a=new ob("Error encoding payload chunk [sequence number "+d._payloadSequenceNumber+"].",a));b.error(a)}})}},d)}var d=this;k(b,function(){this._ready?c():this._readyQueue.poll(a,{result:function(a){a===y?b.result(!1):c()},timeout:function(){b.timeout()},error:function(a){b.error(a)}})},d)},write:function(a,b,c,d,f){k(f,
function(){if(this._aborted)return!1;if(this._timedout)f.timeout();else{if(this._errored)throw this._errored;if(this._closed)throw new ob("Message output stream already closed.");if(0>b)throw new RangeError("Offset cannot be negative.");if(0>c)throw new RangeError("Length cannot be negative.");if(b+c>a.length)throw new RangeError("Offset plus length cannot be greater than the array length.");if(!this.getMessageHeader())throw new W("Cannot write payload data for an error message.");var d=a.subarray(b,
b+c);this._currentPayload.push(d);return d.length}},this)}});Td=function(a,b,c,d,f,h,k){new bg(a,b,c,d,f,h,k)}})();var cg=Y.Class.create({sentHeader:function(a){},receivedHeader:function(a){}});Object.freeze({USERDATA_REAUTH:d.USERDATA_REAUTH,SSOTOKEN_REJECTED:d.SSOTOKEN_REJECTED});var dg=Y.Class.create({getCryptoContexts:function(){},getRecipient:function(){},isEncrypted:function(){},isIntegrityProtected:function(){},isNonReplayable:function(){},isRequestingTokens:function(){},getUserId:function(){},
getUserAuthData:function(a,b,c,d){},getCustomer:function(){},getKeyRequestData:function(a){},updateServiceTokens:function(a,b,c){},write:function(a,b,c){},getDebugContext:function(){}});Y.Class.create({getInputStream:function(a){},getOutputStream:function(a){}});var $e;(function(){function c(a){return function(){a.abort()}}function f(a,b){Object.defineProperties(this,{masterToken:{value:a,writable:!1,configurable:!1},ticket:{value:b,writable:!1,configurable:!1}})}function h(a,b){Object.defineProperties(this,
{builder:{value:a,writable:!1,configurable:!1},msgCtx:{value:b,writable:!1,configurable:!1}})}function g(a,b,c){Object.defineProperties(this,{requestHeader:{value:a,writable:!1,configurable:!1},payloads:{value:b,writable:!1,configurable:!1},handshake:{value:c,writable:!1,configurable:!1}})}function t(a,b){Object.defineProperties(this,{requestHeader:{value:b.requestHeader,writable:!1,configurable:!1},payloads:{value:b.payloads,writable:!1,configurable:!1},handshake:{value:b.handshake,writable:!1,configurable:!1},
response:{value:a,writable:!1,configurable:!1}})}function q(a){for(;a;){if(a instanceof ub)return!0;a=a instanceof A?a.cause:y}return!1}function n(a,b,c,d,g,f,h,l,m){Ze(b,d,g,f,{result:function(d){c&&c.sentHeader(d);Td(b,h,sa,d,null,null,l,{result:function(b){a.setAbort(function(){b.abort()});b.close(l,{result:function(a){k(m,function(){if(!a)throw new ub("sendError aborted.");return a})},timeout:function(){m.timeout()},error:function(a){m.error(a)}})},timeout:function(){},error:function(a){m.error(a)}})},
error:function(a){m.error(a)}})}var p=ne.extend({close:function(a,b){b.result(!0)},write:function(a,c,d,g,f){b(f,function(){return Math.min(a.length-c,d)})},flush:function(a,b){b.result(!0)}}),M=Rf.extend({getUserMessage:function(a,b){return null}}),B=dg.extend({init:function(a){Object.defineProperties(this,{_appCtx:{value:a,writable:!1,enumerable:!1,configurable:!1}})},getCryptoContexts:function(){return this._appCtx.getCryptoContexts()},isEncrypted:function(){return this._appCtx.isEncrypted()},
isIntegrityProtected:function(){return this._appCtx.isIntegrityProtected()},isNonReplayable:function(){return this._appCtx.isNonReplayable()},isRequestingTokens:function(){return this._appCtx.isRequestingTokens()},getUserId:function(){return this._appCtx.getUserId()},getUserAuthData:function(a,b,c,d){this._appCtx.getUserAuthData(a,b,c,d)},getCustomer:function(){return this._appCtx.getCustomer()},getKeyRequestData:function(a){this._appCtx.getKeyRequestData(a)},updateServiceTokens:function(a,b,c){this._appCtx.updateServiceTokens(a,
b,c)},write:function(a,b,c){this._appCtx.write(a,b,c)},getDebugContext:function(){return this._appCtx.getDebugContext()}}),G=B.extend({init:function ga(a,b){ga.base.call(this,b);Object.defineProperties(this,{_payloads:{value:a,writable:!1,enumerable:!1,configurable:!1}})},write:function(a,b,c){function d(f,h){if(f==g._payloads.length)c.result(!0);else{var l=g._payloads[f];a.setCompressionAlgorithm(l.compressionAlgo,b,{result:function(m){a.write(l.data,0,l.data.length,b,{result:function(m){k(c,function(){l.isEndOfMessage()?
d(f+1,h):a.flush(b,{result:function(a){c.result(a)},timeout:function(){c.timeout()},error:function(a){c.error(a)}})},g)},timeout:function(a){c.timeout(a)},error:function(a){c.error(a)}})},timeout:function(){},error:function(a){c.error(a)}})}}var g=this;d(0)}}),C=B.extend({init:function Sa(a){Sa.base.call(this,a)},isEncrypted:function(){return!1},isNonReplayable:function(){return!1},write:function(a,b,c){c.result(!0)}}),L={},I,P,ha,fa,O=Y.Class.create({init:function(a){a||(a=new M);Object.defineProperties(this,
{_filterFactory:{value:null,writable:!0,enumerable:!1,configurable:!1},_renewingContexts:{value:[],writable:!1,enumerable:!1,configurable:!1},_masterTokenLocks:{value:{},writable:!1,enumerable:!1,configurable:!1},_messageRegistry:{value:a,writable:!1,enumerable:!1,configurable:!1}})},setFilterFactory:function(a){this._filterFactory=a},getNewestMasterToken:function(a,b,c,d){var g=this;k(d,function(){var h=b.getMslStore(),l=h.getMasterToken();if(!l)return null;var t=l.uniqueKey(),q=this._masterTokenLocks[t];
q||(q=new Fc,this._masterTokenLocks[t]=q);var n=q.readLock(c,{result:function(n){k(d,function(){if(n===y)throw new ub("getNewestMasterToken aborted.");var w=h.getMasterToken();if(l.equals(w))return new f(l,n);q.unlock(n);q.writeLock(c,{result:function(f){k(d,function(){if(f===y)throw new ub("getNewestMasterToken aborted.");delete this._masterTokenLocks[t];q.unlock(f);return this.getNewestMasterToken(a,b,c,d)},g)},timeout:function(){d.timeout()},error:function(a){d.error(a)}})},g)},timeout:function(){d.timeout()},
error:function(a){d.error(a)}});a.setAbort(function(){n&&(q.cancel(n),n=y)})},g)},deleteMasterToken:function(a,b){if(b){var c=this;setTimeout(function(){var d=b.uniqueKey(),g=c._masterTokenLocks[d];g||(g=new Fc,c._masterTokenLocks[d]=g);g.writeLock(-1,{result:function(f){a.getMslStore().removeCryptoContext(b);delete c._masterTokenLocks[d];g.unlock(f)},timeout:function(){throw new W("Unexpected timeout received.");},error:function(a){throw a;}})},0)}},releaseMasterToken:function(a){if(a&&a.masterToken){var b=
a.masterToken.uniqueKey(),b=this._masterTokenLocks[b];if(!b)throw new W("Master token read/write lock does not exist when it should.");b.unlock(a.ticket)}},updateOutgoingCryptoContexts:function(a,b,c){var d=a.getMslStore();!a.isPeerToPeer()&&c&&(d.setCryptoContext(c.keyResponseData.masterToken,c.cryptoContext),this.deleteMasterToken(a,b.masterToken))},updateIncomingCryptoContexts:function(a,b,c){var d=c.getMessageHeader();if(d){var g=a.getMslStore();if(d=d.keyResponseData)g.setCryptoContext(d.masterToken,
c.getKeyExchangeCryptoContext()),this.deleteMasterToken(a,b.masterToken)}},storeServiceTokens:function(a,b,c,d){a=a.getMslStore();for(var g=[],f=0;f<d.length;++f){var h=d[f];if(!h.isBoundTo(b)||!b.isVerified()){var l=h.data;l&&0==l.length?a.removeServiceTokens(h.name,h.isMasterTokenBound()?b:null,h.isUserIdTokenBound()?c:null):g.push(h)}}0<g.length&&a.addServiceTokens(g)},buildRequest:function(a,c,d,g,f){var h=this;this.getNewestMasterToken(a,c,g,{result:function(a){b(f,function(){var g=a&&a.masterToken,
l;if(g){l=d.getUserId();var k=c.getMslStore();l=(l=l?k.getUserIdToken(l):null)&&l.isBoundTo(g)?l:null}else l=null;gd(c,g,l,null,{result:function(c){b(f,function(){c.setNonReplayable(d.isNonReplayable());return{builder:c,tokenTicket:a}})},error:function(c){b(f,function(){this.releaseMasterToken(a);c instanceof A&&(c=new W("User ID token not bound to master token despite internal check.",c));throw c;},h)}})},h)},timeout:function(){f.timeout()},error:function(a){f.error(a)}})},buildResponse:function(a,
b,c,d,g,f){var h=this;$f(b,d,{result:function(l){k(f,function(){l.setNonReplayable(c.isNonReplayable());if(!b.isPeerToPeer()&&!d.keyResponseData)return{builder:l,tokenTicket:null};this.getNewestMasterToken(a,b,g,{result:function(a){k(f,function(){var d=a&&a.masterToken,g;if(d){g=c.getUserId();var f=b.getMslStore();g=(g=g?f.getUserIdToken(g):null)&&g.isBoundTo(d)?g:null}else g=null;l.setAuthTokens(d,g);return{builder:l,tokenTicket:a}},h)},timeout:function(){f.timeout()},error:function(a){f.error(a)}})},
h)},error:function(a){f.error(a)}})},buildErrorResponse:function(a,b,c,g,f,m,t){function q(a,d){k(t,function(){var g=fd(f.messageId),m=new G(d,c);gd(b,null,null,g,{result:function(c){k(t,function(){b.isPeerToPeer()&&c.setPeerAuthTokens(a.peerMasterToken,a.peerUserIdToken);c.setNonReplayable(m.isNonReplayable());return{errorResult:new h(c,m),tokenTicket:null}},w)},error:function(a){t.error(a)}})},w)}function n(d,g){w.getNewestMasterToken(a,b,m,{result:function(a){k(t,function(){var m=a&&a.masterToken,
q=fd(f.messageId),n=new G(g,c);gd(b,m,null,q,{result:function(c){k(t,function(){b.isPeerToPeer()&&c.setPeerAuthTokens(d.peerMasterToken,d.peerUserIdToken);c.setNonReplayable(n.isNonReplayable());return{errorResult:new h(c,n),tokenTicket:a}},w)},error:function(a){t.error(a)}})},w)},timeout:function(){t.timeout()},error:function(a){t.error(a)}})}var w=this;k(t,function(){var B=g.requestHeader,p=g.payloads,J=f.errorCode;switch(J){case d.ENTITYDATA_REAUTH:case d.ENTITY_REAUTH:b.getEntityAuthenticationData(J,
{result:function(a){k(t,function(){if(!a)return null;q(B,p)},w)},error:function(a){t.error(a)}});break;case d.USERDATA_REAUTH:case d.SSOTOKEN_REJECTED:c.getUserAuthData(J,!1,!0,{result:function(a){k(t,function(){if(!a)return null;n(B,p)},w)},error:function(a){t.error(a)}});break;case d.USER_REAUTH:n(B,p);break;case d.KEYX_REQUIRED:var J=fd(f.messageId),M=new G(p,c);gd(b,null,null,J,{result:function(a){k(t,function(){b.isPeerToPeer()&&a.setPeerAuthTokens(B.peerMasterToken,B.peerUserIdToken);a.setRenewable(!0);
a.setNonReplayable(M.isNonReplayable());return{errorResult:new h(a,M),tokenTicket:null}},w)},error:function(a){t.error(a)}});break;case d.EXPIRED:this.getNewestMasterToken(a,b,m,{result:function(a){k(t,function(){var d=a&&a.masterToken,g=B.userIdToken,m=fd(f.messageId),q=new G(p,c);gd(b,d,g,m,{result:function(c){k(t,function(){b.isPeerToPeer()&&c.setPeerAuthTokens(B.peerMasterToken,B.peerUserIdToken);B.masterToken.equals(d)&&c.setRenewable(!0);c.setNonReplayable(q.isNonReplayable());return{errorResult:new h(c,
q),tokenTicket:a}},w)},error:function(a){t.error(a)}},w)},w)},timeout:function(){t.timeout()},error:function(a){t.error(a)}});break;case d.REPLAYED:this.getNewestMasterToken(a,b,m,{result:function(a){k(t,function(){var d=a&&a.masterToken,g=B.userIdToken,m=fd(f.messageId),q=new G(p,c);gd(b,d,g,m,{result:function(c){k(t,function(){b.isPeerToPeer()&&c.setPeerAuthTokens(B.peerMasterToken,B.peerUserIdToken);B.masterToken.equals(d)?(c.setRenewable(!0),c.setNonReplayable(!1)):c.setNonReplayable(q.isNonReplayable());
return{errorResult:new h(c,q),tokenTicket:a}},w)},error:function(a){t.error(a)}})},w)},timeout:function(){t.timeout()},error:function(a){t.error(a)}});break;default:return null}},w)},cleanupContext:function(a,b,c){switch(c.errorCode){case d.ENTITY_REAUTH:this.deleteMasterToken(a,b.masterToken);break;case d.USER_REAUTH:c=b.userIdToken,b.masterToken&&c&&a.getMslStore().removeUserIdToken(c)}},send:function(a,b,c,d,f,h,l){function m(a,d,g){k(l,function(){var h=f.getPeerUserIdToken();!b.isPeerToPeer()&&
!d||b.isPeerToPeer()&&!h?(h=c.getCustomer())?f.setCustomer(h,{result:function(b){k(l,function(){d=f.getUserIdToken();t(a,d,g)},B)},error:function(a){l.error(a)}}):t(a,d,g):t(a,d,g)},B)}function t(a,b,d){k(l,function(){var g=!d&&(!c.isEncrypted()||f.willEncryptPayloads())&&(!c.isIntegrityProtected()||f.willIntegrityProtectPayloads())&&(!c.isNonReplayable()||f.isNonReplayable()&&a);g||f.setNonReplayable(!1);var h=[];f.isRenewable()&&(!a||a.isRenewable()||c.isNonReplayable())?c.getKeyRequestData({result:function(c){k(l,
function(){for(var d=0;d<c.length;++d){var l=c[d];h.push(l);f.addKeyRequestData(l)}q(a,b,g,h)},B)},error:function(a){l.error(a)}}):q(a,b,g,h)},B)}function q(g,m,t,w){k(l,function(){var q=new Sd(b,c,f);c.updateServiceTokens(q,!t,{result:function(q){f.getHeader({result:function(q){k(l,function(){var k=c.getDebugContext();k&&k.sentHeader(q);k=f.getKeyExchangeData();this.updateOutgoingCryptoContexts(b,q,k);this.storeServiceTokens(b,g,m,q.serviceTokens);k=!b.isPeerToPeer()&&k?k.cryptoContext:q.cryptoContext;
if(a.isAborted())throw new ub("send aborted.");var w=null!=this._filterFactory?this._filterFactory.getOutputStream(d):d;Td(b,w,sa,q,k,h,{result:function(b){a.setAbort(function(){b.abort()});n(b,q,t)},timeout:function(){l.timeout()},error:function(a){l.error(a)}})},B)},timeout:function(){l.timeout()},error:function(a){l.error(a)}})},error:function(a){l.error(a)}})},B)}function n(d,g,f){if(f)c.write(d,h,{result:function(b){k(l,function(){if(a.isAborted())throw new ub("MessageOutputStream write aborted.");
w(d,g,f)},B)},timeout:function(){l.timeout()},error:function(a){l.error(a)}});else{var m=new p,t=new bd;Td(b,m,sa,g,t,h,{result:function(b){c.write(b,h,{result:function(c){k(l,function(){if(a.isAborted())throw new ub("MessageOutputStream proxy write aborted.");b.close(h,{result:function(a){k(l,function(){if(!a)throw new ub("MessageOutputStream proxy close aborted.");var c=b.getPayloads();w(d,g,f,c)},B)},timeout:function(){l.timeout()},error:function(a){l.error(a)}})},B)},timeout:function(){l.timeout()},
error:function(a){l.error(a)}})},timeout:function(){l.timeout()},error:function(a){l.error(a)}})}}function w(a,b,c,d){a.close(h,{result:function(f){k(l,function(){if(!f)throw new ub("MessageOutputStream close aborted.");d||(d=a.getPayloads());return new g(b,d,!c)},B)},timeout:function(){l.timeout()},error:function(a){l.error(a)}})}var B=this;k(l,function(){var a=f.getMasterToken(),b=f.getUserIdToken(),d=!1;if(c.getUserId()){var g=!b;c.getUserAuthData(null,f.isRenewable(),g,{result:function(c){k(l,
function(){c&&(f.willEncryptHeader()&&f.willIntegrityProtectHeader()?f.setUserAuthenticationData(c):d=!0);m(a,b,d)},B)},error:function(a){l.error(a)}})}else m(a,b,d)},B)},receive:function(b,c,g,f,h,l,m){var t=this;k(m,function(){if(b.isAborted())throw new ub("receive aborted.");var q=[];h&&(q=h.keyRequestData.filter(function(){return!0}));var n=g.getCryptoContexts(),w=this._filterFactory?this._filterFactory.getInputStream(f):f;we(c,w,sa,q,n,l,{result:function(f){b.setAbort(function(){f.abort()});
f.isReady(l,{result:function(b){k(m,function(){if(!b)throw new ub("MessageInputStream aborted.");var l=f.getMessageHeader(),q=f.getErrorHeader(),n=g.getDebugContext();n&&n.receivedHeader(l?l:q);if(h&&(n=q?q.errorCode:null,l||n!=d.FAIL&&n!=d.TRANSIENT_FAILURE&&n!=d.ENTITY_REAUTH&&n!=d.ENTITYDATA_REAUTH)){var n=l?l.messageId:q.messageId,w=fd(h.messageId);if(n!=w)throw new za(a.UNEXPECTED_RESPONSE_MESSAGE_ID,"expected "+w+"; received "+n);}c.getEntityAuthenticationData(null,{result:function(b){k(m,function(){var d=
b.getIdentity(),k;if(l){k=l.entityAuthenticationData;var m=l.masterToken;k=m?l.sender:k.getIdentity();if(m&&m.isDecrypted()&&m.identity!=k||d==k)throw new za(a.UNEXPECTED_MESSAGE_SENDER,k);h&&this.updateIncomingCryptoContexts(c,h,f);d=l.keyResponseData;c.isPeerToPeer()?(d=d?d.masterToken:l.peerMasterToken,m=l.peerUserIdToken,k=l.peerServiceTokens):(d=d?d.masterToken:l.masterToken,m=l.userIdToken,k=l.serviceTokens);var t=g.getUserId();t&&m&&!m.isVerified()&&c.getMslStore().addUserIdToken(t,m);this.storeServiceTokens(c,
d,m,k)}else if(k=q.entityAuthenticationData.getIdentity(),d==k)throw new za(a.UNEXPECTED_MESSAGE_SENDER,k);return f},t)},error:m.error})},t)},timeout:function(){m.timeout()},error:function(a){m.error(a)}})},timeout:function(){m.timeout()},error:function(a){m.error(a)}})},t)},sendReceive:function(a,b,c,d,g,f,l,h,m){function q(w,B){k(m,function(){f.setRenewable(B);this.send(a,b,c,g,f,l,{result:function(g){k(m,function(){var f=g.requestHeader.keyRequestData;h||g.handshake||!f.isEmpty()?this.receive(a,
b,c,d,g.requestHeader,l,{result:function(a){k(m,function(){B&&this.releaseRenewalLock(b,w,a);return new t(a,g)},n)},timeout:function(){k(m,function(){B&&this.releaseRenewalLock(b,w,null);m.timeout()},n)},error:function(a){k(m,function(){B&&this.releaseRenewalLock(b,w,null);throw a;},n)}}):k(m,function(){B&&this.releaseRenewalLock(b,w,null);return new t(null,g)},n)},n)},timeout:function(){k(m,function(){B&&this.releaseRenewalLock(b,w,null);m.timeout()},n)},error:function(a){k(m,function(){B&&this.releaseRenewalLock(b,
w,null);throw a;},n)}})},n)}var n=this;k(m,function(){var d=new Fa;this.acquireRenewalLock(a,b,c,d,f,l,{result:function(a){q(d,a)},timeout:function(){m.timeout()},error:function(a){a instanceof ub?m.result(null):m.error(a)}})},n)},acquireRenewalLock:function(a,b,c,d,g,f,l){function h(q,n,w){k(l,function(){if(a.isAborted())throw new ub("acquireRenewalLock aborted.");for(var B=null,p=0;p<this._renewingContexts.length;++p){var J=this._renewingContexts[p];if(J.ctx===b){B=J.queue;break}}if(!B)return this._renewingContexts.push({ctx:b,
queue:d}),!0;var G=B.poll(f,{result:function(a){k(l,function(){if(a===y)throw new ub("acquireRenewalLock aborted.");B.add(a);if(a===L||a.isExpired())h(a,n,w);else{if(w&&!n||n&&!n.isBoundTo(a)){var d=b.getMslStore().getUserIdToken(w);n=d&&d.isBoundTo(a)?d:null}g.setAuthTokens(a,n);g.isRenewable()&&a.equals(q)?h(a,n,w):c.isRequestingTokens()&&!n?h(a,n,w):m(a,n)}},t)},timeout:function(){},error:function(a){}});a.setAbort(function(){G&&(B.cancel(G),G=y)})},t)}function m(g,f){k(l,function(){if(a.isAborted())throw new ub("acquireRenewalLock aborted.");
if(!g||g.isRenewable()||!f&&c.getUserId()||f&&f.isRenewable()){for(var l=null,h=0;h<this._renewingContexts.length;++h){var k=this._renewingContexts[h];if(k.ctx===b){l=k.queue;break}}if(!l)return this._renewingContexts.push({ctx:b,queue:d}),!0}return!1},t)}var t=this;k(l,function(){var a=g.getMasterToken(),b=g.getUserIdToken(),d=c.getUserId();c.isEncrypted()&&!g.willEncryptPayloads()||c.isIntegrityProtected()&&!g.willIntegrityProtectPayloads()||g.isRenewable()||!a&&c.isNonReplayable()||a&&a.isExpired()||
!(b||!d||g.willEncryptHeader()&&g.willIntegrityProtectHeader())||c.isRequestingTokens()&&(!a||d&&!b)?h(a,b,d):m(a,b)},t)},releaseRenewalLock:function(a,b,c){for(var d,g,f=0;f<this._renewingContexts.length;++f){var l=this._renewingContexts[f];if(l.ctx===a){d=f;g=l.queue;break}}if(g!==b)throw new W("Attempt to release renewal lock that is not owned by this queue.");c?(c=c.messageHeader)?(g=c.keyResponseData)?b.add(g.masterToken):(a=a.isPeerToPeer()?c.peerMasterToken:c.masterToken)?b.add(a):b.add(L):
b.add(L):b.add(L);this._renewingContexts.splice(d,1)}});$e=Y.Class.create({init:function(){var a={_impl:{value:new O,writable:!1,enumerable:!1,configurable:!1},_shutdown:{value:!1,writable:!1,enumerable:!1,configurable:!1}};Object.defineProperties(this,a)},setFilterFactory:function(a){this._impl.setFilterFactory(a)},shutdown:function(){this._shutdown=!0},receive:function(a,b,d,g,f,l){if(this._shutdown)throw new A("MslControl is shutdown.");var h=new I(this._impl,a,b,d,g,f);setTimeout(function(){h.call(l)},
0);return c(h)},respond:function(a,b,d,g,f,l,h){if(this._shutdown)throw new A("MslControl is shutdown.");var k=new P(this._impl,a,b,d,g,f,l);setTimeout(function(){k.call(h)},0);return c(k)},error:function(a,b,d,g,f,l,h){if(this._shutdown)throw new A("MslControl is shutdown.");var k=new ha(this._impl,a,b,d,g,f,l);setTimeout(function(){k.call(h)},0);return c(k)},request:function(a,b){if(this._shutdown)throw new A("MslControl is shutdown.");var d,g,f,l,h;if(5==arguments.length){if(d=arguments[2],f=g=
null,l=arguments[3],h=arguments[4],a.isPeerToPeer()){h.error(new W("This method cannot be used in peer-to-peer mode."));return}}else if(6==arguments.length&&(d=null,g=arguments[2],f=arguments[3],l=arguments[4],h=arguments[5],!a.isPeerToPeer())){h.error(new W("This method cannot be used in trusted network mode."));return}var k=new fa(this._impl,a,b,d,g,f,null,0,l);setTimeout(function(){k.call(h)},0);return c(k)}});I=Y.Class.create({init:function(a,b,c,d,g,f){Object.defineProperties(this,{_ctrl:{value:a,
writable:!1,enumerable:!1,configurable:!1},_ctx:{value:b,writable:!1,enumerable:!1,configurable:!1},_msgCtx:{value:c,writable:!1,enumerable:!1,configurable:!1},_input:{value:d,writable:!1,enumerable:!1,configurable:!1},_output:{value:g,writable:!1,enumerable:!1,configurable:!1},_timeout:{value:f,writable:!1,enumerable:!1,configurable:!1},_aborted:{value:!1,writable:!0,enumerable:!1,configurable:!1},_abortFunc:{value:y,writable:!0,enumerable:!1,configurable:!1}})},isAborted:function(){return this._aborted},
abort:function(){this._aborted=!0;this._abortFunc&&this._abortFunc.call(this)},setAbort:function(a){this._abortFunc=a},call:function(b){function c(g){k(b,function(){var c=g.messageHeader;if(!c)return g;this.setAbort(function(){g.abort()});g.mark(Number.MAX_VALUE);g.read(1,f._timeout,{result:function(a){k(b,function(){if(a&&0==a.length)return null;if(a)return g.reset(),g;d(g)},f)},timeout:function(){b.timeout()},error:function(d){k(b,function(){if(q(d))return null;var g=c?c.messageId:null,l,h;d instanceof
ob?(l=a.MSL_COMMS_FAILURE,h=d):(l=a.INTERNAL_EXCEPTION,h=new W("Error peeking into the message payloads."));n(this,this._ctx,this._msgCtx.getDebugContext(),g,l,null,this._output,this._timeout,{result:function(a){b.error(h)},timeout:function(){b.timeout()},error:function(a){k(b,function(){if(q(a))return null;throw new Db("Error peeking into the message payloads.",a,d);},f)}})},f)}})},f)}function d(c){k(b,function(){c.close();this._ctrl.buildResponse(this,this._ctx,this._msgCtx,c.messageHeader,this._timeout,
{result:function(a){k(b,function(){var d=a.builder,f=a.tokenTicket,l=c.messageHeader,h=new C(this._msgCtx);if(!this._ctx.isPeerToPeer()||l.isEncrypting()||l.keyResponseData)g(l,d,h,f);else{var k=new fa(this._ctrl,this._ctx,h,null,this._input,this._output,a,1,this._timeout);this.setAbort(function(){k.abort()});k.call(b)}},f)},timeout:function(){b.timeout()},error:function(d){k(b,function(){if(q(d))return null;var g,l,h,m;d instanceof A?(g=d.messageId,l=d.error,h=c.messageHeader.messageCapabilities,
h=this._ctrl.messageRegistry.getUserMessage(l,h?h.languages:null),m=d):(g=requestHeader?requestHeader.messageId:null,l=a.INTERNAL_EXCEPTION,h=null,m=new W("Error creating an automatic handshake response.",d));n(this,this._ctx,this._msgCtx.getDebugContext(),g,l,h,this._output,this._timeout,{result:function(a){b.error(m)},timeout:function(){b.timeout()},error:function(a){k(b,function(){if(q(a))return null;throw new Db("Error creating an automatic handshake response.",a,d);},f)}})},f)}})},f)}function g(c,
d,l,h){k(b,function(){d.setRenewable(!1);this._ctrl.send(this._ctx,l,this._output,d,this._timeout,{result:function(a){k(b,function(){this._ctx.isPeerToPeer()&&this._ctrl.releaseMasterToken(h);return null},f)},timeout:function(){k(b,function(){this._ctx.isPeerToPeer()&&this._ctrl.releaseMasterToken(h);b.timeout()},f)},error:function(d){k(b,function(){this._ctx.isPeerToPeer()&&this._ctrl.releaseMasterToken(h);if(q(d))return null;var g,l,m,t;d instanceof A?(g=d.messageId,l=d.error,m=c?c.messageCapabilities:
null,m=this._ctrl.messageRegistry.getUserMessage(l,m?m.languages:null),t=d):d instanceof ob?(g=c?c.messageId:null,l=a.MSL_COMMS_FAILURE,m=null,t=d):(g=c?c.messageId:null,l=a.INTERNAL_EXCEPTION,m=null,t=new W("Error sending an automatic handshake response.",d));n(this,this._ctx,this._msgCtx.getDebugContext(),g,l,m,this._output,this._timeout,{result:function(a){b.error(t)},timeout:function(){b.timeout()},error:function(a){k(b,function(){if(q(a))return null;throw new Db("Error sending an automatic handshake response.",
a,d);},f)}})},f)}})},f)}var f=this;k(b,function(){this._ctrl.receive(this,this._ctx,this._msgCtx,this._input,null,this._timeout,{result:function(a){c(a)},timeout:function(){b.timeout()},error:function(c){k(b,function(){if(q(c))return null;var d,g,l,h;c instanceof A?(d=c.messageId,g=c.error,l=this._ctrl.messageRegistry.getUserMessage(g,null),h=c):(d=null,g=a.INTERNAL_EXCEPTION,l=null,h=new W("Error receiving the message header.",c));n(this,this._ctx,this._msgCtx.getDebugContext(),d,g,l,this._output,
this._timeout,{result:function(a){b.error(h)},timeout:function(){b.timeout()},error:function(a){k(b,function(){if(q(a))return null;throw new Db("Error receiving the message header.",a,c);},f)}})},f)}})},f)}});P=Y.Class.create({init:function(a,b,c,d,g,f,l){Object.defineProperties(this,{_ctrl:{value:a,writable:!1,enumerable:!1,configurable:!1},_ctx:{value:b,writable:!1,enumerable:!1,configurable:!1},_msgCtx:{value:c,writable:!1,enumerable:!1,configurable:!1},_input:{value:d,writable:!1,enumerable:!1,
configurable:!1},_output:{value:g,writable:!1,enumerable:!1,configurable:!1},_request:{value:f,writable:!1,enumerable:!1,configurable:!1},_timeout:{value:l,writable:!1,enumerable:!1,configurable:!1},_aborted:{value:!1,writable:!0,enumerable:!1,configurable:!1},_abortFunc:{value:y,writable:!0,enumerable:!1,configurable:!1}})},isAborted:function(){return this._aborted},abort:function(){this._aborted=!0;this._abortFunc&&this._abortFunc.call(this)},setAbort:function(a){this._abortFunc=a},trustedNetworkExecute:function(b,
c,d){var g=this;k(d,function(){if(12<c+1)return!1;var f;if(f=this._msgCtx.isIntegrityProtected()&&!b.willIntegrityProtectHeader()?a.RESPONSE_REQUIRES_INTEGRITY_PROTECTION:this._msgCtx.isEncrypted()&&!b.willEncryptPayloads()?a.RESPONSE_REQUIRES_ENCRYPTION:null){var l=yd(b.getMessageId());n(this,this._ctx,this._msgCtx.getDebugContext(),l,f,null,this._output,this._timeout,{result:function(a){d.result(!1)},timeout:function(){d.timeout()},error:function(a){k(d,function(){if(q(a))return!1;throw new Db("Response requires encryption or integrity protection but cannot be protected: "+
f,a,null);},g)}})}else!this._msgCtx.getCustomer()||b.getMasterToken()||b.getKeyExchangeData()?(b.setRenewable(!1),this._ctrl.send(this._ctx,this._msgCtx,this._output,b,this._timeout,{result:function(a){d.result(!0)},timeout:function(){d.timeout()},error:function(a){d.error(a)}})):(l=yd(b.getMessageId()),n(this,this._ctx,this._msgCtx.getDebugContext(),l,a.RESPONSE_REQUIRES_MASTERTOKEN,null,this._output,this._timeout,{result:function(a){d.result(!1)},timeout:function(){d.timeout()},error:function(a){k(d,
function(){if(q(a))return!1;throw new Db("Response wishes to attach a user ID token but there is no master token.",a,null);},g)}}))},g)},peerToPeerExecute:function(b,c,d,g){function f(a){k(g,function(){var c=a.response;c.close();c=c.getErrorHeader();this._ctrl.cleanupContext(this._ctx,a.requestHeader,c);this._ctrl.buildErrorResponse(this,this._ctx,b,a,c,{result:function(a){k(g,function(){if(!a)return!1;var b=a.errorResult,c=a.tokenTicket;this.peerToPeerExecute(b.msgCtx,b.builder,d,{result:function(a){k(g,
function(){this._ctrl.releaseMasterToken(c);return a},l)},timeout:function(){k(g,function(){this._ctrl.releaseMasterToken(c);g.timeout()},l)},error:function(a){k(g,function(){this._ctrl.releaseMasterToken(c);throw a;},l)}})},l)}})},l)}var l=this;k(g,function(){if(12<d+2)return!1;if(null!=b.getCustomer()&&null==c.getPeerMasterToken()&&null==c.getKeyExchangeData()){var h=yd(c.getMessageId());n(this,this._ctx,b.getDebugContext(),h,a.RESPONSE_REQUIRES_MASTERTOKEN,null,this._output,this._timeout,{result:function(a){g.result(!1)},
timeout:function(){g.timeout()},error:function(a){k(g,function(){if(q(a))return!1;throw new Db("Response wishes to attach a user ID token but there is no master token.",a,null);},l)}})}else this._ctrl.sendReceive(this._ctx,b,this._input,this._output,c,this._timeout,!1,{result:function(a){k(g,function(){function c(){m.read(32768,l._timeout,{result:function(a){k(g,function(){a?c():h()},l)},timeout:function(){g.timeout()},error:function(a){g.error(a)}})}function h(){k(g,function(){var c=new G(a.payloads,
b);this._ctrl.buildResponse(this,this._ctx,c,t,this._timeout,{result:function(a){k(g,function(){var b=a.tokenTicket;this.peerToPeerExecute(c,a.builder,d,{result:function(a){k(g,function(){this._ctrl.releaseMasterToken(b);return a},l)},timeout:function(){k(g,function(){this._ctrl.releaseMasterToken(b);g.timeout()},l)},error:function(a){k(g,function(){this._ctrl.releaseMasterToken(b);throw a;},l)}})},l)},timeout:function(){g.timeout()},error:function(a){g.error(a)}})},l)}var m=a.response;d+=2;if(!m)return!0;
var t=m.getMessageHeader();if(t){var q=a.payloads,q=0<q.length&&0<q[0].data.length;if(a.handshake&&q)c();else return!0}else f(a)},l)},timeout:function(){g.timeout()},error:function(a){g.error(a)}})},l)},call:function(b){var c=this;this._ctrl.buildResponse(this,this._ctx,this._msgCtx,this._request,this._timeout,{result:function(d){k(b,function(){var g=d.builder,f=d.tokenTicket;this._ctx.isPeerToPeer()?this.peerToPeerExecute(this._msgCtx,g,3,{result:function(a){k(b,function(){this._ctx.isPeerToPeer()&&
this.releaseMasterToken(f);return a},c)},timeout:function(){k(b,function(){this._ctx.isPeerToPeer()&&this.releaseMasterToken(f);b.timeout()},c)},error:function(d){k(b,function(){this._ctx.isPeerToPeer()&&this.releaseMasterToken(f);if(q(d))return!1;var l=yd(g.getMessageId()),h,m,t;d instanceof A?(h=d.error,m=this._request.messageCapabilities,m=this._ctrl.messageRegistry.getUserMessage(h,m?m.languages:null),t=d):d instanceof ob?(h=a.MSL_COMMS_FAILURE,m=null,t=d):(h=a.INTERNAL_EXCEPTION,m=null,t=new W("Error sending the response.",
d));n(this,this._ctx,this._msgCtx.getDebugContext(),l,h,m,this._output,this._timeout,{result:function(a){b.error(t)},timeout:function(){b.timeout()},error:function(a){k(b,function(){if(q(a))return!1;throw new Db("Error sending the response.",a,null);},c)}})},c)}}):this.trustedNetworkExecute(g,3,{result:function(a){k(b,function(){this._ctx.isPeerToPeer()&&this.releaseMasterToken(f);return a},c)},timeout:function(){k(b,function(){this._ctx.isPeerToPeer()&&this.releaseMasterToken(f);b.timeout()},c)},
error:function(d){k(b,function(){this._ctx.isPeerToPeer()&&this.releaseMasterToken(f);if(q(d))return!1;var l=yd(g.getMessageId()),h,m,t;d instanceof A?(h=d.error,m=this._request.messageCapabilities,m=this._ctrl.messageRegistry.getUserMessage(h,m?m.languages:null),t=d):d instanceof ob?(h=a.MSL_COMMS_FAILURE,m=null,t=d):(h=a.INTERNAL_EXCEPTION,m=null,t=new W("Error sending the response.",d));n(this,this._ctx,this._msgCtx.getDebugContext(),l,h,m,this._output,this._timeout,{result:function(a){b.error(t)},
timeout:function(){b.timeout()},error:function(a){k(b,function(){if(q(a))return!1;throw new Db("Error sending the response.",a,null);},c)}})},c)}})},c)},timeout:function(){b.timeout()},error:function(d){k(b,function(){if(q(d))return!1;var g,f,l,h;d instanceof A?(g=d.messageId,f=d.error,l=this._request.messageCapabilities,l=this._ctrl.messageRegistry.getUserMessage(f,l?l.languages:null),h=d):(g=null,f=a.INTERNAL_EXCEPTION,l=null,h=new W("Error building the response.",d));n(this,this._ctx,this._msgCtx.getDebugContext(),
g,f,l,this._output,this._timeout,{result:function(a){b.error(h)},timeout:function(){b.timeout()},error:function(a){k(b,function(){if(q(a))return null;throw new Db("Error building the response.",a,d);},c)}})},c)}})}});ha=Y.Class.create({init:function(a,b,c,d,g,f,l){Object.defineProperties(this,{_ctrl:{value:a,writable:!1,enumerable:!1,configurable:!1},_ctx:{value:b,writable:!1,enumerable:!1,configurable:!1},_msgCtx:{value:c,writable:!1,enumerable:!1,configurable:!1},_appError:{value:d,writable:!1,
enumerable:!1,configurable:!1},_output:{value:output,writable:!1,enumerable:!1,configurable:!1},_request:{value:f,writable:!1,enumerable:!1,configurable:!1},_timeout:{value:l,writable:!1,enumerable:!1,configurable:!1},_aborted:{value:!1,writable:!0,enumerable:!1,configurable:!1},_abortFunc:{value:y,writable:!0,enumerable:!1,configurable:!1}})},isAborted:function(){return this._aborted},abort:function(){this._aborted=!0;this._abortFunc&&this._abortFunc.call(this)},setAbort:function(a){this._abortFunc=
a},call:function(b){var c=this;k(b,function(){var d;if(this._appError==ENTITY_REJECTED)d=this._request.masterToken?a.MASTERTOKEN_REJECTED_BY_APP:a.ENTITY_REJECTED_BY_APP;else if(this._appError==USER_REJECTED)d=this._request.userIdToken?a.USERIDTOKEN_REJECTED_BY_APP:a.USER_REJECTED_BY_APP;else throw new W("Unhandled application error "+this._appError+".");var g=this._request.messageCapabilities,g=this._ctrl.messageRegistry.getUserMessage(d,g?g.languages:null);n(this,this._ctx,this._msgCtx.getDebugContext(),
this._request.messageId,d,g,this._output,this._timeout,{result:function(a){b.result(a)},timeout:b.timeout,error:function(a){k(b,function(){if(q(a))return!1;if(a instanceof A)throw a;throw new W("Error building the error response.",a);},c)}})},c)}});var na={result:function(){},timeout:function(){},error:function(){}};fa=Y.Class.create({init:function(a,b,c,d,g,f,l,h,k){var m;l?(m=l.builder,l=l.tokenTicket):l=m=null;Object.defineProperties(this,{_ctrl:{value:a,writable:!1,enumerable:!1,configurable:!1},
_ctx:{value:b,writable:!1,enumerable:!1,configurable:!1},_msgCtx:{value:c,writable:!1,enumerable:!1,configurable:!1},_remoteEntity:{value:d,writable:!1,enumerable:!1,configurable:!1},_input:{value:g,writable:!0,enumerable:!1,configurable:!1},_output:{value:f,writable:!0,enumerable:!1,configurable:!1},_openedStreams:{value:!1,writable:!0,enumerable:!1,configurable:!1},_builder:{value:m,writable:!0,enumerable:!1,configurable:!1},_tokenTicket:{value:l,writable:!0,enumerable:!1,configurable:!1},_timeout:{value:k,
writable:!1,enumerable:!1,configurable:!1},_msgCount:{value:h,writable:!1,enumerable:!1,configurable:!1},_aborted:{value:!1,writable:!0,enumerable:!1,configurable:!1},_abortFunc:{value:y,writable:!0,enumerable:!1,configurable:!1}})},isAborted:function(){return this._aborted},abort:function(){this._aborted=!0;this._abortFunc&&this._abortFunc.call(this)},setAbort:function(a){this._abortFunc=a},execute:function(a,b,c,d,g){function f(b){function l(a){k(g,function(){var c=b.response;return a?a:c},h)}k(g,
function(){var f=b.response;f.close();var m=f.getErrorHeader();this._ctrl.cleanupContext(this._ctx,b.requestHeader,m);this._ctrl.buildErrorResponse(this,this._ctx,a,b,m,c,{result:function(a){k(g,function(){if(!a)return f;var b=a.errorResult,m=a.tokenTicket,t=b.builder,b=b.msgCtx;if(this._ctx.isPeerToPeer())this.execute(b,t,this._timeout,d,{result:function(a){k(g,function(){this._ctrl.releaseMasterToken(m);l(a)},h)},timeout:function(){k(g,function(){this._ctrl.releaseMasterToken(m);g.timeout()},h)},
error:function(a){k(g,function(){this._ctrl.releaseMasterToken(m);g.error(a)},h)}});else{this._openedStreams&&(this._input.close(),this._output.close(c,na));var q=new fa(this._ctrl,this._ctx,b,this._remoteEntity,null,null,{builder:t,tokenTicket:m},d,this._timeout);this.setAbort(function(){q.abort()});q.call({result:function(a){l(a)},timeout:function(){g.timeout()},error:function(a){g.error(a)}})}},h)},timeout:function(){g.timeout()},error:function(a){g.error(a)}})},h)}function l(b){k(g,function(){function f(){m.read(32768,
h._timeout,{result:function(a){a?f():l()},timeout:function(){g.timeout()},error:function(a){g.error(a)}})}function l(){k(g,function(){var f=new G(b.payloads,a);this._ctrl.buildResponse(this,this._ctx,a,t,c,{result:function(a){k(g,function(){var b=a.tokenTicket;this.execute(f,a.builder,this._timeout,d,{result:function(a){k(g,function(){this._ctrl.releaseMasterToken(b);return a},h)},timeout:function(){k(g,function(){this._ctrl.releaseMasterToken(b);g.timeout()},h)},error:function(a){k(g,function(){this._ctrl.releaseMasterToken(b);
throw a;},h)}})},h)},timeout:function(){g.timeout()},error:function(a){g.error(a)}})},h)}var m=b.response,t=m.getMessageHeader(),q=b.payloads,q=0<q.length&&0<q[0].data.length;if(!this._ctx.isPeerToPeer()){if(!b.handshake||!q)return m;this._openedStreams&&(this._input.close(),this._output.close(c,na));var n=new G(b.payloads,a);this._ctrl.buildResponse(this,this._ctx,a,t,c,{result:function(a){k(g,function(){var b=new fa(this._ctrl,this._ctx,n,this._remoteEntity,null,null,a,d,this._timeout);this.setAbort(function(){b.abort()});
b.call(g)},h)},timeout:function(){g.timeout()},error:function(a){g.error(a)}})}else if(b.handshake&&q)f();else if(0<t.keyRequestData.length){var w=new C(a);this._ctrl.buildResponse(this,this._ctx,w,t,c,{result:function(a){k(g,function(){var b=a.builder,c=a.tokenTicket;m.mark();m.read(1,this._timeout,{result:function(a){k(g,function(){function f(){m.read(32768,h._timeout,{result:function(a){a?f():l()},timeout:function(){g.timeout()},error:function(a){g.error(a)}})}function l(){h.execute(w,b,h._timeout,
d,{result:function(a){k(g,function(){this._ctrl.releaseMasterToken(c);return a},h)},timeout:function(){k(g,function(){this._ctrl.releaseMasterToken(c);g.timeout()},h)},error:function(a){k(g,function(){this._ctrl.releaseMasterToken(c);throw a;},h)}})}if(a)if(m.reset(),12>=d+1)b.setRenewable(!1),this._ctrl.send(this,this._ctx,w,this._output,b,this._timeout,{result:function(a){k(g,function(){this.releaseMasterToken(c);return m},h)},timeout:function(){g.timeout()},error:function(a){g.error(a)}});else return this.releaseMasterToken(c),
m;else f()},h)},timeout:function(){k(g,function(){this.releaseMasterToken(c);g.timeout()},h)},error:function(a){k(g,function(){this.releaseMasterToken(c);throw a;},h)}})},h)},timeout:function(){g.timeout()},error:function(a){g.error(a)}})}},h)}var h=this;k(g,function(){if(12<d+2)return null;this._ctrl.sendReceive(this,this._ctx,a,this._input,this._output,b,c,!0,{result:function(a){k(g,function(){if(!a)return null;var b=a.response;d+=2;b.getMessageHeader()?l(a):f(a)},h)},timeout:function(){g.timeout()},
error:function(a){g.error(a)}})},h)},call:function(a){function b(d,g,f){k(a,function(){this.execute(this._msgCtx,d,f,this._msgCount,{result:function(b){k(a,function(){this._ctrl.releaseMasterToken(g);this._openedStreams&&this._output.close(f,na);b&&b.closeSource(this._openedStreams);return b},c)},timeout:function(){k(a,function(){this._ctrl.releaseMasterToken(g);this._openedStreams&&(this._output.close(f,na),this._input.close());a.timeout()},c)},error:function(b){k(a,function(){this._ctrl.releaseMasterToken(g);
this._openedStreams&&(this._output.close(f,na),this._input.close());if(q(b))return null;throw b;},c)}})},c)}var c=this;k(a,function(){var d=this._timeout;if(!this._input||!this._output)try{this._remoteEntity.setTimeout(this._timeout);var g=Date.now(),f=this._remoteEntity.openConnection();this._output=f.output;this._input=f.input;-1!=d&&(d=this._timeout-(Date.now()-g));this._openedStreams=!0}catch(l){this._builder&&this._ctrl.releaseMasterToken(this._tokenTicket);this._output&&this._output.close(this._timeout,
na);this._input&&this._input.close();if(q(l))return null;throw l;}this._builder?b(this._builder,this._tokenTicket,d):this._ctrl.buildRequest(this,this._ctx,this._msgCtx,this._timeout,{result:function(g){k(a,function(){b(g.builder,g.tokenTicket,d)},c)},timeout:function(){k(a,function(){this._openedStreams&&(this._output.close(this._timeout,na),this._input.close());a.timeout()},c)},error:function(b){k(a,function(){this._openedStreams&&(this._output.close(this._timeout,na),this._input.close());if(q(b))return null;
throw b;},c)}})},c)}})})();var hd,af;(function(){hd=Y.Class.create({init:function(a){Object.defineProperties(this,{id:{value:a,writable:!1,configurable:!1}})},toJSON:function(){var a={};a.id=this.id;return a},equals:function(a){return this===a?!0:a instanceof hd?this.id==a.id:!1},uniqueKey:function(){return this.id}});af=function(b){var c=b.id;if(!c)throw new ba(a.JSON_PARSE_ERROR,JSON.stringify(b));return new hd(c)}})();Y.Class.create({isNewestMasterToken:function(a,b,c){},isMasterTokenRevoked:function(a,
b){},acceptNonReplayableId:function(a,b,c,d){},createMasterToken:function(a,b,c,d,f){},isMasterTokenRenewable:function(a,b,c){},renewMasterToken:function(a,b,c,d,f){},isUserIdTokenRevoked:function(a,b,c,d){},createUserIdToken:function(a,b,c,d){},renewUserIdToken:function(a,b,c,d){}});var Yb,Rc;(function(){function c(a,b,d,f){this.sessiondata=a;this.tokendata=b;this.signature=d;this.verified=f}Yb=Y.Class.create({init:function(a,c,d,f,h,k,n,w,B,p,A){var C=this;b(A,function(){if(d.getTime()<c.getTime())throw new W("Cannot construct a master token that expires before its renewal window opens.");
if(0>f||f>Ia)throw new W("Sequence number "+f+" is outside the valid range.");if(0>h||h>Ia)throw new W("Serial number "+h+" is outside the valid range.");var I=Math.floor(c.getTime()/1E3),O=Math.floor(d.getTime()/1E3),ha;if(p)ha=p.sessiondata;else{var fa={};k&&(fa.issuerdata=k);fa.identity=n;fa.encryptionkey=L(w.toByteArray());fa.hmackey=L(B.toByteArray());ha=P(JSON.stringify(fa),sa)}if(p)return Object.defineProperties(this,{ctx:{value:a,writable:!1,enumerable:!1,configurable:!1},renewalWindowSeconds:{value:I,
writable:!1,enumerable:!1,configurable:!1},expirationSeconds:{value:O,writable:!1,enumerable:!1,configurable:!1},sequenceNumber:{value:f,writable:!1,configurable:!1},serialNumber:{value:h,writable:!1,configurable:!1},issuerData:{value:k,writable:!1,configurable:!1},identity:{value:n,writable:!1,configurable:!1},encryptionKey:{value:w,writable:!1,configurable:!1},hmacKey:{value:B,writable:!1,configurable:!1},sessiondata:{value:ha,writable:!1,enumerable:!1,configurable:!1},verified:{value:p.verified,
writable:!1,enumerable:!1,configurable:!1},tokendata:{value:p.tokendata,writable:!1,enumerable:!1,configurable:!1},signature:{value:p.signature,writable:!1,enumerable:!1,configurable:!1}}),this;var y=a.getMslCryptoContext();y.encrypt(ha,{result:function(c){b(A,function(){var d={};d.renewalwindow=I;d.expiration=O;d.sequencenumber=f;d.serialnumber=h;d.sessiondata=L(c);var g=P(JSON.stringify(d),sa);y.sign(g,{result:function(c){b(A,function(){Object.defineProperties(this,{ctx:{value:a,writable:!1,enumerable:!1,
configurable:!1},renewalWindowSeconds:{value:I,writable:!1,enumerable:!1,configurable:!1},expirationSeconds:{value:O,writable:!1,enumerable:!1,configurable:!1},sequenceNumber:{value:f,writable:!1,enumerable:!1,configurable:!1},serialNumber:{value:h,writable:!1,enumerable:!1,configurable:!1},issuerData:{value:k,writable:!1,configurable:!1},identity:{value:n,writable:!1,configurable:!1},encryptionKey:{value:w,writable:!1,configurable:!1},hmacKey:{value:B,writable:!1,configurable:!1},sessiondata:{value:ha,
writable:!1,enumerable:!1,configurable:!1},verified:{value:!0,writable:!1,enumerable:!1,configurable:!1},tokendata:{value:g,writable:!1,enumerable:!1,configurable:!1},signature:{value:c,writable:!1,enumerable:!1,configurable:!1}});return this},C)},error:function(a){A.error(a)}})},C)},error:function(a){A.error(a)}})},this)},get renewalWindow(){return new Date(1E3*this.renewalWindowSeconds)},get expiration(){return new Date(1E3*this.expirationSeconds)},isDecrypted:function(){return this.sessiondata?
!0:!1},isVerified:function(){return this.verified},isRenewable:function(a){return this.isVerified()?this.renewalWindow.getTime()<=this.ctx.getTime():!0},isExpired:function(a){return this.isVerified()?this.expiration.getTime()<=this.ctx.getTime():!1},isNewerThan:function(a){if(this.sequenceNumber==a.sequenceNumber)return this.expiration>a.expiration;if(this.sequenceNumber>a.sequenceNumber){var b=this.sequenceNumber-Ia+127;return a.sequenceNumber>=b}b=a.sequenceNumber-Ia+127;return this.sequenceNumber<
b},toJSON:function(){var a={};a.tokendata=L(this.tokendata);a.signature=L(this.signature);return a},equals:function(a){return this===a?!0:a instanceof Yb?this.serialNumber==a.serialNumber&&this.sequenceNumber==a.sequenceNumber&&this.expiration.getTime()==a.expiration.getTime():!1},uniqueKey:function(){return this.serialNumber+":"+this.sequenceNumber+this.expiration.getTime()}});Rc=function(d,f,g){b(g,function(){var k=d.getMslCryptoContext(),q=f.tokendata,n=f.signature;if("string"!==typeof q||"string"!==
typeof n)throw new ba(a.JSON_PARSE_ERROR,"mastertoken "+JSON.stringify(f));var p,M;try{p=I(q)}catch(B){throw new A(a.MASTERTOKEN_TOKENDATA_INVALID,"mastertoken "+JSON.stringify(f),B);}if(!p||0==p.length)throw new ba(a.MASTERTOKEN_TOKENDATA_MISSING,"mastertoken "+JSON.stringify(f));try{M=I(n)}catch(G){throw new A(a.MASTERTOKEN_SIGNATURE_INVALID,"mastertoken "+JSON.stringify(f),G);}k.verify(p,M,{result:function(f){b(g,function(){var l,q,n,B,J,G=h(p,sa);try{var C=JSON.parse(G);l=parseInt(C.renewalwindow);
q=parseInt(C.expiration);n=parseInt(C.sequencenumber);B=parseInt(C.serialnumber);J=C.sessiondata}catch(L){if(L instanceof SyntaxError)throw new ba(a.MASTERTOKEN_TOKENDATA_PARSE_ERROR,"mastertokendata "+G,L);throw L;}if(!l||l!=l||!q||q!=q||"number"!==typeof n||n!=n||"number"!==typeof B||B!=B||"string"!==typeof J)throw new ba(a.MASTERTOKEN_TOKENDATA_PARSE_ERROR,"mastertokendata "+G);if(q<l)throw new A(a.MASTERTOKEN_EXPIRES_BEFORE_RENEWAL,"mastertokendata "+G);if(0>n||n>Ia)throw new A(a.MASTERTOKEN_SEQUENCE_NUMBER_OUT_OF_RANGE,
"mastertokendata "+G);if(0>B||B>Ia)throw new A(a.MASTERTOKEN_SERIAL_NUMBER_OUT_OF_RANGE,"mastertokendata "+G);var P=new Date(1E3*l),O=new Date(1E3*q),y;try{y=I(J)}catch(U){throw new A(a.MASTERTOKEN_SESSIONDATA_INVALID,J,U);}if(!y||0==y.length)throw new A(a.MASTERTOKEN_SESSIONDATA_MISSING,J);f?k.decrypt(y,{result:function(l){b(g,function(){var k,t,q,J,G=h(l,sa);try{var A=JSON.parse(G);k=A.issuerdata;t=A.identity;q=A.encryptionkey;J=A.hmackey}catch(fa){if(fa instanceof SyntaxError)throw new ba(a.MASTERTOKEN_SESSIONDATA_PARSE_ERROR,
"sessiondata "+G,fa);throw fa;}if(k&&"object"!==typeof k||!t||"string"!==typeof q||"string"!==typeof J)throw new ba(a.MASTERTOKEN_SESSIONDATA_PARSE_ERROR,"sessiondata "+G);Eb(q,rc,qb,{result:function(h){Eb(J,Mb,ia,{result:function(a){b(g,function(){var b=new c(l,p,M,f);new Yb(d,P,O,n,B,k,t,h,a,b,g)})},error:function(b){g.error(new T(a.MASTERTOKEN_KEY_CREATION_ERROR,b))}})},error:function(b){g.error(new T(a.MASTERTOKEN_KEY_CREATION_ERROR,b))}})})},error:function(a){g.error(a)}}):(l=new c(null,p,M,
f),new Yb(d,P,O,n,B,null,null,null,null,l,g))})},error:function(a){g.error(a)}})})}})();var wd,ed;(function(){function c(a,b,d){this.tokendata=a;this.signature=b;this.verified=d}wd=Y.Class.create({init:function(a,c,d,f,h,k,n,w,B){var p=this;b(B,function(){if(d.getTime()<c.getTime())throw new W("Cannot construct a user ID token that expires before its renewal window opens.");if(!f)throw new W("Cannot construct a user ID token without a master token.");if(0>h||h>Ia)throw new W("Serial number "+h+" is outside the valid range.");
var C=Math.floor(c.getTime()/1E3),I=Math.floor(d.getTime()/1E3),O=f.serialNumber;if(w){var y=w.tokendata,ha=w.signature,fa=w.verified,O=f.serialNumber;Object.defineProperties(this,{ctx:{value:a,writable:!1,enumerable:!1,configurable:!1},renewalWindowSeconds:{value:C,writable:!1,enumerable:!1,configurable:!1},expirationSeconds:{value:I,writable:!1,enumerable:!1,configurable:!1},mtSerialNumber:{value:O,writable:!1,configurable:!1},serialNumber:{value:h,writable:!1,configurable:!1},issuerData:{value:k,
writable:!1,configurable:!1},customer:{value:n,writable:!1,configurable:!1},verified:{value:fa,writable:!1,enumerable:!1,configurable:!1},tokendata:{value:y,writable:!1,enumerable:!1,configurable:!1},signature:{value:ha,writable:!1,enumerable:!1,configurable:!1}});return this}y={};k&&(y.issuerdata=k);y.identity=n;var y=P(JSON.stringify(y),sa),U=a.getMslCryptoContext();U.encrypt(y,{result:function(c){b(B,function(){var d={};d.renewalwindow=C;d.expiration=I;d.mtserialnumber=O;d.serialnumber=h;d.userdata=
L(c);var g=P(JSON.stringify(d),sa);U.sign(g,{result:function(c){b(B,function(){Object.defineProperties(this,{ctx:{value:a,writable:!1,enumerable:!1,configurable:!1},renewalWindowSeconds:{value:C,writable:!1,enumerable:!1,configurable:!1},expirationSeconds:{value:I,writable:!1,enumerable:!1,configurable:!1},mtSerialNumber:{value:f.serialNumber,writable:!1,configurable:!1},serialNumber:{value:h,writable:!1,configurable:!1},issuerData:{value:k,writable:!1,configurable:!1},customer:{value:n,writable:!1,
configurable:!1},verified:{value:!0,writable:!1,enumerable:!1,configurable:!1},tokendata:{value:g,writable:!1,enumerable:!1,configurable:!1},signature:{value:c,writable:!1,enumerable:!1,configurable:!1}});return this},p)},error:function(a){b(B,function(){a instanceof A&&a.setEntity(f);throw a;},p)}})},p)},error:function(a){b(B,function(){a instanceof A&&a.setEntity(f);throw a;},p)}})},this)},get renewalWindow(){return new Date(1E3*this.renewalWindowSeconds)},get expiration(){return new Date(1E3*this.expirationSeconds)},
isVerified:function(){return this.verified},isDecrypted:function(){return this.customer?!0:!1},isRenewable:function(){return this.renewalWindow.getTime()<=this.ctx.getTime()},isExpired:function(){return this.expiration.getTime()<=this.ctx.getTime()},isBoundTo:function(a){return a&&a.serialNumber==this.mtSerialNumber},toJSON:function(){var a={};a.tokendata=L(this.tokendata);a.signature=L(this.signature);return a},equals:function(a){return this===a?!0:a instanceof wd?this.serialNumber==a.serialNumber&&
this.mtSerialNumber==a.mtSerialNumber:!1},uniqueKey:function(){return this.serialNumber+":"+this.mtSerialNumber}});ed=function(d,f,g,k){b(k,function(){var q=d.getMslCryptoContext(),n=f.tokendata,p=f.signature;if("string"!==typeof n||"string"!==typeof p)throw(new ba(a.JSON_PARSE_ERROR,"useridtoken "+JSON.stringify(f))).setEntity(g);var M,B;try{M=I(n)}catch(G){throw(new A(a.USERIDTOKEN_TOKENDATA_INVALID,"useridtoken "+JSON.stringify(f),G)).setEntity(g);}if(!M||0==M.length)throw(new ba(a.USERIDTOKEN_TOKENDATA_MISSING,
"useridtoken "+JSON.stringify(f))).setEntity(g);try{B=I(p)}catch(C){throw(new A(a.USERIDTOKEN_TOKENDATA_INVALID,"useridtoken "+JSON.stringify(f),C)).setEntity(g);}q.verify(M,B,{result:function(f){b(k,function(){var l,n,p,G,J,C=h(M,sa);try{var L=JSON.parse(C);l=parseInt(L.renewalwindow);n=parseInt(L.expiration);p=parseInt(L.mtserialnumber);G=parseInt(L.serialnumber);J=L.userdata}catch(O){if(O instanceof SyntaxError)throw(new ba(a.USERIDTOKEN_TOKENDATA_PARSE_ERROR,"usertokendata "+C,O)).setEntity(g);
throw O;}if(!l||l!=l||!n||n!=n||"number"!==typeof p||p!=p||"number"!==typeof G||G!=G||"string"!==typeof J)throw(new ba(a.USERIDTOKEN_TOKENDATA_PARSE_ERROR,"usertokendata "+C)).setEntity(g);if(n<l)throw(new A(a.USERIDTOKEN_EXPIRES_BEFORE_RENEWAL,"mastertokendata "+C)).setEntity(g);if(0>p||p>Ia)throw(new A(a.USERIDTOKEN_MASTERTOKEN_SERIAL_NUMBER_OUT_OF_RANGE,"usertokendata "+C)).setEntity(g);if(0>G||G>Ia)throw(new A(a.USERIDTOKEN_SERIAL_NUMBER_OUT_OF_RANGE,"usertokendata "+C)).setEntity(g);var P=new Date(1E3*
l),y=new Date(1E3*n);if(!g||p!=g.serialNumber)throw(new A(a.USERIDTOKEN_MASTERTOKEN_MISMATCH,"uit mtserialnumber "+p+"; mt "+JSON.stringify(g))).setEntity(g);var ma;try{ma=I(J)}catch(ya){throw(new A(a.USERIDTOKEN_USERDATA_INVALID,J,ya)).setEntity(g);}if(!ma||0==ma.length)throw(new A(a.USERIDTOKEN_USERDATA_MISSING,J)).setEntity(g);f?q.decrypt(ma,{result:function(l){b(k,function(){var b,q,n=h(l,sa);try{var p=JSON.parse(n);b=p.issuerdata;q=p.identity}catch(J){if(J instanceof SyntaxError)throw(new ba(a.USERIDTOKEN_USERDATA_PARSE_ERROR,
"userdata "+n)).setEntity(g);throw J;}if(b&&"object"!==typeof b||"object"!==typeof q)throw(new ba(a.USERIDTOKEN_USERDATA_PARSE_ERROR,"userdata "+n)).setEntity(g);var C;try{C=af(q)}catch(L){throw(new A(a.USERIDTOKEN_IDENTITY_INVALID,"userdata "+n,L)).setEntity(g);}q=new c(M,B,f);new wd(d,P,y,g,G,b,C,q,k)})},error:function(a){b(k,function(){a instanceof A&&a.setEntity(g);throw a;})}}):(l=new c(M,B,f),new wd(d,P,y,g,G,null,null,l,k))})},error:function(a){b(k,function(){a instanceof A&&a.setEntity(g);
throw a;})}})})}})();var Sc,uc,re;(function(){function c(b,d){var f=b.tokendata;if("string"!==typeof f)throw new ba(a.JSON_PARSE_ERROR,"servicetoken "+JSON.stringify(b));var k;try{k=I(f)}catch(m){throw new A(a.SERVICETOKEN_TOKENDATA_INVALID,"servicetoken "+JSON.stringify(b),m);}if(!k||0==k.length)throw new ba(a.SERVICETOKEN_TOKENDATA_MISSING,"servicetoken "+JSON.stringify(b));var n;try{n=JSON.parse(h(k,sa)).name}catch(w){if(w instanceof SyntaxError)throw new ba(a.JSON_PARSE_ERROR,"servicetoken "+
JSON.stringify(b),w);throw w;}if(!n)throw new ba(a.JSON_PARSE_ERROR,"servicetoken "+JSON.stringify(b));return d[n]?d[n]:d[""]}function d(a,b,c){this.tokendata=a;this.signature=b;this.verified=c}Sc=Y.Class.create({init:function(a,c,d,f,h,k,m,n,w,p){var C=this;b(p,function(){if(f&&h&&!h.isBoundTo(f))throw new W("Cannot construct a service token bound to a master token and user ID token where the user ID token is not bound to the same master token.");var I=f?f.serialNumber:-1,O=h?h.serialNumber:-1;if(w)return U=
w.tokendata,Object.defineProperties(this,{ctx:{value:a,writable:!1,enumerable:!1,configurable:!1},name:{value:c,writable:!1,configurable:!1},mtSerialNumber:{value:I,writable:!1,configurable:!1},uitSerialNumber:{value:O,writable:!1,configurable:!1},data:{value:d,writable:!1,configurable:!1},encrypted:{value:k,writable:!1,enumerable:!1,configurable:!1},compressionAlgo:{value:m,writable:!1,configurable:!1},verified:{value:w.verified,writable:!1,enumerable:!1,configurable:!1},tokendata:{value:U,writable:!1,
enumerable:!1,configurable:!1},signature:{value:w.signature,writable:!1,enumerable:!1,configurable:!1}}),this;var y;m?(y=ue(m,d),y.length<d.length||(m=null,y=d)):(m=null,y=d);var fa={};fa.name=c;-1!=I&&(fa.mtserialnumber=I);-1!=O&&(fa.uitserialnumber=O);fa.encrypted=k;m&&(fa.compressionalgo=m);if(k&&0<y.length)n.encrypt(y,{result:function(w){b(p,function(){fa.servicedata=L(w);var G=P(JSON.stringify(fa),sa);n.sign(G,{result:function(f){b(p,function(){Object.defineProperties(this,{ctx:{value:a,writable:!1,
enumerable:!1,configurable:!1},name:{value:c,writable:!1,configurable:!1},mtSerialNumber:{value:I,writable:!1,configurable:!1},uitSerialNumber:{value:O,writable:!1,configurable:!1},data:{value:d,writable:!1,configurable:!1},encrypted:{value:k,writable:!1,enumerable:!1,configurable:!1},compressionAlgo:{value:m,writable:!1,configurable:!1},verified:{value:!0,writable:!1,enumerable:!1,configurable:!1},tokendata:{value:G,writable:!1,enumerable:!1,configurable:!1},signature:{value:f,writable:!1,enumerable:!1,
configurable:!1}});return this},C)},error:function(a){b(p,function(){a instanceof A&&(a.setEntity(f),a.setUser(h));throw a;})}})},C)},error:function(a){b(p,function(){a instanceof A&&(a.setEntity(f),a.setUser(h));throw a;})}});else{fa.servicedata=L(y);var U=P(JSON.stringify(fa),sa);n.sign(U,{result:function(f){b(p,function(){Object.defineProperties(this,{ctx:{value:a,writable:!1,enumerable:!1,configurable:!1},name:{value:c,writable:!1,configurable:!1},mtSerialNumber:{value:I,writable:!1,configurable:!1},
uitSerialNumber:{value:O,writable:!1,configurable:!1},data:{value:d,writable:!1,configurable:!1},encrypted:{value:k,writable:!1,enumerable:!1,configurable:!1},compressionAlgo:{value:m,writable:!1,configurable:!1},verified:{value:!0,writable:!1,enumerable:!1,configurable:!1},tokendata:{value:U,writable:!1,enumerable:!1,configurable:!1},signature:{value:f,writable:!1,enumerable:!1,configurable:!1}});return this},C)},error:function(a){b(p,function(){a instanceof A&&(a.setEntity(f),a.setUser(h));throw a;
})}})}},this)},isEncrypted:function(){return this.encrypted},isVerified:function(){return this.verified},isDecrypted:function(){return this.data?!0:!1},isDeleted:function(){return this.data&&0==this.data.length},isMasterTokenBound:function(){return-1!=this.mtSerialNumber},isBoundTo:function(a){return a?a instanceof Yb?a.serialNumber==this.mtSerialNumber:a instanceof wd?a.serialNumber==this.uitSerialNumber:!1:!1},isUserIdTokenBound:function(){return-1!=this.uitSerialNumber},isUnbound:function(){return-1==
this.mtSerialNumber&&-1==this.uitSerialNumber},toJSON:function(){var a={};a.tokendata=L(this.tokendata);a.signature=L(this.signature);return a},equals:function(a){return this===a?!0:a instanceof Sc?this.name==a.name&&this.mtSerialNumber==a.mtSerialNumber&&this.uitSerialNumber==a.uitSerialNumber:!1},uniqueKey:function(){return this.name+":"+this.mtSerialNumber+":"+this.uitSerialNumber}});uc=function(a,b,c,d,f,h,k,m,n){new Sc(a,b,c,d,f,h,k,m,null,n)};re=function(f,g,k,n,p,C){b(C,function(){!p||p instanceof
xd||(p=c(g,p));var L=g.tokendata,B=g.signature;if("string"!==typeof L||"string"!==typeof B)throw(new ba(a.JSON_PARSE_ERROR,"servicetoken "+JSON.stringify(g))).setEntity(k).setEntity(n);var G,O;try{G=I(L)}catch(y){throw(new A(a.SERVICETOKEN_TOKENDATA_INVALID,"servicetoken "+JSON.stringify(g),y)).setEntity(k).setEntity(n);}if(!G||0==G.length)throw(new ba(a.SERVICETOKEN_TOKENDATA_MISSING,"servicetoken "+JSON.stringify(g))).setEntity(k).setEntity(n);try{O=I(B)}catch(P){throw(new A(a.SERVICETOKEN_SIGNATURE_INVALID,
"servicetoken "+JSON.stringify(g),P)).setEntity(k).setEntity(n);}var U,ha,fa,D,ca,Z,ga=h(G,sa);try{var T=JSON.parse(ga);U=T.name;ha=T.mtserialnumber?parseInt(T.mtserialnumber):-1;fa=T.uitserialnumber?parseInt(T.uitserialnumber):-1;D=T.encrypted;ca=T.compressionalgo;Z=T.servicedata}catch(W){if(W instanceof SyntaxError)throw(new ba(a.JSON_PARSE_ERROR,"servicetokendata "+ga,W)).setEntity(k).setEntity(n);throw W;}if(!U||"number"!==typeof ha||ha!=ha||"number"!==typeof fa||fa!=fa||"boolean"!==typeof D||
ca&&"string"!==typeof ca||"string"!==typeof Z)throw(new ba(a.JSON_PARSE_ERROR,"servicetokendata "+ga)).setEntity(k).setEntity(n);if(T.mtserialnumber&&0>ha||ha>Ia)throw(new A(a.SERVICETOKEN_MASTERTOKEN_SERIAL_NUMBER_OUT_OF_RANGE,"servicetokendata "+ga)).setEntity(k).setEntity(n);if(T.uitserialnumber&&0>fa||fa>Ia)throw(new A(a.SERVICETOKEN_USERIDTOKEN_SERIAL_NUMBER_OUT_OF_RANGE,"servicetokendata "+ga)).setEntity(k).setEntity(n);if(-1!=ha&&(!k||ha!=k.serialNumber))throw(new A(a.SERVICETOKEN_MASTERTOKEN_MISMATCH,
"st mtserialnumber "+ha+"; mt "+k)).setEntity(k).setEntity(n);if(-1!=fa&&(!n||fa!=n.serialNumber))throw(new A(a.SERVICETOKEN_USERIDTOKEN_MISMATCH,"st uitserialnumber "+fa+"; uit "+n)).setEntity(k).setEntity(n);D=!0===D;var Y;if(ca){if(!Zc[ca])throw new A(a.UNIDENTIFIED_COMPRESSION,ca);Y=ca}else Y=null;p?p.verify(G,O,{result:function(c){b(C,function(){if(c){var g;try{g=I(Z)}catch(h){throw(new A(a.SERVICETOKEN_SERVICEDATA_INVALID,"servicetokendata "+ga,h)).setEntity(k).setEntity(n);}if(!g||0!=Z.length&&
0==g.length)throw(new A(a.SERVICETOKEN_SERVICEDATA_INVALID,"servicetokendata "+ga)).setEntity(k).setEntity(n);if(D&&0<g.length)p.decrypt(g,{result:function(a){b(C,function(){var b=Y?ve(Y,a):a,g=new d(G,O,c);new Sc(f,U,b,-1!=ha?k:null,-1!=fa?n:null,D,Y,p,g,C)})},error:function(a){b(C,function(){a instanceof A&&(a.setEntity(k),a.setUser(n));throw a;})}});else{g=Y?ve(Y,g):g;var w=new d(G,O,c);new Sc(f,U,g,-1!=ha?k:null,-1!=fa?n:null,D,Y,p,w,C)}}else g=""==Z?new Uint8Array(0):null,w=new d(G,O,c),new Sc(f,
U,g,-1!=ha?k:null,-1!=fa?n:null,D,Y,p,w,C)})},error:function(a){b(C,function(){a instanceof A&&(a.setEntity(k),a.setUser(n));throw a;})}}):(L=""==Z?new Uint8Array(0):null,B=new d(G,O,!1),new Sc(f,U,L,-1!=ha?k:null,-1!=fa?n:null,D,Y,p,B,C))})}})();var vc={EMAIL_PASSWORD:"EMAIL_PASSWORD",NETFLIXID:"NETFLIXID",SSO:"SSO",SWITCH_PROFILE:"SWITCH_PROFILE",MDX:"MDX"};Object.freeze(vc);var ad,Wf;(function(){ad=Y.Class.create({init:function(a){Object.defineProperties(this,{scheme:{value:a,writable:!1,configurable:!1}})},
getAuthData:function(){},equals:function(a){return this===a?!0:a instanceof ad?this.scheme==a.scheme:!1},toJSON:function(){var a={};a.scheme=this.scheme;a.authdata=this.getAuthData();return a}});Wf=function(c,d,f,g){b(g,function(){var b=f.scheme,h=f.authdata;if(!b||!h)throw new ba(a.JSON_PARSE_ERROR,"userauthdata "+JSON.stringify(f));if(!vc[b])throw new Ra(a.UNIDENTIFIED_USERAUTH_SCHEME,b);var k=c.getUserAuthenticationFactory(b);if(!k)throw new Ra(a.USERAUTH_FACTORY_NOT_FOUND,b);k.createData(c,d,
h,g)})}})();var xe=Y.Class.create({init:function(a){Object.defineProperties(this,{scheme:{value:a,writable:!1,configurable:!1}})},createData:function(a,b,c,d){},authenticate:function(a,b,c,d){}}),id,bf;(function(){id=ad.extend({init:function m(a,b){m.base.call(this,vc.NETFLIXID);Object.defineProperties(this,{netflixId:{value:a,writable:!1,configurable:!1},secureNetflixId:{value:b,writable:!1,configurable:!1}})},getAuthData:function(){var a={};a.netflixid=this.netflixId;this.secureNetflixId&&(a.securenetflixid=
this.secureNetflixId);return a},equals:function l(a){return this===a?!0:a instanceof id?l.base.call(this,a)&&this.netflixId==a.netflixId&&this.secureNetflixId==a.secureNetflixId:!1}});bf=function(b){var c=b.netflixid,d=b.securenetflixid;if(!c)throw new ba(a.JSON_PARSE_ERROR,"NetflixId authdata "+JSON.stringify(b));return new id(c,d)}})();var Vg=xe.extend({init:function m(){m.base.call(this,vc.NETFLIXID)},createData:function(a,c,d,f){b(f,function(){return bf(d)})},authenticate:function(b,c,d,f){if(!(d instanceof
id))throw new W("Incorrect authentication data type "+d+".");b=d.secureNetflixId;if(!d.netflixId||!b)throw(new Ra(a.NETFLIXID_COOKIES_BLANK)).setUser(d);throw(new Ra(a.UNSUPPORTED_USERAUTH_DATA,this.scheme)).setUser(d);}}),Ud,eg;(function(){Ud=ad.extend({init:function l(a,b){l.base.call(this,vc.EMAIL_PASSWORD);Object.defineProperties(this,{email:{value:a,writable:!1,configurable:!1},password:{value:b,writable:!1,configurable:!1}})},getAuthData:function(){var a={};a.email=this.email;a.password=this.password;
return a},equals:function g(a){return this===a?!0:a instanceof Ud?g.base.call(this,this,a)&&this.email==a.email&&this.password==a.password:!1}});eg=function(b){var c=b.email,d=b.password;if(!c||!d)throw new ba(a.JSON_PARSE_ERROR,"email/password authdata "+JSON.stringify(b));return new Ud(c,d)}})();var Wg=xe.extend({init:function l(){l.base.call(this,vc.EMAIL_PASSWORD)},createData:function(a,c,d,f){b(f,function(){return eg(d)})},authenticate:function(b,c,d,f){if(!(d instanceof Ud))throw new W("Incorrect authentication data type "+
d+".");b=d.password;if(!d.email||!b)throw(new Ra(a.EMAILPASSWORD_BLANK)).setUser(d);throw(new Ra(a.UNSUPPORTED_USERAUTH_DATA,this.scheme)).setUser(d);}}),Tc,fg,ye,Vd,Ic,cf;(function(){function c(a,b){return"<"+a+">"+b+"</"+a+">"}function d(a){return a.replace(/[<>&"']/g,function(a){return B[a]})}function f(a){return encodeURIComponent(a).replace("%20","+").replace(/[!'()]/g,escape).replace(/\*/g,"%2A")}var k=ye={MSL:"MSL",NTBA:"NTBA",MSL_LEGACY:"MSL_LEGACY"},n=Y.Class.create({getAction:function(){},
getNonce:function(){},getPin:function(){},getSignature:function(){},getEncoding:function(){},equals:function(){}}),C=Vd=n.extend({init:function(c,d,f,g,h,l,k){function n(g){b(k,function(){var b;try{var l={};l.useridtoken=c;l.action=d;l.nonce=f;l.pin=L(g);b=P(JSON.stringify(l),sa)}catch(n){throw new ba(a.JSON_ENCODE_ERROR,"MSL-based MDX authdata",n);}h.sign(b,{result:function(a){q(b,a)},error:k.error})},t)}function q(a,h){b(k,function(){Object.defineProperties(this,{_userIdToken:{value:c,writable:!1,
enumerable:!1,configurable:!1},_action:{value:d,writable:!1,enumerable:!1,configurable:!1},_nonce:{value:f,writable:!1,enumerable:!1,configurable:!1},_pin:{value:g,writable:!1,enumerable:!1,configurable:!1},_encoding:{value:a,writable:!1,enumerable:!1,configurable:!1},_signature:{value:h,writable:!1,enumerable:!1,configurable:!1}});return this},t)}var t=this;b(k,function(){l?q(l.encoding,l.signature):h.encrypt(P(g,sa),{result:function(a){n(a)},error:k.error})},t)},getUserIdToken:function(){return this._userIdToken},
getAction:function(){return this._action},getNonce:function(){return this._nonce},getPin:function(){return this._pin},getSignature:function(){return this._signature},getEncoding:function(){return this._encoding},equals:function(a){return this===a?!0:a instanceof C?this._action==a._action&&this._nonce==a._nonce&&this._pin==a._pin&&this._userIdToken.equals(a._userIdToken):!1}});Vd.ACTION="userauth";var M=function(c,d,f,g,l){function k(g){b(l,function(){var k=h(f,sa),q,t,B,p;try{var C=JSON.parse(k);
q=C.useridtoken;t=C.action;B=C.nonce;p=C.pin}catch(G){if(G instanceof SyntaxError)throw new ba(a.JSON_PARSE_ERROR,"MDX authdata "+k,G);throw G;}if(!(q&&"object"===typeof q&&t&&"string"===typeof t&&B&&"number"===typeof B&&p)||"string"!==typeof p)throw new ba(a.JSON_PARSE_ERROR,"MDX authdata "+k);ed(c,q,d,{result:function(c){b(l,function(){if(!c.isDecrypted())throw new Ra(a.USERAUTH_USERIDTOKEN_NOT_DECRYPTED,"MDX authdata "+k);n(g,c,t,B,p)})},error:function(c){b(l,function(){if(c instanceof A)throw new Ra(a.USERAUTH_USERIDTOKEN_INVALID,
"MDX authdata "+k,c);throw c;})}})})}function n(a,c,d,k,q){b(l,function(){var n=I(q);a.decrypt(n,{result:function(a){b(l,function(){var b=h(a,sa);new C(c,d,k,b,null,{encoding:f,signature:g},l)})},error:l.error})})}b(l,function(){var h;try{var n=c.getMslStore().getCryptoContext(d);h=n?n:new Jb(c,d)}catch(q){if(q instanceof qc)throw new Ra(a.USERAUTH_MASTERTOKEN_NOT_DECRYPTED,"MDX authdata "+L(f));throw q;}h.verify(f,g,{result:function(c){b(l,function(){if(!c)throw new T(a.MDX_USERAUTH_VERIFICATION_FAILED,
"MDX authdata "+L(f));k(h)})},error:l.error})})},B={"<":"&lt;",">":"&gt;","&":"&amp;",'"':"&quot;","'":"&apos;"},G=Ic=n.extend({init:function(a,b,f,h){var k=c("action",d(a)),n=c("nonce",b.toString());f=c("pin",f);k=c("registerdata",k+n+f);k=P(k,"utf-8");Object.defineProperties(this,{_action:{value:a,writable:!1,enumerable:!1,configurable:!1},_nonce:{value:b,writable:!1,enumerable:!1,configurable:!1},_pin:{value:null,writable:!1,enumerable:!1,configurable:!1},_encoding:{value:k,writable:!1,enumerable:!1,
configurable:!1},_signature:{value:h,writable:!1,enumerable:!1,configurable:!1}})},getAction:function(){return this._action},getNonce:function(){return this._nonce},getPin:function(){return this._pin},getSignature:function(){return this._signature},getEncoding:function(){return this._encoding},equals:function(a){return this===a?!0:a instanceof G?this._action==a._action&&this._nonce==a._nonce&&this._pin==a._pin:!1}});Ic.ACTION="regpairrequest";var O=cf=n.extend({init:function(a,h,k,n,q,B){function p(k){b(B,
function(){var b=L(k),q=c("action",d(a)),p=c("nonce",h.toString()),G=c("pin",b),q=c("registerdata",q+p+G),A=P(q,"utf-8"),b="action="+f(a)+"&nonce="+f(h.toString())+"&pin="+f(b);n.sign(P(b,"utf-8"),{result:function(a){C(A,a)},error:B.error})},G)}function C(c,d){b(B,function(){Object.defineProperties(this,{_action:{value:a,writable:!1,enumerable:!1,configurable:!1},_nonce:{value:h,writable:!1,enumerable:!1,configurable:!1},_pin:{value:k,writable:!1,enumerable:!1,configurable:!1},_encoding:{value:c,
writable:!1,enumerable:!1,configurable:!1},_signature:{value:d,writable:!1,enumerable:!1,configurable:!1}});return this},G)}var G=this;b(B,function(){q?C(q.encoding,q.signature):n.encrypt(P(k,"utf-8"),{result:function(a){p(a)},error:B.error})},G)},getAction:function(){return this._action},getNonce:function(){return this._nonce},getPin:function(){return this._pin},getSignature:function(){return this._signature},getEncoding:function(){return this._encoding},equals:function(a){return this===a?!0:a instanceof
O?this._action==a._action&&this._nonce==a._nonce&&this._pin==a._pin:!1}});cf.ACTION=Ic.ACTION;var y=function(c,d,g,l,k){b(k,function(){var n=c.getMslStore().getCryptoContext(d),q=n?n:new Jb(c,d),n=h(g,"utf-8"),B=(new DOMParser).parseFromString(n,"application/xml"),n=B.getElementsByTagName("action"),p=B.getElementsByTagName("nonce"),B=B.getElementsByTagName("pin"),C=n&&1==n.length&&n[0].firstChild?n[0].firstChild.nodeValue:null,G=p&&1==p.length&&p[0].firstChild?parseInt(p[0].firstChild.nodeValue):
null,A=B&&1==B.length&&B[0].firstChild?B[0].firstChild.nodeValue:null;if(!C||!G||!A)throw new ba(a.XML_PARSE_ERROR,"MDX authdata "+L(g));n="action="+f(C)+"&nonce="+f(G.toString())+"&pin="+f(A);q.verify(P(n,"utf-8"),l,{result:function(c){b(k,function(){if(!c)throw new T(a.MDX_USERAUTH_VERIFICATION_FAILED,"MDX authdata "+L(g));var d=I(A);q.decrypt(d,{result:function(a){b(k,function(){var b=h(a,"utf-8");new O(C,G,b,null,{encoding:g,signature:l},k)})},error:k.error})})},error:k.error})})};Tc=ad.extend({init:function Gb(a,
b,c,d,f,g){Gb.base.call(this,vc.MDX);var h=null,l=null,n=null;if("string"===typeof c)a=k.MSL_LEGACY,n=c;else if(c instanceof Uint8Array)a=k.NTBA,l=c;else if(c instanceof Yb)a=k.MSL,h=c;else throw new TypeError("Controller token "+c+" is not a master token, encrypted CTicket, or MSL token construct.");var t=c=null,B=null,p=null;if(g){var G=g.controllerAuthData;c=G.getAction();t=G.getPin();B=g.userIdToken;G instanceof C?p=G.getUserIdToken().customer:B&&(p=B.customer)}Object.defineProperties(this,{mechanism:{value:a,
writable:!1,configurable:!1},action:{value:c,writable:!1,configurable:!1},targetPin:{value:b,writable:!1,configurable:!1},controllerPin:{value:t,writable:!1,configurable:!1},customer:{value:p,writable:!1,configurable:!1},_masterToken:{value:h,writable:!1,enumerable:!1,configurable:!1},_encryptedCTicket:{value:l,writable:!1,enumerable:!1,configurable:!1},_mslTokens:{value:n,writable:!1,enumerable:!1,configurable:!1},_controllerEncoding:{value:d,writable:!1,enumerable:!1,configurable:!1},_signature:{value:f,
writable:!1,enumerable:!1,configurable:!1}})},getAuthData:function(){var a={};switch(this.mechanism){case k.MSL:var b=JSON.parse(JSON.stringify(this._masterToken));a.mastertoken=b;break;case k.NTBA:b=h(this._encryptedCTicket,"utf-8");a.cticket=b;break;case k.MSL_LEGACY:a.cticket=this._mslTokens;break;default:throw new W("Unsupported MDX mechanism.");}a.pin=this.targetPin;a.mdxauthdata=L(this._controllerEncoding);a.signature=L(this._signature);return a},equals:function ha(a){return this===a?!0:a instanceof
Tc?ha.base.call(this,a)&&(this._masterToken==a._masterToken||this._masterToken&&this._masterToken.equals(a._masterToken))&&(this._encryptedCTicket==a._encryptedCTicket||this._encryptedCTicket&&p(this._encryptedCTicket,a._encryptedCTicket))&&this._mslTokens==a._mslTokens&&p(this._controllerEncoding,a._controllerEncoding)&&p(this._signature,a._signature):!1}});fg=function(c,d,f){function g(h,l,k,n){Rc(c,l,{result:function(g){b(f,function(){if(!g.isDecrypted())throw new Ra(a.USERAUTH_MASTERTOKEN_NOT_DECRYPTED,
"MDX authdata "+d.toString());M(c,g,k,n,{result:function(a){b(f,function(){var b=a.getEncoding(),d=a.getSignature();return new Tc(c,h,g,b,d,{controllerAuthData:a,userIdToken:null})})},error:f.error})})},error:function(c){b(f,function(){if(c instanceof A)throw new Ra(a.USERAUTH_MASTERTOKEN_INVALID,"MDX authdata "+JSON.stringify(d),c);throw c;})}})}function l(c,d,g,h){b(f,function(){throw new Ra(a.UNSUPPORTED_USERAUTH_MECHANISM,"NtbaControllerData$parse");})}function k(g,l,n,q){function t(f,g){b(g,
function(){var l;try{l=I(f)}catch(k){throw new Ra(a.USERAUTH_MASTERTOKEN_INVALID,"MDX authdata "+JSON.stringify(d),k);}if(!l||0==l.length)throw new Ra(a.USERAUTH_MASTERTOKEN_MISSING,"MDX authdata "+JSON.stringify(d));try{var n=JSON.parse(h(l,"utf-8"));Rc(c,n,{result:function(c){b(g,function(){if(!c.isDecrypted())throw new Ra(a.USERAUTH_MASTERTOKEN_NOT_DECRYPTED,"MDX authdata "+d.toString());return c})},error:function(c){b(g,function(){if(c instanceof A)throw new Ra(a.USERAUTH_MASTERTOKEN_INVALID,
"MDX authdata "+JSON.stringify(d),c);throw c;})}})}catch(q){if(q instanceof SyntaxError)throw new ba(a.JSON_PARSE_ERROR,"MDX authdata "+JSON.stringify(d),q);throw q;}})}function B(f,g,l){b(l,function(){var k;try{k=I(f)}catch(n){throw new Ra(a.USERAUTH_USERIDTOKEN_INVALID,"MDX authdata "+JSON.stringify(d),n);}if(!k||0==k.length)throw new Ra(a.USERAUTH_USERIDTOKEN_MISSING,"MDX authdata "+JSON.stringify(d));try{var q=JSON.parse(h(k,"utf-8"));ed(c,q,g,{result:function(c){b(l,function(){if(!c.isDecrypted())throw new Ra(a.USERAUTH_USERIDTOKEN_NOT_DECRYPTED,
"MDX authdata "+JSON.stringify(d));return c})},error:function(c){b(l,function(){if(c instanceof A)throw new Ra(a.USERAUTH_USERIDTOKEN_INVALID,"MDX authdata "+JSON.stringify(d),c);throw c;})}})}catch(t){if(t instanceof SyntaxError)throw new ba(a.JSON_PARSE_ERROR,"MDX authdata "+JSON.stringify(d),t);throw t;}})}b(f,function(){var h=l.split(",");if(3!=h.length||"1"!=h[0])throw new Ra(a.UNIDENTIFIED_USERAUTH_MECHANISM,"MDX authdata "+JSON.stringify(d));t(h[1],{result:function(k){B(h[2],k,{result:function(h){y(c,
k,n,q,{result:function(a){b(f,function(){return new Tc(c,g,l,n,q,{controllerAuthData:a,userIdToken:h})})},error:function(c){b(f,function(){if(c instanceof qc)throw new Ra(a.USERAUTH_MASTERTOKEN_NOT_DECRYPTED,"MDX authdata "+JSON.stringify(d),c);throw c;})}})},error:f.error})},error:f.error})})}b(f,function(){var b=d.pin,c=d.mdxauthdata,f=d.signature;if(!b||"string"!==typeof b||!c||"string"!==typeof c||!f||"string"!==typeof f)throw new ba(a.JSON_PARSE_ERROR,"MDX authdata "+JSON.stringify(d));var h,
n;try{h=I(c),n=I(f)}catch(q){throw new Ra(a.MDX_CONTROLLERDATA_INVALID,"MDX authdata "+JSON.stringify(d),q);}if(d.mastertoken){c=d.mastertoken;if(!c||"object"!==typeof c)throw new ba(a.JSON_PARSE_ERROR,"MDX authdata "+JSON.stringify(d));g(b,c,h,n)}else if(d.cticket){c=d.cticket;if(!c||"string"!==typeof c)throw new ba(a.JSON_PARSE_ERROR,"MDX authdata "+JSON.stringify(d));-1==c.indexOf(",")?l(b,c,h,n):k(b,c,h,n)}else throw new Ra(a.UNIDENTIFIED_USERAUTH_MECHANISM,"MDX authdata "+JSON.stringify(d));
})}})();var gg;(function(){var b=Vd.ACTION,c=Ic.ACTION,d=cf.ACTION;gg=xe.extend({init:function J(){J.base.call(this,vc.MDX)},createData:function(a,b,c,d){fg(a,c,d)},authenticate:function(f,h,k,n){if(!(k instanceof Tc))throw new W("Incorrect authentication data type "+k.getClass().getName()+".");f=k.action;switch(k.mechanism){case ye.MSL:if(b!=f)throw(new Ra(a.MDX_USERAUTH_ACTION_INVALID)).setUser(k);break;case ye.NTBA:if(c!=f)throw(new Ra(a.MDX_USERAUTH_ACTION_INVALID)).setUser(k);break;case ye.MSL_LEGACY:if(d!=
f)throw(new Ra(a.MDX_USERAUTH_ACTION_INVALID)).setUser(k);}f=k.controllerPin;h=k.targetPin;if(!f||!h)throw(new Ra(a.MDX_PIN_BLANK)).setUser(k);if(f!=h)throw(new Ra(a.MDX_PIN_MISMATCH)).setUser(k);f=k.customer;if(!f)throw(new Ra(a.MDX_USER_UNKNOWN)).setUser(k);if(n&&(n=n.customer,!f.equals(n)))throw(new Ra(a.USERIDTOKEN_USERAUTH_DATA_MISMATCH,"uad customer "+f+"; uit customer "+n)).setUser(k);return f}})})();Object.freeze({ENTITY_REAUTH:d.ENTITY_REAUTH,ENTITYDATA_REAUTH:d.ENTITYDATA_REAUTH});var Xg=
Y.Class.create({getTime:function(){},getRandom:function(){},isPeerToPeer:function(){},getMessageCapabilities:function(){},getEntityAuthenticationData:function(a,b){},getMslCryptoContext:function(){},getEntityAuthenticationFactory:function(a){},getUserAuthenticationFactory:function(a){},getTokenFactory:function(){},getKeyExchangeFactory:function(a){},getKeyExchangeFactories:function(){},getMslStore:function(){}}),hg=Y.Class.create({setCryptoContext:function(a,b){},getMasterToken:function(){},getNonReplayableId:function(a){},
getCryptoContext:function(a){},removeCryptoContext:function(a){},clearCryptoContexts:function(){},addUserIdToken:function(a,b){},getUserIdToken:function(a){},removeUserIdToken:function(a){},clearUserIdTokens:function(){},addServiceTokens:function(a){},getServiceTokens:function(a,b){},removeServiceTokens:function(a,b,c){},clearServiceTokens:function(){}}),ue,ve;(function(){var b=Zc;ue=function(c,d){switch(c){case b.LZW:return ee(d);case b.GZIP:return gzip$compress(d);default:throw new A(a.UNSUPPORTED_COMPRESSION,
c);}};ve=function(c,d,f){switch(c){case b.LZW:return fe(d);case b.GZIP:return gzip$uncompress(d);default:throw new A(a.UNSUPPORTED_COMPRESSION,c.name());}}})();hg.extend({setCryptoContext:function(a,b){},getMasterToken:function(){return null},getNonReplayableId:function(a){return 1},getCryptoContext:function(a){return null},removeCryptoContext:function(a){},clearCryptoContexts:function(){},addUserIdToken:function(a,b){},getUserIdToken:function(a){return null},removeUserIdToken:function(a){},clearUserIdTokens:function(){},
addServiceTokens:function(a){},getServiceTokens:function(b,c){if(c){if(!b)throw new A(a.USERIDTOKEN_MASTERTOKEN_NULL);if(!c.isBoundTo(b))throw new A(a.USERIDTOKEN_MASTERTOKEN_MISMATCH,"uit mtserialnumber "+c.mtSerialNumber+"; mt "+b.serialNumber);}return[]},removeServiceTokens:function(b,c,d){if(d&&c&&!d.isBoundTo(c))throw new A(a.USERIDTOKEN_MASTERTOKEN_MISMATCH,"uit mtserialnumber "+d.masterTokenSerialNumber+"; mt "+c.serialNumber);},clearServiceTokens:function(){}});var ig;(function(){ig=hg.extend({init:function g(){g.base.call(this);
Object.defineProperties(this,{masterTokens:{value:{},writable:!1,enumerable:!1,configurable:!1},cryptoContexts:{value:{},writable:!1,enumerable:!1,configurable:!1},userIdTokens:{value:{},writable:!1,enumerable:!1,configurable:!1},nonReplayableIds:{value:{},writable:!1,enumerable:!1,configurable:!1},unboundServiceTokens:{value:{},writable:!1,enumerable:!1,configurable:!1},mtServiceTokens:{value:{},writable:!1,enumerable:!1,configurable:!1},uitServiceTokens:{value:{},writable:!1,enumerable:!1,configurable:!1}})},
setCryptoContext:function(a,b){if(b){var c=a.uniqueKey();this.masterTokens[c]=a;this.cryptoContexts[c]=b}else this.removeCryptoContext(a)},getMasterToken:function(){var a=null,b;for(b in this.masterTokens){var c=this.masterTokens[b];if(!a||c.isNewerThan(a))a=c}return a},getNonReplayableId:function(a){a=a.serialNumber;var b;b=this.nonReplayableIds[a]!==y?this.nonReplayableIds[a]:0;if(0>b||b>Ia)throw new W("Non-replayable ID "+b+" is outside the valid range.");b=b==Ia?0:b+1;return this.nonReplayableIds[a]=
b},getCryptoContext:function(a){return this.cryptoContexts[a.uniqueKey()]},removeCryptoContext:function(a){var b=a.uniqueKey();if(this.masterTokens[b]){delete this.masterTokens[b];delete this.cryptoContexts[b];var b=a.serialNumber,c;for(c in this.masterTokens)if(this.masterTokens[c].serialNumber==b)return;delete this.nonReplayableIds[b];Object.keys(this.userIdTokens).forEach(function(b){b=this.userIdTokens[b];b.isBoundTo(a)&&this.removeUserIdToken(b)},this);try{this.removeServiceTokens(null,a,null)}catch(d){if(d instanceof
A)throw new W("Unexpected exception while removing master token bound service tokens.",d);throw d;}}},clearCryptoContexts:function(){[this.masterTokens,this.cryptoContexts,this.nonReplayableIds,this.userIdTokens,this.uitServiceTokens,this.mtServiceTokens].forEach(function(a){for(var b in a)delete a[b]},this)},addUserIdToken:function(b,c){var d=!1,f;for(f in this.masterTokens)if(c.isBoundTo(this.masterTokens[f])){d=!0;break}if(!d)throw new A(a.USERIDTOKEN_MASTERTOKEN_NOT_FOUND,"uit mtserialnumber "+
c.mtSerialNumber);this.userIdTokens[b]=c},getUserIdToken:function(a){return this.userIdTokens[a]},removeUserIdToken:function(a){var b=null,c;for(c in this.masterTokens){var d=this.masterTokens[c];if(a.isBoundTo(d)){b=d;break}}Object.keys(this.userIdTokens).forEach(function(c){if(this.userIdTokens[c].equals(a)){delete this.userIdTokens[c];try{this.removeServiceTokens(null,b,a)}catch(d){if(d instanceof A)throw new W("Unexpected exception while removing user ID token bound service tokens.",d);throw d;
}}},this)},clearUserIdTokens:function(){for(var a in this.userIdTokens){var b=this.userIdTokens[a];try{this.removeServiceTokens(null,null,b)}catch(c){if(c instanceof A)throw new W("Unexpected exception while removing user ID token bound service tokens.",c);throw c;}delete this.userIdTokens[a]}},addServiceTokens:function(b){b.forEach(function(b){if(b.isUnbound())this.unboundServiceTokens[b.uniqueKey()]=b;else{if(b.isMasterTokenBound()){var c=!1,d;for(d in this.masterTokens)if(b.isBoundTo(this.masterTokens[d])){c=
!0;break}if(!c)throw new A(a.SERVICETOKEN_MASTERTOKEN_NOT_FOUND,"st mtserialnumber "+b.mtSerialNumber);}if(b.isUserIdTokenBound()){var c=!1,f;for(f in this.userIdTokens)if(b.isBoundTo(this.userIdTokens[f])){c=!0;break}if(!c)throw new A(a.SERVICETOKEN_USERIDTOKEN_NOT_FOUND,"st uitserialnumber "+b.uitSerialNumber);}b.isMasterTokenBound()&&((f=this.mtServiceTokens[b.mtSerialNumber])||(f={}),f[b.uniqueKey()]=b,this.mtServiceTokens[b.mtSerialNumber]=f);b.isUserIdTokenBound()&&((f=this.uitServiceTokens[b.uitSerialNumber])||
(f={}),f[b.uniqueKey()]=b,this.uitServiceTokens[b.uitSerialNumber]=f)}},this)},getServiceTokens:function(b,c){if(c){if(!b)throw new A(a.USERIDTOKEN_MASTERTOKEN_NULL);if(!c.isBoundTo(b))throw new A(a.USERIDTOKEN_MASTERTOKEN_MISMATCH,"uit mtserialnumber "+c.mtSerialNumber+"; mt "+b.serialNumber);}var d={},f;for(f in this.unboundServiceTokens){var h=this.unboundServiceTokens[f];d[h.uniqueKey()]=h}if(b&&(h=this.mtServiceTokens[b.serialNumber]))for(f in h){var k=h[f];k.isUserIdTokenBound()||(d[f]=k)}if(c&&
(h=this.uitServiceTokens[c.serialNumber]))for(f in h)k=h[f],k.isBoundTo(b)&&(d[f]=k);h=[];for(f in d)h.push(d[f]);return h},removeServiceTokens:function(b,c,d){if(d&&c&&!d.isBoundTo(c))throw new A(a.USERIDTOKEN_MASTERTOKEN_MISMATCH,"uit mtserialnumber "+d.mtSerialNumber+"; mt "+c.serialNumber);if(b&&!c&&!d){Object.keys(this.unboundServiceTokens).forEach(function(a){this.unboundServiceTokens[a].name==b&&delete this.unboundServiceTokens[a]},this);for(var f in this.mtServiceTokens){var h=this.mtServiceTokens[f],
k=Object.keys(h);k.forEach(function(a){h[a].name==b&&delete h[a]},this);this.mtServiceTokens[f]=h}for(var n in this.uitServiceTokens)h=this.uitServiceTokens[n],f=Object.keys(h),f.forEach(function(a){h[a].name==b&&delete h[a]},this),this.uitServiceTokens[n]=h}if(c&&!d){if(h=this.mtServiceTokens[c.serialNumber])k=Object.keys(h),k.forEach(function(a){var c=h[a];b&&c.name!=b||delete h[a]},this),this.mtServiceTokens[c.serialNumber]=h;for(n in this.uitServiceTokens){var p=this.uitServiceTokens[n];f=Object.keys(p);
f.forEach(function(a){var d=p[a];b&&d.name!=b||d.isBoundTo(c)&&delete p[a]},this);this.uitServiceTokens[n]=p}}d&&(h=this.uitServiceTokens[d.serialNumber])&&(f=Object.keys(h),f.forEach(function(a){var d=h[a];b&&d.name!=b||c&&!d.isBoundTo(c)||delete h[a]},this),this.uitServiceTokens[d.serialNumber]=h)},clearServiceTokens:function(){[this.unboundServiceTokens,this.mtServiceTokens,this.uitServiceTokens].forEach(function(a){for(var b in a)delete a[b]},this)}})})();var Ng=pa.extend({init:function g(){g.base.call(this);
Object.defineProperties(this,{_contextMap:{value:{},writable:!1,enumerable:!1,configurable:!1}})},addCryptoContext:function(a,b){if(b&&a&&a.length){var c=L(a);this._contextMap[c]=b}},getCryptoContext:function(a){return a&&a.length?(a=L(a),this._contextMap[a]||null):null},removeCryptoContext:function(a){a&&a.length&&(a=L(a),delete this._contextMap[a])}}),kc=Pg.extend({init:function t(a,b,c,d){t.base.call(this,a);Object.defineProperties(this,{_kde:{value:b,writable:!1,enumerable:!1,configurable:!1},
_kdh:{value:c,writable:!1,enumerable:!1,configurable:!1},_kdw:{value:d,writable:!1,enumerable:!1,configurable:!1}})},getCryptoContext:function(b,c){if(!(c instanceof sc))throw new W("Incorrect authentication data type "+JSON.stringify(c)+".");if(c.identity!=this.localIdentity)throw new zc(a.ENTITY_NOT_FOUND,"mgk "+c.identity);return new hc(b,this.localIdentity,this._kde,this._kdh,this._kdw)}}),zd=Me.extend({init:function q(a,b,c,d){q.base.call(this,a);Object.defineProperties(this,{_kpe:{value:b,writable:!1,
enumerable:!1,configurable:!1},_kph:{value:c,writable:!1,enumerable:!1,configurable:!1},_kpw:{value:d,writable:!1,enumerable:!1,configurable:!1}})},getCryptoContext:function(b,c){if(!(c instanceof tc))throw new W("Incorrect authentication data type "+JSON.stringify(c)+".");if(c.identity!=this.localIdentity)throw new zc(a.ENTITY_NOT_FOUND,"psk "+c.identity);return new hc(b,this.localIdentity,this._kpe,this._kph,this._kpw)}}),ze=ig.extend({init:function J(a,b,c,d,f,h){J.base.call(this);this._log=a;
this._esn=b;this._keyRequestData=c;this._createKeyRequestData=d;this._systemKeyName=f;this._systemKeyWrapFormat=h},setCryptoContext:function ma(a,b,c){var d=this;d._log.trace("Adding MasterToken",{SequenceNumber:a.sequenceNumber,SerialNumber:a.serialNumber,Expiration:a.expiration.getTime()});ma.base.call(this,a,b);!c&&(a=d._createKeyRequestData)&&(d._log.trace("Generating new keyx request data"),a().then(function(a){d._keyRequestData=a},function(a){d._log.error("Unable to generate new keyx request data",
""+a)}))},addUserIdToken:function M(a,b){this._log.trace("Adding UserIdToken",{UserId:a,SerialNumber:b.serialNumber,MTSerialNumber:b.mtSerialNumber,Expiration:b.expiration.getTime()});M.base.call(this,a,b)},addServiceTokens:function B(a){B.base.call(this,a.filter(function(a){return!Bf[a.name]}))},getKeyRequestData:function(){return this._keyRequestData},getStoreState:function(a){var c=this;b(a,function(){var d=c.getMasterToken();d?c.getKeysForStore(d,{result:function(h){b(a,function(){var a=c.userIdTokens,
b=Object.keys(a).map(function(b){var h=a[b];return{userId:b,userIdTokenJSON:a[b].toJSON(),serviceTokenJSONList:c.getServiceTokens(d,h).map(f)}});h.esn=c._esn;h.masterTokenJSON=d.toJSON();h.userList=b;var k=c._keyRequestData.storeData;k&&Object.keys(k).forEach(function(a){h[a]=k[a]});return h})},timeout:a.timeout,error:a.error}):a.result(null)})},getKeysForStore:function(c,d){var f=this;b(d,function(){var b=f.getCryptoContext(c),b={encryptionKey:b.encryptionKey,hmacKey:b.hmacKey};if(b.encryptionKey&&
b.hmacKey)if(f._systemKeyWrapFormat)f.wrapKeysWithSystemKey(b,d);else return b;else throw new A(a.INTERNAL_EXCEPTION,"Unable to get CryptoContext keys");})},wrapKeysWithSystemKey:function(d,f){var h=this;c(this._systemKeyName,{result:function(c){b(f,function(){var b=d.encryptionKey,k=d.hmacKey,n=b[Ad],p=k[Ad];if(n&&p)return{wrappedEncryptionKey:n,wrappedHmacKey:p};Promise.resolve().then(function(){return Promise.all([Ea.wrapKey(h._systemKeyWrapFormat,b,c,c.algorithm),Ea.wrapKey(h._systemKeyWrapFormat,
k,c,c.algorithm)])}).then(function(a){n=L(a[0]);b[Ad]=n;p=L(a[1]);k[Ad]=p;f.result({wrappedEncryptionKey:n,wrappedHmacKey:p})}).catch(function(b){f.error(new A(a.INTERNAL_EXCEPTION,"Error wrapping key with SYSTEM key",b))})})},timeout:f.timeout,error:f.error})},unwrapKeysWithSystemKey:function(d,f){var h=this;c(this._systemKeyName,{result:function(c){b(f,function(){var b=I(d.wrappedEncryptionKey),k=I(d.wrappedHmacKey);Promise.resolve().then(function(){return Promise.all([Ea.unwrapKey(h._systemKeyWrapFormat,
b,c,c.algorithm,rc,!1,qb),Ea.unwrapKey(h._systemKeyWrapFormat,k,c,c.algorithm,Mb,!1,ia)])}).then(function(a){var b=a[0];a=a[1];b[Ad]=d.wrappedEncryptionKey;a[Ad]=d.wrappedHmacKey;f.result({encryptionKey:b,hmacKey:a})}).catch(function(b){f.error(new A(a.INTERNAL_EXCEPTION,"Error unwrapping with SYSTEM key",b))})})},timeout:f.timeout,error:f.error})},loadStoreState:function(a,b,c,d){function f(d){function h(){if(!C&&A&&L&&O){C=!0;var c=new Jb(b,A,a.esn,{rawKey:L},{rawKey:O});n.setCryptoContext(A,c,
!0);d.result(A)}}function k(a,b){p.error(a,b&&""+b);C||(C=!0,d.error())}var C,A,L,O;c.masterTokenJSON?(Rc(b,c.masterTokenJSON,{result:function(a){A=a;h()},timeout:function(){k("Timeout parsing MasterToken")},error:function(a){k("Error parsing MasterToken",a)}}),n._systemKeyWrapFormat?n.unwrapKeysWithSystemKey(c,{result:function(a){L=a.encryptionKey;O=a.hmacKey;h()},timeout:function(){k("Timeout unwrapping keys")},error:function(a){k("Error unwrapping keys",a)}}):Promise.resolve().then(function(){return Ea.encrypt({name:rc.name,
iv:new Uint8Array(16)},c.encryptionKey,new Uint8Array(1))}).then(function(a){L=c.encryptionKey}).catch(function(a){k("Error loading encryptionKey")}).then(function(){return Ea.sign(Mb,c.hmacKey,new Uint8Array(1))}).then(function(a){O=c.hmacKey;h()}).catch(function(a){k("Error loading hmacKey")})):k("Persisted store is corrupt")}function h(a,d){var f;try{f=c.userList.slice()}catch(p){}f?function Cb(){var c=f.shift();c?ed(b,c.userIdTokenJSON,a,{result:function(b){try{n.addUserIdToken(c.userId,b),k(a,
b,c.serviceTokenJSONList,{result:Cb,timeout:Cb,error:Cb})}catch(d){Cb()}},timeout:Cb,error:Cb}):d.result()}():d.result()}function k(a,c,d,f){var h;try{h=d.slice()}catch(p){}if(h){var B=n.getCryptoContext(a);(function dd(){var d=h.shift();d?re(b,d,a,c,B,{result:function(a){n.addServiceTokens([a]);dd()},timeout:function(){dd()},error:function(){dd()}}):f.result()})()}else f.result()}var n=this,p=n._log;c.esn!=n._esn?(p.error("ESN mismatch, starting fresh"),d.error()):f({result:function(a){h(a,d)},timeout:d.timeout,
error:d.error})}}),Bf={"streaming.servicetokens.movie":!0,"streaming.servicetokens.license":!0},Ad="$netflix$msl$wrapsys",Nc,jg=Xg.extend({init:function(a,b,c,d,f,h){var k=new Pd([Zc.LZW]),n=new Rg;n.addPublicKey(b,c);d[Pa.RSA]=new Qg(n);b={};b[vc.EMAIL_PASSWORD]=new Wg;b[vc.NETFLIXID]=new Vg;b[vc.MDX]=new gg;a={_mslCryptoContext:{value:new Ke,writable:!0,enumerable:!1,configurable:!1},_capabilities:{value:k,writable:!1,enumerable:!1,configurable:!1},_entityAuthData:{value:f,writable:!0,enumerable:!1,
configurable:!1},_entityAuthFactories:{value:d,writable:!1,enumerable:!1,configurable:!1},_userAuthFactories:{value:b,writable:!1,enumerable:!1,configurable:!1},_keyExchangeFactories:{value:h,writable:!1,enumerable:!1,configurable:!1},_store:{value:a,writable:!1,enumerable:!1,configurable:!1}};Object.defineProperties(this,a)},getTime:function(){return Date.now()},getRandom:function(){return new ge},isPeerToPeer:function(){return!1},getMessageCapabilities:function(){return this._capabilities},getEntityAuthenticationData:function(a,
b){b.result(this._entityAuthData)},getMslCryptoContext:function(){return this._mslCryptoContext},getEntityAuthenticationFactory:function(a){return this._entityAuthFactories[a]},getUserAuthenticationFactory:function(a){return this._userAuthFactories[a]},getTokenFactory:function(){return null},getKeyExchangeFactory:function(a){return this._keyExchangeFactories.filter(function(b){return b.scheme==a})[0]},getKeyExchangeFactories:function(){return this._keyExchangeFactories},getMslStore:function(){return this._store}}),
Ge=dg.extend({init:function(a,b,c,d){this._log=a;this._mslContext=b;this._mslRequest=c;this._keyRequestData=d},getCryptoContexts:function(){return{}},isEncrypted:function(){return!!this._mslRequest.encrypted},isNonReplayable:function(){return!!this._mslRequest.nonReplayable},isRequestingTokens:function(){return!0},getUserId:function(){return this._mslRequest.userId||null},getUserAuthData:function(a,c,d,f){var h=this._mslRequest,k=this._mslContext;b(f,function(){if(a)return null;if(h.email)return new Ud(h.email,
h.password);if(h.netflixId)return new id(h.netflixId,h.secureNetflixId);if(h.mdxControllerToken){var b=(new Ic("regpairrequest",h.mdxNonce,h.mdxEncryptedPinB64,h.mdxSignature)).getEncoding();return new Tc(k,h.mdxPin,h.mdxControllerToken,b,h.mdxSignature)}if(d&&h.getIdCookies){var c=h.getIdCookies(),b=c.netflixId,c=c.secureNetflixId;if(b)return new id(b,c)}return null})},getCustomer:function(){return null},getKeyRequestData:function(a){a.result(this._mslRequest.allowTokenRefresh?[this._keyRequestData]:
[])},updateServiceTokens:function(a,b,c){var d=this._log,f=(this._mslRequest.serviceTokens||[]).slice(),h=this._mslContext;b=h.getMslStore();var k=a.builder.getMasterToken(),n=this.getUserId(),p=b.getUserIdToken(n);(function La(){var b=f.shift();if(b)try{b instanceof Sc?(a.addPrimaryServiceToken(b),La()):re(h,b,k,p,null,{result:function(b){try{a.addPrimaryServiceToken(b)}catch(c){d.warn("Exception adding service token",""+c)}La()},timeout:function(){d.warn("Timeout parsing service token");La()},error:function(a){d.warn("Error parsing service token",
""+a);La()}})}catch(n){d.warn("Exception processing service token",""+n),La()}else c.result(!0)})()},write:function(a,b,c){var d=P(this._mslRequest.body);a.write(d,0,d.length,b,{result:function(f){f!=d.length?c.error(new ob("Not all data was written to output.")):a.flush(b,{result:function(){c.result(!0)},timeout:function(){c.timeout()},error:function(a){c.error(a)}})},timeout:function(){c.timeout()},error:function(a){c.error(a)}})},getDebugContext:function(){this._dc||(this._dc=new Yg(this._log,
this._mslRequest));return this._dc}}),Yg=cg.extend({init:function(a,b){this._log=a;this._mslRequest=b},sentHeader:function(a){this._log.trace("Sent MSL header",n(this._mslRequest,a),a.serviceTokens&&a.serviceTokens.map(Bb).join("\n"))},receivedHeader:function(a){var b=n(this._mslRequest,a),c=a.errorCode;c?this._log.warn("Received MSL error header",b,{errorCode:c,errorMessage:a.errorMessage,internalCode:a.internalCode}):this._log.trace("Received MSL header",b)}}),df={PSK:function(a){return kb(a,Pa.PSK,
zd,tc,Se,Pb)},MGK:function(a){return kb(a,Pa.MGK,kc,sc,Se,Pb)},MGK_WITH_FALLBACK:function(b){var c;switch(b.esnPrefix){case "GOOGEUR001":case "GOOGLEXX01":c="PSK";break;default:c="MGK"}var d=df[c];if(!d)throw new A(a.INTERNAL_EXCEPTION,"Invalid fallback authenticationType: "+c);return d(b)},MGK_JWE:function(a){return kb(a,Pa.MGK,kc,sc,Kf,Pe)},JWK_RSA:function(a){return Xb(a,{name:"RSA-OAEP",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-1"}},Nd.JWK_RSA)},JWK_RSAES:function(a){return Xb(a,
{name:"RSAES-PKCS1-v1_5",modulusLength:2048,publicExponent:new Uint8Array([1,0,1])},Nd.JWK_RSAES)},JWEJS_RSA:function(a){return Xb(a,{name:"RSA-OAEP",modulusLength:2048,publicExponent:new Uint8Array([1,0,1])},Nd.JWEJS_RSA)}};ec.netflix=ec.netflix||{};ec.netflix.msl={createMslClient:function(b,c){var d=b.log,f,h,k,n=b.notifyMilestone||function(){};Promise.resolve().then(function(){if(!(C&&C.generateKey&&C.importKey&&C.unwrapKey))throw new A(a.INTERNAL_EXCEPTION,"No WebCrypto");Ma=C.generateKey({name:"AES-CBC",
length:128},!0,qb).then?Va.V2014_02:Va.LEGACY;n("mslisik");return Ea.importKey("spki",b.serverIdentityKeyData,pb,!1,["verify"])}).then(function(b){return new Promise(function(c,d){Pc(b,{result:c,error:function(){d(new A(a.KEY_IMPORT_ERROR,"Unable to create server identity verification key"))}})})}).then(function(c){f=c;if(c=df[b.authenticationType])return n("mslcc"),c(b);throw new A(a.INTERNAL_EXCEPTION,"Invalid authenticationType: "+b.authenticationType);}).then(function(a){h=new ze(d,b.esn,a.keyRequestData,
a.createKeyRequestData,b.authenticationKeyNames.s,b.systemKeyWrapFormat);k=new jg(h,b.serverIdentityId,f,a.entityAuthFactories,a.entityAuthData,a.keyExchangeFactories);var c=b.storeState;if(c)return n("mslss"),d.info("Loading store state"),new Promise(function(a,d){h.loadStoreState(b,k,c,{result:a,timeout:a,error:a})});d.info("No store state, starting fresh")}).then(function(){var a=new $e;n("msldone");c.result(new oc(d,a,k,h))}).catch(function(a){c.error(a)})},IHttpLocation:Tg,MslIoException:ob}})(window);
(function(){(function y(D,h,P){function ca(p,qa){if(!h[p]){if(!D[p]){var oa="function"==typeof require?require:void 0;if(!qa&&oa)return oa(p,!0);if(O)return O(p,!0);oa=Error("Cannot find module '"+p+"'");throw oa.code="MODULE_NOT_FOUND",oa;}oa=h[p]={Ja:{}};D[p][0].call(oa.Ja,function(b){var h=D[p][1][b];return ca(h?h:b)},oa,oa.Ja,y,D,h,P)}return h[p].Ja}for(var O="function"==typeof require?require:void 0,p=0;p<P.length;p++)ca(P[p]);return ca})({1:[function(y){(function(D,h){function P(a){a=U(a)?jd(a):
a;return ii.Ig(a)}function ca(){return!0}function O(){}function p(){}function Z(a){return null!==a&&a!==h}function qa(a){return"object"==typeof a}function oa(a){return a&&a.constructor==bb}function b(a,b,c){return"number"==typeof a&&!isNaN(a)&&isFinite(a)&&(b===h||a>=b)&&(c===h||a<=c)}function k(a,c,d){return b(a,c,d)&&0==a%1}function a(a){return a&&Zg.test(a)}function U(a){return"string"==typeof a}function Ua(a){return U(a)&&a}function f(a){return"function"==typeof a}function c(a,b){for(var c in a)a.hasOwnProperty(c)&&
b(c,a[c])}function n(a,b,d){if(b)if(d){var f=d.rh,g=d.prefix,h=d.kf;c(b,function(b,c){if(!h||Z(c))a[(g||"")+(f?b.toLowerCase():b)]=c})}else c(b,function(b,c){a[b]=c});return a}function Bb(a,b,c,d){if(a){var g=a[b];f(g)&&(c=g.apply(a,$g.call(arguments,3)))}}function oc(a){var b={};c(a,function(a,z){b[a]=z});return b}function kb(a){for(var b=0,c=arguments.length;b<c;){var d=arguments[b++];if(Z(d))return d}}function Xb(a){for(var b,c=!0,d;c;)for(c=!1,b=a.length;--b;)d=a[b],d.startTime<a[b-1].startTime&&
(a[b]=a[b-1],a[b-1]=d,c=!0)}function Fb(a){for(var b={},c=a.length;c--;)b[a[c]]=!0;return b}function C(a){return Jc(a,10)}function fc(a,b){return lb(a+ef()*(b-a))}function L(a){if(a){var b=a.stack,c=a.number;a=""+a;b?(b=""+b,0!=b.indexOf(a)&&(b=a+"\n"+b)):b=a;c&&(b+="\nnumber:"+c);return b}}function I(a){return b(a)?a.toFixed(0):""}function Qa(a){return b(a)?(a/1E3).toFixed(0):""}function ee(a){return b(a)?a.toFixed():""}function fe(a,b){try{var c=Zb.plugins,d=c.length,f;for(f=0;f<d;f++)if(b.test(c[f][a]))return c[f];
return!1}catch(g){}}function sa(){var a=fe("filename",/widevinecdm/i);if(a){try{var b=a.description.match(/version: ([0-9.]+)/);if(b&&b[1])return b[1]}catch(c){}return"true"}return"false"}function Ia(){try{var a=Kb.defineProperty({},"videoCapabilities",{value:[{contentType:'video/mp4; codecs="avc1.640028"'}]});Zb.requestMediaKeySystemAccess("com.widevine.alpha",[a]).then(function(){Uc.cpth264wv=!0}).catch(function(){Uc.cpth264wv=!1})}catch(b){}}function Zc(a,b){if(a===b)return!0;if(!a||!b)return!1;
for(var c in a)if(a.hasOwnProperty(c)&&(!b.hasOwnProperty(c)||a[c]!==b[c]))return!1;return!0}function Id(a,b){if(a.length==b.length){for(var c=a.length;c--;)if(a[c]!=b[c])return!1;return!0}return!1}function vd(a){if(a){var b=a.length;if(b)return b=fc(0,b-1),a[b]}}function Df(a,b){function c(){a.removeEventListener("loadedmetadata",c);b.apply(this,arguments)}a.addEventListener("loadedmetadata",c)}function Qc(){var a=vb.cookie.split("; "),b=a.length,c,d,f,g={};for(c=0;c<b;c++)if(d=ji(a[c]))f=d.indexOf("="),
0<f&&(g[d.substr(0,f)]=d.substr(f+1));return g}function Jd(){var a,b;if(a=Jd.Tn)return a;a=ff.search.substr(1);b=a.indexOf("#");0<=b&&(a=a.substr(0,b));a=d(a);return Jd.Tn=a}function d(a){for(var b=/[+]/g,c=(a||"").split("&"),d={},f,g=0;g<c.length;g++)a=ji(c[g]),f=a.indexOf("="),0<=f?d[ki(a.substr(0,f).replace(b,"%20")).toLowerCase()]=ki(a.substr(f+1).replace(b,"%20")):d[a.toLowerCase()]=null;return d}function Y(a){var b="";c(a,function(a,z){b&&(b+="&");b+=Wd(a)+"="+Wd(z)});return b}function Fa(a,
b,d,f){var g=vb.createElement(a);b&&(g.style.cssText=b);d&&(g.innerHTML=d);f&&c(f,function(a,b){g.setAttribute(a,b)});return g}function ge(a){var b="";c(a,function(a,z){b+=(b?";":"")+a+":"+z});return b}function Fc(a,b){var c=a[0];if(b<=c[0])return c.slice(1);for(var d=1,f;f=a[d++];){if(b<=f[0]){var d=(b-c[0])/(f[0]-c[0]),g=[];Ba(c.length,f.length);for(var h=1;h<c.length;h++)g.push((c[h]||0)+d*((f[h]||0)-(c[h]||0)));return g}c=f}return c.slice(1)}function A(a){return Uj.call(a,function(a,b){return a-
b})}function T(a){for(var b=0,c=a.length;c--;)b+=a[c];return b}function ba(a,b){var c=-1,d=a.length,f,g;if(1===arguments.length){for(;++c<d&&!(null!=(f=a[c])&&f<=f);)f=h;for(;++c<d;)null!=(g=a[c])&&g>f&&(f=g)}else{for(;++c<d&&!(null!=(f=b.call(a,a[c],c))&&f<=f);)f=h;for(;++c<d;)null!=(g=b.call(a,a[c],c))&&g>f&&(f=g)}return f}function zc(a,b){var c=-1,d=a.length,f,g;if(1===arguments.length){for(;++c<d&&!(null!=(f=a[c])&&f<=f);)f=h;for(;++c<d;)null!=(g=a[c])&&f>g&&(f=g)}else{for(;++c<d&&!(null!=(f=
b.call(a,a[c],c))&&f<=f);)f=h;for(;++c<d;)null!=(g=b.call(a,a[c],c))&&f>g&&(f=g)}return f}function Db(a){return f(a.then)?a:new Xd(function(b,c){a.oncomplete=function(){b(a.result)};a.onerror=function(){c(a.error)}})}function ob(a,c){function d(a){0>f.indexOf(a)&&b(a)&&f.push(a)}a=a.slice();A(a);var f=[];if(!c||!c.length)return a;if(!a.length)return[];var g=c.length,h,E;try{for(;g--;){var k=""+c[g],l=C(k);switch(k[k.length-1]){case "-":for(h=a.length;h--;)if(E=a[h],E<l){d(E);break}break;case "+":for(h=
0;h<a.length;h++)if(E=a[h],E>l){d(E);break}break;default:0<=a.indexOf(l)&&d(l)}}}catch(x){}f.length||f.push(a[0]);A(f);return f}function W(a,b,c){var d;a/b>c?(d=lb(b*c),a=b):(d=a,a=lb(a/c));return{width:d,height:a}}function ub(a,b){var c=a.length,d=(c-1)*b+1;if(1===d)return a[0];if(d==c)return a[c-1];c=ua(d);return a[c-1]+(d-c)*(a[c]-a[c-1])}function Ta(a){try{return d(ah(a)).bt}catch(b){}}function qc(a,b){b=kd.isArray(b)?b:[b];for(var c=a.length,d=0;d<c;d++)for(var f=0;f<b.length;f++)if(a[d].type==
b[f])return a[d];throw new Wa("Box not found "+b);}function za(a){return a.ub("trak/mdia/minf/stbl/stsd/enca|encv").children.filter(function(a){return"sinf"==a.type&&"cenc"==a.Og.schm.$s})[0].ub("schi/tenc").oh}function Ra(a){function b(a,z){var d=c[a];c[a]=c[z];c[z]=d}var c=new bb(a);b(0,3);b(1,2);b(4,5);b(6,7);return c}function Ea(){try{var a=/playercore.*js/,b=Yd.getEntries("resource").filter(function(b){return null!==a.exec(b.name)});if(b&&0<b.length){var c=lb(b[0].duration);return mb.stringify(c)}}catch(d){}}
function Ma(a,b,c){return a>=b?a<=c?a:c:b}function Va(a){if(b(a))return(a/1E3).toFixed(3)}function gc(a,b){var c=$g.call(arguments,1);return a.replace(/{(\d+)}/g,function(a,b){return"undefined"!=typeof c[b]?c[b]:a})}function rc(a){for(var b=a.length,c=new Uint16Array(b),d=0;d<b;d++)c[d]=a.charCodeAt(d);return c.buffer}function Mb(a){function b(){if(g)for(var a;a=d.pop();)a(h)}function c(a){g=!0;h=a;b()}var d=[],f,g,h;return function(g){d.push(g);f||(f=!0,a(c));b()}}function Aa(a){return D.setTimeout(a,
0)}function $a(a,b){return D.setTimeout(a,b)}function pb(a){D.clearTimeout(a)}function qb(a,b){return D.setInterval(a,b)}function yb(a){D.clearInterval(a)}function ia(){var a=gf()-ld;if(a<bh){var b=bh+1,c=b-a;Aa(function(){ra.warn("Clock roll-back detected, adjusting time",{Delta:""+-c})});ld-=c;a=b}return bh=a}function Nb(){return ua(gf()/1E3)}function Oc(){}function Eb(a){function b(d){h=null;c(d||a)}function c(a){var z=ia();if(g){var d=a-(z-f);0>=d?(a=g,g=null,f=z,a()):h=h||$a(b.bind(this,a),d)}}
var d=this,f=-a,g,h;this.Wp=function(){return a};this.Xh=function(b){a=b};this.pb=function(a){g=a;h=h||Aa(b)};this.Zs=function(a){d.Oc();Aa(a)};this.Oc=function(){h&&pb(h);h=null}}function he(a){var b=0,c;this.get=function(){var d=ia();if(!c||1E3<d-b)b=d,c=a();return c};this.clear=function(){c=h}}function Pc(a){this.Ma={index:a.index,qa:a.qa,ad:a.ad,sa:a.sa,bd:a.bd,Ib:Tc.prototype.Ib};this.r=function(a){this.oj=a};this.r.prototype=this}function Gc(a){var b=a.length,c,d=1;if(b>d){c=Ie(a[d],"");if(b==
d+1)return c;for(var f={};d<b;)n(f,c),c=Ie(a[++d],f.Details);return f}}function Ie(a,b){return a&&qa(a)?a.Ba?a.Ba:f(a.Oe)?a.Oe():Vj.test(a.name)?{Exception:a.message||""+a,StackTrace:a.stack||"nostack"}:a:Z(a)?{Details:(""===b?"":b+", ")+a}:{}}function Yc(a,b,d){var f=a.fields||{},g=""+a.message;c(f,function(a,b){Wj.hasOwnProperty(a)||(g+=", "+a+": "+b)});g=g.replace(Xj," ");a=(a.time/1E3).toFixed(3)+"|"+(a.Ma&&a.Ma.index||0)+"|"+(Yj[a.level]||a.level)+"|"+a.category+"| "+g;f.Exception&&(a+="\r\n"+
f.Exception);b&&f.StackTrace&&(a+="\r\n"+f.StackTrace);d&&f.Details&&(a+="\r\n"+f.Details);return a}function Hb(){function a(z,d,f){var g="$netflix$player$order"+c+"$"+z;if(b){var h=b[z]?b[z].slice():[];f&&(d[g]=f);0>h.indexOf(d)&&(h.push(d),h.sort(function(a,b){return(a[g]||0)-(b[g]||0)}));b[z]=h}}var b={},c="$es$"+Zj++;n(this,{addListener:a,removeListener:function(a,c){if(b&&b[a]){for(var z=b[a].slice(),d;0<=(d=z.indexOf(c));)z.splice(d,1);b[a]=z}},Ww:function(a){return b&&!!(b[a]||(b[a]=[])).length},
A:function(a,c,z){if(b)for(var d=b[a]||(b[a]=[]),f=0;f<d.length;f++)if(z)(function(){var a=d[f];Aa(function(){a(c)})})();else d[f](c)},$h:function(a,c){if(b){var z=b[a]||(b[a]=[]);c=c||{};for(var d=0;d<z.length&&!c.jk;d++)z[d](c)}},Oc:function(){b=h},on:a})}function Je(){function a(z){var f=c.indexOf(z);0<=f?c.splice(f,1):z==d&&(d=h);Aa(b)}function b(){for(var S=0,h,k;!d&&(h=f[S]);){if(0>=c.length||!h.Ck)f.splice(S,1),k=g++,h.Ck?d=k:c.push(k),h.Ho({c:!0,qx:k,tf:function(){a(k)}});S++}}var c=[],d,
f=[],g=1;n(this,{Zn:function(a,c){f.push({Ck:a,Ho:c});b()},tf:a})}function Xa(a,b){function c(a,b){return(a["$netflix$player$order"+g]||0)-(b["$netflix$player$order"+g]||0)}var d=this,f=b?[b]:[],g="$op$"+ak++;n(d,{value:a,addListener:function(a,b){f.indexOf(a);a["$netflix$player$order"+g]=b;f=f.slice();f.push(a);f.sort(c)},removeListener:function(a){f=f.slice();var b;0<=(b=f.indexOf(a))&&f.splice(b,1)},set:function(a,b){if(d.value!==a){var c={oldValue:d.value,newValue:a};b&&n(c,b);d.value=a;for(var z=
f,r=z.length,S=0;S<r;S++)z[S](c)}}})}function ie(){}function Ob(a,b){var c;n(this,{tc:function(){c||(c=$a(b,a))},yb:function(){c&&(pb(c),c=h)}})}function je(a){var b,c="";for(b=8;b--;)c=(bk[a&15]||"0")+c,a>>>=4;return c}function Ib(a,b,c){this.errorCode=a||R.mc;b&&qa(b)?(this.g=b.g,this.V=b.V,this.D=b.D,this.Ae=b.Gp,this.Sc=b.Sc,this.Jg=b.Jg,this.Tc=b.Tc,this.Bd=b.Bd,this.Ia=b.Ia,this.hf=b.method):(this.g=b,this.V=c);a=this.stack=[this.errorCode];this.g?a.push(this.g):this.V&&a.push(N.mc);this.V&&
a.push(this.V);this.Nc=kg+a.join("-")}function ke(a){return 1100<=a&&1199>=a}function xd(a){return 1300<=a&&1399>=a}function Hc(a){return 1900<=a&&1999>=a}function Ac(a,b){C(a);return 1<=a&&9>=a?b+a:b}function bd(a){return Ac(a,N.vm)}function cd(a){return Ac(a,N.Ql)}function fb(a){var b={};b.ErrorSubCode=a.g||N.mc;a.V&&(b.ErrorExternalCode=a.V);a.D&&(b.ErrorDetails=a.D);return b}function hc(a){li[a]=ia()}function Jb(a){if(U(a)&&ck.test(a)){var b=a.split(".");if(4===b.length){for(var c=0;c<b.length;c++){var d=
C(b[c]);if(0>d||!k(d,0,255)||1!==b[c].length&&0===b[c].indexOf("0"))return}return a}}}function Ke(a){var b=0;if(Jb(a)===a)return a=a.split("."),b+=C(a[0])<<24,b+=C(a[1])<<16,b+=C(a[2])<<8,b+C(a[3])}function Pa(a){if(U(a)&&a.match(dk)){var b=a.split(":");if(-1!==b[b.length-1].indexOf(".")){a=Ke(b[b.length-1])>>>0;var c=[];c.push((a>>>16&65535).toString(16));c.push((a&65535).toString(16));b.pop();b.push(c[0]);b.push(c[1]);a=b.join(":")}a=a.split("::");if(!(2<a.length||1===a.length&&8!==b.length)){if(1<
a.length)if(b=a[0].split(":"),a=a[1].split(":"),1===b.length&&""===b[0]&&(b=[]),1===a.length&&""===a[0]&&(a=[]),c=8-(b.length+a.length),1>c)b=[];else{var d;for(d=0;d<c;d++)b.push("0");for(d=0;d<a.length;d++)b.push(a[d])}a=b.length;if(8===a){for(;a--;)if(c=Jc(b[a],16),!k(c,0,65535))return;return b.join(":")}}}}function $c(a,b,c){var d=Jb(a),f=Pa(a),g=Jb(b),h=Pa(b);if(!d&&!f||!g&&!h||d&&!g||f&&!h)return!1;if(a===d)return c=-1<<32-c,(Ke(a)&c)!==(Ke(b)&c)?!1:!0;if(a===f){a=a.split(":");b=b.split(":");
for(d=ua(c/16);d--;)if(a[d]!==b[d])return!1;c%=16;if(0!==c)for(a=Jc(a[d],16).toString(2),b=Jc(b[d],16).toString(2),a="0000000000000000".substring(0,16-a.length)+a,b="0000000000000000".substring(0,16-b.length)+b,d=0;d<c;d++)if(a[d]!==b[d])return!1;return!0}return!1}function le(a,b){var c;this.Zh=function(){c||(c=qb(b,a))};this.yd=function(){c&&(yb(c),c=h)}}function Kd(a,b,c,d,f){Gd(a,function(a){a.c?ek(a.object,b,c,d,function(a){a.c?f({c:!0,entries:a.entries}):f(a)}):f(a)})}function sc(){function a(c){var z=
d.Xg();if(f!=z){var r,g;z<m&&(g=l||x[ua(z*V)]||x[0]);if(g){for(;g&&g.endTime<z;)g=g.next;for(;g&&g.previous&&g.previous.endTime>=z;)g=g.previous}g&&(g.startTime<=z&&z<=g.endTime?(r=g,b(g.endTime-z)):b(g.startTime-z));l=g;f=z;k!=r&&(k=r,!c&&d.Bh&&d.Bh())}}function b(a){Ha&&(pb(Ha),Ha=h);g&&0<a&&(Ha=$a(c,a+fk))}function c(){Ha=h;a()}var d=this,f,g,k,l,Ha,x,m,V;n(d,{pl:function(b){var c=b&&b.length;l=k=f=h;x=b;m=c&&Ba.apply(null,b.map(function(a){return a.endTime}));V=c&&c/m;a()},Xg:h,start:function(){g=
!0;a()},stop:function(){g=!1;Ha&&(pb(Ha),Ha=h)},Np:function(){a(!0);return k},Bh:h})}function Le(a,b,c,d,f){var g="";a.textNodes.forEach(function(a){var z=g,k=a.style,l=mi(a.text);for(a=a.lineBreaks;a--;)l="<br />"+l;var n=k.characterStyle;a=d[n];var V;0<=n.indexOf("MONOSPACE")?(n=k.cellResolution,V=a&&n&&(40===n.x&&19===n.y?V=4/3/(40/19):52===n.x&&19===n.y&&(V=16/9/(52/19)),V)?a.width/a.fontSize/V:void 0,V=V||a.lineHeight):V=a.lineHeight;V=k.characterSize*b.height/(V||1);V=0<f?ua(V*f):lb(V);V={"font-size":V+
"px","line-height":"normal","font-weight":"normal"};k.characterItalic&&(V["font-style"]="italic");k.characterUnderline&&(V["text-decoration"]="underline");k.characterColor&&(V.color=k.characterColor);k.backgroundColor&&0!==k.backgroundOpacity&&(n=k.backgroundColor,a=k.backgroundOpacity,a=a!==h?a:1,n=n.substring(1),n=Jc(n,16),V["background-color"]="rgba("+(n>>16&255)+","+(n>>8&255)+","+(n&255)+","+a+")");a=k.characterEdgeColor||"#000000";switch(k.characterEdgeAttributes){case ch:V["text-shadow"]=a+
" 0px 0px 13px";break;case ni:V["text-shadow"]="-1px 0px "+a+",0px 1px "+a+",1px 0px "+a+",0px -1px "+a;break;case gk:V["text-shadow"]="-1px -1px white, 0px -1px white, -1px 0px white, 1px 1px black, 0px 1px black, 1px 0px black";break;case hk:V["text-shadow"]="1px 1px white, 0px 1px white, 1px 0px white, -1px -1px black, 0px -1px black, -1px 0px black"}V=ge(V);(a=c[k.characterStyle||"PROPORTIONAL_SANS_SERIF"])&&(V+=";"+a);k=k.characterOpacity;0<k&&1>k&&(l='<span style="opacity:'+k+'">'+l+"</span>");
g=z+('<span style="'+V+'">'+l+"</span>")});return g}function Pg(a,b,d,f,g){var h="",k=g.width;g=g.height;for(var l=b.length;l--;){var Ha=b[l],x=a[l],x=x&&x.region,n="position:absolute;background:"+f+";width:"+lb(Ha.width+2*d)+"px;height:"+lb(Ha.height+2*d)+"px;";c(tc(x,Ha,k,g,d),function(a,b){n+=a+":"+b+";"});h+='<div style="'+n+'"></div>'}return h}function tc(a,b,c,d,f){var g={};"right"==a.horizontalAlignment?g.right=100*(c-b.left-b.width-f)/c+"%":g.left=100*(b.left-f)/c+"%";"bottom"==a.verticalAlignment?
g.bottom=100*(d-b.top-b.height-f)/d+"%":g.top=100*(b.top-f)/d+"%";return g}function Ef(a){function b(){var c=f.parentNode,h=c&&c.clientWidth,S=c&&c.clientHeight,V=c=0,m={width:h,height:S},v,H;if(0<h&&0<S&&g){k&&(m=W(h,S,k),c=lb((h-m.width)/2),V=lb((S-m.height)/2));var X=g.blocks;v=X&&X.map(function(b){var c=Le(b,m,a,E),d={display:"block","white-space":"nowrap"};switch(b.region.horizontalAlignment){case "left":d["text-align"]="left";break;case "right":d["text-align"]="right";break;default:d["text-align"]=
"center"}b=ge(d)+";position:absolute";return Fa("div",b,c,dh)})}n(d,{left:c+"px",right:c+"px",top:V+"px",bottom:V+"px"});f.style.display="none";f.innerHTML="";if(v&&v.length){h=m.width;c=m.height;v.forEach(function(a){f.appendChild(a)});var nb=ge(d);f.style.cssText=nb+";visibility:hidden;z-index:-1";var F=[],K,da,ea;for(H=v.length;H--;)da=v[H],ea=X[H],K=Me(da,ea,h,c),K.width>h&&(da.innerHTML=Le(ea,m,a,E,h/K.width),K=Me(da,ea,h,c)),F[H]=K;H=m;l&&(H=me(m,l,S,V));F=Ff(F,H);if(V=X&&X[0]&&X[0].textNodes&&
X[0].textNodes[0]&&X[0].textNodes[0].style)S=V.windowColor,V=V.windowOpacity,S&&0<V&&(H=lb(c/50),S=Pg(X,F,H,S,m),S=Fa("div","position:absolute;left:0;top:0;right:0;bottom:0;opacity:"+V,S,dh),f.insertBefore(S,f.firstChild));f.style.display="none";for(H=F.length;H--;)K=F[H],n(v[H].style,tc(X[H].region,K,h,c,0));f.style.cssText=nb}}var d={position:"absolute",left:"0",top:"0",right:"0",bottom:"0",display:"block"},f=Fa("DIV",h,h,{"class":"player-timedtext"}),g,k,E=function(a){var b={};c(a,function(a,c){var z=
Fa("DIV","display:block;position:fixed;z-index:-1;visibility:hidden;font-size:1000px;"+c+";","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",dh);vb.body.appendChild(z);var d={fontSize:1E3,height:z.clientHeight,width:z.clientWidth/52,lineHeight:z.clientHeight/1E3};vb.body.removeChild(z);b[a]=d});return b}(a),l;f.onselectstart=function(){return!1};n(this,{Yj:function(){return f},tt:function(a){k=a},vt:function(a){g=a;b()},Ls:b,Yh:function(a){l=a;b()}})}function Me(a,b,c,d){var f=b.region,g=(f.marginTop||
0)*d,h=(f.marginBottom||0)*d,k=(f.marginLeft||0)*c,l=(f.marginRight||0)*c;b=a.clientWidth||1;a=a.clientHeight||1;switch(f.verticalAlignment){case "top":d=g;break;case "center":d=(g+d-h-a)/2;break;default:d=d-h-a}switch(f.horizontalAlignment){case "left":c=k;break;case "right":c=c-l-b;break;default:c=(k+c-l-b)/2}return{top:d,left:c,width:b,height:a}}function me(a,b,c,d){return{height:c-Ba(d,b.bottom|0)-Ba(d,b.top|0),width:a.width}}function Ff(a,b){function c(a,b,z){if(a&&1<a.length){for(var f=[],r=
[],g=0;g<a.length;g++)f[g]=0,r[g]=0;for(var h=!1,g=0;g<a.length;g++)for(var S=g+1;S<a.length;S++){var k,l=a[g],ka=a[S];if(0>l.width||0>ka.width||ka.left>l.left+l.width||ka.left+ka.width<l.left||ka.top>l.top+l.height?0:ka.top+ka.height>=l.top){k=Ba(l.left,ka.left);var n=Ba(l.top,ka.top);k={width:Ba(va(l.left+l.width,ka.left+ka.width)-k,0),height:Ba(va(l.top+l.height,ka.top+ka.height)-n,0),x:k,y:n}}else k=void 0;if(k&&1<k.width&&1<k.height)if(n=k.width<=k.height,l=d(a[g]),ka=d(a[S]),n&&b||!n&&!b)k=
Ba(k.width/2,.25),l.x<=ka.x?(r[g]-=k,r[S]+=k):(r[S]-=k,r[g]+=k);else if(n&&!b||!n&&b)l=Ba(k.height/2,.25),f[g]-=l,f[S]+=l}for(g=0;g<a.length;g++){if(-.25>r[g]&&0<=a[g].left+r[g]||.25<r[g]&&a[g].left+a[g].width+r[g]<=z.width)a[g].left+=r[g],h=!0;if(-.25>f[g]&&0<=a[g].top+f[g]||.25<f[g]&&a[g].top+a[g].height+f[g]<=z.height)a[g].top+=f[g],h=!0}return h}}function d(a){return{x:a.left+a.width/2,y:a.top+a.height/2}}var f=a.map(function(a){return{top:a.top,left:a.left,width:a.width,height:a.height}});(function(a,
b){a.forEach(function(a){0>a.left&&a.left+a.width<b.width?a.left+=va(-a.left,b.width-(a.left+a.width)):a.left+a.width>b.width&&0<a.left&&(a.left-=va(a.left+a.width-b.width,a.left));0>a.top&&a.top+a.height<b.height?a.top+=va(-a.top,b.height-(a.top+a.height)):a.top+a.height>b.height&&0<a.top&&(a.top-=va(a.top+a.height-b.height,a.top))})})(f,b);for(var g=0;50>g&&c(f,!0,b);g++);for(g=0;50>g&&c(f,!1,b);g++);return f}function Qg(a){oi.root.getDirectory("netflix.player.namedatapair",pi,function(b){a({c:!0,
kp:b})},function(){a({g:N.Jn})})}function Hd(a,b,c){function d(){c({g:N.Gn})}a.getFile(b,qi,function(a){a.file(function(b){var z=new ri;z.onloadend=function(){c({c:!0,text:z.result,Mg:a})};z.onerror=d;z.readAsText(b)},d)},d)}function Gf(a,b,c,d,f){function g(){f&&f({g:N.In})}function h(a){a.createWriter(function(b){try{b.onwriteend=function(){b.onwriteend=null;b.onerror=null;b.truncate(b.position);f&&f({c:!0,Mg:a})},b.onerror=g,b.write(new ik([c]))}catch(z){g()}},g)}b.createWriter?h(b):a.getFile(b,
d?jk:pi,h,g)}function Og(a,b,c){function d(){c&&c({g:N.Hn})}function f(a){a.remove(function(){c&&c(ta)},d)}b.remove?f(b):a.getFile(b,qi,f,d)}function Rg(a){var b={};a({c:!0,di:{load:function(a,c){b.hasOwnProperty(a)?c({c:!0,data:b[a],ae:a}):c({g:N.Fc})},save:function(a,c,z,d){z&&b.hasOwnProperty(a)?d({c:!1}):(b[a]=c,d&&d({c:!0,ae:a}))},remove:function(a,c){delete b[a];c&&c(ta)}}})}function Ne(a){function b(){b=p;a({c:!0,di:{load:function(a,b){c(a,function(c){Hd(d,a,function(a){Aa(c.tf);if(a.c){var z=
a.text,d;try{z&&(d=mb.parse(z))}catch(f){b({g:N.Kn});return}d?b({c:!0,data:d,ae:a.Mg}):b({g:N.Fc})}else b(a)})})},save:function(a,b,z,f){var g=a.name||a,h=mb.stringify(b);c(g,function(b){Gf(d,a,h,z,function(a){Aa(b.tf);a.c?f&&f({c:!0,ae:a.Mg}):f&&f(a)})})},remove:function(a,b){c(a.name||a,function(c){Og(d,a,function(a){Aa(c.tf);b&&b(a)})})}}})}function c(a,b){(f[a]||(f[a]=new Je)).Zn(!0,b)}var d,f={};Qg(function(c){c.c?(d=c.kp,b()):a(c)})}function ne(a){function b(d,f){b=p;h&&h.yb();if(d){var g={g:d};
f&&(g.D=f);a(g)}else a({c:!0,di:{load:function(a,b){c("get",!1,a,function(c){var z;try{var d=c.target.result;z=d?{c:!0,data:d.data,ae:a}:{g:N.Fc}}catch(f){z={g:N.Si,D:L(f)}}b(z)},function(a){b({g:N.Si,D:a})},function(){b({g:N.Ti})})},save:function(a,b,z,d){c(z?"add":"put",!0,{name:a,data:b},function(){d&&d({c:!0,ae:a})},function(a){d&&d({g:N.Nn,D:a})},function(){d&&d({g:N.Wi})})},remove:function(a,b){c("delete",!0,a,function(){b&&b(ta)},function(a){b&&b({g:N.Qi,D:a})},function(){b&&b({g:N.$f})})}}})}
function c(a,b,z,f,r,h){function S(){l&&l.yb();k&&(k.onsuccess=null,k.onerror=null)}try{var k=g.transaction("namedatapairs",b?"readwrite":"readonly").objectStore("namedatapairs")[a](z);k.onsuccess=function(a){S();f(a)};k.onerror=function(){S();r(d(k))};var l=new Ob(v.vl,function(){S();h()});l.tc()}catch(ka){S(),r(L(ka))}}function d(a){a=a&&a.error;return"onerror: "+(a&&(a.name||""+a))}var f=new ra.r("Storage"),g;if(eh){var h=new Ob(v.vl,function(){b(N.wi)});h.tc();hc("idbo");var k=eh.open("netflix.player",
1);k?(k.onblocked=function(){b(N.Wl)},k.onupgradeneeded=function(){hc("idbun");g=k.result;g.createObjectStore("namedatapairs",{keyPath:"name"})},k.onsuccess=function(){hc("idbs");g=k.result;b()},k.onerror=function(){hc("idbe");var a=d(k);f.error("IndexedDB open error",a);b(N.Xl,a)}):b(N.vi)}else fh?b(N.Vl,L(fh)):b(N.ui)}function Sg(a){function d(a,b){c(a,function(a,c){f(c)?b[a]=c.call(h,b[a]):qa(c)&&(b[a]=b[a]||{},d(c,b[a]))})}function r(a,b){var c=$g.call(arguments,1);return function(b){Z(b)&&(c[1]=
b);return a.apply(h,c)}}function g(a){a=a.toLowerCase();ja.hasOwnProperty(a)&&(Ca[a]=ja[a]);return a}function l(a,b,c){a=a.toLowerCase();if(Ca.hasOwnProperty(a)){var z=Ca[a];try{z=c?c(z):z}catch(d){z=h}if(z!==h)return z;ra.error("Invalid configuration value. Name: "+a)}return b}function hb(a,b,c,z){return l(a,b,function(a){U(a)&&(a=C(a));if(k(a,c,z))return a})}function E(a,b,c,z){return l(a,b,function(a){U(a)&&(a=C(a));if(k(a,c||0,z))return a})}function Ga(a,c,z,d){return l(a,c,function(a){U(a)&&
(a=wc(a));if(b(a,z,d))return a})}function m(a,b,c){return l(a,b,function(a){if(c?c.test(a):U(a))return a})}function x(a,b){return l(a,b,function(a){if("true"==a||!0===a)return!0;if("false"==a||!1===a)return!1})}function Na(a,b,c,z){a=a.split("|");for(var d=a.length;d--;)if(a[d]=C(a[d]),!k(a[d],b||0,c))return;if(z===h||a.length>=z)return a}function V(a,b,c,z,d){return l(a,b,function(a){return Na(a,c,z,d)})}function rb(a,b,c,z,d,f){return l(a,b,function(a){a=a.split(";");for(var b=a.length;b--;)if(a[b]=
Na(a[b],c,z),a[b]===h||a[b].length!=d)return;if(f===h||a.length>=f)return a})}function q(a,b){a=a.toLowerCase();if(Ca.hasOwnProperty(a)){for(var c=Ca[a],c=kd.isArray(c)?c:c.split("|"),z=c.length;z--;)if(U(c[z]))c[z]=mb.parse(ah(c[z]));else return ra.error("Invalid configuration value."),b;return c}return b}function H(a,b,c,z){return l(a,b,function(a){a=kd.isArray(a)?a:a.split("|");for(var b=a.length;b--;)if(c?!c.test(a[b]):!Ua(a[b]))return;if(z===h||a.length>=z)return a})}function X(a,b,c){return l(a,
b,function(a){var z={};n(z,b);if(U(a)){a=a.split(";");for(var d=a.length;d--;){var f=a[d],g=f.indexOf(":");if(0>=g)return;var r=f.substring(0,g);if(f=f.substring(g+1)){if(c&&!c.test(f))return;z[r]=f}else delete z[r]}}else n(z,a);return z})}function nb(a){var b=[];c(a,function(a,c){var z;try{z=mb.stringify(c)}catch(d){z="cantparse"}b.push(a+"="+z)});return b.join("\n")}var F=/^[0-9-+]+$/,K=/^(2\.14)|(2\.15)|(2\.16)|(3\.0)$/,da=/^[0-9]+[%]?$/,ea=/^[0-9]*$/,Ca,ja,Ja,gh=!0,p=!1,cb=!0,u=!1,la=!0;(function(){function b(a){a.split(",").forEach(function(a){var b=
a.indexOf("=");0<b&&(Ca[a.substring(0,b).toLowerCase()]=a.substring(b+1))})}Ca={};n(Ca,si);a&&a.length&&kk.call(a,function(a){U(a)?b(a):qa(a)&&n(Ca,a,{rh:!0})});ja=n({},Jd(),{rh:!0});var c=Qc().cadmiumconfig;c&&(ra.info("Config cookie loaded",c),b(c));lk&&n(Ca,ja)})();Ja=/^test/i.test(m(g("environment")))||/^test|int$/i.test(m(g("env")));v={};var w={vw:function(a){return gh=x(g("enableDDPlus20"),kb(a,!0))},uw:function(a){return gh=x(g("enableDDPlus"),kb(a,!0))},zw:function(a){return cb=x(g("enableLSSDH"),
kb(a,!0))},xw:function(a){return p=x(g("enableHEVC"),kb(a,!1))},yw:function(a){return la=x(g("enableImageSubs"),kb(a,!0))},jg:function(a){return H("audioProfiles",kb(a,ti)).filter(function(a){return"ddplus-2.0-dash"===a?ui&&!0:"ddplus-5.1-dash"===a?ui&&gh:!0})},ow:function(a){return u=x("disableHD",kb(a,!1))},ni:function(a){a=H("videoProfiles",kb(a,hh)).filter(function(a){return"playready-h264mpl31-dash"===a?!u:"playready-h264mpl40-dash"===a?!u&&mk:/^hevc-/.test(a)?p:!0});return vi(a)},pu:r(m,g("videoCodecs"),
Mg()),Rb:function(a){return H("timedTextProfiles",kb(a,wi)).filter(function(a){return"dfxp-ls-sdh"===a?cb:"nflx-cmisc"===a?la:!0})},tk:r(E,g("imageSubsResolution"),0),Ze:r(H,g("keySystemIdList"),xi,h,1),jj:r(m,g("canHDCP"),nk||"constrict",/^(constrict|ifpresent|never)$/),Il:r(m,"widevineRASC","CAUSwwUKvQIIAxIQ5US6QAvBDzfTtjb4tU/7QxiH8c+TBSKOAjCCAQoCggEBAObzvlu2hZRsapAPx4Aa4GUZj4/GjxgXUtBH4THSkM40x63wQeyVxlEEo1D/T1FkVM/S+tiKbJiIGaT0Yb5LTAHcJEhODB40TXlwPfcxBjJLfOkF3jP6wIlqbb6OPVkDi6KMTZ3EYL6BEFGfD1ag/LDsPxG6EZIn3k4S3ODcej6YSzG4TnGD0szj5m6uj/2azPZsWAlSNBRUejmP6Tiota7g5u6AWZz0MsgCiEvnxRHmTRee+LO6U4dswzF3Odr2XBPD/hIAtp0RX8JlcGazBS0GABMMo2qNfCiSiGdyl2xZJq4fq99LoVfCLNChkn1N2NIYLrStQHa35pgObvhwi7ECAwEAAToQdGVzdC5uZXRmbGl4LmNvbRKAA4TTLzJbDZaKfozb9vDv5qpW5A/DNL9gbnJJi/AIZB3QOW2veGmKT3xaKNQ4NSvo/EyfVlhc4ujd4QPrFgYztGLNrxeyRF0J8XzGOPsvv9Mc9uLHKfiZQuy21KZYWF7HNedJ4qpAe6gqZ6uq7Se7f2JbelzENX8rsTpppKvkgPRIKLspFwv0EJQLPWD1zjew2PjoGEwJYlKbSbHVcUNygplaGmPkUCBThDh7p/5Lx5ff2d/oPpIlFvhqntmfOfumt4i+ZL3fFaObvkjpQFVAajqmfipY0KAtiUYYJAJSbm2DnrqP7+DmO9hmRMm9uJkXC2MxbmeNtJHAHdbgKsqjLHDiqwk1JplFMoC9KNMp2pUNdX9TkcrtJoEDqIn3zX9p+itdt3a9mVFc7/ZL4xpraYdQvOwP5LmXj9galK3s+eQJ7bkX6cCi+2X+iBmCMx4R0XJ3/1gxiM5LiStibCnfInub1nNgJDojxFA3jH/IuUcblEf/5Y0s1SzokBnR8V0KbA=="),
sx:function(){return-1},Zq:r(hb,g("logDisplayMaxEntryCount"),1E3,-1),br:r(hb,g("logToConsoleLevel"),-1),Ie:function(){return Ja},Os:r(x,"requireNetflixId",!1),Ps:r(x,"requireSecureNetflixId",!1),hu:r(x,"upgradeNetflixId",!0),Dr:r(m,"netflixIdEsnPrefix"),Dp:r(x,"enforceSinglePlayback",!0),Ep:r(x,"enforceSingleSession",!1),sg:r(x,"closeOtherPlaybacks",!0),K:r(x,g("useASE"),!1),lo:r(E,"asyncLoadTimeout",15E3,1),dr:r(E,"mainThreadMonitorPollRate",0),Mr:r(x,"nrdpAlwaysShowUIOverlay",!1),py:r(m,"nrdpConfigServiceApiHostname",
"api-global.netflix.com"),Qe:r(m,"groupName",""),Fl:r(E,g("verbosePlaybackInfoDenominator"),100),io:r(x,g("allowPleaseCallMessage"),!1),Ms:r(x,"renderTimedText",!0),zl:r(X,"timedTextStyleDefaults",{}),Al:r(X,"timedTextStyleOverrides",{}),Xt:r(X,"timedTextFontFamilyMapping",yi||{"default":"font-family:Arial,Helvetica;font-weight:bolder"}),Yt:r(E,g("timedTextTimeOverride"),0),Gf:r(E,"timedTextSimpleFallbackThreshold",ok),xg:r(m,g("customDfxpUrl")),rj:r(H,"cdnIdWhiteList",[]),qj:r(H,"cdnIdBlackList",
[]),mo:r(x,g("asynchronousCDNSelection"),!0),Qg:r(m,g("forceAudioTrack")),Ar:r(x,"muteVolumeOnPlaybackClose",!0),qy:r(m,"nrdpVolumeControlType","VOLUME_STREAM"),Le:r(m,g("forceTimedTextTrack")),Ot:r(E,"storageMinimumSize",0,0),wl:r(m,"storageType","idb",/^(none|fs|idb)$/),vl:r(E,"storageTimeout",8E3,1),Xq:r(E,"lockExpiration",1E4),Yq:r(E,"lockRefresh",3E3),ts:r(x,"preserveLastFrame",!1),vr:r(E,"minBufferingTimeInMilliseconds",4E3),th:r(E,"maxBufferingTimeInMilliseconds",0),vs:r(E,"progressBackwardsGraceTimeMilliseconds",
4E3),ws:r(E,"progressBackwardsMinPercent",10),yo:r(m,g("bookmarkIgnoreBeginning"),"30000",da),zo:r(m,g("bookmarkIgnoreEnd"),"5%",da),ug:r(m,"connectionStrategy","parallel",/^(parallel|single)$/),hj:r(m,g("bandwidthMeterType"),"sliding_window",/^(historical|sliding_window)$/),Hk:r(E,"maxParallelConnections",3),Nh:r(x,"reportThroughputInLogblobs",!0),Yr:r(m,"parallelDownloadManagerType","chunk",/^(subchunk|chunk)$/),Zr:r(E,"parallelDownloaderUpdateFrequencyMs",500),$r:r(E,"parallelDownloaderUpdateThrottleFrequencyMs",
200),gr:r(E,"maxChunksInProgressForSubchunking",3),Rt:r(E,"subchunkLength",ih(2,17)),as:r(Ga,"parallelSafeBufferThreshhold",40/240),Xn:r(Ga,"abortDownloadBufferThreshhold",40/240),ci:r(E,"slidingWindowWidthMilliseconds",3E4),es:r(x,"pingOnConnectTimeout",!0),ds:r(E,"pingCDNTimeoutMilliseconds",8E3),Qd:r(E,"maxBufferSizeMilliseconds",232E3,1E4,145152E5),Kb:r(E,"maxBufferSizeBytes",0),dj:r(E,"backBufferSizeMilliseconds",1E4,0,145152E5),wo:r(E,"backToFrontBufferRatioPercent",25,0,1E3),ig:r(E,"audioChunkSizeMilliseconds",
16E3),ou:r(E,"videoChunkSizeMilliseconds",4004),qp:r(x,"droppedFrameRateFilterEnabled",!1),rp:r(E,"droppedFrameRateFilterMaxObservation",60,10,1E3),tp:r(rb,"droppedFrameRateFilterPolicy",[[3,15],[6,9],[9,2],[15,1]],h,h,2,0),up:r(x,"droppedFrameRateFilterWithoutRebufferEnabled",!0),Ge:r(E,"droppedFrameRateFilterBasedOnPreviousSession"),Kj:r(V,"droppedFrameRateFilterBasedOnPreviousSessionPolicy"),sp:r(E,"droppedFrameRateFilterMinHeight",384),xp:r(E,"droppedFramesStorageSessionLimit",10),wp:r(E,"droppedFramesStorageInterval",
6E4),vp:r(V,"droppedFramesPercentilesList",[]),hp:r(E,g("defaultVolume"),100,0,100),Dj:r(x,"disableVideoRightClickMenu",!0),Xa:r(E,"minDecoderBufferMilliseconds",1E3,0,145152E5),Vr:r(E,"optimalDecoderBufferMilliseconds",5E3,0,145152E5),ir:r(E,"maxDecoderBufferMilliseconds",7E3,0,145152E5),yj:r(E,"decoderTimeoutMilliseconds",1E4,1),Ej:r(x,"disgardMediaOnAppend",!1),ko:r(x,"appendMediaBeforeInit",!1),cs:r(E,"pauseTimeoutLimitMilliseconds",18E5),uk:r(E,"inactivityMonitorInterval",3E4,0),Yn:r(V,"abrdelLogPointsSeconds",
[15,30,60,120],0,h,4),rq:r(m,g("heuristicsAlgorithm"),""),Lp:r(rb,g("fixedVideoBitrates"),[],h,h,2,0),yk:r(H,g("initialVideoBitrates"),["0+","400+","900+"],F,1),Eq:r(H,g("initialVideoBitratesForCarreraFallback"),["0+","400+","900+"],F,1),Cq:r(H,g("initialAudioBitrates"),["0+","90+","150+"],F,1),no:r(E,"audioBandwidthDenominator",15,1),ul:r(E,"simulationLimitMilliseconds",12E5,1E4),sq:r(E,"highStreamSimulationMilliseconds",12E4,1),ms:r(rb,"prebufferBitrate",[[500,235],[1E3,560],[5E3,1050],[1E4,1050],
[3E4,3E3]],h,h,2,1),xl:r(rb,"switchUpToBitrate",[[235,560],[375,750],[560,1050],[750,1400],[1050,1750],[1750,3E3],[2350,1E5]],h,h,2,1),Eh:r(E,"prebufferMinAudioMilliseconds",6E3),Fh:r(E,"prebufferMinVideoMilliseconds",6E3),os:r(E,"prebufferMaxMilliseconds",3E4),Gs:r(E,"rebufferMaxMilliseconds",232E3),Bp:r(x,"enableTrickPlay",!1),pe:r(V,"additionalDownloadSimulationParams",[2E3,2E3,100],0,h,3),eu:r(E,"trickPlayHighResolutionBitrateThreshold",1E3),fu:r(E,"trickPlayHighResolutionThresholdMilliseconds",
1E4),gu:r(Ga,"trickplayBufferFactor",.5),du:r(E,"trickPlayDownloadRetryCount",1),Xk:r(V,"prebufferSimulationParams",[2E3,2E3,60],0,h,3),ij:r(rb,"bufferingSimulationParams",[[6E4,1E3,1E3,100],[12E4,1E3,1E3,20],[18E4,0,0,0]],h,h,4,1),lg:r(rb,"bufferingSwitchUpSimulationParams",[[6E4,3E3,3E3,140],[12E4,3E3,3E3,60],[18E4,0,0,0]],h,h,4,1),Gj:r(E,"doNotSwitchDownIfBufferIsAboveMilliseconds",18E4),zp:r(x,"enableHistorical",!0),ih:r(E,"histAggregationTimeSpanInSeconds",300),tq:r(E,"histCompareBitsIPv4",24),
uq:r(E,"histCompareBitsIPv6",32),lk:r(m,"histFilterType","none",/^(none|timeofDay|dayOfWeekAndTimeOfDay)$/),pk:r(E,"histSizeLimit",1E3),nk:r(E,"histMinSampleSize",1),mk:r(E,"histMaxSampleSize",1E3),qk:r(E,"histTimeOfDayRangeInSeconds",3600),Io:r(X,"carreraParameters",{1750:7,1050:5,750:4.5,560:4.5,375:4.5}),mj:r(hb,"carreraMediaSecondsToDownload",8E3),kj:r(hb,"carreraChunksToAverage",10),Sv:r(Ga,"carreraConfidenceThreshold",.7),lj:r(hb,"carreraHistoricalPercentileToUse",50),lh:r(m,"initialBitrateSelectionAlgorithm",
"default",/^(default|carrera)$/),Ao:{mr:r(E,"maxReservoirSizeMilliseconds",12E4),lr:r(E,"maxOutageProtectionMilliseconds",6E4),hr:r(E,"maxCushionSizeInBufferPercentage",90),Rs:r(E,"reservoirLookAheadChunks",60),Jt:r(E,"startupPhaseInChunks",30),Kt:r(x,"startupQualityOptimization",!0),yp:r(x,"dynamicReservoir",!0),Nq:r(x,"isUsingStrictMaxChunkSize",!0),cu:r(x,"transitFromInitialPhase",!0),Lt:r(x,"startupSafeRateCalculationEnabled",!0),Mt:r(x,"startupThresholdFunctionOfBufferEnabled",!0),Ht:r(x,"startupLookAheadCalculationEnabled",
!1),It:r(E,"startupLookAheadChunks",120),Jq:r(x,"isReservoirManualSet",!1),fr:r(E,"manualReservoirMilliseconds",9E4),Fq:r(x,"isCushionManualSet",!1),er:r(E,"manualCushionMilliseconds",126E3),Iq:r(x,"isLookingAhead",!1),Mq:r(x,"isUsingRateMap",!1)},hb:r(V,"failedDownloadRetryWaits",[10,200,500,1E3,2E3,4E3,8E3,16E3]),Fw:r(V,"failedDownloadRetryWaitsASE",[10,200,500,1E3,2E3,4E3]),ju:r(x,"useCDNExponentialBackoff",!0),ll:r(E,"selectCdnDownloadRetryCountBeforeCdnSwitch",2),qt:r(E,"selectCdnTimeoutMilliseconds",
1E3),pt:r(E,"selectCdnSignificantLatency",300),xf:r(E,"selectCdnBandwidthThresholdKbps",2E3),ml:r(m,"selectCdnType","bandwidth",/^(latency|bandwidth)$/),se:r(E,"bandwidthTestBytesPerCdn",204800),mu:r(x,"useVariableConnectTimeout",!1),wr:r(E,"minConnectTimeoutMilliseconds",4E3),Yb:r(E,"connectTimeoutMilliseconds",8E3,500),Vo:r(E,"connectTimeoutBufferDiscount",2),Wo:r(E,"connectTimeoutoutUpperLimitMultiplier",1E4),Td:r(E,"noProgressTimeoutMilliseconds",8E3,500),lu:r(x,"useOnLineApi",!1),qq:r(E,"headerDownloadRetryCountBeforeCdnSwitch",
1),gi:r(E,"timedTextDownloadRetryCountBeforeCdnSwitch",1),vk:r(E,"initialHeaderDownloadTimeout",2E3),kk:r(E,"headerDownloadTimeout",3E3),tu:r(x,"webkitDecodedFrameCountIncorrectlyReported",!1),ot:r(E,"seekBackOnAudioTrackChangeMilliseconds",8E3),Df:r(H,g("supportedAudioTrackTypes"),[],h,1),Tt:r(H,g("supportedAudioBitrates"),[],F),Ut:r(H,g("supportedVideoBitrates"),[],F),wk:r(E,"initialLogFlushTimeout",5E3),dd:r(m,"playdataPersistKey",Ja?"unsentplaydatatest":"unsentplaydata"),yf:r(x,"sendPersistedPlaydata",
!0),Ch:r(E,"playdataPersistIntervalMilliseconds",4E3),ks:r(x,"playdataPrepareRequest",!1),gh:r(E,"heartbeatCooldown",1E4,1E3),ar:r(H,"logPerformanceTiming","navigationStart redirectStart fetchStart secureConnectionStart requestStart domLoading".split(" ")),rr:r(x,"midplayEnabled",!0),Jk:r(E,"midplayIntervalMilliseconds",3E5),sr:r(V,"midplayKeyPoints",[15E3,3E4,6E4,12E4]),Fj:r(E,g("dlprestartCount"),0),Fg:r(E,"downloadReportDenominator",0),op:r(E,"downloadReportInterval",3E5),Be:r(H,"downloadReportTcpInfo",
[]),qw:r(E,"downloadReportTraceInterval",1E3),xo:r(X,g("bookmarkByMovieId"),{}),fc:r(x,g("limitedDurationLicense"),!1),af:r(E,g("licenseRenewalRequestDelay"),0),Ek:r(x,g("limitedDurationFlagOverride"),h),$d:r(x,g("secureStopEnabled"),!1),jl:r(x,g("secureStopFromPersistedKeySession"),!1),ht:r(E,"secureStopKeyMessageTimeoutMilliseconds",2E3,1),ft:r(E,"secureStopKeyAddedTimeoutMilliseconds",1E3,1),mt:r(E,g("secureStopPersistedKeyMessageTimeoutMilliseconds"),2500,1),nt:r(E,g("secureStopPersistedKeySessionRetries"),
17,1),kt:r(E,"secureStopPersistedKeyAddedTimeoutUnmatchedSession",1E3,1),dt:r(x,g("secureStopDisplayLogWindowOnError"),!1),et:r(x,g("secureStopIgnoreVideoError"),!1),ku:r(x,g("useCdmId"),!1),Bq:r(H,"initSegmentBoxTypeList",["ftyp","moov"]),wq:r(H,"ignorePsshList",pk||[]),uu:r(x,"workaroundSaio",!0),vu:r(x,"workaroundTenc",!0),Jl:r(x,g("workaroundAudioKeyFrame"),!1),Go:r(x,g("callEndOfStream"),zi),Ro:r(x,g("clipLongVideo"),Ai),zt:r(x,g("setVideoElementSize"),qk),Oo:r(x,g("clearVideoSrc"),!0),Aj:r(E,
g("delayPlayPause"),0),vo:r(x,g("avoidSBRemove"),!1),qs:r(x,g("preferOldEme"),!0),ys:r(x,g("promiseBasedEme"),!1),Or:r(x,g("nudgeSourceBuffer"),!1),kl:r(hb,g("seekDelta"),1),ps:r(x,g("preciseSeeking"),!1),zj:r(X,g("delayErrorHandling")),$t:r(x,"trackingLogEnabled",!0),bu:r(m,"trackingLogUrl",Ja?"https://customerevents.test.netflix.com/track/debug":"https://customerevents.netflix.com/track/debug",Zg),au:r(V,"trackingLogStallKeyPoints",[1E4,3E4,6E4,12E4]),Kg:r(m,"esnUrl"),Qj:r(E,"esnUrlTimeout",6E3),
Mj:r(x,g("enableEmeVerboseLogging"),!1),Ap:r(x,"enableLastChunkLogging",!1),Br:r(m,"nccpAppId","",ea),Cr:r(m,"nccpSessionId","",ea),Jo:r(m,"cdnProxyUrl"),gc:{Nw:r(x,"nccpForceRegister",!1),Mw:r(x,"nccpForceAuthenticationRenewal",!1),Ke:r(m,g("nccpForceDebugLogLevel"),h,/^(ERROR|WARN|INFO|TRACE)$/),Hh:r(m,"nccpProtocolVersion","3.1",K),zs:r(X,"protocolVersionOverrides",{mdxregister:"2.16"},K),ck:function(){return function(a){return this.zs()[a]||this.Hh()}.bind(w.gc)},rc:r(m,"nccpControllerUrl",Ja?
"https://cbp.nccp.test.netflix.com/nccp/controller":"https://cbp.nccp.netflix.com/nccp/controller",Zg),Ct:function(){return"2.0000.453.011"},Cl:r(m,"nccpUIVersion"),Ko:function(){return"0"},Zk:r(H,"preferredLanguages",jh,/^[a-zA-Z-]{2,5}$/,1),Us:r(x,"nccpRetryOnNetworkFailures",!0),jo:r(x,"nccpAlwaysIncludeIdsInPlaydata",!0)},kg:r(m,"authenticationType","JWK_RSA"),oo:r(X,"authenticationKeyNames",n({e:"DKE",h:"DKH",w:"DKW",s:"DKS"},rk)),Vt:r(m,"systemKeyWrapFormat",sk),yr:r(x,"mslDeleteStore",!1),
zr:r(x,"mslPersistStore",!0),Fv:r(E,"aseAudioBufferSizeBytes",23060480),Gv:r(E,"aseVideoBufferSizeBytes",335544320),Vz:r(V,"streamingFailureRetryWaits",[4E3,8E3]),cy:r(E,"minInitVideoBitrate",560),Jx:r(E,"maxInitVideoBitrate",1050),$x:r(E,"minAcceptableVideoBitrate",235),ww:r(x,"enableGoodQualityBuffering",!1),fy:r(E,"minRequiredBuffer",3E4),ey:r(E,"minPrebufSize",6E3),lA:r(x,"useMaxPrebufSize",!1),Px:r(E,"maxPrebufSize",3E4),Gx:r(E,"maxBufferingTime",2E3),dx:r(q,"initialBitrateSelectionCurve",null),
eA:r(E,"throughputPercentForAudio",15),Lv:r(E,"bandwidthMargin",10),Mv:r(q,"bandwidthMarginCurve",[{m:38,b:8E3},{m:50,b:6E4},{m:17,b:12E4},{m:0,b:24E4}]),ax:r(E,"highWatermarkLevel",3E4),hA:r(E,"toStableThreshold",3E4),iA:r(E,"toUnstableThreshold",15E3),Tz:r(x,"skipBitrateInUpswitch",!0),qA:r(E,"watermarkLevelForSkipStart",8E3),Zw:r(E,"highStreamRetentionWindow",9E4),$w:r(E,"highStreamTransitionWindow",3E5),zx:r(E,"lowestBufForUpswitch",9E3),rx:r(E,"lockPeriodAfterDownswitch",15E3),yx:r(E,"lowWatermarkLevel",
15E3),Rx:r(E,"maxSimuLength",6E5),Ax:r(E,"lowestWaterMarkLevel",6E3),Yx:r(Ga,"mediaRate",1.5),Hw:r(Ga,"fastUpswitchFactor",3),Kx:r(E,"maxMediaBufferAllowed",24E4),vx:r(E,"lowGradeModeEnterThreshold",12E4),wx:r(E,"lowGradeModeExitThreshold",9E4),Ix:r(E,"maxDomainFailureWaitDuration",3E4),Fx:r(E,"maxAttemptsOnFailure",18),Dw:r(x,"exhaustAllLocationsForFailure",!0),Lx:r(E,"maxNetworkErrorsDuringBuffering",20),Hx:r(E,"maxBufferingTimeAllowedWithNetworkError",6E4),Gw:r(E,"fastDomainSelectionBwThreshold",
2E3),fA:r(E,"throughputProbingEnterThreshold",4E4),gA:r(E,"throughputProbingExitThreshold",34E3),px:r(E,"locationProbingTimeout",1E4),Kw:r(E,"finalLocationSelectionBwThreshold",1E4),cA:r(Ga,"throughputHighConfidenceLevel",.75),dA:r(Ga,"throughputLowConfidenceLevel",.4),Mx:r(E,"maxPartialBuffersAtBufferingStart",2),dy:r(E,"minPendingBufferLen",6E3),Nx:r(E,"maxPendingBufferLen",12E3),Sx:r(E,"maxStreamingSkew",4E3),Ox:r(E,"maxPendingBufferPercentage",10),Qx:r(E,"maxRequestsInBuffer",60),Yw:r(E,"headerRequestSize",
4096),ay:r(E,"minBufferLenForHeaderDownloading",1E4),xz:r(E,"reserveForSkipbackBufferMs",1E4),iz:r(x,"pipelineEnabled",!1),kA:r(E,"updatePtsIntervalMs",va(4004,16E3)/2),Pv:r(E,"bufferLevelNotifyIntervalMs",va(4004,16E3)/2),iw:r(E,"defaultHeaderCacheSize",4),hw:r(E,"defaultHeaderCacheDataCount",3),tw:r(x,"enableAbandonTesting",!1),xv:r(E,"abandonRequestFrequency",4),Wz:r(E,"streamingStatusIntervalMs",2E3),kz:r(E,"prebufferTimeLimit",24E4),by:r(E,"minBufferLevelForTrackSwitch",2E3),fz:r(E,"penaltyFactorForLongConnectTime",
2),ux:r(E,"longConnectTimeThreshold",200),Av:r(E,"additionalBufferingLongConnectTime",2E3),Bv:r(E,"additionalBufferingPerFailure",8E3),ly:r(E,"networkFailureResetWaitMs",2E3),ky:r(E,"networkFailureAbandonMs",6E4),Tx:r(E,"maxThrottledNetworkFailures",3),bA:r(E,"throttledNetworkFailureThresholdMs",200),zv:r(x,"abortUnsentBlocks",!1),xx:r(E,"lowThroughputThreshold",400),hy:r(x,"mp4ParsingInNative",!0),Uz:r(x,"sourceBufferInOrderAppend",!1),Ih:r(x,"pruneRequestsFromNative",!0),Rv:r(E,"bufferThresholdToSwitchToSingleConnMs",
18E4),Qv:r(E,"bufferThresholdToSwitchToParallelConnMs",12E4)},aa=!0;lg=function(a){a&&(Ca=n({},a,{rh:!0}),d(w,v),ra.trace("Config applied for",nb(aa?Ca:a)),aa=!1)};lg(Ca)}function Hf(a,b){return U(a)&&"%"==a[a.length-1]?lb(wc(a)*b/100):a}function Fd(){return 3<=C(v.gc.Hh)}function Tg(a,b,c,d){n(this,{Oj:b,vc:a,ct:tk||"cadmium",rw:c,Pj:d})}function He(){for(var a="",b=ua(ld/1E3),c=6;c--;)a="0123456789ACDEFGHJKLMNPQRTUVWXYZ"[b%32]+a,b=ua(b/32);for(;30>a.length;)a+="0123456789ACDEFGHJKLMNPQRTUVWXYZ"[fc(0,
31)];return a}function If(){try{var a=v.Ie?"NetflixIdTest":"NetflixId",b=Qc()[a],c=Ta(b);return"dbl"==c||"dev"==c}catch(d){}}function ic(a){nd.R({url:v.Kg,Yb:v.Qj,Td:v.Qj,type:kh,withCredentials:!0,hc:function(a){a=mb.parse(a).data.esn;if(!Bi.test(a))throw new Wa("bad esn");var b=a.match(Bi)[2];if(!Ua(b))throw new Wa("bad deviceId");mg=a;return b}},a)}function Ld(a){a=new Vc(Bc(a));a.ba();return{Qq:a.bl(),Cp:a.bl()}}function Jf(a,b){var c=a.url.split("?"),d=c[0],f;f=a.offset;(f=f!==h?a.length!==h?
f+"-"+(a.offset+a.length-1):f+"-":void 0)&&(b.Ob=f,d="/"==d[d.length-1]?d+"range/":d+"/range/",d+=f);f=a.Ic?"random="+(1E17*ef()).toFixed(0):"";d=c[1]?d+("?"+c[1]+(f?"&"+f:"")):d+(f?"?"+f:"");!a.i||d&&0==d.toLowerCase().indexOf("https")||(c=v&&v.Jo)&&(d=c.replace("{URL}",d).replace("{EURL}",Wd(d)));b.url=d}function Md(){return!1!==Zb.onLine}function Oe(a,b,d,f){var g=f.Dh,k=f.headers;a.open(g?"POST":"GET",b,!d);switch(f.responseType){case Cc:a.responseType="arraybuffer";break;case Ci:Bb(a,"overrideMimeType",
h,"text/xml")}g&&(b={"Content-Type":U(g)?"text/plain":"application/x-octet-stream"},k=k?n(b,k):b);k&&c(k,function(b,c){a.setRequestHeader(b,c)});f.withCredentials&&(a.withCredentials=!0);a.msCaching!==h&&(a.msCaching="disabled");g?a.send(g):a.send()}function jc(a,b){switch(b.type){case Cc:return a.response||new ArrayBuffer(0);case Ci:return a.responseXML;default:return a.responseText}}function Kf(a){function b(a){b=p;f.onload=null;f.onabort=null;f.onerror=null;var c=f.status;!a&&200<=c&&299>=c?(g.content=
jc(f,g),g.c=!0):(g.g=a?N.cb:N.kd,g.Ia=g.V=c,g.c=!1)}var c=/^[a-z]*:\/\/.*/i,d=a.url,f=new Di,g={N:a,type:a.responseType};Oc(U(d)&&!c.test(d));f.onload=function(){b()};f.onerror=function(){b()};f.onabort=function(){b(!0)};Oe(f,d,!0,a);return g}function Pe(a){function b(c){a.fireEvent($d,c)}return{R:function(c,d){c.Ma=a;var f=nd.R(c,d);a.fireEvent(hf,f);f.aj(b);return f}}}function Lf(a){return{R:function(b,c){b.Ma=a;var d;a.i.value&&v.es&&(d={fs:new Se(a.xa),jr:v.Hk,Rk:0,i:a.i.value});d=nd.R(b,c,d);
a.fireEvent(hf,d);d.aj(function(b){a.fireEvent($d,b)});return d}}}function Se(a){function b(a,c,z){if(c.Ua[a.id])return{responseType:Cc,url:c.Ua[a.id],hc:zf,offset:c.j.v[z?z.index:0].offset,length:8,i:a,track:c.track,stream:c,Eb:z.type+"-"+z.index+"-ping",Ic:!0}}this.xa=a;this.ping=function(a){function c(a){pb(k);z(a)}function z(b){(b=b&&b.c)&&a.St();!b&&a.Sj()}var d=this.xa,f=a.stream,g=a.H,h;if(a.Rk>a.jr)a.Sj();else if(g&&!g.media){(f=b(a.i,f,g))&&(h=d.R(f,c));var k=$a(function(){z();h&&h.abort()},
v.ds)}}}function Pb(a,b){for(var c=1;(b=arguments[c++])&&(a=a[b]););return a}function Da(a,b){var c;a?c=C(a[zb]):b!==h&&(c=b);return c}function pa(a,b){var c;a?c=a[zb]:b!==h&&(c=b);return c}function Cf(a){if(Ua(a)){var b=(new uk).parseFromString(a,"text/xml"),c=b.getElementsByTagName("parsererror");if(c&&c[0]){try{ra.error("parser error details",{errornode:(new vk).serializeToString(c[0]),xmlData:a.slice(0,300),fileSize:a.length})}catch(d){}throw new Wa("xml parser error");}return b}throw new Wa("bad xml text");
}function Nd(a){var b,c,d={};d[ng]=a.localName;var f={};d[$b]=f;var g=[];d[lh]=g;var h=a.attributes;b=h.length;for(c=0;c<b;c++){var k=h[c];f[k.localName]=k.value}a=a.childNodes;b=a.length;f={};for(c=0;c<b;c++)switch(h=a[c],h.nodeType){case wk:h=Nd(h);k=h[ng];h[xk]=d;g.push(h);d[k]?f[k][Qb]=h:d[k]=h;f[k]=h;break;case yk:case zk:h=h.text||h.nodeValue,g.push(h),d[zb]||(d[zb]=h)}return d}function Gd(a,b){var c,d;try{c=Cf(a)}catch(f){ra.error("xml2xmlDoc exception",f)}Aa(function(){if(c&&c.documentElement)try{d=
Nd(c.nodeType==Ak?c.documentElement:c)}catch(a){ra.error("xmlDoc2js exception",a)}Aa(function(){d?b({c:!0,object:d}):b({c:!1,g:N.Tl})})})}function Od(a,b,d,f){Oc(qa(a)&&!kd.isArray(a));f=f||"";var g="",h=a.hasOwnProperty($b)&&a[$b];h&&c(h,function(a,b){g&&(g+=" ");g+=a+'="'+pe(b)+'"'});d=(b?b+":":"")+d;var h=f+"<"+d+(g?" "+g:""),k=a.hasOwnProperty(zb)&&a[zb].trim&&""!==a[zb].trim()&&a[zb];if(k)return h+">"+pe(k)+"</"+d+">";a=Ug(a,b,f+" ");return h+(a?">\n"+a+"\n"+f+"</"+d+">":"/>")}function Ug(a,
b,d){Oc(qa(a)&&!kd.isArray(a));d=d||"";var f="";c(a,function(a,c){if("$"!=a[0]){var z;z=c;z=kd.isArray(z)?z:[z];for(var g=0;g<z.length;g++)if(c=z[g],f&&(f+="\n"),qa(c))f+=Od(c,b,a,d);else{var h=(b?b+":":"")+a;f+=d+"<"+h+">"+pe(c)+"</"+h+">"}}});return f}function pe(a){return U(a)?mi(a):b(a)?""+a:""}function Te(a,b,d,g){function k(a,b){v("netflixid",h,h,a,function(a){if(a.c){var c=Pb(a.Bc,"netflixiddata","netflixidpair");a=pa(c.netflixid);var c=pa(c.securenetflixid),d=/^[^=]*=([^;]*)/;b({c:!0,ia:a.match(d)[1],
$a:c.match(d)[1],yh:a,Oh:c})}else b(a)})}function l(a,b,c){v("mdxpair",{targetuuid:a.$z,controllerrequest:{cticket:a.ap,pairdata:{nonce:a.Fr,controlleruuid:a.cw},pairdatahmac:a.ez}},h,b,function(a){if(a.c){a=a.Ts.mdxpairgrant;var b=a.controllererror,d=a.targetsharedsecret,z=a.grantdata,f,g;z&&(g={nonce:Da(z.nonce),controlleruuid:pa(z.controlleruuid),controlleruserid:pa(z.controlleruserid),controllersharedsecret:pa(z.controllersharedsecret),targetuuid:pa(z.targetuuid),targetuserid:pa(z.targetuserid)},
f=pa(a.grantdatahmac));d&&(g=g||{},g.targetsharedsecret=pa(d.sharedsecret));c({c:!0,Zv:b&&{$v:Da(b.controllererrorcode)},Uw:g,Vw:f})}else c(a)})}function E(c,d,r,h,k,l,E){function ka(){var b=0;Ga={softwareversion:a.Ct,sdkversion:g.ct,certificationversion:a.Ko,preferredlanguages:{appselectedlanguages:{language:a.Zk.map(function(a){return{index:b++,bcp47:a}})}},clientservertimes:{servertime:x(),clienttime:k}};a.Cl&&(Ga.uiversion=a.Cl);n()}function n(){var a='<?xml version="1.0" encoding="utf-8"?>\n<nccp:request xmlns:nccp="http://www.netflix.com/eds/nccp/'+
K+'">\n'+Od(Ga,"nccp","header")+"\n"+Od(m,"nccp",d)+"\n</nccp:request>";E({c:!0,Kk:{Sd:l,hf:d,url:c+"/"+K+"/"+d,body:a,timeout:1E3*b.gf,El:l.X,zf:h&&h.mslServiceTokens,vz:!da[d],Qk:!!da[d],Nj:!0}})}r=r||{};var K=a.ck(d),m,Ga;f(r)?r(l,function(a){a.c?(m=a.wz,ka()):E(a)}):(m=r,ka())}function m(c,f,g,k,l){function ka(a){n.trace("Sending NCCP request",{Method:c});d.send(a,function(a){if(a.c){n.trace("Received NCCP response",{Method:c});var b=a.body;ea={mslServiceTokens:a.zf};Ka(b)}else x(a)})}function Ka(a){Gd(a,
function(a){var d;if(a.c&&"response"==(d=a.object)[ng]){a=d;var z,f;try{var g=a.responseheader.clientservertimes;z=Da(g.clienttime);f=Da(g.servertime)}catch(r){n.error("Exception while checking clienttime in NCCP response",r)}if(K==z||K+1==z){b.Th=f-Nb();var k;n.trace("Processing NCCP response",{Method:c});try{var l=a.result,ka=l.status,E=a.parameters;b.vf=Da(E.retrycontrol);b.gf=Da(E.mintimeout);b.qh=Da(E.loginterval);b.uh=Da(E.maxlogsize);b.df=pa(E.loglevel);var Ka=pa(E.playbackparameters.sendheartbeats);
b.Sh=/^true$/i.test(Ka);b.Jd=Da(E.playbackparameters.heartbeatinterval);(b.zh||p)();if("true"!=ka.success[zb]){var m=ka.error||{},Ga=Da(m.code),Ja=Da(m.reasoncode,0),F=Da(m.actionid),hb=pa(m.description),ja=m.usertext,V=ja?pa(ja.text):h,da=ja?pa(ja.bcp47):h;n.warn("NCCP responded with error",{Method:c,ActionId:F,Code:Ga,Description:hb});var v=N.Km;8==F&&(v=N.Hi);k={Lk:m,Sc:F,g:v,V:Ga,Bd:Ga,Jg:Ja,D:hb,Gp:V,Cw:da}}else k={c:!0,Ts:l,Bc:l[c],Na:ea}}catch(H){n.error("Exception while processing NCCP response",
H),k={g:N.Uf,D:L(H)}}x(k)}else{f=a.result.status;var Ha,cb;"true"!=f.success[zb]&&(Ha=f.error||{},cb=Da(Ha.code),Ha=pa(Ha.description));x({g:z?N.Cm:N.Dm,V:cb,D:Ha})}}else n.error("Unable to parse NCCP response as xml",{Method:c}),x({g:N.Jm})})}function x(a){n.trace("Executed NCCP method",{Method:c,Success:!!a.c},a.c?h:fb(a));l=l||p;a.method=c;a.rc=Ga;l(a)}var n=k.log,K=Nb(),Ga=nb(a.rc),ea;n.trace("Executing NCCP method",{Method:c});E(Ga,c,f,g,K,k,function(a){a.c?ka(a.Kk):x(a)})}function v(c,d,f,g,
r){function h(){m(c,d,f,g,function(d){var f=d.Sc,E;if(!d.c){var ka;if(xd(d.g))switch(f){case 7:ea[d.rc]=!0;if(d.Lk){var Ka=pa(d.Lk.nccpendpoint);E=function(a,b){k.info("ActionId redirect",{Method:c,From:d.rc,To:Ka});var z=nb(Ka);ea[z]?b({g:N.Ii,D:"Loop detected: "+d.rc+", "+z}):(lg({nccpControllerUrl:z}),b(ta))}}break;case 2:ka=!0}else ke(d.g)?a.Us&&(ka=!0):Hc(d.g)&&2==d.Tc&&(ka=!0);if(!E)if(ka)if(ka=b.vf,l<ka){l++;var x=F(l);k.warn("Method failed, retrying",{Method:c,Attempt:l,WaitTime:x,RetryControl:ka},
fb(d));E=function(a,b){$a(function(){b(ta)},x)}}else k.error("Method failed, retry limit exceeded, giving up",{Method:c,Attempt:l,RetryControl:ka},fb(d));else k.error("Method failed, not retrying",{Method:c},fb(d))}if(E){var n={Method:c,ActionId:""+f,MslCode:""+d.Tc};k.info("Handling failed method",n);E(g,function(a){a.c?(k.info("Handle success, retrying method",n),h()):(k.error("Handle error",n,fb(a)),r(a))})}else r(d)})}var k=g.log,l=0;r=r||p;h()}function x(){return Na(Nb())}function Na(a){return a+
b.Th}function V(b,c,d){var f={},g={movieid:b.movieId,sessionstart:b.sessionStartEpoch};c?(g.heartbeattype=d,f={heartbeatdata:g}):(g.sessionend=b.sessionEpoch,f={},b.isLicensed&&!a.jo||n(f,{appid:b.appId,sessionid:b.sessionId,trackid:b.trackingId,xid:b.xid},{kf:!0}),f.sessiondata=g,b.securestop&&(f.securestop=b.securestop));(d=b.playback)?(c=d.playTimes,g.firstpts={pts:Qa(d.startPosition),timestamp:d.startEpoch},g.lastpts={pts:Qa(b.position),timestamp:b.sessionEpoch},b=g.playbacktime={total:Qa(c.total)},
q(b,"videostreamplaytimes",c.video),q(b,"audiostreamplaytimes",c.audio),q(b,"timedtextstreamplaytimes",c.timedtext)):b.errorDisplayCode?g.error={}:(g.lastpts=g.firstpts={pts:Qa(b.position),timestamp:b.sessionEpoch},g.playbacktime={total:"0"});return f}function rb(c,f,g,h){function k(c){d.Do(c,function(c){if(c.c){var d=1E3*b.gf;l({c:!0,vq:{responseType:kh,url:Ka+"/"+a.ck("playdata")+"/playdata",Dh:c.body,withCredentials:!0,Yb:d,Td:d,Eb:"nccp-playdata"}})}else l(c)})}function l(a){h&&(a.method="playdata",
h(a))}var ka=Nb(),Ka=nb(a.rc);E(Ka,"playdata",c,g.playbackTokens,ka,f,function(a){a.c?k(a.Kk):l(a)})}function q(a,b,c){c&&c.length&&(a[b]={streamplaytime:c.map(H)})}function H(a){return{downloadableid:a.downloadableId,playtime:Qa(a.duration)}}function X(a,b){var d=[];c(b,function(a,b){var c=U(b)?b:mb.stringify(b);d.push({name:a,value:c})});if(d.length){var z={};z[a]=d;return z}}function nb(a){return"/"==a[a.length-1]?a.substr(0,a.length-1):a}function F(a){a=1E3*ih(2,va(a-1,b.vf));return fc(1E3,a)}
var K=0,da=Fb(["license"]),ea={};n(this,{ping:function(a,b){v("ping",h,h,a,b)},nw:function(a,b){var c=n({},a);c.X=h;k(c,b)},ia:k,sz:function(a,b,c,d){k(n({ia:b,$a:c},a),d)},rz:function(a,b,c,d){k(n({Lj:b,bs:c},a),d)},ud:function(a,b,c){var d={movieid:a.sa,appid:a.gg,sessionid:a.Vh},z=X("authparam",a.qe);z&&(d.authparams=z);d.contentprofiles={videoprofiles:{videoprofile:a.ni},audioprofiles:{audioprofile:a.jg},timedtextprofiles:{timedtextprofile:a.Rb}};v("authorization",d,a.Na,b,function(a){if(a.c){var b=
a.Bc;c({c:!0,po:b.authorizationdata||b,Na:a.Na})}else c(a)})},ph:function(a,b,c){var d=b.log,z;z=a.Lo;var f=a.Cs,g;switch(a.sc){case "playready":g="soapresponse";z={drmtype:"PlayReady",pssh:f,soaprequest:z};break;case "widevine":g="widevineceflicense";z={drmtype:"WidevineCEF",pssh:f,widevinecefchallenge:z};break;case "fps":g="fpslicense";z={drmtype:"FPS",pssh:f,fpschallenge:z};break;default:c({g:N.Gm});return}var f={playbacktype:a.js},r=X("sessionparam",a.fd);r&&(f.sessionparams=r);n(f,{downloadableid:a.J,
appid:a.gg,sessionid:a.Vh,trackid:a.Ea,xid:a.qa,drmdata:z});v("license",f,a.Na,b,function(a){if(a.c){var b=pa(a.Bc.licensedata[g]);Ua(b)?c({c:!0,Uq:b,Na:a.Na}):(d.error("no license response"),c({g:N.Hm}))}else c(a)})},pf:function(a,b,c){var d=V(a,!1);v("playdata",d,a.playbackTokens,b,c)},vg:function(a,b,c){var d=V(a,!1);rb(d,b,a,c)},fh:function(a,b,c,d){b=V(a,!0,b);v("heartbeat",b,a.playbackTokens,c,d)},cr:function(a,b,c){K++;for(var d=",esn="+g.vc+",snum="+K+",lnum=",z,f=0;f<a.length;f++){var r=
a[f],r=Na(r.Po)+" "+r.Wj()+d+(f+1);z=z?z+("\n"+r):r}a=z?P(z):"";v("logblob",{sequencenumber:K,logdata:a},h,b,c)},Vx:l,Wx:function(a,b,c){var d={Ik:a.ap,pr:a.hz,or:a.Fr,nr:a.aw,qr:Bc(a.uz)};n(d,b);k(d,function(d){d.c?l(a,b,function(a){a.c?(a.ia=d.ia,a.$a=d.$a,a.yh=d.yh,a.Oh=d.Oh,c(a)):c(d)}):c(d)})},Rg:function(a,b){v("fpsappdata",h,h,a,function(a){if(a.c){var c=a.Bc;a=pa(c.appcert);c=Da(c.expiration);b({c:!0,we:a,Hp:c})}else b(a)})},Fd:x,Yo:Na})}function Nf(a,b,c){var d;return d={X:a,Uc:!0,Mh:!1,
$e:ia(),load:function(a){(a||p)(ta)},save:function(){d.Uc=!0},remove:function(a){d.Uc=!1;(a||p)(ta)},ne:v.gc.Zk,Xc:function(){var a=Qc();return{ia:a[b],$a:a[c]}},ql:function(a,d){(new RegExp("^"+b+"=.*")).test(a);(new RegExp("^"+c+"=.*")).test(d);vb.cookie=a;vb.cookie=d;Qc()[b]!=a.match(/[^=]*=([^;]*)/)[1]||"s"==ff.href[5]&&(Qc(),d.match(/[^=]*=([^;]*)/))},No:function(){var a="=;Expires=Thu, 01 Jan 1970 00:00:00 GMT";vb.cookie=b+a;vb.cookie=c+a;a+=";Domain=.netflix.com;Path=/";vb.cookie=b+a;vb.cookie=
c+a+";Secure";Qc()[b]||Qc()},zk:!0}}function Ue(a){if(a=og[a])return jf=a;throw new Wa("invalid accountKey");}function Of(a,b){var c=Ei[a];c||(Ei[a]=c=Mb(function(b){var c=og[a];c?b({c:!0,nc:c}):(c=new qe(a),og[a]=c,c.load(function(a){a.c?b({c:!0,nc:c}):b(a)}))}));c(b)}function qe(a){this.X=a}function Xc(a){var b={},d=ia(),f={};a.forEach(function(a){var b=a.url;f[b]||(f[b]=[]);f[b].push(a)});var g=[];c(f,function(a,b){g.push(Qf(b,d))});b.urls=mb.stringify(g);return b}function Qf(a,b){var d=a[0],f=
{url:d.url,bitrate:d.f,cdnid:d.i&&d.i.id,dltype:d.mp,id:d.J},g={};a.forEach(function(a){var b=a.c||a.c===h||a.g===N.cb||a.g===N.ld?"success":"fail";g[b]||(g[b]=[]);g[b].push(a)});c(g,function(a,c){"fail"===a?f.failures=Tf(c):"success"===a&&(f.downloads=Pf(c,b))});return f}function Pf(a,b){var d={};a.forEach(function(a){var b=a.Qo;d[b]||(d[b]=[]);d[b].push(a)});var f=[];c(d,function(a,c){var d=[];c.forEach(function(a){d.push(a);(a=a.g===N.cb||a.g===N.ld?!0:void 0)&&(f.push(Rf(d,b)),d=[])});0<d.length&&
f.push(Rf(d,b))});return f}function Rf(a,b){var c=a[0],d=a[a.length-1],f=c.B,g=Sf(a),c={time:f.requestTime,tresp:(f.O||b)-(f.requestTime||b),first:g,ranges:We(a,g),dur:(d.B.L||b)-(c.B.O||b),trace:Qd(a,b),status:d.c?"complete":d.c===h?"open":d.g===N.cb?"abort":d.g===N.ld?"stall":"other"};v.Be.length&&(c.servertcp=Pd(a));return c}function Pd(a){var b=v.Be;return a.reduce(function(a,c){var d=[];if(c.yl){var z={};c.yl.split(";").forEach(function(a){a=a.split("=");2==a.length&&(z[a[0]]=a[1])});b.forEach(function(a){d.push(z[a])})}a.push(d);
return a},[])}function Sf(a){var b=0;a.forEach(function(a){a.Ob&&(b=va(b,a.Ob[0]))});return b}function We(a,b){var c=[];a.forEach(function(a){a.Ob?c.push([a.Ob[0]-b,a.Ob[1]-b]):c.push([0,-1])});return c}function Qd(a,b){var c=[],d;a.forEach(function(a){a=a.B;d&&(c.push([a.requestTime-d.L,-2]),c.push([(a.O||b)-a.requestTime,-3]));c.push([(a.L||b)-(a.O||b),a.Y||0]);d=a});return c}function Tf(a){var b=[];a.forEach(function(a){var c=a.B;b.push({time:c.requestTime,tresp:c.O-c.requestTime,dur:c.L-c.O,range:a.Ob||
[0,-1],reason:a.Ia||a.g===N.kd?"http":a.g===N.Rf?"timeout":"network",httpcode:a.Ia,nwerr:we(a.g)})});return b}function Ve(a){var b=a.N,c=b.stream,d=b.track,f=b.url,g=Vf(d,f),k=h;switch(g){case sb:case Za:k=b.stream.J;break;case mh:case Fi:k=d.J}c={f:c&&c.f,mp:g,J:k,B:a.B,i:b.i,url:f};b.offset!==h&&b.length!=h&&(c.Ob=[b.offset,b.offset+b.length-1]);return a.np=c}function Uf(a){var b=a.np;b&&(b.V=a.V,b.Ia=a.Ia,b.g=a.g,b.c=a.c,b.yl=a.headers&&a.headers["X-TCP-Info"],b.Qo=Xe(a))}function Vf(a,b){if(a)return a.type;
if(0<=b.indexOf("netflix.com")){if(0<=b.indexOf("nccp"))return"nccp";if(0<=b.indexOf("api"))return"api"}return"other"}function Xe(a){if(a.headers&&(a=a.headers["X-Session-Info"]))return a=(a?a.split(";"):[]).filter(function(a){return 0==a.indexOf("port=")}).map(function(a){return a.split("=")[1]})[0],C(a)}function Zf(a,b){function c(a,z,f){for(var g,r,h,k,l,E=[];f;)h=a==Za?f.videoprofile[zb]:f.audioprofile[zb],g=Da(f.bitrate),r=d(f.downloadurls.downloadurl,!0),g=new ue(b,z,a,pa(f.downloadableid),
g,Da(f.size),r,h),f.resolution&&(r=Da(f.resolution.width),h=Da(f.resolution.height),f.pixelaspect&&(k=Da(f.pixelaspect.width),l=Da(f.pixelaspect.height),k>l?r=r*k/l:h=h*l/k),0<r&&0<h&&(g.width=ua(r),g.height=ua(h))),a==Za&&(g.Bk=!!f.superhd,g.nh=g.Bk||!!f.hd,r=Pb(f,"hdcpversions","version"),g.fl=!(!r||"none"==pa(r))),g.fl&&"never"==v.jj||E.push(g),f=f[Qb];E.sort(function(a,b){return a.f-b.f});n(E,Bd);a=kc(a,v.Tt,v.Ut);if(kf&&kf.length)var ka=E.ce(a),E=kf.call(E,function(a){return 0<=ka.indexOf(a.f)});
E.sort(function(a,b){return a.f-b.f});n(E,Bd);return E}function d(a,b){for(var c={},z;a;)c[a.cdnid[zb]]=a.url[zb],b&&(z=Da(a.expiration),0<z&&(Na=Na?va(Na,z):z)),a=a[Qb];return c}var f=new b.log.r("NccpParseAuth"),g,k,l,m,x,Na,V=[],rb,q;for(l=Pb(a,"locations","location");l;){if(rb=pa(l.locationid))q={id:rb,ma:Da(l.rank),Dk:Da(l.level),weight:Da(l.weight)},V.push(q);l=l[Qb]}var H=v.rj,X=v.qj,nb=[],F=[];for(l=Pb(a,"cdns","cdn");l;)rb=Da(l.cdnid),V.some(function(a){if(a.id===pa(l.locationid,""))return q=
a,!0}),q||(q={id:rb,ma:Da(l.rank),Dk:1,weight:Da(l.weight)}),(!H.length||0<=H.indexOf(rb))&&0>X.indexOf(rb)&&(l.lowgrade?F:nb).push({id:rb,location:q,type:pa(l.type,"unknown"),ma:Da(l.rank),name:l.name[zb],Gq:!!l.exclusive}),l=l[Qb];nb.sort(function(a,b){return a.ma-b.ma});V.forEach(function(a){var b=nb.filter(function(b){return b.location.id===a.id});a.F=b});V.sort(function(a,b){return a.ma-b.ma});f.trace("Parsed cdns",{Count:nb.length,LowGradeCount:F.length});if(!nb.length)throw new Wa("no valid cdns");
rb=[];for(l=Pb(a,"trickplay");l;){for(;l;)H=l.resolution,X=l.pixelaspect,H=new fi(b,pa(l.trickplayid),Da(H.height),Da(H.width),Da(X.height),Da(X.width),Da(l.size),d(l.downloadurls.downloadurl,!1)),rb.push(H),l=l[Qb];rb.sort(function(a,b){return a.size-b.size})}H=[null];X={none:null};l=Pb(a,"timedtexttracks","timedtexttrack");for(var K;l;){g=[];for(F=l.timedtextdownloadables.timedtextdownloadable;F;)g.push(F),F=F[Qb];g.sort(function(a,b){return Ye(a)-Ye(b)});F=g[0];K=pa(F.timedtextprofile);"nflx-cmisc"==
K&&(F=yd(g));g=pa(l.timedtexttrackid);x=pa(l.timedtexttype);K=pa(F.timedtextprofile);m={};if("nflx-cmisc"==K){var da=Pb(F,"imagebasedtext");m.offset=pa(da.masterindexoffset)|0;m.length=pa(da.masterindexsize)|0;da=Pb(da,"resolution");m.Ss={width:pa(da.width),height:pa(da.height)}}m=new Mf(b,g,pa(F.downloadableid),d(F.downloadurls.downloadurl,!1),pa(l.language.bcp47),pa(l.language.displayname.text),lf[x]||od,x,K,m);H.push(m);X[g]=m;f.trace("Parsed timed text track",m);l=l[Qb]}H.sort(Rd);F=[];K={};for(da=
Pb(a,"audiogroups","audiogroup");da;){x=da.audiotype.audiotypeid[zb];if(0==v.Df.length||0<=v.Df.indexOf(x))for(l=da.audiotracks.audiotrack;l;){g=l.audiotrackid[zb];m={type:sb,U:g,Hf:lf[x]||od,xh:x,Ra:pa(l.language.bcp47),displayName:pa(l.language.displayname.text),isNative:!!l.isnative,qg:pa(l.channels)};m.P=c("audio",m,l.audiodownloadables.audiodownloadable);var ea=H,Ca=[];if(l.disallowedtimedtexttracks){k={};for(var ja=l.disallowedtimedtexttracks.timedtexttrackid;ja;)k[ja[zb]]=!0,Ca.push(ja[zb]),
ja=ja[Qb];ea=ea.filter(function(a){return!(a?k[a.U]:k.none)})}m.pw=Ca;m.pa=ea;m.Ba={Bcp47:m.Ra,TrackId:m.U};f.trace("Parsed audio track",m,{StreamCount:m.P.length,AllowedTimedTextTracks:m.pa.length});m.P.length?(K[g]=m,F.push(m)):f.warn("Audio track has no streams",m);l=l[Qb]}da=da[Qb]}if(!F.length)throw new Wa("no valid audio tracks");F.sort(Rd);g=[];for(l=Pb(a,"videotracks","videotrack");l;)m={type:Za},m.P=c("video",m,l.videodownloadables.videodownloadable),f.trace("Parsed video track",{StreamCount:m.P.length}),
m.P.length?g.push(m):f.warn("Video track has no streams"),l=l[Qb];if(!g.length)throw new Wa("no valid video tracks");x=[];for(l=Pb(a,"preferredtrackcombinations","preferredtrackcombination")||Pb(a,"defaulttrackcombinations","defaulttrackcombination");l;)m=pa(l.audiotrackid),ea=K[m],da=pa(l.timedtexttrackid),Ca=X[da],ea&&0<=ea.pa.indexOf(Ca)?x.push({Q:ea,T:Ca,Gh:Da(l.preferenceorder)}):f.warn("Invalid default track combination",{AudioTrackId:m,TimedTextTrackId:da}),l=l[Qb];x.sort(function(a,b){return a.Gh-
b.Gh});m=x[0]||{};X=g[0];K=m.Q||F[0];m=m.T||K.pa[0];var Ja;(l=a.bookmark)&&(Ja={time:1E3*Da(l)});f.trace("Parsed bookmark",{Value:Ja?Ja.time:"None"});var p;(l=a.runtime)&&(p=1E3*Da(l));p||(p=K.P[0],da=X.P[0],p=pd(Ba(8192*p.size/(1E3*p.f),8192*da.size/(1E3*da.f))),f.trace("Estimating runtime",{EstimatedRuntime:Va(p)}));var u;(l=a.clientipaddr)&&(u=pa(l));f.trace("Parsed client IP address",{IP:u});b.F=nb;b.sj=V;b.ya=F;b.Nf=g;b.fb===h&&(b.fb=Ja?Ja.time:0);b.pa=H;b.Sb=rb;b.Je=p;b.Uh=u;b.Yk=x;b.Tb.set(X);
b.Q.set(K);b.T.set(m);V=1E3*(Na-Rb.Fd());1E4<V?b.td=ia()+V:f.error("Invalid url expiration, ignoring")}function Ye(a){var b=pa(a.timedtextprofile),c=v.Rb.indexOf(b);return 0<v.Gf&&"dfxp-ls-sdh"===b&&Da(a.size)>v.Gf?v.Rb.length+1:0<=c?c:v.Rb.length}function Rd(a,b){if(!a)return-1;if(!b)return 1;var c=a.displayName,d=b.displayName;return c?d?c.localeCompare?c.localeCompare(d):c.charCodeAt(0)-d.charCodeAt(0):1:-1}function fd(){var a=Ae&&Ae.height;if(b(a))return 1080<=a?1080:720;ra.error("screen height not available",
lc)}function yd(a){var b;a=a.filter(function(a){return"nflx-cmisc"===pa(a.timedtextprofile)});var c=v.tk?v.tk:fd();c&&(b=a.filter(function(a){return c===Da(a.imagebasedtext.resolution.height)})[0]);b||(b=a[0]);return b}function gd(a,b){function c(a,d){var z=[];a.forEach(function(a){var c;c=new ue(b,d,d.type,a.downloadableId,a.bitrate,a.size,a.urls,a.contentProfile);a.width&&(c.width=a.width);a.height&&(c.height=a.height);d.Gg&&(c.Gg=d.Gg);if(d.type===Za||d.type===sb)X=X?va(X,a.validFor):a.validFor;
d.Jj&&(c.Jj=d.Jj.map(function(a){var b={};b.Zz=a.systemType;a.bytes&&(b.mg=a.bytes);a.checksum&&(b.Vv=a.checksum);a.keyId&&(b.oh=a.keyId);return b}));a.contentProfile&&(c.wj=a.contentProfile);c.Qs=!(!a.hdcpVersions||"none"==a.hdcpVersions[0]);c.Qs&&"never"==v.jj||z.push(c)});z.sort(function(a,b){return a.f-b.f});n(z,Bd);z.sort(function(a,b){return a.f-b.f});n(z,Bd);return z}function d(a,b){if(!a)return-1;if(!b)return 1;var c=a.displayName,z=b.displayName;return c?z?c.localeCompare?c.localeCompare(z):
c.charCodeAt(0)-z.charCodeAt(0):1:-1}var f=new b.log.r("BladeRunnerParseManifest"),g,k,l,m,x,Na,V,q,p,H,X;g=function(){var b=a.locations.map(function(a){return{id:a.id,ma:a.rank,Dk:a.level,weight:a.weight}});f.trace("Transformed locations",{Count:b.length});return b}();k=function(b){function c(a,b){var d;b.some(function(b){if(b.id===a)return d=b,!0});return d}var d=v.rj,g=v.qj,h=[];a.cdns.forEach(function(a){var z=a.id,f=c(a.locationId,b);(!d.length||0<=d.indexOf(z))&&0>g.indexOf(z)&&(a.location=
f,h.push(a))});h.sort(function(a,b){return a.ma-b.ma});b.forEach(function(a){var b=h.filter(function(b){return b.location.id===a.id});a.F=b});b.sort(function(a,b){return a.ma-b.ma});f.trace("Transformed cdns",{Count:h.length});if(!h.length)throw new Wa("no valid cdns");return h}(g);l=function(){var c,d=[];a.trickPlayTracks&&a.trickPlayTracks.length?(c=a.trickPlayTracks[0].downloadables)?d=c.map(function(a){return new fi(b,a.id,a.resHeight,a.resWidth,a.pixHeight,a.pixWidth,a.size,a.urls)}):f.warn("Trickplay track has no downloadables"):
f.warn("There are no trickplay tracks");d.sort(function(a,b){return a.size-b.size});f.trace("Transformed trick play tracks",{Count:d.length});return d}();m=function(){function c(a){function b(a){var c=a.contentProfile,d=v.Rb.indexOf(c);a=a.size;return 0<v.Gf&&"dfxp-ls-sdh"===c&&a>v.Gf?v.Rb.length+1:0<=d?d:v.Rb.length}a=a.downloadables;var d=[];if(!a||0===a.length)return d;a.forEach(function(a){d.push({id:a.id,J:a.downloadableId,profile:a.contentProfile,size:a.size|0,$k:b(a),offset:a.offset|0,hs:a.pixWidth,
gs:a.pixHeight,iu:a.urls,type:a.type})});d.sort(function(a,b){return a.$k-b.$k});return d}var g=[];a.textTracks.forEach(function(a){var d=[],d=c(a);if(0<d.length){var d=d[0],z={};"nflx-cmisc"===d.profile&&(z.offset=d.offset,z.length=d.size,z.Ss={width:d.hs,height:d.gs});a=new Mf(b,a.id,d.J,d.iu,a.bcp47,a.language,lf[a.trackType.toLowerCase()]||od,a.trackType,d.profile,z)}else a=new Mf(b,a.id,h,{},a.bcp47,a.language,od,a.trackType,h,{});g.push(a);f.trace("Transformed timed text track",a)});g.sort(d);
f.trace("Transformed timed text tracks",{Count:g.length});return g}();x=function(b,g){function k(a,b,c){return b.filter(function(b){return 0<b.tracks.filter(function(b){return"AUDIO"===b.type&&b.id===a}).length}).map(function(a){var b;b=a.tracks.filter(function(a){return"TEXT"===a.type})[0];a=c.filter(function(a){return a.U===b.id});return 0<a.length?a[0]:h}).filter(Boolean)}var l=[];a.audioTracks.forEach(function(a){var d=a.trackType;if(0===v.Df.length||0<=v.Df.indexOf(d))d={type:sb,U:a.id,Hf:lf[d.toLowerCase()]||
od,xh:d,Ra:a.bcp47,displayName:a.language,qg:a.channels,pa:k(a.id,b,g),tx:{Bcp47:a.language,TrackId:a.id}},d.P=c(a.downloadables,d),f.trace("Transformed audio track",d,{StreamCount:d.P.length,AllowedTimedTextTracks:d.pa.length}),d.P.length?l.push(d):f.warn("Audio track has no streams",d)});if(!l.length)throw new Wa("no valid audio tracks");l.sort(d);f.trace("Transformed audio tracks",{Count:l.length});return l}(a.media,m);Na=function(){var b=[];a.videoTracks.forEach(function(a){var d=a.trackType,
d={type:Za,U:a.id,Hf:lf[d.toLowerCase()]||od,xh:d};d.P=c(a.downloadables,d);f.trace("Transformed video track",{StreamCount:d.P.length});d.P.length?b.push(d):f.warn("Video track has no streams")});if(!b.length)throw new Wa("No valid video tracks");f.trace("Transformed video tracks",{Count:b.length});return b}();V=function(b,c){function d(a,b){a[b.type]=b.id;return a}function f(a,b){var c;for(c=0;c<a.length;c++){var d=a[c];if(d.U==b)return d}return null}var g=[],h=a.defaultMedia,r,k;for(k=0;k<a.media.length;k++){var l=
a.media[k];if(l.mediaId==h){r=l.tracks.reduce(d,{});break}}g.push({Q:f(b,r.AUDIO),T:f(c,r.TEXT),Gh:0});return g}(x,m);H=V[0]||{};p=Na[0];q=H.Q||x[0];H=H.T||q.pa[0];b.jz=a.playbackContextId;b.Xx=a.media;b.Tv=a.cert;b.Gg=a.drmContextId;b.nz=a.psshb64;b.F=k;b.sj=g;b.ya=x;b.Nf=Na;b.fb=a.bookmark.position;b.pa=m;b.Sb=l;b.Je=a.runtime;b.Uh=a.clientIpAddress;b.Dx=function(){function b(a){var c=[],d;for(d in a)a.hasOwnProperty(d)&&c.push({cdn_id:d,url:a[d]});return c}var c={};c.movieId=a.movieId;c.duration=
a.runtime;c.locations=function(){return a.locations.map(function(a){return{key:a.id,rank:a.rank,level:a.level,weight:a.weight}})}();c.servers=function(){return a.cdns.map(function(a){return{name:a.name,type:a.type,id:a.id,key:a.locationId,rank:a.rank,lowgrade:a.isLowgrade}})}();c.audioTrackList=function(){return a.audioTracks.map(function(a){return{id:a.id,channels:a.channels,language:a.bcp47,languageDescription:a.language,trackType:a.trackType}})}();c.audio_tracks=function(){function c(a,d){return a.map(function(a){return{type:0,
trackType:d.trackType,content_profile:a.contentProfile,downloadable_id:a.downloadableId,bitrate:a.bitrate,channels:d.channels,language:d.bcp47,urls:b(a.urls)}})}return a.audioTracks.map(function(a){return{type:0,id:a.id,channels:a.channels,language:a.bcp47,languageDescription:a.language,trackType:a.trackType,streams:c(a.downloadables,a)}})}();c.video_tracks=function(){function c(a,d){return a.map(function(a){return{type:1,trackType:d,content_profile:a.contentProfile,downloadable_id:a.downloadableId,
bitrate:a.bitrate,urls:b(a.urls)}})}return a.videoTracks.map(function(a){return{type:1,streams:c(a.downloadables,a.trackType)}})}();c.tracks=c.video_tracks.concat(c.audio_tracks);return c}();b.Yk=V;b.Tb.set(p);b.Q.set(q);b.T.set(H);g=1E3*X;1E4<g?b.Ex=ia()+g:f.error("Invalid url expiration, ignoring")}function $f(a){function c(){var d={accountKey:h,playbackTokens:l,isLicensed:!!n,appId:X,sessionId:nb,trackingId:a.Ea,xid:a.qa,movieId:a.sa,sessionStartEpoch:Rb.Yo(a.Fk),sessionEpoch:Rb.Fd()};b(a.q.value)&&
(d.position=a.q.value);x&&(d.playback={startPosition:m,startEpoch:V,playTimes:a.Nb.mq()});H&&v.$d&&(d.keySessionId=H);var f=a.la;f&&Ua(f.Nc)&&(d.errorDisplayCode=f.Nc);return d}function d(){d=p;Ze(a,k,g);a.fireEvent(Gi)}function f(){f=p;a.fireEvent(pg)}var g=new a.log.r("NccpPlayback"),h=a.nc.X,k={kh:a.xa,log:new a.log.r("Nccp"),X:h},l,n,x,m,V,q,Zd,H,X=v.Br||Be,nb=v.Cr||Be;a.addEventListener(Wc,function(){x=!0;m=a.q.value;V=Rb.Fd()});a.addEventListener(Hi,function(a){H=a.Ye});return{Sd:k,ud:function(b){function c(d){try{r(d,
a),b(ta),f()}catch(h){g.error(S,h),b({g:N.Uf})}}var d=ia(),h={gg:X,Vh:nb,fd:a.Vd.fd,qe:a.Vd.qe,sa:a.sa,Ea:a.Ea,ni:v.ni,jg:v.jg,Rb:v.Rb},r=a.ef?gd:Zf,S="Exception processing "+a.ef?"manifest":"authorization response";a.ef?Aa(c.bind(null,a.ef)):Rb.ud(h,k,function(a){q=ia()-d;a.c?(l=a.Na,c(a.po)):b(a)})},ph:function(b,c){var f=ia(),h=P(b.Bs),S=P(b.data),x=l,Ka=a.Vd.fd;if(v.fc){var m=b.Vq;Z(v.Ek)&&(m=v.Ek);x=oc(x);Ka=oc(Ka);m&&(Ka.limitedDuration=m);x.mslServiceTokens=l.mslServiceTokens.filter(function(a){return a.name.match("movie")})}Rb.ph({Na:x,
gg:X,Vh:nb,fd:Ka,qa:a.qa,J:a.$.J,Ea:a.Ea,js:"standard",sc:b.sc,Cs:h,Lo:S},k,function(a){Zd=ia()-f;if(a.c)try{l=a.Na,n=!0,c({c:!0,Tq:{data:Bc(a.Uq)}}),d()}catch(b){g.error("Exception processing license response",b),c({g:N.Uf})}else c(a)})},fh:function(a,b){Rb.fh(c(),a,k,function(a){a.c&&a.Na&&(l=a.Na);b&&b(a)})},pf:function(a,b){Rb.pf(a,k,function(a){a.c&&a.Na&&(l=a.Na);b&&b(a)})},vg:function(a,b){Rb.vg(a,k,b)},xj:c,Rg:function(a){Rb.Rg(k,a)},Qp:function(){return q},jq:function(){return Zd}}}function Ze(a,
b,c){Ze=p;if(Rb.ia&&v.hu){var f=a.nc;a=f.Xc().ia;a=Ta(a);var g=v.Dr;if("usr"==a||Ua(mg)&&ac.vc!=mg||Ua(g)&&ac.Oj!=g)c.info("Upgrading NetflixId",{bt:a,prefix:g,downloadedEsn:mg}),Rb.ia(b,function(a){a.c?(c.trace("Setting upgraded NetflixId"),f.ql(a.yh,a.Oh),d(ah(f.Xc().ia))):c.error("NetflixId upgrade failed",fb(a))})}}function Sd(a,b,c,d){d=d||{};v.Qe&&(d.groupname=v.Qe);var f=Nb();c={type:b,sev:c,devmod:nh};Ii&&(c.nettype=Ii);n(c,d);n(c,{jssid:Be,jsoffms:ia(),client_utc:f,lver:Bk||"2012.2-CAD"});
a?n(c,{xid:a.qa,soffms:a.Ib(),mid:a.sa,lvpi:a.bd}):c.xid=Ji;this.data=c;this.type=b;this.Po=f}function ag(a){function c(d){var f=ff.href,g=I(a.Ib()),h=a.Ea,r="parallel"===v.ug?"multi":"single",k=I(a.fb||0),l=a.index,S=new ArrayBuffer(4),E=new bb(S),S=new Uint32Array(S);E[0]=161;E[1]=178;E[2]=195;E[3]=212;f={browserua:lc,browserhref:f,playdelay:g,trackid:h,connection_type:r,bookmark:k,pbnum:l,endianness:3569595041==S[0]?"LE":2712847316==S[0]?"BE":"undefined"};a.Xo&&(f.controllerESN=a.Xo);a.jd&&(f.tmode=
!0);b(a.vd)&&(f.bookmarkact=I(a.vd));b(a.vd)&&(f.bookmarkact=I(a.vd));(g=F.Qp())&&(f.nccpat=g);(g=F.jq())&&(f.nccplt=g);(g=q())&&(f.downloadables=g);ac&&Z(ac.Pj)&&(f.esnSource=ac.Pj);Uc&&n(f,Uc,{prefix:"pi_"});f.usejsase=v.K;if(a.state.value>=eb)try{var x=a.Fa();if(x){var m=Bf(x);L=ba(m);f.maxbitrate=L}}catch(ka){X.error("Exception computing max bitrate",ka)}try{var Ka=Ea();Ka&&(f.pdltime=Ka)}catch(V){}try{n(f,a.lb,{prefix:"sm_"}),n(f,a.dh(),{prefix:"vd_"})}catch(ea){}"undefined"!==typeof nrdp&&nrdp.device&&
(f.firmware_version=nrdp.device.firmwareVersion);H("startplay",d,bc|mf|Sb|qg|nf|rg|oh,f)}function d(){var b={waittime:I(a.Ib()),abortedevent:"startplay"},c=a.k;c&&c.value&&(b.vbitrate=c.value.f);try{var f=Ea();f&&(b.pdltime=f)}catch(g){}H("playbackaborted",!1,bc|Sb,b)}function f(){if(a.F){var b;(b=nb%v.Fg?B.filter(function(a){return a.Jg}):B)&&0<b.length&&(B=B.filter(function(a){return!a.B.L}),b=Xc(b),v.Be.length&&(b.tcpinfo=v.Be.join(",")),H("dlreport",!1,Sb,b))}}function g(b){var c=b.N,d=c.track;
if(d){var f=!b.c&&b.g!=N.cb,h=d.type,r=b.B;if(f||a.bd){r={dltype:h,url1:c.url,url2:b.url||"",cdnid:c.i.id,tresp:I(r.O-r.requestTime),brecv:ee(r.Y),trecv:I(r.L-r.O)};b.Ob&&(r.range=b.Ob);switch(h){case sb:r.adlid=c.stream.J;break;case Za:r.vdlid=c.stream.J;break;case mh:r.ttdlid=d.J}(c=we(b.g))&&(r.nwerr=c);b.Ia&&(r.httperr=b.Ia);H("dlreq",f,Sb,r)}}}function k(){try{var b=Yd.timing.navigationStart-(ld+(a.ad||ia())),c=Yd.getEntries("resource"),d=c.length-v.Fj;0<d&&(c=c.slice(d));var f=c.map(function(a){return{u:a.name,
s:lb(a.startTime+b),d:lb(a.duration)}}),g={dlinfos:mb.stringify(f)};H("dlprestart",!1,bc|Sb,g)}catch(h){}}function l(){if(a.state.value==eb){var b=Na();v.Nh&&(b.avtp=md.dc(),b.savtp=xa.dc());b.midplayseq=C++;var c=a.C.value;b.prstate=c==qd?"playing":c==of?"paused":c==Kc?"ended":"waiting";H("midplay",!1,bc|Sb|nf|qg,b)}}function m(a){a=oc(a);a.details&&(a.details=mb.stringify(a.details));H("subtitleerror",!0,bc|mf|rg,a)}function q(){if(a.Nf&&a.ya){var b=[];a.Nf.concat(a.ya).forEach(function(a){a.P.forEach(function(a){b.push({dlid:a.J,
type:a.type,bitrate:a.f})})});return mb.stringify(b)}}function x(){function b(a,c){var z=a.cdnId,g=f[z];g||(g={cdnid:z,dls:[]},f[z]=g,d.push(g));z={bitrate:a.bitrate,tm:I(a.duration)};z[c]=a.downloadableId;g.dls.push(z)}var c=a.Nb.Op(),d=[],f={};c.audio.forEach(function(a){b(a,"adlid")});c.video.forEach(function(a){b(a,"dlid")});return mb.stringify(d)}function Na(){var c=a.Nb,d={totaltime:Qa(c.ah()),cdndldist:x(),reposcount:t,intrplaycount:la};try{var f={numskip:0,numlowqual:0},g=a.ha,h;h=g.Me();
b(h)&&(d.totfr=h,f.numren=h);h=g.xc();b(h)&&(d.totdfr=h,f.numrendrop=h);h=g.Cd();b(h)&&(d.totcfr=h,f.numrenerr=h);h=g.Ne();b(h)&&(d.totfdl=h);d.playqualvideo=mb.stringify(f);d.videofr=a.k.value.j.Sg.toFixed(3);d.abrdel=c.Vj();var r=c.Rp();r&&n(d,r);d.rbfrs=la;d.maxbitrate=L;var k=a.Aa(),l,S,E,m;for(m=0;m<k.length;m++){l=k[m];if(E=a.ff.Dc(l)){d.maxbitrate=S?S.f:0;d.bitratefilters=E.join("|");break}S=l}if(a&&a.rb&&a.nj&&a.ca){var ka=a.nj,Ka={ab:ua(ka.cj),actual60:a.ca.gk(),b20:ua(ka.ej),b50:ua(ka.fj),
b90:ua(ka.gj),std:ua(ka.Dt),ns:ka.Zt,ss:ka.wf,filt:ka.filter};d.expectedbw=mb.stringify(Ka)}a.zb&&(d.trickplay=a.zb.fk());null!==a.kc.re&&(d.avg_subt_delay=a.kc.re)}catch(V){X.error("Exception reading some of the endplay fields",V)}n(d,a.dh(),{prefix:"vd_"});return d}function V(a,b){a.browserua=lc;H("securestop",!a.success,bc|nf,a);b||(H=p)}function rb(){var b,c=[];v.rr&&(xc.addListener(ph,l),v.sr.forEach(function(a){c.push($a(l,a))}),v.Jk&&(b=qb(Zd,v.Jk)),a.addEventListener(Ab,function(){xc.removeListener(ph,
l);c.forEach(function(a){pb(a)});b&&yb(b)}))}function Zd(){rd.flush(!0)}function H(b,c,d,f,g){bg(f,a,c,d);b=new Sd(a,b,g||(c?"error":"info"),f);rd.al(b)}var X=new a.log.r("NccpLogging"),nb=a.qa,F=a.mb,K,da=a.paused.value,ea,Ca,ja,Ja,u,w,cb=[],t=0,la=0,C=0,aa=0,B=[],A,L,O,y,md=new ei({}),xa=new ei({Ce:0});(function(){function b(c){u="rebuffer";H("intrplay",!1,bc|Sb,{vdlid:a.k.value.J,cdnid:a.i.value.id,playingms:cb[qd]||0,pausedms:cb[of]||0,cause:c.Jc,intrplayseq:la++});ea=ia();Aa(l)}function l(){if(ea&&
a.C.value!=Tb){var b=ia()-ea;H("resumeplay",!1,bc|mf|Sb,{playdelay:I(b),reason:u,intrplayseq:la-1});"rebuffer"==u&&a.Nb.$n(I(b));Ca&&Ca!=a.Q.value&&H("audioswitch",!1,bc|Sb,{switchdelay:I(ia()-ja),newtrackinfo:a.Q.value.U,oldtrackinfo:Ca.U});u=ea=h}}function E(){a.Pc.value&&a.Ha.value&&(a.Pc.removeListener(E),a.Ha.removeListener(E),k())}a.addEventListener($d,g,1);v.Fg&&(a.addEventListener(hf,function(a){B.push(Ve(a))}),a.addEventListener($d,Uf),aa=qb(f,v.op));v.Nh&&a.addEventListener($d,function(a){var b=
a.B.O,c=a.B.L;(a=a.B.Y)&&0<a&&(md.bj({startTime:b,endTime:c,mg:a}),xa.bj({startTime:b,endTime:c,mg:a}))});a.paused.addListener(function(a){var b=a.newValue;a.oy&&b||b==da||(H("statechanged",!1,bc|Sb,{newstate:b?"Paused":"Playing",oldstate:da?"Paused":"Playing"}),da=b)});a.addEventListener(pf,b);a.addEventListener(Ck,b);a.C.addListener(function(a){a=a.oldValue;var b=ia();a==Tb?cb=[]:cb[a]=(cb[a]||0)+(b-w);w=b});a.addEventListener(ae,function(b){switch(b.Jc){case Ki:case Li:if(u&&ea){var c=ia()-ea,
c={waittime:I(c),abortedevent:"resumeplay",resumeplayreason:u},f=a.k;f&&f.value&&(c.vbitrate=f.value.f);H("playbackaborted",!1,bc|Sb,c)}else K||d();u="repos";H("repos",!1,bc|Sb,{moffold:Qa(b.Ah),reposseq:t++});ea=ia();Aa(l)}});a.C.addListener(l);a.Q.addListener(function(a){ja=ia();Ca=a.oldValue});a.addEventListener(Wc,function(){K=!0;c(!1);rb();v.wk&&(A=$a(function(){rd&&rd.flush(!1);A=h},v.wk))});a.addEventListener(Ab,function(){A&&pb(A);if(K){v.Fg&&(aa&&yb(aa),f());var b=!!a.la,g=Na();g.browserua=
lc;a.jd&&(g.tmode=!0);g.usejsase=v.K;a.zb&&"downloaded"===a.zb.fk()&&(g.trickplay_ms=a.ee.offset,g.trickplay_res=a.ee.gl);if(v.K&&a.bb&&a.bb.nd){var h=a.bb.nd[a.Cf.Sf],k=a.bb.nd[a.Cf.qm];h&&k&&(g.ASEvstreamingPts=h.Qt,g.ASEastreamingPts=k.Qt,g.ASEvbuflevelBytes=h.Bo,g.ASEabuflevelBytes=k.Bo,g.ASEvbuflevelMs=h.Co,g.ASEabuflevelMs=k.Co)}v.Nh&&(g.avtp=md.dc(),g.savtp=xa.dc());g.endreason=b?"error":a.C.value==Kc?"ended":"stopped";Uc&&n(g,Uc,{prefix:"pi_"});var h=a.la,l;if(k=b&&h)h=h.errorCode,k=h==R.me||
h==R.ie;k&&(l="info");H("endplay",b,bc|mf|Sb|nf|qg|oh,g,l)}else a.la?c(!0):d();y||(H=p)});a.te&&a.te.addListener(function(a){H("bitraterestriction",!1,bc|Sb,a.newValue)});a.k.addListener(function(b){if(b.oldValue&&b.tj){var c=b.oldValue,d=b.newValue,f=b.tj;b=v.K?a.Ef:a.ca.ve();c={moff:Qa(f),vbitrate:d.f,vbitrateold:c.f,vdlid:d.J,vdlidold:c.J,lbw:b};(d=a.Ha.value)?(b=id(d.Ij),c.bw=ua(896E3/(b.Pd+896E3/b.Ef)*7.8125)):c.bw=b;H("chgstrm",!1,Sb,c)}});var x;a.Ya.addListener(function(a){if(a.newValue){var b=
a.newValue.stream;x!=b&&(x&&H("renderstrmswitch",!1,Sb,{moff:Qa(a.newValue.H.startTime),vbitrate:b.f,vdlidold:x.J,vdlid:b.J,vbitrateold:x.f}),x=b)}});a.i.addListener(function(b){if((b=b.newValue)&&Ja!=b){var c=Ja,d=a.Ha&&a.Ha.value&&a.Ha.value.Ij,f=b.id,g={selcdnid:f};if(d){var h=id(d),d=h.Pd,h=ua(896E3/(h.Pd+896E3/h.Ef)*7.8125);g.selcdnrtt=d;g.selcdnbw=h;g.cdnbwdata=mb.stringify([{id:f,rtt:d,bw:h}])}c&&(g.oldcdnid=c.id);n(g,b.pc);H("cdnsel",!1,rg,g);Ja=b}});v.Fj&&(a.Pc.addListener(E),a.Ha.addListener(E));
v.$d&&a.state.addListener(function(){a.state.value==eb&&(O=a.Cc,O.addEventListener(Mi,function(){y=!0;O.ge().then(V)}))});a.addEventListener(Ni,m)})();this.jt=V}function we(a){switch(a){case N.kd:return"http";case N.Rf:return"connectiontimeout";case N.ld:return"readtimeout";case N.Qf:return"corruptcontent";case N.cb:return"abort";case N.si:case N.ti:return"unknown"}}function bg(a,b,d,f){f&bc&&0<=b.q.value&&(a.moff=Qa(b.q.value));if(f&mf){var g=b.i.value,h=b.ic.value||b.Pc.value,k=b.Ya.value||b.Ha.value;
g&&(a.cdnid=g.id,a.cdnname=g.name);h&&(a.adlid=h.stream.J,a.abitrate=h.stream.f);k&&(a.vdlid=k.stream.J,a.vbitrate=k.stream.f)}f&Sb&&((g=b.n)&&0<=b.q.value&&(a.abuflmsec=I(g.tb()),a.vbuflmsec=I(g.La()),a.abuflbytes=ee(g.Uj()),a.vbuflbytes=ee(g.ik())),(g=b.S&&b.S.Wg&&b.S.Wg())&&(a.curdlstatename=g));if(f&qg){cg(a);try{var l=b.Za.getBoundingClientRect();a.rendersize=l.width+"x"+l.height;a.renderpos=l.left+"x"+l.top}catch(n){}}f&nf&&(l=Zb.hardwareConcurrency,0<=l&&(a.numcores=l),0<=b.xe&&(a.cpuspeed=
b.xe),(l=b.Ad&&b.Ad.Sp())&&(a.droppedFrames=mb.stringify(l)),l=b.Ad&&b.Ad.lq(v.vp),c(l,function(b,c){a["droppedFramesP"+b]=mb.stringify(c)}));if(f&rg)try{a.pricdnid=b.Wd.id,a.cdninfo=mb.stringify(b.F.map(function(a){return{id:a.id,nm:a.name,rk:a.ma,wt:a.location.weight}}))}catch(x){}d&&f&oh&&((b=b.la)?Td(a,b):a.errorcode=R.mc)}function Td(a,b){a.errorcode=kg+(b.errorCode||R.mc);b.g&&(a.errorsubcode=b.g);b.V&&(a.errorextcode=b.V);b.D&&(a.errordetails=b.D);b.Ia&&(a.httperr=b.Ia);b.Bd&&(a.nccperr=b.Bd);
var c=we(b.g);c&&(a.nwerr=c)}function cg(a){a.screensize=Ae.width+"x"+Ae.height;a.screenavailsize=Ae.availWidth+"x"+Ae.availHeight;a.clientsize=D.innerWidth+"x"+D.innerHeight}function dg(a){function b(){return Lb.Sh&&a.state.value==eb&&F&&!X&&(0<Lb.Jd||V!=Cd)}function c(a,d){var z=a||Cd;z!=Cd&&(V=z);b()&&(z=V!=Cd?v.gh:Ba(v.gh,1E3*Lb.Jd),z=Ba(z-(ia()-q),d||0),!d&&(!q||500>=z||Zd==Cd&&V!=Cd)?g():f(z))}function d(){H&&(pb(H),H=h)}function f(a){d();H=$a(c,a)}function g(){if(b()){d();X=!0;var f=V;V=Cd;
a.mb.fh(f,function(b){b.c||m.error("Heartbeat failed",{Type:f},fb(b));Zd=f;q=ia();X=!1;11==b.Sc?a.Ta(new Ib(R.Fm,b)):c()})}}function k(){if(F){var b=a.mb.xj();l(b);v.ks&&(da=b,a.mb.vg(b,function(a){da==b&&(K=a.c?a.vq:h)}))}}function l(a,b){0<v.Ch&&v.dd?ib.save(v.dd,mb.stringify(a),!1,b):b&&b(ta)}function n(b){$e(a,function(a){a.c&&(hd(),k());b&&b(a)})}function x(){K&&(m.info("Sending last playdata synchronously",{Url:K.url}),Kf(K).c?hd():(m.info("Sending last playdata asynchronously"),a.xa.R(K,p),
k()))}var m=new a.log.r("PlayDataManager"),V=Cd,q=0,Zd,H,X,u,F,K,da;a.addEventListener(pg,function(){Ce&&n()});a.addEventListener(Gi,function(){F=!0;0<v.Ch&&(u=qb(k,v.Ch));k()});a.addEventListener(Ab,function(){function b(){c&&f&&g&&(b=p,a.Hr())}jb.removeListener(Lc,x);d();u&&(yb(u),u=h);var c,f,g,r;if(F){a.Hl();var k=a.mb.xj();l(k,function(){function d(){a.mb.pf(k,function(d){d.c?hd(function(b){b=b.c?d:b;r&&a.Cc.li(b)}):(m.error("Unable to send playdata"),r&&a.Cc.li(d));c=!0;b()})}v.$d?(a.Cc.ge().then(function(){g=
!0;b()}),a.Cc.Gl().then(function(a){a.c?(k.securestop=a.data,r=!0):g=!0;d()})):(g=!0,d())})}else g=c=!0;rd?(a.Hl(),rd.flush(!1,function(a){a.c||m.error("Unable to send logblob");f=!0;b()})):f=!0});a.addEventListener(ae,k);a.addEventListener(Wc,function(){a.C.addListener(function(){c(a.C.value==qd?Dk:Ek,a.C.value==Kc?500:0)});b()&&f(Ba(v.gh,1E3*Lb.Jd));k()},1);jb.addListener(Lc,x);return{st:function(b){qh?qh.then(function(){b(ta)}):Ce&&Ce.movieId==a.sa?n(b):b(ta)}}}function $e(a,b){b=b||p;var c=Ce;
if(c){var d=c.accountKey;Ce=null;if(d){var f;qh=new Xd(function(a){f=a});Of(d,function(g){var h=g.nc;if(g.c&&h){g=function(g){k=a?oc(a.mb.Sd):{kh:nd,log:new ra.r("Nccp")};k.X=d;k.log.info("Sending persisted playdata",{PersistedXid:c.xid,SessionEpoch:c.sessionEpoch,MediaTime:c.position});g&&(c.securestop=g.data);Rb.pf(c,k,function(a){g?g.c&&(ra.info("SecureStop Ack For Persisted Playback "),x.li(a)):(f(),b(a))})};var k,h=c.keySessionId,l=c.xid;if(a&&v.jl)if(h){var x=new gi(a,h);x.Md();x.Gl().then(g);
x.ge().then(function(c){f();b(ta);c.persisted=!0;c.previousXid=l;a.Mk.jt(c,!0)})}else ra.error("SSManager: prev keysession not available",{ErrorCode:R.qn}),g();else g()}else f(),b(ta)})}else b(ta)}else b(ta)}function hd(a){ib&&v&&v.dd&&ib.remove(v.dd,function(b){b.c||ra.error("Error deleting playdata",b);a&&a(b)})}function af(a,b,c,d){this.aa=a;this.uf=b;this.Jf=c;this.If=d;this.totalTime=this.uf+this.Jf}function Yb(a){function b(){var a=1E3*ua(ld/1E3),c=H.$j(),d=H.ak(),f=H.Ed(),z=H.bh(),g=H.Gd();
c&&g&&(a=new af(a+d,f,z,g),p&&(c in F||(F[c]=[]),F[c].push(a)))}function d(){p in K||(K[p]={});var a=K[p],b=0;c(F,function(c,d){var f;f=c in a?a[c]:[];for(var z=g(d,v.ih),h=z.length;h--;)z[h].aa>ea&&f.push(z[h]),b<z[h].aa&&(b=z[h].aa);a[c]=f;ea=b})}function f(){u||(u=!0);for(var a in F)F[a]=g(F[a],v.ih);x()}function g(a,b){var c=[],d=[],f=1E3*b,z;if(0<a.length){for(var r=a[0].aa,k=0;k<a.length;k++)z=a[k],yc(r-z.aa)<=f?d.push(z):(c.push(h(d)),r=z.aa,d=[z]);0<d.length&&c.push(h(d))}return c}function h(a){for(var b=
0,c=0,d=0,f=a.length,z=0;z<f;z++)b+=a[z].uf,c+=a[z].Jf,d+=a[z].If;return new af(a[0].aa,b,c,d)}function k(){if(l()>v.pk){var a=[],b,d;c(K,function(f,z){z&&c(z,function(c,f){b=f.length;for(d=0;d<b;d++)a.push(f[d])})});a.sort(function(a,b){return b.aa-a.aa});var f=a[v.pk-1].aa;c(K,function(a,z){z&&(c(z,function(a,c){b=c.length;for(d=0;d<b;d++)c[d].aa<f&&(c.splice(d,1),--d,--b);0===c.length&&delete z[a]}),0===Kb.keys(z).length&&delete K[a])})}}function l(){var a=0,b;for(b in K){var c=K[b],d;for(d in c)a+=
c[d].length}return a}function n(){p&&ib.load(Oi,function(a){if(a.c&&(a=a.data))a:{K=V(a);a=p;var b=Fk(K),c=[],d;if(Jb(a))d=v.tq;else if(Pa(a))d=v.uq;else{da=c;break a}for(var f=0;f<b.length;f++)$c(a,b[f],d)&&c.push(b[f]);da=c}})}function x(){p&&(d(),k(),ib.save(Oi,m(K)))}function m(a){var b={};Kb.keys(a).forEach(function(c){b[c]={};Kb.keys(a[c]).forEach(function(d){for(var f=a[c][d],z=f.length,g=[],h=0;h<z;h++)g.push({sT:f[h].aa,rT:f[h].uf,trT:f[h].Jf,tB:f[h].If,toT:f[h].totalTime});b[c][d]=g})});
return b}function V(a){var b={};Kb.keys(a).forEach(function(c){b[c]={};Kb.keys(a[c]).forEach(function(d){for(var f=a[c][d],z=f.length,g,h=[],r=0;r<z;r++)g={},"undefined"!==typeof f[r].sT&&"undefined"!==typeof f[r].rT&&"undefined"!==typeof f[r].trT&&"undefined"!==typeof f[r].tB&&"undefined"!==typeof f[r].toT&&(g.aa=f[r].sT,g.uf=f[r].rT,g.Jf=f[r].trT,g.If=f[r].tB,g.totalTime=f[r].toT,h.push(g));0<h.length&&(b[c][d]=h)});0===Kb.keys(b[c]).length&&delete b[c]});return b}var q=this,p,H,X,u=!1;a.addEventListener(pg,
function(){a.jh=q;H=a.ca;p=a.Uh;X=new le(1E3*v.ih,f);X.Zh();a.addEventListener(sg,b);a.addEventListener(Ab,function(){x();X.yd()});a.C.addListener(function(){a.C.value===Kc&&X.yd()});n()});var F={},K={},da=[],ea=0;this.aq=function(a,b){var c;if(p){c=[];if(a in F&&u)return c=F[a],new Rc(c,b,v.lk,v.qk,v.nk,v.mk,l());for(var d=da.length,f,z;d--;)if(f=da[d],a in K[f])for(f=K[f],z=f[a],f=z.length;f--;)c.push(z[f]);if(0!==c.length)return new Rc(c,b,v.lk,v.qk,v.nk,v.mk,l())}}}function Rc(a,b,c,d,f,g,h){this.xr=
f;this.kr=g;a=wd(a,b,c,d,this.xr,this.kr);b=[];for(c=0;c<a.length;c++)b.push(7.8125*Ma(a[c].If/a[c].totalTime,rh,sh));this.lf=A(b);this.wf=this.lf.length;this.cj=T(this.lf)/this.lf.length;a=this.lf;c=this.wf;d=this.cj;f=[];for(g=0;g<c;g++)f.push(ih(a[g]-d,2));this.Dt=Gk(T(f)/f.length);this.ej=ub(b,.2);this.fj=ub(b,.5);this.gj=ub(b,.9);this.filter=tg;this.Zt=h}function wd(a,b,c,d,f,g){var h=[],k=c,l=pd(b%604800/86400);b%=86400;var x,n,m;tg=c;if(k===Hk){for(m=0;m<a.length;m++)c=a[m],x=c.aa%86400,n=
pd(c.aa%604800/86400),l===n&&yc(x-b)<=d&&h.push(c);h.length<f&&(tg=k=Pi,h=[])}if(k===Pi){for(m=0;m<a.length;m++)c=a[m],x=c.aa%86400,n=pd(c.aa%604800/86400),yc(x-b)<=d&&h.push(c);h.length<f&&(tg=Qi,h=[])}k===Qi&&(h=a,h.length<f&&(h=[]));h.length>g&&(h=h.sort(function(a,b){return a.aa<b.aa?-1:a.aa>b.aa?1:0}).slice(0,g));a=[];for(d=0;d<h.length;d++)0<h[d].totalTime&&a.push(h[d]);return a}function ed(){n(this,{X:"b",sa:0,Vd:{Ea:0,fd:{},qe:{}},Ea:0,index:1,qa:0xceb86ce78ed,Za:{align:"",vy:null,uy:null,
contextMenu:null,ex:{},$y:null,Zy:null,Yy:null,Xy:null,Wy:null,onsubmit:null,Vy:null,onshow:null,onselect:null,Uy:null,Ty:null,onscroll:null,onresize:null,onreset:null,Ry:null,onprogress:null,Qy:null,Py:null,Oy:null,onmousewheel:null,onmouseup:null,onmouseover:null,onmouseout:null,onmousemove:null,onmouseleave:null,onmouseenter:null,onmousedown:null,onloadstart:null,Ny:null,My:null,onload:null,onkeyup:null,onkeypress:null,onkeydown:null,Ly:null,oninput:null,onfocus:null,onerror:null,onended:null,
Ky:null,Jy:null,Iy:null,Hy:null,Gy:null,Fy:null,Ey:null,Dy:null,Cy:null,ondblclick:null,By:null,oncontextmenu:null,onclose:null,onclick:null,onchange:null,oncanplaythrough:null,Ay:null,zy:null,onblur:null,onabort:null,spellcheck:!0,isContentEditable:!1,contentEditable:"",cz:"",innerText:"",accessKey:"",hidden:!1,rA:"",draggable:!1,tabIndex:-1,dir:"",translate:!0,lang:"",title:"",ontouchstart:null,ontouchmove:null,ontouchend:null,ontouchcancel:null,childElementCount:2,lastElementChild:{},firstElementChild:{},
children:{},bz:null,az:null,nextElementSibling:null,previousElementSibling:null,onwheel:null,onselectstart:null,Sy:null,onpaste:null,oncut:null,oncopy:null,yy:null,xy:null,wy:null,shadowRoot:null,dataset:{},classList:{},className:"",outerHTML:"",innerHTML:"",scrollHeight:545,scrollWidth:2560,scrollTop:0,scrollLeft:0,clientHeight:545,clientWidth:2560,clientTop:0,clientLeft:0,offsetParent:{},offsetHeight:545,offsetWidth:2560,offsetTop:0,offsetLeft:0,localName:"",prefix:null,namespaceURI:"",id:"",style:{},
attributes:{},tagName:"",parentElement:{},textContent:"",baseURI:"",ownerDocument:{},nextSibling:null,previousSibling:null,lastChild:{},firstChild:{},childNodes:{},parentNode:{},nodeType:1,nodeValue:null,nodeName:""},bd:!1,Ba:{Wu:0,vv:0,wv:0},lb:{cx:0,Hv:0,at:0,Qz:0,Pz:0,nx:0,Ux:0,kx:0,Bx:0,lx:0,nA:0},log:{Ma:{}},state:{value:2},q:{value:0},paused:{value:!1},muted:{value:!1},volume:{value:1},C:{value:1},o:{value:2},Q:{value:{}},Tb:{value:{}},T:{value:{}},oc:{value:null},fi:{value:null},k:{value:{}},
G:{value:{}},i:{value:{}},ic:{value:null},Ya:{value:null},Ee:{value:{}},Fe:{value:{}},Pc:{value:{}},Ha:{value:{}},ue:{value:{}},xa:{},vh:{},ca:{},Cg:{},nf:{},Wk:{},Uk:{},Ad:{},ff:{},jh:{},ad:0,Fk:0,nc:{X:"",Uc:!0,Mh:!1,$e:0,ne:{},zk:!0},wa:{},mb:{Sd:{}},Mk:{},F:[{},{},{},{},{}],sj:[{},{},{},{},{}],ya:[{}],Nf:[{}],fb:0,pa:[null,{}],Sb:[{},{}],Je:0,Uh:0,Yk:[{}],td:0,Wd:{id:0,location:{},type:0,ma:1,name:"",Gq:!1,Sq:0,pc:{}},Pt:[{},{},{}],ei:[{},{},{}],Wt:0,xe:0,ed:{track:{},type:"",J:0,f:0,size:0,Ua:{},
j:{},Ba:{},Te:!0},$:{track:{},type:"",J:0,f:0,size:0,Ua:{},j:{},Ba:{},width:0,height:0,Bk:!1,nh:!1,fl:!1,Te:!0,Kd:{}},n:{eb:{},Ab:{}},duration:0,lc:{width:0,height:0},vd:0,ha:{},gb:{S:{},da:{},$b:{},hb:{},Fb:0,sb:{},rb:!1},S:{},kc:{re:null},hi:{},Nb:{},xq:{},Cc:{},Cf:{qm:0,Sf:1},bb:{As:p,Sw:p,Pw:p,yv:p,xt:p,nd:{}},oA:{rl:p,dl:p}})}function Sc(a){function b(){a.n.ze()}var c=[];this.Dc=function(a){for(var b=[],d=c.length;d--;){var f=c[d];f.Dc(a)&&b.push(f.Ng)}if(b.length)return b};Ri.forEach(function(b){(b=
b(a))&&c.push(b)});0<c.length&&a.addEventListener(Wc,b)}function uc(a){Ri.push(a)}function re(a,b){var c=a.length,d,f=b.length,g,h,k;for(d=0;d<c;d++)for(g=a[d],k=g[0],h=g[1],g=0;g<f;g++)if(b[g]>=h&&0>=--k)return!0}function vc(a){function b(f){a.removeEventListener(th,b);try{var g=f.data,h=g.length,k;f=0;for(var l,x,n,m={};f<0+h;){k=g[f];l=k&7;x=k>>3;var v=g,q=f,H=q+1,X=v.length,p=H,F=0,K={},da=[],ea=void 0,Ca=void 0,ja=0;if(H>=X)throw new Wa("Invalid Range for Protobuf - start: "+H+" , len: "+X);
for(;p<X;){F++;ea=v[p];Ca=ea&127;da.push(Ca);if(!(ea&128))break;p++}for(var Ja=da.length-1;0<=Ja;Ja--)ja<<=7,ja|=da[Ja];K.count=F;K.value=ja;K.start=q+F+1;n=K;if(!n.count)throw new Wa("Parsing error. bytes length is 0 for the tag "+k);f+=n.count+1;2==l&&(f+=n.value);m[x]={Iw:x,sA:l,value:n.value,count:n.count,start:n.start}}var u;var w;u=m&&(w=m[1])?w.value:void 0;1==u&&m[5]&&m[5].value&&(d=!0,a.yt());c.trace("RA check",{HasRA:d})}catch(t){c.error("RA check exception",t)}}var c=new a.log.r("RAF"),
d;a.addEventListener(th,b);return{Ng:"ra",Dc:function(a){if(!d)return a.nh}}}function ad(a,b){var c,d,f,g,h=a.eb,k=a.Ab,h=h.W.Oa||h.W;d=ua(h.endTime/(h.index+1));h=k.W.Oa||k.W;f=ua(h.endTime/(h.index+1));c=d*f;g=.128*d*b.f;this.Xb=function(a,b){return ua(((c-f*(b+g/a))/d-b)*a/f*7.8125)}}function Wf(a){var b,c=[],d=100,f=128,g=0,h=0,k=0,l,n;a.addEventListener($d,function(b){var g=b.B,S=b.N;S.i&&(l=S.i.location.id);n=g.requestTime;if(b.c&&g.Y>Si&&b.type==Cc){for(c.push(g);c.length>Ik;)c.shift();var m=
0,v,q=c.length;h=k=0;if(0<q){var F,K;for(b=q;b--;)v=c[b],g=xe(v),S=v.requestTime+g,m+=g,k+=v.Y,v.L>F||(h+=K-F||0,K=v.L),F=S;h+=K-F||0;d=pd(m/q);f=Ma(k/h,rh,sh);a.fireEvent(sg)}}});a.addEventListener(Ab,function(){m&&m.yb()});var m=new Ob(6E4,function(){g=f;m.yb()});m.tc();this.Ed=function(){return d};this.dc=function(){return f};this.gk=function(){return g};this.Gd=function(){return k};this.bh=function(){return h};this.$j=function(){return l};this.ak=function(){return n};this.ka=function(a){return d+
a/f};this.Xb=function(){b=b||new ad(a.n,a.ed);return b.Xb(f,d)};this.ve=function(){return ua(896E3/(d+896E3/f)*7.8125)}}function xe(a){a=va(a.O-a.requestTime,(a.L-a.requestTime)*Jk);a=ua(a);return Ma(a,Kk,Lk)}function id(a){var b=xe(a);a=Ma(ua(a.Y/(a.L-(a.requestTime+b))),rh,sh);return{Pd:b,Ef:a}}function bf(a){function b(){d();var a=q.ea(0,!0);x=l(m,0,a);return 0>x.Jb||0>x.wb}function c(a){for(a=f(a);a&&a.j;)a=a.lower;return a}function d(b){var c=a.Fa();if(b){b=a.Aa().ce(v.Eq);for(var f=c.length,
g=[],h=0;h<f;h++)-1!==b.indexOf(c[h].f)&&g.push(c[h]);c=g}b=c.length;n(c,Bd);for(f=0;f<b;f++)c[f].lower=c[f-1],c[f].Kd=c[f+1];q=c}function f(b){var c=q.ea(b.f);if(!c.Kd)return c;var d=a.n.ac(),d=Fc(v.lg,d);b=Fc(v.xl,b.f)[0];b=va(b,m.Xb()/(1+d[2]/100));b=q.fa(b+1);return b.f<=c.f?c:b}function g(){for(var b,c=a.Ha.value.stream,d=f(c),h,k=a.n.ac(),r=Fc(v.ij,k),S=Fc(v.lg,k),n,x;d;){if(d.j)if(b=d.f>c.f?S:r,n=v.Xa+(b[0]||0),x=v.Xa+(b[1]||0),h=d,b=l(m,b[2],d),b.Jb<n||b.wb<x){if(d.f<=c.f&&v.Gj&&k>v.Gj)break}else break;
d=d.lower}d||(d=h);return{k:d,Jb:b.Jb-n,wb:b.wb-x}}function k(){for(var b in a.ya)for(var c in a.ya[b].P)if(null!=a.ya[b].P[c].j)return a.ya[b].P[c];return null}function l(b,c,d){function f(){for(;q&&q.media&&Ga<V;)Ga+=q.duration,q=q.next;for(;hb&&hb.media&&Ha<V;)Ha+=hb.duration,hb=hb.next}function g(){if(r>=u){for(var a=d.lower;a&&!a.j;a=a.lower);a&&(d=a,ka=a.j.v);g=p}}var h=(c||0)/100+1,r=a.q.value,m=a.n,S=a.G.value,n=m.eb,x=m.Ab,m=S.j&&S.j.v,ka=d.j.v,Ka=[];null==m&&(S=k(),m=S.j.v);Ka.reduction=
c;c=v.Qd;v.Kb&&(c=va(c,ua(v.Kb/(.192*(S.f+d.f)))));var V=c-v.dj,q=n.ib(r),Ga=Ba(q.startTime-r,0),hb=x.ib(r),Ha=Ba(hb.startTime-r,0);f();var u=r+Ha+v.sq,S=v.ul?r+va(Ha,Ga)+v.ul:145152E5,n=Ga;c=Ha;for(var Na,w,t;r<S;)if(f(),t=x=w=0,Na=va(Ga-V,Ha-V),0<Na&&(r+=Na,Ga-=Na,Ha-=Na),q&&(Ga<Ha||!hb)?(Na=m[q.index],w=Na.length,x=Na.duration,q=q.next):hb&&(g(),Na=ka[hb.index])&&(w=Na.length,t=Na.duration,hb=hb.next),0<w)w=b.ka(w)*h,r+=w,Ga-=w,Ha-=w,n>Ga&&(n=Ga),c>Ha&&(c=Ha),Ga+=x,Ha+=t;else break;return{Jb:n,
wb:c,Rz:Ka}}var m=a.ca,x,q,V=v.os;n(this,{Vc:function(b){var c=m.ve()/v.no;return a.Gb().fa(c,b)},jb:function(b){d(b);b=m.Xb();var f=lb(Fc(v.ms,b)[0]);b=(b=q.fa(f+1,!0))||a.$;var g=a.n,h=v.Xk,k=l(m,h[2],b),S=g.Hb(),n=g.cc(),S=S?g.eb.W.endTime-S.startTime:0,n=n?g.Ab.W.endTime-n.startTime:0,x=g.tb(),E=g.La(),g=-k.Jb+v.Xa+(h[0]||0),h=-k.wb+v.Xa+(h[1]||0),g=Ba(g,v.Eh-x),g=va(g,Ba(V-x,0),S),h=Ba(h,v.Fh-E),h=va(h,Ba(V-E,0),n),f=q.fa(f+1,!1);f==b&&f.j&&(f=c(b));return{k:b,Wa:f,nb:g,ob:h}},Wc:function(){d();
var a=g(),b=a.k,f=c(b);f&&(a=va(a.Jb,a.wb),m.ka(f.Rj())<=a||(f=q[0],f=f.j?null:f));return{k:b,Wa:f}},Nd:b,ai:function(){var c=a.k.value.f,d=q.ea(0,!1).f;return a.n.bk()<v.Xn&&c!==d&&b()},ek:function(a){var b=g(),b={Jb:b.Jb-v.pe[0],wb:b.wb-v.pe[1]},b=va(b.Jb,b.wb);a=m.ka(a);a*=1+.01*v.pe[2];return a<b},Yg:function(){d();var b=l(m,v.ij[2],q[q.length-1]);return a.n.La()-b.wb}});a.addEventListener(be,function(){x=h});a.addEventListener(Wc,function(){V=v.Gs})}function Vg(a){function b(){var c=v.Qd,d=a.G,
f=a.k;v.Kb&&(c=va(c,ua(v.Kb/(.192*(d.f+f.f)))));return c}function c(a,b,d){var f=0;b=b||0;a=a.j.v;var z=a.length-b;d=Oa.min(d||z,z);B&&(b=0,d=a.length);0<d&&(b=a.slice(b,b+d),0<b.length&&(f=b.reduce(function(a,b){return{length:a.length+b.length}},{length:0}),f=f.length/d));return f}function d(a){a=a.j.v.slice(0,a.j.v.length);return 0===a.length?0:a.reduce(function(a,b){return a.length>b.length?a:b}).length}function f(a,b,c){a=a.j.v.slice(b||0,c||a.j.v.length);return 0===a.length?0:a.reduce(function(a,
b){return a.length<b.length?a:b}).length}function g(){var a=xa.ea(0,!0),b=xa.fa(Number.POSITIVE_INFINITY,!0);return 8*d(b)/a.f}function k(){return md*F/100-P-J}function l(){return Oa.min(v.Xa,2*M)}function m(a){var b=xa.ea(0,!0),c=b.j.v,d=l(),f=0;if(!c)return X;for(var z=Oa.min(c.length,a+K),g=0;a<z;a++){var h=c[a],g=g+(8*h.length/b.f-h.duration);f<g&&(f=g)}f<d?f=d:f>Oa.min(md,X)&&(f=Oa.min(md,X));return f}function x(a,b){D.push(a);10<D.length&&(D=D.slice(-10));U.push(b);10<U.length&&(U=U.slice(-10))}
function q(a,b,z){var g,h,k,l,m,S=xa.ea(b.f,!0),n=xa.ea(0,!0);if(1>=U.length||1>=z){if(1===I||A)h="historical"===v.hj?G.Gd()/(G.Ed()+G.bh()):G.dc(),g=h>S.f*T?S:h<b.f*T?xa.fa(b.f,!0):b;return g}h=2>U.length?0:a-U[U.length-2];k=c(b,0,b.j.v.length);l=d(b);m=b.j.v[z-1].length;if(aa)if(g=l/k,O&&(l=Oa.min(b.j.v.length-z-1,y),z+l+1<b.j.v.length&&(g=f(b,z,z+l)/k)),L?1>=g?a=1:(z=J+P+N,a=a>z?1:(g-1)*(z-a)/z+1):a=g,z=M-8*m/(S.f*a),h>z)g=S;else if(0<=h)g=b;else for(g=S,b=M-8*m/(g.f*a);h<b;){g=xa.fa(g.f,!0);if(g===
n)break;b=M-8*m/(g.f*a)}return g}function V(a,b,d,f){var z=xa.fa(b.f,!0),g=xa.ea(b.f,!0),h=xa.ea(0,!0),k,S;S=xa.ea(0,!0).f*M/8;var m=xa.fa(Number.POSITIVE_INFINITY,!0).f*M/8;S=(a-P-J)/N*(m-S)+S;S=Oa.max(0,S);var m=xa.ea(0,!0),n=xa.fa(Number.POSITIVE_INFINITY,!0),n=T*M*n.f/8;la&&(n=ea?(a-P)*m.f/8:(a-l())*m.xu/8);a=n;var x=n=0,E=z.j.v,ka=g.j.v,Ka=b.j.v[d].length,m=b;S=Oa.min(S,a);E&&(n=c(z,d,f),1<f&&(n=Oa.max(n,E[d].length)));ka&&(x=c(g,d,f),1<f&&(x=Oa.max(x,ka[d].length)));if(la&&Ka>a){for(;;){m=xa.fa(m.f,
!0);if(m.f===h.f){k=h;break}b=m.j.v[d].length;if(b<a){k=m;break}}return k}if(0<x&&S>x)k=g;else if(0<n&&S<n)for(m=z,b=n;b>S;){k=m;m=xa.fa(m.f,!0);if(m.f===h.f)break;b=c(m,d,f);1<f&&(b=Oa.max(b,m.j.v[d]))}else k=b;return k}function p(){var f=a.Ha.value.stream,n,ka=xa.ea(0,!0),v=a.n.ac(),F=a.n.vb();n=F.duration;var K=0,H=2>U.length?0:v-U[U.length-2],u,aa=1;M===h&&(M=n);T===h&&(T=d(f)/c(f));md===h&&(md=b());1===I&&(Vb=Ca,ca=0===D.length?f.f:D.reduce(function(a,b){return a+b},0),0<ca&&(ca/=D.length,ca=
Oa.min(ca,D[D.length-1]),R=xa.fa(ca,!0)),U=[],D=[]);x(f.f,v);Vb=da?Vb-1:-1;0===Vb&&0<H?Vb+=1:da&&-1===Vb&&(0<H?Vb=1:u=!0);ea?(K=m(F.index),P<K&&(P=K)):ja?(P=Ja,P<l()&&(P=l())):P=l();if(0>J||2===I||1===I)J=v-P,J=Oa.max(0,J),J+P>X&&(J=X-P),J>w&&(J=w),Q=!1,v>=k()+P+J&&(Q=!0);!t&&ea?N=k():t?(N=C,N<g()()?N=g():N>k()&&(N=k())):N=g();cb&&(aa=(v-P-J)/n,aa=1>aa?1:aa);v<P+J?(n=ka,Q=!1):v>P+J+N-n?(n=xa.fa(Number.POSITIVE_INFINITY,!0),Q?n=0<H?xa.ea(f.f,!0):f:Vb=-1):(n=V(v,f,F.index,aa),Q&&(n=0<=H?f:xa.fa(f.f,
!0)));da&&0<=Vb?(v=q(v,f,F.index),R&&v.f<R.f&&(0<H?v=xa.ea(f.f,!0):0>H&&(R=h)),R&&v.f>=R.f&&(R=h),v.f>n.f&&(n=v)):u&&(0<H?n=f:n.f<=f.f/2?n=xa.fa(f.f/2,!0):u=!1);I=0;n||(n=ka);return n}var u=new bf(a),H=v.Ao,X=H.mr,w=H.lr,F=H.hr,K=H.Rs,da=H.Kt,ea=H.yp,Ca=H.Jt,ja=H.Jq,Ja=H.fr,t=H.Fq,C=H.er,cb=H.Iq,B=H.Mq,la=H.Nq,A=H.cu,aa=H.Lt,L=H.Mt,O=H.Ht,y=H.It,I=0,G=a.ca,md,xa,P=0,N=0,U=[],D=[],Vb=Ca,J=0,M,ca,R,Q,T;a.addEventListener(ae,function(){I=1});a.addEventListener(pf,function(){I=2});return{Vc:u.Vc,jb:u.jb,
Wc:function(){var b=a.Fa(),c=b.length;n(b,Bd);for(var d=0;d<c;d++)b[d].lower=b[d-1],b[d].Kd=b[d+1];xa=b;b=p();c=a.n;d=xa.ea(b.f);if(d.Kd)var f=a.n.ac(),f=Fc(v.lg,f),g=Fc(v.xl,b.f)[0],g=va(g,G.Xb()/(1+f[2]/100)),f=xa.fa(g+1),d=f.f<=d.f?d:f;for(;d&&d.j;)d=d.lower;d&&(c=va(c.tb(),c.ac())-M,G.ka(d.Rj())<=c||(c=xa[0],d=c.j?null:c));return{k:b,Wa:d}},Nd:u.Nd}}function Ud(a){function b(c){c=a.Aa().filter(c?zd:ze);return vd(c)}return{Vc:function(b){b=a.Gb().filter(b?zd:ze);return vd(b)},jb:function(){var c=
a.n,d=c.tb(),f=c.La(),d=Ba(v.Eh+v.Xa-d,0),f=Ba(v.Fh+v.Xa-f,0),g=c.Hb(),h=c.cc(),h=h?c.Ab.W.endTime-h.startTime:0,d=va(d,g?c.eb.W.endTime-g.startTime:0),f=va(f,h);return{k:b(!0),Wa:b(!1),nb:d,ob:f}},Wc:function(){return{k:b(!0),Wa:b(!1)}},Nd:function(){return!1},ai:function(){return!1},ek:function(){return!0},Yg:function(){return 4E3}}}function eg(a){function b(){var c=v.Lp,d=a.n.cc();if(d)for(var d=d.startTime,f,g=c.length,h,k=0,k=0;k<g;k++)if(h=c[k],d>=h[0])f=h[1];else break;c=a.Fa();f=Bd.qc.call(c,
f||0);c=c.filter(ze)[0];return{k:f,Wa:c}}n(this,{Vc:function(b){b=a.Gb().filter(b?zd:ze);return vd(b)},jb:function(){var c=b(),d=a.n,f=d.tb(),g=d.La(),f=Ba(v.Eh+v.Xa-f,0),g=Ba(v.Fh+v.Xa-g,0),h=d.Hb(),k=d.cc(),k=k?d.Ab.W.endTime-k.startTime:0,f=va(f,h?d.eb.W.endTime-h.startTime:0),g=va(g,k);c.nb=f;c.ob=g;return c},Wc:b,Nd:function(){return!1},ai:function(){return!1},ek:function(){return!0},Yg:function(){return 0}})}function Wg(a){function b(){for(var a,c,d,f,g=q.length,z=n.length,h=0;h<g;h++){var k=
q[h];if(-1===n.indexOf(k)&&k<ba(n))for(a=0;a<z-1;a++)if(c=n[a],f=n[a+1],k>=f&&k<=c){a=l[c];d=l[f];l[k]=(k-c)/((f-c)/(d-a))+a;break}}}function d(){var b=[],f=a.Gb(),g=a.Aa(),h=a.n.Hb().index,k=a.n.cc().index,r=a.n.eb,n=a.n.Ab;c(l,function(a,c){var d,z=f.qc(a,!0),l=g.qc(a,!0),m=0,S=0,x;d=va(pd(v.kj)/4,r.W.index-h+1);for(x=0;x<d;x++)m+=z.j.v[h+x].length;d=va(v.kj,n.W.index-k+1);for(x=0;x<d;x++)S+=l.j.v[k+x].length;d=Ba((m+S)/d*2/128/c,a);z={};z.f=a;z.Ns=d;z.mw=c;b.push(z)});return b=b.sort(function(a,
b){return Jc(a.f)<Jc(b.f)?-1:Jc(a.f)>Jc(b.f)?1:0})}function f(){for(var a,b=m.length;b--;)if(a=m[b],a.Ns<=k)return a.f}var g,h,k,l={},n=[],m=[],q;this.Zj=function(V){q=a.Aa().ce(v.yk);if((g=a.jh)&&V&&(h=g.aq(V,ua(ld/1E3)+ia()))&&0!==h.wf)return c(v.Io,function(a,b){l[a]=wc(b);n.push(C(a))}),n=A(n).reverse(),b(),m=d(),k=(20===v.lj?h.ej:90===v.lj?h.gj:h.fj)*(1-.01*(v.Xk[2]||0)),f()};this.$p=function(){return h}}function Tc(a,c,d){function f(a){if(x.state.value==qf||x.state.value==cc||x.state.value==
eb)X.info("Playback closing",x,a?{ErrorCode:a.Nc}:h),jb.removeListener(Lc,l),x.la=a,u.A(uh,{qu:H}),u.A(Ab),x.state.set(vh),t||Aa(g)}function g(){var a=x.bf;x.bf=h;a?ce.Js(a,function(){k()}):k()}function k(){k=p;var a=sd.indexOf(x);sd.splice(a,1);x.state.set(ug);u.A(vg,{},!0);u.Oc()}function l(){f()}function n(){var a=x.q.value;F!=a&&(X.trace("MediaTime changed",{MediaTime:Va(a)}),F=a,u.A(rf))}function m(a){a.newValue!=Tb&&(x.C.removeListener(m),u.A(Wc),x.Vk=I(x.Ib()),x.Dq=(x.Ya.value||x.Ha.value).stream.f)}
var x=this,q,V=new Eb(1E3),u=new Hb,w={},H={};wg?(q=wg,wg=h):q=1E4*Nb()+ua(1E4*ef());Ji=q;x.addEventListener=u.addListener;x.removeEventListener=u.removeListener;x.fireEvent=u.A;x.X=a;x.sa=c;x.Vd=d||{};x.Ea=x.Vd.Ea||0;x.index=++Mk;x.qa=q;x.Za=Fa("DIV","position:relative;width:100%;height:100%;overflow:hidden");x.bd=v.Fl&&!(q%v.Fl);x.Ba={MovieId:x.sa,TrackingId:x.Ea,Xid:x.qa,AccountKey:x.X};x.lb=w;a=new Pc(x);x.log=a;xg||(xg=a);var X=new x.log.r("Playback");X.info("Playback created",x.Ba);x.bd?X.info("Playback selected for trace playback info logging"):
X.trace("Playback not selected for trace playback info logging");x.state=new Xa(qf);x.state.addListener(function(a){X.info("Playback state changed",{From:a.oldValue,To:a.newValue})});x.Lr=function(){x.log.Ma.ad=x.ad=ia();x.Fk=Nb();x.state.set(cc)};x.Kr=function(){x.state.value==cc&&x.state.set(eb)};x.ta=function(a){X.trace("Milestone",{Id:a});w[a]=x.Ib()};x.Pp=function(){if(b(x.lb.ats)&&b(x.lb.at))return x.lb.at-x.lb.ats};x.Tp=function(){return x.n&&x.n.ac()};x.gq=function(){if(b(x.lb.shs)&&b(x.lb.sh))return x.lb.sh-
x.lb.shs};x.close=function(a){a&&(x.state.value==ug?a():x.addEventListener(vg,function(){a()}));f()};x.Ta=function(a){function b(){f(a)}if(x.state.value==qf)x.la||(x.la=a,x.load());else{var c=v.zj&&a&&v.zj[a.errorCode];Ua(c)&&(c=C(c));X.error("Fatal playback error",{Error:""+a,HandleDelay:""+c});0<=c?$a(b,c):b()}};x.Hl=function(){t=!0};x.Hr=function(){g()};x.fe=function(){u.A(Ti)};var t;jb.addListener(Lc,l,1);x.q=new Xa;var F;x.q.addListener(function(){V.pb(n)});x.Mp=function(){n()};x.paused=new Xa(!1);
x.paused.addListener(function(a){X.info("Paused changed",{From:a.oldValue,To:a.newValue,MediaTime:Va(x.q.value)})});x.muted=new Xa(!1);x.volume=new Xa(v.hp/100);x.C=new Xa(Tb);x.C.addListener(function(a){X.info("PresentingState changed",{From:a.oldValue,To:a.newValue,MediaTime:Va(x.q.value)},x.n.Oe())});x.o=new Xa(dc);x.o.addListener(function(a){X.info("BufferingState changed",{From:a.oldValue,To:a.newValue,MediaTime:Va(x.q.value)},x.n.Oe())});x.Q=new Xa(null);x.Q.addListener(function(a){X.info("AudioTrack changed",
a.newValue&&{ToBcp47:a.newValue.Ra,To:a.newValue.U},a.oldValue&&{FromBcp47:a.oldValue.Ra,From:a.oldValue.U},{MediaTime:Va(x.q.value)});x.G.set(x.wa.Vc())});x.Tb=new Xa(null);x.Tb.addListener(function(){x.k.set(x.Aa()[0])});x.T=new Xa(null);x.T.addListener(function(a){X.info("TimedTextTrack changed",a.newValue?{ToBcp47:a.newValue.Ra,To:a.newValue.U}:{To:"none"},a.oldValue?{FromBcp47:a.oldValue.Ra,From:a.oldValue.U}:{From:"none"},{MediaTime:Va(x.q.value)})});x.oc=new Xa(null);x.fi=new Xa(null);x.k=
new Xa(null);x.G=new Xa(null);x.i=new Xa(null);x.i.addListener(function(a){a=a.newValue;var b=x.F;b.splice(b.indexOf(a),1);b.unshift(a)});x.ic=new Xa(null);x.Ya=new Xa(null);x.Ee=new Xa(null);x.Fe=new Xa(null);x.Pc=new Xa(null);x.Ha=new Xa(null);x.te=new Xa(null);x.C.addListener(m);x.ue=new Xa;ye(x);x.dh=function(){u.A(uh,{qu:H});return H};x.yt=function(){H.HasRA=!0};sd.push(x);x.xa=new Pe(x);x.vh=new Lf(x);x.ca="sliding_window"===v.hj?new db(x):new Wf(x);x.Cg=new hg;x.nf=new gg(x);x.Wk=new Xg(x);
x.Uk=new dg(x);x.ff=new Sc(x);v.zp&&(x.jh=new Yb(x));Ui.forEach(function(a){a(x)});fg(this)}function fg(b){function d(a){return"parallel"===v.ug?new Q(a):new Lg(a)}function f(a,c){h||(h=!0,b.Ta(new Ib(a,c)))}var g=new b.log.r("Playback"),h,l,n,m,q,x;b.load=function(a){this.load=O;q=a;b.state.value==qf&&(g.info("Playback loading",b),b.Lr(),yg(function(a){a.c?b.Zo():f(a.errorCode||R.je,a)}))};b.Zo=function(){try{var a=b.X,c=a?Ue(a):jf;b.X=c.X;b.nc=c;switch(v.rq){case "random":b.wa=new Ud(b);break;case "fixed":b.wa=
new eg(b);break;case "bb":b.wa=new Vg(b);break;default:b.wa=new bf(b)}b.mb=new $f(b);b.Mk=new ag(b);b.nu()}catch(d){f(R.km,{g:N.Ub,D:L(d)})}};b.nu=function(){if(b.la)b.Ta(b.la);else if(k(b.sa,1)){var a=b.nc.Xc();if(v.Os){var c=a.ia;if(!Ua(c)){f(R.zi);return}c=Ta(c);if("usr"!=c&&"dbl"!=c){g.error("Invalid NetflixId",{bt:c});f(R.yi);return}}v.Ps&&!Ua(a.$a)?f(R.Bi):b.Mo()}else f(R.Yl)};b.Mo=function(){var a=ce.nl;a?a.c?b.sg():f(R.Ci,a):b.eg()};b.sg=function(){v.sg?Vd(function(){b.eg()},b):b.eg()};b.eg=
function(){b.state.value==cc&&(v.Dp&&!b.jd?ce.$i(Nk,function(a){a.c?(b.bf=a.bf,b.yf()):f(R.Ai)}):b.yf())};b.yf=function(){b.state.value==cc&&(b.ta("ic"),b.Uk.st(function(a){a.error&&g.error("Error sending persisted playdata",fb(a));b.ud()}))};b.ud=function(){b.state.value==cc&&(g.info("Authorizing",b),b.ta("ats"),b.mb.ud(function(d){if(b.state.value==cc){b.ta("at");if(!d.c)switch(d.method){case "register":f(R.Am,d);return;case "authenticationrenewal":f(R.zm,d);return;default:f(R.ym,d);return}var h;
try{l=b.Gb().ce(v.Cq);n=b.Aa().ce(v.yk);m=b.Gb().qc(l[0]||0);x=b.Aa().qc(n[0]||0);h=kf.call(b.F,function(b){return a(m.Ua[b.id])&&a(x.Ua[b.id])});b.Wd=h[0];b.Pt=h;var k={};h.forEach(function(a){var b=a.location.id;k[b]||(k[b]=[]);k[b].push(a)});var S=[];c(k,function(a,b){var c=b[0].location;c.F=b;S.push(c)});b.ei=S.sort(function(a,b){return a.ma-b.ma});b.Wd!=b.F[0]&&g.error("Primary CDN does not have downloadUrls for a/v streams",{CdnId:b.F[0].id})}catch(ka){g.error("Exception while picking initial streams",
ka)}m&&x&&h.length?b.us():f(R.Bm)}}))};b.us=function(){q?(g.info("Processing post-authorize",b),q(b,function(a){a.c?b.Hj():f(R.pm,a)})):b.Hj()};b.Hj=function(){function a(){if(b.jd||!(0<S)||ka){var c=d.ea(0,!0),g=h.ea(0,!0);c&&g?(m=c,x=g,a=p,b.ls()):0>=S&&(a=p,f(R.om,q))}}if(b.state.value==cc){g.info("Downloading initial stream headers",b,{Audio:l.join("|"),Video:n.join("|")});b.ta("shs");var c;v.Qg&&(c=b.ya.filter(function(a){return a.Ra==v.Qg||a.U==v.Qg}))&&c.length&&b.Q.set(c[0]);v.Le&&(c=b.pa.filter(function(a){return a?
a.Ra==v.Le||a.U==v.Le:"none"==v.Le.toLowerCase()}))&&c.length&&b.T.set(c[0]);var d=b.Gb(),h=b.Aa(),k=[d[0],h[0]],S=0,ka=!1,q;b.jd||l.forEach(function(a){a=d.qc(a);0<=k.indexOf(a)||k.push(a)});n.forEach(function(a){a=h.qc(a);0<=k.indexOf(a)||k.push(a)});c=S=k.length;for(var u=0;u<c;u++)g.trace("Downloading header",{Type:k[u].type,Bitrate:k[u].f}),k[u].Ga(function(b){b.c||(q=b);S--;a()});$a(function(){0<S&&g.debug("Not all initial headers downloaded within the deadline ("+v.vk+" ms)");ka=!0;a()},v.vk)}};
b.ls=function(){try{if(b.state.value==cc){b.ta("sh");g.trace("Initializing primary streams and MediaBuffer");v.K||(b.G.set(b.ed=b.wa.Vc(!0)),b.k.set(b.$=x));b.n=new Ad(b);var a=b.n.eb,c=b.n.Ab,d=a.W.endTime,h=c.W.endTime;b.duration=Ba(d,h);yc(d-h)>va(a[0].duration,c[0].duration)&&g.error("Large audio and video duration gap",{AudioMS:d,VideoMS:h,MovieId:b.sa,AudioDlId:b.ed.J,VideoDlId:b.$.J});var l={width:1,height:1};b.Aa().forEach(function(a){l.width*l.height<a.width*a.height&&(l.width=a.width,l.height=
a.height)});b.lc=l;var n=C(v.xo[b.sa]);k(n)?(g.info("Overriding bookmark",{From:b.fb,To:n}),b.fb=n):((n=b.fb)&&n<Hf(v.yo,b.duration)&&(g.trace("Ignoring bookmark because it's to close to beginning"),b.fb=0),n&&n>b.duration-Hf(v.zo,b.duration)&&(g.trace("Ignoring bookmark because it's to close to end"),b.fb=0));b.$o()}}catch(m){f(R.lm,{g:N.Ub,D:L(m)})}};b.$o=function(){try{b.ha=new Re(b),b.S=d(b),b.kc=new Kj(b),v.Ms&&(b.hi=new Lj(b)),b.Nb=new Mj(b),b.xq=new Pj(b),Vi.forEach(function(a){a(b)}),b.Kr(),
v.Mr&&D.application&&D.application.uiInfoOverlay&&D.application.uiInfoOverlay.active.set(!0)}catch(a){f(R.mm,{g:N.Ub,D:L(a)})}}}function ye(a){function c(){return a.state.value==cc||a.state.value==eb&&a.C.value==Tb}function d(){c()?x||(x=qb(f,100)):x&&(yb(x),x=h,Aa(f))}function f(){var d=ia(),r=g.value,x=r?r.jc:0,Ka,q=a.state.value==cc||c()&&199<d-k,p,u,F;q&&a.state.value==eb?(a.o.value==mc?(u=x,p=!0):(Ka=d+(a.S.yc()||0),l=l||d,n=n||l+v.vr+1,b(Ka)&&(Ka=Ba(Ka,n),u=a.S.Pe(),u=lb(1E3*Ma((d-l)/(Ka-l),
0,u))/1E3)),u<x&&(x-u<v.ws/100?(u=x,m=h):m?d-m>v.vs?(F=!0,m=h):u=x:(m=d,u=x))):m=n=l=h;d=q?{Bf:p,jc:u,xs:F}:null;(!d||!g||!g.value||b(d.jc)&&!b(g.value.jc)||b(d.jc)&&b(g.value.jc)&&.01<yc(d.jc-g.value.jc)||d.Bf!==r.Bf)&&g.set(d)}var g=a.ue,k=0,l,n,m,x;a.state.addListener(function(){d();f()},1);a.C.addListener(function(a){if(a.oldValue!=Tb||a.newValue!=Tb)k=ia();d()});a.o.addListener(function(){d()});x||(x=qb(f,100))}function Vd(a,b){var c=sd[0];c==b&&(c=sd[1]);c?c.close(function(){Vd(a,b)}):a&&a(ta)}
function Ic(a,b){switch(a){case wh:Ui.push(b);break;case zg:Vi.push(b)}}function cf(a,b,c){return v.K?new ed:new Tc(a,b,c)}function gg(a){function d(){if(!t){F=qb(m,1E3);a.Za.appendChild(p);for(var b=H.length;b--;)H[b].addListener(q);for(b=X.length;b--;)a.addEventListener(X[b],q);t=!0}l()}function f(){if(t){yb(F);da=K=h;a.Za.removeChild(p);for(var b=H.length;b--;)H[b].removeListener(q);for(b=X.length;b--;)a.removeEventListener(X[b],q);x.pb();t=!1}}function g(){t?f():d()}function k(){var d=a.n,f=[],
g;f.push({Version:"2.0000.453.011",Esn:ac?ac.vc:"UNKNOWN",UserAgent:Zb.userAgent});try{f.push({MovieId:a.sa,TrackingId:a.Ea,Xid:a.qa+" ("+sd.map(function(a){return a.qa}).join(", ")+")",Position:Va(a.q.value),Duration:Va(a.duration),Volume:lb(100*a.volume.value)+"%"+(a.muted.value?" (Muted)":"")})}catch(l){}try{var r=a.S?a.S.yc():h;f.push({"Player state":ea[a.state.value],"Buffering state":Ca[a.o.value]+(b(r)?", ETA:"+Va(r):""),"Rendering state":ja[a.C.value]})}catch(n){}try{var m=d.Gd(),S=v.Kb,x=
a.ic.value,E=x&&x.stream,ka=a.Ya.value,Ka=ka&&ka.stream,q=a.i.value;f.push({"Playing bitrate (a/v)":E&&Ka?E.f+" / "+Ka.f+" ( "+Ka.j.Bj+" )":"?","Buffering bitrate (a/v)":a.G.value.f+" / "+a.k.value.f,"Buffer size in Bytes (a/v)":d.Uj()+" / "+d.ik(),"Buffer size in Bytes":m+(S?" ("+(100*m/S).toFixed(0)+"% of max)":""),"Buffer size in Seconds (a/v)":Va(d.tb())+" / "+Va(d.La()),"Will Rebuffer":a.wa.Nd(),"Current CDN":q.name+", Id: "+q.id})}catch(F){}try{var V=a.ic.value.stream,u=V.j,p=V.track,Ja=a.Ya.value.stream.j,
Ga=a.oc.value;f.push({"Audio Track":p.Ra+", Id: "+p.U+", Channels: "+p.qg+", Codec: "+(u&&u.tg),"Video Track":"Codec: "+(Ja&&Ja.tg),"Timed Text Track":Ga?Ga.Ra+", Profile: "+Ga.Nk+", Id: "+Ga.U:"none"})}catch(H){}try{f.push({Framerate:a.k.value.j.Sg.toFixed(3),"Current Dropped Frames":b(K)?K:"","Total Frames":a.ha.Me(),"Total Dropped Frames":a.ha.xc(),"Total Corrupted Frames":a.ha.Cd(),"Total Frame Delay":a.ha.Ne(),"Main Thread stall/sec":xh?xh.dq().join(" "):"DISABLED",VideoDiag:Ag(a.dh())})}catch(hb){}try{a.n&&
(v.K?f.push({Throughput:a.Ef+" kbps"}):f.push({Latency:a.ca.Ed()+" ms",Throughput:(7.8125*a.ca.dc()).toFixed(0)+" KBPS","Bandwidth (normalized)":a.ca.ve()+" KBPS","Max Sustainable Video Bitrate":a.ca.Xb()+" KBPS"}))}catch(w){}try{c(nb,function(a,b){g=g||{};g[a]=mb.stringify(b)}),g&&f.push(g)}catch(X){}return f}function l(){if(V.selectionStart==V.selectionEnd){var a="";k().forEach(function(b){a=a?a+"\n":"";c(b,function(c){a+=c+": "+b[c]+"\n"})});V.style.fontSize=Ma(ua(p.clientHeight/60),8,18)+"px";
V.value=a}}function m(){var b=a.ha.xc();K=b-da;da=b;q()}function q(){x.pb(l)}function u(a){a.ctrlKey&&a.altKey&&a.shiftKey&&(68==a.keyCode||81==a.keyCode)&&g()}var x=new Eb(1E3),p=Fa("DIV","position:absolute;left:10px;top:10px;right:10px;bottom:10px",h,{"class":"player-info"}),V=Fa("TEXTAREA","position:absolute;resize:none;box-sizing:border-box;width:100%;height:100%;padding:10px;background-color:rgba(0,0,0,0.4);color:#fff;font-size:12px;font-family:Arial;overflow:auto"),w=Fa("DIV","position:absolute;top:2px;right:2px"),
t,H=[a.q,a.i,a.ic,a.Ya,a.G,a.k,a.oc,a.state,a.o,a.C,a.volume,a.muted],X=[be,sg],nb={},F,K,da;this.ut=function(a){nb.DFR=a};var ea={};ea[qf]="Not Loaded";ea[cc]="Loading";ea[eb]="Normal";ea[vh]="Closing";ea[ug]="Closed";var Ca={};Ca[nc]="Normal";Ca[dc]="Pre-buffering";Ca[mc]="Network stalled";var ja={};ja[Tb]="Waiting for decoder";ja[qd]="Playing";ja[of]="Paused";ja[Kc]="Media ended";V.setAttribute("readonly","readonly");p.appendChild(V);p.appendChild(w);var Ja=Fa("BUTTON",null,"X");Ja.addEventListener("click",
f,!1);w.appendChild(Ja);jb.addListener(Dd,u);a.addEventListener(Ab,function(){jb.removeListener(Dd,u);f()});n(this,{toggle:g,show:d,hh:f,cq:k})}function Xg(a){function b(){F||(k(),a.Za.appendChild(V),F=!0)}function c(){F&&(a.Za.removeChild(V),F=!1)}function d(){F?c():b()}function f(){var b=[],c={ranges:[]};a.Fa().forEach(function(a){c.profile||(c.profile=a.wj);c.ranges.push({min:a.f,max:a.f})});b.push(c);a.bb.xt(b);a.n.reset();a.bb.seek(a.q.value)}function g(){var b=a.Aa().filter(function(a){return K[a.f]});
b.length||b.push(a.$);return b}function k(){var b=a.Q.value,c=a.Tb.value,d=a.F;b&&(d=d.slice(),d.sort(function(a,b){return a.ma-b.ma}),x(H,b.P.map(function(b){return{value:b.f,caption:b.f,selected:b==a.G.value}})));c&&(x(w,c.P.map(function(b){var c=a.ff.Dc(b),d=b=b.f;c&&(d+=" ("+c.join("|")+")");return{value:b,caption:d,selected:a.Fa!=g?!c:K[b]}})),w.removeAttribute("disabled"));d&&(x(t,d.map(function(b){return{value:b.id,caption:"["+b.id+"] "+b.name,selected:b==a.i.value}})),t.removeAttribute("disabled"))}
function l(){F&&k()}function m(a){var b=Fa("DIV","display:inline-block;vertical-align:top;margin:5px;");a=Fa("DIV",h,a);var c=Fa("select","width:120px;height:180px",h,{disabled:"disabled",multiple:"multiple"});b.appendChild(a);b.appendChild(c);p.appendChild(b);return c}function x(a,b){a.innerHTML="";b.forEach(function(b){var c={title:b.caption};b.selected&&(c.selected="selected");c=Fa("option",h,b.caption,c);c.value=b.value;a.appendChild(c)})}function q(a){a.ctrlKey&&a.altKey&&a.shiftKey&&83==a.keyCode&&
d()}var V=Fa("DIV","position:absolute;left:0;top:50%;right:0;bottom:0;text-align:center;color:#040;font-size:11px;font-family:monospace",h,{"class":"player-streams"}),p=Fa("DIV","display:inline-block;background-color:rgba(255,255,255,0.86);border:3px solid #fff;padding:5px;margin-top:-90px"),u=Fa("DIV","width:100%;text-align:center"),H=m("Audio Bitrate"),w=m("Video Bitrate"),t=m("CDN"),F,K={};V.appendChild(p);p.appendChild(u);var da=Fa("BUTTON",h,"Override");da.addEventListener("click",function(){K=
{};for(var b=w.options,d=b.length;d--;){var h=b[d];h.selected&&(K[h.value]=1)}a.Fa=g;a.n.ze();v.K&&(a.S.wd(),f());if(b=a.F){var k=t.value;(b=b.filter(function(a){return a.id==k})[0])&&b!=a.i.value&&(b.pc={testreason:"streammanager",selreason:"userselection"},a.i.set(b))}c()},!1);u.appendChild(da);da=Fa("BUTTON",h,"Reset");da.addEventListener("click",function(){delete a.Fa;a.n.ze();v.K&&(a.S.wd(),f());c()},!1);u.appendChild(da);jb.addListener(Dd,q);a.addEventListener(Ab,function(){jb.removeListener(Dd,
q)});a.i.addListener(l);a.Q.addListener(l);a.Tb.addListener(l);n(this,{toggle:d,show:b,hh:c})}function hg(){function a(){k=!1;for(var b=c.length,z;b--;)z=c[b],g[z]&&(g[z]=!1,f.A(z+"changed",{getModel:d[z]}))}function b(c){g[c]=!0;k||(k=!0,Aa(a))}var c=[],d={},f=new Hb,g={},k=!1;return{register:function(a,b){c.indexOf(a);d[a]=b;c.push(a)},zh:b,kq:function(a){return(a=d[a])?a():h},addEventListener:function(a,c){f.addListener(a,c);d[a]&&b(a)},removeEventListener:function(a,b){f.removeListener(a,b)}}}
function ue(c,d,f,g,h,k,l,m){function q(a){if(!(0<=qc(a,"ftyp").vj.indexOf("dash")))throw new Wa("ftyp is not dash compatable");for(var c=ig(a),d=qc(yh(c),"moov"),f=[],g=d.children.filter(function(a){return"trak"===a.type}),z=0;z<g.length;z++){var h=g[z].ub("mdia/minf/stbl/stsd/mp4a|enca|ec-3|avc1|encv|hvcC|hev1|dvhe");V(d,h);f.push(h)}h=f[0];a=qc(a,"sidx");f=h.type;c={stream:w,tg:f,Hg:"encv"==f||"enca"==f,Aq:c,Rd:d};d=0;switch(w.type){case sb:d=v.ig;break;case Za:d=v.ou;try{var k=h.ub("4E657466-6C69-7846-7261-6D6552617465"),
l=k.Qr/k.jp;b(l,1)&&(c.Sg=l)}catch(r){}"hev1"!==h.type&&"dvhe"!==h.type?(k=h.ub("pasp"),l=h.width,f=h.height,k.Mf<k.Re?l=ua(l*k.Re/k.Mf):f=ua(f*k.Mf/k.Re),l==w.width&&f==w.height||t.error("Stream resolution does not match",{Nccp:w.width+"x"+w.height,Header:l+"x"+f},X),c.Bj="res: "+h.width+"x"+h.height+", par: "+k.Re+"x"+k.Mf):c.Bj=""}c.v=Ng(w,d,a);return c}function x(a,b){t.trace("Downloading header",{Cdn:b.id},X);a=a||p;var g={responseType:Cc,hc:ve,url:w.Ua[b.id],i:b,track:d,stream:w,offset:0,length:H||
u(m),Eb:f+"-"+h+"-hdr",Ic:!0};c.xa.R(g,function(c){var d;if(c.c){try{var f=c.content;if(!H){var g=qc(f,Ok);H=g.Tr+g.Kp;if(0<H&&!(H<=f.byteLength)){t.warn("Header size underestimated, retrying",{Estimated:f.byteLength,Actual:H},X);x(a,b);return}}var z=q(f);z&&(t.trace("Header parsed",{Chunks:z.v.length},X),w.j=z);v.K&&(ta.Pa=c.parsed?c.Pa:c.content,ta.Pa=ta.Pa.slice(0,H));d=ta}catch(h){t.error("Exception while parsing header",h,X),d={c:!1,g:N.Qf}}a(d)}else t.warn("Unable to download header",fb(c),
X),a(c)})}function u(a){var b;if(b=a)b=a?-1<Pk.indexOf(a):void 0;return b?pd(Qk+c.Je*Rk):pd(Sk+c.Je*Tk)}function V(a,b){var d=v.wq;d.length&&a.children.forEach(function(a){"pssh"==a.type&&0<=d.indexOf(a.zd)&&a.Pa&&a.Pa.set([102,114,101,101],4)});if(v.Jl&&f==sb){var g=a.ub("mvex/trex");g.Bg.il&&(t.trace("Applying sampleIsDifferenceSample workaround",X,{Box:"trex"}),fa(g))}if(v.vu&&"playready"==ga()&&"encv"==b.type){var h=function(){var a=c.$.j.Rd.children.filter(function(a){return"pssh"==a.type&&"9A04F079-9840-4286-AB92-E65BE0885F95"==
a.zd})[0],d;try{d=Bc(Qe(a.data.subarray(10,a.data.length-10),"KID"))}catch(f){t.error("Exception parsing KID in PSSH",f)}d&&16==d.length&&b.children.map(function(a){try{if("sinf"==a.type)return a.ub("schi/tenc|8974DBCE-7BE7-4C51-84F9-7148F9882554")}catch(b){t.error("Exception finding TENC box",b)}}).filter(Z).forEach(function(a){var b=a.oh;if(b&&Id(d,b)){var c=function(a,c){var d=b[a];b[a]=b[c];b[c]=d};t.trace("Applying KID byte order workaround",X,{Box:a.type});c(0,3);c(1,2);c(4,5);c(6,7)}})};if(c.$)h();
else{var k=function(a){a.newValue==eb&&(c.state.removeListener(k),h())};c.state.addListener(k)}}}var w=this,t=new c.log.r("CadmiumMediaStream"),H,X={Type:f,Bitrate:h,DownloadableId:g};n(w,{track:d,type:f,J:g,f:h,wj:m,size:k,Ua:l,j:null,Rj:u,Ga:Mb(function(b){function d(a){if(a.c)b(a);else{var c,z;for(z=0;z<g.length;z++)if(c=g[z],f[c.id]>v.qq)c=null;else break;c?(f[c.id]=(f[c.id]||0)+1,x(d,c)):b(a)}}w.Te=!0;var f={},g=kf.call(c.F,function(b){return a(l[b.id])});d({c:!1})}),Ba:X,toJSON:function(){return X},
Lq:function(){var a=!1,b;f===Za?b=c.Fa():f===sb&&(b=c.Gb());-1!==b.indexOf(this)&&(a=!0);return a}})}function ve(a){var b=new bb(a),b=yh(b);b.byteLength=a.byteLength;return b}function ig(a){var b,c,d=v.Bq,f=[],g=d.length,h=0,k=0;d.indexOf("moov");for(b=0;b<g;b++)c=qc(a,d[b]).Pa,f.push(c),h+=c.length;a=new bb(h);for(b=0;b<g;b++)c=f[b],a.set(c,k,c.length),k+=c.length;return a}function Ng(a,b,c){var d,f,g=[],h=c.Ff,k=c.Is,l=k.length;b=lb(b*h/1E3);var m,n=c.Pa,v=n.byteOffset+n.byteLength+c.Jp,q=0;c=0;
d=v;for(var u=q,n=0;n<l;n++)m=k[n],q+=m.duration,m=v+m.size,v=q-u,n<l-1&&yc(v-b)>yc(v+k[n+1].duration-b)||(d={index:c++,stream:a,offset:d,length:m-d,startTime:ua(1E3*u/h),duration:ua(1E3*(q-u)/h),all:g,next:null,Oa:null},d.Ba={Type:d.stream.type,Bitrate:d.stream.f,ChunkNum:d.index,StartTime:Va(d.startTime),Duration:Va(d.duration)},f&&(d.Oa=f,f.next=d,yc(f.duration-(d.startTime-f.startTime)),f.duration=d.startTime-f.startTime),g.push(d),f=d,u=q,d=m),v=m;return g}function kc(a,b,c){if(a==sb)return b;
if(a==Za)return c}function zd(a){return!!a.j}function ze(a){return!a.j}function Bf(a){return a.map(function(a){return a.f})}function Ad(a){function b(a){return a.Lb.Zx===Wi}function c(b,f){var g=b.length,k=O-p(f);if(k>g)return!0;var l=a.q.value,r,m,n;n=l-L;r=C.first;for(m=A.first;r||m;)if(r&&r.endTime>=n&&(r=h),m&&m.endTime>=n&&(m=h),r&&(!m||r.endTime<m.endTime)?(k+=d(r),r=r.next):m&&(k+=d(m),m=m.next),k>g)return!0;r=C.W;for(m=A.W;r||m;)if(r&&r.startTime<=b.startTime&&(r=h),m&&m.startTime<=b.startTime&&
(m=h),r&&(!m||r.startTime>m.startTime)?(k+=d(r),r=r.Oa):m&&(k+=d(m),m=m.Oa),k>g)return!0;n=l-P*(b.startTime-l);r=C.first;for(m=A.first;r||m;)if(r&&r.endTime>=n&&(r=h),m&&m.endTime>=n&&(m=h),r&&(!m||r.endTime<m.endTime)?(k+=d(r),r=r.next):m&&(k+=d(m),m=m.next),k>g)return!0}function d(a){var b=a.media;a.media=null;a.Lb=h;a.Da(td);return b?b.length:0}function f(){return va(m(),q())}function g(){return O?v.Kb?Ma((x()+u())/v.Kb,0,1):0:Ma(f()/v.Qd,0,1)}function k(){return y?K(C):da(C)}function l(){return y?
K(A):da(A)}function m(){var b=a.q.value,c=Nc(b,C);return c?Ba(0,c.endTime-b):0}function x(){return jg(a.q.value,C)}function q(){var b=a.q.value,c=Nc(b,A);return c?Ba(0,c.endTime-b):0}function u(){return jg(a.q.value,A)}function p(b){for(var c=la.length,d,f,g=0,h=a.k.value.j.v,k=a.G.value.j.v;c--;)d=la[c],(f=d.media)?g+=f.length:b&&d.De&Uk&&(d.type===Za?g+=h[d.index].length:d.type==sb&&(g+=k[d.index].length));return g}function w(a){a=a.first;for(var b=[];a;)a.media&&a.Lb&&b.push(a.Lb.Tw()),a=a.next;
return b}function H(){return{AudioBufferLength:Va(m()),VideoBufferLength:Va(q())}}function X(b){var c=a.q.value,f,g,h=b.first,k=0,l;for(v.K&&(l=[]);h;)h.media&&(f=f||h,g=h,k+=h.duration),h=h.next;c=Ba(c-L,0);for(c=b.ib(c).index;k>aa&&f&&f.index<c;)f.media&&(v.K&&l.push(f.Lb),d(f),k-=f.duration),f=f.next;for(b=b.ib((f?f.endTime:a.q.value)+aa).index;k>aa&&g&&g.index>b;)g.media&&(v.K&&l.push(g.Lb),d(g),k-=g.duration),g=g.Oa;if(v.K)return l}function t(){var b=X(C),c=X(A);v.K&&a.bb&&v.Ih&&(0<b.length||
0<c.length)&&F()}function F(){var b={};b[Vk]=w(C);b[Wi]=w(A);a.bb.As(b,a.q.value)}function K(b){for(b=b.ib(a.q.value);b&&(b.media||b.De!==td);b=b.next);return b}function da(b){for(b=b.ib(a.q.value);b&&b.media;b=b.next);return b}function ea(){a.fireEvent(be);Ja.zh("buffer")}function Ca(b,c){ja.trace("Disgarding media due to a track change");for(var f=c.first;f;)f.media&&f.media.stream.track!=b&&d(f),f=f.next;a.fireEvent(Xi);ea()}var ja=new a.log.r("MediaBuffer"),Ja=a.Cg,C=Ge(a.ed,145152E5),B=a.$,cb=
a.wa,A=Ge(a.$,v.Ro?C.W.endTime+ua(1E3/(B.j.Sg||60)):h),la=C.concat(A),L=v.dj,aa=v.Qd,O=v.Kb,P=v.wo/100,I=aa-L,y="parallel"===v.ug,B=new he(function(){var a;if(!(a=.9<=g())){a=k();var b=l();a=!(a||b)}return a}),G=a.$.j.v;G.length!=A.length&&(G=G[G.length-1],ja.error("Clipping video chunks to be less than audio",{FromEndTime:Va(G.startTime+G.duration),ToEndTime:Va(A.W.endTime),AudioEndTime:Va(C.W.endTime)}));if(!(0<=L&&aa>C.first.duration&&aa>=2*L))throw new Wa("bad buffer size");a.Q.addListener(function(b){v.K&&
a.bb?b.reset?ja.trace("ASE previously rejected the audio track switch, resetted!"):a.bb.Yz({Iv:b.newValue.U,toJSON:function(){return b.newValue.Ba}})?(ja.trace("ASE accepted the audio track switch"),Ca(b.newValue,C)):(ja.trace("ASE rejected the audio track switch"),a.Q.set(b.oldValue,{reset:!0})):Ca(b.newValue,C)});a.Tb.addListener(function(a){Ca(a.newValue,A)});a.addEventListener(vg,function(){var a;for(a=C.first;a;)a.media=null,a.Lb=null,a=a.next;for(a=A.first;a;)a.media=null,a.Lb=null,a=a.next});
n(this,{eb:C,Ab:A,Hb:k,cc:l,vb:function(){var b=a.q.value,c=k(),d=l();c&&c.startTime-b>I&&(c=null);d&&d.startTime-b>I&&(d=null);if(d)if(c){if(d.startTime<=c.startTime&&c.startTime>b)return d}else return d;return c},Kf:O?c:ca,Ud:function(b,c,d,f,g,k,l){for(var r=0,m=0;m<b.length;m++){var n=b[m],x=c[m];if(d.type==sb&&d.track!=a.Q.value||d.type==Za&&d.track!=a.Tb.value){ja.trace("Rejecting received chunk because it doesn't match most recent track",n,d);return}if(n.media&&n.media.stream.f>=d.f){if(n.media.stream.Lq()){n.Da(Yi);
ja.warn("Rejecting received chunk because it is lower bitrate than existing chunk",n,d);return}n.media=null;v.K&&(n.Lb=h)}var S=1<b.length?new bb(new bb(f.buffer,r,x.length)):f,r=r+x.length;n.media={stream:d,hg:S,length:S.length,i:g};n.Da(Yi);v.K&&l&&(n.Lb=l,l.Ev=!0);t();kc(d.type,a.Pc,a.Ha).set({H:n,stream:d,i:g,Ij:k});ja.trace("Received chunk",n,{CdnId:g.id},H())}ea()},Gr:function(a){a.Yc=!0;v.Ej&&(a=a.media)&&(a.hg=null)},Jr:function(a){a.Yc=h;v.Ej&&d(a)},Ir:function(){for(var a=la.length,b,c;a--;)b=
la[a],b.Yc=h,(c=b.media)&&!c.hg&&d(b)},ze:function(){for(var c=a.Fa(),f=A.first,g,h;f;)f.media&&!f.Yc&&0>c.indexOf(f.media.stream)&&(v.K&&f.startTime>=a.q.value&&!g&&(g=f.startTime),d(f),h=!0),f=f.next;h&&(ja.trace("Discarding media based on stream filters"),v.K&&(v.Ih?(a.S.wd(b),F()):(c=a.bb.nd[a.Cf.Sf],c.rl(g),c.dl(a.q))),ea())},lp:function(){for(var c=a.Fa(),f=A.first,g,h,k,l=cb.Yg(),l=Ba(l,8008),r;f;)f.media&&(f.Yc&&(h=f.index,k=h+l/f.duration),!(f.index>=h&&f.index<=k)&&0>c.indexOf(f.media.stream)&&
(v.K&&f.startTime>=a.q.value&&!r&&(r=f.startTime),d(f),g=!0)),f=f.next;g&&(ja.trace("Discarding media based on stream filters"),v.K&&(v.Ih?(a.S.wd(b),F()):r&&(c=a.bb.nd[a.Cf.Sf],c.rl(r),c.dl(a.q))),ea())},Vp:function(){var b=a.q.value,c=Nc(b,C),d=Nc(b,A),f;c&&d&&(f=va(c.endTime,d.endTime));return kb(f,b)},ac:f,bk:g,tb:m,Uj:x,La:q,ik:u,Qw:w,Gd:p,Rw:function(){var b=a.q.value,c=Nc(b,A);return c?c.endTime:b},Oe:H,mh:B.get,compact:t,mz:F,reset:function(){var a;for(a=C.first;a;)a.media&&(d(a),a.Yc=h),
a=a.next;for(a=A.first;a;)a.media&&(d(a),a.Yc=h),a=a.next},Xw:function(b){var c=a.q.value;return(b=b.H)&&b.startTime-c>I?!1:!0}})}function Nc(a,b){var c=b.ib(a);if(c.media){for(;c.next&&c.next.media;)c=c.next;return c}}function jg(a,b){var c=b.ib(a),d=0;for(c&&c.media&&(d+=ua(Ma((c.endTime-a)/c.duration,0,1)*c.media.length),c=c.next);c&&c.media;)d+=c.media.length,c=c.next;return d}function Ge(a,b){var c=a.j.v,d,f=[],g,h,k=c.length;if(0>=k)throw new Wa("few chunks");for(var l=0;l<k;l++){d=c[l];g=d.startTime;
d=d.duration;var m=g+d;if(m>b)break;g={type:a.type,index:l,startTime:g,duration:d,endTime:m,De:td,media:null,all:f,Oa:null,next:null,Da:function(a){this.De=a}};g.Ba={Type:g.type,"Chunk index":g.index,StartTime:Va(g.startTime),EndTime:Va(g.endTime)};h&&(h.next=g,g.Oa=h);h=g;f.push(g)}f.ib=Yg;f.first=f[0];f.W=h;f.Vn=2<=f.length?(f.length-1)/(f.W.startTime-f.first.startTime):1;return f}function Yg(a){for(var b=this[Ma(ua(a*this.Vn),0,this.length-1)];b.startTime>a&&b.Oa;b=b.Oa);for(;b.endTime<a&&b.next;b=
b.next);return b}function df(a,b,c){function d(a){if(a.c){var b=a.N;w[b.stream.type+"$"+b.i.id]=a.B}t--;f()}function f(){if(!(0<t)||H){var a,b,c,d,z=[],k;for(k=0;k<l.length;k++)a=l[k],c=w[sb+"$"+a.id],d=w[Za+"$"+a.id],c&&d&&(c=Ba(c.O-c.requestTime,d.O-d.requestTime),z.push({i:a,Pd:c}),b=b===h?c:va(c,b));if(k=z.length){for(;k--&&1<z.length;)a=z[k],a.Pd>b+v.pt&&z.splice(k,1);g(z[0].i)}else 0>=t&&g()}}function g(a){a&&(a.pc={testreason:b,selreason:"relativelatency"});g=f=p;c({c:!!a,qb:a})}var k=a.xa,
l=a.F,m=a.G.value,n=a.k.value,q=a.n;a=q.Hb();for(var q=q.Hb(),u,w={},t=0,H,X,C=0;C<l.length;C++)u=l[C],X=yf(u,m,a),u=yf(u,n,q),X&&u&&(t+=2,k.R(X,d),k.R(u,d));$a(function(){H=!0;f()},v.qt)}function yf(a,b,c){if(b.Ua[a.id])return{responseType:Cc,url:b.Ua[a.id],hc:zf,offset:b.j.v[c?c.index:0].offset,length:8,i:a,track:b.track,stream:b,Eb:b.type+"-"+b.f+"-ping",Ic:!0}}function zf(a){a=new bb(a);a=new Vc(a);var b=a.l();if(8>b||b>Wk)throw new Wa("cdnping-badsize");if("moof"!=a.Pb(4))throw new Wa("cdnping-badtype");
return!0}function Af(a,b,d){function f(b,c){var d=t[b.ga].F,k;c.type==Za?(k=(a.o.value==nc?w.Wc():w.jb()).k,k.j||(k=a.$)):k=a.G.value;for(var l=0;l<d.length;l++){var r=d[l];if(b.va===l){var m=a.n.La(),m=Fe(c,k,r,v.se,m);u.trace("CDN Selection: Downloading",{CdnId:r.id},c,k,{Count:m.za.length,Offset:m.offset,Length:m.length});p.R(m,g)}else m=yf(r,k,c),u.trace("CDN Selection: Pinging",{CdnId:r.id},c,k),p.R(m,h)}}function g(a){var b=a.N;a.c?C.Ud(b.za,b.Zc,b.stream,a.content,b.i,a.B):b.za&&b.za.forEach(function(a){a.media=
null;a.Da(td)});k(a);l()}function h(a){k(a)}function k(a){var b=a.N.i,c=b.id,d=b.location.id;a.c?(F[d]||(F[d]={}),F[d][c]={i:b,B:a.B}):F[d]&&F[d][c]&&delete F[d][c]}function l(){var a,c=t[K.ga];a=c.id;c=c.F[K.va].id;a=F[a]&&F[a][c]?n(F[a][c].B):void 0;if(a>v.xf)a=t[K.ga].F[K.va],a.pc={testreason:b,selreason:"fastselection",fastselthreshold:v.xf},d({c:!0,qb:a});else{if(c=a=C.vb()){var c=K,g=t[c.ga].id,h=t[c.ga].F[c.va].id;F[g]&&F[g][h]?c=m(c):(c.va<t[c.ga].F.length-1?(c.va++,g=!0):g=void 0,c=g||m(c))}c?
f(K,a):(a=q(F),d({c:!!a,qb:a}))}}function m(a){if(a.ga<t.length-1)return a.ga++,a.va=0,!0}function n(a){if(a)return 7.8125*a.Y/(a.L-a.requestTime)}function q(a){var d,f=0;c(a,function(a,b){b&&c(b,function(a,b){var c=n(b.B)*b.i.location.weight;c>f&&(f=c,d=b.i)})});d&&(d.pc={testreason:b,selreason:"maxweightedbw"});return d}var u=new a.log.r("CdnSelBw"),p=a.xa,w=a.wa,H=a.ca,t=a.ei,C=a.n,F={},K={ga:0,va:0},da=C.vb();da?f(K,da):d({c:!0,qb:a.i.value||a.Wd});return{kb:function(){return H.ka(v.se)*(t.length-
K.ga)}}}function Kg(a,b,d,f,g){function h(b,c){var g=F[b.ga].F,m;c.type==sb&&(m=a.G.value);for(var n=0;n<g.length;n++){var x=g[n];c.type==Za&&((m=d.Zj(x.location.id))?(m=f.fa(m+1,!0),da.push(x.location.id)):(m=t.jb(!0),m=m.k,m.j||(m=a.$)));if(b.va===n){var S=a.n.La(),S=Fe(c,m,x,v.se,S);w.trace("Downloading",{CdnId:x.id},c,m,{Count:S.za.length,Offset:S.offset,Length:S.length});H.R(S,k)}else S=yf(x,m,c),w.trace("Pinging",{CdnId:x.id},c,m),H.R(S,l)}}function k(a){var b=a.N;a.c?K.Ud(b.za,b.Zc,b.stream,
a.content,b.i,a.B):b.za&&b.za.forEach(function(a){a.media=null;a.Da(td)});m(a);n()}function l(a){m(a)}function m(a){var b=a.N.i,c=b.id,d=b.location.id;a.c?(ea[d]||(ea[d]={}),ea[d][c]={i:b,B:a.B}):ea[d]&&ea[d][c]&&delete ea[d][c]}function n(){var c,d=F[A.ga];c=d.id;d=d.F[A.va].id;c=ea[c]&&ea[c][d]?u(ea[c][d].B):void 0;if(c>v.xf)c=F[A.ga].F[A.va],c.pc={testreason:b,selreason:"fastselection",fastselthreshold:v.xf},g({c:!0,qb:c,rb:-1<da.indexOf(a.i.value)});else{if(d=c=K.vb()){var d=A,f=F[d.ga].id,k=
F[d.ga].F[d.va].id;ea[f]&&ea[f][k]?d=q(d):(d.va<F[d.ga].F.length-1?(d.va++,f=!0):f=void 0,d=f||q(d))}d?h(A,c):(c=p(ea),g({c:!!c,qb:c,rb:-1<da.indexOf(a.i.value)}))}}function q(a){if(a.ga<F.length-1)return a.ga++,a.va=0,!0}function u(a){if(a)return 7.8125*a.Y/(a.L-a.requestTime)}function p(a){var d,f=0;c(a,function(a,b){b&&c(b,function(a,b){var c=u(b.B)*b.i.location.weight;c>f&&(f=c,d=b.i)})});d&&(d.pc={testreason:b,selreason:"maxweightedbw"});return d}var w=new a.log.r("CdnSelCarrera"),H=a.xa,t=a.wa,
C=a.ca,F=a.ei,K=a.n,da=[],ea={},A={ga:0,va:0},ja=K.vb();ja?h(A,ja):g({c:!0,qb:a.i.value||a.Wd,rb:-1<da.indexOf(a.i.value)});return{kb:function(){return C.ka(v.se)*(F.length-A.ga)}}}function Lg(a){function c(){nd.removeEventListener(De,f);H&&H.response&&H.response.abort()}function d(){var a=w.vb();H&&H.response&&a!=H.H&&H.response.abort();f()}function f(){if(a.state.value==eb&&a.C.value!=Kc)if(a.td&&a.td<=ia())a.o.value!=nc&&a.Ta(new Ib(R.Of));else if(a.o.value==dc&&(ud()||a.o.set(mc)),a.o.value==
mc&&ud()&&a.o.set(dc),a.G.value.j)if(a.k.value.j)if(ja)k(ja),ja=h;else{var b=w.vb(),c;a.o.value!=nc&&(c=q.jb(),0>=c.nb&&0>=c.ob&&g("Heuristics"),b||g("Full"));if(!(H||X&&X.stream.type==Za&&X.stream.f>a.k.value.f)){if(b){a.o.value==nc&&(c=q.Wc());var d=b.index,r;if(b.type==Za)r=c.k,r.j&&r.j.v[d]||(n.warn("Stream is missing header or has less chunks than primary, falling back to primary",{BitrateOld:r.f,BitrateNew:a.$.f}),r=a.$),r!=a.k.value&&(n.trace("Stream switch",{BitraetOld:a.k.value.f,BitrateNew:r.f}),
a.k.set(r));else if(b.type==sb)r=a.G.value;else return;var S=r.j.v[d];w.Kf(S)||(r.type==sb&&w.tb()<v.Xa?n.trace("Ignoring max buffer bytes",b,r):r.type==Za&&w.La()<v.Xa?(r=a.Aa().ea(0,!0),S=r.j.v[d],n.trace("Ignoring max buffer bytes, and reverting to lowest video stream",b,r)):(g("NoRoom"),S=h));if(S){if(a.o.value==dc&&c){for(var d=c.nb,Ka=c.ob,p=w.Hb(),t=w.cc(),C=a.G.value.j.v,A=a.k.value.j.v,B=0;0<d&&p;)p.media||p==b||(B+=u.ka(C[p.index].length)),d-=p.duration,p=p.next;for(;0<Ka&&t;)t.media||t==
b||(B+=u.ka(A[t.index].length)),Ka-=t.duration,t=t.next;ea=B;K=u.Ed();da=Ba(u.ka(S.length)-K,1)}else da=K=ea=h;if(F>v.ll){k("dlfail");return}S=a.i.value;d=a.n.La();d=Fe(b,r,S,h,d);n.trace("Downloading chunk",b,r,{Offset:d.offset,Length:d.length});b.Da(sf);kc(r.type,a.Ee,a.Fe).set({H:b,stream:r,i:S});H={type:zh,stream:r,H:b,response:x.R(d,m)}}}!X&&c&&c.Wa&&l(c.Wa)}}else l(a.k.value);else l(a.G.value)}function g(b){a.o.value!=nc&&(n.trace("Buffering complete",{Cause:b},w),a.o.set(nc),A||(A=!0,a.ta("pb")))}
function k(b){n.trace("Selecting a CDN");H={type:Zi};switch(v.ml){case "bandwidth":b=Af(a,b,m);H.kb=b&&b.kb;break;default:df(a,b,m)}}function l(a){function b(){X==c&&(X=null);c=null;f()}if(!(X&&X.stream==a||a.Te)){n.trace("Downloading header",a);var c={stream:a,Gt:ia()};X=c;a.Ga(b);$a(b,v.kk)}}function m(b){var c=H;H=null;a.state.value==eb&&(c.type!=$i&&(b.c?(F=0,c.type==zh?(c=b.N,a.o.value==mc&&a.o.set(dc),w.Ud(c.za,c.Zc,c.stream,b.content,c.i,b.B)):a.i.set(b.qb)):b.g!=N.cb&&(H={type:$i},$a(m,C[F]),
++F>=C.length&&(a.o.value==dc&&a.o.set(mc),F=C.length-1))),f())}var n=new a.log.r("MediaDownloader"),x=a.xa,q=a.wa,u=a.ca,w=a.n,t=new Eb(500),H,X,C=v.hb,F=0,K,da,ea,A,ja="startup";(function(){Aa(f);a.addEventListener(rf,function(){Aa(f)});a.addEventListener(pf,function(b){b.Jc==Ah&&a.o.set(dc);Aa(f)});a.addEventListener(ae,function(){var b;a.G.value.j&&a.k.value.j&&(b=q.jb());b&&0>=b.nb&&0>=b.ob?n.trace("Repositioned without rebuffer",w):(n.trace("Repositioned, buffering",w),a.o.set(dc));t.pb(d)});
nd.addEventListener(De,f);a.addEventListener(Ab,c)})();this.yc=function(){var c;if(a.o.value==dc&&H){var d;try{if(H.type==zh){var f=H.response,g=f.B;if(b(g.O))d=(1-(g.Y||0)/f.N.length)*da;else{var h=ia()-g.requestTime;d=Ba(K-h,0)+da}}}catch(k){}c=(d||0)+(ea||0);(d=H.kb&&H.kb())&&(c=Ba(d,c))}return c};this.Wg=p;this.Pe=function(){return.99}}function Fe(a,b,c,d,f){var g=b.j.v,h=g[a.index].offset,k=0,l=[],m=[];do{var n=g[a.index],k=k+n.length;l.push(a);m.push(n);a=a.next}while(k<d&&a);a=v.Yb;Z(f)&&v.mu&&
!v.Kb&&(a=Oa.max(v.wr,Oa.min(f/v.Vo,v.Yb+f/v.Qd*v.Wo)));return{responseType:Cc,hc:Gb,url:b.Ua[c.id],offset:h,length:k,i:c,track:b.track,stream:b,za:l,Zc:m,Eb:b.type+"-"+b.f+"-"+l.map(function(a){return a.index}).join("+"),Ic:!0,Yb:a}}function Mg(){var a;a=["avc1.640028","hev1.2.6.L153.B0","dvhe.01000000"].filter(function(a){a=gc('{0}/mp4;codecs="{1}"',"video",a);return Ed.isTypeSupported(a)});return gc('{0}/mp4;codecs="{1}"',"video",a.join(", "))}function Q(a){function b(){ud()&&q&&q.fe()}function c(a,
b){try{k.trace(gc("transitioning from {0} to {1}, reason: {2}",q&&q.getName()||"null",a.getName(),b)),q&&q.Lg(),q=a,q.Rc(),d()}catch(f){k.error("There was an error changing downloader state, e: ",f)}}function d(){t.pb(f)}function f(){a.state.value==eb&&(X(),q.update())}function h(){var a=v.as;l.bk()>a&&(H.da.Wh(m),X=p)}var k=new a.log.r("ParallelMediaDownloader"),l=a.n,m=v.Hk,n,q,u=v.Zr,w,t=new Eb(v.$r),H={S:this,da:{},$b:new Ub(v.ll)},X=h;a.gb=H;H.da="subchunk"===v.Yr?new M(m,m,a):new J(m,a);H.Kc=
"startup";(function(){function f(){d()}n=new g(a,H);"carrera"==v.lh?c(n.zq,"using carrera for initial playback."):c(n.pg,"select first CDN before playback.");w=qb(d,u);H.da.addEventListener(Bg,f);a.addEventListener(Ab,function(){yb(w);t.Oc();nd.removeEventListener(De,b);H.da.removeEventListener(Bg,f);H.da.Hc()});d();a.addEventListener(rf,function(){d()});a.addEventListener(pf,function(a){a.Jc==Ah&&(H.da.Wh(1),X=h,q.Ur(),d())});a.addEventListener(ae,function(){q.Tk();d()});a.addEventListener(Ti,function(){q.fe()});
nd.addEventListener(De,b)})();this.Sa=c;this.yc=function(){return q.yc()};this.wd=function(a){H.da.xd();H.da.Hc(a)};this.Wg=function(){return q&&q.getName()||"null"};this.Pe=function(){return q.Pe()}}function tb(a){var b=a.gb,c,d=b.da,f=b.S,g=b.sb;this.getName=function(){return"BaseState"};this.Md=function(){this.log=new a.log.r(this.getName())};this.Md();this.Pe=function(){return.99};this.fe=this.update=this.Lg=this.Rc=p;this.Ur=function(){a.o.set(dc);f.Sa(g.Hs,"buffer underrun")};this.Tk=function(){f.Sa(g.Qh,
"user seek")};this.Tj=function(){return c};this.yc=function(){return 0};this.Rh=function(){return b.$b.sl(a.i.value)?(b.Kc="dlfail",b.Fb=0,f.Sa(g.pg,"download failures"),!0):!1};this.Eg=function(a,b){d.Qc({H:a,sf:b})};this.Ga=function(a){function b(){c==d&&(c=null);d=null}if(!(c&&c.stream==a||a.Te)){this.log.trace("Downloading header",a);var d={stream:a,Gt:ia()};c=d;a.Ga(b);$a(b,v.kk)}};this.Tg=function(b,c){if(b.type===Za)var d=c.k;else if(b.type==sb)d=a.G.value;else return h;return d.j.v[b.index]};
this.ng=function(){var a=ia()-b.Et;return v.th-a};this.hl=function(){b.Et=ia()}}function ab(a){function b(){f.ai()&&(h.xd(),h.Hc())}var c=new tb(a),d=a.gb,f=a.wa,g=a.n,h=d.da,k=new Eb(1E3);n(this,c);d.Kc="startup";this.getName=function(){return"PlayingState"};this.Rc=function(){d.$b.uj();a.o.set(nc);d.da.xb(!0)};this.update=function(){if(a.state.value==eb&&a.C.value!=Kc)if(k.pb(b),a.td&&a.td<=ia())a.o.value!=nc&&a.Ta(new Ib(R.Of));else if(!a.G.value.j)this.Ga(a.G.value);else if(!a.k.value.j)this.Ga(a.k.value);
else if(!this.Rh()){var c=g.vb(),h=this.Tj();if(!(h&&h.stream.type==Za&&h.stream.f>a.k.value.f)&&c&&d.da.jf()){var l=f.Wc(),r=this.Tg(c,l);g.Kf(r,!0)&&a.o.value==nc&&this.Eg(c,l);!h&&l&&l.Wa&&this.Ga(l.Wa)}}}}function Ya(a){function b(c){p.log.trace("in _exitBufferingState()");a.o.value!=nc&&(p.log.trace("Buffering complete",{Cause:c},g),l||(l=!0,a.ta("pb")));f.Sa(m.qf,"exiting buffering: "+c)}var c=new tb(a),d=a.gb,f=d.S,g=a.n,h=a.ha,k=a.ca,l,m=d.sb,q=a.wa,u=145152E5,p=this;n(this,c);this.yc=function(){return v.th?
this.ng():u};this.getName=function(){return"BufferingState"};this.Rc=function(){a.o.set(dc);d.da.xb(!0)};this.update=function(){ud()?a.o.value==mc&&a.o.set(dc):a.o.set(mc);if(!a.G.value.j)this.Ga(a.G.value);else if(!a.k.value.j)this.Ga(a.k.value);else if(!this.Rh()){var c=g.vb(),f=q.jb();if(h.zg()){if(0>=f.nb&&0>=f.ob){b("Heuristics");return}if(v.th&&0>=this.ng()){b("maxBufferingTime");return}if(!c&&g.mh()){b("Full");return}}for(var l=f.nb,r=f.ob,m=g.Hb(!0),n=g.cc(!0),x=a.G.value.j.v,ka=a.k.value.j.v,
w=0;0<l&&m;)m.media||m==c||(w+=k.ka(x[m.index].length)),l-=m.duration,m=m.next;for(;0<r&&n;)n.media||n==c||(w+=k.ka(ka[n.index].length)),r-=n.duration,n=n.next;u=w;l=this.Tj();if(!(l&&l.stream.type==Za&&l.stream.f>a.k.value.f)){if(c&&d.da.jf()){if(!f.k.j){this.Ga(f.k);return}r=this.Tg(c,f);g.Kf(r,!0)&&this.Eg(c,f)}!l&&f&&f.Wa&&p.Ga(f.Wa)}}}}function u(a){var b=new tb(a),c=this,d=a.gb,f=d.S,g=d.da,h=a.wa,k=a.n,l=d.sb;n(this,b);this.getName=function(){return"SeekingState"};this.Rc=function(){g.xd();
g.Hc()};this.update=function(){var b;a.G.value.j&&a.k.value.j&&(b=h.jb());b&&0>=b.nb&&0>=b.ob&&a.o.value!==mc?(this.log.trace("Repositioned without rebuffer",k),f.Sa(l.qf,"no buffering required during seek.")):(this.log.trace("Repositioned, buffering",k),c.hl(),f.Sa(l.o,"buffering required during seek."))}}function w(a){var b=new tb(a),c=a.gb,d=c.S,f=c.da,g=c.sb;n(this,b);this.getName=function(){return"RebufferingState"};this.Rc=function(){f.xd();f.Hc()};this.update=function(){c.Kc="buffer underrun";
d.Sa(g.pg,"CDN selection due to rebuffer.")}}function m(a){function b(){ud()?v.mo||1<w.Wp()?w.pb(c):c():this.rg()}function c(){if(!x){x={type:Zi};var b=l.Kc;t.log.trace("Selecting a CDN");if("startup"===b&&"carrera"===v.lh)b=Kg(a,b,t.og,t.P,f),x&&(x.kb=b&&b.kb);else switch(v.ml){case "bandwidth":b=Af(a,b,d);x&&(x.kb=b&&b.kb);break;default:df(a,b,d)}}}function d(b){b.c?(a.i.set(b.qb),t.log.trace("cdn selected: ",{name:b.qb.name}),l.Kc=h,q||(a.o.value==dc||a.o.value==mc?l.S.Sa(l.sb.o,"underrun, buffer media before resume."):
l.S.Sa(l.sb.qf,"buffer has media, resume playback"))):(t.log.trace("cdn selection failed!"),t.rg(),a.o.value==mc&&(w.Xh(u[p]),p=p<u.length-1?p+1:u.length-1),x=null);q&&l.S.Sa(l.sb.Qh,"user seek")}function f(b){b.c?(a.i.set(b.qb),t.log.trace("cdn selected: ",{name:b.qb.name}),l.Kc=h,l.rb=b.rb):(t.rg(),a.o.value==mc&&(w.Xh(u[p]),p=p<u.length-1?p+1:u.length-1),x=null);q&&l.S.Sa(l.sb.Qh,"user seek")}function g(){var b=a.Fa(),c=b.length;n(b,Bd);for(var d=0;d<c;d++)b[d].lower=b[d-1],b[d].Kd=b[d+1];return b}
var k=new tb(a),l=a.gb,m=l.da,x,q,u=v.hb,p=0,w=new Eb(1),t=this;"carrera"===v.lh&&(t.og=new Wg(a),t.P=g());n(this,k);this.getName=function(){return"CDNSelectionState"};this.yc=function(){var a=m.hk()||0;if(x){var b=x.kb&&x.kb();b&&(a=Ba(b,a))}return Ba(a,this.ng())};this.Rc=function(){w.Xh(1);p=0;l.$b.uj();q=!1;t.hl()};this.Lg=function(){w.Oc();x=null};this.fe=function(){a.o.value==mc&&ud()&&w.Zs(c)};this.update=v.ju?b:c;this.Tk=function(){q=!0};this.rg=function(){a.o.value==dc&&a.o.set(mc)}}function l(a){function b(c){w.log.trace("in _exitBufferingState()");
a.o.value!=nc&&(w.log.trace("Buffering complete",{Cause:c},g),q||(q=!0,a.ta("pb")));f.Sa(x.qf,"exiting buffering: "+c)}var c=new m(a),d=a.gb,f=d.S,g=a.n,h=a.ha,k=a.ca,l=a.wa,x=d.sb,q,u=!1,p,w=this;d.rb=!1;n(this,c);this.getName=function(){return"InitBitrateSelectionState"};this.Lg=function(){a.rb=d.rb;a.nj=w.og.$p()};this.update=function(){if(a.i.value)a:if(!a.G.value.j)w.Ga(a.G.value);else if(!a.k.value.j)w.Ga(a.k.value);else{if(!w.Rh()){var f=g.tb()>=v.ig?0:v.ig-g.tb(),m=g.La()>=v.mj?0:v.mj-g.La();
if(d.rb&&0===m&&0===f&&h.zg())b("Carrera");else{p||u||(p=w.og.Zj(a.i.value.location.id));u=!p;var n=g.vb();if(u){if(f=l.jb(!0),0>=f.ob&&0>=f.nb&&h.zg()){b("Heuristics");break a}}else{d.rb=!0;var x=w.P.fa(p+1,!0),q=w.P.ea(p+1,!1),f={k:x,Wa:q,nb:f,ob:m}}for(var m=f.nb,x=f.ob,q=g.Hb(!0),ka=g.cc(!0),t=a.G.value.j.v,C=a.k.value.j.v,ja=0;0<m&&q;)q.media||q==n||(ja+=k.ka(t[q.index].length)),m-=q.duration,q=q.next;for(;0<x&&ka;)ka.media||ka==n||(ja+=k.ka(C[ka.index].length)),x-=ka.duration,ka=ka.next;n&&
d.da.jf()&&(m=w.Tg(n,f),g.Kf(m,!0)&&w.Eg(n,f))}}}else c.update.apply(w)}}function g(a,b){function c(b){b=new b(a);b.Md.call(b);return b}b.sb=this;this.qf=c(ab);this.Qh=c(u);this.Hs=c(w);this.pg=c(m);this.o=c(Ya);this.zq=c(l)}function t(a,b,c){function d(){!n&&l&&(m=a.Mc())&&f(m)}function f(a){function c(a){var f;b.state.value==eb&&(a&&a.c?(u.Fb=0,f=a.N,h.Ud(f.za,f.Zc,f.stream,a.content,f.i,a.B)):(m&&(f=m.H)&&(f.media=null,f.Da(td)),a&&a.g==N.cb||(a&&(f=a.N,u.$b.ji(f.i,f.za[0],f.stream)),++u.Fb>=u.hb.length&&
(u.Fb=u.hb.length-1))),Aa(d));p.A(aj);m=null;n&&(n=null)}var l=a.H,z=a.sf,r=l.index;if(l.type===Za)z=z.k,z.j&&z.j.v[r]||(g.warn("Stream is missing header or has less chunks than primary, falling back to primary",{BitrateOld:z.f,BitrateNew:b.$.f}),z=b.$),z!=b.k.value&&(g.trace("Stream switch",{BitrateOld:b.k.value.f,BitrateNew:z.f,"Chunk Index":r}),b.k.set(z,{tj:z.j.v[r].startTime}));else if(l.type==sb)z=b.G.value;else return;if(z.j.v[r]){var v=b.i.value,r=q(l,z,v);l.Da(sf);kc(z.type,b.Ee,b.Fe).set({H:l,
stream:z,i:v});n=l={type:Xk,stream:z,H:l};l.response=k.R(r,c);a.response=l.response}}var g=new b.log.r("MediaDownloadWorker"),h=b.n,k=b.vh,l=c,m,n,u=b.gb,p=new Hb;this.addEventListener=p.addListener;u.hb=v.hb;u.Fb=0;a.addEventListener(bj,function(a){!n&&l&&(a.jk=!0,d())});this.isEnabled=function(){return l};this.xb=function(a){l=a};this.Vg=function(){return m};this.dg=function(a){n&&n.response&&m&&(a?a(m):1)&&(m.H.media=null,m.H.Da(td),g.trace("Aborted download of chunk:",m.H.index),n.response.abort(),
m=n=null)}}function q(a,b,c){var d=b.j.v,f=d[a.index].offset,g=0,h=[],k=[];do{var l=d[a.index],g=g+l.length;h.push(a);k.push(l);a=a.next}while(void 0>g&&a);return{responseType:Cc,hc:Gb,url:b.Ua[c.id],offset:f,length:g,i:c,track:b.track,stream:b,za:h,Zc:k,Eb:b.type+"-"+b.f+"-"+h.map(function(a){return a.index}).join("+"),Ic:!0}}function J(a,c){var d=[],f=c.ca,g=new wa.Bb,h=new Hb;this.addEventListener=h.addListener;this.removeEventListener=h.removeListener;this.Qc=function(a){var b=g.Qc(a);a.H.Da(Bh);
h.$h(bj);return b};this.Mc=function(){return g.Mc()};this.mf=function(){return g.mf()};this.size=function(){return g.size()};this.contains=function(a,b){return g.contains(a,b)};this.forEach=function(a){return g.forEach(a)};this.xb=function(a){d.forEach(function(b){b.xb(a)})};this.hk=function(){var a=0;d.forEach(function(d){var f=d.Vg();if(f&&f.H.De===sf){d=f.H;var g=f.sf,g=d.type===Za?g.k:c.G.value,h=f.response;h&&(f=f.response.B,a=b(f.O)?a+Ba(h.N.length-(f.Y||0),0):a+g.j.v[d.index].length)}});a=
a||0;return f.ka(a)};this.Hc=function(a){d.forEach(function(b){b.dg(a)})};this.Wh=function(a){var b=d.length;a=Ma(a,0,b);for(var c=0;c<b;c++)d[c].xb(c<a)};this.xd=function(){g.forEach(function(a){a.H.Da(td)});g.clear()};this.jf=function(){return 2>g.size()};for(var k=0;k<a;k++){var l=new t(this,c,1>k);l.addEventListener(aj,function(){h.A(Bg)});d.push(l)}}function ma(a){var b=this;this.Ue=a||65536;this.Uo=function(a,c,d){var f=[],g,h;if(1===d||a.length<=b.Ue)f.push({offset:a.offset,length:a.length,
He:a.offset+a.length,Mb:c});else{var k=Oa.floor(Oa.floor(a.length/b.Ue)/d)*b.Ue||b.Ue,l=Oa.floor(a.length/k),l=0<l?l-1:0,z=a.length-k*l;for(d=0;d<l;d++)g=a.offset+d*k,h=g+k-1,f.push({offset:g,length:k,He:h,Mb:c});0<z?(g=a.offset+l*k,f.push({offset:g,length:z,He:g+z,Mb:c})):f[f.length-1].He+=1}a=f.length;for(d=0;d<a;d++)c=f[d].Mb,f[d].index=d+1,f[d].Ba={name:gc("{0}_{1} - {2}/{3}",c.type,c.index,d+1,a)};return f}}function M(a,c,d){function f(a){if(a){var b=a.H;a=a.sf;var c=b.type===Za?a.k:b.type===
sb?d.G.value:void 0;a=c.j.v[b.index];b.content=new bb(a.length);b.Qb=t.Uo(a,b,w);b.Qb.forEach(function(a){a.i=d.i.value;a.stream=c;C.Qc(a);F.$h(Ch)})}}function g(a){a&&(a.media=null,a.Da(td),a.Qb=null)}function h(a){function b(a){if(a.Qb){for(var c=a.Qb.length,d=0;d<c;d++){var f=a.Qb[d];if(!f.response||!f.response.c)return!1}return!0}return!1}if(a){var c=a.Mb,z,m=d.gb;if(a.response.c){if(b(c)){c.Qb.forEach(function(a){c.content.set(a.response.content,a.offset-c.N.offset)});try{c.content=ha(c.content),
z=!0}catch(n){g(c),m.$b.ji(a.i,c,a.stream),l.warn("Exception parsing response",n,c)}delete H[c.type+"_"+c.index];z&&p.Ud([c],c.N.Zc,a.stream,c.content,a.i,k(c));c.Qb=null;c.content=null;a=A;A=null;f(a);F.A(Bg)}}else a.response=null,m.$b.sl(a.i)&&u.xb(!1),C.Qc(a),F.$h(Ch)}}function k(a){var b={},c=a.Qb;a.Qb&&(b.requestTime=zc(c,function(a){return a.response.B.requestTime}),b.O=zc(c,function(a){return a.response.B.O}),b.L=ba(c,function(a){return a.response.B.L}),b.Y=a.content.length);return b}var l=
new d.log.r("SubChunkDownloadJobManager"),m=[],n=d.ca,u=this,p=d.n,w=c,t=new ma(v.Rt),H={},C=new wa.Bb,A,F=new Hb;this.addEventListener=F.addListener;this.removeEventListener=F.removeListener;this.Qc=function(a){a.H.Da(Bh);f(a)};this.jf=function(){return Kb.keys(H).length<v.gr&&C.size()<=w};this.Mc=function(){var a=C.Mc();if(!a)return null;a.i=d.i.value;var b=a.Mb;if(!H[b.type+"_"+b.index]){b.N=q(b,a.stream,a.i);kc(a.stream.type,d.Ee,d.Fe).set({H:b,stream:a.stream,i:a.i});H[b.type+"_"+b.index]=b;
b.Da(sf);var c=b.index;if(b.type===Za)b=a.stream,b.j&&b.j.v[c]||(l.warn("Stream is missing header or has less chunks than primary, falling back to primary",{BitrateOld:b.f,BitrateNew:d.$.f}),b=d.$),b!=d.k.value&&(l.trace("Stream switch",{BitrateOld:d.k.value.f,BitrateNew:b.f}),d.k.set(b));else if(b.type!==sb)throw new Wa("unexpected chunk type.");}return a};this.mf=function(){return C.mf()};this.size=function(){return C.size()};this.contains=function(a,b){return C.contains(a,b)};this.forEach=function(a){return C.forEach(a)};
this.xb=function(a){m.forEach(function(b){b.xb(a)})};this.hk=function(){var a=0;m.forEach(function(c){if(c=c.Vg()){var d=c.response;if(d){var f=d.B;a=b(f.O)?a+Ba(d.N.length-(f.Y||0),0):a+c.length}}});a=a||0;return n.ka(a)};this.Hc=function(){Kb.keys(H).forEach(function(a){g(H[a]);delete H[a]});m.forEach(function(a){a.dg()})};this.Wh=function(a){var b=m.length;a=Ma(a,0,b);for(var c=0;c<b;c++)m[c].xb(c<a)};this.xd=function(){A&&(g(A.H),A=null);C.forEach(function(a){a&&g(a.Mb)});C.clear()};for(c=0;c<
a;c++){var K=new B(u,d,c<w);K.addEventListener(cj,function(a){h(a)});m.push(K)}}function B(a,b,c){function d(){!l&&k&&(l=a.Mc())&&f(l)}function f(a){var c=G(a),g={type:Yk,stream:a.stream,Xz:a};m=g;g.response=h.R(c,function(c){Aa(d);var f=m;f&&b.state.value==eb&&f.type!=dj&&(c&&c.c?n.Fb=0:c&&c.g==N.cb||(n.$b.ji(a.i,a.Mb,a.stream),++n.Fb>=n.hb.length&&(n.Fb=n.hb.length-1)));q.A(cj,l);l=null;m&&m.type!=dj&&(m=null)});a.response=g.response}var g=new b.log.r("SubChunkDownloadWorker"),h=b.vh,k=c,l,m,n=
b.gb,q=new Hb;this.addEventListener=q.addListener;n.hb=v.hb;n.Fb=0;a.addEventListener(Ch,function(a){!l&&k&&(a.jk=!0,d())});this.isEnabled=function(){return k};this.xb=function(a){k!=a&&(k=a)&&d()};this.Vg=function(){return l};this.dg=function(){m&&m.response&&(g.trace("Aborted download of chunk:",l),m.response.abort(),l=m=null)}}function G(a){var b=a.stream;return{responseType:Cc,hc:ya,url:b.Ua[a.i.id],offset:a.offset,length:a.length,za:[a.Mb],i:a.i,track:b.track,stream:b,Eb:b.type+"-"+b.f+"-"+a.Mb.index+
"- sub."+a.index,Ic:!0}}function ya(a){return new bb(a)}function db(a){function b(){10>=l.length?c():b=p}function c(){a.state.value!=eb&&a.state.value!=cc||d()}function d(){var b=w,c;w=ia();c=w-b;b=(h=h||a.n)&&h.mh();if(!b||t){if(++A>=F&&(A=0,a.fireEvent(sg)),0<l.length){var b=va(u,l[l.length-1].L-l[0].requestTime),g=0,k=ia(),r=b>=u?k-u:l[0].requestTime,r=k-r<=v.ci?r:k-v.ci;q=0;l.forEach(function(a){var b=a.L-a.requestTime,c=0;if(!(0>=b||a.L<r||a.requestTime>k)){if(a.requestTime>=r&&a.L<=k)c=1;else{var d=
a.L;d>=r&&d<=k?c=(a.L-r)/b:(d=a.requestTime,d>=r&&d<=k&&(c=(k-a.requestTime)/b))}g++;q+=a.Y*c}});q=ua(q);m=ua(Ba(8,q/b));ea=b;t=!1}}else b&&f(c)}function f(a){l.forEach(function(b){b.requestTime+=a;b.O+=a;b.L+=a})}function g(a){return ua(a/m)}var h,k,l=[],m=128,n=0,q=0,u=v.ci,w=ia(),t,C,A=0,F=lb(4),K,B,ea,L=0;a.addEventListener($d,function(a){var c=a.B,d=a.N;d.i&&(C=d.i.location.id);K=c.requestTime;if(a.c&&c.Y>Si&&a.type==Cc){g(c.Y);for(l.push(c);100<l.length;)l.shift();t=h&&h.mh();b()}});this.dc=
function(){return m};this.pq=function(){return ua(7.8125*m)};this.gk=function(){return ua(7.8125*n)};this.Gd=function(){return q};this.$j=function(){return C};this.ak=function(){return K};this.ka=g;this.Xb=function(){k=k||new ad(a.n,a.ed);return k.Xb(m,0)};this.ve=function(){return this.pq()};this.bh=function(){return ea};this.Ed=function(){return 0};a.addEventListener(Ab,function(){B&&yb(B)});B=qb(c,250);var ja=new le(1E3,function(){60<L?ja.yd():(n=(n*L+m)/(L+1),L+=1)});ja.Zh()}function Ub(a){var b=
{};this.ji=function(a,c,d){a=a.name+"_"+(d.type+"_"+c.index);b[a]=b[a]?b[a]+1:1};this.uj=function(){b={}};this.sl=function(c){return Kb.keys(b).some(function(d){var f=b[d];return-1<d.indexOf(c.name)&&f>a})}}function Gb(a){return ha(new bb(a))}function ha(a){for(var b=yh(a),c,d,f,g=0;g<b.length;g+=2){c=b[g];if("moof"!=c.type||"mdat"!=b[g+1].type)throw new Wa("data is not moof-mdat box pairs");if(v.uu&&"moof"==c.type&&(d=c.ub("traf/saio"),f=c.ub("traf/A2394F52-5A9B-4F14-A244-6C427C648DF4"),d&&f&&(f=
f.ro.byteOffset-c.Pa.byteOffset,d.Xs[0]!=f))){var h=d;d=f;f=new Vc(h.Pa);f.seek(h.size-h.Y);h=f.I(1);f.I(3)&1&&(f.l(),f.l());h=1<=h?8:4;f.l();f.Ll(d,h)}v.Jl&&"moof"==c.type&&(c=c.ub("traf/tfhd"),(d=c.Bg)&&d.il&&fa(c))}return a}function fa(a){var b=new Vc(a.Pa);b.seek(a.size-a.Y);b.I(1);var c=b.I(3);b.l();var d;switch(a.type){case "tfhd":c&1&&b.oa();c&2&&b.l();c&8&&b.l();c&16&&b.l();c&32&&(d=b.na(2));break;case "trex":b.l(),b.l(),b.l(),d=b.na(2)}d&&(d[1]&=254)}function pc(a,b,c,d){var f=b.type;b=kc(f,
"ec-3"==b.j.tg?'audio/mp4; codecs="mp4a.a6"':'audio/mp4; codecs="mp4a.40.5"',v.pu);var g={Type:f},h,k=!1,l,m=this,q,u={data:[],state:"",operation:""};v.fc&&v.af&&(q=!0,m.Pg=new Xa);d.trace("Adding source buffer",g,{TypeId:b});h=c.addSourceBuffer(b);na(h);Cg&&(h.addEventListener("updatestart",function(){u.state="updatestart"}),h.addEventListener("update",function(){u.state="update"}),h.addEventListener("updateend",function(){k=!1;l&&l();u.state="updateend";q&&h.buffered.length&&(q=!1,m.Pg.set(!0))}),
h.addEventListener("error",function(){d.error("SourceBuffer event: error",g,{updating:h.updating});a.Ta(new Ib(R.bn,kc(f,N.ke,N.le)))}),h.addEventListener("abort",function(){}));a.addEventListener(vg,function(){h=null});n(m,{type:f,appendBuffer:function(a){u.data=a||[];u.state="init";u.operation="append";h[ej](a);Cg&&(k=!0)},remove:function(a,b){try{tf&&(u.data=[],u.state="init",u.operation="remove",h.remove(a,b),Cg&&(k=!0))}catch(c){d.error("SourceBuffer remove exception",c,g)}},bc:function(){return k},
ol:function(a){l=a},Up:function(){try{var a=h.buffered,b,c,d,f=0;if(a)for(b=[],c=0,d=a.length,c=0;c<d;c++){var g=a.start(c),k=a.end(c),f=f+(k-g);b.push(g+"-"+k)}if(b)return{Buffered:f.toFixed(3),Ranges:b.join("|")}}catch(l){}},Zp:function(){return u}})}function na(a){na=p;ej=a.appendBuffer?"appendBuffer":"append";tf=!v.vo&&!!a.remove;Cg=!!a.addEventListener}function La(a){function c(b){var d=!1,f;if(f=v.ts)f=(f=(f=a.la)&&f.errorCode)&&0<=[R.me,R.ie].indexOf(f);f&&(d=!0);v.Oo&&(d||(aa.removeAttribute("src"),
aa.load&&aa.load()),aa.webkitDeleteKey&&aa.webkitDeleteKey(W,Y));uf.revokeObjectURL(T);if(xa&&!b)try{xa.close()}catch(g){la.error("Exception on keysession close ",R.Vf,g)}v.Dj&&aa.removeEventListener("contextmenu",Cb);d||a.Za.removeChild(aa);aa=M=null;T=""}function d(a){try{aa&&(fc=aa.currentTime)}catch(b){la.error("Exception while getting VIDEO.currentTime",b),a&&K(R.Vm,b)}return lb(1E3*fc)}function g(){Z&&Z.Rr&&Z.Sr&&(Z=h,J.A(fj))}function k(a,b,c){v.Mj&&la.trace("KeySession update",a&&P(a));try{if(xa){var d=
xa.update(a);d&&d.then&&d.then(A).catch(function(a){la.error("keySession update promise rejected",a);a=oe(a);F(R.Xf,a)})}else aa.webkitAddKey(W,a,b,c)}catch(f){la.error("Exception calling keySession.update or addKey",f),K(R.Wm,f)}}function l(){la.trace("Video element event: seeking");Z?Z.ry=!0:F(R.en)}function m(){la.trace("Video element event: seeked");Z?(Z.Rr=!0,g()):F(R.dn)}function q(){Z&&(Z.Sr=!0,g());J.A(gj)}function u(a){la.trace("Received event: sourceopen");Ua||(Ua=!0,J.A(hj,a))}function x(a){a=
dd(a,bd);la.error("Video element event: error",a.cf);if(ha&&ha.Xe()&&!v.et){var b={ErrorCode:R.Cn};n(b,fb(a.uc));ha.terminate(b)}else F(R.Um,a.uc)}function w(a){var b=dd(a,cd);la.error("Received event: keyerror",b.cf);ha&&ha.Xe(a)?((a=/Chrome/.test(lc)&&1==a.systemCode&&a.errorCode&&1==a.errorCode.code)&&ra.error("SSManager , ignoring keyerror"),a||(a={ErrorCode:R.kn},n(a,fb(b.uc)),ha.terminate(a))):F(R.Xf,b.uc)}function t(b){la.trace("Received event: "+b.type);if(aa){var c;if(!ia){ia=!0;a.ta("lg");
try{var d=Zk[ga()];c=b.initData;c instanceof ArrayBuffer&&(c=new bb(c));d&&(c=d(c,a.$.j.Rd));oa||!Mc||v.qs&&aa.webkitGenerateKeyRequest||(aa.msSetMediaKeys?(Q=new Mc(W),aa.msSetMediaKeys(Q)):aa.setMediaKeys?(Q=new Mc(W),aa.setMediaKeys(Q)):aa.webkitSetMediaKeys&&(Q=new Mc(W),aa.webkitSetMediaKeys(Q)));oa&&Zb.requestMediaKeySystemAccess(W,[{initDataTypes:["cenc"],persistentState:"required",videoCapabilities:[{contentType:'video/mp4; codecs="avc1.640028"',robustness:"HW_SECURE_DECODE"},{contentType:'video/mp4; codecs="avc1.640028"',
robustness:"SW_SECURE_DECODE"}]},{initDataTypes:["cenc"],persistentState:"required"}]).then(function(a){la.trace("supportedconfig",mb.stringify(a.getConfiguration()));return a.createMediaKeys()}).then(function(a){pa=a;return aa.setMediaKeys(a)}).then(function(){var a=pa.createSession();a.addEventListener("message",C);a.addEventListener("keystatuseschange",function(a){la.trace("Received event: "+a.type);try{a.target.keyStatuses.forEach(function(a){la.trace("key status: "+a);"expired"==a&&F(R.Ki);"internal-error"==
a&&F(R.Tm);"output-not-allowed"==a&&F(R.Li);"output-downscaled"!=a||Ia||(Ia=!0,la.error("output-downscaled"))})}catch(b){la.error("Exception in iterating keystatuses",b)}});a.generateRequest(b.initDataType,c);xa=a}).catch(function(a){la.error("Exception creating keySession",a);a=oe(a);var b=R.Sm;a.g==N.Rl&&(b=R.Yf);F(b,a)})}catch(f){la.error("Exception creating MediaKeys",f);K(R.Ji,f);return}if(!oa)try{var g;Q?g=xa=Q.createSession("video/mp4",c,null):(aa.webkitGenerateKeyRequest(W,c),g=aa);g.addEventListener(cb+
"keyerror",w);g.addEventListener(cb+"keymessage",C);g.addEventListener(cb+"keyadded",A)}catch(h){la.error("Exception generating key request",h),K(R.Yf,h)}}}}function C(b){var c=b.messageType;la.trace("Received event: "+b.type+(c?" , "+c:""));var d=b.sessionId||xa&&xa.sessionId,f=b.message;b=ga();f instanceof ArrayBuffer&&(f=new bb(f));v.Mj&&la.trace("KeySession message",f&&P(f));if(!Qa&&v.ku){Qa=!0;var g=[99,100,109,95,105,100,58],h=new bb(g.length+f.length);h.set(g,0);h.set(f,g.length);k(h,f,d)}else if(v.Il&&
Id([8,4],f))g=Bc(v.Il),k(g,f,d);else if("fps"==b&&Id([99,101,114,116,105,102,105,99,97,116,101],f))a.ta("scs"),gb(a,function(b){b.c?(a.ta("scr"),k(b.we,f,d)):F(R.Em,b)});else if(ha&&ha.Pq()&&(ha.ki({c:!0,Db:f,sc:ga(),Ye:Y}),ha.oi().then(function(a){a.c&&k(a.sd,a.Db,Y)})),!Bb||v.fc&&sa!==$k){Bb=!0;try{Y=d;var l;a.$.j.Rd.children.forEach(function(a){"pssh"==a.type&&"29701FE4-3CC7-4A34-8C5B-AE90C7439A47"==a.zd&&(l=a.data)});ba="playready"==ga()?(g=Qe(f,"PlayReadyKeyMessage","Challenge"))?Bc(g):f:f;h=
{sc:ga(),data:ba,Bs:l};v.fc&&(sa++,h.Vq=sa==ij,sa==al&&(h.el=!0));J.A(jj,h)}catch(m){la.error("Exception creating license challenge",m),K(R.Xm,m)}}}function A(a){la.trace(a?"Received event: keyadded":"addKey promised resolved");if(qa){ma||(ma=!0,J.A(kj,{Ye:Y}));var b;a:{if(v.fc&&v.af&&(sa==ij||sa==bl))switch(ga()){case "fps":b=B;break a;case "playready":b=O;break a}b=void 0}b&&kb.then(function(){Vb=$a(b,v.af)})}ha&&ha.Oq()&&ha.Dl()}function H(){!0===vb.hidden?fa.forEach(function(a){a.refresh();a.Ft()}):
fa.forEach(function(a){a.refresh();a.Nt()})}function B(){k(jd("renew"));Vb=h}function O(){y(xa,"removeEventListener");var b=za(a.$.j.Rd),b=Ra(b),b=function(a){var b="";a.forEach(function(a){b+="<KeyID>"+a+"</KeyID>"});return new bb(rc('<PlayReadyCDMData type="LicenseAcquisition"><LicenseAcquisition version="1.0" Proactive="true"><KeyIDs>'+b+"</KeyIDs><CustomData></CustomData></LicenseAcquisition></PlayReadyCDMData>"))}([P(b)]);xa=Q.createSession("video/mp4",new bb,b);y(xa,"addEventListener");Vb=h}
function F(b,c){a.Ta(new Ib(b,c,void 0))}function K(b,c){var d={g:N.Ub,D:L(c)},f;try{(f=c.message.match(/(?:[x\W\s]|^)([0-9a-f]{8})(?:[x\W\s]|$)/i)[1].toUpperCase())&&8==f.length&&(d.V=f)}catch(g){}a.Ta(new Ib(b,d))}function da(a){function c(){var f=a();b(f)&&d.bo(f)}var d=new ie;fa.push(d);d.refresh=c;return function(){c();return d.Xp()}}function ea(){fa.forEach(function(a){a.refresh()})}function I(){if(aa&&2<=aa.readyState){var a=aa.webkitDecodedFrameCount;if(a===h||0<a||v.tu)return U.Cj=I=ca,!0}return!1}
function ja(b){if(aa){b=b.qu;var c=aa&&aa.msGraphicsTrustStatus;c&&(b.ConstrictionActive=c.constrictionActive,b.Status=c.status);try{aa&&(b.readyState=""+aa.readyState,b.currentTime=""+aa.currentTime)}catch(d){}for(var c=D.length,f;c--;)if(f=D[c],n(b,f.Up(),{prefix:f.type}),v.Ap&&a.la&&Za==f.type){var g=oc(f.Zp());if(3E3>(g.data&&g.data.length)){for(var h=g.data,k=[],l=0;l<h.length;l++)k[l]=h[l];g.data=k.join();n(b,g,{prefix:f.type})}}}}function Ja(){if(aa)return aa.getVideoPlaybackQuality&&aa.getVideoPlaybackQuality()||
aa.videoPlaybackQuality||aa.playbackQuality}function G(b){function c(a){c=p;d.yb();b(a)}var d=new Ob(500,function(){c()});d.tc();try{var f=a.k.value.j.Rd.children.filter(function(a){return"pssh"==a.type&&"9A04F079-9840-4286-AB92-E65BE0885F95"==a.zd})[0];(new Mc(W)).createSession("video/mp4",f.Pa,null).addEventListener(cb+"keyerror",function(a){a=dd(a,cd);c(a.uc)})}catch(g){c()}}function y(a,b){a[b](cb+"keyerror",w);a[b](cb+"keymessage",C);a[b](cb+"keyadded",A)}var cb=Sa(),U=this,la=new a.log.r("MediaPresenter"),
J=new Hb,aa=xb(a.lc),D=[],M,Q,T,Z,W=v.Ze[0],xa,Y,ba,fc=0,fa=[],Vb,oa,Ua,ia,Bb,Qa,qa,ma,sa=v.fc?cl:dl,ha,na=p,kb=Xd.resolve(),Ia,pa;v.fc&&v.af&&(kb=new Xd(function(b){na=b;a.addEventListener(Ab,b)}));v.$d&&a.state.addListener(function(){a.state.value==eb&&(ha=a.Cc)});v.ys&&(f(Zb.requestMediaKeySystemAccess)?oa=!0:la.error("Promise based eme requested but platform does not support it",{browserua:lc}));n(U,{addEventListener:J.addListener,removeEventListener:J.removeListener,ru:aa,Xj:d,seek:function(a){ea();
var b=d(!0);if(!(yc(b-a)<=Dh))try{la.trace("Setting video elements currentTime",{From:Va(b),To:Va(a)}),Z={},aa.currentTime=a/1E3}catch(c){la.error("Exception while setting VIDEO.currentTime",c),K(R.Ym,c)}},oq:function(){return!!Z},addSourceBuffer:function(b){var c=new pc(a,b,M,la);D.push(c);b.type==Za&&c.Pg&&c.Pg.addListener(na);return c},endOfStream:function(){la.trace("Calling endOfStream on mediaSource");v.Go&&M.endOfStream()},ao:function(a){a=a.data;qa=!0;k(a,ba,Y);v.fc&&sa++},Cj:I,Ug:function(){var a=
aa&&aa.msGraphicsTrustStatus;return!(!a||1!=a.constrictionActive)},open:function(){a.addEventListener(uh,ja);if(lj){if(a.k.value.j.Hg){if(!el){F(R.Mi);return}if(Mc&&Mc.isTypeSupported)try{if(!Mc.isTypeSupported(W,"video/mp4")){G(function(a){F(R.Wf,a)});return}}catch(b){K(R.Wf,b);return}}try{M=new Ed}catch(c){K(R.Om,c);return}try{T=uf.createObjectURL(M)}catch(d){K(R.Pm,d);return}try{M.addEventListener("sourceopen",u);M.addEventListener(cb+"sourceopen",u);aa.addEventListener("error",x);aa.addEventListener("seeking",
l);aa.addEventListener("seeked",m);aa.addEventListener("timeupdate",q);aa.addEventListener(oa?"encrypted":cb+"needkey",t);var f=a.Za,g=f.lastChild;g?f.insertBefore(aa,g):f.appendChild(aa);v.Dj&&aa.addEventListener("contextmenu",Cb);aa.src=T;jb.addListener(Eh,H);H()}catch(h){K(R.Qm,h)}}else F(R.Ni)},close:function(){if(T)if(ea(),jb.removeListener(Eh,H),ha&&qa){ha.Md();try{xa?xa.close():aa.webkitCancelKeyRequest(W,Y)}catch(b){la.error("Exception on keysession close ",R.Vf,b),ha.terminate({ErrorCode:R.Vf})}"playready"==
ga()&&new hi(a,Y,ha);ha.ge().then(c)}else c();Vb&&pb(Vb)},Me:da(function(){if(aa){var a=Ja();return a?a.totalVideoFrames:aa.webkitDecodedFrameCount}}),xc:da(function(){if(aa){var a=Ja();return a?a.droppedVideoFrames:aa.webkitDroppedFrameCount}}),Cd:da(function(){if(aa){var a=Ja();return a&&a.corruptedVideoFrames}}),Ne:da(function(){if(aa){var a=Ja();return a&&lb(1E3*a.totalFrameDelay)}})})}function ga(){return/widevine/i.test(v.Ze[0])?"widevine":/fps/i.test(v.Ze[0])?"fps":"playready"}function Sa(){return D.WebKitMediaKeys||
vf.prototype.webkitGenerateKeyRequest?"webkit":vf.prototype.msSetMediaKeys?"ms":""}function xb(a){var b;b=D.devicePixelRatio||1;b={width:fl||D.screen.width*b,height:gl||D.screen.height*b};a=a.width/a.height*b.height;var c=(b.width-a)/2;return v.zt?Fa("VIDEO","position:absolute;width:"+a+"px;height:"+b.height+"px;left:"+c+"px;top:0px"):Fa("VIDEO","position:absolute;width:100%;height:100%")}function Cb(a){a.preventDefault();return!1}function Qe(a,b){var c="",d,f=a.length,g;for(d=0;d<f;d++)g=a[d],0<
g&&(c+=hl(g));f="\\s*(.*)\\s*";for(d=arguments.length-1;0<d;d--){g=arguments[d];if(0>c.search(g))return;g="(?:[^:].*:|)"+g;f="[\\s\\S]*<"+g+"[^>]*>"+f+"</"+g+">[\\s\\S]*"}if(c=c.match(new RegExp(f)))return c[1]}function gb(a,b){function c(a){var d;try{var f=a.match(/-----BEGIN CERTIFICATE-----([\s\S]*)-----END CERTIFICATE-----/)[1];if(!Ua(f))throw new Wa("bad PEM");d={c:!0,we:Bc(f)}}catch(g){d={g:N.Ub,D:L(g)}}b(d)}var d=a.mb;ib.load("fpsappdata",function(a){if(a.c){a=a.data;var f=a.certificate;if(a.expiration>
Rb.Fd()){c(f);return}}d.Rg(function(a){if(a.c){var d=a.we;ib.save("fpsappdata",{certificate:d,expiration:a.Hp});c(d)}else b(a)})})}function dd(a,c){var d=a.target,f=d&&d.error,g=a.errorCode,d=f&&f.code;Z(d)||(d=g&&g.code);g=f&&f.msExtendedCode;Z(g)||(g=f&&f.systemCode);Z(g)||(g=a.systemCode);f=n({},{code:d,systemCode:g},{kf:!0});d={g:c(d),D:Ag(f)};g=C(g);b(g)&&(d.V=je(g));return{uc:d,cf:f}}function oe(a){var b={};b.g=Z(a.code)?cd(a.code):N.Ub;try{var c=a.message.match(/\((\d*)\)/)[1];b.V=je(c)}catch(d){}b.D=
L(a);return b}function Re(a){function b(){function g(){!K&&S&&p&&(g=O,U.addEventListener(fj,f),U.addEventListener(gj,function(){f();a.fireEvent(Fh)}),la.addEventListener("ended",function(){F.trace("Video element event: ended");f()}),la.addEventListener("play",function(){F.trace("Video element event: play");f()}),la.addEventListener("pause",function(){F.trace("Video element event: pause");f();a.fireEvent(Gh)}),la.addEventListener("playing",function(){F.trace("Video element event: playing")}),B=!0,
m(),F.trace("Video element initialization complete"),a.ta("vi"),v.Aj?$a(function(){ea=!0;f()},v.Aj):ea=!0,h(),Aa(f))}function h(){if(v.yj){var b=function(){a.C.value==Tb&&a.state.value==eb&&a.o.value==nc?W.tc():W.yb()};W=new Ob(v.yj,function(){C(R.Rm)});a.C.addListener(b);a.o.addListener(b);a.state.addListener(b);b()}}F.trace("Video element initializing");var k=a.ed,n=a.k.value,x=k.j,u=n.j.Hg||x.Hg,S,p;la=U.ru;U.addEventListener(hj,function(){try{aa.Qa=U.addSourceBuffer(k)}catch(b){C(R.Zf,{g:N.ke,
D:L(b)});return}try{D.Qa=U.addSourceBuffer(n)}catch(c){C(R.Zf,{g:N.le,D:L(c)});return}q(k)&&q(n)&&(u?F.trace("Waiting for needkey"):F.warn("Movie is not DRM protected",{MovieId:a.sa,DownloadableId:n.J}),F.trace("Waiting for loadedmetadata"))});u?(U.addEventListener(jj,function(b){K||(F.info("Requesting license"),b.el||a.ta("lc"),a.mb.ph(b,function(c){F.info("Received license");if(!K)if(b.el||a.ta("lr"),c.c){c=c.Tq;try{U.ao(c),F.trace("Added license")}catch(d){F.error("Exception adding license",d),
C(R.Nm)}}else C(R.Im,c)}),a.fireEvent(th,b))}),U.addEventListener(kj,function(b){S=!0;a.ta("ld");Aa(function(){g()});a.fireEvent(Hi,b)})):S=!0;Df(la,function(){F.trace("Video element event: loadedmetadata");p=!0;a.ta("md");a.addEventListener(be,c);aa.Qa.ol(c);D.Qa.ol(c);c();Aa(function(){g()})});jb.addListener(Lc,A,-1);a.addEventListener(Ab,A,-1);a.addEventListener(Xi,d);a.paused.addListener(f);a.muted.addListener(l);a.volume.addListener(l);a.o.addListener(f);U.open();w(a.fb||0,Hh);l()}function c(){B?
f():v.ko&&m()}function d(){var b=a.q.value-v.ot,b=Ba(b,G);w(b,Li)}function f(){if(!K&&B){var b=U.oq();b||m();tf||m();var c=a.o.value==nc,d=a.C.value,l=d==Tb?Q:ca,r;r=k(aa,l)&&k(D,l);a.paused.value||!r||!c||b||y?u():la.ended||!ea||!J&&J!==h||(F.trace("Calling play on element"),la.play(),J=!1);if(!b)if(y&&c&&r)U.seek(ja),y=!1,tf||t(),Aa(f);else{var n=U.Xj(!0);y||b?d=Tb:la.ended?d==qd&&(ja=a.duration,d=Kc,u()):c&&r?U.Cj()?d=la.paused?of:qd:Y.pb(g):d=Tb;d!=Tb&&d!=Kc&&(n<ja?(b=ja-n,n&&b>Dh&&(n={ElementTime:Va(n),
MediaTime:Va(ja)},b>il?(F.error("VIDEO.currentTime became much smaller",n),C(R.cn)):F.warn("VIDEO.currentTime became smaller",n))):ja=Ma(n,0,a.duration));a.q.set(ja);p();n=d==Tb&&a.C.value==qd;a.C.set(d,{fx:!0});n&&(a.fireEvent(pf,{Jc:I.ac()>l?jl:Ah}),I.ac()>l?Ja++:P++)}}}function g(){v.Or&&!aa.Qa.bc()&&aa.Qa.appendBuffer(new bb([0,0,0,8,102,114,101,101]));f()}function k(a,b){if(!a.cd)return!0;var c=a.ye;return(c=c&&c.H)&&c.endTime-ja>=b}function l(){K||(la.volume=a.volume.value,la.muted=a.muted.value)}
function m(){x(aa);x(D);K||aa.cd||D.cd||aa.Qa.bc()||D.Qa.bc()||Z||(Z=!0,U.endOfStream())}function x(a){if(!K){var b=a.Qa,c=a.Lc;b.bc()||(a.ye=c[c.length-1],a.bi&&(a.bi=!1,b.remove(0,kc(a.type,I.eb,I.Ab).W.endTime/1E3)));for(var d=a.cd;d&&d.media&&d.startTime-ja<=T;){Z=!1;var f;a:{f=d;var g=f.media,h=f.type,k=M[h];if(!q(g.stream)||K||k.Qa.bc())f=void 0;else{try{var l=g.hg;F.trace("Feeding media segment to decoder",f,{Bytes:g.length});k.Qa.appendBuffer(l);k.Lc.push({H:f,stream:g.stream,i:g.i});y&&!tf||
I.Gr(f)}catch(m){F.error("Exception while appending media",f,m);C(R.Zm,kc(h,N.ke,N.le));f=void 0;break a}f=!0}}if(!f)break;d=d.next}a.cd=d;b.bc()||(a.ye=c[c.length-1])}}function q(a){if(!a||!a.j)return!1;var b=a.type,c=M[b];if(c.bp!=a)try{if(c.Qa.bc())return;var d=a.j.Aq;F.trace("Feeding init segment to decoder",a,{Bytes:d.length});c.Qa.appendBuffer(d);c.bp=a}catch(f){F.error("Exception while appending initialization segment",f,{Type:b});C(R.$m,kc(b,N.ke,N.le));return}return!0}function u(){la.ended||
!ea||J&&J!==h||(F.trace("Calling pause on element"),la.pause(),J=!0)}function p(b){if(b){for(var c=M[b],d=c.Lc,f,g;(f=d[0])&&f.H.startTime<=ja;)if(ja<f.H.endTime){b=kc(b,a.ic,a.Ya);Zc(f,b.value)||(g=!0,b.set(f));break}else d.shift(),I.Jr(f.H);g&&!Z&&(f=(f=f.H.Oa)&&f.startTime-1,0<f&&(c=c.Qa,c.bc()||c.remove(0,f/1E3)))}else p(sb),p(Za)}function w(b,c){if(!K){var d=I.Ab.ib(Ma(b,0,145152E5)),g=d.startTime;v.ps&&(g=b);var h=I.eb.ib(g);!d.next&&d.Oa&&(d=d.Oa,g=d.startTime,h=I.eb.ib(g));v.kl&&(g+=v.kl);
c==Hh&&(a.vd=g);p();var k=ja;F.info("Seeking",{Requested:Va(b),Actual:Va(g),Cause:c});a.fireEvent(mj,{Ah:k,Ok:g,Jc:c});a.C.set(Tb);aa.Ph=h;D.Ph=d;t();c!=Hh&&(aa.bi=!0,D.bi=!0);G=ja=g;a.ic.set(null);a.Ya.set(null);a.q.set(ja);a.Mp();a.fireEvent(ae,{Ah:k,Ok:g,Jc:c});y=!0;f()}}function t(){aa.cd=aa.Ph;aa.Lc=[];aa.ye=h;D.cd=D.Ph;D.Lc=[];D.ye=h;I.Ir()}function C(b,c){K||a.Ta(new Ib(b,c,void 0))}function A(){if(!K){F.info("Closing.");jb.removeListener(Lc,A);K=!0;try{v.Ar&&(la.volume=0,la.muted=!0),u(),
U.close()}catch(a){}}}var F=new a.log.r("MediaPresenter"),K,B,ea,I=a.n,ja=0,Ja=0,P=0,G,y,U=new La(a),la,J,aa={type:sb,Lc:[]},D={type:Za,Lc:[]},M={},ca=v.Xa,Q=v.Vr,T=v.ir,Z,W,Y=new Eb(Dh);M[sb]=aa;M[Za]=D;try{b()}catch(ba){F.error("Exception while initializing",ba),C(R.Mm)}n(this,{seek:function(a){w(a,Ki)},Dd:function(){return U.Xj(!1)},Me:U.Me,xc:U.xc,Cd:U.Cd,Ne:U.Ne,Ug:U.Ug,zg:function(){var b=a.C.value==Tb?Q:ca;return k(aa,b)&&k(D,b)},hq:function(){return{dp:Ja,Er:P}}})}function Mf(a,b,c,d,f,g,
k,l,m,n){function q(b){function c(){a.state.removeListener(c);d()}function d(){a.state.value==eb?ja?w(function(a){a.c?K.info("Loaded image subtitle manager"):(K.error("Unable to load image subtitles manager",a),B=Ih,L=Mb(q));b(a)}):u(function(a){a.c?(K.trace("Entries parsed",{Length:a.entries.length},ea),y.i=a.i,B=kl):(K.error("Unable to retreive timed text track",fb(a),ea,{url:a.url}),B=Ih,L=Mb(q));b(a)}):b({})}B=nj;a.state.value!=cc?d():a.state.addListener(c)}function u(b){function c(h){var l={},
m,r;if(h.c)b(h);else{h.xk||(l=A(g,k,"text"),g&&f[g]<=v.gi&&(m=!0,r="retry with current cdn"));var n,x,q;for(q=0;q<a.F.length;q++)if(n=a.F[q],x=d[n.id],f[n.id]>v.gi||!x)n=null;else break;n&&x?(g!==n.id&&(r="retry with next cdn",m=!0),g=n.id,k=x,f[n.id]=(f[n.id]||0)+1,p(x,n,c)):(m=!1,r="all cdns tried",b(h));h.c||h.xk||F(l,m,r)}}if(U(d))p(d,h,b);else if(kd.isArray(d))b({c:!0,entries:d,track:y});else{var f={},g,k;c({c:!1,xk:!0})}}function p(b,c,d){K.trace("Downloading",c&&{cdn:c.id},ea);var g={responseType:kh,
url:b,track:y,i:c,Eb:"tt-"+f};a.xa.R(g,function(b){if(b.c){var f=a.lc;ja?d({c:!0,entries:[]}):Kd(b.content,f.width/f.height,v.zl,v.Al,function(a){if(a.c){a=a.entries;var b=v.Yt;if(b){var f=0;a.forEach(function(a){a.startTime=f;a.endTime=f+=b})}d({c:!0,entries:a,i:c,track:y})}else a.url=g.url,d(a)})}else d(b)})}function w(b){function c(a){if(Z(a)){n.url=d[O];f.url=n.url;r[a]=(r[a]||0)+1;var g=new ll(h,f);g.on("ready",function(){I=g;b({c:!0,track:y})});g.on("error",function(d){var f={c:!1},g;for(g in d)f[g]=
d[g];d=A(O,n.url,"image");d.details={midxoffset:n.offset,midxsize:n.length};d.errorstring=f.errorString;f.url=n.url;r[a]<=v.gi?(F(d,!0,"retry with current cdn"),c(O)):(O=k[l++])?(F(d,!0,"retry with next cdn"),c(O)):(F(d,!1,"all cdns tried"),b({c:!1,msg:"all cdns failed for image subs"}))})}else b({c:!1,msg:"cdnId is not defined for image subs downloadUrl"})}var f={profile:m,tr:n.offset,ur:n.length,Jh:a.q.value||0},g=new a.log.r("TimedTextTrack");g.warn=g.trace.bind(g);g.info=g.debug.bind(g);var h=
{dk:function(){return a.ha.Dd()},Gk:g,N:t},k=Kb.keys(d),l=0,r={};O=k[l++];c(O)}function t(b,c){K.trace("Downloading",b);var d={url:b.url,offset:b.offset,length:b.size,responseType:Cc,headers:{},i:C(O)};a.xa.R(d,function(a){K.trace("imgsub: request status "+a.c);a.c?c(null,new bb(a.content)):c({errorSubCode:a.g,errorExternalCode:a.V})})}function C(b){if(a.F)return a.F.filter(function(a){return a.id==b})[0]}function A(a,b,f){var g={};try{g={currentCdnId:a,url:b,profile:m,dlid:c,subtitletype:f,cdnCount:Kb.keys(d).length}}catch(h){K.warn("Error accummulating data",
h)}return g}function F(b,c,d){b.willRetry=c;b.status=d;a.fireEvent(Ni,b);K.warn("ImageSubtitleManager error event",b)}var K=new a.log.r("TimedTextTrack"),B=ml,ea={Bcp47:f,TrackId:b,DownloadableId:c},L=Mb(q),ja=m&&"nflx-cmisc"==m,I,O,y={type:mh,U:b,Hf:k,xh:l,Nk:m,J:c,Ra:f,displayName:g,getEntries:function(a){L(function(b){a(b)})},Zg:function(){return B},Ba:ea,Ak:ja,fq:function(){return I}};return y}function Kj(a){function b(){C.start();a.C.value!=qd&&C.stop()}function c(){B&&u.info("Deactivating",
B);a.oc.set(null);C.pl(t=h);g();var b=a.T.value;b&&"NONE"==b.U&&(b=h);b&&(u.info("Activating",b),b.getEntries(d));B=b;f()}function d(b){var c=b.track;if(c==a.T.value){if(c.Ak)b.c?(O=c.fq(),v("addListener"),u.info("Activated",c),a.oc.set(c),Aa(function(){O.Ec(a.ha.Dd())})):u.error("Failed to activate img subtitle ",b,c);else{var g=b.entries;g?(C.pl(t=g),u.info("Activated",c),a.oc.set(c)):u.error("Failed to activate",fb(b),c)}f()}}function f(){var b;a.state.value==eb&&a.C.value!=Tb&&(t?b=C.Np():a.T.value&&
(b=w[a.T.value.Zg()]));b&&b.startTime&&(F++,A+=C.Xg()-b.startTime,p.re=pd(A/(F+0)));a.fi.set(b)}function g(){O&&(O.stop(),v("removeListener"));O=h}function k(a){p.fireEvent(nl,a);u.trace("showsubtitle",m(a))}function l(a){p.fireEvent(ol,a);u.trace("removesubtitle",m(a))}function m(b){return{currentPts:a.ha.Dd(),displayTime:b.displayTime,duration:b.duration,id:b.id,originX:b.originX,originY:b.originY,sizeX:b.sizeX,sizeY:b.sizeY,rootContainerExtentX:b.rootContainerExtentX,rootContainerExtentY:b.rootContainerExtentY}}
function n(){O.Ec(a.ha.Dd())}function q(){O.pause()}function v(b){O[b]("showsubtitle",k);O[b]("removesubtitle",l);"addListener"==b?(a.addEventListener(Fh,n),a.addEventListener(Gh,q)):(a.removeEventListener(Fh,n),a.removeEventListener(Gh,q))}var u=new a.log.r("TimedTextManager"),p=this,w={},t,C=new sc,F=0,A=0,B,L=new Hb,O;this.re=null;p.addEventListener=L.addListener;p.removeEventListener=L.removeListener;p.fireEvent=L.A;this.fg=function(b,c){var d="custom"+ ++pl,f=new Mf(a,d,"1",b,"xx",c||d,od,"primary",
"custom",{});a.pa.push(f);a.ya.forEach(function(a){a=a.pa;0>a.indexOf(f)&&a.push(f)});a.fireEvent(oj);return f};w[nj]={ox:!0};w[Ih]={Ew:!0};a.T.addListener(c);a.addEventListener(Wc,c);a.C.addListener(b);a.addEventListener(rf,b);a.addEventListener(Ab,function(){t=h;g();C.stop();f()});C.Xg=a.ha.Dd;C.Bh=f}function Lj(a){function b(){d.Ls()}var c=a.Za,d=new Ef(v.Xt),f=a.lc;d.tt(f.width/f.height);c.appendChild(d.Yj());a.fi.addListener(function(a){d.vt(a.newValue)});a.addEventListener(Ab,function(){jb.removeListener(Jh,
b);c.removeChild(d.Yj())});jb.addListener(Jh,b);this.Yh=d.Yh}function Mj(a){function b(){g(a.q.value);for(var c=0,d=p.length;d--;)c+=p[d].endTime-p[d].startTime;return c}function d(a){g(a.Ah);t=a.Ok;q=m=h;x&&(x.startTime=t)}function f(b){l(x,w,a.q.value);x=b.newValue?{i:b.newValue.i,track:b.newValue,startTime:a.q.value,endTime:145152E5}:h}function g(a){m&&q&&(a=va(a,m.endTime),a=va(a,q.endTime),l(m,u,a),m.startTime=a,l(q,p,a),q.startTime=a,x&&(l(x,w,a),x.startTime=a),t=a)}function k(b,c,d){b&&l(b,
c,va(b.endTime,a.q.value));if(d)return b=d.H,c=d.stream,{i:d.i,track:c.track,stream:c,startTime:Ba(b.startTime,t),endTime:b.endTime}}function l(a,b,c){a&&c>=a.startTime&&(a={i:a.i,track:a.track,stream:a.stream,startTime:a.startTime,endTime:c},(c=b[b.length-1])&&c.track==a.track&&c.stream==a.stream&&c.i==a.i&&c.endTime==a.startTime?c.endTime=a.endTime:b.push(a))}var m,q,x,u=[],p=[],w=[],t=a.q.value,C={},A=!1,B={},F=0,K=v.Yn,L=K.length;(function(){a.addEventListener(mj,d);a.ic.addListener(function(a){m=
k(m,u,a.newValue)});a.Ya.addListener(function(a){q=k(q,p,a.newValue)});a.oc.addListener(f)})();for(C.abrdel=0;L--;)B["abrdel"+K[L]]=0,C["abrdel"+K[L]]=0;n(this,{ah:b,Op:function(){g(a.q.value);return{audio:se(u,di),video:se(p,di)}},mq:function(){return{total:b(),audio:se(u,Xf),video:se(p,Xf),timedtext:se(w,Xf)}},Vj:function(){g(a.q.value);var b=se(p,Oj),c,d,f=0;for(d=b.length;d--;)c=b[d],f+=c.duration;if(!f)return 0;var h=0;for(d=b.length;d--;)c=b[d],h+=c.f*c.duration/f;C.abrdel=lb(h);return C.abrdel},
Rp:function(){if(!A){for(var a=K.length,d=b();a--;){var f=K[a];if(0==B["abrdel"+f]&&d>1E3*f){for(var g=0,h=p.length,k,l=0,m=0;m<h&&!(k=p[m],g+=k.stream.f*(k.endTime-k.startTime),l+=k.endTime-k.startTime,k=k.stream.f,l>1E3*f);m++);g&&(B["abrdel"+f]=lb((g-k*(l-1E3*f))/(1E3*f)))}}0!==B["abrdel"+K[K.length-1]]&&(A=!0);c(B,function(a,b){C[a]=0==b?C.abrdel:b})}return C},$n:function(a){F+=a},iq:function(){return F}})}function se(a,b){var c=[],d,f,g={},h,k,l=a.length,m;for(m=0;m<l;m++)h=a[m],k=b(h),f=k.key,
d=g[f],h=h.endTime-h.startTime,d?d.duration+=h:(delete k.key,d=k,d.duration=h,c.push(d),g[f]=d);return c}function Xf(a){var b,c=a.stream;c?(a=c.J,b=c.f):a=a.track.J;return{key:a+"$"+(b||0),downloadableId:a,bitrate:b}}function di(a){var b=Xf(a);a=a.i.id;b.key+="$"+a;b.cdnId=a;return b}function Oj(a){a=(a=a.stream)?a.f:0;return{key:a,f:a}}function ei(a){function b(a){var c=a.startTime;a=a.endTime;0<c&&0<a&&(null===g&&(g=c),null!==h&&h<c&&(g+=c-h),null===h||h<a)&&(h=a)}var c=a||{},d=0,f=[],g=null,h=
null;c.Ce=k(c.Ce,0,void 0)?c.Ce:50;n(this,{dc:function(){for(var a;0<f.length;)a=f.shift(),b(a);return Oa.floor(8*d/(h-g))},bj:function(a){d+=a.mg;f.push({startTime:a.startTime,endTime:a.endTime});for(f.sort(function(a,b){return a.startTime-b.startTime});f.length>c.Ce;)a=f.shift(),b(a)}})}function Pj(a){var b=v.cs;if(b&&!a.jd){var c=function(){a.state.value!=eb||a.C.value!=of&&a.C.value!=Kc?d.yb():d.tc()},d=new Ob(b,a.Ta.bind(a,new Ib(R.me))),f;a.C.addListener(c);a.state.addListener(c);if(v.uk){var g=
ia();f=new le(v.uk,function(){var c=ia();c-g>b&&(a.Ta(new Ib(R.ie)),f.yd());g=c});f.Zh()}a.addEventListener(Ab,function(){d.yb();Z(f)&&f.yd()})}}function fi(a,b,d,f,g,h,k,l){function m(a){var b;c(a,function(a,c){if(!b){var d=A[c];d?d<v.du+1&&(A[c]++,b={url:c,pj:a}):(A[c]=1,b={url:c,pj:a})}});return b}function q(b){w.trace("Downloading",b.url,C);a.xa.R({responseType:Cc,i:u(b.pj),url:b.url,track:p},function(b){if(b.c)try{F=Rj(b.content),t=Kh,w.trace("TrickPlay parsed",{Images:F.images.length},C),a.fireEvent(pj)}catch(c){t=
qj,w.error("TrickPlay parse failed.",c)}else t=rj,w.error("TrickPlay download failed.",fb(b),C)})}function u(b){for(var c=0;c<a.F.length;c++){var d=a.F[c];if(d&&d.id==b)return d}}var p=this,w=new a.log.r("TrickPlay"),t=rj,C={},A={},B=!0,F;n(p,{type:Fi,id:b,R:function(){var a=m(l);a?(t=Lh,q(a)):B=!1},bq:function(a){if(F&&(a=ua(a/F.j.Bl),0<=a&&a<F.images.length))return{image:F.images[a],time:a*F.j.Bl,height:d,width:f,pixelAspectHeight:g,pixelAspectWidth:h}},nq:function(){return B},Zg:function(){return t},
fk:function(){switch(t){case Kh:return"downloaded";case Lh:return"loading";case ql:return"downloadfailed";case qj:return"parsefailed";default:return"notstarted"}},Ba:C,size:k})}function Nj(a){function b(){var d=a.zb,f=d.Zg();f!=Lh&&(f!=Kh&&d.nq()?(d=!1,a.Nb.ah()<v.fu&&(d=a.k.value.f>v.eu),d&&(d=a.Sb[a.Sb.length-1],c(d.size))?a.ee.gl="h":(d=a.Sb[0],c(d.size)?a.ee.gl="l":d=void 0),d&&(a.ee.offset=ia(),a.zb=d,a.zb.R())):a.removeEventListener(be,b))}function c(b){var d=va(a.n.La(),a.n.tb());b=a.ca.ka(b);
b*=1+.01*v.pe[2];return b<d*v.gu}a.ee={};a.Sb&&0<a.Sb.length&&(a.zb=a.Sb[a.Sb.length-1],a.zb&&a.addEventListener(Wc,function(){a.addEventListener(be,b)}))}function gi(a,b){function c(){return k===Mh}function d(a){n(a,{success:!1,state:k});n(a,U);rd.flush();t&&pb(t);C&&pb(C);A.resolve(a);B.resolve(a);F.resolve(a);K.resolve(a);k=Nh;v.dt&&sj.show()}function f(a,b){return $a(function(){d({ErrorCode:R.An,ErrorDetails:a.name+" promise expired"})},b)}var g=this,k,l,m,q=new a.log.r("SSManager"),u=new Hb,
p=v.ht,w=v.ft,t,C,A,B,F,K,O,I,y,U={};n(g,{Md:function(){q.trace("initiaing");A=Yf("keymessage");B=Yf("server_response");F=Yf("keyadded");K=Yf("complete");k=Mh;b&&v.jl&&("playready"==ga()&&(b=P("*")),new hi(a,b,g),p=v.mt);t=f(A,p);K.Xd.then(q.info.bind(q,"complete"));O=ia();u.A(Mi)},addEventListener:u.addListener,removeEventListener:u.removeListener,Xe:function(){return k>=Mh&&k<Nh},Gl:function(){return A.Xd},Pq:c,ki:function(a){I=ia();U.ss_km=I-O;if(c()){k=tj;l=a.Db;m=a.sc;var b={},d,f;"widevine"==
m?(d="widevinecef",f=P(a.Db)):"fps"==m?(d="fps",f=P(a.Db)):"playready"==m&&(d="playreadynative",f=a.Db);b[d+"securestop"]=f;A.resolve({c:!0,data:b});pb(t);t=h}},oi:function(){return B.Xd},li:function(a){y=ia();U.ss_sr=y-I;var b="",c=B;if(k===tj){if(a.c)if("widevine"==m)try{b=pa(a.Bc.securestopack.widevinecefsecureack),c.resolve({c:!0,sd:Bc(b),Db:l}),k=Dg}catch(g){d({ErrorCode:R.Pi,ErrorDetails:L(g)})}else if("fps"==m)c.resolve({c:!0,sd:jd("acknowledged")}),k=Dg;else{if("playready"==m)try{b=pa(a.Bc.securestopack.playreadysecureack),
c.resolve({c:!0,sd:Bc(b),Db:l})}catch(h){b="";try{b=P(Od(a.Bc,"nccp","playdata"))}catch(n){}d({ErrorCode:R.Pi,ErrorDetails:L(h),Response:b})}}else b=a.g&&0<=[N.Qi,N.$f].indexOf(a.g)?R.Bn:R.ln,d({ErrorCode:b,ErrorDetails:a.D||"",ErrorNccpCode:a.Bd||"",ErrorSubCode:a.g||""});k==Dg&&(C=f(F,w))}},pA:function(){return F.Xd},Oq:function(){return k===Dg},Dl:function(a){U.ss_ka=ia()-y;k=Nh;var b={success:!0};Z(a)&&(b.attempts=a);n(b,U);K.resolve(b);pb(C);C=h},ge:function(){return K.Xd},terminate:d})}function Yf(a){var b=
{},c=new Xd(function(a,c){b.resolve=a;b.reject=c});b.name=a;b.Xd=c;return b}function hi(a,b,c){function d(){try{if("fps"===y)O=new Mc(I),A.webkitSetMediaKeys(O),gb(a,function(a){a.c?(D=a.we,f()):(G.error("fps certificate failed"),p(R.tn,h,a))});else if("playready"===y){O=new Mc(I);var b=t(P("*"));U=O.createSession("video/mp4",new bb,b);w(U,"addEventListener")}else G.error("Unsupported drm type ",y),p(R.nn)}catch(c){G.error("Exception on webkitSetMediaKeys",c),p(R.wn,c)}}function f(){J++;try{U=O.createSession("keyrelease",
D),w(U,"addEventListener")}catch(a){G.error("create session error",a),p(R.mn,a)}}function g(a){var b=a.message;"fps"==ga()?Qj(b,K).then(function(a){a?k(b):(l(jd("acknowledged")),N=!0,M=$a(function(){p(R.vn)},v.kt))}).catch(function(a){G.error("exception on matching persisted keysessionId",a);p(R.yn,a)}):"playready"==ga()&&(a=Qe(b,"PlayReadyKeyMessage","Challenge"),(!a||4>a.length||a.length%4)&&G.error("SecureStop challenge is invalid: "+P(b)),c.ki({c:!0,Db:a,sc:ga(),Ye:K}),c.oi().then(function(a){a.c&&
l(a.sd)}))}function k(a){c.ki({c:!0,Db:a,sc:ga(),Ye:K});c.oi().then(function(a){a.c&&l(a.sd)});N=!1}function l(a){try{U&&U.update(a)}catch(b){G.error("Exception calling keySession.update ",b),p(R.xn,b)}}function m(){N?(N=!1,pb(M),w(U,"removeEventListener"),U.close(),J<la?f():p(R.rn)):(c.Dl(J),U.close())}function q(a){var b=dd(a,cd);G.error("Received event: keyerror",b.cf);var d;a:{try{var f=a.target.error,g=f.code,k=f.systemCode;if("fps"==ga()){if(2==g&&"560820082"==k){d=!0;break a}}else if("playready"==
ga()&&1==g&&-2147024637==k){d=!0;break a}}catch(l){}d=void 0}d?p(R.un):c.Xe()&&p(R.pn,h,fb(b.uc))}function u(a){a=dd(a,bd);G.error("Video element event: error",a.cf);c.Xe()&&p(R.zn,h,fb(a.uc))}function p(a,b,d){a={ErrorCode:a};b&&(a.ErrorDetails=L(b));d&&n(a,d);a.attempts=J;c.terminate(a)}function w(a,b){a[b](C+"keyerror",q);a[b](C+"keymessage",g);a[b](C+"keyadded",m)}function t(a){return new bb(rc('<PlayReadyCDMData type="SecureStop"><SecureStop version="1.0" ><SessionID encoding="base64encoded">'+
a+'</SessionID><ServerCert encoding="base64encoded">Q0hBSQAAAAEAAAUMAAAAAAAAAAJDRVJUAAAAAQAAAfwAAAFsAAEAAQAAAFhr+y4Ydms5rTmj6bCCteW2AAAAAAAAAAAAAAAJzZtwNxHterM9CAoJYOM3CF9Tj0d9KND413a+UtNzRTb/////AAAAAAAAAAAAAAAAAAAAAAABAAoAAABU8vU0ozkqocBJMVIX2K4dugAAADZodHRwOi8vbnJkcC5uY2NwLm5ldGZsaXguY29tL3Jtc2RrL3JpZ2h0c21hbmFnZXIuYXNteAAAAAABAAUAAAAMAAAAAAABAAYAAABcAAAAAQABAgAAAAAAglDQ2GehCoNSsOaaB8zstNK0cCnf1+9gX8wM+2xwLlqJ1kyokCjt3F8P2NqXHM4mEU/G1T0HBBSI3j6XpKqzgAAAAAEAAAACAAAABwAAAEgAAAAAAAAACE5ldGZsaXgAAAAAH1BsYXlSZWFkeSBNZXRlcmluZyBDZXJ0aWZpY2F0ZQAAAAAABjIwMjQ4AAAAAAEACAAAAJAAAQBAU73up7T8eJYVK4UHuKYgMQIRbo0yf27Y5EPZRPmzkx1ZDMor7Prs77CAOU9S9k0RxpxPnqUwAKRPIVCe0aX2+AAAAgBb65FSx1oKG2r8AxQjio+UrYGLhvA7KMlxJBbPXosAV/CJufnIdUMSA0DhxD2W3eRLh2vHukIL4VH9guUcEBXsQ0VSVAAAAAEAAAL8AAACbAABAAEAAABYyTlnSi+jZfRvYL0rk9sVfwAAAAAAAAAAAAAABFNh3USSkWi88BlSM6PZ2gMuceJFJ9hzz0WzuCiwF9qv/////wAAAAAAAAAAAAAAAAAAAAAAAQAFAAAADAAAAAAAAQAGAAAAYAAAAAEAAQIAAAAAAFvrkVLHWgobavwDFCOKj5StgYuG8DsoyXEkFs9eiwBX8Im5+ch1QxIDQOHEPZbd5EuHa8e6QgvhUf2C5RwQFewAAAACAAAAAQAAAAwAAAAHAAABmAAAAAAAAACATWljcm9zb2Z0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAUGxheVJlYWR5IFNMMCBNZXRlcmluZyBSb290IENBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAMS4wLjAuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAIAAAAkAABAECsAomwQgNY0bm6U6Au9JRvwjbNnRzmVkZi+kg7npnRQ2T+4LgyrePBdBRQ3qb/jxXkn++4sOFa7vjRpFBzV0MMAAACAIZNYc/yJW5CLFaLPCgAHPs+FSdlhYS6BSG3mxgo2TbeHYJqj8Pm5/p6kNXKKUbx9kou+59dz/5+Q060QpP6xas=</ServerCert></SecureStop></PlayReadyCDMData>'))}
var C=Sa(),A=Fa("VIDEO"),B,F,K=b,O,I=v.Ze[0],y=ga(),U,G=new a.log.r("SSManagerPersisted"),D,J=0,N,M,la=v.nt;(function(){var b=a.Za,c=b.lastChild;c?b.insertBefore(A,c):b.appendChild(A)})();try{F=new Ed,F.addEventListener("sourceopen",d),A.addEventListener("error",u),B=uf.createObjectURL(F),A.src=B}catch(ca){G.error("Exception creating MediaSource",ca),p(R.sn,ca)}c.ge().then(function(){try{A.removeAttribute("src"),A.load&&A.load()}catch(b){G.error("Exception clearing element context",b)}Z(B)&&uf.revokeObjectURL(B);
U&&U.close();try{a.Za.removeChild(A)}catch(c){G.error("Exception removing temporary video element from Dom",c)}A=F=null;B=""})}function Qj(a,b){return new Xd(function(c){var d=Eg(a),f;Gd(d,function(a){f=a.object.dict.string[zb];c(f==b)})})}function Rj(a){if(!a)throw new Wa("invalid array buffer");var b=new bb(a);a=new Vc(b);var c=function(a){if(a.Ka()<uj.length+4+4+4+vj)throw new Wa("array buffer too short");uj.forEach(function(b){if(b!=a.ba())throw new Wa("BIF has invalid magic.");});var b=a.Zd();
if(b>rl)throw new Wa("BIF version in unsupported");var c=a.Zd();if(0==c)throw new Wa("BIF has no frames.");var d=a.Zd(),f=a.na(vj);return{version:b,Pr:c,Bl:d,yz:f}}(a);a=function(a){for(var d=[],f=0;f<=c.Pr;f++){var g,k={timestamp:a.Zd(),offset:a.Zd()};g!=h&&d.push(b.subarray(g.offset,k.offset));g=k}return d}(a);return{j:c,images:a}}function Sj(c,d,f,g,k){function l(){t.kc.addEventListener("showsubtitle",function(a){m(sl,a,!0)});t.kc.addEventListener("removesubtitle",function(a){m(tl,a,!0)})}function m(a,
b,c){b=b||{};b.target=w;A.A(a,b,!c)}function q(){q=p;t.load(function(a,b){try{m(ul,h,!0),b(ta)}catch(c){b({g:N.Ub,D:L(c)})}})}function u(){B.set(t.state.value==eb&&t.C.value==Kc)}function x(){if(t.state.value==eb){for(var a,b,c;b=U.shift();)a=t.kc.fg(b.url,b.name),b.qo&&(c=a);c&&t.T.set(c)}}var w=this,t=cf(c,d,f);c=t.Cg;var C=new t.log.r("VideoPlayer"),A=new Hb,B=new Xa(!1,function(){m(Oh)}),O,U=[];t.jd=g;t.ef=k;(function(){t.addEventListener(rf,function(){m(wj)});t.addEventListener(be,function(){m(xj)});
t.addEventListener(ae,function(){m(xj)});t.paused.addListener(function(){m(Ph)});t.muted.addListener(function(){m(vl)});t.volume.addListener(function(){m(wl)});t.C.addListener(u);t.state.addListener(u);t.ue.addListener(function(a){O||t.state.value!=eb||a.newValue||(O=!0,m(xl),Aa(C.debug.bind(C,"summary ",w.getSessionSummary())));m(yl)});t.Q.addListener(function(a){m(zl);a.oldValue&&a.oldValue.pa==a.newValue.pa||m(yj);Aa(function(){var a=t.Q.value.pa;0<=a.indexOf(t.T.value)||(C.info("Changing timed text track to match audio track"),
t.T.set(a[0]))})});t.T.addListener(function(){m(yj)});t.addEventListener(oj,function(){m(zj)});t.addEventListener(pj,function(){m(Al)});t.state.addListener(function(a){switch(a.newValue){case eb:m(Bl);m(Cl);m(Dl);m(zj);m(Aj);x();l();break;case vh:t.la&&m(El,t.la.ii());break;case ug:m(Fl),A.Oc()}})})();n(w,{addEventListener:A.addListener,removeEventListener:A.removeListener,getElement:function(){return t.Za},prepare:function(){},load:function(){q()},close:function(a){q=p;t.close(a)},play:function(){q();
t.paused.set(!1)},pause:function(){q();t.paused.set(!0)},getPaused:function(){return t.paused.value},getMuted:function(){return t.muted.value},setMuted:function(a){t.muted.set(!!a)},getVolume:function(){return t.volume.value},setVolume:function(a){t.volume.set(Ma(a,0,1))},getEnded:function(){return B.value},getBusy:function(){var a=t.ue.value;if(a)return{networkStalled:!!a.Bf,stalled:!!a.Bf,progress:a.jc,progressRollback:!!a.xs}},getError:function(){var a=t.la;return a&&a.ii()},getCurrentTime:function(){return t.q.value},
getBufferedTime:function(){var a=t.n;if(a)return a.Vp()},getDuration:function(){return t.duration},seek:function(a){t.ha?t.ha.seek(a):t.fb=a},getVideoSize:function(){return t.lc?{width:t.lc.width,height:t.lc.height}:null},getAudioTrackList:function(){for(var a=[],b=0;b<t.ya.length;b++)a.push(te(t.ya[b]));return a},getAudioTrack:function(){return te(t.Q.value)},setAudioTrack:function(a){for(var b,c=0;c<t.ya.length;c++)if(b=t.ya[c],te(b)==a){t.Q.set(b);return}C.error("Invalid setAudioTrack call")},
getTimedTextTrackList:function(){for(var a=t.Q.value.pa,b=[],c=0;c<a.length;c++)b.push(te(a[c]));return b},tryRecoverFromStall:function(){t.fe()},getTimedTextTrack:function(){return te(t.T.value)},setTimedTextTrack:function(a){for(var b=t.Q.value.pa,c,d=0;d<b.length;d++){c=b[d];if(!a&&null==c){t.T.set(null);return}if(te(c)==a){C.info("Setting Timed Text, profile:"+c.Nk);t.T.set(c);return}}C.error("Invalid setTimedTextTrack call")},setTimedTextBounds:function(a){t.hi&&t.hi.Yh(a)},getTrickPlayFrame:function(a){if(t.zb)return t.zb.bq(a)},
getXid:function(){return t.qa},getAdditionalLogInfo:function(){return n({playerver:"2.0000.453.011",jssid:Be,groupName:v.Qe,xid:t.qa,pbi:t.index},Uc,{prefix:"pi_"})},induceError:function(a){t.Ta(new Ib(R.Sl,N.mc,a))},loadCustomTimedTextTrack:function(b,c,d){if(!a(b))throw new Wa("invalid url");U.push({url:b,name:c,qo:d});x()},diagnostics:{addEventListener:c.addEventListener,removeEventListener:c.removeEventListener,getModel:c.kq,getTime:ia,getGroups:function(){return t.nf.cq()}},getSessionSummary:function(){var a=
{},c=t.Vk;try{if(t.la&&(a.errorCode=t.la.Nc,a.errorType=c?"endplay":"startplay"),a.playdelay=t.Vk,a.xid=t.qa,a.auth=t.Pp(),a.hdr=t.gq(),c){a.totaltime=Qa(t.Nb.ah());a.abrdel=t.Nb.Vj();var d=t.ha,f;f=d.xc();b(f)&&(a.totdfr=f);f=d.Cd();b(f)&&(a.totcfr=f);var g=d.hq();a.rbfrs_decoder=g.dp;a.rbfrs_network=g.Er;a.rbfrs_delay=t.Nb.iq();a.init_vbr=t.Dq;var h=Ea();Z(h)&&(a.pdltime=Ea());var k=t.Ya.value,l=k&&k.stream;l&&(a.vbr=l.f);a.bufferedTime=t.Tp()}}catch(m){C.error("error capturing session summary",
m)}return a}})}function te(a){return a?(a.Kh=a.Kh||{trackId:a.U,bcp47:a.Ra,displayName:a.displayName,trackType:a.Hf,channels:a.qg},a.Ak&&(a.Kh.isImageBased=!0),a.Kh):null}function Tj(a,b,c){function d(){v.set(!1);h()<c-1&&a.play()}function f(){v.set(!0);a.pause()}function g(){var b=h()>=c||a.getEnded();b&&a.pause();v.value?f():d();t.set(b)}function h(){return Ma(a.getCurrentTime()-b,0,c)}function k(d){a.seek(Ma(b+d,b,b+c-2E3));g()}var l=Kb.create(a),m=new Hb,q=Fb([Ph,Oh]),v=new Xa(!1,function(){m.A(Ph)}),
t=new Xa(!1,function(){m.A(Oh)});k(b||0);a.addEventListener(Aj,function(){var d=a.getDuration();b=va(d-2E3,b||0);c=va(d-b,c||d);k(0)});a.addEventListener(wj,g);n(l,{addEventListener:function(b){(q[b]?m.addListener:a.addEventListener).apply(null,arguments)},removeEventListener:function(b){(q[b]?m.removeListener:a.removeEventListener).apply(null,arguments)},play:d,pause:f,getPaused:function(){return v.value},getEnded:function(){return t.value},getCurrentTime:h,getDuration:function(){return c},seek:k});
return l}var ta={c:!0},jh=["en-US"],Pk="hevc-dv-main10-L30-dash-cenc hevc-dv-main10-L31-dash-cenc hevc-dv-main10-L40-dash-cenc hevc-dv-main10-L50-dash-cenc hevc-dv-main10-L31-dash-cenc hevc-dv-main10-L41-dash-cenc".split(" "),Ok=["4E657466-6C69-7850-6966-665374726D21","4E657466-6C69-7848-6165-6465722E7632"],Zb=D.navigator,lc=Zb.userAgent,ff=D.location,Ae=D.screen,Yd=D.performance,vb=D.document,kd=D.Array,Fg=kd.prototype,Uj=Fg.sort,$g=Fg.slice,kf=Fg.filter,kk=Fg.forEach,Kb=D.Object,Gg=Kb.create,Fk=
Kb.keys,Qh=D.Date,gf=Qh.now,hl=D.String.fromCharCode,Jc=D.parseInt,wc=D.parseFloat,Oa=D.Math,ua=Oa.floor,pd=Oa.ceil,lb=Oa.round,Ba=Oa.max,va=Oa.min,ef=Oa.random,yc=Oa.abs,ih=Oa.pow,Gk=Oa.sqrt,Wa=D.Error,mb=D.JSON,Hg=D.escape,ah=D.unescape,Wd=D.encodeURIComponent,ki=D.decodeURIComponent,Di=D.XMLHttpRequest,bb=D.Uint8Array,Xd=D.Promise,uf=D.URL||D.webkitURL,vf=D.HTMLVideoElement,Ed=D.MediaSource||D.WebKitMediaSource,Mc=D.WebKitMediaKeys||D.MSMediaKeys||D.MediaKeys,vk=D.XMLSerializer,uk=D.DOMParser,
wf=D.nfCrypto||D.webkitCrypto||D.msCrypto||D.crypto,Dc=wf&&(wf.webkitSubtle||wf.subtle),Gl=D.nfCryptokeys||D.webkitCryptokeys||D.msCryptokeys||D.cryptokeys,eh,fh,Ec,Rh,Bj=D.PERSISTENT,Hl=D.requestFileSystem||D.webkitRequestFileSystem,ik=D.Blob,ri=D.FileReader,Sh=Zb.persistentStorage||Zb.webkitPersistentStorage,Il=Sh?h:D.storageInfo||D.webkitStorageInfo;try{eh=D.indexedDB}catch(Jl){fh=Jl||"noex"}try{Ec=D.localStorage}catch(Kl){Rh=Kl||"noex"}var Zg=/^\S+$/,mi=function(){function a(c){return b[c]}var b=
{"&":"&amp;","'":"&#39;",'"':"&quot;","<":"&lt;",">":"&gt;"},c=/[&'"<>]/g;return function(b){return b.replace(c,a)}}(),ji=function(){var a=/^\s+|\s+$/gm;return function(b){return b.replace(a,"")}}(),lk,kg,Th,nh,tk,Bk,gl,fl,Ii,Cj,Uc,si,rk,sk,ti,hh,wi,xi,nk,pk,zi,Ai,qk,yi,ok,vi,Uh=/CrOS/.test(lc),Dj=/OPR/.test(lc);kg=Uh?"C":Dj?"O":"M";Th=/OPR/.test(lc)?"NFCDOP-01-":/Windows NT/.test(lc)?"NFCDCH-02-":/Intel Mac OS X/.test(lc)?"NFCDCH-MC-":/CrOS/.test(lc)?"NFCDCH-01-":"NFCDCH-LX-";nh=Uh?"chromeos-cadmium":
Dj?"opera-cadmium":"chrome-cadmium";Cj=/CrOS/.test(lc);ti=["heaac-2-dash"];hh=["playready-h264mpl30-dash","playready-h264mpl31-dash"];Uh&&hh.push("playready-h264mpl40-dash");wi=["dfxp-ls-sdh","simplesdh","nflx-cmisc"];xi=["com.widevine.alpha"];zi=!!D.MediaSource;Ai=!D.MediaSource;vi=function(a){return a};yi={MONOSPACED_SERIF:"font-family:Courier New,Arial,Helvetica;font-weight:bolder",MONOSPACED_SANS_SERIF:"font-family:Consolas,Lucida Console,Menlo,Monaco,Arial,Helvetica;font-weight:bolder",PROPORTIONAL_SERIF:"font-family:Georgia,Times New Roman,Arial,Helvetica;font-weight:bolder",
PROPORTIONAL_SANS_SERIF:"font-family:Arial,Helvetica;font-weight:bolder",CASUAL:"font-family:Gabriola,Segoe Print,Comic Sans MS,Chalkboard,Arial,Helvetica;font-weight:bolder",CURSIVE:"font-family:Lucida Handwriting,Brush Script MT,Segoe Script,Arial,Helvetica;font-weight:bolder",SMALL_CAPITALS:"font-family:Copperplate Gothic,Copperplate Gothic Bold,Copperplate,Arial,Helvetica;font-variant:small-caps;font-weight:bolder"};si={droppedFrameRateFilterEnabled:!0,promiseBasedEme:!0};var Ej=sa(),Ig;if(!(Ig=
Ej))a:{try{Zb.plugins.refresh();Ig=sa();break a}catch(Yl){}Ig=void 0}var Ll=Ig,Ml=!!fe("name",/Chrome Remote Desktop Viewer/i),Nl=!!fe("name",/Chromoting Viewer/i),Vh;a:{try{Vh=Ed.isTypeSupported('video/mp4; codecs="avc1.640028"');break a}catch(Zl){}Vh=void 0}var Ol=Vh,Wh;a:{try{Wh=Fa("VIDEO").canPlayType('video/mp4; codecs="avc1.640028"');break a}catch($l){}Wh=void 0}var Pl=Wh,Xh;a:{try{if(f(Zb.requestMediaKeySystemAccess))Ia();else{Xh=Fa("VIDEO").canPlayType('video/mp4; codecs="avc1.640028"',"com.widevine.alpha");
break a}}catch(am){}Xh=void 0}Uc={wvp:Ej,wvp2:Ll,crdvp:Ml,cvp:Nl,itsh264:Ol,cpth264:Pl,cpth264wv:Xh};var Fj=y(11),Eg=Fj.yg,jd=Fj.Ig,ii=y(3),Bc=ii.yg,Vc=y(4),yh=y(5).Ds,ll=y(6);f(ArrayBuffer.prototype.slice)||(ArrayBuffer.prototype.slice=function(a,b){void 0===a&&(a=0);void 0===b&&(b=this.byteLength);a=Oa.floor(a);b=Oa.floor(b);0>a&&(a+=this.byteLength);0>b&&(b+=this.byteLength);a=Oa.min(Oa.max(0,a),this.byteLength);b=Oa.min(Oa.max(0,b),this.byteLength);if(0>=b-a)return new ArrayBuffer(0);var c=new ArrayBuffer(b-
a),d=new bb(c),f=new bb(this,a,b-a);d.set(f);return c});var ld=gf()-1,bh=0,Be=""+(1E4*Nb()+ua(1E4*ef())),ra={addSink:function(a){Ee.push(a)},removeSink:function(a){Ee.splice(Ee.indexOf(a),1)},write:function(a,b,c){a={Ma:this.Ma,level:a,message:b,fields:c||{},time:ia(),index:Ql++,category:this.oj||"General"};this.Dg&&(a.Dg=!0);for(b=0;b<Ee.length;b++)Ee[b](a)},Ip:function(a,b){this.write(wb.FATAL,a,Gc(arguments))},error:function(a,b){this.write(wb.ERROR,a,Gc(arguments))},warn:function(a,b){this.write(wb.WARN,
a,Gc(arguments))},info:function(a,b){this.write(wb.INFO,a,Gc(arguments))},trace:function(a,b){this.write(wb.TRACE,a,Gc(arguments))},debug:function(a,b){this.write(wb.DEBUG,a,Gc(arguments))},log:function(a,b){this.write(wb.DEBUG,a,Gc(arguments))}};ra.fatal=ra.Ip;ra.error=ra.error;ra.warn=ra.warn;ra.info=ra.info;ra.trace=ra.trace;ra.debug=ra.debug;ra.log=ra.log;(ra.r=function(a){this.oj=a}).prototype=ra;Pc.prototype=ra;var wb={MIN:0,FATAL:0,ERROR:1,WARN:2,INFO:3,TRACE:4,DEBUG:5,MAX:5},Ee=[],Ql=0,Vj=
/^\w*Error$/,Xj=/[\r\n]+ */g,Wj=Fb(["Details","Exception","StackTrace"]),Yj={0:"F",1:"E",2:"W",3:"I",4:"T",5:"D"},Zj=0,jb=new Hb,Lc=1,Dd=2,Jh=3,Eh=4;Aa(function(){function a(b,d){if(c)c.on(b,d);else D.addEventListener(b,d)}var b=D.jQuery,c=b&&b(D),b=(b=D.netflix)&&b.cadmium&&b.cadmium.addBeforeUnloadHandler,d=vb.hidden;b?b(function(a){jb.A(Lc,a)}):a("beforeunload",function(a){jb.A(Lc,a)});a("keydown",function(a){jb.A(Dd,a)});a("resize",function(){jb.A(Jh)});vb.addEventListener("visibilitychange",
function(){d!==vb.hidden&&(d=vb.hidden,jb.A(Eh))})});var sj=function(){function a(){vb.body&&!c()&&(vb.body.appendChild(k),f(!0))}function b(){c()&&vb.body.removeChild(k)}function c(){return k.parentNode==vb.body}function d(){g.pb(f)}function f(a){var b=C(u.value),c=w.value?new RegExp(w.value):null,d=p.checked,g="",h,m,r=n.length;for(m=0;m<r;m++)if(h=n[m],h.level<=b&&(h=Yc(h,d,d),!c||c.test(h)))g+=h+"\n";l.value="Version: 2.0000.453.011\n"+(ac?"Esn: "+ac.vc+"\n":"")+"JsSid: "+Be+", Epoch: "+Nb()+
", Start: "+ua(ld/1E3)+", TimeZone: "+(new Qh).getTimezoneOffset()+"\nHref: "+ff.href+"\nUserAgent: "+Zb.userAgent+"\n--------------------------------------------------------------------------------\n"+g;k.style.cssText=q?"position:fixed;left:10px;top:10px;right:10px;z-index:10000;color:#000;;height:30%":"position:fixed;left:10px;top:10px;right:10px;z-index:10000;color:#000;;bottom:10px";a&&Aa(function(){l.scrollTop=l.scrollHeight})}var g=new Eb(1E3),k=Fa("DIV","position:fixed;left:10px;top:10px;right:10px;z-index:10000;color:#000;;bottom:10px",
h,{"class":"player-log"}),l=Fa("TEXTAREA","position:absolute;resize:none;box-sizing:border-box;width:100%;height:100%;margin:0;color:#040;font-size:11px;font-family:monospace;overflow:scroll;background-color:rgba(255,255,255,0.6)"),m=Fa("DIV","position:absolute;top:2px;right:2px;opacity:0.8;background-color:white"),n=[],q=!0,t;l.setAttribute("wrap","off");l.setAttribute("readonly","readonly");l.addEventListener("focus",function(){t=!0;f(!1);l.style.cssText="position:absolute;resize:none;box-sizing:border-box;width:100%;height:100%;margin:0;color:#040;font-size:11px;font-family:monospace;overflow:scroll;background-color:rgba(255,255,255,0.86)"});
l.addEventListener("blur",function(){t=!1;f(!1);l.style.cssText="position:absolute;resize:none;box-sizing:border-box;width:100%;height:100%;margin:0;color:#040;font-size:11px;font-family:monospace;overflow:scroll;background-color:rgba(255,255,255,0.6)"});k.appendChild(l);k.appendChild(m);var u=Fa("SELECT",null,'<option value="1">Error</option><option value="2">Warn</option><option value="3" selected>Info</option><option value="4">Trace</option><option value="5">Debug</option>');u.addEventListener("change",
f,!1);m.appendChild(u);var p=Fa("INPUT","display:inline-block;border:1px solid black;padding:3px;");p.setAttribute("type","checkbox");p.setAttribute("checked","true");p.setAttribute("title","Details");p.addEventListener("change",f,!1);m.appendChild(p);var w=Fa("INPUT","display:inline-block;border:1px solid black;padding:3px;;width:150px");w.addEventListener("keydown",d,!1);w.addEventListener("change",d,!1);w.setAttribute("title","Filter (RegEx)");m.appendChild(w);var A=Fa("BUTTON","display:inline-block;border:1px solid black;padding:3px;",
"Update");A.addEventListener("click",f,!1);m.appendChild(A);A=Fa("BUTTON","display:inline-block;border:1px solid black;padding:3px;","Clear");A.addEventListener("click",function(){n=[];f()},!1);m.appendChild(A);A=Fa("BUTTON","display:inline-block;border:1px solid black;padding:3px;","M");A.addEventListener("click",function(){q=!q;f()},!1);m.appendChild(A);A=Fa("BUTTON","display:inline-block;border:1px solid black;padding:3px;","X");A.addEventListener("click",b,!1);m.appendChild(A);jb.addListener(Dd,
function(d){d.ctrlKey&&d.altKey&&d.shiftKey&&76==d.keyCode&&(q=!1,c()?b():a())});ra.addSink(function(a){n.push(a);v&&(a=v.Zq,0<=a&&n.length>a&&n.shift());c()&&!t?d():g.pb()});return{show:function(){q=!1;a()},hh:b,toggle:function(){q=!1;c()?b():a()}}}();ra.addSink(function(a){var b=a.level;if(!v||b<=v.br){a=Yc(a,!0,!0);var c=D.console;1>=b?c.error(a):2>=b?c.warn(a):c.log(a)}});var ak=0;n(ie.prototype,{Se:!1,gd:0,de:0,Ve:0,Ld:!1,We:0,bo:function(a){b(a)&&(a<this.gd&&(this.de+=this.gd),this.gd=a,this.Se=
!0)},Xp:function(){if(this.Se)return this.Ld?this.We-this.Ve:this.de+this.gd-this.Ve},Ft:function(){this.Ld||(this.Se&&(this.We=this.de+this.gd),this.Ld=!0)},Nt:function(){this.Ld&&(this.Se&&(this.Ve+=this.de+this.gd-this.We),this.We=0,this.Ld=!1)}});Vc.prototype.Kl=function(a){a=new Vc(a);for(var b,c;;)if(b=a.Ka(),c=b>>>14)c=va(4,c),this.pi(192|c),this.he(a,16384*c);else{128>b?this.pi(b):this.Ll(b|32768,2);this.he(a,b);break}};Vc.prototype.bl=function(){for(var a=[],b=new Vc(a),c;;){c=this.ba();
if(c&128)if(128==(c&192))c&=63,c=(c<<8)+this.ba(),b.he(this,c);else if(c&=63,0<c&&4>=c){b.he(this,16384*c);continue}else throw new Wa("bad asn1");else b.he(this,c);break}return new bb(a)};var bk="0123456789ABCDEF",Ag,Gj;(function(){function a(b){return d[b]}var d={'"':'""',"\r":"","\n":" "},f=/["\r\n]/g,g=/[", ]/;Gj=function(c){return b(c)?c:U(c)?c.replace(f,a):!0===c||!1===c?c:""};Ag=function(a){var b=Gj,d="";c(a,function(a,c){var f=b(a)+"="+b(c);g.test(f)&&(f='"'+f+'"');d=d?d+(","+f):f});return d}})();
Ib.prototype.toString=function(){var a="[PlayerError #"+this.Nc+"]";this.D&&(a+=" "+this.D);this.Ae&&(a+=" (CustomMessage: "+this.Ae+")");return a};Ib.prototype.ii=function(){var a;this.Ae&&(a=["streaming_error"]);a||"80080017"==this.V&&(a=["admin_mode_not_supported","platform_error"]);if(!a)switch(this.errorCode){case R.me:case R.ie:case R.Of:case R.Ki:a=["pause_timeout"];break;case R.Ai:case R.Ci:a=this.g?["platform_error"]:["multiple_tabs"];break;case R.zi:case R.yi:case R.Bi:a=["should_signout_and_signin"];
break;case R.xi:case R.Ni:case R.Mi:case R.Zf:case R.Ji:a=["platform_error","plugin_error"];break;case R.Yf:a=["no_cdm","platform_error","plugin_error"];break;case R.Wf:a=this.g?["platform_error","plugin_error"]:["no_cdm","platform_error","plugin_error"];break;case R.Xf:switch(this.V){case "FFFFD000":a=["device_needs_service","platform_error"];break;case "48444350":a=["unsupported_output","platform_error"];break;case "00000024":a=["private_mode"]}break;case R.Li:a=["unsupported_output"]}!a&&ke(this.g)&&
(a=["internet_connection_problem"]);if(!a)switch(this.g){case N.ag:a=["should_upgrade"];break;case N.Hi:case N.Tf:a=["should_signout_and_signin"];break;case N.Ii:a=["internet_connection_problem"];break;case N.Ui:case N.Vi:case N.Ri:a=["storage_quota"];break;case N.hn:case N.fn:case N.jn:case N.gn:case N.qi:a=["platform_error","plugin_error"];break;case N.Pl:case N.ui:case N.vi:a=["private_mode"]}switch(this.g){case N.wi:case N.Ti:case N.Wi:case N.$f:v.io&&(a=["please_call"])}a=a||[];a.push(kg+this.errorCode);
this.g&&a.push(""+this.g);a={display:{code:this.Nc,text:this.Ae},messageIdList:a};this.Sc&&(a.nccpActionId=this.Sc);this.Tc&&(a.mslErrorCode=this.Tc);return a};var R={mc:7001,je:7010,Yl:7014,zi:7016,yi:7017,Bi:7018,Ai:7020,Ci:7022,pm:7029,om:7031,km:7041,lm:7042,mm:7043,gm:7051,$l:7052,hm:7053,im:7054,Hu:7055,Ku:7056,Ou:7057,am:7058,xi:7059,Ju:7060,Iu:7061,Nu:7062,bm:7063,dm:7064,cm:7065,em:7066,fm:7067,Pu:7068,Zl:7069,Lu:7081,Mu:7082,jm:7083,ym:7111,Am:7113,zm:7115,Bm:7117,Im:7121,Em:7123,Fm:7125,
Xu:7130,dv:7131,bv:7133,Mm:7202,Sm:7330,nv:7331,Ki:7332,Tm:7333,Li:7334,Ni:7351,Mi:7352,Rm:7353,Wf:7354,Zf:7355,Ji:7356,Yf:7357,Xm:7358,Nm:7359,pv:7360,Um:7361,Xf:7363,Vf:7364,Vm:7365,Ym:7367,Zm:7371,$m:7373,en:7375,dn:7376,cn:7377,ov:7379,bn:7381,Wm:7385,Om:7391,Pm:7392,Qm:7393,Sl:7400,me:7500,ie:7502,Of:7510,An:7600,kn:7601,Cn:7602,ln:7603,Pi:7604,Bn:7605,qn:7620,un:7621,rn:7622,sn:7623,wn:7624,mn:7625,tn:7626,yn:7627,vn:7628,pn:7631,zn:7632,xn:7633,nn:7634},N={mc:1001,Ub:1003,Nl:1011,Ol:1013,Ml:1015,
si:1101,ti:1102,kd:1103,ri:1104,Rf:1105,ld:1106,cb:1107,Qf:1108,Ul:1110,ke:1203,le:1204,vm:1250,Qu:1251,Tu:1252,Ru:1253,Uu:1254,Su:1255,Ql:1260,Du:1261,yu:1262,Cu:1263,Bu:1264,Au:1265,zu:1266,Rl:1269,av:1303,Jm:1305,Uf:1309,cv:1311,ev:1312,$u:1313,Zu:1315,Yu:1317,Dm:1321,Cm:1323,Km:1331,Hi:1333,Ii:1337,fv:1341,Gm:1343,Hm:1344,Fc:1402,tv:1403,Ui:1405,Vi:1407,Si:1411,Ti:1412,Nn:1414,Wi:1415,Qi:1417,$f:1418,Ri:1421,Jn:1423,uv:1425,Gn:1427,In:1429,Hn:1431,Kn:1432,Mn:1451,Ln:1453,mv:1501,lv:1502,gv:1504,
jv:1506,hv:1508,kv:1515,qi:1553,Pl:1555,hn:1603,fn:1605,jn:1607,gn:1609,sv:1625,qv:1627,rv:1629,Fu:1701,Tl:1713,Gu:1715,Eu:1721,Pf:1723,ui:1802,Xl:1803,vi:1804,Wl:1805,wi:1807,Vl:1809,Vu:1901,wm:1911,Fi:1913,xm:1915,Di:1931,Gi:1933,Ei:1935,Tf:1957,ag:2103,On:2105,Pn:2107},yg,Wb,Jg,Yh,li={};(function(){var a=new ra.r("loadAsync"),b=[];Wb=function(a,c){b.push({Wq:c,So:a})};yg=Mb(function(c){function d(){var c,k,l;if(c=b.shift())try{k=c.Wq,g=l=c.So,h.yb(),h.tc(),k(function(a){a.c?d():(a.errorCode=a.errorCode||
l,f(a))})}catch(m){a.error("Exception while loading component",m),f({errorCode:l,g:N.Nl,D:""+m})}else f(ta)}function f(a){Yh=ia();f=p;h.yb();c(a)}Jg=ia();var g=0,h=new Ob(v.lo,function(){a.error("Load timed out");f({errorCode:g,g:N.Ol})});d()})})();var ck=/^[0-9.]*$/,dk=/^([a-fA-F0-9]*:){2}[a-fA-F0-9:.]*$/,wa={};(function(){wa.gw=function(a,b){return a<b?-1:a===b?0:1};wa.Ag=function(a,b){return a===b};wa.lw=function(a){return null===a?"BUCKETS_NULL":wa.Od(a)?"BUCKETS_UNDEFINED":wa.Kq(a)?a:a.toString()};
wa.Hq=function(a){return"function"===typeof a};wa.Od=function(a){return a===h};wa.Kq=function(a){return"[object String]"===Kb.prototype.toString.call(a)};wa.zz=function(a){return wa.Hq(a)?function(b,c){return-1*a(b,c)}:function(a,b){return a<b?1:a===b?0:-1}};wa.Wv=function(a){return function(b,c){return 0===a(b,c)}};wa.ja=function(){this.ra=this.Z=null;this.Ca=0};wa.ja.prototype.add=function(a,b){wa.Od(b)&&(b=this.Ca);if(0>b||b>this.Ca||wa.Od(a))return!1;var c=this.createNode(a);if(0===this.Ca)this.ra=
this.Z=c;else if(b===this.Ca)this.ra=this.ra.next=c;else if(0===b)c.next=this.Z,this.Z=c;else{var d=this.Pk(b-1);c.next=d.next;d.next=c}this.Ca++;return!0};wa.ja.prototype.first=function(){return null!==this.Z?this.Z.element:h};wa.ja.prototype.W=function(){return null!==this.ra?this.ra.element:h};wa.ja.prototype.indexOf=function(a,b){var c=b||wa.Ag;if(wa.Od(a))return-1;for(var d=this.Z,f=0;null!==d;){if(c(d.element,a))return f;f++;d=d.next}return-1};wa.ja.prototype.contains=function(a,b){return 0<=
this.indexOf(a,b)};wa.ja.prototype.remove=function(a,b){var c=b||wa.Ag;if(1>this.Ca||wa.Od(a))return!1;for(var d=null,f=this.Z;null!==f;){if(c(f.element,a))return f===this.Z?(this.Z=this.Z.next,f===this.ra&&(this.ra=null)):(f===this.ra&&(this.ra=d),d.next=f.next,f.next=null),this.Ca--,!0;d=f;f=f.next}return!1};wa.ja.prototype.clear=function(){this.ra=this.Z=null;this.Ca=0};wa.ja.prototype.equals=function(a,b){var c=b||wa.Ag;return a instanceof wa.ja&&this.size()===a.size()?this.Fp(this.Z,a.Z,c):!1};
wa.ja.prototype.Fp=function(a,b,c){for(;null!==a;){if(!c(a.element,b.element))return!1;a=a.next;b=b.next}return!0};wa.ja.prototype.Ks=function(){if(!(0>=this.Ca)){if(1===this.Ca)this.ra=this.Z=null;else{var a=this.Pk(-1);null===a?this.Z=this.Z.next:a.next===this.ra&&(this.ra=a);null!==a&&(a.next=a.next.next)}this.Ca--}};wa.ja.prototype.forEach=function(a){for(var b=this.Z;null!==b&&!1!==a(b.element);)b=b.next};wa.ja.prototype.reverse=function(){for(var a=null,b=this.Z,c=null;null!==b;)c=b.next,b.next=
a,a=b,b=c;c=this.Z;this.Z=this.ra;this.ra=c};wa.ja.prototype.size=function(){return this.Ca};wa.ja.prototype.Pk=function(a){if(0>a||a>=this.Ca)return null;if(a===this.Ca-1)return this.ra;for(var b=this.Z,c=0;c<a;c++)b=b.next;return b};wa.ja.prototype.createNode=function(a){return{element:a,next:null}};wa.Bb=function(){this.list=new wa.ja};wa.Bb.prototype.Qc=function(a){return this.list.add(a)};wa.Bb.prototype.Mc=function(){if(0!==this.list.size()){var a=this.list.first();this.list.Ks();return a}return h};
wa.Bb.prototype.mf=function(){return 0!==this.list.size()?this.list.first():h};wa.Bb.prototype.size=function(){return this.list.size()};wa.Bb.prototype.contains=function(a,b){return this.list.contains(a,b)};wa.Bb.prototype.clear=function(){this.list.clear()};wa.Bb.prototype.forEach=function(a){this.list.forEach(a)}})();var ek=function(){function a(b){if(Ua(b)){b=b.toLowerCase();if("#"==b[0]){if(7==b.length)return b;if(4==b.length)return"#"+b[1]+b[1]+b[2]+b[2]+b[3]+b[3]}return Rl[b]}}function b(a,
c,d){c=c[a];0<=c||(c=wc(a));if(0<=c)return va(c,d)}function d(a,b){var c=a.length,f=a[c-1];if("t"===f)return wc(a)*b|0;if("s"===f)return"m"===a[c-2]?wc(a)|0:1E3*wc(a)|0;if((c=a.match(J))&&4<=c.length)return 1E3*(3600*Jc(c[1],10)+60*Jc(c[2],10)+wc(c[3]))|0;throw new Wa("dfxp-badtime");}function f(a,b,c,d,g){var k;if(a){var l=a.style;c=l?c[l]:h;d=(l=a.region)?d[l]:h;for(var m=l=g.length,n,r,q,x,t,m=0;m<l;m++)if(n=g[m],r=a[n],r===h&&c&&(r=c[n]),r===h&&d&&(r=d[n]),r!==h&&r!==b[n]){if(!k)for(k={},q=0;q<
l;q++)x=g[q],t=b[x],t!==h&&(k[x]=t);k[n]=r}}return k||b}function g(a,b,c,d,k,l,m,r,q){function x(a,g,p){var z=a[$b],w=z.style||g.style||"",C=z.region||g.region||"",A,E;w||C?(A=w+"/"+C,E=c[A]):E=b;if(!E){E=b;var B;B=oc(d);n(B,k[w]);E=t(E,B,m,r,q);c[w+"/"]=E;C&&(n(B,l[C]),n(B,k[w]),E=t(E,B,m,r,q),c[A]=E)}if(!p)a:{for(p=G.length;p--;)if(z[G[p]]!==h){p=!0;break a}p=void 0}p&&(z=f(z,g,k,l,P),E=t(E,z,m,r,q));g=(a=a[lh])&&a.length;for(w=0;w<g;w++)C=a[w],qa(C)?M.test(C[ng])?u++:x(C,z,p):(v.push({text:C,lineBreaks:u,
style:E}),u=0)}var v=[],u=0;x(a,d,!1);0<u&&v.push({text:"",lineBreaks:u,style:b});return v}function l(a,b,c,d,f,g,h,k){var m;c&&(c=F[c]||"top",a.verticalAlignment!==c&&(a.verticalAlignment=c));d&&(c=K[d]||"left",a.horizontalAlignment!==c&&(a.horizontalAlignment=c));var n;f?((n=k[f])?(d=n.marginLeft,c=n.marginTop):(m=f.split(" "),d=u(m[0],h.x)||0,c=u(m[1],h.y)||0,n={Va:0,marginLeft:d,marginTop:c,eo:d*b.eh+b.Hd,ho:c*b.mi+b.Lf},30>k.Va&&(k.Va++,k[f]=n)),a.marginLeft=n.eo,a.marginTop=n.ho):(c=d=0,(n=
k["default"])||(k["default"]=n={Va:0}));g&&(f=n[g],f||(m=g.split(" "),f={fo:(1-(d+(u(m[0],h.x)||0)))*b.eh+b.Hd,co:(1-(c+(u(m[1],h.y)||0)))*b.mi+b.Lf},30>n.Va&&(n.Va++,n[g]=f)),a.marginRight=f.fo,a.marginBottom=f.co)}function m(a,b,c,d,f){var g=a.displayAlign,h=a.textAlign,k=a.origin;a=a.extent;c=oc(c);l(c,b,g,h,k,a,d,f);c.id=U++;return c}function q(c,d,f,g){var h=b(f.characterSize||d.characterSize,Sl,2)||1,k;k=(k=c.fontSize)&&ca.test(k)?Ma(C(k),25,200):void 0;h*=k/100||1;k=c.textOutline;var l,m,n;
if(k&&"none"!=k){m=k.split(" ");var r;Q.test(m)?(r=0,n=c.color):(r=1,n=a(m[0]));l=v(m[r]);m=v(m[r+1])}return{characterStyle:f.characterStyle||Tl[c.fontFamily]||d.characterStyle,characterSize:h*g,characterColor:a(f.characterColor||c.color||d.characterColor),characterOpacity:b(kb(f.characterOpacity,c.opacity,d.characterOpacity),Zh,1),characterEdgeAttributes:f.characterEdgeAttributes||k&&("none"===k?Ul:m?ch:ni)||d.characterEdgeAttributes,characterEdgeColor:a(f.characterEdgeColor||n||d.characterEdgeColor),
characterEdgeWidth:l,characterEdgeBlur:m,characterItalic:"italic"===c.fontStyle,characterUnderline:"underline"===c.textDecoration,backgroundColor:a(f.backgroundColor||c.backgroundColor||d.backgroundColor),backgroundOpacity:b(kb(f.backgroundOpacity,c.opacity,d.backgroundOpacity),Zh,1)}}function t(a,b,d,f,g){b=q(b,d,f,g);var h;c(b,function(b,c){c!==a[b]&&(h||(h=Gg(a)),h[b]=c)});return h||a}function x(a,b,c,d,g,h,k,m){var n=a[$b];c=f(a[$b],b,c,g,D);b=c.region;a=n.displayAlign;c=c.textAlign;g=n.origin;
n=n.extent;b||a||c||g||n?((d=d[b])?d=Gg(d):a||g||n?(d=Gg(y),d.id=U++):d=Gg(I),l(d,h,a,c,g,n,k,m)):d=I;return d}function v(a){a=C(a);return k(a,0,100)?a:0}function u(a,b){var c=a[a.length-1];if("%"===c)return Ma(.01*wc(a),0,1);if("c"===c)return Ma(C(a)/b,0,1)}function w(a){for(var b=a.length,c=a[--b].endTime;b--;)c=va(a[b].endTime,c);return c}function A(b){c(b,function(c,d){0<=c.toLowerCase().indexOf("color")&&(b[c]=a(d))})}function B(a,b){var c=a.extent,d=a.pixelAspectRatio,f,g,h={Hd:0,eh:1,Lf:0,
mi:1};c&&(c=c.split(" "),2<=c.length&&(d=(d||"").split(" "),f=wc(c[0])*(wc(d[0])||1),g=wc(c[1])*(wc(d[1])||1)),f=0<f&&0<g?f/g:1280/720,d=b||1280/720,c=f/d,.01<yc(d-f)&&d>=f&&(h.Hd=(1-c)/2,h.eh=c));return h}function O(a,b){var c;if(c=a.cellResolution)if(c=c.split(" "),2<=c.length){var d=C(c[0]);c=C(c[1]);if(0<d&&0<c)return{x:d,y:c}}c=a.extent;var f,g;if(c&&(c=c.split(" "),2<=c.length)){var d=C(c[0]),h=C(c[1]);if(c=a.pixelAspectRatio)c=c.split(" "),f=C(c[0]),g=C(c[1]);if(d&&h)return 1.5<d*(f||1)/(h*
(g||1))?Hj:Ij}return 1.5<b?Hj:Ij}var U=1,F={before:"top",center:"center",after:"bottom"},K={left:"left",start:"left",center:"center",right:"right",end:"right"},I={id:U++,verticalAlignment:"bottom",horizontalAlignment:"center",marginTop:.1,marginLeft:.1,marginRight:.1,marginBottom:.1},y={id:U++,verticalAlignment:"top",horizontalAlignment:"left",marginTop:0,marginLeft:0,marginRight:0,marginBottom:0},G="fontFamily fontSize fontStyle textDecoration color opacity backgroundColor textOutline".split(" "),
P=G.concat(["style","region"]),D=["region","textAlign","displayAlign","extent","origin"],J=/^([0-9]+):([0-9]+):([0-9.]+)$/,M=/^br$/i,ca=/^[0-9]{1,3}%$/,Q=/^[0-9]/;return function(c,k,l,t,u){function v(){try{for(var a;Ua;)if(R=Ua[$b],ha.push({id:U++,startTime:d(R.begin,J),endTime:d(R.end,J),region:x(Ua,Bb,ca,hb,Q,M,Y,Ca),textNodes:g(Ua,Qa,qa,ia,ca,Q,Ha,ba,cb)}),Ua=Ua[Qb],a=gf(),100<a-ma){ma=Qh.now();na=$a(v,1);return}}catch(b){K({g:N.Pf,D:L(b)});return}na=$a(F,1)}function F(){try{var a=function(a,
d){for(var f,g=[],h={},k,l=c.length;l--;)f=c[l],k=f.region.id,h[k]||(h[k]=1,g.unshift(f));(f=b[b.length-1])&&f.endTime==a&&Id(f.blocks,g)?f.endTime=d:b.push({id:U++,startTime:a,endTime:d,blocks:g})};if(!ha.length){K({c:!0,entries:[]});return}Xb(ha);var b=[],c=[],d=ha[0],f,g=ha[0].startTime,h,k;for(h=1;c.length||d;){for(;!c.length||d&&d.startTime==g;)c.push(d),g=d.startTime,d=ha[h++];f=w(c);if(!d||f<=d.startTime)for(a(g,f),g=f,k=c.length;k--;)c[k].endTime<=g&&c.splice(k,1);else a(g,d.startTime),g=
d.startTime,c.push(d),d=ha[h++]}for(h=b.length;h--;)b[h].index=h,b[h].previous=b[h-1],b[h].next=b[h+1]}catch(l){K({g:N.Pf,D:L(l)});return}K({c:!0,entries:b})}function K(a){$a(function(){I.abort=p;u(a)},1)}var I={abort:function(){na&&pb(na)}};try{var G=c[$b],J=1E3/(C(G.tickRate)||1),M=B(G,k),V=n(y,{marginLeft:M.Hd,marginTop:M.Lf,marginRight:M.Hd,marginBottom:M.Lf}),ca={},Q={},hb={},R,T,Z,W=c.head,da=c.body,Y=O(G,k),cb=1/Y.y*M.mi,Ha=n({characterStyle:"PROPORTIONAL_SANS_SERIF",characterColor:"#EBEB64",
characterEdgeAttributes:ch,characterEdgeColor:"#000000",characterSize:1},l,{kf:!0}),ba=t||{},Ca={Va:0};if(W){var fa=W.styling;if(fa)for(Z=fa.style;Z;)R=Z[$b],A(R),ca[R.id]=R,Z=Z[Qb];var fc=W.layout;if(fc)for(var Na=fc.region;Na;){R=Na[$b];var oa=R.id;T=oc(ca[R.style]);T=n(T,R);for(Z=Na.style;Z;)n(T,Z[$b]),Z=Z[Qb];A(T);Q[oa]=T;hb[oa]=m(T,M,V,Y,Ca);Na=Na[Qb]}}var ga=da.div,Ua=ga.p,ha=[],ia={},ia=f(da[$b],ia,ca,Q,P),ia=f(ga[$b],ia,ca,Q,P),Bb={},Bb=f(da[$b],Bb,ca,Q,D),Bb=f(ga[$b],Bb,ca,Q,D),Qa=q(ia,Ha,
ba,cb);n(Qa,{windowColor:a(ba.windowColor||Ha.windowColor),windowOpacity:b(kb(ba.windowOpacity,Ha.windowOpacity),Zh,1),cellResolution:Y},{kf:!0});var qa={};ga.p=h;ga[lh]=[]}catch(sa){K({g:N.Pf,D:L(sa)});return}var ma=gf(),na;na=$a(v,1);return I}}(),Tl={"default":"PROPORTIONAL_SANS_SERIF",monospaceSansSerif:"MONOSPACED_SANS_SERIF",monospaceSerif:"MONOSPACED_SERIF",proportionalSansSerif:"PROPORTIONAL_SANS_SERIF",proportionalSerif:"PROPORTIONAL_SERIF",casual:"CASUAL",cursive:"CURSIVE",smallCapitals:"SMALL_CAPITALS",
monospace:"MONOSPACED_SANS_SERIF",sansSerif:"PROPORTIONAL_SANS_SERIF",serif:"PROPORTIONAL_SERIF"},Sl={SMALL:.5,MEDIUM:1,LARGE:2},Zh={NONE:0,SEMI_TRANSPARENT:.5,OPAQUE:1},Rl={black:"#000000",silver:"#c0c0c0",gray:"#808080",white:"#ffffff",maroon:"#800000",red:"#ff0000",purple:"#800080",fuchsia:"#ff00ff",magenta:"#ff00ff",green:"#00ff00",lime:"#00ff00",olive:"#808000",yellow:"#ffff00",navy:"#000080",blue:"#0000ff",teal:"#008080",aqua:"#00ffff",cyan:"#00ffff",orange:"#ffa500",pink:"#ffc0cb"},Ul="NONE",
gk="RAISED",hk="DEPRESSED",ni="UNIFORM",ch="DROP_SHADOW",Ij={x:40,y:19},Hj={x:52,y:19},fk=10,dh={"class":"player-timedtext-text-container"},$h;Wb(R.gm,function(a){function b(){Sh?Sh.requestQuota(g,c,d):Il.requestQuota(Bj,g,c,d)}function c(d){d>=g?($h=d,a(ta)):h?(f.error("Quota request granted insufficent bytes"),a({g:N.Vi})):(h=!0,b())}function d(){f.error("Request quota error");a({g:N.Ui})}var f=new ra.r("RequestQuota"),g=v.Ot,h;0<g?b():($h=0,a(ta))});var oi;Wb(R.$l,function(a){var b=new ra.r("FileSystem");
"fs"!=v.wl?a(ta):Hl(Bj,$h,function(b){oi=b;a(ta)},function(){b.error("Error calling requestFileSystem");a({g:N.Ri})})});var qi={},pi={create:!0},jk={create:!0,exclusive:!0},ib;Wb(R.hm,function(a){var b;switch(v.wl){case "fs":b=Ne;break;case "idb":b=ne;break;case "none":b=Rg}b(function(b){b.c?(ib=b.di,a(ta)):a(b)})});var ce;Wb(R.im,function(a){function b(){b=p;var a=qb(d,v.Yq);jb.addListener(Lc,function(b){b&&b.isPopStateEvent?f.trace("popstate event, Lock timers can stay"):(c(g,function(a,b){Ec.removeItem(b.Ac)}),
yb(a))},-1)}function d(){var a=Nb();c(g,function(b,c){Ec.setItem(c.Ac,a)})}var f=new ra.r("StorageLock"),g={};ce={$i:function(a,c){function d(){Ec.setItem(l,h);var a={Ac:l};g[l]=a;f.trace("Lock acquired",{Name:a.Ac});c({c:!0,bf:a})}if(Ec){b();var h=Nb(),l="lock-"+a;try{if(l in Ec){var m=C(Ec.getItem(l)),n;k(m,0,void 0)&&(n=m);1E3*yc(h-n)<v.Xq?c({c:!1}):(f.error("Lock was expired or invalid, ignoring",{Epoch:h,LockEpoch:n}),d())}else d()}catch(r){f.error("Error acquiring Lock",r),c({g:N.Ub,D:L(r)})}}else Rh?
c({g:N.Ln,D:L(Rh)}):c({g:N.Mn})},Js:function(a,b){if(Ec){try{Ec.removeItem(a.Ac),delete g[a.Ac],f.trace("Lock released",{Name:a.Ac})}catch(c){f.error("Unable to release Lock",{Name:a.Ac},c)}b&&b(ta)}}};v.Ep?ce.$i("session",function(b){ce.nl=b;a(ta)}):a(ta)});Wb(R.jm,function(a){Fd()?Dc&&Dc.generateKey&&Dc.importKey&&Dc.unwrapKey?"PSK"!=v.kg&&"MGK"!=v.kg||Gl?(hc("wcs"),Db(Dc.generateKey({name:"AES-CBC",length:128},!0,["encrypt","decrypt"])).then(function(){hc("wcdone");a(ta)},function(b){b=""+b;var c;
0<=b.indexOf("missing crypto.subtle")?c=N.ag:0<=b.indexOf("timeout waiting for iframe to load")&&(c=N.Pn);a({g:c,D:b})})):a({g:N.On}):a({g:N.ag}):a(ta)});var v,lg,xh;Wb(R.am,function(a){var b=v.dr,c=-6/(b-2-2);if(k(b,1)){var d=[],f=ua(ia()/1E3);qb(function(){var a=ua(ia()/1E3);if(a!=f){for(var b=va(a-f,30);b--;)d.push(0);(b=Ba(d.length-31,0))&&d.splice(0,b);f=a}d[d.length-1]++},1E3/b);xh={dq:function(){for(var a=[],f=d.length-1;f--;){var g=d[f];a.unshift(0>=g?9:1>=g?8:g>=b-1?0:lb((g-2)*c+7))}return a}}}a(ta)});
var ac,Bi=/^(SDK-|SLW32-|SLW64-|SLMAC-|.{10})([A-Z0-9-=]{4,})$/,mg;Wb(R.xi,function(a){function b(g){Ua(g)&&Ua(c)?(ac=new Tg(g,c,d,f),hc("devdone"),a(ta)):a({g:N.qi})}var c=Th,d,f,g=new ra.r("Device");hc("devs");ib.load("deviceid",function(d){function k(){ib.save("deviceid",l,!1,function(d){d.c?b(c+l):a(d)})}var l;d.c&&(l=d.data);Ua(l)?(f="storage",b(c+l)):d.g==N.Fc?v.Kg&&If()?ic(function(a){a.c?(l=a.content,f="downloaded from server"):(g.error("Error downloading esn",fb(a)),f="generated: error downloading",
l=He());k()}):(f="generated: "+(v.Kg?"netflix id not device bound":"no config esnurl"),l=He(),k()):(d.c=h,a(d))})});var nd=function(){function b(){f.A(Vl);f.A(De)}function c(){f.A(ai);f.A(De)}var d=new ra.r("Http"),f=new Hb,g=0;Wb(R.je,function(a){v.lu&&(D.addEventListener("online",b),D.addEventListener("offline",c),ud=Md);a(ta)});return{addEventListener:f.addListener,removeEventListener:f.removeListener,R:function(b,c,k){function l(){P&&(pb(P),P=null);P=$a(k?u:t,G?U:O)}function m(){m=p;P&&(pb(P),
P=null);f.removeListener(ai,q);y&&(y.onreadystatechange=null,y.onprogress=null,y.onerror=null,y.onload=null,y.onabort=null);I.c?(b.i&&(b.i.Sq=ia()),z.trace("Download success",C)):(b.i&&(b.i.ix=ia()),I.g!=N.cb?z.warn("Download failed",C,fb(I)):z.trace("Download aborted",C));var a=A;A=h;for(var c=a.length;c--;)(function(){var b=a[c];Aa(function(){b(I)})})();f.A(Wl,I,!0)}function n(a,b,c){I.c=!1;I.g=a;a=ia();I.B.O=I.B.O||a;I.B.L=I.B.L||a;0<b&&(I.Ia=I.V=b);c&&(I.D=c);m()}function q(){ud()||(n(N.ri),y.abort())}
function t(){n(G?N.ld:N.Rf);y.abort()}function u(){I.c===h&&(k.Rk++,k.fs.ping(k))}function w(a){n(N.cb);try{!a&&y&&y.abort()}catch(b){}}var z=b.Ma&&b.Ma.log&&new b.Ma.log.r("Http")||d,C={Num:g++},A=[c],B={requestTime:ia()},S,O=b.Yb||v.Yb,U=b.Td||v.Td,I=function(){var a=p,c=p;return{N:b,type:b.responseType,B:B,abort:w,timeout:t,aj:function(a){m!==p&&A&&A.unshift(a)},Sk:function(b){a(b)},ty:function(a){c(a)},Oz:function(b){a=b},Nz:function(a){c=a}}}();k&&(k.stream=b.stream,k.H=b.za[0],k.St=l,k.Sj=t);
var y,G,P;f.A(Xl,I,!0);Aa(function(){if(a(b.url))try{Jf(b,I),S=I.url,C.Url=S,ud()?(z.trace("Download starting",C),y=new Di,y.onreadystatechange=function(){if(2==y.readyState){G=!0;B.O=ia();y.onreadystatechange=null;l();for(var a=I,c=y.getAllResponseHeaders().split("\n"),d=c.length,f,g,h={};d--;)if(f=c[d])g=f.indexOf(": "),1<=g&&g<f.length-1&&(h[f.substr(0,g)]=f.substr(g+2));a.headers=h;v.K&&I.Sk({timestamp:B.O,connect:!0,mediaRequest:b,start:B.requestTime,rt:[B.O-B.requestTime]})}},y.onprogress=function(a){G=
!0;B.Y=a.loaded;l();v.K&&(a={mediaRequest:b,bytes:a.loaded,tempstamp:ia()},I.Sk(a))},y.onload=function(){if(m!==p){var a;B.L=ia();B.O=B.O||B.L;if(200<=y.status&&299>=y.status)if(a=jc(y,I),b.hc)try{I.content=b.hc(a,I),I.c=!0,v.K&&(I.parsed=!0,I.Pa=a)}catch(c){z.warn("Exception parsing response",c,C),n(N.Qf,h,L(c))}else v.K&&(I.parsed=!1),I.content=a,I.c=!0;else n(N.kd,y.status);m()}},y.onabort=w,y.onerror=function(){0<y.status?n(N.kd,y.status):n(N.si)},Oe(y,S,!1,b),l(),f.addListener(ai,q)):Aa(n.bind(h,
N.ri))}catch(c){z.error("Exception starting download",c,C),n(N.ti)}else n(N.Ul)});return I}}}(),ud=ca,Xl=1,Wl=2,Vl=3,ai=4,De=5,kh=1,Ci=2,Cc=3,$b="$attributes",lh="$children",ng="$name",zb="$text",xk="$parent",Qb="$sibling",wk=1,yk=3,zk=4,Ak=9,de;Wb(R.bm,function(a){function b(f){g({esn:ac.vc,esnPrefix:ac.Oj,authenticationType:v.kg,authenticationKeyNames:v.oo,systemKeyWrapFormat:v.Vt,serverIdentityId:"MSL_TRUSTED_NETWORK_SERVER_KEY",serverIdentityKeyData:B,storeState:f,notifyMilestone:hc,log:q},{result:function(a){c(a)},
timeout:function(){a({g:N.Fi})},error:function(b){a(d(N.Fi,h,b))}})}function c(b){function f(){A&&ib.save(u,h,!1,function(a){a.c||q.error("Error persisting msl store",fb(a))})}var g=new Eb(100),h,m=k.extend({init:function(a){this.Yi=a},getResponse:function(a,b,c){b=this.Yi;var d=b.Sd.kh||d;a=oa(a.body)?Eg(a.body):a.body;a={url:b.url,Dh:a,withCredentials:!0,Eb:"nccp-"+b.hf};b=this.Yi.timeout;a.Yb=b;a.Td=b;var f=d.R(a,function(a){try{if(a.c)c.result({body:a.content});else throw n(new l("HTTP error, SubCode: "+
a.g+(a.Ia?", HttpCode: "+a.Ia:"")),{cadmiumResponse:a});}catch(b){c.error(b)}});return{abort:function(){f.abort()}}}});t&&b.addEventHandler("shouldpersist",function(a){h=a.storeState;g.pb(f)});de={send:function(a,c){var f=a.Sd,g=f.X,h=g&&Ue(g),k={nccpMethod:a.hf,nonReplayable:a.Qk,encrypted:a.Nj,userId:a.El,body:a.body,serviceTokens:a.zf,timeout:2*a.timeout,httpLocation:new m(a),allowTokenRefresh:A};f.Lj?(k.email=f.Lj,k.password=f.bs||""):f.ia?(k.netflixId=f.ia,k.secureNetflixId=f.$a):f.Ik?(k.mdxControllerToken=
f.Ik,k.mdxPin=f.pr,k.mdxNonce=f.or,k.mdxEncryptedPinB64=f.nr,k.mdxSignature=f.qr):w&&h&&h.zk?(f=h.Xc(),k.netflixId=f.ia,k.secureNetflixId=f.$a):h&&(k.getIdCookies=function(){var a=h.Xc();return{netflixId:a.ia,secureNetflixId:a.$a}});b.send(k,{result:function(a){w&&k.netflixId&&(w=!1);c({c:!0,body:a.body,zf:a.serviceTokens})},timeout:function(){c({g:N.Gi})},error:function(a){var f=b.isErrorReauth(a)?N.Tf:b.isErrorHeader(a)?N.Ei:N.Di,g=b.getErrorCode(a);c(d(f,g,a))}})},Do:function(a,c){b.buildPlayDataRequest({nccpMethod:a.hf,
nonReplayable:a.Qk,encrypted:a.Nj,userId:a.El,body:a.body,serviceTokens:a.zf,timeout:a.timeout,allowTokenRefresh:!1},{result:function(a){c({c:!0,body:a})},timeout:function(){c({g:N.Gi})},error:function(a){var f=b.isErrorReauth(a)?N.Tf:b.isErrorHeader(a)?N.Ei:N.Di,g=b.getErrorCode(a);c(d(f,g,a))}})},wh:b};a(ta)}function d(a,b,c){var f,g;a={g:a,Tc:b};if(c){if(f=c.cadmiumResponse)return f;f=c.errorMessage||""+c;if(g=c.stack)g=""+g,f=0<=g.indexOf(f)?g:f+g;g=C(c.internalCode)||C(c.error&&c.error.internalCode)}f&&
(a.D=f);g&&(a.V=g);return a}if(Fd())if(wf&&Dc&&Dc.unwrapKey){try{var f=D.netflix.msl,g=f.createMslClient,k=f.IHttpLocation,l=f.MslIoException}catch(m){a({g:N.wm});return}var q=new ra.r("Msl"),f=v.yr,t=v.zr,u=v.Ie?"mslstoretest":"mslstore",p=ce.nl,w=!0,A=!p||p.c,B=Bc(v.Ie?"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAm84o+RfF7KdJgbE6lggYAdUxOArfgCsGCq33+kwAK/Jmf3VnNo1NOGlRpLQUFAqYRqG29u4wl8fH0YCn0v8JNjrxPWP83Hf5Xdnh7dHHwHSMc0LxA2MyYlGzn3jOF5dG/3EUmUKPEjK/SKnxeKfNRKBWnm0K1rzCmMUpiZz1pxgEB/cIJow6FrDAt2Djt4L1u6sJ/FOy/zA1Hf4mZhytgabDfapxAzsks+HF9rMr3wXW5lSP6y2lM+gjjX/bjqMLJQ6iqDi6++7ScBh0oNHmgUxsSFE3aBRBaCL1kz0HOYJe26UqJqMLQ71SwvjgM+KnxZvKa1ZHzQ+7vFTwE7+yxwIDAQAB":
"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlibeiUhffUDs6QqZiB+jXH/MNgITf7OOcMzuSv4G3JysWkc0aPbT3vkCVaxdjNtw50zo2Si8I24z3/ggS3wZaF//lJ/jgA70siIL6J8kBt8zy3x+tup4Dc0QZH0k1oxzQxM90FB5x+UP0hORqQEUYZCGZ9RbZ/WNV70TAmFkjmckutWN9DtR6WUdAQWr0HxsxI9R05nz5qU2530AfQ95h+WGZqnRoG0W6xO1X05scyscNQg0PNCy3nfKBG+E6uIl5JB4dpc9cgSNgkfAIeuPURhpD0jHkJ/+4ytpdsXAGmwYmoJcCSE1TJyYYoExuoaE8gLFeM01xXK5VINU7/eWjQIDAQAB");f?ib.remove(u,function(){b()}):t?ib.load(u,function(c){c.c?b(c.data):c.g==N.Fc?b():(q.error("Error loading msl store",
fb(c)),ib.remove(u,function(c){c.c?b():a(c)}))}):b()}else a({g:N.xm});else a(ta)});Wb(R.Zl,function(a){var b=v.Ie,c;c=b?"browsertest":"browser";b=new Nf(c,b?"NetflixIdTest":"NetflixId",b?"SecureNetflixIdTest":"SecureNetflixId");jf=og[c]=b;a(ta)});qe.prototype={Uc:!1,Mh:!1,$e:0,ne:jh,$g:function(){return"acc-"+this.X},load:function(a){var b=this,c=b.X;ib.load(b.$g(),function(d){var f;d.c&&(f=d.data);f&&(b.Uc=!0,b.$e=f.lastAccessTime||0,b.ne=f.UILanguages||jh,b.ia=f.netflixId,b.$a=f.secureNetflixId,
b.Eo=f.cTicket,b.Fo=C(f.cTicketExpiration)||0,b.Rq=f.keyPairHash,b.Nr=f.nrdpStorage,de&&(b.Mh=!!de.wh.hasUserIdToken(c)));a(ta)})},save:function(){this.Uc=!0;ib.save(this.$g(),{lastAccessTime:this.$e,UILanguages:this.ne,netflixId:this.ia,secureNetflixId:this.$a,cTicket:this.Eo,cTicketExpiration:this.Fo,keyPairHash:this.Rq,nrdpStorage:this.Nr})},remove:function(a){var b=this,d=b.X;ib.remove(b.$g(),function(){var f=[];c(b,function(a){f.push(a)});for(var g=f.length;g--;)delete b[f[g]];b.X=d;de&&de.wh.removeUserIdToken(d);
a(ta)})},Xc:function(){return{ia:this.ia,$a:this.$a}},ql:p,No:p};var og={},Ei={},jf,Lb;Wb(R.dm,function(a){ib.load("deviceparameters",function(b){function c(a,b,f,g){a=d[a];return k(a,f,g)?a:b}var d={};b.c&&(d=b.data);Lb={Th:c("servertimeoffset",0,h,h),vf:c("retrycontrol",3,0,1E3),gf:c("mintimeout",59,0,1E3),qh:c("loginterval",60,0,1E3),uh:c("maxlogsize",2E6,100,1E9),df:d.loglevel||"error",Sh:!!d.sendheartbeats,Jd:c("heartbeatinterval",60,1,1E3),zh:function(){xc.A(xf);ib.save("deviceparameters",{servertimeoffset:Lb.Th,
retrycontrol:Lb.vf,mintimeout:Lb.gf,loginterval:Lb.qh,maxlogsize:Lb.uh,loglevel:Lb.df,sendheartbeats:Lb.Sh,heartbeatinterval:Lb.Jd})}};a(ta)})});var Rb;Wb(R.cm,function(a){var b=v.gc;(new ra.r("Nccp")).info("Creating NCCP instance",{Url:b.rc,Version:b.Hh,Msl:Fd()});Fd()?(Rb=new Te(b,Lb,de,ac),a(ta)):a({g:N.Ml})});var xc=new Hb,Dk="resume",Ek="suspend",Cd="interval",xf=1,ph=4,rd;Wb(R.em,function(a){function b(){var a={browserua:lc,browserhref:ff.href,browserdm:""+vb.documentMode,initstart:Jg,initdelay:Yh-
Jg};"undefined"!==typeof nrdp&&nrdp.device&&(a.firmware_version=nrdp.device.firmwareVersion);cg(a);var d=Yd&&Yd.timing;d&&v.ar.map(function(b){var c=d[b];c&&(a["pt_"+b]=c-ld)});var f=new Sd(xg&&xg.Ma,"startup","info",a);c(f)}function c(a){m.push(a);Aa(function(){xc.A(3,{$q:a});for(var b=m,c=b.length,f=c*q;c--;)f+=b[c].Wj().length;f>Lb.uh?d():h()})}function d(a,b){b=b||p;if(m.length||a){g();xc.A(ph);var c=m;m=[];Rb.cr(c,{kh:nd,log:new ra.r("Nccp"),X:jf.X},b)}else b(ta);h()}function f(){var a=Lb.qh;
t!=a&&(t=a,g(),h())}function g(){n&&(pb(n),n=null)}function h(){n||(n=$a(k,1E3*t))}function k(){g();d()}var l=new ra.r("NccpLogBatcher"),m=[],n,q,t;l.Dg=!0;q=33+ac.vc.length;xc.addListener(xf,f);f();yg(function(){Aa(b)});rd={al:c,flush:function(a,b){l.trace("Flushing");g();xc.A(2);Aa(function(){d(a,b)})}};a(ta)});(function(){function a(b){l.push(b)}function b(){xc.removeListener(xf,b);xc.removeListener(2,c);ra.removeSink(a);ra.addSink(f);d()}function c(){g=v.gc.Ke?wb[v.gc.Ke]:h[Lb.df];d()}function d(){var a=
l;l=[];for(var b=a.length,c=0;c<b;c++)f(a[c])}function f(a){if(!a.Dg&&a.level<=g){var b={debugMessage:a.message,debugCategory:a.category};n(b,a.fields,{prefix:"debug"});a=new Sd(a.Ma,"debug",k[a.level],b);rd.al(a)}}var g,h={fatal:wb.FATAL,error:wb.ERROR,warn:wb.WARN,info:wb.INFO,debug:wb.DEBUG},k={};k[wb.FATAL]="fatal";k[wb.ERROR]="error";k[wb.WARN]="warn";k[wb.INFO]="info";k[wb.TRACE]="debug";k[wb.DEBUG]="debug";var l=[];ra.addSink(a);xc.addListener(xf,function(){g=v.gc.Ke?wb[v.gc.Ke]:h[Lb.df]});
xc.addListener(xf,b);xc.addListener(2,c)})();var od="PRIMARY",lf={assistive:"ASSISTIVE",closedcaptions:"ASSISTIVE",directorscommentary:"COMMENTARY",comentary:"COMMENTARY",subtitles:od,primary:od};Sd.prototype.Wj=function(){this.Xi||(this.Xi=Ag(this.data));return this.Xi};var bc=1,mf=2,Sb=4,qg=8,nf=16,rg=32,oh=64,Ce,qh;Wb(R.fm,function(a){var b=new ra.r("PlayDataManager");v.yf&&v.dd?ib.load(v.dd,function(c){if(c.c){var d=c.data,f;try{f=mb.parse(d)}catch(g){}}f?(Ce=f,sd.length||$e(h,function(a){a.c&&
hd()})):c.g!=N.Fc&&(b.error("Unable to parse persisted playdata"),hd());a(ta)}):a(ta)});var Oi="HistoricalBandwidth",Qi="none",Hk="dayOfWeekTimeOfDay",Pi="timeofDay",tg;ed.prototype={Gb:function(){},Aa:function(){},Fa:function(){},Ib:function(){}};var Ri=[];uc(function(a){function b(a){if(a.lower&&a.height>O)return a.height>=l()}function d(){var b=a.C.value==qd&&a.state.value==eb;G?b||(yb(G),I=G=h,P&&(yb(J),J=h)):b&&(G=qb(f,1E3),P&&(J=qb(g,D)))}function f(){var b=a.Ya.value,b=(b=b&&b.stream)&&b.height;
if(0<b){var c=ia(),d=a.ha.xc();if(I&&2E3>c-I.time&&b==I.height){var g=d-I.pp,h=t[b];h||(t[b]=h=[],b>O&&(B.push(b),A(B)));0<g&&!(U<b)&&(U=b);h.push(g);h.length>y&&h.shift();(h=p[b])||(p[b]=h={});var k=h[g];h[g]=k?k+1:1}I={time:c,pp:d,height:b};a.nf.ut(t)}}function g(){ib.save(bi,{xid:a.qa,data:p})}function k(){a.addEventListener(Ab,function(){g()});w=[];ib.load(Jj,function(a){a.c&&(w=a.data);var b={};ib.load(bi,function(a){a.c&&(b=a.data);b&&b.data&&Kb.keys(b.data).length&&(w.push(b),w.length>P&&w.shift(),
ib.save(Jj,w),ib.save(bi,{}))})})}function l(){!N&&v.Kj&&v.Ge&&a.xe<v.Kj[M]&&(L=va(L,v.Ge),a.te.set({reason:"droppedFramesPreviousSession",height:v.Ge}));N=!0;if(U){var b=B.length,c,d,f;for(c=0;c<b;c++)if(d=B[c],d>=U&&d<L&&(f=t[d])&&re(u,f)&&L!=d)return q.warn("Restricting resolution due to high number of dropped frames",{MaxHeight:d}),a.te.set({reason:"droppedFrames",height:d}),v.up?(v.K||a.S.wd(function(a){return a.sf.k.height>=d}),Aa(a.n.lp)):Aa(a.n.ze),v.Ge=L=d;U=h}return L}function m(){var a=
{};p&&B.forEach(function(b){var d=p[b];if(d){var f=0,g=0;c(d,function(a,b){g+=C(a);f+=b});a[b]=g/f}});return a}function n(a){var b={};a.forEach(function(a){b[a]={}});p&&(A(a),B.forEach(function(d){var f=p[d];if(f){var g=0,h=0;c(f,function(a,b){g+=b});var k=Kb.keys(f);A(k);for(var l=k.length-1,m=k[l],n=a.length-1;0<=n;n--){for(var r=a[n];m>=r&&0<=l;)(m=f[m])&&(h+=m),m=k[--l];b[r][d]=lb(h/g*100)}}}));return b}var q=new a.log.r("DFF"),t={},u=v.tp,p={},w=[],B=[],I,y=v.rp,O=v.sp,L=1E5,U,G,P=v.xp,D=v.wp,
J,M=Zb.hardwareConcurrency||0,N;if(v.qp)return P&&a.addEventListener(pg,k),a.Ad={Sp:m,lq:n},a.state.addListener(d),a.C.addListener(d),{Ng:"df",Dc:b}});var Jj="DroppedFramesHistory",bi="DroppedFramesSession";uc(function(a){return{Ng:"op",Dc:function(b){if(b=b.nh){var c=a.ha;if(c&&c.Ug())return b}}}});Cj&&uc(vc);var rh=12.8,sh=5120,Kk=1,Lk=2E3,Jk=.8,Ik=10,Si=1024;Tc.prototype={Gb:function(){return this.Q.value.P},Aa:function(){return this.Tb.value.P},Fa:function(){var a=this;return a.Aa().filter(function(b){return!a.ff.Dc(b)})},
Ib:function(){var a=this.ad;return a?ia()-a:0}};var Mk=0,sd=[],Ui=[],Vi=[],wh=1,zg=3,xg,wg=1E4*Nb()+ua(1E4*ef()),Ji=wg,rf=1,Ab=2,pf=3,mj=4,ae=5,Wc=6,pg=7,Gi=8,vg=9,Ck=10,oj=11,uh=12,Ti=13,pj=14,Hi=15,Ni=16,hf=21,$d=22,be=30,Xi=31,sg=41,th=51,Gh=52,Fh=53,Ah="network",jl="media",Hh=1,Ki=2,Li=3,qf=0,cc=1,eb=2,vh=3,ug=4,nc=1,dc=2,mc=3,Tb=1,qd=2,of=3,Kc=4,Nk="playback";Ic(wh,function(a){function b(c){if(c.newValue>=cc){a.state.removeListener(b);var d;try{var f=""+Nb();Ec.setItem("player$test",f);var h=
Ec.getItem("player$test");Ec.removeItem("player$test");d=f==h?"success":"mism"}catch(k){d="ex: "+k}c="type=openplay&sev=info&locstor="+Hg(d)+"&browserdm=";var m;try{m=""+vb.documentMode}catch(n){m="ex: "+n}l(c+Hg(m));u=ia();g()}}function d(){k("type=startplay&sev=info&outcome=success")}function f(){var b=a.la;if(b){var d="type=startplay&sev=error&outcome=error",g={};Td(g,b);c(g,function(a,b){d+="&"+Hg(a)+"="+Hg(b||"")});k(d)}else k("type=startplay&sev=info&outcome=abort")}function g(){var a=w.shift();
if(0<a){var b=Ba(a-(ia()-u),0);t=$a(function(){l("type=startstall&sev=info&kt="+a);g()},b)}}function h(){k("type=startplay&sev=info&outcome=unload")}function k(b){k=p;b+="&initstart="+Jg+"&initend="+Yh;l(b);pb(t);a.removeEventListener(Wc,d);a.removeEventListener(Ab,f);jb.removeListener(Lc,h)}function l(b){b=C+"&jsoffms="+ia()+"&soffms="+a.Ib()+"&do="+Zb.onLine+"&"+b+"&"+Y(n({},li,{prefix:"im_"}))+"&"+Y(n({},a.lb,{prefix:"sm_"}));m.R({url:q,Dh:b,withCredentials:!0,headers:{"Content-Type":"application/x-www-form-urlencoded"},
Eb:"track"},p)}var m=a.xa,q=v.bu,t,u,w=v.au.slice(),C;if(v.$t&&q){C="cat=cadplayback&dev="+Wd(nh)+"&ep="+Wd(Th)+"&ver="+Wd("2.0000.453.011")+"&jssid="+Be+"&xid="+a.qa+"&pbi="+a.index+"&groupName="+Wd(v.Qe);if(Uc){var A=n({},Uc,{prefix:"pi_"});C+="&"+Y(A)}a.state.addListener(b);a.addEventListener(Wc,d);a.addEventListener(Ab,f);jb.addListener(Lc,h,-1)}});var sb="audio",Za="video",mh="timedtext",Fi="trickplay",Sk=2292,Tk=.006,Qk=2918,Rk=.0065,Bd={qc:function(a,b){var c=this;b&&(c=c.filter(zd));return c.reduce(function(b,
c){return b&&yc(b.f-a)<yc(c.f-a)?b:c})},ea:function(a,b){var c=this;b&&(c=c.filter(zd));return c.reduce(function(b,c){return c.f>a&&c.f<b.f?c:b},c[c.length-1])},fa:function(a,b){var c=this;b&&(c=c.filter(zd));return c.reduce(function(b,c){return c.f<a&&c.f>b.f?c:b},c[0])},ce:function(a){var b=this.map(function(a){return a.f});kd.isArray(a)&&(b=ob(b,a));return b}},td=1,Bh=2,sf=4,Yi=8,Uk=Bh|sf,Vk=0,Wi=1,Wk=1E6,zh=1,$i=2,Zi=3;Ic(wh,function(a){function b(c){(c=c.N)&&4E3<c.length&&(a.removeEventListener(hf,
b),Aa(function(){for(var b=2E3,c=Yd.now(),d=c,f=[],g=0;g<b;g++){for(var h=10;h--;)a.Wt=Oa.atan2(h,h);h=Yd.now();f.push(h-d);d=h}c=d-c;h=c/b;d=[];for(g=0;g<f.length;g++)f[g]>5*h&&d.push(g);g=d.reduce(function(a,b){return a+f[b]},0);c-=g;b-=d.length;0!=c&&(a.xe=Oa.round(b/c))}))}a.addEventListener(hf,b)});var Xk=1,dj=2,aj=1,bj=1,Bg=2,Ch=1,Yk=1,cj=1,ej,tf,Cg,lj=Ed&&vf&&uf&&vf.prototype.play,el=lj&&(vf.prototype.webkitGenerateKeyRequest||Mc),mk=!0,ui=Ed&&Ed.isTypeSupported&&Ed.isTypeSupported('audio/mp4; codecs="mp4a.a6"'),
dl=0,cl=1,ij=2,bl=3,al=4,$k=5,hj=1,gj=2,fj=3,jj=4,kj=5,Zk={clearkey:function(a,b){return za(b)},fps:function(a,b){var c;b.children.forEach(function(a){"pssh"==a.type&&"29701FE4-3CC7-4A34-8C5B-AE90C7439A47"==a.zd&&(c=a.data)});if(!c)throw new Wa("no-netflix-pssh");var d="skd://netflix/"+P(c);return jd(d)}},Dh=50,il=1E3,ml=0,nj=1,kl=2,Ih=3,pl=0,nl="showsubtitle",ol="removesubtitle";Ic(zg,function(a){function b(d){if(d.ctrlKey&&d.altKey&&d.shiftKey&&84==d.keyCode){var f=Fa("INPUT",h,h,{type:"file"});
f.addEventListener("change",function(){var b=f.files[0];if(b){var d=b.name;c.info("Loading file",{FileName:d});var g=new ri;g.readAsText(b);g.addEventListener("load",function(){var b=a.lc;Kd(g.result,b.width/b.height,v.zl,v.Al,function(b){b.c?(b=b=a.kc.fg(b.entries,d),a.T.set(b)):c.error("Inavlid custom DFXP")})})}});f.click()}}var c=new a.log.r("TimedTextCustomTrack");if(v.xg){c.info("Loading url",{Url:v.xg});var d=a.kc.fg(v.xg,"custom");a.T.set(d)}jb.addListener(Dd,b);a.addEventListener(Ab,function(){jb.removeListener(Dd,
b)})});var rj=0,Lh=1,Kh=2,ql=3,qj=4;Ic(zg,function(a){v.Bp&&(a.jA=new Nj(a))});Ic(zg,function(a){v.$d&&(a.Cc=new gi(a))});var Mi=1,Mh=1,tj=2,Dg=3,Nh=4,uj=[137,66,73,70,13,10,26,10],rl=0,vj=44,ul="loadedtracks",Aj="loadedmetadata",xl="loaded",El="error",Fl="closed",wj="currenttimechanged",xj="bufferedtimechanged",Bl="durationchanged",Cl="videosizechanged",Ph="pausedchanged",Oh="endedchanged",yl="busychanged",Dl="audiotracklistchanged",zl="audiotrackchanged",zj="timedtexttracklistchanged",yj="timedtexttrackchanged",
Al="trickplayframeschanged",vl="mutedchanged",wl="volumechanged",sl="showsubtitle",tl="removesubtitle",ci={};Wb(R.je,function(a){function b(a,c){return{encrypt:function(b,c){var d=U(b)?jd(b):b,f=wf.getRandomValues(new bb(16));Db(Dc.encrypt({name:"AES-CBC",iv:f},a,d)).then(function(a){a=new bb(a);var b=[],d=new Vc(b);d.pi(2);d.Kl(f);d.Kl(a);a=P(b);c({success:!0,encryptedDataAsn1Base64:a})},function(){c({success:!1})})},decrypt:function(b,c){var d=Ld(b);Db(Dc.decrypt({name:"AES-CBC",iv:d.Qq},a,d.Cp)).then(function(a){a=
new bb(a);c({success:!0,text:Eg(a)})},function(){c({success:!1})})},hmac:function(a,b){var d=U(a)?jd(a):a;Db(Dc.sign({name:"HMAC",hash:{name:"SHA-256"}},c,d)).then(function(a){a=new bb(a);b({success:!0,hmacBase64:P(a)})},function(){b({success:!1})})}}}ci.mdx={getEsn:function(){return ac.vc},getServerEpoch:function(){return Rb.Fd()},createCryptoContext:function(a){var b=de.wh.getStateForMdx(jf.X),c=b.cryptoContext,d=b.masterToken,b=b.userIdToken;d&&b?(d=["1",P(mb.stringify(d.toJSON())),P(mb.stringify(b.toJSON()))].join(),
a({success:!0,cryptoContext:{cTicket:d,encrypt:function(a,b){var d=U(a)?jd(a):a;c.encrypt(d,{result:function(a){a=P(a);b({success:!0,mslEncryptionEnvelopeBase64:a})},timeout:function(){b({success:!1})},error:function(){b({success:!1})}})},decrypt:function(a,b){var d=Bc(a);c.decrypt(d,{result:function(a){b({success:!0,text:Eg(a)})},timeout:function(){b({success:!1})},error:function(){b({success:!1})}})},hmac:function(a,b){var d=U(a)?jd(a):a;c.sign(d,{result:function(a){b({success:!0,hmacBase64:P(a)})},
timeout:function(){b({success:!1})},error:function(){b({success:!1})}})}}})):a({success:!1})},createCryptoContextFromSharedSecret:function(a,c){var d=Bc(a),f=d.subarray(32,48),d=d.subarray(0,32);if(16!=f.length||32!=d.length)throw new Wa("Bad shared secret");Xd.all([Db(Dc.importKey("raw",f,{name:"AES-CBC"},!1,["encrypt","decrypt"])),Db(Dc.importKey("raw",d,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign","verify"]))]).then(function(a){c({success:!0,cryptoContext:b(a[0],a[1])})},function(){c({success:!1})})}};
a(ta)});D.netflix=D.netflix||{};D.netflix.player={VideoSession:function(){var a=this;Sg(arguments);a.createPlayer=function(a,b){var c,d,f;b&&(qa(b)?(c={Ea:b.trackingId,fd:b.sessionParams,qe:b.authParams},d=b.trailerMode,f=b.manifest):c={Ea:b});c=new Sj(b.accountKey,a,c,d,f);d=b.clipStart;f=b.clipDuration;return 0<d||0<f?Tj(c,d,f):c};a.closeAllPlayers=function(a){Vd(function(){a&&a()})};a.init=function(b){yg(function(c){c.c?(n(a,ci),b&&b(n({success:!0},ci))):b&&(c=(new Ib(c.errorCode||R.je,c,void 0)).ii(),
b({success:!1,error:c}))})};a.applyConfig=function(a){lg(a)}},diag:{togglePanel:function(a,b){var c;switch(a){case "info":c=sd.map(function(a){return a.nf});break;case "streams":c=sd.map(function(a){return a.Wk});break;case "log":c=[sj]}c&&c.forEach(function(a){Z(b)?b?a.show():a.hh():a.toggle()})},addNccpLogMessageSink:function(a){xc.addListener(3,function(b){a({data:b.$q.data})})}},log:new ra.r("Ext"),LogLevel:wb,addLogSink:function(a){Ee.push(a)},getVersion:function(){return"2.0000.453.011"}}})(window)},
{11:11,3:3,4:4,5:5,6:6}],2:[function(y,D){function h(){this.t=this.t||{};this.md=this.md||void 0}function P(h){return"function"===typeof h}function ca(h){return"object"===typeof h&&null!==h}D.Ja=h;h.EventEmitter=h;h.prototype.t=void 0;h.prototype.md=void 0;h.ep=10;h.prototype.setMaxListeners=function(h){if("number"!==typeof h||0>h||isNaN(h))throw TypeError("n must be a positive number");this.md=h;return this};h.prototype.emit=function(h){var p,y,D,oa;this.t||(this.t={});if("error"===h&&(!this.t.error||
ca(this.t.error)&&!this.t.error.length)){p=arguments[1];if(p instanceof Error)throw p;throw TypeError('Uncaught, unspecified "error" event.');}y=this.t[h];if(void 0===y)return!1;if(P(y))switch(arguments.length){case 1:y.call(this);break;case 2:y.call(this,arguments[1]);break;case 3:y.call(this,arguments[1],arguments[2]);break;default:p=arguments.length;D=Array(p-1);for(oa=1;oa<p;oa++)D[oa-1]=arguments[oa];y.apply(this,D)}else if(ca(y)){p=arguments.length;D=Array(p-1);for(oa=1;oa<p;oa++)D[oa-1]=arguments[oa];
y=y.slice();p=y.length;for(oa=0;oa<p;oa++)y[oa].apply(this,D)}return!0};h.prototype.addListener=function(y,p){var D;if(!P(p))throw TypeError("listener must be a function");this.t||(this.t={});this.t.my&&this.emit("newListener",y,P(p.$c)?p.$c:p);this.t[y]?ca(this.t[y])?this.t[y].push(p):this.t[y]=[this.t[y],p]:this.t[y]=p;ca(this.t[y])&&!this.t[y].su&&(D=void 0===this.md?h.ep:this.md)&&0<D&&this.t[y].length>D&&(this.t[y].su=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",
this.t[y].length),"function"===typeof console.trace&&console.trace());return this};h.prototype.on=h.prototype.addListener;h.prototype.once=function(h,p){function y(){this.removeListener(h,y);D||(D=!0,p.apply(this,arguments))}if(!P(p))throw TypeError("listener must be a function");var D=!1;y.$c=p;this.on(h,y);return this};h.prototype.removeListener=function(h,p){var y,D,oa;if(!P(p))throw TypeError("listener must be a function");if(!this.t||!this.t[h])return this;y=this.t[h];oa=y.length;D=-1;if(y===
p||P(y.$c)&&y.$c===p)delete this.t[h],this.t.removeListener&&this.emit("removeListener",h,p);else if(ca(y)){for(;0<oa--;)if(y[oa]===p||y[oa].$c&&y[oa].$c===p){D=oa;break}if(0>D)return this;1===y.length?(y.length=0,delete this.t[h]):y.splice(D,1);this.t.removeListener&&this.emit("removeListener",h,p)}return this};h.prototype.removeAllListeners=function(h){var p;if(!this.t)return this;if(!this.t.removeListener)return 0===arguments.length?this.t={}:this.t[h]&&delete this.t[h],this;if(0===arguments.length){for(p in this.t)"removeListener"!==
p&&this.removeAllListeners(p);this.removeAllListeners("removeListener");this.t={};return this}p=this.t[h];if(P(p))this.removeListener(h,p);else for(;p.length;)this.removeListener(h,p[p.length-1]);delete this.t[h];return this};h.prototype.listeners=function(h){return this.t&&this.t[h]?P(this.t[h])?[this.t[h]]:this.t[h].slice():[]};h.listenerCount=function(h,p){return h.t&&h.t[p]?P(h.t[p])?1:h.t[p].length:0}},{}],3:[function(y,D){function h(b,a,h){for(var p="",f=0,c=b.length,n=c-2,y;f<n;){y=(b[f++]<<
16)+(b[f++]<<8)+b[f++];if(!(0<=y&&16777215>=y))throw Error("not bytes");p+=a[y>>>18]+a[y>>>12&63]+a[y>>>6&63]+a[y&63]}if(f==n){y=(b[f++]<<8)+b[f++];if(!(0<=y&&65535>=y))throw Error("not bytes");p+=a[y>>>10]+a[y>>>4&63]+a[y<<2&63]+h}else if(f==c-1){y=b[f++];if(!(0<=y&&255>=y))throw Error("not bytes");p+=a[y>>>2]+a[y<<4&63]+h+h}return p}var P=Array.prototype.slice,ca=P.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),O=P.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),
p={},Z={},qa={},oa={},b=/\s+/g;[ca,O].forEach(function(b){for(var a=b.length,h;a--;)h=b[a],p[h]=a<<18,Z[h]=a<<12,qa[h]=a<<6,oa[h]=a});D.Ja={Ig:function(b){return h(b,ca,"=")},Aw:function(b){return h(b,O,"")},yg:function(h){h=h.replace(b,"");var a=h.length,y;y=h.charAt(a-1);"="!==y&&"."!==y||a--;y=h.charAt(a-1);"="!==y&&"."!==y||a--;y=3*(a>>2);var P=0;switch(a%4){case 2:P=1;break;case 3:P=2;break;case 1:throw Error("bad base64");}for(var a=new Uint8Array(y+P),f=0,c=0,n;c<y;){n=p[h[f++]]+Z[h[f++]]+
qa[h[f++]]+oa[h[f++]];if(!(0<=n&&16777215>=n))throw Error("bad base64");a[c++]=n>>>16;a[c++]=n>>>8&255;a[c++]=n&255}if(0<P&&(n=p[h[f++]]+Z[h[f++]],a[c++]=n>>>16,1<P&&(n+=qa[h[f++]],a[c++]=n>>>8&255),!(0<=n&&16776960>=n&&0===(n&(1<P?255:65535)))))throw Error("bad base64");return a}}},{}],4:[function(y,D){function h(h){this.buffer=h;this.position=0}h.prototype={seek:function(h){this.position=h},skip:function(h){this.position+=h},Ka:function(){return this.buffer.length-this.position},ba:function(){return this.buffer[this.position++]},
na:function(h){var y=this.position;this.position+=h;h=this.buffer;return h.subarray?h.subarray(y,this.position):h.slice(y,this.position)},I:function(h){for(var y=0;h--;)y=256*y+this.buffer[this.position++];return y},Pb:function(h){for(var y="";h--;)y+=String.fromCharCode(this.buffer[this.position++]);return y},Es:function(){for(var h="",y;y=this.ba();)h+=String.fromCharCode(y);return h},M:function(){return this.I(2)},l:function(){return this.I(4)},oa:function(){return this.I(8)},cl:function(){return this.I(2)/
256},Lh:function(){return this.I(4)/65536},Yd:function(h){for(var y,D="";h--;)y=this.ba(),D+="0123456789ABCDEF"[y>>>4]+"0123456789ABCDEF"[y&15];return D},rf:function(){return this.Yd(4)+"-"+this.Yd(2)+"-"+this.Yd(2)+"-"+this.Yd(2)+"-"+this.Yd(6)},Fs:function(h){for(var y=0,D=0;D<h;D++)y+=this.ba()<<(D<<3);return y},Zd:function(){return this.Fs(4)},pi:function(h){this.buffer[this.position++]=h},Ll:function(h,y){this.position+=y;for(var D=1;D<=y;D++)this.buffer[this.position-D]=h&255,h=Math.floor(h/
256)},wu:function(h){for(var y=h.length,D=0;D<y;D++)this.buffer[this.position++]=h[D]},he:function(h,y){this.wu(h.na(y))}};D.Ja=h},{}],5:[function(y,D){function h(a,b,h){this.type=a;this.size=b;this.Y=h}function P(b){var c;a:{c=b.position;var k,p;if(8<=b.Ka()){k=b.l();p=b.Pb(4);if(!U.test(p))throw b.seek(c),Error("mp4-badtype");if(1==k){if(8>b.Ka()){b.seek(c);c=void 0;break a}k=b.oa()}if(!(8<=k))throw b.seek(c),Error("mp4-badsize");if("uuid"==p){if(16>b.Ka()){b.seek(c);c=void 0;break a}p=b.rf()}c=
{type:p,offset:c,size:k,Y:c+k-b.position}}else c=void 0}if(c&&c.Y<=b.Ka()){var y=c.type;k=c.size;var D=c.Y;p=new h(y,k,D);y=Ua[y];if(b.Ka()<D)throw Error("mp4-shortcontent");y?(D=new a(b.na(D)),y(p,D)):b.skip(D);b.seek(c.offset);p.Pa=b.na(k);return p}}function ca(a,b){for(var h=[],k={},p,y;0<b.Ka();){p=P(b);if(!p)throw Error("mp4-badchildren");y=p.type;h.push(p);k[y]||(k[y]=p)}a.children=h;a.Og=k}function O(a,b){a.version=b.I(1);a.wc=b.I(3)}function p(a,b){b.skip(6);a.cp=b.M();b.skip(8);a.Uv=b.M();
a.wf=b.M();b.skip(4);a.Iz=b.M();b.skip(2);ca(a,b)}function Z(a,b){b.skip(6);a.cp=b.M();b.skip(16);a.width=b.M();a.height=b.M();a.bx=b.l();a.mA=b.l();b.skip(4);a.Ow=b.M();var h=b.ba();a.Yv=b.Pb(h);b.skip(31-h);a.depth=b.M();b.skip(2);ca(a,b)}function qa(a,b){O(a,b);a.fw=b.I(3);a.jw=b.ba();a.oh=b.na(16)}function oa(a,b){for(var h=[],k;b--;)k=a.M(),h.push(a.na(k));return h}function b(a){var b=a.na(2);a={Hz:b[1]>>1&7,il:!!(b[1]&1),Bz:a.M()};k(a,(b[0]<<8|b[1])>>4);return a}function k(a,b){a.Cz=b>>4&3;
a.Gz=b>>2&3;a.Ez=b&3;return a}var a=y(4),U=/^[a-zA-Z0-9-]{4,4}$/;h.prototype.ub=function(a){var b=this;a=a.split("/");var h,k,p,y;for(p=0;p<a.length&&b;p++){k=a[p].split("|");h=void 0;for(y=0;y<k.length&&!h;y++)h=k[y],h=b.Og&&b.Og[h];b=h}return b};h.prototype.toString=function(){return"["+this.type+"]"};var Ua={ftyp:function(a,b){a.Cx=b.Pb(4);a.gy=b.l();for(a.vj=[];4<=b.Ka();)a.vj.push(b.Pb(4))},moov:ca,sidx:function(a,b){O(a,b);a.qz=b.l();a.Ff=b.l();a.sw=1<=a.version?b.oa():b.l();a.Jp=1<=a.version?
b.oa():b.l();b.skip(2);for(var h=b.M(),k=[],p,y;h--;){p=b.l();y=p>>31;if(0!==y)throw Error("mp4-badsdix");p&=2147483647;y=b.l();b.skip(4);k.push({size:p,duration:y})}a.Is=k},moof:ca,mvhd:function(a,b){O(a,b);var h=1<=a.version?8:4;a.wg=b.I(h);a.modificationTime=b.I(h);a.Ff=b.l();a.duration=b.I(h);a.oz=b.Lh();a.volume=b.cl();b.skip(70);a.ny=b.l()},pssh:function(a,b){O(a,b);a.zd=b.rf();var h=b.l();a.data=b.na(h)},trak:ca,mdia:ca,minf:ca,stbl:ca,stsd:function(a,b){O(a,b);b.l();ca(a,b)},encv:Z,avc1:Z,
mp4a:p,enca:p,"ec-3":p,avcC:function(a,b){a.version=b.ba();a.Kv=b.ba();a.lz=b.ba();a.Jv=b.ba();a.mx=(b.ba()&3)+1;a.Mz=oa(b,b.ba()&31);a.gz=oa(b,b.ba())},pasp:function(a,b){a.Re=b.l();a.Mf=b.l()},sinf:ca,frma:function(a,b){a.dw=b.Pb(4)},schm:function(a,b){O(a,b);a.$s=b.Pb(4);a.Kz=b.l();a.wc&1&&(a.Jz=b.Es())},schi:ca,tenc:qa,mvex:ca,trex:function(a,c){O(a,c);a.U=c.l();a.kw=c.l();a.fp=c.l();a.gp=c.l();a.Bg=b(c)},traf:ca,tfhd:function(a,c){O(a,c);a.U=c.l();var h=a.wc;h&1&&(a.Nv=c.oa());h&2&&(a.Dz=c.l());
h&8&&(a.fp=c.l());h&16&&(a.gp=c.l());h&32&&(a.Bg=b(c))},saio:function(a,b){O(a,b);a.wc&1&&(a.so=b.l(),a.uo=b.l());for(var h=1<=a.version?8:4,k=b.l(),p=[];k--;)p.push(b.I(h));a.Xs=p},mdat:function(a,b){a.data=b.na(b.Ka())},tkhd:function(a,b){O(a,b);var h=1<=a.version?8:4;a.wg=b.I(h);a.modificationTime=b.I(h);a.U=b.l();b.skip(4);a.duration=b.I(h);b.skip(8);a.jx=b.M();a.Dv=b.M();a.volume=b.cl();b.skip(2);b.skip(36);a.width=b.Lh();a.height=b.Lh()},mdhd:function(a,b){O(a,b);var h=1<=a.version?8:4;a.wg=
b.I(h);a.modificationTime=b.I(h);a.Ff=b.l();a.duration=b.I(h);h=b.M();a.language=String.fromCharCode((h>>10&31)+96)+String.fromCharCode((h>>5&31)+96)+String.fromCharCode((h&31)+96);b.skip(2)},mfhd:function(a,b){O(a,b);a.Lz=b.l()},tfdt:function(a,b){O(a,b);a.Ov=b.I(1<=a.version?8:4);8==b.Ka()&&b.skip(8)},saiz:function(a,b){O(a,b);a.wc&1&&(a.so=b.l(),a.uo=b.l());for(var h=b.ba(),k=b.l(),p=[];k--;)p.push(h||b.ba());a.Fz=p},trun:function(a,c){O(a,c);var h=c.l(),k=a.wc;k&1&&(a.ew=c.l());k&4&&(a.Lw=b(c));
for(var p=[],y;h--;)y={},k&256&&(y.duration=c.l()),k&512&&(y.size=c.l()),k&1024&&(y.wc=c.l()),k&2048&&(y.Xv=c.l()),p.push(y);a.Ys=p},sdtp:function(a,b){O(a,b);for(var h=[];0<b.Ka();)h.push(k({},b.ba()));a.Ys=h},"4E657466-6C69-7850-6966-665374726D21":function(a,b){O(a,b);a.fileSize=b.oa();a.Ff=b.oa();a.duration=b.oa();a.sy=b.oa();a.Sz=b.oa();1<=a.version&&(a.iy=b.oa(),a.jy=b.l(),a.Tr=b.oa(),a.Kp=b.l(),a.Jw=b.rf())},"A2394F52-5A9B-4F14-A244-6C427C648DF4":function(a,b){O(a,b);a.wc&1&&(a.Cv=b.I(3),a.gx=
b.ba(),a.hx=b.rf());a.Az=b.l();a.ro=b.na(b.Ka())},"4E657466-6C69-7846-7261-6D6552617465":function(a,b){O(a,b);a.Qr=b.l();a.jp=b.M()},"8974DBCE-7BE7-4C51-84F9-7148F9882554":qa};D.Ja={pz:function(b,c){var h=new a(b);c&&h.seek(c);return P(h)},Ds:function(b,c){if(!b)throw Error("mp4-badinput");var h=new a(b),k=[],p;for(c&&h.seek(c);p=P(h);)k.push(p);return k}}},{4:4}],6:[function(y,D){function h(h){this.Cb.info("show subtitle called at "+this.Vb()+" for displayTime "+h.displayTime);this.emit("showsubtitle",
h)}function P(h){this.Cb.info("remove subtitle called at "+this.Vb()+" for remove time "+(h.displayTime+h.duration));this.emit("removesubtitle",h)}var ca=y(2).EventEmitter,O=y(10),p=y(9)(),Z=y(7),qa=function b(k,a){var p=this,y;if(!(p instanceof b))return new b(k,a);ca.call(p);p.Cb=k.Gk||console;p.od=k.N;p.Vb=k.dk;p.ua=null;"undefined"!==typeof a.type&&(p.Wn=a.type,p.Cb.warn("using deprecated 'type' in subtitle manager, please use subtitle profile instead"));p.Zi=a.profile;p.rd=a.url;p.cg=a.Jh;p.Sn=
a.rs;p.Qn=a.ip;y={url:p.rd,N:p.od,Jh:p.cg,xml:a.xml,rs:p.Sn,ip:p.Qn};if("nflx-cmisc"===p.Zi||"image"===p.Wn)y.offset=a.tr,y.size=a.ur,p.qd=new Z(y);else throw Error("SubtitleManager: "+p.Zi+" is an unsupported profile");p.qd.on("ready",function(){p.Cb.info("ready event fired by subtitle stream");p.emit("ready");p.ua=new O(p.Vb,p.qd.Yp.bind(p.qd),p.Cb);p.ua.on("showsubtitle",h.bind(p));p.ua.on("removesubtitle",P.bind(p))});p.qd.on("error",p.emit.bind(p,"error"))};qa.prototype=Object.create(ca.prototype);
qa.prototype.Ec=function(b){null!==this.ua&&this.ua.Ec(b)};qa.prototype.stop=function(){this.Cb.info("stop called");this.qd.removeAllListeners(["ready"]);null!==this.ua&&this.ua.stop()};qa.prototype.pause=function(){this.Cb.info("pause called");null!==this.ua&&this.ua.pause()};qa=p([{N:"function",dk:"function",Gk:"object"},"object"],qa);D.Ja=qa},{10:10,2:2,7:7,9:9}],7:[function(y,D){function h(a){oc.call(this);this.rd=a.url;this.od=a.N;this.Yp=qa;this.cg=a.Jh||0;this.Un=this.pd=this.Gc=null;this.oe=
{};this.bg={};this.od({url:this.rd,offset:a.offset,size:a.size,responseType:"binary"},ca.bind(this))}function P(a){if(!a)throw Error("Assertion Failed");}function ca(a,b){if(a)this.emit(Xb.ERROR,Bb(a,Fb.rm));else try{var c=new kb(b),f=p(c);this.Gc=f;var h=f.startOffset,k=f.entries.reduce(function(a,b){return a+b.size},0);if(k){var n={url:this.rd,offset:h,size:k};this.emit(Xb.um,this.Gc);this.od(n,O.bind(this))}else this.emit(Xb.ERROR,Bb({},Fb.Lm))}catch(y){this.emit(Xb.ERROR,Bb(y,Fb.sm))}}function O(a,
b){var f=this;if(a)f.emit(Xb.ERROR,Bb(a,Fb.Dn));else{var h=new kb(b),k=0,n=[],p=[],y=0;try{f.Gc.entries.forEach(function(a){var b={},c=0;h.position=k;b.identifier=h.Pb(4);P("sidx"===b.identifier);b.yq=h.na(36);b.duration=h.I(4);b.Va=h.M();b.entries=[];for(b.ec=[];c<b.Va;){var f={};f.Zb=h.I(4);f.duration=h.I(4);f.Wr=h.M();f.Xr=h.M();f.At=h.M();f.Bt=h.M();f.zc=h.oa();f.sk=h.I(4);c++;b.entries.push(f)}n.push(b);a.tl=b;c=b.entries;c.length&&(b.startTime=c[0].Zb,b.endTime=c[c.length-1].Zb+c[c.length-1].duration);
p.push.apply(p,b.entries);k+=a.size;y++})}catch(D){f.emit(Xb.ERROR,Bb(D,Fb.En));return}f.pd=n;f.Un=p;f.emit(Xb.Fn,this.pd);var U=Z.call(f,f.cg);U.length?c.call(f,U,function(){f.emit(Xb.Oi)}):f.emit(Xb.Oi)}}function p(a){var b={};a.position=0;b.identifier=a.Pb(4);P("midx"===b.identifier);b.version=a.I(4);P(0===b.version);b.yq=a.na(36);b.wg=a.oa();b.dz=a.oa();b.sa=a.oa();b.Vs=a.M();b.Ws=a.M();b.language=a.na(16);b.aA=a.na(16);b.startOffset=a.oa();b.Va=a.M();for(var c=[],f=0;f<b.Va;f++){var h={};h.duration=
a.I(4);h.size=a.M();c.push(h)}b.entries=c;return b}function Z(a){var b=[],c;P(n(a));var f=this.oe,h=f.Af,k=f.index,p;h&&(0===k&&a<=h.startTime?(p=!0,c=f):a>=h.startTime&&a<=h.endTime?(p=!0,c=f):(f=this.pd[k+1])&&a>=h.endTime&&a<=f.endTime&&(p=!0,c={Af:f,index:k+1}));if(!p)for(h=this.Gc.entries,k=h.length,p=0;p<k;p++)if(f=h[p].tl,a<=f.startTime||a>f.startTime&&a<=f.endTime){c={Af:h[p].tl,index:p};break}c&&(this.oe=c);if(!c)return b;a=c.Af;c=this.pd[c.index+1];a.ec.length||b.push(a);c&&!c.ec.length&&
b.push(c);return b}function qa(a){var f=Z.call(this,a);f.length&&c.call(this,f);var h=this.oe.Af,k=this.oe.index,f=[],k=n(k)&&this.pd[k+1];h&&h.ec.length&&(f=oa(h,a,[],this.Gc));k&&k.ec.length&&(a=oa(k,a,f,this.Gc),f.push.apply(f,a));return b(f)}function oa(a,b,c,h){var k=a.entries,n=k.length,p=[],y,D=0;if(!k.length)return p;for(;D<n;){y=k[D];if(y.Zb<=b)y.Zb+y.duration>=b&&p.push(f(y,a.ec[D],h));else{var P=p.length&&p[p.length-1]||c.length&&c[c.length-1];if(P&&P.Zb>b&&P.Zb!==y.Zb)break;P.zc!==y.zc&&
p.push(f(y,a.ec[D],h))}D++}return p}function b(b){return b.map(function(c,f){var h=c.duration,n;n=b.slice(f+1).filter(k.bind(null,c)).map(a).reduce(U,0);c.duration=h+n;return c}).reduce(function(a,b){Ua(a,b.id)||a.push(b);return a},[])}function k(a,b){return a.id===b.id&&a.displayTime+a.duration===b.displayTime}function a(a){return a.duration}function U(a,b){return a+b}function Ua(a,b){return a.some(function(a){return a.id===b})}function f(a,b,c){var f={};f.displayTime=a.Zb;f.duration=a.duration;
f.originX=a.Wr;f.originY=a.Xr;f.sizeX=a.At;f.sizeY=a.Bt;f.imageData=b;f.id=a.zc;f.rootContainerExtentX=c.Vs;f.rootContainerExtentY=c.Ws;return f}function c(a,b){var c=this,f=a[0],h=a[a.length-1],k,p;0<f.Va&&(k=f.entries[0].zc,p=f.entries[f.entries.length-1]);0<h.Va&&(n(k)||(k=h.entries[0].zc),p=h.entries[h.entries.length-1]);if(k){var f=p.zc+p.sk-k,y="o_"+k+"s_"+f;c.bg[y]||(c.bg[y]=!0,c.od({url:c.rd,offset:k,size:f},function(f,h){setTimeout(function(){delete c.bg[y]},1E3);if(f)b&&b(f);else{var n=
new kb(h);a.forEach(function(a){a.entries.forEach(function(b,c){n.position=b.zc-k;a.ec[c]=n.na(b.sk);var f=a.ec[c];P("P"==String.fromCharCode(f[1]));P("N"==String.fromCharCode(f[2]));P("G"==String.fromCharCode(f[3]))})});b&&b(null)}}))}else b&&b(null)}function n(a){return"undefined"!==typeof a}function Bb(a,b){var c=Object.create(a);a.errorString=b;return c}var oc=y(2).EventEmitter,kb=y(8),Xb=h.events={um:"midxready",Fn:"sidxready",Oi:"ready",ERROR:"error"},Fb={rm:"midxdownloaderror",sm:"midxparseerror",
Lm:"nosidxfoundinmidx",Dn:"sidxdownloaderror",En:"sidxparseerror"};h.prototype=Object.create(oc.prototype);h.prototype.constructor=h;D.Ja=h},{2:2,8:8}],8:[function(y,D){D.Ja=y(4)},{4:4}],9:[function(y,D){function h(h){return Object.keys(h).every(function(y){return"function"===typeof h[y]})}D.Ja=function(y){function D(b,h,a){a="undefined"!==typeof a.key?"Types: expected "+a.key:"Types: expected argument "+a.index;throw new TypeError(a+(" to be '"+b+"' but found '"+h+"'"));}function O(b,h,a){var p=
qa[b];"undefined"!==typeof p?p(h)||D(b,h,a):b!==typeof h&&D(b,h,a)}function p(b,h){var a;a=b.filter(function(a){return"object"!==typeof a&&-1===oa.indexOf(a)});a=a.concat(b.filter(function(a){return"object"===typeof a}).reduce(function(a,b){return a.concat(Object.keys(b).map(function(a){return b[a]}).filter(function(a){return-1===oa.indexOf(a)}))},[]));if(0<a.length)throw Error(a.join(",")+" are invalid types");return function(){var a=Array.prototype.slice.call(arguments);if(a.length!==b.length)throw new TypeError("Types: unexpected number of arguments");
b.forEach(function(b,f){var c=a[f];if("string"===typeof b)O(b,c,{index:f});else if("object"===typeof b)Object.keys(b).forEach(function(a){O(b[a],c[a],{key:a})});else throw Error("Types: unexpected type in type array");});return h.apply(this,a)}}var Z="number boolean string object function symbol".split(" "),qa;qa={array:function(b){return Array.isArray(b)}};if("undefined"!==typeof y){if("object"!==typeof y||!h(y))throw new TypeError("Types: extensions must be an object of type definitions");Object.keys(y).forEach(function(b){if("undefined"!==
typeof qa[b]||"undefined"!==typeof Z[b])throw new TypeError("Types: attempting to override a built in type with "+b);qa[b]=y[b]})}var oa=Object.keys(qa).concat(Z);return p(["array","function"],p)}},{}],10:[function(y,D){function h(h,b){return b.reduce(P.bind(this,h),[])}function P(h,b,k){var a=k.displayTime-h;h=k.displayTime+k.duration-h;var p=0<b.length?b[0].timeout:Infinity;return 0<a&&a<p?[{timeout:a,type:"showsubtitle",Bw:k}]:a===p?b.concat([{timeout:a,type:"showsubtitle",Bw:k}]):0<h&&h<p?[{timeout:h,
type:"removesubtitle",Bw:k}]:h===p?b.concat([{timeout:h,type:"removesubtitle",Bw:k}]):b}function ca(h,b){return-1<b.map(function(b){return b.id}).indexOf(h.id)}function O(h,b){return h.filter(function(h){return h!==b})}var p=y(2).EventEmitter,Z=y(9)({}),qa=function b(h,a,y){if(!(this instanceof b))return new b(h,a,y);p.call(this);var D=this;D.Vb=h;D.Rn=a;D.Wb=[];D.Cb=y||console;D.ua=setTimeout(function(){D.Ec(h())},10)};qa.prototype=Object.create(p.prototype);qa.prototype.stop=function(){var b=this;
clearTimeout(b.ua);b.Wb.forEach(function(h){b.emit("removesubtitle",h)});b.Wb=[]};qa.prototype.pause=function(){clearTimeout(this.ua)};qa.prototype.Ec=function(b,k){var a=this,p=a.Vb(),y;clearTimeout(this.ua);y=a.Rn(p);k="number"===typeof k?k:0;a.Wb.forEach(function(b){b.displayTime<=p&&p<b.displayTime+b.duration||(a.Wb=O(a.Wb,b),a.emit("removesubtitle",b))});null!==y&&0<y.length?(y.forEach(function(b){b.displayTime<=p&&p<b.displayTime+b.duration&&!ca(b,a.Wb)&&(a.emit("showsubtitle",b),a.Wb=a.Wb.concat([b]))}),
y=h(a.Vb(),y),0<y.length&&(a.ua=setTimeout(function(){a.Ec(a.Vb())},y[0].timeout))):(y=250*Math.pow(2,k),a.Cb.warn("rebuffering subtitles, checking buffer again in "+y+"ms"),a.ua=setTimeout(function(){a.Ec(a.Vb(),k+1)},y))};D.Ja=Z(["function","function","object"],qa)},{2:2,9:9}],11:[function(y,D){D.Ja={Ig:function(h){var y=h.length,D;D=0;var O,p=0,Z;if(!(0<=y))throw Error("bad string");for(O=y;O--;)Z=h.charCodeAt(O),128>Z?D++:D=2048>Z?D+2:D+3;D=new Uint8Array(D);for(O=0;O<y;O++)Z=h.charCodeAt(O),
128>Z?D[p++]=Z:(2048>Z?D[p++]=192|Z>>>6:(D[p++]=224|Z>>>12,D[p++]=128|Z>>>6&63),D[p++]=128|Z&63);return D},yg:function(h){for(var y=0,D,O=h.length,p="";y<O;){D=h[y++];if(!(0<=D&&255>=D))throw Error("bad utf8");if(D&128)if(192===(D&224))D=((D&31)<<6)+(h[y++]&63);else if(224===(D&240))D=((D&15)<<12)+((h[y++]&63)<<6)+(h[y++]&63);else throw Error("unsupported utf8 character");p+=String.fromCharCode(D)}return p}}},{}]},{},[1])})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment