"use strict";var __extends=this&&this.__extends||function(){var a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,a){b.__proto__=a}||function(c,a){for(var b in a)if(a.hasOwnProperty(b))c[b]=a[b]};return function(c,b){a(c,b);function d(){this.constructor=c}c.prototype=b===null?Object.create(b):(d.prototype=b.prototype,new d)}}(),HostInterface;(function(a){var d="O15WindowsClientHostInterface",c="PostMessageHostInterface",b="StopUrlHostInterface";a[a[b]=0]=b;a[a[c]=1]=c;a[a[d]=2]=d})(HostInterface||(HostInterface={}));var HrdMode;(function(a){var i="FederatedSignIn",h="OTPCodeFlow",g="SplitterView",f="OpenFromTenant",e="Discovery",d="AcceptInvitation",c="SwitchAccount",b="OpenFromWeb",o="AddService",n="FirstRun",m="LicensingAuthZFailure",l="Disclosure",k="LicensingNotify",j="Licensing";a[a["Generic"]=0]="Generic";a[a[j]=1]=j;a[a[k]=2]=k;a[a[l]=3]=l;a[a[m]=4]=m;a[a[n]=5]=n;a[a[o]=6]=o;a[a[b]=7]=b;a[a[c]=8]=c;a[a[d]=9]=d;a[a[e]=10]=e;a[a[f]=11]=f;a[a[g]=12]=g;a[a["IRMFlow"]=13]="IRMFlow";a[a[h]=14]=h;a[a[i]=15]=i})(HrdMode||(HrdMode={}));var HrdUlsHost=function(b){__extends(a,b);function a(d){var a=this,e=5*1024,c=3e4,f=new Diag.UlsUploadConfiguration(e,null,c);a=b.call(this,d,"/odc/"+Diag.UploadingUlsHost.defaultRemoteUlsUrl,f)||this;return a}return a}(Diag.UploadingUlsHost),Hrd=function(){var q="&emailAddress=",p="Enlightened-Hrd-Client",o="X-OneAuth-Version",n="X-OneAuth-AppName",m="X-OneAuth-AppId",l="X-Office-Platform",k="X-Office-Application",j="X-CorrelationId",e="",f="",h="?",g="{0}",i="undefined",d=true,c=false,a=null;function b(f,h){var e=this;e.config=f;e.MSASignInPolicyValue=1;e.OrgIdSignInPolicyValue=2;e.msAccountIdpParamValue="live";e.orgIdIdpParamValue="org";e.adalIdpParamValue="adal";e.globalEnvironment="Global";e.eudbConfigProviderName="eudb.microsoftonline.com";e.allowedDualAccountsConfigProviderName=[e.eudbConfigProviderName];b.initLogging(f.correlationId);b.self=e;e.config=f;e.config.text=h;try{e.context=ko.observable(a);e.email=ko.observable("");e.error=ko.observable(a);e.isRequestPending=ko.observable(c);e.isRightToLeft=ko.observable(c);e.focus=ko.observable(c);e.showCreateAccount=ko.observable(d);e.showSplitter=ko.observable(c);e.showEnterProductKey=ko.observable(c)}catch(g){window.console&&console.log(g.message);if(typeof ko===i){$("#placeholder").hide();$("#splitter").show();$(".inner").show()}}e.init()}b.postMessage=function(a){parent.postMessage(JSON.stringify(a),"*")};b.prototype.cancelDialog=function(){Diag.ULS.sendTraceTag(23171342,b.featureCategory,Diag.ULSTraceLevel.info,"Dialog canceled.");switch(this.config.params.hostInterface){case HostInterface.O15WindowsClientHostInterface:var a=window.external;a.CancelDialog();break;case HostInterface.StopUrlHostInterface:var c=decodeURIComponent(this.config.params.path+"?op=CancelDialog");window.location.href=c;break;case HostInterface.PostMessageHostInterface:b.postMessage({op:"CancelDialog"})}};b.disposeLogging=function(a){a.flushForAppClose();a.dispose()};b.errorLogger=function(e,d,a){var c="Error ("+e+") encountered in ("+d+") at line number ("+a+")";Diag.ULS.sendTraceTag(23171340,b.featureCategory,Diag.ULSTraceLevel.error,g,c)};b.prototype.getContextInformation=function(){try{var b=window.external;if(typeof b.GetContextInfo!=i)return b.GetContextInfo()}catch(c){window.console&&console.log(c.message)}return a};b.initLogging=function(c){var a=new HrdUlsHost(c);Diag.ULS.setUlsHost(a);window.onerror=b.errorLogger;window.onbeforeunload=function(){return b.disposeLogging(a)}};b.prototype.init=function(){var a=this,b=a;if(a.config.params.email&&a.config.params.sp){a.config.params.sp===a.MSASignInPolicyValue&&a.msAccountSignIn();a.config.params.sp===a.OrgIdSignInPolicyValue&&a.orgIdSignIn()}if(a.config.params.idp)if(a.config.params.idp===a.msAccountIdpParamValue){a.config.text.emailPlaceHolder=a.config.text.emailPlaceHolderPersonal;a.config.text.emailPlaceHolderAria=a.config.text.emailPlaceHolderPersonalAria}else{a.showCreateAccount(c);a.config.text.emailPlaceHolder=a.config.text.emailPlaceHolderWork;a.config.text.emailPlaceHolderAria=a.config.text.emailPlaceHolderWorkAria}if(a.config.params.email){a.email(a.config.params.email);a.config.params.autosubmit&&a.submit()}if(!String.prototype.trim)String.prototype.trim=function(){return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")};a.isRightToLeft(a.config.params.dir==="rtl");a.showSplitter(a.config.params.hm===HrdMode.SplitterView);a.showEnterProductKey(a.config.params.hm===HrdMode.Licensing);var d=navigator.userAgent.indexOf("MSIE ")>0||!!navigator.userAgent.match(/Trident.*rv\:11\./);a.showPlaceholder=ko.pureComputed(function(){return d&&!b.email()});$(a.ready)};b.prototype.launchUrl=function(a){switch(this.config.params.hostInterface){case HostInterface.O15WindowsClientHostInterface:var d=window.external;d.LaunchUrl(a,c);break;case HostInterface.StopUrlHostInterface:window.location.href=decodeURIComponent(this.config.params.path+"?op=LaunchUrl&url=")+encodeURIComponent(a);break;case HostInterface.PostMessageHostInterface:b.postMessage({op:"LaunchUrl",url:a})}};b.prototype.msAccountSignUp=function(){this.showNext(0)};b.prototype.msAccountSignIn=function(){this.showNext(1)};b.prototype.orgIdSignIn=function(){this.showNext(2)};b.prototype.thirdPartySignIn=function(){this.showNext(4)};b.prototype.ready=function(){$("html").attr("dir",b.self.config.params.dir).attr("lang",b.self.config.params.culture);ko.applyBindings(b.self);$(document).keydown(b.keyPressHandler);$(document).on("click","a[data-url]",function(a){a.preventDefault();b.self.launchUrl($(this).data("url"))});$(document).on("click","a[data-next]",function(a){a.preventDefault();b.self.showNext($(this).data("next"))});b.self.setDescriptionForContext();b.postMessage({op:"OnReady",calcHeightPx:($(".inner").outerHeight()+60).toString()});$("main").show();b.self.focus(b.self.config.params.focus)};b.prototype.getUrlQSParameters=function(c){var a={},b=c.split(h);b.length>1&&b[1].split("&").forEach(function(e){var c=e.split("="),d=c[0],b=c[1];b=b&&decodeURIComponent(b);(a[d]=a[d]||[]).push(b)});return a};b.prototype.getTruncatedTitle=function(a){var b=64;if(a.length>b){a=a.substring(0,b-2);a+=".."}return a};b.prototype.getTitle=function(f,e){if(e!=a){e=decodeURIComponent(e);return this.getTruncatedTitle(e)}var d=f.split("/");if(d.length==0||d[d.length-1].length==0){Diag.ULS.sendTraceTag(38123155,b.featureCategory,Diag.ULSTraceLevel.warning,"Invalid URL");return ""}var c=d[d.length-1].split(h)[0],g=this.getUrlQSParameters(f);if("file" in g)c=g["file"];c=decodeURIComponent(c);var i=/^.*\.aspx$/;if(i.test(c))c=f;return this.getTruncatedTitle(c)};b.prototype.setDescriptionForContext=function(){var d=this;d.context(a);if(d.config.params.hm!==HrdMode.OpenFromWeb)return;var k=d.getContextInformation(),c=$.parseJSON(k);if((c||a)&&(c.url||a)&&(c.title||a||(c.friendlyUrl||a))){var l=c.knownUrl?d.config.text.openFromWebWithKnownUrl:d.config.text.openFromWebWithUnknownUrl,i=b.validateUrlScheme(c.url),h=$(i?f:e);h.text(d.getTitle(c.friendlyUrl,c.title));if(i){(c.friendlyUrl||a)&&h.attr({title:c.friendlyUrl});h.attr({href:"#","data-url":c.url}).addClass("description")}var j=$(e).html(l.replace(g,e));$("span",j).replaceWith(h);d.context(j[0].outerHTML)}else d.context(d.config.text.openFromWeb)};b.prototype.submit=function(){var e=this;e.federationProvider=a;e.idp=a;e.error(a);e.isRequestPending(c);var f=e.validateInput(e.email());if(f===a){e.error(e.config.text.accountLookupErrors);e.focus(d);return}e.isRequestPending(d);Diag.ULS.sendTraceTag(23171341,b.featureCategory,Diag.ULSTraceLevel.info,"Next clicked.");if(e.isEmail(f))e.getFederationProvider(f);else e.getIdp(f)};b.prototype.showPKD=function(){Diag.ULS.sendTraceTag(23171343,b.featureCategory,Diag.ULSTraceLevel.info,"PKD invoked.");switch(this.config.params.hostInterface){case HostInterface.O15WindowsClientHostInterface:var a=window.external;a.ShowPKD();break;case HostInterface.StopUrlHostInterface:window.location.href=decodeURIComponent(this.config.params.path+"?op=ShowPKD");break;case HostInterface.PostMessageHostInterface:b.postMessage({op:"ShowPKD"})}};b.keyPressHandler=function(a){if(a.which===27){b.self.cancelDialog();return}if(b.self.config.params.hm===HrdMode.SplitterView){if(a.which===13||a.which===32){var c=$(a.target).data("idp");switch(c){case b.self.msAccountIdpParamValue:a.preventDefault();b.self.msAccountSignIn();return;case b.self.orgIdIdpParamValue:a.preventDefault();b.self.orgIdSignIn();return}}}else if(a.which===13&&b.self.focus()){a.preventDefault();b.self.submit();return}};b.endsWith=function(b,c,a){if(typeof a!=="number"||!isFinite(a)||Math.floor(a)!==a||a>b.length)a=b.length;a-=c.length;var d=b.lastIndexOf(c,a);return d!==-1&&d===a};b.validateUrlScheme=function(a){var b=/^(https?|ftp|file|mailto):\/\//i;return typeof a==="string"&&a.length!=0&&b.test(a)};b.prototype.getDomainWithoutTld=function(b){if(!this.isEmail(b))return a;var c=b?b.indexOf("@"):-1;return b.substring(c+1,b.indexOf(".",c+1))};b.prototype.allowedCallIdp=function(a){return a.environment==="Global"&&!a.configProviderName||this.allowedDualAccountsConfigProviderName.indexOf(a.configProviderName)>=0};b.prototype.getFederationProvider=function(q){var e=this,f=e;if(!q)return;var r=q.indexOf("@");if(r===-1)return;var s=q.substring(r+1),t=e.config.services.getFederationProviderUrl+(e.config.services.getFederationProviderUrl.indexOf(h)===-1?h:"&")+"domain="+encodeURIComponent(s),g={};g[j]=e.config.correlationId;if(e.config.officeApplication)g[k]=e.config.officeApplication;if(e.config.officePlatform)g[l]=e.config.officePlatform;if(e.config.oneAuthAppId)g[m]=e.config.oneAuthAppId;if(e.config.oneAuthAppName)g[n]=e.config.oneAuthAppName;if(e.config.oneAuthVersion)g[o]=e.config.oneAuthVersion;if(e.config.enlightenedHrdClient)g[p]=e.config.enlightenedHrdClient;$.ajax({url:t,cache:c,timeout:e.config.services.getFederationProviderTimeOut,headers:g}).always(function(){f.isRequestPending(c)}).done(function(e,l,h){var j="AuthorizationService",k="TokenService";f.authorizationService=h.getResponseHeader(j);f.tokenService=h.getResponseHeader(k);if(typeof e===i||!e)return;var g=e.environment?d:c;if(!g)e={environment:e};if(f.allowedCallIdp(e)){f.federationProvider=g?ko.toJSON(e):a;f.getIdp(q)}else if(e.environment==="Error"){Diag.ULS.sendTraceTag(23212251,b.featureCategory,Diag.ULSTraceLevel.error,"getFederationProvider issue. Status {0}",l);f.showError(a,a)}else if(f.config.params.fpEnabled){if(f.config.params.idp===f.msAccountIdpParamValue){f.error(f.config.text.guardrailMessage);return}f.federationProvider=g?ko.toJSON(e):e.environment;f.orgIdSignIn()}else f.error(f.config.text.updateRequired)}).fail(function(b,a){f.showError(b,a)})};b.prototype.getIdp=function(t){var r=this,i=r,u=r.config.services.getIdpUrl+(r.config.services.getIdpUrl.indexOf(h)===-1?h:"&")+"hm="+encodeURIComponent(r.config.params.hm.toString())+q+encodeURIComponent(t),v=r.config.params.idp===r.msAccountIdpParamValue,w=r.config.services.flight0IsOn?v:v&&r.config.params.app===107;if(r.config.params.idp&&!w)u+="&idp="+encodeURIComponent(r.config.params.idp);if(r.config.params.minimalEmailValidation===d)u+="&minimalEmailValidation=true";var s={};s[j]=r.config.correlationId;if(r.config.officeApplication)s[k]=r.config.officeApplication;if(r.config.officePlatform)s[l]=r.config.officePlatform;if(r.config.oneAuthAppId)s[m]=r.config.oneAuthAppId;if(r.config.oneAuthAppName)s[n]=r.config.oneAuthAppName;if(r.config.oneAuthVersion)s[o]=r.config.oneAuthVersion;if(r.config.enlightenedHrdClient)s[p]=r.config.enlightenedHrdClient;$.ajax({url:u,cache:c,timeout:r.config.services.getIdpTimeout,headers:s}).always(function(){i.isRequestPending(c)}).done(function(j){var h="outerHTML";if(!j)return;var n=j.account?d:c;if(!n)j={account:j};if(j.account.indexOf(",")>=0)j.account=j.account.split(",")[0];switch(j.account){case "MSAccount":case "MSAccountNonEmail":i.msAccountSignIn();break;case "OrgId":if(w){i.error(i.config.text.msaOnly);i.focus(d)}else i.orgIdSignIn();break;case "Neither":if(i.config.params.hm===HrdMode.OTPCodeFlow){var k=$(e).text(i.config.text.oneTimeCodePrompt).prop(h),l=$(f).text(i.config.text.oneTimeCodeLink).attr({href:"#","data-next":"5"}).prop(h);k=k.replace(g,l);i.error(k)}else if(i.config.params.hm===HrdMode.FederatedSignIn){var k=$(e).text(i.config.text.federatedSignInPrompt).prop(h),l=$(f).text(i.config.text.federatedSignInLink).attr({href:"#","data-next":"5"}).prop(h);k=k.replace(g,l);i.error(k)}else if(i.config.params.hm===HrdMode.IRMFlow&&b.endsWith(t,"@gmail.com"))i.thirdPartySignIn();else if(i.config.params.accelerated&&!i.isFirstPartyMsaDomain(t))i.msAccountSignUp();else if(i.config.params.signInOrg){var k=$(e).text(i.config.text.signInToOrgPrompt).prop(h),l=$(f).text(i.config.text.orgIdOtp).attr({href:"#","data-next":"6"}).prop(h);k=k.replace(g,l);i.error(k)}else{var m=i.showCreateAccount()&&i.config.params.hm!=HrdMode.Licensing&&i.config.params.hm!=HrdMode.LicensingNotify&&i.config.params.hm!=HrdMode.OpenFromWeb&&i.config.params.hm!=HrdMode.OpenFromTenant&&i.config.params.hm!=HrdMode.IRMFlow;if(m){var o=$(e).text(i.config.text.accountNotFoundSignUp+" ").append($(f).text(i.config.text.signUpLink).attr({href:"#","data-next":"0"}));i.error(o.html())}else if(i.config.params.idp===i.adalIdpParamValue||i.config.params.idp===i.orgIdIdpParamValue)i.error(i.config.text.accountNotFoundOrgId);else i.error(i.config.text.accountNotFound);i.focus(d)}break;case "Both":if(i.config.params.idp===i.msAccountIdpParamValue)i.msAccountSignIn();else if(i.config.params.idp===i.orgIdIdpParamValue)i.orgIdSignIn();else i.showSplitter(d);break;case "Guardrail":if(i.config.params.idp===i.adalIdpParamValue||i.config.params.idp===i.orgIdIdpParamValue)i.error(i.config.text.accountNotFoundOrgId);else i.error(i.config.text.guardrailMessage);i.focus(d);break;case "Error":if(i.config.params.minimalEmailValidation===d){i.error(i.config.text.accountNotFound);i.focus(d);break}Diag.ULS.sendTraceTag(23212252,b.featureCategory,Diag.ULSTraceLevel.error,"getIdp Error.");i.showError(a,a);break;case "Throttled":Diag.ULS.sendTraceTag(23212253,b.featureCategory,Diag.ULSTraceLevel.error,"getIdp Throttled.");i.showError(a,a);break;case "HIPValidationFailed":Diag.ULS.sendTraceTag(23212254,b.featureCategory,Diag.ULSTraceLevel.error,"getIdp HIPValidationFailed.");i.showError(a,a);break;default:Diag.ULS.sendTraceTag(23212255,b.featureCategory,Diag.ULSTraceLevel.error,"getIdp error: {0}.",j);i.showError(a,a)}}).fail(function(b,a){i.showError(b,a)})};b.prototype.isEmail=function(a){var b=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;return a.length>2&&b.test(a)};b.prototype.isFirstPartyMsaDomain=function(e){var b=this.getDomainWithoutTld(e);if(b==a)return c;switch(b.toLowerCase()){case "live":case "live-int":case "hotmail":case "hotmail-int":case "outlook":case "outlook-int":return d;default:return c}};b.prototype.showError=function(e){var a=this;a.isRequestPending(c);if(e&&(e.status===404||e.status===502)){a.error(a.config.text.networkError);Diag.ULS.sendTraceTag(34628224,b.featureCategory,Diag.ULSTraceLevel.error,"Network issue. Status code {0}",e.status)}else a.showSplitter(d)};b.prototype.showNext=function(e){var c=this;c.isRequestPending&&c.isRequestPending(d);switch(c.config.params.hostInterface){case HostInterface.O15WindowsClientHostInterface:var g=window.external;if(c.email&&c.email())if(c.federationProvider||a)g.ShowNext(e,c.email(),c.federationProvider);else g.ShowNext(e,c.email());else g.ShowNext(e);break;case HostInterface.StopUrlHostInterface:var h=decodeURIComponent(c.config.params.path+"?op=ShowNext&nextScreen="+e);if(c.email&&c.email())h+=q+encodeURIComponent(c.email());if(c.federationProvider||a)h+="&federationProvider="+encodeURIComponent(c.federationProvider);window.location.href=h;break;case HostInterface.PostMessageHostInterface:var f={op:"ShowNext",nextScreen:e.toString()};if(c.email&&c.email())f.emailAddress=c.email();if(c.federationProvider||a)f.federationProvider=c.federationProvider;if(c.authorizationService||a)f.authorizationService=c.authorizationService;if(c.tokenService||a)f.tokenService=c.tokenService;b.postMessage(f)}};b.prototype.validateInput=function(c){if(!c)return a;c=c.trim();if(c.length<1)return a;var b=decodeURIComponent(c);if(!b||b.length<1)return a;if(b.indexOf("@")!==-1){if(b.indexOf(",")!==-1)return a;var d=b.replace(/\s+(?=(?:(?:[^"]*"){2})*[^"]*"[^"]*$)/gm,"a");if(d===a||d.indexOf(" ")>=0)return a}if(b.indexOf("<")!==-1||b.indexOf(">")!==-1)return a;return b};b.featureCategory=1800;b.self=a;return b}()