{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./js/Core/Constants.js","webpack:///./js/Core/BrowserControl.js","webpack:///./js/Core/KnockoutUserAgentShim.js","webpack:///./js/Core/Helpers.js","webpack:///./js/Core/ComponentEvent.js","webpack:///./js/Core/Promise.js","webpack:///./js/Core/AccessibleImageControlViewModel.js","webpack:///./js/LoginPage/LoginConstants.js","webpack:///./js/Core/ClientTracingConstants.js","webpack:///./js/Core/PromiseHelpers.js","webpack:///./js/Core/ClientTracingHelper.js","webpack:///./js/Core/ApiRequest.js","webpack:///./webpack/new/node_modules/JSON/json2.js","webpack:///./js/Fields/FooterButtonsFieldViewModel.js","webpack:///./js/Core/BrandingHelpers.js","webpack:///./js/Core/MarchingAntsControlViewModel.js","webpack:///./js/Core/OtcRequestControl.js","webpack:///./js/Core/Fido.js","webpack:///./js/Core/TelemetryFactory.js","webpack:///./images/documentation_white.png","webpack:///./images/documentation_white.svg","webpack:///./images/documentation.png","webpack:///./images/documentation.svg","webpack:///./webpack/new/node_modules/knockout/build/output/knockout-latest.js-exposed","webpack:///./js/Core/GetOneTimeCodeHelper.js","webpack:///./js/Core/GetCredentialTypeHelpers.js","webpack:///./js/Core/AjaxHandlerControl.js","webpack:///./js/Core/ClientTracingContext.js","webpack:///./js/Core/DialogContentControlViewModel.js","webpack:///./js/Core/FooterControlViewModel.js","webpack:///./js/Core/FidoConstants.js","webpack:///./js/Core/DebugDetailsControlViewModel.js","webpack:///./js/LoginPage/FidoHelpButtonControlViewModel.js","webpack:///./js/Core/KnockoutExtenders.js","webpack:///./js/LoginPage/CredSwitchLinkControlViewModel.js","webpack:///./js/Core/PlaceholderTextbox.js","webpack:///./js/Fields/PlaceholderTextboxFieldViewModel.js","webpack:///./js/LoginPage/HeaderControlViewModel.js","webpack:///./images/picker_account_msa.png","webpack:///./images/picker_account_msa.svg","webpack:///./js/Core/AsyncValidationControl.js","webpack:///(webpack)/buildin/global.js","webpack:///./js/Core/TypeConverter.js","webpack:///./js/Core/BrowserSso.js","webpack:///./images/CredentialOptions/cred_option_fido_white.png","webpack:///./images/CredentialOptions/cred_option_fido_white.svg","webpack:///./images/CredentialOptions/cred_option_fido.png","webpack:///./images/CredentialOptions/cred_option_fido.svg","webpack:///./images/CredentialOptions/cred_option_passkey_white.png","webpack:///./images/CredentialOptions/cred_option_passkey_white.svg","webpack:///./images/CredentialOptions/cred_option_passkey.png","webpack:///./images/CredentialOptions/cred_option_passkey.svg","webpack:///./js/Core/CanaryValidationHelper.js","webpack:///./js/Core/TileHelpers.js","webpack:///./js/Core/PaginationControlHelper.js","webpack:///(webpack)/buildin/module.js","webpack:///./js/Core/InstrumentationControlViewModel.js","webpack:///./js/Core/LogoControlViewModel.js","webpack:///./js/Core/MasterPageViewModel.js","webpack:///./js/Core/BackgroundImageControlViewModel.js","webpack:///./js/Core/EnvironmentBannerControlViewModel.js","webpack:///./js/Core/ContentControlViewModel.js","webpack:///./images/CredentialOptions/cred_option_qrpin_white.png","webpack:///./images/CredentialOptions/cred_option_qrpin_white.svg","webpack:///./images/CredentialOptions/cred_option_qrpin.png","webpack:///./images/CredentialOptions/cred_option_qrpin.svg","webpack:///./js/Core/PaginationControlViewModel.js","webpack:///./js/LoginPage/FidoHelpDialogContentControlViewModel.js","webpack:///./js/LoginPage/PaginatedLoginPage.js","webpack:///./webpack/new/node_modules/knockout/build/output/knockout-latest.js","webpack:///./js/Core/KnockoutExtensions.js","webpack:///./js/Strings/Helpers/StringHelpers.js","webpack:///./js/Core/DropdownKnockoutExtensions.js","webpack:///./js/Core/StringRepository.js","webpack:///./js/LoginPage/LoginPaginatedPageViewModel.js","webpack:///./images/Backgrounds sync nonrecursive ^.+","webpack:///./images/Backgrounds/0-small.jpg","webpack:///./images/Backgrounds/0.jpg","webpack:///./images/Backgrounds/1-small.jpg","webpack:///./images/Backgrounds/1.jpg","webpack:///./images/Backgrounds/2-small.jpg","webpack:///./images/Backgrounds/2.jpg","webpack:///./images/Backgrounds/2.svg","webpack:///./images/Backgrounds/3.jpg","webpack:///./images/Backgrounds/3.svg","webpack:///./images/AppBackgrounds sync nonrecursive ^.+","webpack:///./images/AppBackgrounds/0-small.jpg","webpack:///./images/AppBackgrounds/0.jpg","webpack:///./images/AppBackgrounds/1-small.jpg","webpack:///./images/AppBackgrounds/1.jpg","webpack:///./images/AppBackgrounds/10-small.jpg","webpack:///./images/AppBackgrounds/10.jpg","webpack:///./images/AppBackgrounds/11-small.jpg","webpack:///./images/AppBackgrounds/11.jpg","webpack:///./images/AppBackgrounds/13-small.jpg","webpack:///./images/AppBackgrounds/13.jpg","webpack:///./images/AppBackgrounds/14-small.jpg","webpack:///./images/AppBackgrounds/14.jpg","webpack:///./images/AppBackgrounds/15-small.jpg","webpack:///./images/AppBackgrounds/15.jpg","webpack:///./images/AppBackgrounds/16-small.jpg","webpack:///./images/AppBackgrounds/16.jpg","webpack:///./images/AppBackgrounds/17-small.jpg","webpack:///./images/AppBackgrounds/17.jpg","webpack:///./images/AppBackgrounds/18-small.jpg","webpack:///./images/AppBackgrounds/18.jpg","webpack:///./images/AppBackgrounds/19-small.jpg","webpack:///./images/AppBackgrounds/19.jpg","webpack:///./images/AppBackgrounds/2-small.jpg","webpack:///./images/AppBackgrounds/2.jpg","webpack:///./images/AppBackgrounds/20-small.jpg","webpack:///./images/AppBackgrounds/20.jpg","webpack:///./images/AppBackgrounds/21-small.jpg","webpack:///./images/AppBackgrounds/21.jpg","webpack:///./images/AppBackgrounds/22-small.jpg","webpack:///./images/AppBackgrounds/22.jpg","webpack:///./images/AppBackgrounds/23-small.jpg","webpack:///./images/AppBackgrounds/23.jpg","webpack:///./images/AppBackgrounds/24-small.jpg","webpack:///./images/AppBackgrounds/24.jpg","webpack:///./images/AppBackgrounds/25-small.jpg","webpack:///./images/AppBackgrounds/25.jpg","webpack:///./images/AppBackgrounds/26-small.jpg","webpack:///./images/AppBackgrounds/26.jpg","webpack:///./images/AppBackgrounds/27-small.jpg","webpack:///./images/AppBackgrounds/27.jpg","webpack:///./images/AppBackgrounds/28-small.jpg","webpack:///./images/AppBackgrounds/28.jpg","webpack:///./images/AppBackgrounds/29-small.jpg","webpack:///./images/AppBackgrounds/29.jpg","webpack:///./images/AppBackgrounds/3-small.jpg","webpack:///./images/AppBackgrounds/3.jpg","webpack:///./images/AppBackgrounds/30-small.jpg","webpack:///./images/AppBackgrounds/30.jpg","webpack:///./images/AppBackgrounds/31-small.jpg","webpack:///./images/AppBackgrounds/31.jpg","webpack:///./images/AppBackgrounds/32-small.jpg","webpack:///./images/AppBackgrounds/32.jpg","webpack:///./images/AppBackgrounds/33-small.jpg","webpack:///./images/AppBackgrounds/33.jpg","webpack:///./images/AppBackgrounds/34-small.jpg","webpack:///./images/AppBackgrounds/34.jpg","webpack:///./images/AppBackgrounds/35-small.jpg","webpack:///./images/AppBackgrounds/35.jpg","webpack:///./images/AppBackgrounds/36-small.jpg","webpack:///./images/AppBackgrounds/36.jpg","webpack:///./images/AppBackgrounds/37-small.jpg","webpack:///./images/AppBackgrounds/37.jpg","webpack:///./images/AppBackgrounds/38-small.jpg","webpack:///./images/AppBackgrounds/38.jpg","webpack:///./images/AppBackgrounds/39-small.jpg","webpack:///./images/AppBackgrounds/39.jpg","webpack:///./images/AppBackgrounds/4-small.jpg","webpack:///./images/AppBackgrounds/4.jpg","webpack:///./images/AppBackgrounds/40-small.jpg","webpack:///./images/AppBackgrounds/40.jpg","webpack:///./images/AppBackgrounds/41-small.jpg","webpack:///./images/AppBackgrounds/41.jpg","webpack:///./images/AppBackgrounds/42-small.jpg","webpack:///./images/AppBackgrounds/42.jpg","webpack:///./images/AppBackgrounds/43-small.jpg","webpack:///./images/AppBackgrounds/43.jpg","webpack:///./images/AppBackgrounds/44-small.jpg","webpack:///./images/AppBackgrounds/44.jpg","webpack:///./images/AppBackgrounds/45-small.jpg","webpack:///./images/AppBackgrounds/45.jpg","webpack:///./images/AppBackgrounds/46-small.jpg","webpack:///./images/AppBackgrounds/46.jpg","webpack:///./images/AppBackgrounds/47-small.jpg","webpack:///./images/AppBackgrounds/47.jpg","webpack:///./images/AppBackgrounds/48-small.jpg","webpack:///./images/AppBackgrounds/48.jpg","webpack:///./images/AppBackgrounds/49-small.jpg","webpack:///./images/AppBackgrounds/49.jpg","webpack:///./images/AppBackgrounds/5-small.jpg","webpack:///./images/AppBackgrounds/5.jpg","webpack:///./images/AppBackgrounds/50-small.jpg","webpack:///./images/AppBackgrounds/50.jpg","webpack:///./images/AppBackgrounds/51-small.jpg","webpack:///./images/AppBackgrounds/51.jpg","webpack:///./images/AppBackgrounds/52-small.jpg","webpack:///./images/AppBackgrounds/52.jpg","webpack:///./images/AppBackgrounds/53-small.jpg","webpack:///./images/AppBackgrounds/53.jpg","webpack:///./images/AppBackgrounds/54-small.jpg","webpack:///./images/AppBackgrounds/54.jpg","webpack:///./images/AppBackgrounds/55-small.jpg","webpack:///./images/AppBackgrounds/55.jpg","webpack:///./images/AppBackgrounds/56-small.jpg","webpack:///./images/AppBackgrounds/56.jpg","webpack:///./images/AppBackgrounds/57-small.jpg","webpack:///./images/AppBackgrounds/57.jpg","webpack:///./images/AppBackgrounds/58-small.jpg","webpack:///./images/AppBackgrounds/58.jpg","webpack:///./images/AppBackgrounds/59-small.jpg","webpack:///./images/AppBackgrounds/59.jpg","webpack:///./images/AppBackgrounds/6-small.jpg","webpack:///./images/AppBackgrounds/6.jpg","webpack:///./images/AppBackgrounds/60-small.jpg","webpack:///./images/AppBackgrounds/60.jpg","webpack:///./images/AppBackgrounds/61-small.jpg","webpack:///./images/AppBackgrounds/61.jpg","webpack:///./images/AppBackgrounds/62-small.jpg","webpack:///./images/AppBackgrounds/62.jpg","webpack:///./images/AppBackgrounds/63-small.jpg","webpack:///./images/AppBackgrounds/63.jpg","webpack:///./images/AppBackgrounds/64-small.jpg","webpack:///./images/AppBackgrounds/64.jpg","webpack:///./images/AppBackgrounds/65-small.jpg","webpack:///./images/AppBackgrounds/65.jpg","webpack:///./images/AppBackgrounds/66-small.jpg","webpack:///./images/AppBackgrounds/66.jpg","webpack:///./images/AppBackgrounds/67-small.jpg","webpack:///./images/AppBackgrounds/67.jpg","webpack:///./images/AppBackgrounds/68-small.jpg","webpack:///./images/AppBackgrounds/68.jpg","webpack:///./images/AppBackgrounds/69-small.jpg","webpack:///./images/AppBackgrounds/69.jpg","webpack:///./images/AppBackgrounds/7-small.jpg","webpack:///./images/AppBackgrounds/7.jpg","webpack:///./images/AppBackgrounds/70-small.jpg","webpack:///./images/AppBackgrounds/70.jpg","webpack:///./images/AppBackgrounds/71-small.jpg","webpack:///./images/AppBackgrounds/71.jpg","webpack:///./images/AppBackgrounds/72-small.jpg","webpack:///./images/AppBackgrounds/72.jpg","webpack:///./images/AppBackgrounds/73-small.jpg","webpack:///./images/AppBackgrounds/73.jpg","webpack:///./images/AppBackgrounds/74-small.jpg","webpack:///./images/AppBackgrounds/74.jpg","webpack:///./images/AppBackgrounds/75-small.jpg","webpack:///./images/AppBackgrounds/75.jpg","webpack:///./images/AppBackgrounds/76-small.jpg","webpack:///./images/AppBackgrounds/76.jpg","webpack:///./images/AppBackgrounds/77-small.jpg","webpack:///./images/AppBackgrounds/77.jpg","webpack:///./images/AppBackgrounds/78-small.jpg","webpack:///./images/AppBackgrounds/78.jpg","webpack:///./images/AppBackgrounds/79-small.jpg","webpack:///./images/AppBackgrounds/79.jpg","webpack:///./images/AppBackgrounds/8-small.jpg","webpack:///./images/AppBackgrounds/8.jpg","webpack:///./images/AppBackgrounds/9-small.jpg","webpack:///./images/AppBackgrounds/9.jpg","webpack:///./images/AppLogos sync nonrecursive ^.+","webpack:///./images/AppLogos/0.png","webpack:///./images/AppLogos/1.png","webpack:///./images/AppLogos/10.png","webpack:///./images/AppLogos/11.png","webpack:///./images/AppLogos/12.png","webpack:///./images/AppLogos/13.png","webpack:///./images/AppLogos/14.png","webpack:///./images/AppLogos/15.png","webpack:///./images/AppLogos/17.png","webpack:///./images/AppLogos/18.png","webpack:///./images/AppLogos/19.png","webpack:///./images/AppLogos/2.png","webpack:///./images/AppLogos/20.png","webpack:///./images/AppLogos/21.png","webpack:///./images/AppLogos/22.png","webpack:///./images/AppLogos/23.png","webpack:///./images/AppLogos/24.png","webpack:///./images/AppLogos/25.png","webpack:///./images/AppLogos/26.png","webpack:///./images/AppLogos/27.png","webpack:///./images/AppLogos/28.png","webpack:///./images/AppLogos/29.png","webpack:///./images/AppLogos/3.png","webpack:///./images/AppLogos/30.png","webpack:///./images/AppLogos/31.png","webpack:///./images/AppLogos/32.png","webpack:///./images/AppLogos/33.png","webpack:///./images/AppLogos/34.png","webpack:///./images/AppLogos/35.png","webpack:///./images/AppLogos/36.png","webpack:///./images/AppLogos/37.png","webpack:///./images/AppLogos/38.png","webpack:///./images/AppLogos/39.png","webpack:///./images/AppLogos/4.png","webpack:///./images/AppLogos/40.png","webpack:///./images/AppLogos/41.png","webpack:///./images/AppLogos/42.png","webpack:///./images/AppLogos/43.png","webpack:///./images/AppLogos/44.png","webpack:///./images/AppLogos/45.png","webpack:///./images/AppLogos/46.png","webpack:///./images/AppLogos/47.png","webpack:///./images/AppLogos/48.png","webpack:///./images/AppLogos/49.png","webpack:///./images/AppLogos/5.png","webpack:///./images/AppLogos/50.png","webpack:///./images/AppLogos/51.png","webpack:///./images/AppLogos/52.png","webpack:///./images/AppLogos/53.png","webpack:///./images/AppLogos/54.png","webpack:///./images/AppLogos/55.png","webpack:///./images/AppLogos/56.png","webpack:///./images/AppLogos/57.png","webpack:///./images/AppLogos/58.png","webpack:///./images/AppLogos/59.png","webpack:///./images/AppLogos/6.png","webpack:///./images/AppLogos/60.png","webpack:///./images/AppLogos/61.png","webpack:///./images/AppLogos/62.png","webpack:///./images/AppLogos/63.png","webpack:///./images/AppLogos/64.png","webpack:///./images/AppLogos/65.png","webpack:///./images/AppLogos/66.png","webpack:///./images/AppLogos/67.png","webpack:///./images/AppLogos/68.png","webpack:///./images/AppLogos/69.png","webpack:///./images/AppLogos/7.png","webpack:///./images/AppLogos/70.png","webpack:///./images/AppLogos/71.png","webpack:///./images/AppLogos/72.png","webpack:///./images/AppLogos/73.png","webpack:///./images/AppLogos/74.png","webpack:///./images/AppLogos/75.png","webpack:///./images/AppLogos/76.png","webpack:///./images/AppLogos/77.png","webpack:///./images/AppLogos/78.png","webpack:///./images/AppLogos/8.png","webpack:///./js/Core/BrowserCapabilitiesHelper.js","webpack:///./js/Core/ChromeBrowserCore.js","webpack:///./js/Core/TokenBrokerAuthHelper.js","webpack:///./js/Core/StringCustomizationObservables.js","webpack:///./images sync nonrecursive ^.+\\/signin-.+\\.(png|svg)$","webpack:///./images/signin-apple-white.png","webpack:///./images/signin-apple-white.svg","webpack:///./images/signin-apple.png","webpack:///./images/signin-apple.svg","webpack:///./images/signin-externalidp.png","webpack:///./images/signin-externalidp.svg","webpack:///./images/signin-facebook.png","webpack:///./images/signin-fluent-facebook.png","webpack:///./images/signin-fluent-facebook.svg","webpack:///./images/signin-github-white.png","webpack:///./images/signin-github-white.svg","webpack:///./images/signin-github.png","webpack:///./images/signin-github.svg","webpack:///./images/signin-google.png","webpack:///./images/signin-google.svg","webpack:///./images/signin-linkedin-white.png","webpack:///./images/signin-linkedin-white.svg","webpack:///./images/signin-linkedin.png","webpack:///./images/signin-linkedin.svg","webpack:///./images/signin-microsoft.png","webpack:///./images/signin-microsoft.svg","webpack:///./images/signin-options-white.png","webpack:///./images/signin-options-white.svg","webpack:///./images/signin-options.png","webpack:///./images/signin-options.svg","webpack:///./images/signin-qrpin-white.png","webpack:///./images/signin-qrpin-white.svg","webpack:///./images/signin-qrpin.png","webpack:///./images/signin-qrpin.svg","webpack:///C:/__w/1/s/out/retail-amd64/Microsoft.Identity.UX.Telemetry/release/EClientEvent.js","webpack:///Microsoft.Identity.UX.Telemetry/webpack/universalModuleDefinition","webpack:///Microsoft.Identity.UX.Telemetry/webpack/bootstrap","webpack:///Microsoft.Identity.UX.Telemetry/ts/Constants.ts","webpack:///Microsoft.Identity.UX.Telemetry/ts/Utils.ts","webpack:///Microsoft.Identity.UX.Telemetry/ts/EventApi.ts","webpack:///Microsoft.Identity.UX.Telemetry/ts/TelemetryHelper.ts","webpack:///./html/LoginPage/ConvergedLoginPaginatedPageHtml.html","webpack:///./js/Core/CookieBannerControlViewModel.js","webpack:///./html/Shared/Controls/ConvergedCookieBannerControlHtml.html","webpack:///./html/Shared/Controls/AccessibleImageControlHtml.html","webpack:///./images/info_white.png","webpack:///./images/info_white.svg","webpack:///./images/info.png","webpack:///./images/info.svg","webpack:///./js/Core/DialogControlViewModel.js","webpack:///./html/Shared/Controls/ConvergedDialogControlHtml.html","webpack:///./html/LoginPage/Fields/FooterButtons/ConvergedFooterButtonsFieldHtml.html","webpack:///./js/Core/PltHelper.js","webpack:///./html/Shared/Controls/InstrumentationControlHtml.html","webpack:///./html/Shared/Controls/LogoControlHtml.html","webpack:///./images/microsoft_logo_white.png","webpack:///./images/microsoft_logo_white.svg","webpack:///./images/microsoft_logo.png","webpack:///./images/microsoft_logo.svg","webpack:///./html/Shared/Controls/ConvergedMarchingAntsControlHtml.html","webpack:///./images/marching_ants_white.gif","webpack:///./images/marching_ants.gif","webpack:///./images/AppCentipede sync nonrecursive ^.+","webpack:///./images/AppCentipede/AppCentipede_Beam.png","webpack:///./images/AppCentipede/AppCentipede_Beam.svg","webpack:///./images/AppCentipede/AppCentipede_Beam_white.png","webpack:///./images/AppCentipede/AppCentipede_Beam_white.svg","webpack:///./images/AppCentipede/AppCentipede_Bing.png","webpack:///./images/AppCentipede/AppCentipede_Bing.svg","webpack:///./images/AppCentipede/AppCentipede_Bing_white.png","webpack:///./images/AppCentipede/AppCentipede_Bing_white.svg","webpack:///./images/AppCentipede/AppCentipede_Cortana.png","webpack:///./images/AppCentipede/AppCentipede_Cortana.svg","webpack:///./images/AppCentipede/AppCentipede_Cortana_white.png","webpack:///./images/AppCentipede/AppCentipede_Cortana_white.svg","webpack:///./images/AppCentipede/AppCentipede_Excel.png","webpack:///./images/AppCentipede/AppCentipede_Excel.svg","webpack:///./images/AppCentipede/AppCentipede_Excel_white.png","webpack:///./images/AppCentipede/AppCentipede_Excel_white.svg","webpack:///./images/AppCentipede/AppCentipede_Health.png","webpack:///./images/AppCentipede/AppCentipede_Health.svg","webpack:///./images/AppCentipede/AppCentipede_Health_white.png","webpack:///./images/AppCentipede/AppCentipede_Health_white.svg","webpack:///./images/AppCentipede/AppCentipede_MSN.png","webpack:///./images/AppCentipede/AppCentipede_MSN.svg","webpack:///./images/AppCentipede/AppCentipede_MSN_white.png","webpack:///./images/AppCentipede/AppCentipede_MSN_white.svg","webpack:///./images/AppCentipede/AppCentipede_Microsoft.png","webpack:///./images/AppCentipede/AppCentipede_Microsoft.svg","webpack:///./images/AppCentipede/AppCentipede_Microsoft_white.png","webpack:///./images/AppCentipede/AppCentipede_Microsoft_white.svg","webpack:///./images/AppCentipede/AppCentipede_MileIQ.png","webpack:///./images/AppCentipede/AppCentipede_MileIQ.svg","webpack:///./images/AppCentipede/AppCentipede_MileIQ_white.png","webpack:///./images/AppCentipede/AppCentipede_MileIQ_white.svg","webpack:///./images/AppCentipede/AppCentipede_Minecraft.png","webpack:///./images/AppCentipede/AppCentipede_Minecraft.svg","webpack:///./images/AppCentipede/AppCentipede_Minecraft_white.png","webpack:///./images/AppCentipede/AppCentipede_Minecraft_white.svg","webpack:///./images/AppCentipede/AppCentipede_Office.png","webpack:///./images/AppCentipede/AppCentipede_Office.svg","webpack:///./images/AppCentipede/AppCentipede_Office_white.png","webpack:///./images/AppCentipede/AppCentipede_Office_white.svg","webpack:///./images/AppCentipede/AppCentipede_OneDrive.svg","webpack:///./images/AppCentipede/AppCentipede_OneDrive_white.svg","webpack:///./images/AppCentipede/AppCentipede_Onedrive.png","webpack:///./images/AppCentipede/AppCentipede_Onedrive_white.png","webpack:///./images/AppCentipede/AppCentipede_Outlook.png","webpack:///./images/AppCentipede/AppCentipede_Outlook.svg","webpack:///./images/AppCentipede/AppCentipede_Outlook_white.png","webpack:///./images/AppCentipede/AppCentipede_Outlook_white.svg","webpack:///./images/AppCentipede/AppCentipede_PowerPoint.png","webpack:///./images/AppCentipede/AppCentipede_PowerPoint.svg","webpack:///./images/AppCentipede/AppCentipede_PowerPoint_white.png","webpack:///./images/AppCentipede/AppCentipede_PowerPoint_white.svg","webpack:///./images/AppCentipede/AppCentipede_Skype.png","webpack:///./images/AppCentipede/AppCentipede_Skype.svg","webpack:///./images/AppCentipede/AppCentipede_SkypeDialer.png","webpack:///./images/AppCentipede/AppCentipede_SkypeDialer.svg","webpack:///./images/AppCentipede/AppCentipede_SkypeDialer_white.png","webpack:///./images/AppCentipede/AppCentipede_SkypeDialer_white.svg","webpack:///./images/AppCentipede/AppCentipede_Skype_white.png","webpack:///./images/AppCentipede/AppCentipede_Skype_white.svg","webpack:///./images/AppCentipede/AppCentipede_Word.png","webpack:///./images/AppCentipede/AppCentipede_Word.svg","webpack:///./images/AppCentipede/AppCentipede_Word_white.png","webpack:///./images/AppCentipede/AppCentipede_Word_white.svg","webpack:///./images/AppCentipede/AppCentipede_Xbox.png","webpack:///./images/AppCentipede/AppCentipede_Xbox.svg","webpack:///./images/AppCentipede/AppCentipede_Xbox_white.png","webpack:///./images/AppCentipede/AppCentipede_Xbox_white.svg","webpack:///./html/Shared/Masters/ConvergedMasterPageHtml.html","webpack:///./js/Core/LightboxTemplateViewModel.js","webpack:///./html/Shared/Templates/ConvergedLightboxTemplateHtml.html","webpack:///./html/Shared/Controls/ConvergedBackgroundImageControlHtml.html","webpack:///./html/Shared/Controls/ConvergedEnvironmentBannerControlHtml.html","webpack:///./html/Shared/Controls/ConvergedContentControlHtml.html","webpack:///./js/Core/PageLevelTitleControlViewModel.js","webpack:///./html/Shared/Controls/ConvergedPageLevelTitleControlHtml.html","webpack:///./js/Core/DebugDetailsKnockoutExtensions.js","webpack:///./html/Shared/Controls/ConvergedDebugDetailsControlHtml.html","webpack:///./images/check_small_white.png","webpack:///./images/check_small_white.svg","webpack:///./images/check_small.png","webpack:///./images/check_small.svg","webpack:///./images/close_white.png","webpack:///./images/close_white.svg","webpack:///./images/close.png","webpack:///./images/close.svg","webpack:///./js/Core/FedCredButtonsControlViewModel.js","webpack:///./html/Shared/Controls/ConvergedFedCredButtonsControlHtml.html","webpack:///./js/LoginPage/QrCodePinHelpDialogContentControlViewModel.js","webpack:///./html/LoginPage/Controls/ConvergedQrCodePinHelpDialogContentControlHtml.html","webpack:///./html/Shared/Controls/ConvergedFooterControlHtml.html","webpack:///./js/Core/BrowserHistory.js","webpack:///./html/Shared/Controls/ConvergedPaginationControlHtml.html","webpack:///./js/Core/IdentityBannerControlViewModel.js","webpack:///./html/Shared/Controls/ConvergedIdentityBannerControlHtml.html","webpack:///./images/arrow_left_white.png","webpack:///./images/arrow_left_white.svg","webpack:///./images/arrow_left.png","webpack:///./images/arrow_left.svg","webpack:///./images/arrow_right_white.png","webpack:///./images/arrow_right_white.svg","webpack:///./images/arrow_right.png","webpack:///./images/arrow_right.svg","webpack:///./js/LoginPage/LoginPaginatedUsernameViewModel.js","webpack:///./images sync ^\\.\\/msaServerSignInLottie_.*\\.json$","webpack:///./images/msaServerSignInLottie_1.json","webpack:///./images/msaServerSignInLottie_2.json","webpack:///./images/msaServerSignInLottie_3.json","webpack:///./html/LoginPage/ConvergedLoginPaginatedUsernameViewHtml.html","webpack:///./html/Shared/Fields/PlaceholderTextbox/PlaceholderTextboxFieldHtml.html","webpack:///./html/LoginPage/Controls/ConvergedCredSwitchLinkControlHtml.html","webpack:///./html/LoginPage/Controls/ConvergedFidoHelpButtonControlHtml.html","webpack:///./html/LoginPage/Controls/ConvergedFidoHelpDialogContentControlHtml.html","webpack:///./html/LoginPage/Controls/ConvergedHeaderControlHtml.html","webpack:///./js/LoginPage/SeeHowDataIsManagedViewModel.js","webpack:///./html/LoginPage/ConvergedSeeHowDataIsManagedHtml.html","webpack:///./js/Shared/MoreInfoViewModel.js","webpack:///./html/Shared/Views/ConvergedMoreInfoViewHtml.html"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","ArrayPrototypeSlice","installedModules","24","__webpack_require__","exports","module","l","Function","bind","Array","slice","otherThis","this","TypeError","baseArgs","arguments","baseArgsLength","fToBind","fNOP","fBound","apply","isPrototypeOf","document","head","getElementsByTagName","Promise","executor","_this","_state","_settledValue","_queue","_processQueue","pending","setTimeout","len","_resolve","value","_reject","reason","then","onFulfilled","onRejected","resolve","reject","error","_enqueue","createPromiseAllHandlerFunction","values","index","doneCheck","rejectOnError","isFulfilled","status","iteratePromises","iterable","item","createPromiseRaceCallResolveFunction","all","allSettled","race","window","e","promises","installedChunkData","promise","serverData","ServerData","cdnRoots","loader","maxRetry","slMaxRetry","Error","script","loadScript","src","retryCount","onScriptComplete","createElement","charset","timeout","scriptWithNonce","querySelector","nonce","getAttribute","setAttribute","event","onerror","onload","clearTimeout","chunk","errorType","type","realSrc","target","message","name","request","undefined","SRSRetry","external","notify","JSON","stringify","args","context","retryScript","url","indexOf","substring","fallbackCdn","appendChild","p","jsonpScriptSrc","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","t","mode","__esModule","ns","create","key","n","object","property","oe","err","console","jsonpArray","oldJsonpFunction","s","UsernameMaxLength","SATOTPV1Length","SATOTPLength","SAEOTPLength","PhoneNumberConfirmationLength","OneTimeCodeDefaultLength","OneTimeCodeMaxAcceptedLength","PCExperienceQS","PCExperienceDisabled","NotPreferredCredentialQs","AnimationTimeout","PageSummaryVersion","GuidTemplate","proofUpCorrelationIdParamName","Regex","PhoneNumberValidation","ProofUpRedirectLandingView","AccountCompromised","RiskySession","LoginMode","None","Login","ForceCredType","LWAConsent","GenericError","ForceSignin","OTS","HIP_Login","HIP_Lockout","InviteBlocked","SwitchUser","LWADelegation","ServiceBlocked","IDPFailed","StrongAuthOTC","StrongAuthMobileOTC","Finish","LoginWizard_Login","StrongAuthWABOTC","LoginWizard_HIP_Login","LoginWizard_Finish","LoginMobile","ForceSigninMobile","GenericErrorMobile","LoginHost","ForceSigninHost","GenericErrorHost","StrongAuthHostOTC","HIP_LoginHost","HIP_LoginMobile","HIP_LockoutHost","HIP_LockoutMobile","SwitchUserHost","LoginXbox_Login","HIP_LoginXbox","FinishXbox","IfExistsXbox","StartIfExistsXbox","StrongAuthXboxOTC","LoginWPWiz_Login","LoginWPWiz_HIP_Login","LoginWPWiz_Finish","StrongAuthWizOTC","StrongAuthWPWizOTC","FinishWPWiz","SwitchUserMobile","LoginWPWiz_PhoneSignIn","LoginWPWiz_HIP_PhoneSignIn","Login_PhoneSignIn","Login_HIP_PhoneSignIn","LoginHost_PhoneSignIn","LoginHost_HIP_PhoneSignIn","LoginMobile_PhoneSignIn","LoginMobile_HIP_PhoneSignIn","LoginWizard_PhoneSignIn","LoginWizard_HIP_PhoneSignIn","LoginXbox_PhoneSignIn","LoginXbox_HIP_PhoneSignIn","LoginWin10","HIP_LoginWin10","FinishWin10","FinishBlockedWin10","LoginWin10_PhoneSignIn","HIP_LoginWin10_PhoneSignIn","FinishWin10_TokenBroker","SwitchUserWin10","ForceSignInXbox","LoginClientSDK_Login","LoginClientSDK_HIP_Login","LoginClientSDK_Finish","StrongAuthClientSDKOTC","FinishClientSDK","LoginClientSDK_PhoneSignIn","LoginClientSDK_HIP_PhoneSignIn","Win10InclusiveOOBE_Finish","Win10InclusiveOOBE_FinishBlocked","Tiles","RemoteConnect","FedConflict","Win10Host_Login","Win10Host_Login_PhoneSignin","Win10Host_Finish","Win10Host_StrongAuth","Win10Host_HIP_Login","Fido","Win10Host_HIP_Login_PhoneSignIn","FedLink","UserCredentialPolicyBlocked","BindFailed","Win10HostOOBE_HIP_Login","Win10HostOOBE_HIP_Login_PhoneSignIn","AadFedConflict","ProofFedConflict","FedBoundLink","FetchSessionsProgress","Win10Host_TransferLogin","TransferLogin","Signup","CredentialPicker","SignupBlocked","QrCodePin","LoginBody","Login_OTC","SessionPullFlags","Msa","Dsso","ResponseMode","Fragment","Query","FormPost","NotSpecified","Unsupported","ResponseType","code","token","id_token","none","PaginatedState","Previous","Unknown","Username","Password","OneTimeCode","RemoteNGC","PhoneDisambiguation","LwaConsent","IdpDisambiguation","IdpRedirect","ViewAgreement","LearnMore","ConfirmSend","RemoteConnectCode","RemoteLoginPolling","BindRedirect","TermsOfUse","DesktopSsoProgress","ResetPasswordSplitter","Kmsi","CheckPasswordType","ChangePassword","Consent","ConfirmSignup","ConfirmRecoverUsername","ConfirmConsentSelection","ProofUpRedirect","ProofUpRedirectLanding","ConditionalAccessInstallBroker","ConditionalAccessWorkplaceJoin","ConditionalAccessError","CreateFido","FedLinkComplete","IdpRedirectSpeedbump","Cmsi","ProofConfirmation","MessagePrompt","FinishError","Hip","LearnMoreOfflineAccount","TenantDisambiguation","RemoteConnectCanaryValidation","PartnerCanaryValidation","AccessPass","SignupUsername","ReportSuspiciousApp","MoreInfo","AuthenticatorAddAccountView","SignupCredentialPicker","LoginError","SearchOrganization","Ptca","GuestConsent","RemoteConnectLocation","AttributeCollection","RdpDevicePrompt","GuestConsentConnect","SeeHowDataIsManaged","SecurityDefaultsUpsell","SecurityDefaultsUpsellOptOut","SecurityDefaultsUpsellAutoEnabled","WebNativeBridge","TransferLoginChallengePin","RecoveryCredentialPicker","OneTimeCodeRecovery","PhoneLinkLearnMore","PhoneLinkSupport","CertificateInterstitialView","ConsentResourceApp","VCPresentation","QrCodeScan","AttributeCollectionRedirect","PostType","Federation","SHA1","StrongAuth","StrongAuthTOTP","PasswordInline","SessionApproval","NGC","OtcNoPassword","RemoteConnect_NativePlatform","OTC","TransferTokenOTC","UserProperty","USERNAME","ERROR_CODE","ERR_MSG","EXT_ERROR","ERR_URL","DATOKEN","DA_SESKEY","DA_START","DA_EXPIRE","STS_ILFT","SIGNINNAME","FIRST_NAME","LAST_NAME","TILE_URL","CID","PUID","DEFAULT_CHANNEL_ID","DEFAULT_PREFERRED_EXTENSION_ID","WebNativeBridgeSuccess","DFPPrefix","S_OK","InvalidRealmDiscLogin","UsernameInvalid","PasswordEmpty","HIPEmpty","AltEmailInvalid","PhoneInvalid","SAContainsName","OTCEmpty","OTCInvalid","NotEnoughProofs","PhoneEmpty","FedUser","FedUserConflict","FedUserInviteBlocked","EmptyFields","PhoneHasSpecialChars","AutoVerifyNoCodeSent","ProofConfirmationEmpty","ProofConfirmationInvalid","TOTPInvalid","SessionNotApproved","PhoneNumberInvalid","PhoneFormattingInvalid","PollingTimedOut","SendNotificationFailed","Server_MessageOnly","PP_E_DB_MEMBERDOESNOTEXIST","PP_E_EXCLUDED","PP_E_MEMBER_LOCKED","PP_E_BAD_PASSWORD","PP_E_MISSING_MEMBERNAME","PP_E_MISSING_PASSWORD","PP_E_FEDERATION_INLINELOGIN_DISALLOWED","PP_E_PE_RULEFALSE","PP_E_MOBILECREDS_PHONENUMBER_BLANK","PP_E_MOBILECREDS_PHONENUMBER_TOOSHORT","PP_E_MOBILECREDS_PHONENUMBER_TOOLONG","PP_E_MOBILECREDS_PHONENUMBER_INVALID","PP_E_NAME_BLANK","PP_E_EMAIL_INCOMPLETE","PP_E_EMAIL_INVALID","PP_E_NAME_TOO_SHORT","PP_E_NAME_INVALID","PP_E_INVALIDARG","PP_E_SA_TOOSHORT","PP_E_SA_TOOLONG","PP_E_INVALID_PHONENUMBER","PP_E_SECRETQ_CONTAINS_SECRETA","PP_E_SECRETA_CONTAINS_SECRETQ","PP_E_SA_CONTAINS_MEMBERNAME","PP_E_STRONGPROCESS_ALTEMAILSAMEASMAILBOX","PP_E_EMAIL_RIGHT_TOO_LONG","PP_E_NAME_TOO_LONG","PP_E_ALIAS_AUTH_NOTPERMITTED","PP_E_TOTP_INVALID","PP_E_OLD_SKYPE_PASSWORD","PP_E_OTT_DATA_INVALID","PP_E_OTT_ALREADY_CONSUMED","PP_E_OTT_INVALID_PURPOSE","PP_E_PPSA_RPT_NOTOADDRESS","PP_E_STRONGPROCESS_BADDEVICENAME","PP_E_INLINELOGIN_INVALID_SMS","PP_E_INLINELOGIN_INVALID_ALT","PP_E_PREVIOUS_PASSWORD","PP_E_HIP_VALIDATION_WRONG","PP_E_HIP_VALIDATION_ERROR_FATAL","PP_E_HIP_VALIDATION_ERROR_UNAUTHENTICATED","PP_E_HIP_VALIDATION_ERROR_OTHER","PP_E_SQ_CONTAINS_PASSWORD","PP_E_SA_CONTAINS_PASSWORD","PP_E_SA_CONTAINED_IN_PASSWORD","PP_E_LIBPHONENUMBERINTEROP_NUMBERPARSE_EXCEPTION","PP_E_STRONGPROCESS_EMAIL_HAS_MOBILE_DOMAIN","PP_E_STRONGPROCESS_MXALIAS_NOTALLOWED","PP_E_INVALID_MEMBERNAME","PP_E_SA_TOO_MANY_CACHE_SESSIONS","PP_E_INTERFACE_DISABLED","PP_E_ASSOCIATE_DUPLICATE_ACCOUNT","PP_E_OAUTH_REMOTE_CONNECT_USER_CODE_MISSING_OR_INVALID","PP_E_LOGIN_NOPA_USER_PASSWORD_REQUIRED","PP_E_IDP_LINKEDIN_BINDING_NOT_ALLOWED","PP_E_IDP_GOOGLE_BINDING_NOT_ALLOWED","PP_E_IDP_GITHUB_BINDING_NOT_ALLOWED","PP_E_IDP_BINDING_EXISTS_SAMSUNG","PP_E_TRANSFER_TOKEN_INVALID_SESSION","EstsError","UserAccountSelectionInvalid","UserUnauthorized","UserUnauthorizedApiVersionNotSupported","UserUnauthorizedMsaGuestUsersNotSupported","UserAccountNotFound","UserAccountDeleted","UserAlreadyExists","UserAccountNotFoundNotConfiguredForRemoteNgc","UserAccountNotFoundFailedToCreateRemoteSignIn","UserAccountNotFoundForFidoSignIn","IdsLocked","InvalidPasswordLastPasswordUsed","InvalidPasswordExpiredPassword","InvalidPasswordNullPassword","UserDisabled","GuestUserDisabled","FlowTokenExpired","InvalidUserNameOrPassword","InvalidDomainName","ProtectedKeyMisuse","MissingCustomSigningKey","IdpLoopDetected","InvalidOneTimePasscode","ExpiredOneTimePasscode","OneTimePasscodeCacheError","OneTimePasscodeCacheErrorNoMoreOTPGenerated","OneTimePasscodeEntryNotExist","OneTimePasscodeMessageDeliveryFailed","InvalidPassword","InvalidOneTimePasscodeOTPNotGiven","InvalidGrantDeviceNotFound","SsoArtifactExpiredDueToConditionalAccess","SsoArtifactExpiredDueToConditionalAccessReAuth","InvalidTenantName","InvalidTenantNameEmptyGuidIdentifier","InvalidTenantNameEmptyIdentifier","InvalidTenantNameFormat","PhoneSignInBlockedByUserCredentialPolicy","AccessPassBlockedByPolicy","InvalidAccessPass","AccessPassExpired","AccessPassAlreadyUsed","PublicIdentifierSasBeginCallRetriableError","PublicIdentifierAuthUserNotAllowedByPolicy","PublicIdentifierSasBeginCallNonRetriableError","PublicIdentifierSasEndCallRetriableError","PublicIdentifierSasEndCallNonRetriableError","DeviceIsDisabled","FidoBlockedByPolicy","PasskeyBlockedByPolicyOtherAuthAppPasskeyAvailable","PasskeyBlockedByPolicyOtherPasskeyAvailable","PasskeyAuthInterrupted","BlockedAdalVersion","BlockedClientId","InvalidCredentialDueToMfaClassification","ProofupBlockedDueToMfaClassification","NoEmailAddressCollectedFromExternalOidcIDP","EmailAddressCollectedFromExternalOidcIDPNotVerified","EmailAddressCollectedFromExternalOidcIDPNotPublic","NoExternalIdentifierCollectedFromExternalOidcIDP","UserVoiceAuthFailedCallWentToVoicemail","UserVoiceAuthFailedInvalidPhoneInput","UserVoiceAuthFailedPhoneHungUp","UserVoiceAuthFailedInvalidPhoneNumber","UserVoiceAuthFailedInvalidExtension","InvalidFormat","UserAuthFailedDuplicateRequest","UserVoiceAuthFailedPhoneUnreachable","UserVoiceAuthFailedProviderCouldntSendCall","User2WaySMSAuthFailedProviderCouldntSendSMS","SMSAuthFailedProviderCouldntSendSMS","User2WaySMSAuthFailedNoResponseTimeout","SMSAuthFailedNoResponseTimeout","SMSAuthFailedWrongCodeEntered","IncorrectOTP","OathCodeIncorrect","OathCodeDuplicate","OathCodeOld","ProofDataNotFound","OathCodeCorrectButDeviceNotAllowed","OathCodeFailedMaxAllowedRetryReached","InvalidSession","PhoneAppNoResponse","User2WaySMSAuthFailedWrongCodeEntered","PhoneAppInvalidResult","PhoneAppDenied","PhoneAppTokenChanged","SMSAuthFailedMaxAllowedCodeRetryReached","PhoneAppFraudReported","FraudCodeEntered","UserIsBlocked","PhoneAppEntropyIncorrect","VoiceOTPAuthFailedWrongCodeEntered","VoiceOTPAuthFailedMaxAllowedCodeRetryReached","AccessPassBlockedByPolicyTfa","InvalidAccessPassTfa","AccessPassExpiredTfa","AccessPassAlreadyUsedTfa","AppLockRequiredButNotUsed","IncompatibleAppVersion","FlowTokenExpiredTfa","ApplicationUsedIsNotAnApprovedAppRequiredByConditionalAccess","BlockedByConditionalAccess","BlockedByConditionalAccessForRemoteDeviceFlow","BrokerAppNotInstalled","BrokerAppNotInstalledDeviceAuthenticationFailed","DeviceIsNotWorkplaceJoined","DeviceIsNotWorkplaceJoinedForMamApp","DeviceNotCompliant","DeviceNotCompliantBrowserNotSupported","DeviceNotCompliantDeviceCompliantRequired","DeviceNotCompliantDeviceManagementRequired","DeviceNotDomainJoined","DeviceNotDomainJoinedBrowserNotSupported","ProofUpBlockedDueToRisk","ProofUpBlockedDueToUserRisk","RemediateCompliantApp","RemediateDeviceStateManagedBrowserRequired","RemediateDeviceStateWorkplaceJoinRequired","AuthenticatorAppRegistrationRequiredInterrupt","AuthenticatorAppRegistrationEnforcementInterrupt","UserStrongAuthEnrollmentRequiredInterrupt","UserStrongAuthClientAuthNRequiredInterrupt","RequiredDeviceStateNotSupported","AdminConsentRequired","AdminConsentRequiredRequestAccess","CertificateValidationBlockedByPolicy","IssuerHintsPropagationDelay","TenantDoesNotSupportNativeCredentialRecovery","UserDoesNotSupportNativeCredentialRecovery","CredentialDoesNotSupportNativeRecovery","QrCodeKeyInvalidKey","InvalidRequestNonce","QrPinInvalid","InvalidGrantQrPinChanged","MaxUserPromptLength","FinishStates","Success","Cancel","NotSupported","UnexpectedErrorCode","EdgeErrorCodes","SyntaxError","NotFoundError","NotSupportedError","InvalidAccessError","AbortError","IfExistsResult","Exists","NotExist","Throttled","ExistsInOtherMicrosoftIDP","ExistsBothIDPs","ThrottleStatus","NotThrottled","AadThrottled","MsaThrottled","DomainType","Consumer","Managed","Federated","CloudFederated","CredentialType","CloudFederation","OtherMicrosoftIdpFederation","GitHub","PublicIdentifierCode","LinkedIn","RemoteLogin","Google","Facebook","Certificate","OfflineAccount","VerifiableCredential","NoPreferredCredential","RemoteNgcType","PushNotification","ListSessions","SessionPollingType","Image","Json","AgreementType","Privacy","Tou","Impressum","A11yConforme","ApiErrorCodes","GeneralError","AuthFailure","InvalidArgs","Generic","Timeout","Aborted","DefaultRequestTimeout","PROOF","Type","Email","AltEmail","SMS","DeviceId","CSS","SQSA","HIP","Birthday","TOTPAuthenticator","RecoveryCode","StrongTicket","TOTPAuthenticatorV2","TwoWayVoice","TwoWaySMS","FidoKey","TransferToken","CompanionApp","ExternalAuth","ConsolidatedTelephony","Voice","ContentType","FormUrlEncoded","BindProvider","Samsung","PromotedAltCredFlags","EnvironmentName","Internal","TestSlice","FirstSlice","AnimationState","Begin","End","RenderNewView","AnimateNewView","AnimationName","SlideOutNext","SlideInNext","SlideOutBack","SlideInBack","DialogId","FidoHelp","GitHubHelp","ConsentAppInfo","QrCodePinHelp","KeyCode","Tab","Enter","Escape","Space","PageUp","PageDown","Home","ArrowUp","ArrowDown","WinKeyLeft","F6","GamePadB","ProofOfPossession","AuthenticatorKey","CanaryTokenKey","MethodHint","UpgradeMigrationUXId","Invalid","Mojang","TransferLoginStringsVariant","Default","Mmx","MmxPhoneFirst","AppNameOnly","AppNameAndUsername","MmxGe","OutlookMobileCustom","TeamsMobileCustom","LayoutTemplateType","Lightbox","VerticalSplit","StringCustomizationPageId","ConditionalAccess","MessagePage","ProofUpPage","ErrorPage","LoginPage","ProofUpRedirectViewType","DefaultProofUpRedirectView","AuthAppProofUpRedirectView","ConfirmationInputDisplayType","Retype","RetypeWithReveal","SecurityDefaultsUpsellAction","Upsell","AutoEnable","AutoEnableAfterPrompt","ReevaluateLegacy","AutoEnabledNotify","Branding","DefaultBackgroundColor","CredentialDeviceType","SingleDevice","MultiDevice","AttestationParseError","InvalidAuthDataSize","SingleDeviceBackedUp","CBORDataEmpty","ExternalFederatedIdpType","Apple","CameraMode","Environment","User","Back","FidoConstants","require","Helpers","PromiseHelpers","ObjectHelpers","StringHelpers","String","ArrayHelpers","w","isEdge","isIEOlderThan","isFirefoxNewerThan","isChromeNewerThan","isChrome","isIOSSafari","isIOSUIWebView","isQtCarBrowser","isEdgeClientBrowser","isHighContrast","isPlaceholderAttributeAllowed","isHistorySupported","useSameSite","bk","isSvgSupported","useHighContrastDetectionMode","fUseHighContrastDetectionMode","HttpCode","Ok","NotModified","ClientClosedRequest","BrowserHelper","Helper","version","ieVersion","getIEVersion","windowsVersion","getWindowsVersion","navigator","userAgent","toLowerCase","firefoxVersion","getFirefoxVersion","chromeVersion","getChromeVersion","test","MSStream","isOnTouchStartEventSupported","documentElement","ua","msie","parseInt","rv","edge","match","RegExp","exec","parseFloat","$1","htmlEscape","text","textArea","innerText","innerHTML","htmlUnescape","html","getStackSize","maxUpperLimitOfStackSize","stackSize","isUnlimited","recurse","getAnimationEndEventName","testDiv","animations","style","isStackSizeGreaterThan","isSvgImgSupported","implementation","hasFeature","isHosted","isCSSAnimationSupported","supported","animationName","first","prefix","isStyleSupported","styleName","isCORSSupported","XDomainRequest","XMLHttpRequest","history","pushState","state","onpopstate","replaceState","isFidoSupportedAsync","isFidoSupportedHint","skipStandardSupportCheck","credentials","PublicKeyCredential","isUserVerifyingPlatformAuthenticatorAvailable","isExternalCTAP2SecurityKeySupported","newPromiseWithTimeout","PromiseTimeout","isChangingInputTypeSupported","getComputedSpan","span","borderLeftColor","borderRightColor","backgroundColor","position","top","body","computedStyle","getComputedStyle","removeChild","getIsHighContrastUsingCssMediaQuery","headStyle","div","className","computedContent","content","theme","getHighContrastTheme","doesColorMatchAnyList","colorString","rgbList","nonRgbList","isRgbOrRgbaMatch","color","g","b","trim","rgbValues","split","map","Number","nonRgbColor","replace","isBlackHighContrastTheme","isWhiteHighContrastTheme","isAquaticTheme","isDuskTheme","isDesertTheme","element","defaultView","currentStyle","title","addEventListener","eventType","handler","useCapture","attachEvent","removeEventListener","detachEvent","getEventTarget","srcElement","QueryStringHelper","QueryString","parse","originAndPath","query","fragment","queryStartIndex","fragmentStartIndex","doubleSplit","join","parsedUrl","appendCurrentQueryParameterIfNotExist","currentUrlFullQueryString","location","href","forEach","addIfNotExist","append","queryString","params","findOwnProperty","add","keyValuePairs","keyValuePair","addFragment","uniqueKey","includes","appendOrReplace","param","maxLength","existingParam","modifiedUrl","remove","extract","urlOrQueryString","search","appendOrReplaceFromCurrentUrl","currentValue","stripQueryStringAndFragment","CookieHelpers","Cookies","expireDate","persistTTLDays","cookieSafeRegex","enabled","cookieValue","Date","getTime","write","cookiesEnabled","getCookie","getCookies","cookie","cookies","getObject","domain","path","domainName","hostname","hostParts","partCount","cookieDomain","cookiePath","secure","protocol","secureContent","sameSiteContent","getDefaultSameSiteAttribute","format","persist","topLevel","addDomainPrefix","sameSite","parts","splice","Math","max","writeWithExpiration","getPersistDate","expiresOn","_typeof","expiration","attributes","maxValueLen","chunks","ceil","suffix","toString","chunkValue","chunkToWrite","chunkName","cookieToWrite","isCookieSafeValue","str","date","setDate","getDate","toUTCString","documentMode","userAgentOverride","matches","ko","StringHelpersLite","assignRecursive","assignRecursiveWithCurrentDepth","concat","currentDepth","source","prop","clone","result","delimeter","separator","obj","action","utils","objectForEach","propertyName","ignoreCase","propertyNameLower","extend","find","searchString","startIndex","delimiterOne","delimiterTwo","multiValuedKeys","keyTransformFunc","isEmailAddress","charAt","atIndex","BA","asciiRegex","isPhoneNumber","digits","isSkypeName","skypeRegex","extractDomain","removeDomainSuffix","includeDomainSeparator","lastIndexOf","extractDomainFromUrl","extractOriginFromUrl","origin","port","doOriginsMatch","requestUrl","responseOrigin","requestUrlOrigin","capFirst","toUpperCase","cleanseUsername","preserveLeadingPlusSign","maskString","charsToKeep","masked","utf8Encode","input","utftext","charCodeAt","fromCharCode","arrayFirst","arrayForEach","arrayMap","removeItem","arrayRemoveItem","arrayFilter","findIndex","array","predicate","DateTime","getCurrentTime","getUTCString","toISOString","ErrorData","errorText","remediationText","tracingOptions","handlerResponse","triggered","eventArgs","observable","subscribe","callback","eventArgsValue","peek","isComponentEvent","isObservable","Browser","AccessibleImageControl","lightImageNode","darkImageNode","_hasDarkBackground","hasDarkBackground","isHighContrastBlackTheme","isHighContrastWhiteTheme","components","register","viewModel","createViewModel","componentInfo","templateElements","templateNodes","templateNode","nodeType","template","synchronous","A","Tokens","Fed","DomainToken","FedDomain","Partner","LoginOption","DoNotRemember","RememberPWD","NothingChecked","StringsVariantId","SkypeMoveAlias","CombinedSigninSignup","CombinedSigninSignupDefaultTitle","RemoteConnectLogin","CombinedSigninSignupV2","CombinedSigninSignupV2WelcomeTitle","AllowedIdentitiesType","MsaOnly","AadOnly","Both","SessionIdp","Aad","ClientTracingEventIds","Event_LoginPaginatedUsernameView_onLoad","Event_LoginPaginatedPasswordView_onLoad","ComponentEvent_LoginPaginatedUsernameView_onShowDialog","ComponentEvent_LoginPaginatedUsernameView_onAgreementClick","ComponentEvent_LoginPaginatedPasswordView_onResetPassword","PropertyValue_LoginPaginatedPageView_IsFidoSupported","PropertyValue_LoginPaginatedUsernameView_Username","PropertyValue_LoginPaginatedUsernameView_ClientError","PropertyValue_LoginPaginatedPasswordView_Password","PropertyValue_LoginPaginatedPasswordView_ClientError","PropertyValue_LoginPaginatedPasswordView_KMSI","EventIds","Event_PaginationControl_ViewSwitch","Api_GetOneTimeCode","Api_GetOneTimeToken","Api_CanaryValidation","Api_GetCustomCss","Api_GetCredentialType","Api_CheckSessionState","Api_GetIwaSsoToken","Api_OtcAuthentication","Api_DeviceAuthentication","Api_BeginOtcAuthentication","Api_ConfirmOneTimeCode","Api_BeginSessionApproval","Api_EndSessionApproval","Api_Forget","Api_GetRecoveryCredentialType","Redirect_Unknown","Redirect_MSASignUpPage","Redirect_AADSignUpPage","Redirect_SkipZeroTouch","Redirect_ResetPasswordPage","Redirect_MSAUserRecoveryPage","Redirect_OtherIdpRedirection","Redriect_SwitchUser","EventLevel","Critical","Info","ApiRequest","CXH","Debug","Verbose","All","HidingMode","Hide","Mask","DataPointScope","ClientEvent","Global","EventStage","throwUnhandledExceptionOnRejection","ex","func","ClientTracingConstants","ClientTracingContext","ClientTracingHelper","tracingConfig","methodName","_initializingTime","_tracingEnabled","BE","AP","_clientTracing","_createClientTracingWrapper","createLoadClientTracingPromise","clientTracing","getInstance","logRedirection","redirectData","parameters","eventOptions","traceParameters","traceUrl","eventId","logEvent","eventLevel","getPropertyLogOption","tracingPropertyChange","getDefaultTextBoxPropertyLogOption","hidingMode","rateLimit","method","getPIITextBoxPropertyLogOption","getPasswordTextBoxPropertyLogOption","getDefaultEventTracingOptions","traceEventArgs","attachViewLoadClientTracingOptions","logUserInteractionEvent","traceBeginRequest","traceEndRequest","tracingObject","succeeded","setPageViewModel","logComponentEvent","logViewState","setViewViewModel","switchView","postEvent","instance","Ajax","Constants","$config","$Config","_checkApiCanary","checkApiCanary","_withCredentials","withCredentials","_breakCache","breakCache","_responseType","responseType","_notifyOnClientAbort","notifyOnClientAbort","_sasEndAuthPostToGetSwitch","aB","_fixUICrashForApiRequestHandler","Bj","_constructCommonHeaders","constructForQueryString","headers","hpgid","hpgact","Accept","apiCanary","canary","correlationId","sessionId","hpgrequestid","_constructJsonPostData","postData","jsonPostData","substr","_addCommonRequestParameters","ajaxParams","_traceBeginRequest","requestData","requestType","requestTimeout","contentType","noCallback","eventData","_traceEndRequest","_getErrorForTrace","xhr","textStatus","xhr_status","Errors","successCallback","failureCallback","headerData","qsParams","expectResponse","startTime","_parseError","response","responseText","isFatal","debugMessage","stackTrace","_handleResponse","dataObject","requestStats","endTime","encodeJson","errorString","debug","stacktrace","_failRequestWithErrorCode","errorCode","Get","ev","dataString","errorThrown","Post","postDataString","RequestType","targetUrl","timeoutCallback","Handler","sendRequest","header","newRequestUrl","Beacon","sendBeacon","global","f","toJSON","isFinite","valueOf","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","Boolean","cx","escapable","gap","indent","meta","rep","quote","string","lastIndex","a","holder","k","v","partial","mind","replacer","space","reviver","j","walk","eval","ComponentEvent","FooterButtonsViewModel","_primaryButtonId","_primaryButtonName","_serverData","_originalPrimaryButtonId","primaryButtonId","_fConsentButtonIdViaName","fConsentButtonIdViaName","_needsIdNameProtection","needsIdNameProtection","defaultButtonIdentifier","_focusOnPrimaryButton","_focusOnSecondaryButton","_secondaryButtonId","secondaryButtonId","_primaryButtonText","primaryButtonText","_secondaryButtonText","secondaryButtonText","_isPrimaryButtonVisible","isPrimaryButtonVisible","_isSecondaryButtonVisible","isSecondaryButtonVisible","_isPrimaryButtonEnabled","isPrimaryButtonEnabled","_isSecondaryButtonEnabled","isSecondaryButtonEnabled","focusOnPrimaryButton","focusOnSecondaryButton","_primaryButtonDescribedBy","primaryButtonDescribedBy","_secondaryButtonDescribedBy","secondaryButtonDescribedBy","_primaryButtonCss","primaryButtonCss","_secondaryButtonCss","secondaryButtonCss","_primaryButtonType","primaryButtonType","_removeBottomMargin","removeBottomMargin","_primaryButtonPreventTabbing","primaryButtonPreventTabbing","direction","hasOneButtonVisible","pureComputed","visibleButtons","primaryButtonAttributes","buttonAttributes","onPrimaryButtonClick","onSecondaryButtonClick","setTextPrimaryButton","setTextSecondaryButton","setVisibilityPrimaryButton","isButtonVisible","setVisibilitySecondaryButton","setEnabledPrimaryButton","isButtonEnabled","setEnabledSecondaryButton","primaryButton_onClick","secondaryButton_onClick","enableExtensions","requireDefaultBackgroundImage","requireAppBackgroundImage","requireAppBackgroundLogo","useNonMicrosoftDefaultBrandingForCiam","Ab","isCiamUserFlowUx","fIsCiamUserFlowUx","fixCustomCssRemoval","fRemoveCustomCss","enableLivePreview","fEnableLivePreview","BrandingHelpers","loadTenantBranding","brandingToUse","brandingObject","fallbackBranding","preferredBranding","brandingProperty","currentPreferredBranding","currentFallbackBranding","TileDarkLogo","TileLogo","getPageBranding","tenantBranding","appBranding","defaultImage","branding","useDefaultBackground","bannerLogoUrl","BannerLogo","BackgroundColor","Illustration","backgroundImageUrl","useTransparentLightBox","UseTransparentLightBox","useImageMask","backgroundImageIndex","backgroundLogoIndex","friendlyAppName","smallImageUrl","backgroundLogoUrl","urlLegacyBackgroundLogo","useSvg","getMergedBranding","staticTenantBranding","dynamicTenantBranding","isGlobalTenant","fallbackToResourceBranding","mergedBranding","BoilerPlateText","KeepMeSignedInDisabled","AccessRecoveryLink","CantAccessYourAccountText","ForgotPasswordText","hideAccountResetCredentials","LayoutTemplateConfig","getLayoutTemplateConfig","CustomizationFiles","newCustomizationFiles","strings","customCssUrl","layoutTemplateConfig","showHeader","headerLogo","layoutType","showFooter","hideTOU","hidePrivacy","createMergedBrandingObservables","masterPageMethods","isVerticalSplitTemplate","termsText","termsLink","privacyText","privacyLink","userIdLabel","cantAccessYourAccountText","forgotPasswordText","accessRecoveryLink","boilerPlateText","updateMergedBrandingObservables","updateBranding","FooterTOUText","FooterTOULink","FooterPrivacyText","FooterPrivacyLink","UserIdLabel","updateFavicon","defaultFaviconUrl","favicon","Favicon","removeCustomCss","customCssNode","loadCustomizationFiles","customizationLoader","isLoadComplete","customizationFiles","customStringsFiles","initialize","customResourceUrls","customCss","load","createCustomizationLoader","customizationLoaderObservable","pageId","customizationFilesLoader","MarchingAntsControl","useCssAnimation","AjaxHelpers","QueryStringHelpers","OtcProperties","Properties","State","SessionLookupKey","DisplaySignForUI","FlowToken","OtcPurpose","Purpose","NoPassword","OtcLogin","XboxRemoteConnect","OtcChannel","Channel","Authenticator","MobileSms","EmailAddress","VoiceCall","PushNotifications","VerifiableCredentials","OtcType","EmailAddressEncrypted","Mobile","MobileEncrypted","SessionApprover","Event","OnSend","OnSendFail","OnFlowExpired","OtcRequestParam","RequestParam","CanaryFlowToken","UIMode","PhoneCountry","PhoneCountryCode","UnauthSessionId","OtcStatus","Status","HIPError","FTError","InputError","DestinationError","ProofTypeToChannel","ProofTypeToOtcType","isEncrypted","Proof","_username","username","_flowToken","flowToken","_purpose","purpose","_proofType","proofType","_proofData","proofData","_isEncrypted","_uiMode","uiMode","_lcid","lcid","_phoneCountry","phoneCountry","_phoneCountryCode","phoneCountryCode","_unauthSessionId","unauthSessionId","_proofConfirmation","proofConfirmation","_canaryFlowToken","canaryFlowToken","Request","market","_status","_sessionKey","_displaySign","_data","_onSend","onSend","_onSendFail","onSendFail","_onFlowExpired","onFlowExpired","_timeout","_siteId","siteId","_clientId","clientId","_forwardedClientId","forwardedClientId","_noPaBubbleVersion","noPaBubbleVersion","_evt_AJAX_onsuccess","isFailed","json","getResponseJson","_evt_AJAX_onerror","_evt_AJAX_ontimeout","getOtcStatus","isComplete","getSessionKey","getDisplaySign","getFlowToken","generateRequestString","isAsync","TypeConverter","_publicKeyCredential","_platformKeySuppressedOS","B4","makeCredential","serverChallenge","id","membername","displayName","userProfileImageUrl","serverExcludeList","authenticator","rpId","excludeListParam","credentialId","base64UrlStringToArrayBuffer","supportedKeyAlgorithms","SupportedKeyAlgorithms","algorithm","alg","publicKey","challenge","stringToArrayBuffer","rp","user","icon","pubKeyCredParams","excludeCredentials","authenticatorSelection","authenticatorAttachment","requireResidentKey","userVerification","attestation","extensions","getAssertion","serverAllowList","allowListParam","publicKeyCredentialRequestOptions","allowCredentials","isPlatformAuthenticatorAvailable","Telemetry","_getDCAndRI","serverDetails","_getBuildVersion","ver","buildVersion","isArray","Bg","_config","_browserSense","browser","_clientEventsConfig","a2","_serverDetails","_uaid","correlationID","hostPageID","pageName","pgid","bX","actorID","aJ","appId","autoCaptureJsErrors","Bc","autoCaptureClicks","Bb","autoCaptureEvents","BB","a3","datacenter","role","roleInstance","IE","appInsightsConfig","PostChannel","disableXhrSync","TelemetryHelper","_initializeTelemetry","Otc","_request","_successCallback","_failureCallback","_clientTracingOptions","clientTracingOptions","_trackingObject","_sendOneTimeCode_onSuccess","_sendOneTimeCode_onFail","otcStatus","proofParams","otcRequestParams","LoginConstants","GctResultAction","GetCredentialTypeRequestHelper","ShowError","SwitchView","Redirect","GctRequestHelperFlags","CheckCurrentIdpOnly","IsPhoneNumberFullyQualified","DisableDesktopSsoPreferredCred","DisableAutoSend","ForceOtcLogin","IsPostRequest","IsSignup","flags","_isOtherIdpSupported","_useAltUsernameExistenceErrorPromise","_isFidoSupportedPromise","_getPoPAuthenticatorPromise","_blockBridge","_cache","_isTapRestrictedWsi","_checkCurrentIdpOnly","_isPhoneNumberFullyQualified","_disableDesktopSsoPreferredCred","_disableAutoSend","_forceOtcLogin","_isPostRequest","_isSignup","_strings","_unauthSessionID","J","_allowedIdentities","_isFederationDisabled","BQ","_isRemoteNGCSupported","BU","_showCookieBanner","B8","_isFidoSupportedHint","Am","_isOtcLoginDisabled","BS","_isNoPaOtcDisabled","BR","_isExternalFederationDisallowed","Bq","_isPassthroughDisallowed","Bt","_isPhoneNumberSignupDisallowed","BT","_isVerifiableCredentialsSupportEnabled","fIsVerifiableCredentialsSupportEnabled","_originalRequest","_redirectToSignupOnNotExists","Al","_checkProofForAliases","Bd","L","_getCredentialTypeUrl","CA","_isSignupAllowed","A0","_allowSkype","AZ","_msaSignupUrl","urlMsaSignUp","_signupUrl","_showInterstitialView","fUseCertificateInterstitialView","_signupUrlPostParams","u","_useConsumerEmailError","fUseConsumerEmailError","_otherIdpRedirectPostParams","_desktopSsoConfig","desktopSsoConfig","_federationRedirectQueryString","sFedQS","_staticTenantBranding","_dynamicTenantBranding","_isGlobalTenant","_country","fCheckForWindowsSku","country","_userProofData","arrProofData","_postProofType","b0","_changePasswordUrl","b9","_remoteConnectEnabled","Ba","_bindCookiesUsingPoP","fBindCookiesUsingPoP","_gctFederationFlags","bM","_ignoreViralUsers","fIgnoreViralUsers","_isAccessPassSupported","fAccessPassSupported","_hidePhoneCobasiInOtherSignIn","Bn","_isRestrictedWsi","fIsRestrictedWsi","_useResetPasswordUrlInPasswordRequiredError","bJ","_resetPasswordUrl","_isSelfServiceSignupUxEnabled","An","_enableWebNativeBridge","fEnableWebNativeBridge","wamExtensionId","sWAMExtension","wamChannelId","sWAMChannel","_canaryTokenName","canaryTokenName","_canary","_deprecateSmsAutoSend","fDeprecateSmsAutoSend","_useWebviewFidoCustomProtocol","fUseWebviewFidoCustomProtocol","_isQrCodePinSupported","fIsQrCodePinSupported","_isDFPFingerprintingAllowed","fEnableDFPIntegration","_isImprovedUsernameRecovery","fIsImprovedUsernameRecovery","_fixPhoneDisambigSignupRedirect","fFixPhoneDisambigSignupRedirect","_enableRefreshCookiesFix","fEnableRefreshCookiesFix","_enableFIDOBluetoothError","fEnableFIDOBluetoothError","_fixUrlExternalIdpFederation","fFixUrlExternalIdpFederation","_enableAwpError","fEnablePasskeyAwpError","_buildOtcCredentials","isDefault","isFidoSupported","otcLoginEligibleProofs","Credentials","OtcLoginEligibleProofs","otcCredentials","isCobasiApp","HasPhone","CobasiApp","eligibleProof","otcCredential","credType","proof","isVoiceOnly","smsCredential","otcSent","shownOnlyOnPicker","voiceEnabled","voiceCredential","_getPreferredCredential","hasPassword","HasPassword","display","Display","isNopa","_buildOtcProofStrings","clearDigits","_parseGetCredentialTypeResponse","otherIdpRedirectUrl","unsafe_username","useAltUsernameExistenceError","isCachedResponse","gctResult","desktopSsoEnabled","EstsProperties","DesktopSsoEnabled","lastUsernameTried","_isDesktopSsoAttemptedUsernameMatch","errorHr","ErrorHR","fedRedirectParams","_getFedRedirectParams","sharedData","getGctSharedData","_getGctResultShowErrorAction","_getGctResultSwitchViewAction","phoneDisambigError","_getInvalidPhoneNumberGctResult","RequiresPhoneDisambiguation","AliasDisabledForLogin","isSignupAllowedForUsername","_isSignupAllowedForUsername","estsProperties","isAadVerifiedDomain","IsProofForAlias","_getSignupRedirectGctResultForResponse","_getUsernameNotFoundGctResult","idpRedirectUrl","idpRedirectPostParams","idpRedirectProvider","_getOtherIdpRedirectGctResult","ShowRemoteConnect","isProofConfirmationRequired","preferredCredential","HasGoogleFed","HasCertAuth","HasFido","HasRemoteNGC","HasFacebookFed","unsafe_desktopSsoDomainToUse","sessionPullType","NativeBridgeRequest","Nonce","idpRedirectViewParams","paginatedState","OTCNotAutoSent","OtcNotAutoSent","SasParams","isPushNotification","RemoteNgcParams","DefaultType","_getAvailableCreds","_getEvictedCreds","_getGctResultRedirectAction","CertAuthParams","CertAuthUrl","_getCertAuthParams","_getUsernameFoundGctResult","hasIdpDisambigError","bypassCache","_handleGetCredentialTypeError","PrefCredential","SessionIdentifier","availableCredentials","sasParams","linkedInParams","LinkedInParams","gitHubParams","GitHubParams","googleParams","GoogleParams","facebookParams","FacebookParams","certAuthParams","qrCodePinParams","QrCodePinParams","FederationRedirectUrl","HasLinkedInFed","redirectUrl","LinkedInRedirectUrl","HasGitHubFed","GithubRedirectUrl","GoogleRedirectUrl","FacebookRedirectUrl","HasAccessPass","HasVerifiableCredential","HasQrCodePin","redirectPostParams","encodedUsername","encodeURIComponent","otherIdpRedirectPostParams","signupUrl","signupUrlPostParams","IsUnmanaged","SamlRequest","RelayState","SAMLRequest","HasExternalOidcFed","fedUrl","fedQs","decodeURIComponent","_buildFederationRedirectUrl","ctx","_getCleansedUsername","IsSignupDisallowed","viewId","viewParams","isBlockingError","isIdpRedirect","sendAsync","unsafe_cleansedUsername","cachedResponse","gctPromise","popAuthenticator","uaid","isOtherIdpSupported","isFederationDisabled","checkPhones","isRemoteNGCSupported","isCookieBannerShown","originalRequest","forceotclogin","otclogindisallowed","isExternalFederationDisallowed","isRemoteConnectSupported","federationFlags","isSignup","checkProofForAliases","noPaOtcDisallowed","isPassthroughDisallowed","isPhoneNumberSignupDisallowed","ignoreViralUsers","cpa","cpa_err","isAccessPassSupported","isQrCodePinSupported","_buildGetCredentialTypeRequest","_callGetCredentialTypeAsync","results","getResult","getState","cache","restoreState","cacheResponse","getSignupRedirectGctResult","getOtherIdpRedirectGctResult","ngcParams","fidoParams","FidoParams","remoteNgcDefaultType","remoteNgcShowAnimatedGifWhilePolling","ShowAnimatedGifWhilePolling","remoteNgcStyleCredSwitchLinkAsButton","StyleCredSwitchLinkAsButton","UserTenantBranding","DfpProperties","DfpUrl","V","Location","isTapRestrictedWsi","supportsNativeCredentialRecovery","SupportsNativeCredentialRecovery","availableCreds","evictedCreds","credential","useEvictedCredentials","remoteNgcParams","requestSent","sessionIdentifier","entropy","Entropy","defaultType","showAnimatedGifWhilePolling","styleCredSwitchLinkAsButton","otcParams","AllowList","allowList","hasMsftAuthAppPasskey","HasCrossDeviceCapablePasskey","hasMsftAndroidAuthAppPasskey","HasMsftAndroidAuthAppPasskey","hasOnlyMsftAndroidAuthAppPasskey","HasOnlyMsftAndroidAuthAppPasskey","callMetadata","CallMetadata","userTenantBranding","proofOfPossessionGenerator","computePoPAuthenticator","getBrowserCoreProvider","AjaxState","Unsent","Done","OnSuccess","OnError","OnTimeout","requestString","_response","_httpSuccessCodes","_event","_ajaxRequest","_isTimedOut","_isSupported","_timeoutObject","_isCrossDomain","_hasContentTypeParam","_hasHeadersParam","_hasHeaderValueParam","headerValue","_targetUrl","_requestType","_isAsync","_password","password","_contentType","_headers","_timeoutCallback","_onCompletion","successOverride","failOverride","isSuccess","statusText","_onTimeout","cancel","timeoutXhr","_onAbort","_clearTimeout","canceled","abortXhr","_onError","_setResponseAndComplete","_evt_readyState_onchange","_requestCompleted","success","xhrSupportsCORS","onreadystatechange","open","clearResponse","headerName","setRequestHeader","_initializeRequest","send","readyState","getStatus","abort","targetUrlDomain","_viewModelDictionary","_nullViewModelTracingContextObject","setDataPoint","dataPointName","dataPointValue","scope","options","tracingContextObject","_getTracingContextObject","tracingDataPoints","getTracingContextObject","getTracingContextObjects","tracingContextObjectsArray","registerTracingObservables","tracingObservables","deleteTracingContextObject","viewLoadClientTracingOptions","DialogContentControl","_dialogId","dialogId","_templateNodes","onRegisterDialog","onUnregisterDialog","dispose","FooterControl","_showLogo","showLogo","_showLinks","showLinks","_hideFooter","hideFooter","_debugDetails","debugDetails","_showDebugDetails","showDebugDetails","_useDefaultBackground","_showFooter","_hideTOU","_hidePrivacy","_termsText","_privacyText","_customTermsLink","_customPrivacyLink","_isHosted","q","_isChinaDc","fIsChinaDc","_termsLink","aU","aV","_privacyLink","au","AW","_impressumLink","aw","_a11yConformeLink","a11yConformeLink","_icpLink","urlGallatinIcp","_enableLivePreview","handleLegalLink","agreementType","onAgreementClick","onShowDebugDetails","onSwitchView","focusMoreInfo","showIcpLicense","impressumLink","icpLink","privacyLink_onClick","termsLink_onClick","impressumLink_onClick","services_onClick","a11yConformeLink_onClick","moreInfo_onClick","setDebugDetailsState","focusMoreInfoLink","PlatformTimeout","FidoCreateCallUnexpectedResponse","DebugDetailsExtensions","DateTimeHelpers","DebugDetailsViewModel","_isDebugTracingEnabled","isDebugTracingEnabled","_useWiderWidth","useWiderWidth","_exceptionMessage","ao","_setDebugModeUrl","urlSetDebugMode","_postUsername","G","_signinName","sSigninName","_errorCode","sErrorCode","_setDebugMode_onSuccess","sending","onSetDebugTracing","_setDebugMode_onError","debugModeError","onCloseBanner","showBanner","showDebugDetailsCopyMessage","isFocusActivated","unsafe_exceptionMessage","hideBanner_onClick","setDebugMode_onClick","apiRequest","activateFocus","timestamp","applyExtensions","FidoHelpButtonControl","_isPlatformAuthenticatorAvailable","onShowDialog","hasFocus","fidoHelp_onClick","applyExtenders","extenders","preventExternalWrite","initialValue","read","newValue","flowTokenUpdate","sFTTag","sFT","logValue","loadImageFromUrl","image","GetOneTimeCodeHelper","CredSwitchLinkControl","_availableCreds","_currentCred","currentCred","_showForgotUsername","showForgotUsername","_hideCredSwitchLink","hideCredSwitchLink","_ariaDescribedBy","ariaDescribedBy","_setFocus","setFocus","_forgotUsernameUrl","H","h","I","_showSignInOptionsAsButton","AO","_isOfflineAccountVisible","U","_IsPasskeySupportEnabled","fIsPasskeySupportEnabled","_credViewMap","_selectedCred","_fidoLinkText","_setFlowToken","onSetPendingRequest","errorNumericId","credLinkError","onUpdateFlowToken","onRedirect","credentialCount","selectedCredType","selectedCredShownOnlyOnPicker","switchToCredId","switchToCredText","showSwitchToCredPickerLink","isUserKnown","displayHelp","isOfflineAccountVisible","view_onUpdateFlowToken","switchToCredPicker_onClick","switchToCred_onClick","_getOneTimeCodeHelperParams","getOneTimeCodeHelper","forgotUsername_onClick","assign","getSwitchToCredText","unwrap","credId","credText","credMatch","isCredTypeOtc","proofDataMatch","proofTypesMatch","errorComputed","defaultValue","_valueSubscription","placeholderTextboxMethods","focused","textbox_onUpdateFocus","isFocused","getTrimmedValue","trimmedValue","toggleVisibility","_setupPlaceholderVisibility","PlaceholderTextboxViewModel","_isPlaceholderSupported","_hintText","hintText","_hintCss","hintCss","onUpdateFocus","usePlaceholderAttribute","placeholderVisible","classes","placeholderText","isVisible","placeholder_onClick","HeaderControl","_title","_subtitle","subtitle","_useSubtitle","useSubtitle","_isSignUpView","isSignUpView","_headerDescription","headerDescription","_appCobranding","C","_isCiamUserFlowUx","fIsCiamUserFlowUxNewLogicEnabled","_companyDisplayName","_useNonMicrosoftDefaultBrandingForCiam","isAppNamePresent","isSubtitleVisible","unsafe_companyName","headerDescriptionDefaultString","getClientErrorCallback","_asyncBlockingError","_asyncNonBlockingError","_clientError","_blockingError","isBlocking","setBlockingError","setNonBlockingError","setError","clearNonBlockingError","valueHasMutated","arrayBuffer","ArrayBuffer","dataView","Uint8Array","arrayBufferToString","base64UrlString","base64String","bytes","atob","arrayBufferToBase64UrlString","btoa","base64ToBase64UrlString","objectToBase64UrlString","ChromeBrowserCore","TokenBrokerAuthHelper","_bssoConfig","bsso","_isCloudBuild","A7","_trimChromeBssoUrl","bE","_cookieNames","cookieNames","_bssoTelemetry","_getReloadUrlAndSetThrottlingCookie","setSeconds","getSeconds","ssoPulled","reloadOnFailure","_logMessage","traces","_logDataPoint","_reportSuccessTelemetryAsync","newSessions","_reportTelemetryAsync","_reportErrorTelemetryAsync","externalData","info","telemetry","loginWindowsUserAsync","uri","msLaunchUri","failInitiatePullOnTimeout","initiatePullTimeoutAction","logMessage","logDataPoint","initiatePullTimeoutMs","overallTimeoutMs","reload","_loginWindowsUserAsync","pullBrowserSsoCookieAsync","pullCookiePromise","isSilentCookiePull","failureRedirectUrl","bssoType","useTiles","ssoTiles","forceTiles","baseUri","rid","userList","users_json","users","windowsUserTiles","ssoUniqueId","unique_id","display_name","upn","isWindowsSso","isSignedIn","_processUsersList","_pullBrowserSsoCookieAsync","getCookiesAsync","aadSso","toCookieString","isEnabled","CanaryPurposeData","DeviceAuth","PageId","ActionId","ConfirmationViewId","FidoAuth","PartnerCanaryScenario","CanaryValidationHelper","Undefined","CanaryValidationSuccessAction","_externalCanary","aK","_canaryValidationUrl","b8","_isRemoteConnectFlow","T","_isRemoteConnectSignup","Bu","_partnerCanaryScenario","Ar","validateAsync","_getCanaryPurposeData","Canary","successAction","_getSuccessAction","innerError","CanaryValidationError","confirmationViewId","postConfirmationAction","stack","TileHelpers","mergeSessions","sharedSessions","replaceOtherIdpSessions","addedSessions","newSession","duplicateSessionIndex","sessions","idp","_findDuplicateSessionIndex","unshift","parseMeControlSessions","userJson","fullName","firstName","lastName","memberName","signInName","isOtherIdp","authenticatedState","isMeControlSession","isGitHubFed","parseBssoSessions","session","ssoLink","paginationControlMethods","Bl","_showPageLevelTitleAndDesc","bb","_persistedViewId","animationEnd","view_onAnimationEnd","showBackgroundLogoHolder","showErrorPageDebugDetails","currentViewHasMetadata","showFooterControl","hasInitialViewShown","showLwaDisclaimer","showPageLevelTitleControl","onLoad","onUnload","currentViewId","webpackPolyfill","deprecate","paths","children","PltHelper","InstrumentationViewModel","_isCustomPerf","isCustomPerf","_customPageLoadCompletedTime","_pageLoadCompleted","_perfDataReported","_getPerformanceObjectData","timeOnPage","recordSubmit","performance","timing","loadEventEnd","setPageLoadCompleted","performanceData","navigation","customLoadEventEnd","getEntries","entries","connection","_getPerformanceData","SendTelemetryPerfData","_sendPerfData","setCustomPageLoadCompletedTime","ticks","LogoControl","_bannerLogoUrl","isChinaDc","bannerLogoText","requireCentipede","PageViewModel","_isSvgImageSupported","_showButtons","showButtons","_showFooterLinks","showFooterLinks","_showFooterLogo","showFooterLogo","_useWizardBehavior","useWizardBehavior","_hideFromAria","hideFromAria","_productIcon","bo","fFixSignoutBrandingCiam","_mapProductIconToImageName","iconId","useLight","iconNames","useLayoutTemplates","__LAYOUT_TEMPLATES_ENABLED__","footer","centipede","getLightUrl","getDarkUrl","isInternalModeEnabled","viewAgreement","isLightboxTemplate","isTemplateLoaded","onFooterAgreementClick","footer_agreementClick","agreement_backButtonClick","showAgreement","node","childNodes","__REQUIRE_WIZARD_IN_CORE__","BackgroundImageControl","isAppBranding","backgroundStyle","ContentControl","_isVerticalSplitTemplate","_hasHeader","hasHeader","BrowserHistory","TelemetryFactory","doc","PreviousPaginatedState","PaginationControl","views","viewInterfaces","viewMetadata","_initialViewId","initialViewId","_currentViewId","_initialSharedData","initialSharedData","_initialError","initialError","_enableCssAnimation","enableCssAnimation","_disableAnimationIfAnimationEndUnsupported","disableAnimationIfAnimationEndUnsupported","_telemetry","_saveSharedDataOnBack","saveSharedDataOnBack","_removeMinWidthFromLightBox","B2","_displayResourceAppConsentDetails","Z","_displayConsolidatedTelephony","fPassTelephonyAuthMethod","_viewInterfaces","_viewMetadata","_history","_currentAnimationState","_animateBack","_previousViewId","_newViewId","_useCssAnimations","_disableAnimationTimeout","_viewId","_getCurrentViewInterface","viewIndex","currentViewIndex","_renderNewView","view_onSetIdentityBackButtonState","isInitialState","onShowView","metadata","activeContainer","querySelectorAll","applyClientEventBindings","_showView","forceTransitionAnimation","loadViewPromise","onLoadView","set","post","_animateToNewView","hidePaginatedView","hideSubView","onSetLightBoxFadeIn","animate","unsafe_displayName","showIdentityBanner","_saveCurrentViewState","saveSharedData","currentViewInterface","viewState","historyState","_history_onBack","_history_onForward","_history_onPopState","isBackButtonVisible","isBackButtonFocused","backButtonDescribedBy","animateBanner","isSlideOutNext","isSlideInNext","isSlideOutBack","isSlideInBack","isNaN","onCancel","onAnimationStateChange","setDefaultFocus","viewInterface","getCurrentViewId","getSharedData","getSharedDataItem","getCurrentView","setSharedDataItem","saveSharedDataOnCurrentView","submitCurrentView","submit","identityBanner_onBackButtonClick","view_onSwitchView","persistedViewId","view_onLoad","replaceHistory","goBack","view_onCancel","visible","describedBy","_minWidthCssNode","_buildViewMetadata","attributeName","FidoHelpDialogContentControl","__webpack_public_path__","urlImagePath","KnockoutExtensions","StringRepository","LoginPaginatedViewModel","_onLoadFired","postLoad","experimentUrl","doAsyncIPv6ImageLoad","aW","ad","getElementById","at","exc","doAsyncCertImageLoad","registerEventHandler","getStrings","self","af","urlFed","loginOptions","doFedRedirect","Aq","X","isRedirectNeeded","LoginErrorViewModel","applyBindings","R","jQuery","S","K","W","Y","pc","gb","qc","aa","ba","qd","ra","Qb","mb","uc","da","$c","Ja","gd","deferUpdates","useOnlyNativeEvents","foreachHidesDestroyed","__proto__","D","Na","MouseEvents","propertychange","Jc","Lb","Pa","wc","Mb","jb","Nb","bc","setPrototypeOf","P","Ga","Tb","firstChild","removeNode","Yb","la","ownerDocument","oa","Ca","cloneNode","va","Xc","parentNode","insertBefore","Ua","nextSibling","Zc","selected","Db","Ud","vd","contains","compareDocumentPosition","Sb","kd","tagName","Ac","onError","Gc","B","za","on","Fb","createEvent","dispatchEvent","initEvent","click","fireEvent","trigger","O","Eb","classList","baseVal","createTextNode","Ad","Yc","mergeAttributes","zoom","wd","width","Pd","Da","Zd","$d","Lc","Nd","hc","Od","includeFields","submitter","Ub","clear","cleanExternalData","1","8","9","yb","cleanData","thead","tbody","tfoot","tr","td","th","option","optgroup","parseHTML","clean","parentWindow","innerShiv","lastChild","Md","parentElement","fc","Xb","random","bd","cd","Uc","nodeValue","ud","Kd","na","scheduler","MutationObserver","observe","toggle","zb","resetForTesting","Sd","Ta","throttle","throttleEvaluation","$","Hb","ub","deferred","notifySubscribers","equalityComparer","number","ic","lc","mc","Ib","fb","Jb","qb","change","sc","hb","Qa","Gb","Wa","ed","xc","end","ob","Dd","nc","sb","rc","fn","Qc","pop","cc","od","pd","fd","qa","Va","Ya","Yd","ta","ya","xa","F","Ma","Za","Nc","Ha","trackArrayChanges","removeAll","destroy","_destroy","destroyAll","sorted","sort","reversed","reverse","zc","Pc","Pb","Ob","sparse","min","Kc","nb","ka","Xa","ha","sa","rb","jc","wb","Wc","owner","disposeWhenNodeIsRemoved","Sa","disposeWhen","Rb","Ic","pure","deferEvaluation","ea","ja","Ka","Vb","La","Ia","Jd","Rd","Hc","zd","yd","N","Oc","Fd","xb","save","keys","constructor","Wd","ma","M","__ko__hasDomDataOptionValue__","$b","getAttributeNode","specified","selectedIndex","cb","size","x","unknown","Ra","wa","ac","vb","getBindingHandler","preprocess","valueAccessors","bindingParams","Id","eb","createComment","ul","ol","Ea","Vc","Wb","Cd","Vd","Sc","ga","nd","nodeHasBindings","getComponentNameForNode","getBindings","getBindingsString","parseBindingsString","tc","getBindingAccessors","z","Tc","yc","kb","Kb","preprocessNode","bindingContextForDescendants","hd","Zb","has","Ec","pa","Cb","ca","after","Mc","init","update","$data","controlsDescendantBindings","shouldBindDescendants","fa","textarea","$parents","$root","$rawData","dataDependency","exportDependencies","createChildContext","as","noChildContext","$parentContext","$parent","sd","Cc","Fa","notifyImmediately","Td","ib","ld","Oa","vc","Dc","definition","Gd","loaders","suppressLoaderExceptions","oc","DocumentFragment","Xd","tb","unregister","Fc","getConfig","loadComponent","loadTemplate","HTMLElement","loadViewModel","dd","$raw","component","createDocumentFragment","$component","$componentTemplateNodes","koDescendantsComplete","attr","lookupNamespaceURI","removeAttributeNS","removeAttribute","setAttributeNS","checked","uniqueName","checkedValue","__ko__cssValue","css","enable","disabled","disable","preventDefault","returnValue","cancelBubble","stopPropagation","foreach","Rc","includeDestroyed","afterAdd","beforeRemove","afterRender","beforeMove","afterMove","templateEngine","hasfocus","__ko_hasfocusUpdating","activeElement","__ko_hasfocusLastValue","focus","blur","let","Q","multiple","scrollTop","ec","abs","selectedOptions","setProperty","opera","textInput","y","textinput","rd","using","autocomplete","form","hidden","renderTemplateSource","createJavaScriptEvaluatorBlock","makeTemplateSource","ia","renderTemplate","isTemplateRewritten","allowTemplateRewriting","rewriteTemplate","kc","xd","Ld","md","nodeName","ab","nodes","lb","jd","previousSibling","gc","dc","Qd","$index","ifnot","moved","dontLimitMoves","Aa","pb","_countWaitingForRemove","E","Ed","$a","Hd","tmpl","tag","koBindingContext","templateOptions","appendTo","fragments","addTemplate","ko_code","ko_with","close","_preventDefaultEventAction","componentInit","_componentIdIndex","_componentExtensions","componentName","config","defaultLoader","resolvedConfig","viewModelFactory","componentViewModel","componentId","componentExtension","parentViewModel","componentAlias","alias","componentEvents","events","isWritableObservable","domNodeDisposal","addDisposeCallback","eventName","applyComponentExtensions","bindingHandlers","valueAccessor","allBindings","bindingContext","pageViewComponent","publicMethods","defineGlobals","ExtractFlowToken","innerBindingContext","svr","$location","cssBinding","applyBindingsToNode","themeClass","themeCssBinding","applyBindingsToDescendants","autoSubmit","binding","postRedirectForm","postParams","hiddenInput","placeholder","ariaLabel","htmlWithBindings","setHtml","childBindings","child","backgroundImage","setBackgroundImg","imgUrl","$Loader","On","addEventHandlers","wizardCssCheck","CSSLoadFail","mainDiv","withProperties","clickExpr","imgSrc","svgSrc","injectScript","injectIframe","frame","height","injectDfpIframe","dfpIframe","hasFocusEx","selectionStart","selectionEnd","inputRange","createTextRange","moveStart","collapse","moveEnd","select","preventTabbing","keyCode","shiftKey","ariaHidden","moveOffScreen","setClass","setTabIndex","setAriaHidden","tabindex","pressEnter","isScrolledToBottom","valueObservable","sticky","onScrollOrResize","offsetHeight","scrollHeight","removeEventHandlers","htmlWithMods","htmlContent","filterLinks","links","link","allowContactProtocols","getLinkInnerText","pathname","replaceChild","parentheticalText","externalCss","addClass","toggleDomNodeCssClass","virtualElements","allowedBindings","createChildContextWithAs","oldPreprocessNode","bindingProvider","dataBindString","newBindings","bindings","safeBindingMap","bindingName","safeBindingName","optionsEx","valueProperty","textProperty","selectedData","evaluate","newOption","textNode","currentSelectedData","subscription","selectedDataSubscription","isObject","isString","hasFocusBasic","_sources","registerSource","sourceName","sources","BrowserCapabilitiesHelper","BrowserSso","PaginationControlHelper","StringCustomizationObservables","requireFedIcon","_unseenSessions","_gctRequestHelper","_dialogs","_initializationPromises","_canaryValidationViewId","_showDialogPromiseHandlers","_flowTokenOverride","_showFedCredButtons","_showSignupFedCredButtons","_showQrCodeSignInButton","_credShownOnlyOnPicker","_customizationLoader","_htmlStrings","_loginMode","_loginBody","_isForceSigninPost","fPOST_ForceSignin","_flowTokenTag","_flowTokenCookieName","bV","_allowCancel","_postUrl","urlPost","_cancelUrl","_backUrl","urlBack","_hipScriptUrl","Aw","_prefillUsername","AF","_signInUsername","_postedUsername","_ztdUpnHint","ap","_foundNames","At","_lockUsername","_errorText","sErrTxt","_validationErrors","_prefixCookieDomainEnabled","aA","_backgroundImage","_resetPasswordUsernamePrefillParam","sResetPasswordPrefillParam","_rawQueryString","Ag","_sessions","_otherIdpRedirectUrl","AI","_cancelPostParams","AR","_getCredTypeResultFromServer","As","_postedPaginatedState","am","_postedSessionIdentifier","bZ","_postedEntropy","bz","_postedRngcDefaultType","bY","_postedIsSignupPost","fPOST_IsSignupPost","_fidoAllowList","Az","_promotedFedCredType","aG","_promotedFedCredTypes","arrPromotedFedCredTypes","_linkedInFedUrl","_gitHubFedUrl","_googleFedUrl","Ai","_facebookFedUrl","Ah","Bf","an","_needsExternalCanaryValidation","_sessionPullType","iSessionPullType","fIsDebugTracingEnabled","_detectBrowserCapabilities","Be","_isWriteWloptCookieDisallowed","A8","_otherIdpSignUpUrl","aY","_googleFedSignUpUrl","_facebookFedSignUpUrl","_showTilesAfterSessionPull","BC","fShowTilesAfterSessionPull","_showSignup","_showForgotUsernameLink","Ao","_showRemoteConnectLocationPage","fShowRemoteConnectLocationPage","_enableUserStateFix","A1","_oidcDiscoveryEndpointFormatUrl","AJ","_defaultFaviconUrl","_livePreviewAllowedOrigins","arrLivePreviewOrigins","_shouldSupportTargetCredentialForRecovery","fShouldSupportTargetCredentialForRecovery","_currentTargetCredentialForRecovery","iCurrentTargetCredentialForRecovery","_usePromotedFedCredTypesArray","aD","_externalTrustedRealmFederatedIdps","arrExternalTrustedRealmFederatedIdps","aI","_samlAndOidcCompatibleUx","fSamlAndOidcCompatibleUx","_updateFacebookIcon","fUpdateFacebookIcon","_showPasskeyUCPError","fShowPassKeyErrorUCP","_canRedirectPasskeyError","fPasskeyAssertionRedirect","_updateUserTiles","tilesStateQuery","currentView","asyncTileRequestCount","addNewSessions","_setDebugDetailsState","activateDebugDetailsFocus","debugDetailsMethods","footerMethods","_handleCanaryValidationFailure","postCanaryValidationAction","_handleCanaryValidationSuccess","_extractFlowToken","_currentViewUsesOtherSigninOptionButtons","_currentViewUsesQrCodeSigninOptionButtons","_currentViewHasOtherSigninOptionButtons","otherSigninOptions","_currentViewUsesOtherSignupOptionButtons","_currentViewHasOtherSignupOptionButtons","otherSignupOptions","_initializeWithFidoSupportedResult","hipRequiredForUsername","showCredViewBrandingDesc","showDescOnCredViews","startDesktopSsoOnPageLoad","hintedDomainName","isSignupPost","recoveryCredentialsData","gctSharedData","targetCredentialForRecovery","availableSignupCreds","_getAvailableSignupCreds","_setInitialSharedData","forceSigninLoginModes","isForceSignin","arrayIndexOf","dfpUrl","view_onRedirect","fEnableBackButtonBugFix","getServerError","_setInitialView","_getFedProviderIconImageName","providerName","_getExternalIdpIconImageName","externalIdp","IdpType","_createFedCredButton","fedCredButtonCredType","signInUrl","lightIconUrl","darkIconUrl","DisplayName","IdpSignUpUrl","IdpSignInUrl","SignUpPostParams","SignInPostParams","testId","_createAdditionalCredOptionsButton","isGooglePromotedFedCredType","isFacebookPromotedFedCredType","Promoted","isExternalFederatedIdp","idpType","_navigateToUrl","_DFP_iFrame_onMessage","dfpData","dfpResponse","dfpPrefix","dfpResult","_setTenantBranding","backgroundControlMethods","loadBannerLogo","paginationControlHelper","learnMore","prefillNames","useCssAnimations","showFedCredAndNewSession","learnMoreMethods","instrumentationMethods","asyncInitReady","initializeComplete","postUrl","userClickedCentipede","pageSubmitted","forceSubmit","wasLearnMoreShown","postRedirect","postedLoginStateViewId","postedLoginStateViewRNGCEntropy","postedLoginStateViewRNGCDefaultType","postedLoginStateViewRNGCSLK","isRequestPending","showLightboxProgress","fadeInLightBox","activeDialog","tracingChange","isRecoveryAttemptPost","availableCredsWithoutUsername","observableArray","livePreviewBranding","isLoginPageHidden","stringCustomizationObservables","newSessionInfo","unsafe_newSessionDisplayName","unsafe_fullName","unsafe_signedInFullName","unsafe_newSessionFullName","showFedCredButtons","showQrCodeSignInButton","credTypeArray","multipleSigninOptionsAvailable","showCredsOnlyOnPicker","qrCodeSigninOption","showHelpIcon","helpText","showPreviewBadge","showSignupFedCredButtons","isCustomStringsLoadComplete","fetchSessions_onUpdateUserTiles","fetchSessions_onIncrementAsyncTileRequestCount","fetchSessions_onDecrementAsyncTileRequestCount","fetchSessions_onExecuteGctResult","paginationControl_onCancel","view_onSetPendingRequest","view_onSubmitReady","useViewProgress","userTrackerDestroy","UserTracker","prefixCookieDomain","wlidperf","_updateWLPerfCookie","view_onLoadView","__IS_OLD_WEBPACK__","lazyViewIds","_createLoadViewPromise","view_onShow","dynamicBranding","view_onRestoreIsRecoveryAttemptPost","view_onUpdateDFPUrl","view_onUpdateAvailableCreds","view_onUpdateRemoteNgcParams","view_onSetLightBoxFadeIn","fadeIn","view_onSetLoginPageHiddenState","closeDebugDetails_onClick","toggleDebugDetails_onClick","setDebugTracing_onClick","learnMore_onShow","learnMore_onHide","passwordView_onResetPassword","rootUrl","queryParameter","currentUsername","_updateMembernamePrefill","newSession_onClick","browserSsoHelper","newSessionClose_onClick","otherSigninOptionsButton_onClick","fedCredButton","otherSignupOptionsButton_onClick","qrCodePinSigninButton_onClick","qrCodePinButton","qrCodePinHelpButton_onClick","view_onShowDialog","paginationControl_onAnimationStateChange","animationState","animateBack","hasPreviousView","viewHasOtherSigninOptionButtons","viewHasOtherSignupOptionButtons","viewHasQrCodeSignInOptionButtons","view_onRegisterDialog","dialogInfo","view_onUnregisterDialog","dialog_onClose","writeCookie","initializeWithFidoPromise","canaryValidationHelper","canaryValidationPromise","wlopt","act","webpackContext","req","webpackContextResolve","BrowserCapabilities","_browserCapabilities","OsError","logger","setNonSecureCookies","trimChromeBssoUrl","c_channelId","_logger","_nonce","_cookieDomain","_setNonSecureCookies","_responseMap","_msgid","_extListNode","_getCookieUri","_cookieAttributes","_openChannelPromise","_window_onMessage","channel","responseId","resolveHandler","_sendMessageAsync","extensionId","postMessage","description","ext","_openChannelAsync","_getExtensionId","extension","_fallbackOnGetCookiesMethodNotFound","_parseCookies","existingAttributesIndex","_code","_description","_externalData","cookieString","externalDataJson","initiatePullTimeout","overallTimeout","_initiatePullTimeout","_overallTimeout","_failInitiatePullOnTimeout","_callTokenBrokerAsync","ssoCookieOnly","pullStartTime","elapsedMs","_launchUriAsync","intervalId","setInterval","ssoToken","clearInterval","_pollForTokenBrokerCookieAsync","customStrings","isCustomStringsLoadFailure","isLoadFailure","EClientEvent","Account_Signup_SwitchSignupType","Account_Signup_MemberName_ValidationError","Account_ResetPW_SeeMoreVerificationOptions","Account_ResetPW_SelectedVerificationOption","Account_ResetPW_OTT_ValidationError","Account_ResetPW_SeeMoreSecondaryAction","Account_Signup_Phone","Account_Signup_EASI","Account_Signup_Live","Account_DeviceFingerPrinting_Iframe_Load","Signin_Email_Phone_Skype","Signin_Submit","Signup_ChinaPIPLConsent_UserAction","Account_Arkose_Iframe_Load","Account_Arkose_Iframe_Load_Flavor","Account_Arkose_Iframe_Solved","Account_Arkose_Iframe_Solved_Flavor","ManageNames_AddPhone_Step","Account_AliasAccrual_Submit","Account_AliasAccrual_Cancel","Account_AliasAccrual_Skip","Account_AliasAccrual_Suggestions","Account_ManageProofsV2_AddPasskey","Account_ManageProofsV2_PasskeyTryAgain","Account_RemovePasskey","Account_SelectAddressableProof","PrefillPasskeyName","Account_JavascriptEncryptor_Invoke","Account_Human_Iframe_Load","0","default","telemetry_webpackJsonp","ReportEventIdAttr","ReportEventValueAttr","ReportEventTriggerAttr","ReportEventValueAttrBinding","ReportEventHandlerAttachedAttr","DataViewId","NonIndexedDataPointKey","Click","Dblclick","Keypress","Cut","Copy","Paste","Change","Focus","Scroll","Submit","Reset","Input","Radio","Checkbox","Button","ExceptionData","PageActionData","ExceptionsTablesuffix","PageActtionsTablesuffix","AddListener","GenerateGUID","floor","propertyIsEnumerable","urlCdn","_preSendHandlers","_eventProvider","_eventApiConfig","_eventDict","hasEvents","_numEvents","hasEvent","cloud","app","validKeysPresent","addPreSendHandler","EventApi","_iduxProviderUrl","_isAppInsightsLoaded","_pendingEventQueue","_args","appInsights","providerUrl","_checkIfOneDsScriptExists","_initializeAppInsights","oneDS","AppInsightsCore","PropertiesPlugin","ApplicationInsights","catch","_postToAppInsights","_isAppInsightsManager","_appInsights","newInst","instrumentationKey","track","appInsightObject","_createAppInsightsCore","endpointUrl","channelConfiguration","eventsLimitInMem","propertyConfiguration","hashIdentifiers","extensionConfig","webAnalyticsConfiguration","autoCapture","scroll","pageView","resize","jsError","addTelemetryInitializer","getPropertiesContext","baseType","ri","roleVer","clientEvents","env","environment","sesId","defaultEventName","identifier","OneDSEventProvider","EmptyEventProvider","_nonIndexedDataPoint","_enabled","telemetryEnabled","useOneDSEventApi","_eventApi","_serverPageID","_serviceID","serviceID","_setPerRequestDataPoints","autoPost","hasPageEvents","flush","_addUnloadHandlers","appendClientEvent","_isNumeric","_getNumericValue","ID","EventTime","_getCurrentTime","Value","DataViewID","isViewTransition","minEvents","postPageView","_inferClientEventValue","now","visibilityState","HTMLInputElement","HTMLButtonElement","HTMLAnchorElement","_getCorrelationID","_getCloudrole","define","DialogControl","_body_onKeyDown","onClose","overlay_onClick","_getTcpDnsInfo","domainLookupStart","domainLookupEnd","connectStart","connectEnd","_isResourcePlt1","resource","duration","_isSubDocument","initiatorType","_isResource","entryType","_isDocument","_getDomainHost","Name","_isAbsoluteUrl","_extractHostname","_getTransferTimeAndSize","entry","transferInfo","responseTime","start","_calcTimespan","responseStart","fetchStart","MAX_VALUE","_getBaseStartTime","_getStart","responseEnd","transferSize","TransferSize","TransferTime","perfData","pageSource","_pltMetrics","_getPltMetrics","apiTimingInfo","isPlt1","resources","resourcePlt1","_isPlt1","plt","fromFetchTime","baseValue","navigationStart","_getBaseValueStartTime","_elapsedPltValue","_getCalculatedPlt","pltOverallTransferBucket","transferRate","previous","bucket","hold","_getTransferBucket","transferTime","resourceMetrics","metrics","metricsValues","domainHost","val","_getResourceMetrics","_calcKbRatePerSecond","_getOverallTransferRate","_getPltTransferBucketData","dns","tcp","LightboxTemplate","_showHeader","_headerLogo","_hideHeader","A5","copySource","textareaId","bindingEvent","startPossiblyAsyncContentBinding","clickToCopy","copyConfig","showNotificationObservable","showNotification","execCommand","showCopyNotification","copyToClipboard","FedCredButtonsControl","_fedCredOptions","fedCredOptions","onFedCredButtonClick","onFedCredHelpButtonClick","fedCredButton_onClick","fedCredHelpButton_onClick","QrCodePinHelpDialogContentControl","BrowserHistoryHelper","backCallback","forwardCallback","popStateCallback","_isHtml5HistorySupported","_backCallback","_forwardCallback","_popStateCallback","_historyIndex","_window_onPopState","newHistoryIndex","back","_displayName","_isBackButtonVisible","_backButtonId","backButtonId","_backButtonDescribedBy","_focusOnBackButton","focusOnBackButton","onBackButtonClick","backButton_onClick","AsyncValidation","PlaceholderTextbox","KnockoutExtenders","LoginPaginatedUsernameView","_serverError","serverError","_isInitialView","isInitialView","_prefillNames","_flowTokenParam","_availableSignupCreds","_customStrings","_isCustomizationFailure","isCustomizationFailure","_userIdLabel","_cantAccessYourAccountText","_hideAccountResetCredentials","_accessRecoveryLink","_boilerPlateText","_allowPhone","a9","a8","_checkWindowsFormat","fCheckWindowsUsernameFormat","_getOneTimeCodeUrl","urlGetOneTimeCode","_skipZtdUrl","a1","_appName","_remoteClientIp","sRemoteClientIp","_remoteAppLocation","AT","_remoteLoginConfig","bR","_userRoutingCookieConfig","Ay","_ztdTenantName","Av","_showSignInWithGitHubOnlyOnCredPicker","bC","_showFidoLinkInline","_showOfflineAccountLearnMore","bA","Bm","_aadSignupUrl","aP","_recoverUsernameUrl","iMsaServerLottieId","_showCantAccessAccountLink","AN","showCantAccessAccountLink","_enableShowPickerCredObservable","BG","_useRemoteConnectDescriptionStrings","Ap","_useApiRequest","_getOneTimeCodeState","_unsafe_displayNameBrowserPrefill","_useCredWithoutUsername","_gctResultSharedData","_gctResultSharedDataForGctShowErrorResult","_validationEnabled","_getOneTimeCodeAsync","_setIsRequestPending","OriginalRequest","_getOneTimeCodeApiRequestAsync","_getOneTimeCodeOtcHelperAsync","_handleGetOneTimeCodeSuccess","_handleGetOneTimeCodeError","userCode","UserCode","deviceCode","DeviceCode","usernameTextbox","_redirect","hasFido","isLinkedInPromotedFedCredType","isGitHubPromotedFedCredType","allowRemoteLogin","onUpdateAvailableCredsWithoutUsername","fidoLinkText","onUpdateDFPUrl","onRestoreIsRecoveryAttemptPost","_getClientError","passwordBrowserPrefill","showTileLogo","customTitle","customDescription","pageDescription","unsafe_pageTitle","unsafe_subHeader","showFidoLinkInline","hideCantAccessYourAccount","unsafe_cantAccessYourAccountText","showCredPicker","useCredWithoutUsername","getOneTimeCodeResult","remoteLoginUserCode","remoteLoginDeviceCode","gctRequestHelperState","remoteLogin_onClick","signup_onClick","aadSignup_onClick","otherIdpLogin_onClick","sendOtcLink_onClick","recoverUsername_onClick","recoverUsernameUrl","skip_onClick","skipZtd_onClick","privacy_onClick","tou_onClick","learnMore_onClick","cantAccessAccount_onClick","switchToFidoCredLink_onClick","noUsernameCredSwitchLink_onSwitchView","tileLogo_onLoad","unsafe_userIdLabel","StringCustomizationHelper","customStringResolver","unsafe_tenantName","prefillName","layoutConfig","SeeHowDataIsManagedViewModel","_oobeServicesInformationLinkUrl","iFrameReady","iFrameTarget","iframeMessage","expectedOrigin","URL","oIFrame","MoreInfoViewModel","_moreInfoTitle","moreInfoTitle","_moreInfo","moreInfo","_showErrorText","showErrorText","onSetBackButtonState"],"mappings":"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yE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,8E,gBCA3CC,EAAOD,QAAU,IAA0B,wE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,8E,gBCA3CC,EAAOD,QAAU,IAA0B,wE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,8E,gBCA3CC,EAAOD,QAAU,IAA0B,wE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,8E,gBCA3CC,EAAOD,QAAU,IAA0B,wE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAA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AOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,kE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,kE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,kE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,kE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3C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+F,gBCA3CC,EAAOD,QAAU,IAA0B,+F,gBCA3CC,EAAOD,QAAU,IAA0B,uF,gBCA3CC,EAAOD,QAAU,IAA0B,uF,gBCA3CC,EAAOD,QAAU,IAA0B,6F,gBCA3CC,EAAOD,QAAU,IAA0B,6F,gBCA3CC,EAAOD,QAAU,IAA0B,wF,gBCA3CC,EAAOD,QAAU,IAA0B,wF,gBCA3CC,EAAOD,QAAU,IAA0B,8F,gBCA3CC,EAAOD,QAAU,IAA0B,8F,gBCA3CC,EAAOD,QAAU,IAA0B,qF,gBCA3CC,EAAOD,QAAU,IAA0B,qF,gBCA3CC,EAAOD,QAAU,IAA0B,2F,gBCA3CC,EAAOD,QAAU,IAA0B,2F,gBCA3CC,EAAOD,QAAU,IAA0B,2F,gBCA3CC,EAAOD,QAAU,IAA0B,2F,gBCA3CC,EAAOD,QAAU,IAA0B,iG,gBCA3CC,EAAOD,QAAU,IAA0B,iG,gBCA3CC,EAAOD,QAAU,IAA0B,wF,gBCA3CC,EAAOD,QAAU,IAA0B,wF,gBCA3CC,EAAOD,QAAU,IAA0B,8F,gBCA3CC,EAAOD,QAAU,IAA0B,8F,gBCA3CC,EAAOD,QAAU,IAA0B,2F,gBCA3CC,EAAOD,QAAU,IAA0B,2F,gBCA3CC,EAAOD,QAAU,IAA0B,iG,gBCA3CC,EAAOD,QAAU,IAA0B,iG,gBCA3CC,EAAOD,QAAU,IAA0B,wF,gBCA3CC,EAAOD,QAAU,IAA0B,wF,gBCA3CC,EAAOD,QAAU,IAA0B,8F,gBCA3CC,EAAOD,QAAU,IAA0B,8F,gBCA3CC,EAAOD,QAAU,IAA0B,0F,gBCA3CC,EAAOD,QAAU,IAA0B,gG,gBCA3CC,EAAOD,QAAU,IAA0B,0F,gBCA3CC,EAAOD,QAAU,IAA0B,gG,gBCA3CC,EAAOD,QAAU,IAA0B,yF,gBCA3CC,EAAOD,QAAU,IAA0B,yF,gBCA3CC,EAAOD,QAAU,IAA0B,+F,gBCA3CC,EAAOD,QAAU,IAA0B,+F,gBCA3CC,EAAOD,QAAU,IAA0B,4F,gBCA3CC,EAAOD,QAAU,IAA0B,4F,gBCA3CC,EAAOD,QAAU,IAA0B,kG,gBCA3CC,EAAOD,QAAU,IAA0B,kG,gBCA3CC,EAAOD,QAAU,IAA0B,uF,gBCA3CC,EAAOD,QAAU,IAA0B,uF,gBCA3CC,EAAOD,QAAU,IAA0B,6F,gBCA3CC,EAAOD,QAAU,IAA0B,6F,gBCA3CC,EAAOD,QAAU,IAA0B,mG,gBCA3CC,EAAOD,QAAU,IAA0B,mG,gBCA3CC,EAAOD,QAAU,IAA0B,6F,gBCA3CC,EAAOD,QAAU,IAA0B,6F,gBCA3CC,EAAOD,QAAU,IAA0B,sF,gBCA3CC,EAAOD,QAAU,IAA0B,sF,gBCA3CC,EAAOD,QAAU,IAA0B,4F,gBCA3CC,EAAOD,QAAU,IAA0B,4F,gBCA3CC,EAAOD,QAAU,IAA0B,sF,gBCA3CC,EAAOD,QAAU,IAA0B,sF,gBCA3CC,EAAOD,QAAU,IAA0B,4F,gBCA3CC,EAAOD,QAAU,IAA0B,4F,gBCA3CC,EAAOD,QAAU,YAA4E,EAAQ,KAElF,sgC,gBCFnB,IAAImgC,EAAKhQ,EAAQ,GACbuV,EAAUvV,EAAQ,GAElBO,EAAIltB,OAER,SAASmxH,EAAiB15F,GAGtB,IAIIkb,EAAclb,EAAOp3B,WACrB+wH,EAAc35F,EAAO2iB,WACrBi3E,EAAc55F,EAAO4iB,WAIrBi3E,EAAc3+E,EAAY4+E,GAVlBv0H,KAcNo9C,WAAag3E,IAAgBE,EAdvBt0H,KAeNq9C,WAAag3E,EAIvB10F,EAAG+F,WAAWC,SAAS,oBACnB,CACIC,UAAWuuF,EACXhuF,SAAUxW,EAAQ,KAClByW,aAAclW,EAAE5sB,WAAW+iC,GAAKnB,EAAQzT,OAAO2C,uBAAuBlE,EAAE5sB,WAAW+iC,GACnFgT,kBAAkB,IAG1B55C,EAAOD,QAAU20H,G,gBCnCjB10H,EAAOD,QAAU,YAAW,EAAQ,IAA4C,EAAQ,IAA8C,EAAQ,IAAoC,EAAQ,IAAyC,wrF,cCAnOC,EAAOD,QAAU,otB,cCAjBC,EAAOD,QAAU,2Y,gBCAjBC,EAAOD,QAAU,YAAW,EAAQ,KAA2C,EAAQ,IAAyC,EAAQ,GAA4C,EAAQ,KAA2C,EAAQ,KAAkE,qwNAAonN,EAAQ,IAAmC,8CAAkD,EAAQ,IAAmC,04I,gBCA7iO,IAAImgC,EAAKhQ,EAAQ,GACbuV,EAAUvV,EAAQ,GAElBO,EAAIltB,OAER28B,EAAG+F,WAAWC,SAAS,2BACnB,CACIQ,SAAUxW,EAAQ,KAClByW,aAAclW,EAAE5sB,WAAW+iC,GAAKnB,EAAQzT,OAAO2C,uBAAuBlE,EAAE5sB,WAAW+iC,M,cCR3F5mC,EAAOD,QAAU,wP,cCCjBA,EAAQ6tE,gBAAkB,SAAU1tC,GAEhCA,EAAGwoE,gBAAgBqsB,WACnB,CACIv2B,KAAM,SAAUxlE,EAAS2vE,EAAeC,EAAaziE,EAAW0iE,GAE5D,IAAImsB,EAAa90F,EAAG6xC,OAAO42B,KACvB7J,EAAW79F,SAASgqF,eAAe+pC,GAElCl2B,KAEDA,EAAW79F,SAASuD,cAAc,aACzBijD,GAAKutE,EACd/zH,SAAS+1B,KAAKvwB,YAAYq4F,GAE1B5+D,EAAGwoE,gBAAgB2D,cAAc5N,OAC7BK,GACA,WAEI,OAAO,MAKnB5+D,EAAG+0F,aAAa9vF,UACZnM,EACA,uBACA,WAEI8lE,EAAS/8F,MAAQi3B,EAAQlF,aAIjC,IAAIo1E,EAAsBhpE,EAAG+0F,aAAaC,iCAAiCl8F,EAAS6vE,GAIpF,OAFA3oE,EAAGupE,2BAA2BP,EAAqBlwE,GAE5C,CAAE2lE,4BAA4B,KAI7Cz+D,EAAGwoE,gBAAgBysB,YACnB,CACI32B,KAAM,SAAUxlE,EAAS2vE,EAAeC,EAAaziE,EAAW0iE,GAE5D,IAAIusB,EAAal1F,EAAG6xC,OAAO42B,KACvBqsB,EAAaI,EAAWJ,WACxBK,EAA6BD,EAAWE,iBAE5Cp1F,EAAGwoE,gBAAgB/X,MAAM6N,KACrBxlE,GACA,WAEI,OAAO,YAY3B,SAAyBg8F,EAAYK,EAA4Br8F,GAE7D,IAAI8lE,EAAW79F,SAASgqF,eAAe+pC,GACvC,IAAKl2B,EAED,OAGJA,EAASkN,SAET/qG,SAASs0H,YAAY,QACrBv8F,EAAQuqE,QAKZ,SAA8B8xB,GAEtBA,KAEAA,GAA2B,GAG/BzzH,YAAW,WAEPyzH,GAA2B,KAC5B,GAbHG,CAAqBH,GAvBDI,CAAgBT,EAAYK,EAA4Br8F,MAGhE4vE,EACAziE,EACA0iE,O,gBC7DhB7oG,EAAOD,QAAU,YAAW,EAAQ,IAAyC,EAAQ,GAAkD,izCAAwzC,EAAQ,KAAkC,aAAiB,EAAQ,KAAkC,iFAAyF,EAAQ,KAA4B,aAAiB,EAAQ,KAA4B,woHAA4kH,EAAQ,KAA4B,aAAiB,EAAQ,KAA4B,yIAA+I,EAAQ,KAAsB,aAAiB,EAAQ,KAAsB,qM,gBCAvlLC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,6D,gBCA3CC,EAAOD,QAAU,IAA0B,6D,gBCA3C,IAAImgC,EAAKhQ,EAAQ,GACbuV,EAAUvV,EAAQ,GAClB4lB,EAAiB5lB,EAAQ,GAEzBO,EAAIltB,OAER,SAASmyH,EAAsB16F,GAG3B,IAAI15B,EAAQf,KAIRo1H,EAAkB36F,EAAO46F,eAI7Bt0H,EAAMu0H,qBAAuB//E,EAAenuC,SAC5CrG,EAAMw0H,yBAA2BhgF,EAAenuC,SAIhDrG,EAAMs0H,eAAiBD,GAAmB,GAI1Cr0H,EAAMy0H,sBAAwB,SAAUvU,GAEpClgH,EAAMu0H,qBAAqBrU,IAG/BlgH,EAAM00H,0BAA4B,SAAUxU,GAExClgH,EAAMw0H,yBAAyBtU,IAKvCthF,EAAG+F,WAAWC,SAAS,2BACnB,CACIC,UAAWuvF,EACXhvF,SAAUxW,EAAQ,KAClByW,aAAclW,EAAE5sB,WAAW+iC,GAAKnB,EAAQzT,OAAO2C,uBAAuBlE,EAAE5sB,WAAW+iC,GACnFgT,kBAAkB,IAG1B55C,EAAOD,QAAU21H,G,gBC9CjB11H,EAAOD,QAAU,YAAW,EAAQ,GAAkD,krLAAilL,EAAQ,IAAoC,aAAiB,EAAQ,IAAoC,iFAAyF,EAAQ,IAA8B,aAAiB,EAAQ,IAA8B,k6GAAw1G,EAAQ,IAAoC,aAAiB,EAAQ,IAAoC,iFAAyF,EAAQ,IAA8B,aAAiB,EAAQ,IAA8B,6R,gBCA7jT,IAAImgC,EAAKhQ,EAAQ,GACbuV,EAAUvV,EAAQ,GAClB4lB,EAAiB5lB,EAAQ,GAEzBO,EAAIltB,OAGR,SAAS0yH,IAEO11H,KAGN2nE,iBAAmBpyB,EAAenuC,SAH5BpH,KAIN4nE,mBAAqBryB,EAAenuC,SAI9Cu4B,EAAG+F,WAAWC,SAAS,0CACnB,CACIC,UAAW8vF,EACXvvF,SAAUxW,EAAQ,KAClByW,aAAclW,EAAE5sB,WAAW+iC,GAAKnB,EAAQzT,OAAO2C,uBAAuBlE,EAAE5sB,WAAW+iC,GACnFgT,kBAAkB,IAG1B55C,EAAOD,QAAUk2H,G,gBCzBjBj2H,EAAOD,QAAU,YAAW,EAAQ,GAA4C,EAAQ,IAAgD,+GAA6G,EAAQ,GAAqB4rB,SAASI,cAAgB,4cAA8c,EAAQ,IAA0D,aAAiB,EAAQ,IAA0D,qEAA6E,EAAQ,IAAoD,aAAiB,EAAQ,IAAoD,uZ,cCApmC/rB,EAAOD,QAAU,gkI,gBCAjB,IAAIowB,EAAUD,EAAQ,GAClBuV,EAAUvV,EAAQ,GAElBO,EAAIltB,OACJ8sB,EAAgBF,EAAQjxB,OACxB6yB,EAAgB0T,EAAQzT,OACxBkkG,EAAuBnkG,EAAc2D,QAEzC11B,EAAOD,QAAU,SAAUo2H,EAAcC,EAAiBC,GAEtD,IAAI/0H,EAAQf,KAIR+1H,GAA2B,EAC3BC,EAAgBJ,EAChBK,EAAmBJ,EACnBK,EAAoBJ,EACpBzwC,EAAW,CAAC,MACZ8wC,EAAgB,EA6DpB,SAASC,EAAmB3xH,GAExB,GAAKA,GAAgC,oBAAhBA,EAAM4wB,OAAyC,OAAhB5wB,EAAM4wB,MAA1D,CAKA,IAAIghG,EAAkB5xH,EAAM4wB,MACxBghG,EAAkBF,EAElBH,IAIAC,IAGJE,EAAgBE,EAChBH,EAAkBn1H,EAAM8+D,aA7E5B9+D,EAAM8mE,QAAU,WAERkuD,GAEAvkG,EAAc0H,oBAAoBhJ,EAbzB,WAawCkmG,IAIzDr1H,EAAMq0B,UAAY,SAAUC,GAExB8gG,IACA9wC,EAASrnD,OAAOm4F,EAAe9wC,EAAS3mF,OAASy3H,EAAermG,EAAcqQ,MAAM9K,IAEhF0gG,GAEAJ,EAAqBvgG,UAAU+gG,EAAe,KAItDp1H,EAAMw0B,aAAe,SAAUF,GAE3BgwD,EAAS8wC,GAAiBrmG,EAAcqQ,MAAM9K,IAGlDt0B,EAAMwoF,OAAS,WAEP4sC,EAAgB,IAEZJ,EAEA7lG,EAAEiF,QAAQmhG,OAIVF,EAAmB,CAAE/gG,MAAO8gG,EAAgB,MAKxDp1H,EAAM8+D,SAAW,WAYb,OATIs2D,EAAgB9wC,EAAS3mF,OAEzBy3H,EAAgB9wC,EAAS3mF,OAAS,EAE7By3H,EAAgB,IAErBA,EAAgB,GAGY,OAA5B9wC,EAAS8wC,GAEF,KAGJrmG,EAAcqQ,MAAMklD,EAAS8wC,MA0BpCJ,EAA2BvkG,EAAcV,wBAKrC6kG,EAAqBpgG,aAAa4gG,EAAe,IACjD3kG,EAAcqH,iBAAiB3I,EAjGtB,WAiGqCkmG,M,gBC7G1D32H,EAAOD,QAAU,YAAW,EAAQ,KAAiD,8sD,gBCArF,IAAImgC,EAAKhQ,EAAQ,GACbuV,EAAUvV,EAAQ,GAClB4lB,EAAiB5lB,EAAQ,GAEzBO,EAAIltB,OACJwuB,EAAgB0T,EAAQzT,OAqC5BkO,EAAG+F,WAAWC,SAAS,0BACnB,CACIC,UArCR,SAA+BnL,GAE3B,IAAI15B,EAAQf,KAERu2H,EAAe97F,EAAO2sB,YACtBovE,EAAuB/7F,EAAOotD,oBAC9B4uC,EAAgBh8F,EAAOi8F,aACvBC,EAAyBl8F,EAAOstD,sBAChC6uC,EAAqBn8F,EAAOo8F,oBAAqB,EAGrD91H,EAAM+1H,kBAAoBvhF,EAAenuC,SAGzCrG,EAAMomF,mBAAqB,KAC3BpmF,EAAM8mF,oBAAsB2uC,EAC5Bz1H,EAAM21H,aAAeD,EACrB11H,EAAMgnF,sBAAwB4uC,EAC9B51H,EAAM81H,kBAAoBD,EAC1B71H,EAAMinE,SAAWvtC,EAAOutC,WAAY,EACpCjnE,EAAMm6C,cAAgBzgB,EAAOygB,eAAiB,GAG9Cn6C,EAAMg2H,mBAAqB,WAEvBh2H,EAAM+1H,qBAMN/1H,EAAMomF,mBAAqB31D,EAAciC,aAAa8iG,IAOtDpwF,SAAUxW,EAAQ,KAClByW,aAAclW,EAAE5sB,WAAW+iC,GAAKnB,EAAQzT,OAAO2C,uBAAuBlE,EAAE5sB,WAAW+iC,GACnFgT,kBAAkB,K,gBC/C1B55C,EAAOD,QAAU,YAAW,EAAQ,GAAkD,iiBAAghB,EAAQ,KAAiC,8BAAkC,EAAQ,KAAiC,yEAAiF,EAAQ,KAA2B,8BAAkC,EAAQ,KAA2B,oPAAkO,EAAQ,KAAkC,8BAAkC,EAAQ,KAAkC,yEAAiF,EAAQ,KAA4B,8BAAkC,EAAQ,KAA4B,yQ,gBCAt6CC,EAAOD,QAAU,IAA0B,wE,gBCA3CC,EAAOD,QAAU,IAA0B,wE,gBCA3CC,EAAOD,QAAU,IAA0B,kE,gBCA3CC,EAAOD,QAAU,IAA0B,kE,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCE3C,IAAImgC,EAAKhQ,EAAQ,GACbue,EAAYve,EAAQ,GACpBsqB,EAAkBtqB,EAAQ,IAC1BuV,EAAUvV,EAAQ,GAClBC,EAAUD,EAAQ,GAClB88B,EAAiC98B,EAAQ,IACzC9uB,EAAU8uB,EAAQ,GAClBE,EAAiBF,EAAQ,GACzB4lB,EAAiB5lB,EAAQ,GACzBqnG,EAAkBrnG,EAAQ,IAC1Bya,EAAaza,EAAQ,IACrBsnG,EAAqBtnG,EAAQ,IAC7B48B,EAAiB58B,EAAQ,GACzBunG,EAAoBvnG,EAAQ,IAC5Bg8B,EAAMh8B,EAAQ,IACd4+C,EAAuB5+C,EAAQ,IAC/BphB,EAAOohB,EAAQ,IACf0b,EAAsB1b,EAAQ,IAA+Bqc,YAAYhpC,OAAOM,YAChF6nC,EAAyBxb,EAAQ,GAgCrC,IAAIO,EAAIltB,OACJwN,EAAiB09B,EAAU19B,eAC3BmW,EAAiBunB,EAAUvnB,eAC3BwB,EAAgB+lB,EAAU/lB,cAC1BqJ,EAAgB0T,EAAQzT,OACxBqK,EAAUoJ,EAAQpJ,QAClBvC,EAAc2L,EAAQ3L,YACtBxJ,EAAgBH,EAAQI,OACxBsX,EAAwBilB,EAAejlB,sBACvCklB,EAAkBC,EAA+BD,gBAKrD,SAAS2qE,EAA2B18F,GAEhC,IAAI15B,EAAQf,KAGR21C,EAAclb,EAAOp3B,WACrB+zH,EAAe38F,EAAO48F,YACtBC,EAAiB78F,EAAO88F,cACxBhB,EAAe97F,EAAO2sB,YACtBowE,EAAgB/8F,EAAOohF,aACvB4b,EAAkBh9F,EAAO2oB,UACzBqvD,EAAuBh4E,EAAOs8B,oBAC9B2gE,EAAwBj9F,EAAOw+E,sBAAwB,GACvD0e,EAAiBl9F,EAAOsrF,cACxB6R,EAA0Bn9F,EAAOo9F,uBACjCC,EAAer9F,EAAOwjB,YACtB85E,EAA6Bt9F,EAAOyjB,0BACpC85E,EAA+Bv9F,EAAOmiB,4BACtCq7E,EAAsBx9F,EAAO2jB,mBAC7B85E,EAAmBz9F,EAAO4jB,gBAI1B+P,EAAWzY,EAAYxW,IACvBg5F,EAAcxiF,EAAYyiF,IAAMziF,EAAY0iF,GAC5C/nE,EAAc3a,EAAY4a,GAC1B+nE,EAAsB3iF,EAAY4iF,4BAClCrlE,EAAoBvd,EAAYtvC,EAChCmyH,EAAqB7iF,EAAY8iF,kBACjCC,EAAc/iF,EAAYgjF,GAC1B/oE,EAAmBja,EAAY/d,EAC/B05B,EAAwB3b,EAAYuG,qBACpCqS,EAAqB5Y,EAAYruC,EACjCsxH,EAAWjjF,EAAYslC,EACvB49C,GAAkBljF,EAAYmjF,gBAC9BC,GAAqBpjF,EAAYqjF,GACjCC,GAAqBtjF,EAAYujF,GACjCC,GAA2BxjF,EAAYyjF,GACvCvoB,GAAel7D,EAAYpvC,EAC3BuoD,KAAyBnZ,EAAYoZ,GACrC1gB,GAAkBsH,EAAYsa,EAC9B8jD,GAAkBp+D,EAAYzlB,EAC9B8jF,GAAgBr+D,EAAYm2C,EAC5BmoB,GAAgBt+D,EAAYu+D,GAC5BC,GAAkBx+D,EAAYy+D,GAC9BW,GAAqBp/D,EAAYq/D,GAGjCqkB,IAFmB1jF,EAAYukD,EACRvkD,EAAY+1C,EAClB/1C,EAAY2jF,IAC7B3lB,GAAuBh+D,EAAYi+D,GACnCC,GAAwBl+D,EAAYm+D,yBAA2B,GAC/DylB,KAA0C5jF,EAAY6jF,GACtDC,KAAwB9jF,EAAYk4C,KAAOl4C,EAAYk6B,yBACvD6pD,KAAiC/jF,EAAYgkF,GAC7Cv1E,GAAmBzO,EAAY2Y,EAC/BxK,GAAQnO,EAAY9uC,EAEpBgsG,IADsCl9D,EAAYikF,GACnBjkF,EAAYm9D,IAC3CpiD,GAAa/a,EAAYP,EACzBykF,GAAgBlkF,EAAYmkF,GAC5BC,GAAsBpkF,EAAYb,EAClCyQ,GAAU5P,EAAYn3C,EACtBinD,GAAY9P,EAAY05B,EACxB1pB,GAAqBhQ,EAAY25B,EACjCzpB,GAAqBlQ,EAAY45B,EACjCkmC,GAAiC9/D,EAAY+/D,+BAC7ChmC,GAA2B/5B,EAAYg6B,EACvC7c,GAAmBnd,EAAYod,iBAC/Byc,GAA6B75B,EAAY85B,GACzC8lC,GAA0B5/D,EAAY6/D,GACtCG,GAAsBhgE,EAAYigE,GAElCC,IADqBlgE,EAAYqkF,mBACCrkF,EAAYmgE,IAG9CmkB,IAF8BtkF,EAAYw2C,GACbx2C,EAAYukF,GACZvkF,EAAYwkF,2BACzCC,KAAoCzkF,EAAY0kF,GAChD/jB,GAAgC3gE,EAAY4gE,GAC5CC,GAAqC7gE,EAAY8gE,sCAAwC,GACzFxsC,GAAqBt0B,EAAYqE,mBACjCsgF,GAAsC3kF,EAAY4kF,GAClD5jB,GAA2BhhE,EAAYihE,yBACvC5iD,GAAgCre,EAAYse,8BAC5CG,GAA8Bze,EAAY0e,sBAM1CmmE,KAAmBhC,EACnBiC,GAAuB,GACvBC,GAAoC,KACpCC,IAA0B,EAC1BjrB,GAAoB,KACpBkrB,GAAuB,GACvBC,GAA4C,GAE5CC,GAAqBn7F,EAAGgF,YAAW,GACnCwe,GAAaxjB,EAAGgF,WAAW8yF,GAAiB32F,OAAO,CAAEmtC,gBAAiBt4B,IA4X1E,SAASolF,GAAqBlX,EAASvgE,GAMnC,OAJoBk3E,GAOxB,SAAwC3W,GAEpC,OAAO,IAAIhjH,GACP,SAAUiB,EAASC,GAEfi5H,IAAqB,GAErB,IAAIjrF,EACA,CACIkrF,gBAAiBrrE,EACjBnP,UAAW0C,MAGf0gE,IAEA9zE,EAASiR,QAAU6iE,GAGN,IAAIz5E,EAAW,CAAEkE,eAAgBD,KACvCxmB,KACP,CACI/hB,IAAK0yH,EACLjsF,QAASpB,EAAuB3C,SAASE,oBAE7CqH,EACAjuC,EACAC,EACAmsC,EAAUxlB,0BAjChBwyG,CAA+BrX,GAqCzC,SAAuCvgE,GAEnC,OAAO,IAAIziD,GACP,SAAUiB,EAASC,GAEfi5H,IAAqB,GAErB,IAAIj5D,EACA,CACIze,QAASA,EACTF,UAAWD,KACXkB,gBAAiBD,GACjBL,KAAMD,GACN0B,OAAQD,GACRG,SAAUD,GACVG,kBAAmBD,GACnBG,kBAAmBD,GACnB5U,gBAAiBnvC,EACjBovC,gBAAiBnvC,GAGE,IAAIwsE,EAAqBxM,GAC/B9uB,iBA1DvBkoF,CAA8B73E,IAEf3hD,KAAKy5H,GAA8BC,IA4D5D,SAASD,GAA6Bh7F,GAgBlC,OAdA46F,IAAqB,IAEhBR,IAAkBp6F,EAAO8lB,kBAE1B9lB,EAASA,EAAO8lB,mBAIhB,CACIuf,SAAS,EACT61D,SAAUl7F,EAAOm7F,SACjBC,WAAYp7F,EAAOq7F,YAAcr7F,EAAOmgB,kBAMpD,SAAS86E,GAA2B7pF,GAIhC,GAFAwpF,IAAqB,GAEjBR,IAAkBhpF,GAAYA,EAASxvC,MAEvC,OAAQwvC,EAASxvC,MAAMoO,MAEnB,KAAK+X,EAAcE,YACftnB,EAAM26H,gBAAgB15H,MAAMkzE,oBAAoB9mB,EAA4C,mCAC5F,MAEJ,QACIrtD,EAAM26H,gBAAgB15H,MAAMkzE,oBAAoB9mB,EAA+C,2CAMvGrtD,EAAM26H,gBAAgB15H,MAAMkzE,oBAAoB9mB,EAA+C,sCAKnG,OAFArtD,EAAMynF,kBAEC,CAAE/iB,SAAS,GA+HtB,SAASu1D,GAAqB55H,GAE1BL,EAAM+7G,iBAAiB17G,GACvBL,EAAMmvE,oBAAoB9uE,GAG9B,SAASu6H,GAAUxkE,GAEfp2D,EAAMuvE,WACF,CACIxqE,IAAKqxD,EAAU4E,YACf3vB,aACI,CACIG,QAAS4qB,EAAU5qB,UAG/B4qB,EAAUqF,mBACVrF,EAAU0G,eAsBlB,SAAS06C,GAAmCnjD,GAIxC,GAFAr0D,EAAM66H,QAAQxmE,GAEVkhD,GACJ,CACI,IAAIulB,EAAgChoB,GAAsB9tG,QAAQ4gB,EAAeK,WAAa,EAC1F80G,EAA8BjoB,GAAsB9tG,QAAQ4gB,EAAeG,SAAW,EACtF+zF,EAA8BhH,GAAsB9tG,QAAQ4gB,EAAeO,SAAW,EACtF4zF,EAAgCjH,GAAsB9tG,QAAQ4gB,EAAeQ,WAAa,EAE9FpmB,EAAMq8G,8BAA8B,GAAGr9E,QAClC64F,GAAY73H,EAAMg7H,iBACb,CAAEjmE,SAAUnvC,EAAeM,aAAgB,GACjDmuC,EACM,CAAEU,SAAUnvC,EAAepY,MAAS,GAC1CkkG,GAAwBsC,GAClB,CAAEj/C,SAAUnvC,EAAeE,4BAA6Bk1C,YAAa02C,GAAyB,IACpGsB,IAAoBgB,IAAuB8mB,EACiC,GAAtE,CAAE/lE,SAAUnvC,EAAeK,SAAU+0C,YAAag4C,KACxDC,IAAkBe,IAAuB+mB,EACyF,GAA5H,CAAEhmE,SAAUnvC,EAAeG,OAAQi1C,YAAai4C,GAAe79C,kBAAmBojE,IACxFtlB,KAAkB4G,EACZ,CAAE/kD,SAAUnvC,EAAeO,OAAQ60C,YAAak4C,IAAkB,GACxEE,KAAoB2G,EACd,CAAEhlD,SAAUnvC,EAAeQ,SAAU40C,YAAao4C,IAAoB,GAC5EzkC,GACM,CAAE5Z,SAAUnvC,EAAeU,gBAAmB,KAEnDsvF,IAEDh3E,EAAGc,MAAM+C,aACLgzE,IACA,SAAUuD,GAEN,IAAIkB,EAAUlB,EAAYC,QAEtBnG,GAAsB9tG,QAAQk1G,GAAW,GAEzCl6G,EAAMq8G,gCAAgCp+G,KAAK,CAAE82D,SAAUmlD,EAASl/C,YAAag+C,EAAYS,aAAcQ,wBAAwB,YAQ/Ij6G,EAAMq8G,8BAA8B,GAAGr9E,QAClC64F,GAAY73H,EAAMg7H,iBACb,CAAEjmE,SAAUnvC,EAAeM,aAAgB,GACjDmuC,EACM,CAAEU,SAAUnvC,EAAepY,MAAS,GAC1CkkG,GAAwBsC,GAClB,CAAEj/C,SAAUnvC,EAAeE,4BAA6Bk1C,YAAa02C,GAAyB,GACpGsB,KAAoBgB,IAAsBpB,KAAyBhtF,EAAeK,SAC5E,CAAE8uC,SAAUnvC,EAAeK,SAAU+0C,YAAag4C,IAAoB,GAC5EC,KAAkBe,IAAsBpB,KAAyBhtF,EAAeG,OAC1E,CAAEgvC,SAAUnvC,EAAeG,OAAQi1C,YAAai4C,GAAe79C,kBAAmBojE,IAA0C,GAClItlB,GACM,CAAEn+C,SAAUnvC,EAAeO,OAAQ60C,YAAak4C,IAAkB,GACxEE,GACM,CAAEr+C,SAAUnvC,EAAeQ,SAAU40C,YAAao4C,IAAoB,GAC5EzkC,GACM,CAAE5Z,SAAUnvC,EAAeU,gBAAmB,KAGxDsvF,IAEAh3E,EAAGc,MAAM+C,aACLgzE,IACA,SAAUuD,GAEDA,EAAYgB,UAEbh6G,EAAMq8G,gCAAgCp+G,KAClC,CACI82D,SAAUikD,EAAYC,QACtBj+C,YAAag+C,EAAYS,aACzBh+C,mBAAoBu9C,EAAYW,iBAChCtzD,YAAa2yD,EAAYO,YACzBU,wBAAwB,OAMhDj6G,EAAMi7H,sCAAsCj7H,EAAMq8G,iCAE9ChoD,IAzGJr0D,EAAMk7H,aAAa7tE,EAAoD,2CAEvEv+B,EAAemb,mCACXz8B,EAAK46C,iCAAiC6K,IACjCryD,KAAK,MAAM,WAAc,OAAO,KAChCA,MACG,SAAUwnD,GAEFA,IAEApoD,EAAMk7H,aAAa7tE,EAAuC,8BAE1DrtD,EAAMooD,kCAAiC,SAtoB/DpoD,EAAMupE,aAAe/0B,EAAenuC,SACpCrG,EAAMuvE,WAAa/6B,EAAenuC,SAClCrG,EAAMm7H,eAAiB3mF,EAAenuC,SACtCrG,EAAMmvE,oBAAsB36B,EAAenuC,SAC3CrG,EAAM4mE,iBAAmBpyB,EAAenuC,SACxCrG,EAAM6mE,mBAAqBryB,EAAenuC,SAC1CrG,EAAMysE,aAAej4B,EAAenuC,OAAOikC,EAAoB6B,8BAA8Bqf,EAAe3kB,sBAAsBG,wDAAwD,IAC1LhnC,EAAMqpE,iBAAmB70B,EAAenuC,OAAOikC,EAAoB6B,8BAA8Bqf,EAAe3kB,sBAAsBI,4DAA4D,IAClMjnC,EAAMi7H,sCAAwCzmF,EAAenuC,SAC7DrG,EAAMo7H,+BAAiC5mF,EAAenuC,SAItDrG,EAAM26H,gBAAkB,IAAIzE,EAAmBD,EAAgBjlD,eAmiB/D,WAEI,IAAK+oD,KACL,CAGI,IAAI94H,EAAQo1H,GAAgB,KAE5B,OADAA,EAAe,KACRp1H,EAGX,OAGJ,WAEI,IAAIg1D,EAAkBj2D,EAAM26H,gBAAgBl6H,QAE5C,GAAI82H,GAAuBthE,GAAmBA,EAAgBjxD,QAAQ,MAAQ,EAE1E,OAAOqoD,EAAyD,+CAE/D,IAAK4I,KAAqBjnC,EAAcuR,eAAe01B,IAAsBmhE,GAAgBpoG,EAAc4R,cAAcq1B,IAAuB1G,GAAgBvgC,EAAc8R,YAAYm1B,IAE3L,OAAO5I,EAA2C,iCAEjD,IAAKr+B,EAAcuR,eAAe01B,MAAsB1G,IAAgBvgC,EAAc8R,YAAYm1B,KAAqBjnC,EAAc4R,cAAcq1B,KAAqBA,EAAgBjkC,MAAMmb,EAAUrlC,MAAMC,uBAG/M,OAAOslD,EAAkD,wCAG7D,OAAO,KArBAguE,OA7iBXr7H,EAAM26H,gBAAgBl6H,MAAMs/B,OAAO,CAAEstC,SAAU/iC,EAAoB2B,+BAA+BjsC,EAAO,CAAEwrC,QAASggB,EAAe3kB,sBAAsBO,sDACzJpnC,EAAM26H,gBAAgB15H,MAAM8+B,OAAO,CAAEstC,SAAU/iC,EAAoBqB,qBAAqB3rC,EAAO,CAAEwrC,QAASggB,EAAe3kB,sBAAsBQ,yDAC/IrnC,EAAMs7H,uBAAyB18F,EAAGgF,aAClC5jC,EAAM86G,aAAel8E,EAAG09E,kBACxBt8G,EAAM+7G,iBAAmBn9E,EAAGgF,YAAW,GACvC5jC,EAAM8mF,oBAAsBloD,EAAGgF,YAAW,GAC1C5jC,EAAM+1C,yBAA2BnX,EAAGgF,YAAW,GAC/C5jC,EAAM21C,oBAAsB/W,EAAGgF,aAC/B5jC,EAAMu7H,aAAe38F,EAAGgF,YAAW,GACnC5jC,EAAMooD,iCAAmCxpB,EAAGgF,YAAW,GACvD5jC,EAAMk7H,aAAet8F,EAAGgF,aACxB5jC,EAAM66H,QAAUj8F,EAAGgF,YAAW,GAC9B5jC,EAAMq8G,8BAAgCz9E,EAAG09E,gBAAgB,IACzDt8G,EAAMw7H,YAAc58F,EAAGgF,WAAW,MAClC5jC,EAAMy7H,kBAAoB78F,EAAGgF,WAAW,MACxC5jC,EAAM85C,eAAiB,KACvB95C,EAAMw2H,cAAgBD,EACtBv2H,EAAM07H,gBAAkB,KACxB17H,EAAM27H,iBAAmB,KACzB37H,EAAM47H,iBAAmB,KACzB57H,EAAM67H,mBAAqBnD,GAC3B14H,EAAM87H,2BAA4B,EAClC97H,EAAM+7H,iCAAmC1uE,EAAwC,8BACjFrtD,EAAMk9C,YAAc,KACpBl9C,EAAMm9C,0BAA4B,KAClCn9C,EAAMq9C,mBAAqB,KAC3Br9C,EAAMs9C,gBAAkB,KAIpBt9C,EAAMg8H,iBAFN3C,IAEuBz6F,EAAGgF,YAAW,GAOzC0G,EAAoB+B,mCAAmCrsC,EAAO,CAAEwrC,QAASggB,EAAe3kB,sBAAsBC,0CAC9G9mC,EAAMgwE,wBAA0BrB,GAChC3uE,EAAMg7H,kBAAmB,EAKzBh7H,EAAMumF,eAAiB,SAAUzvB,GAEzB89C,IAAuB99C,EAAWmlE,yBAGlCrC,IAA0B,SAGnB9iE,EAAWmlE,wBAGtB,IAAIC,EAAuBxC,GAAqBr6F,OAC5C+mD,EAAqBwzC,GAA0B,GAAK55H,EAAM26H,gBAAgBl6H,QAE9Eq2D,EAAWzU,UAAYD,KAGvB0U,EAAW3U,SAAWnzB,EAAc8S,gBAAgBskD,GACpDtvB,EAAWzQ,YAAc+/B,EACzBtvB,EAAWwkE,uBAAyBt7H,EAAMs7H,yBAC1CxkE,EAAWqlE,oBAAsBD,EAAuBA,EAAqB3B,SAAW,KACxFzjE,EAAWslE,sBAAwBF,EAAuBA,EAAqBzB,WAAa,KAC5F3jE,EAAWtT,kBAAoB,GAC/BsT,EAAWyJ,uBAAwB,EACnCzJ,EAAW4gD,0BAA2B,EACtC5gD,EAAWghD,cAAe,EAEtB8hB,KAEA9iE,EAAWsJ,eAAiBpgE,EAAMq8G,gCAE9BzH,IAAuB99C,EAAWuI,aAGlCvI,EAAWuI,WAAW6B,UAAY,OAI1CtiC,EAAGc,MAAMK,OAAO+2B,EAAY+iE,KAGhC75H,EAAM8+D,SAAW,WAEb,MAAO,CAAEsnB,mBAAoBpmF,EAAM26H,gBAAgBl6H,QAAS47H,sBAAuB1tB,GAAkB7vC,aAGzG9+D,EAAMg/D,aAAe,SAAU1qC,GAEvBA,IAEAq6E,GAAkB3vC,aAAa1qC,EAAM+nG,uBACrCr8H,EAAM26H,gBAAgBl6H,MAAM6zB,EAAM8xD,sBAI1CpmF,EAAMynF,gBAAkB,WAEpBznF,EAAM26H,gBAAgBvpD,SAAQ,IAKlCpxE,EAAMo4C,sBAAwB,WAI1B,GAFA2hF,IAAmB,GAEf/5H,EAAM26H,gBAAgB15H,MAAMgzE,aAE5Bj0E,EAAMynF,sBAFV,CAMA,IAid2BxxB,EAjdvBmwB,EAAqBpmF,EAAM26H,gBAAgBl6H,QAidpBw1D,EA/cLmwB,EAidlBgyC,IAA4Br9F,EAAQoD,kBAAkB83B,IAKtDl7B,EAAQqC,oBACJg7F,GAAyBh0H,KACzB6xD,EACAmiE,GAAyB97F,OACzBvB,EAAQsC,iBACR+6F,GAAyBt8F,OACzBs8F,GAAyBr8F,MA3djCk+F,IAAqB,GAErBnrG,EAAemb,mCACX0kE,GAAkB5xC,UAAU20C,EAAsBtrB,EAAoBhkC,MAAcxhD,MAChF,SAAUw1D,GAcN,OAZA6jE,IAAqB,GAEjB7jE,EAAU/T,WAEVD,GAAWgU,EAAU/T,WAGrBgR,IAA+B+C,EAAUU,YAAcV,EAAUU,WAAWiJ,GAE5E//D,EAAMm7H,eAAe/kE,EAAUU,WAAWiJ,GAGtC3J,EAAU32B,QAEd,KAAKgsB,EAAgBE,UACjB3rD,EAAM26H,gBAAgB15H,MAAMmzE,SAAShe,EAAUn1D,MAAOm1D,EAAUyG,iBAChEi9D,GAA4Cl7F,EAAGc,MAAMK,OAAOq2B,EAAUU,WAAYV,EAAUwG,YAAc,IAC1G58D,EAAMynF,kBACN,MAEJ,KAAKh8B,EAAgBG,WACjBiuE,GAAuBj7F,EAAGc,MAAMK,OAAOq2B,EAAUU,WAAYV,EAAUwG,YAAc,IAGjFxG,EAAUuG,SAAWltD,EAAee,mBAEpCxQ,EAAMs8H,sBAINt8H,EAAMupE,aAAanT,EAAUuG,QAEjC,MAEJ,KAAKlR,EAAgBI,SACjB+uE,GAAUxkE,UAMlCp2D,EAAMq4C,wBAA0B,WAExBsgF,GAQA34H,EAAMupE,aAAa95D,EAAewC,yBAIlCjS,EAAMupE,aAAa95D,EAAeC,WAI1C1P,EAAMu8H,eAAiB,WAEf5sE,GAEAirE,GAAUjsB,GAAkBzvC,2BAA2Bl/D,EAAM26H,gBAAgBl6H,UAI7ET,EAAMupE,aAAaotD,EAAsBh5H,OAAS,EAC5C8R,EAAeiD,uBACfjD,EAAe6C,iBAI7BtS,EAAMw8H,kBAAoB,WAEtBx8H,EAAMuvE,WACF,CACIxqE,IAAKyzB,EAAY0B,gBAAgB4+F,GAAe,QAASn9D,mBAAmB37D,EAAM26H,gBAAgBl6H,UAClG4qC,aACI,CACIG,QAASpB,EAAuB3C,SAASmB,2BAK7D5oC,EAAMy8H,sBAAwB,WAE1B7B,GAAUjsB,GAAkBxvC,6BAA6BuyC,EAAsB1xG,EAAM26H,gBAAgBl6H,WAGzGT,EAAM08H,oBAAsB,WAExB5tG,EAAemb,mCACX+vF,GAAqBpvE,EAAI3K,QAAQG,cAAcx/C,MAC3C,SAAUy+B,GAEFA,EAAOqlC,UAEPm1D,GAAuBC,GACvB95H,EAAMupE,aAAa95D,EAAeK,mBAKtD9P,EAAM28H,wBAA0B,WAE5B,IAAIC,EAAqBpkG,EAAY0B,gBAAgB8+F,GAAqB,KAAMr9D,mBAAmB37D,EAAM26H,gBAAgBl6H,UACzHT,EAAMuvE,WACF,CACIxqE,IAAK63H,EACLvxF,aACI,CACIG,QAASpB,EAAuB3C,SAASsB,iCAK7D/oC,EAAM68H,aAAe,WAnZd,MA6ZP78H,EAAM88H,gBAAkB,WAEpB98H,EAAMuvE,WACF,CACIxqE,IAAK4yH,EACLtsF,aACI,CACIG,QAASpB,EAAuB3C,SAASoB,2BAK7D7oC,EAAM+8H,gBAAkB,WAEpB/8H,EAAMupE,aAAa95D,EAAeW,gBAGtCpQ,EAAMg9H,YAAc,WAEhBh9H,EAAMupE,aAAa95D,EAAeiB,aAGtC1Q,EAAM+pE,iBAAmB,WAErB/pE,EAAMupE,aAAa95D,EAAe0D,sBAGtCnT,EAAM2hF,sBAAwB,SAAUvY,GAEpCppE,EAAMqpE,iBAAiBD,IAG3BppE,EAAMs8H,oBAAsB,WAExBxtG,EAAemb,mCACX+vF,GAAqB,KAAMpvE,EAAIhL,QAAQG,mBAAmBn/C,MACtD,SAAUy+B,GAEFA,EAAOqlC,UAEPg1D,GAAqBr6F,OAASA,EAC9Br/B,EAAMupE,aAAa95D,EAAee,0BAKtDxQ,EAAMi9H,kBAAoB,WAEtBj9H,EAAMupE,aAAa95D,EAAeY,YAGtCrQ,EAAMk9H,0BAA4B,WAE1B1vE,IAAuBjnB,EAAsBG,KAE7C1mC,EAAMupE,aAAa95D,EAAemB,uBAIlC5Q,EAAMuvE,WACF,CACIxqE,IAAKotD,EACL9mB,aACI,CACIG,QAASpB,EAAuB3C,SAASqB,+BAMjE9oC,EAAMm9H,6BAA+B,WAE7BvoB,GAEA50G,EAAMo9H,sCAAsC3tH,EAAejC,MAI3DxN,EAAMupE,aAAa95D,EAAejC,OAI1CxN,EAAMo9H,sCAAwC,SAAUzgE,GAIpD,OAFAi9D,IAA0B,EAElBj9D,GAEJ,KAAKltD,EAAee,mBAChBxQ,EAAMs8H,sBACN,MAEJ,QACIt8H,EAAMupE,aAAa5M,KAK/B38D,EAAMq9H,gBAAkB,WAEpBr9H,EAAMu7H,cAAa,IA2XvB,WAEIv7H,EAAMg7H,iBAAmB9C,IAAsBA,GAAmB8C,iBAElErsB,GAAoB,IAAIjjD,EAA+B9W,GAEnDk9D,IAAgCA,GAA6BliG,UAE7D++F,GAAkB1vC,cAAc6yC,GAA6BliG,SAAUkiG,IAGvEunB,GAEAvqG,EAAemb,mCACXxZ,EAAcgE,qBAAqBs5B,GAAsBkF,IACpDryD,KAAK42G,IAAoC,WAAcA,IAAmC,MAC1F52G,MAAK,WAEFZ,EAAMg8H,gBAAgBh8H,EAAMq8G,gCAAgC1+G,OAAS,GAAKm3G,IAAmCN,IAA2B7lC,MAA8BF,KAA+B1c,SAKjNjjC,EAAemb,mCACXxZ,EAAcgE,qBAAqBs5B,GAAsBkF,IACpDryD,KAAK42G,IAAoC,WAAcA,IAAmC,OAEnGx3G,EAAMg8H,gBAAkBh8H,EAAMq8G,gCAAkC,GAAKvH,IAAmCN,IAA2B7lC,MAA8BF,KAA+B1c,IAGpM,IA7RI67C,EA6RA9zD,EAAiBZ,EAAgBC,mBAAmBoX,GAuBxD,GArBIzW,GAAkBA,EAAe+D,cAEjC/D,EAAewjF,mBAAqB7sG,EAAciC,aAAaonB,EAAe+D,cAGlF79C,EAAM85C,eAAiBA,GAElB+8E,GAA2BD,GAE5BhoG,wBAGQ,IAAI2uG,EAA4B3uG,EAAQ,KAExC5uB,EAAMw7H,YAAY+B,EAA0BC,qBAAqB5G,EAtyB7C,iBAuyBpB52H,EAAMy7H,kBAAkB8B,EAA0BC,qBAAqB5G,EAtyB7C,wBAuyB7B,6BAKL0B,GACJ,CACI,IAAImF,EAAoBhtG,EAAciC,aAAa4lG,IAEnDt4H,EAAM27H,iBAAmB3sG,EAAc2N,OAAO0wB,EAAoD,0CAAGowE,GACrGz9H,EAAM47H,iBAAmB5sG,EAAc2N,OAAO0wB,EAAwD,8CAAGowE,QAIzGz9H,EAAM27H,iBAAmBtuE,EAAgD,sCACzErtD,EAAM47H,iBAAmBvuE,EAAgD,sCAGzEA,EAA8B,sBAAMqnD,KAIhC10G,EAAM07H,gBAFNnC,GAEwBvqG,EAAc2N,OAAO0wB,EAA8B,oBAAGyqE,IAAmBE,IAIzEhpG,EAAc2N,OAAO0wB,EAA8B,oBAAGwqE,EAAUC,IAAmBE,KAvU/GxC,EAEAx1H,EAAM26H,gBAAgBl6H,MAAMgwB,EAAciC,aAAa8iG,IAItDiB,GAA0C,IAAzBA,EAAc94H,SAKpCqC,EAAM26H,gBAAgBl6H,MAAMg2H,EAAc,IAEtCA,EAAc94H,OAAS,IAEvBihC,EAAGc,MAAM+C,aACLg0F,GACA,SAAUiH,GAEN19H,EAAM86G,aAAa78G,KAAK,CAAEq0B,KAAMorG,EAAaj9H,MAAOi9H,OAG5D19H,EAAM86G,aAAa78G,KAAK,CAAEq0B,KAAM+6B,EAAkD,wCAAG5sD,MAAO,OAE5FmtG,EAAe5tG,EAAM26H,gBAAgBl6H,MAAMojC,WACvC,SAAUuiD,GAEqB,OAAvBA,IAEApmF,EAAM86G,aAAatkB,YACnBoX,EAAa9mC,UAEbizD,IAAmB,GACnB/5H,EAAM26H,gBAAgBl6H,MAAM,IAC5BT,EAAM26H,gBAAgBvpD,SAAQ,SAQ9CpxE,EAAM26H,gBAAgBl6H,MAAMojC,WACxB,SAAUuiD,GAEFA,IAEIuzC,GAEIvzC,EAAmBl1D,gBAAkByoG,GAAkCzoG,eAIvElxB,EAAMs7H,uBAAuB,MASjC3B,GAAoCvzC,MA+VhDmwC,EA0BSzmB,KAEL9vG,EAAM8mF,qBAAoB,GAC1B9mF,EAAM+1C,0BAAyB,KAUnC/1C,EAAM8mF,qBAAoB,GAC1B9mF,EAAM+1C,0BAAyB,IAGnC,IAAI4nF,EAAezkF,EAAgB6C,wBAAwBjC,GAE3D95C,EAAM87H,2BAA6B5C,IAA8ByE,EAAa9hF,4BAE1E/B,EAAe6B,4BAEf37C,EAAM+7H,iCAAmCtrG,EAAciC,aAAaonB,EAAe6B,4BAGvF37C,EAAMq9C,mBAAqBvD,EAAe4B,mBAEtCwtB,KAEAlpE,EAAM87H,0BAA4B7E,EAClCj3H,EAAMq9C,mBAAqB65E,EAC3Bl3H,EAAMk9C,YAAczsB,EAAciC,aAAaqkG,KAC/C/2H,EAAMm9C,0BAA4B1sB,EAAciC,aAAaskG,KAC7Dh3H,EAAMs9C,gBAAkB7sB,EAAciC,aAAaykG,MAGnDplE,KAEA/xD,EAAM87H,2BAA4B,EAClC97H,EAAM67H,oBAAqB,GAI/B77H,EAAMo7H,iCAtOV,GAl1BJjF,EAAkBvpD,eAAehuC,GA6jCjCA,EAAG+F,WAAWC,SAAS,gCACnB,CACIC,UAAWuxF,EACXhxF,SAAUxW,EAAQ,KAClByW,aAAclW,EAAE5sB,WAAW+iC,GAAKnB,EAAQzT,OAAO2C,uBAAuBlE,EAAE5sB,WAAW+iC,GACnFgT,kBAAkB,IAG1B55C,EAAOD,QAAU23H,G,gBCpoCjB,IAAIn/F,EAAM,CACT,iCAAkC,IAClC,iCAAkC,IAClC,iCAAkC,KAInC,SAASwqF,EAAeC,GACvB,IAAIv7D,EAAKw7D,EAAsBD,GAC/B,OAAOljH,EAAoB2nD,GAE5B,SAASw7D,EAAsBD,GAC9B,IAAIljH,EAAoBkH,EAAEuxB,EAAKyqF,GAAM,CACpC,IAAIx/G,EAAI,IAAIU,MAAM,uBAAyB8+G,EAAM,KAEjD,MADAx/G,EAAEmN,KAAO,mBACHnN,EAEP,OAAO+0B,EAAIyqF,GAEZD,EAAejoB,KAAO,WACrB,OAAO57F,OAAO47F,KAAKviE,IAEpBwqF,EAAe1gH,QAAU4gH,EACzBjjH,EAAOD,QAAUgjH,EACjBA,EAAet7D,GAAK,K,gBCxBpBznD,EAAOD,QAAU,IAA0B,gF,gBCA3CC,EAAOD,QAAU,IAA0B,gF,gBCA3CC,EAAOD,QAAU,IAA0B,gF,gBCA3CC,EAAOD,QAAU,YAAW,EAAQ,IAAmC,EAAQ,IAA+C,EAAQ,IAA0C,EAAQ,IAAgD,EAAQ,IAAwC,EAAQ,IAAsD,02X,cCAtVC,EAAOD,QAAU,oe,gBCAjBC,EAAOD,QAAU,YAAW,EAAQ,IAAsD,87BAAi6B,EAAQ,GAAqBmnB,eAAepY,KAAO,oiC,gBCA9iC9O,EAAOD,QAAU,YAAW,EAAQ,GAA4C,EAAQ,IAA6D,qbAAkb,EAAQ,IAAoC,aAAiB,EAAQ,IAAoC,iEAAyE,EAAQ,IAA8B,aAAiB,EAAQ,IAA8B,2V,gBCAt1BC,EAAOD,QAAU,YAAW,EAAQ,GAA4C,EAAQ,IAAgD,+GAA6G,EAAQ,GAAqB4rB,SAASC,SAAW,wqBAAkqB,EAAQ,IAAyD,aAAiB,EAAQ,IAAyD,qEAA6E,EAAQ,IAAmD,aAAiB,EAAQ,IAAmD,kwBAAwvB,EAAQ,IAA4D,aAAiB,EAAQ,IAA4D,qEAA6E,EAAQ,IAAsD,aAAiB,EAAQ,IAAsD,kvB,cCA15E5rB,EAAOD,QAAU,slB,gBCAjB,IAAImgC,EAAKhQ,EAAQ,GACbuV,EAAUvV,EAAQ,GAClB4lB,EAAiB5lB,EAAQ,GACzBue,EAAYve,EAAQ,GAEpBO,EAAIltB,OACJwN,EAAiB09B,EAAU19B,eAE/B,SAASmuH,EAA6BlkG,GAElC,IAAI15B,EAAQf,KAGR21C,EAAclb,EAAOp3B,WAIrBu7H,EAAkCjpF,EAAY0mD,GAIlDt7F,EAAMupE,aAAe/0B,EAAenuC,SAIpCrG,EAAMsC,WAAasyC,EACnB50C,EAAM89H,YAAcl/F,EAAGgF,YAAW,GAIlC5jC,EAAM+9H,aAAe,WAEjB,OAAOF,GAIX79H,EAAMumF,eAAiB,aACvBvmF,EAAM8+D,SAAW,WAAc,OAAO,MACtC9+D,EAAMg/D,aAAe,aAIrBh/D,EAAMq4C,wBAA0B,WAE5Br4C,EAAMupE,aAAa95D,EAAeC,WAQtC1P,EAAMg+H,cAAgB,SAAUvsF,GAE5B,IAAIwsF,EAAiB,IAAIC,IAAIL,GAAiCv8F,OAE9D,GAAImQ,EAAGnQ,SAAW28F,EAClB,CACI,IAAIE,EAAUx+H,SAASgqF,eAAe,aAClCw0C,IAEAA,EAAQ/qG,MAAM22E,OAASt4D,EAAGr0C,KAC1B+gI,EAAQ/qG,MAAMsvE,YAAY,aAAc,YAG5C1iG,EAAM89H,aAAY,KAMtB77H,OAAO61B,iBAAiB,UAAW93B,EAAMg+H,eAAe,GAKhEp/F,EAAG+F,WAAWC,SAAS,+BACnB,CACIC,UAAW+4F,EACXx4F,SAAUxW,EAAQ,KAClByW,aAAclW,EAAE5sB,WAAW+iC,GAAKnB,EAAQzT,OAAO2C,uBAAuBlE,EAAE5sB,WAAW+iC,GACnFgT,kBAAkB,IAG1B55C,EAAOD,QAAUm/H,G,gBCpFjBl/H,EAAOD,QAAU,YAAW,EAAQ,IAAyC,EAAQ,IAAgD,88B,gBCErI,IAAImgC,EAAKhQ,EAAQ,GAEbuV,EAAUvV,EAAQ,GAClB4lB,EAAiB5lB,EAAQ,GACzBue,EAAYve,EAAQ,GAEpBO,EAAIltB,OACJwN,EAAiB09B,EAAU19B,eAQ/B,SAAS2uH,EAAkB1kG,GAGvB,IAAI15B,EAAQf,KAIR21C,EAAclb,EAAOp3B,WACrBi0H,EAAiB78F,EAAO88F,cACxB6H,EAAiB3kG,EAAO4kG,cACxBC,EAAY7kG,EAAO8kG,SACnBC,IAAmB/kG,EAAOglG,cAI1B3+C,EAAenrC,EAAY1yC,EAC3B4tG,EAAel7D,EAAYpvC,EAI/BxF,EAAMupE,aAAe/0B,EAAenuC,SACpCrG,EAAM2+H,qBAAuBnqF,EAAenuC,SAI5CrG,EAAMs+H,cAAgBD,EACtBr+H,EAAMw+H,SAAWD,EACjBv+H,EAAM0+H,cAAgBD,EAItBz+H,EAAMumF,eAAiB,aAIvBvmF,EAAM8+D,SAAW,aAIjB9+D,EAAMg/D,aAAe,aAMrBh/D,EAAMq4C,wBAA0B,WAQxBr4C,EAAMupE,aAAa95D,EAAeC,WAQtC1P,EAAM2+H,qBAAqB5+C,KAAkBw2C,GAAkBzmB,IAUvElxE,EAAG+F,WAAWC,SAAS,iBACnB,CACIC,UAAWu5F,EACXh5F,SAAUxW,EAAQ,KAClByW,aAAclW,EAAE5sB,WAAW+iC,GAAKnB,EAAQzT,OAAO2C,uBAAuBlE,EAAE5sB,WAAW+iC,GACnFgT,kBAAkB,IAG1B55C,EAAOD,QAAU2/H,G,gBChGjB1/H,EAAOD,QAAU,YAAW,EAAQ,IAAgD,60B","file":"content/js/ConvergedLogin_PCore.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t};\n\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t24: 0\n \t};\n\n\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"content/js/asyncchunk/convergedlogin_p\" + ({\"0\":\"aadfedconflict\",\"1\":\"alt\",\"2\":\"certificateinterstitial\",\"3\":\"clienttracing\",\"4\":\"confirmrecoveryusername\",\"5\":\"confirmsend\",\"6\":\"confirmsignup\",\"7\":\"credentialpicker\",\"8\":\"customizationloader\",\"9\":\"estslogin_accesspass\",\"10\":\"estslogin_remoteloginpoll\",\"11\":\"estslogin_searchorganization\",\"12\":\"estslogin_signupblocked\",\"13\":\"estslogin_signupusername\",\"14\":\"estslogin_tenantdisambiguation\",\"15\":\"fedconflict\",\"16\":\"fedlink\",\"17\":\"fetchsessionsprogress\",\"18\":\"fido\",\"19\":\"idpdisambiguation\",\"20\":\"idpredirect\",\"21\":\"idpredirectspeedbump\",\"22\":\"learnmore\",\"23\":\"learnmoreofflineaccount\",\"25\":\"onetimecode\",\"26\":\"password\",\"27\":\"phonedisambiguation\",\"28\":\"pop\",\"29\":\"proofconfirmation\",\"30\":\"prooffedconflict\",\"31\":\"qrcodepin\",\"32\":\"qrcodescan\",\"33\":\"remoteconnectcanaryvalidation\",\"34\":\"remoteconnectlocation\",\"35\":\"remotengc\",\"36\":\"resetpasswordsplitter\",\"37\":\"stringcustomizationhelper\",\"38\":\"tiles\",\"39\":\"vcpresentation\",\"40\":\"verticalsplittemplate\",\"41\":\"viewagreement\",\"42\":\"wammessagehandler\",\"43\":\"webnativebridge\"}[chunkId]||chunkId) + \"_\" + {\"0\":\"18a5f2f2fe4f816b15ad\",\"1\":\"ec887beff40f7820148a\",\"2\":\"e0f20c57e10af773296d\",\"3\":\"d97316574d7ed9faf8e2\",\"4\":\"96f27ab5a74d42c06371\",\"5\":\"3d2caac9ace0ed1a25db\",\"6\":\"b7639ccd5136110db608\",\"7\":\"bd91f3c05effc58b17b0\",\"8\":\"cff583c07bc001357beb\",\"9\":\"02bd8a1d6245df59f209\",\"10\":\"d2ea12e1a351b678cd2c\",\"11\":\"8738c756c59033eed1fd\",\"12\":\"3d958fc3e4f4c1678a3f\",\"13\":\"86b6b24656968a39288b\",\"14\":\"dd611c4b2acc78ce29d4\",\"15\":\"b48aec193d72f78ca4e3\",\"16\":\"a2817ef2b82c63ef4ff7\",\"17\":\"66a39cc8e1711dc8997c\",\"18\":\"812f62e006c3b3d5100c\",\"19\":\"bfb12f25934ed6627f13\",\"20\":\"f47a9a2ead7b9dfe6f1f\",\"21\":\"bbbb9dba8278334bd258\",\"22\":\"d7a5964f9fb3d00d9df8\",\"23\":\"83a24ebfdf3e831868b7\",\"25\":\"d60ef3fcf34adb9e1a58\",\"26\":\"244d9d856044ff3b87c9\",\"27\":\"fc0648e468611c53b785\",\"28\":\"9ef2a5bed4035e2aef90\",\"29\":\"5f39cc6ef5eddb8a75ee\",\"30\":\"a54d2b3a0e6efb98ec24\",\"31\":\"88f9cd1a7d77aea3e954\",\"32\":\"69567ebeb99bd918a68d\",\"33\":\"2474d67d95ce97ecf546\",\"34\":\"50e6b6d4a0dfcae1a752\",\"35\":\"7c9fecc85229110528bc\",\"36\":\"5e307236ddb90b877de6\",\"37\":\"9e850e7e59f5c5fea50d\",\"38\":\"29c4fd250168ee99947f\",\"39\":\"de972f5d3effdd784121\",\"40\":\"e96ea1b28e843bc53661\",\"41\":\"408fd3b09cbe90d60584\",\"42\":\"7b35139499b817cb33bc\",\"43\":\"4819757e87c95a075b1e\"}[chunkId] + \".js\"\n \t}\n \t// Polyfill the function.bind implementation for IE 8\r\n \t\r\n \t// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_objects/Function/bind\r\n \t// Yes, it does work with `new funcA.bind(thisArg, args)`\r\n \tif (!Function.prototype.bind)\r\n \t{\r\n \t (function ()\r\n \t {\r\n \t var ArrayPrototypeSlice = Array.prototype.slice;\r\n \t Function.prototype.bind = function (otherThis)\r\n \t {\r\n \t if (typeof this !== 'function')\r\n \t {\r\n \t // closest thing possible to the ECMAScript 5\r\n \t // internal IsCallable function\r\n \t throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable');\r\n \t }\r\n \t\r\n \t var baseArgs= ArrayPrototypeSlice.call(arguments, 1),\r\n \t baseArgsLength = baseArgs.length,\r\n \t fToBind = this,\r\n \t fNOP = function () {},\r\n \t fBound = function ()\r\n \t {\r\n \t baseArgs.length = baseArgsLength; // reset to default base arguments\r\n \t baseArgs.push.apply(baseArgs, arguments);\r\n \t return fToBind.apply(\r\n \t fNOP.prototype.isPrototypeOf(this) ? this : otherThis, baseArgs\r\n \t );\r\n \t };\r\n \t\r\n \t if (this.prototype)\r\n \t {\r\n \t // Function.prototype doesn't have a prototype property\r\n \t fNOP.prototype = this.prototype;\r\n \t }\r\n \t fBound.prototype = new fNOP();\r\n \t\r\n \t return fBound;\r\n \t };\r\n \t })();\r\n \t}\n \t// Polyfill the document.head for IE 8\r\n \t\r\n \tdocument.head = document.head || document.getElementsByTagName(\"head\")[0];\n \t(function ()\r\n \t{\r\n \t var PromiseStatePending = 0;\r\n \t var PromiseStateFulfilled = 1;\r\n \t var PromiseStateRejected = 2;\r\n \t\r\n \t function Promise(executor)\r\n \t {\r\n \t var _this = this;\r\n \t\r\n \t var _state = PromiseStatePending;\r\n \t var _settledValue = null;\r\n \t var _queue = [];\r\n \t\r\n \t _this.then = function (onFulfilled, onRejected)\r\n \t {\r\n \t return new Promise(\r\n \t function (resolve, reject)\r\n \t {\r\n \t // Queue the new promise returned to be resolved or rejected\r\n \t // when this promise settles.\r\n \t _enqueue(onFulfilled, onRejected, resolve, reject);\r\n \t });\r\n \t };\r\n \t\r\n \t _this[\"catch\"] = function (onRejected)\r\n \t {\r\n \t return _this.then(null, onRejected);\r\n \t };\r\n \t\r\n \t function _enqueue(onFulfilled, onRejected, resolve, reject)\r\n \t {\r\n \t _queue.push(\r\n \t function ()\r\n \t {\r\n \t var value;\r\n \t\r\n \t try\r\n \t {\r\n \t // First call the onFulfilled or onRejected handler, on the settled value\r\n \t // of this promise. If the corresponding handler does not exist, simply\r\n \t // pass through the settled value.\r\n \t if (_state === PromiseStateFulfilled)\r\n \t {\r\n \t value = typeof onFulfilled === \"function\" ? onFulfilled(_settledValue) : _settledValue;\r\n \t }\r\n \t else\r\n \t {\r\n \t value = typeof onRejected === \"function\" ? onRejected(_settledValue) : _settledValue;\r\n \t }\r\n \t }\r\n \t catch (error)\r\n \t {\r\n \t // The chained promise will reject if there is any exception thrown while\r\n \t // calling the onFulfilled or onRejected handlers.\r\n \t reject(error);\r\n \t return;\r\n \t }\r\n \t\r\n \t if (value instanceof Promise)\r\n \t {\r\n \t // The called handlers returned a new promise, so the chained promise\r\n \t // will follow the state of this promise.\r\n \t value.then(resolve, reject);\r\n \t }\r\n \t else if (_state === PromiseStateRejected && typeof onRejected !== \"function\")\r\n \t {\r\n \t // If there wasn't an onRejected handler and this promise is rejected, then\r\n \t // the chained promise also rejects with the same reason.\r\n \t reject(value);\r\n \t }\r\n \t else\r\n \t {\r\n \t // If this promise is fulfilled, then the chained promise is also fulfilled\r\n \t // with either the settled value of this promise (if no onFulfilled handler\r\n \t // was available) or the return value of the handler. If this promise is\r\n \t // rejected and there was an onRejected handler, then the chained promise is\r\n \t // fulfilled with the return value of the handler.\r\n \t resolve(value);\r\n \t }\r\n \t });\r\n \t\r\n \t // If this promise is already settled, then immediately process the callback we\r\n \t // just added to the queue.\r\n \t if (_state !== PromiseStatePending)\r\n \t {\r\n \t _processQueue();\r\n \t }\r\n \t }\r\n \t\r\n \t function _processQueue()\r\n \t {\r\n \t if (_queue.length > 0)\r\n \t {\r\n \t // The onFulfilled and onRejected handlers must be called asynchronously. Thus,\r\n \t // we make a copy of the queue and work on it once the current call stack unwinds.\r\n \t var pending = _queue.slice();\r\n \t _queue = [];\r\n \t\r\n \t setTimeout(\r\n \t function ()\r\n \t {\r\n \t for (var i = 0, len = pending.length; i < len; ++i)\r\n \t {\r\n \t pending[i]();\r\n \t }\r\n \t }, 0);\r\n \t }\r\n \t }\r\n \t\r\n \t function _resolve(value)\r\n \t {\r\n \t if (_state === PromiseStatePending)\r\n \t {\r\n \t _settledValue = value;\r\n \t _state = PromiseStateFulfilled;\r\n \t _processQueue();\r\n \t }\r\n \t }\r\n \t\r\n \t function _reject(reason)\r\n \t {\r\n \t if (_state === PromiseStatePending)\r\n \t {\r\n \t _settledValue = reason;\r\n \t _state = PromiseStateRejected;\r\n \t _processQueue();\r\n \t }\r\n \t }\r\n \t\r\n \t (function _initialize()\r\n \t {\r\n \t if (typeof executor !== \"function\")\r\n \t {\r\n \t throw new TypeError(\"Promise: argument is not a Function object\");\r\n \t }\r\n \t\r\n \t try\r\n \t {\r\n \t executor(_resolve, _reject);\r\n \t }\r\n \t catch (error)\r\n \t {\r\n \t // This promise will immediately reject if any exception is thrown\r\n \t // from within the executor function.\r\n \t _reject(error);\r\n \t }\r\n \t })();\r\n \t }\r\n \t\r\n \t function createPromiseAllHandlerFunction(values, index, doneCheck, rejectOnError, isFulfilled)\r\n \t {\r\n \t // This function will be used as handler for any Promise found\r\n \t // in the iterable passed to Promise.all or Promise.allSettled.\r\n \t // The goal here is to capture in a closure the index of the current item\r\n \t // from the iterable. If we did not create this closure, the captured index\r\n \t // variable would be the same one that the for loop updates and thus would\r\n \t // always be pointing to the last index in the iterable by the time that\r\n \t // the handler is called.\r\n \t // However, note that for the doneCheck callback we want the opposite. For\r\n \t // this one we do want to capture the same variable that the for loop\r\n \t // updates so that we have the full count of pending promises by the time\r\n \t // the handlers start getting called.\r\n \t\r\n \t var fn =\r\n \t function (value)\r\n \t {\r\n \t // The rejectOnError flag indicates if the expected handler function needs\r\n \t // to update the values array with the individual value (for Promise.all)\r\n \t // or with an object containing status and value (for Promise.allSettled).\r\n \t if (rejectOnError)\r\n \t {\r\n \t values[index] = value;\r\n \t }\r\n \t else\r\n \t {\r\n \t if (isFulfilled)\r\n \t {\r\n \t values[index] = { status: \"fulfilled\", value: value };\r\n \t }\r\n \t else\r\n \t {\r\n \t values[index] = { status: \"rejected\", reason: value };\r\n \t }\r\n \t }\r\n \t\r\n \t doneCheck();\r\n \t };\r\n \t\r\n \t return fn;\r\n \t }\r\n \t\r\n \t function iteratePromises(iterable, rejectOnError)\r\n \t {\r\n \t if (!iterable || !iterable.length)\r\n \t {\r\n \t // If we are not passed an iterable or it is empty, then synchronously\r\n \t // return an already-resolved Promise.\r\n \t return Promise.resolve([]);\r\n \t }\r\n \t\r\n \t return new Promise(\r\n \t function (resolve, reject)\r\n \t {\r\n \t var values = [];\r\n \t var pending = 0;\r\n \t\r\n \t for (var i = 0, len = iterable.length; i < len; ++i)\r\n \t {\r\n \t var item = iterable[i];\r\n \t\r\n \t // For each item in the iterable, if it is a Promise, then\r\n \t // wait for it to resolve and add its resolved value to the\r\n \t // array of values to return.\r\n \t // If the item is not a Promise, pass through the\r\n \t // item into the array of values to return. Each value is\r\n \t // returned in the same index as the item was found in the\r\n \t // iterable.\r\n \t if (item instanceof Promise)\r\n \t {\r\n \t pending++;\r\n \t\r\n \t var doneCheck =\r\n \t function ()\r\n \t {\r\n \t if (--pending === 0)\r\n \t {\r\n \t resolve(values);\r\n \t }\r\n \t };\r\n \t\r\n \t // If rejectsOnError, then reject the Promise that we return\r\n \t // immediately upon any of the input promises rejecting\r\n \t // and reject with the same message/error.\r\n \t if (rejectOnError)\r\n \t {\r\n \t item.then(\r\n \t createPromiseAllHandlerFunction(values, i, doneCheck, rejectOnError),\r\n \t reject);\r\n \t }\r\n \t else\r\n \t {\r\n \t item.then(\r\n \t createPromiseAllHandlerFunction(values, i, doneCheck, rejectOnError, true),\r\n \t createPromiseAllHandlerFunction(values, i, doneCheck, rejectOnError, false));\r\n \t }\r\n \t }\r\n \t else\r\n \t {\r\n \t values[i] = item;\r\n \t }\r\n \t }\r\n \t\r\n \t // If no item is pending (i.e. none were a Promise), then just\r\n \t // resolve the Promise we return. However, this must be done\r\n \t // asynchronously.\r\n \t if (pending === 0)\r\n \t {\r\n \t setTimeout(\r\n \t function ()\r\n \t {\r\n \t resolve(values);\r\n \t }, 0);\r\n \t }\r\n \t });\r\n \t };\r\n \t\r\n \t Promise.all = function (iterable)\r\n \t {\r\n \t return iteratePromises(iterable, true);\r\n \t };\r\n \t\r\n \t Promise.allSettled = function (iterable)\r\n \t {\r\n \t return iteratePromises(iterable, false);\r\n \t };\r\n \t\r\n \t function createPromiseRaceCallResolveFunction(resolve, item)\r\n \t {\r\n \t // This function is used to resolve the Promise returned by Promise.race\r\n \t // with the given item from the iterable that was passed in. The goal\r\n \t // is to create a closure that capture the current item from the\r\n \t // iterable. Without this closure, we would capture the same item\r\n \t // variable used by the for loop which would always end up being the\r\n \t // last item in the iterable by the time we resolve the Promise.\r\n \t\r\n \t var fn =\r\n \t function ()\r\n \t {\r\n \t resolve(item);\r\n \t };\r\n \t\r\n \t return fn;\r\n \t }\r\n \t\r\n \t Promise.race = function (iterable)\r\n \t {\r\n \t return new Promise(\r\n \t function (resolve, reject)\r\n \t {\r\n \t // If we are not passed in an iterable or it is empty, then\r\n \t // the returned Promise will never settle.\r\n \t if (!iterable || !iterable.length)\r\n \t {\r\n \t return;\r\n \t }\r\n \t\r\n \t for (var i = 0, len = iterable.length; i < len; ++i)\r\n \t {\r\n \t var item = iterable[i];\r\n \t\r\n \t // For each item in the iterable, if it is a Promise, then\r\n \t // wait for the Promise to settle and have the returned\r\n \t // promise settle into the same state (if it hasn't settled\r\n \t // already by the time that the Promise from the iterable\r\n \t // settles). If a non-Promise is found in the iterable, then\r\n \t // the returned Promise will resolve with that item as the\r\n \t // settled value, but it must do so asynchronously.\r\n \t if (item instanceof Promise)\r\n \t {\r\n \t item.then(resolve, reject);\r\n \t }\r\n \t else\r\n \t {\r\n \t setTimeout(\r\n \t createPromiseRaceCallResolveFunction(resolve, item), 0);\r\n \t }\r\n \t }\r\n \t });\r\n \t };\r\n \t\r\n \t Promise.reject = function (reason)\r\n \t {\r\n \t return new Promise(\r\n \t function (resolve, reject)\r\n \t {\r\n \t reject(reason);\r\n \t });\r\n \t };\r\n \t\r\n \t Promise.resolve = function (value)\r\n \t {\r\n \t if (value instanceof Promise)\r\n \t {\r\n \t // The value is already a Promise - return it directly.\r\n \t return value;\r\n \t }\r\n \t else if (value && typeof value.then === \"function\")\r\n \t {\r\n \t // The value is a thenable - have the Promise we return\r\n \t // follow the thenable.\r\n \t return new Promise(\r\n \t function (resolve, reject)\r\n \t {\r\n \t value.then(resolve, reject);\r\n \t });\r\n \t }\r\n \t\r\n \t // The value is neither a Promise or a thenable - resolve\r\n \t // the Promise we return with the value.\r\n \t return new Promise(\r\n \t function (resolve)\r\n \t {\r\n \t resolve(value);\r\n \t });\r\n \t };\r\n \t\r\n \t if (!window.Promise)\r\n \t {\r\n \t window.Promise = Promise;\r\n \t }\r\n \t \r\n \t if (!window.Promise.all)\r\n \t {\r\n \t window.Promise.all = Promise.all;\r\n \t }\r\n \t\r\n \t if (!window.Promise.allSettled)\r\n \t {\r\n \t window.Promise.allSettled = Promise.allSettled;\r\n \t }\r\n \t\r\n \t if (!window.Promise.race)\r\n \t {\r\n \t window.Promise.race = Promise.race;\r\n \t }\r\n \t\r\n \t if (!window.Promise.reject)\r\n \t {\r\n \t window.Promise.reject = Promise.reject;\r\n \t }\r\n \t\r\n \t if (!window.Promise.resolve)\r\n \t {\r\n \t window.Promise.resolve = Promise.resolve;\r\n \t }\r\n \t})();\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n\n \t\t\t\t function fallbackCdn(url, cdnRoots)\n \t\t\t\t {\n \t\t\t\t if (!cdnRoots)\n \t\t\t\t {\n \t\t\t\t return url;\n \t\t\t\t }\n\n \t\t\t\t for (var i = 0; i < cdnRoots.length; i++)\n \t\t\t\t {\n \t\t\t\t if (url.indexOf(cdnRoots[i]) == 0)\n \t\t\t\t {\n \t\t\t\t return cdnRoots[(i + 1) % cdnRoots.length] + url.substring(cdnRoots[i].length);\n \t\t\t\t }\n \t\t\t\t }\n\n \t\t\t\t return url;\n \t\t\t\t }\n \t\t\t\t \n\n \t\t\t\t var serverData = window.ServerData;\n \t\t\t\t var cdnRoots = serverData && serverData.loader ? serverData.loader.cdnRoots || [] : [];\n \t\t\t\t var maxRetry = serverData && serverData.slMaxRetry ? serverData.slMaxRetry : cdnRoots.length - 1;\n\n \t\t\t\t var error = new Error();\n\n \t\t\t\t function loadScript(src, retryCount)\n \t\t\t\t {\n \t\t\t\t var script = document.createElement('script');\n \t\t\t\t var onScriptComplete;\n \t\t\t\t \n\n \t\t\t\t script.charset = 'utf-8';\n \t\t\t\t script.timeout = 120;\n \t\t\t\t var scriptWithNonce = document.querySelector('script[nonce]');\n \t\t\t\t if (scriptWithNonce)\n \t\t\t\t {\n \t\t\t\t var nonce = scriptWithNonce['nonce'] || scriptWithNonce.getAttribute('nonce');\n \t\t\t\t script.setAttribute(\"nonce\", nonce);\n \t\t\t\t }\n\n \t\t\t\t script.src = src;\n \t\t\t\t \n\n \t\t\t\t onScriptComplete = function (event)\n \t\t\t\t {\n \t\t\t\t //avoid mem leaks in IE\n \t\t\t\t script.onerror = script.onload = null;\n \t\t\t\t clearTimeout(timeout);\n \t\t\t\t var chunk = installedChunks[chunkId];\n \t\t\t\t if (chunk !== 0)\n \t\t\t\t {\n \t\t\t\t if (chunk)\n \t\t\t\t {\n \t\t\t\t if (maxRetry <= 0 || retryCount === maxRetry)\n \t\t\t\t {\n \t\t\t\t var errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t var realSrc = event && event.target && event.target.src;\n \t\t\t\t error.message = 'Loading chunk ' + chunkId + ' failed after ' + (maxRetry + 1) + ' tries.\\n(' + errorType + ': ' + realSrc + ')';\n\n \t\t\t\t error.name = 'ChunkLoadError';\n \t\t\t\t error.type = errorType;\n \t\t\t\t error.request = realSrc;\n\n \t\t\t\t chunk[1](error);\n \t\t\t\t installedChunks[chunkId] = undefined;\n \t\t\t\t \n \t\t\t\t //only applies to CXH flows\n \t\t\t\t if(SRSRetry) {\n \t\t\t\t window.external.notify(\n \t\t\t\t JSON.stringify(\n \t\t\t\t {\n \t\t\t\t type: \"invoke\",\n \t\t\t\t value: {\n \t\t\t\t name: \"CloudExperienceHost.Telemetry.logEvent\",\n \t\t\t\t args: [\"MSA.ResourceDownloadError\", \"Javascript failed to download on IDUX: \" + realSrc],\n \t\t\t\t context: \"criticalError1\"\n \t\t\t\t }\n \t\t\t\t }\n \t\t\t\t )\n \t\t\t\t );\n \t\t\t\t \n \t\t\t\t window.external.notify(\n \t\t\t\t JSON.stringify(\n \t\t\t\t {\n \t\t\t\t type: \"event\",\n \t\t\t\t value:\n \t\t\t\t {\n \t\t\t\t name: \"CloudExperienceHost.done\",\n \t\t\t\t data: \"fail\"\n \t\t\t\t }\n \t\t\t\t }\n \t\t\t\t )\n \t\t\t\t );\n \t\t\t\t }\n \t\t\t\t }\n \t\t\t\t else\n \t\t\t\t {\n \t\t\t\t var retryScript = loadScript(fallbackCdn(src, cdnRoots), retryCount + 1);\n \t\t\t\t document.head.appendChild(retryScript);\n \t\t\t\t }\n \t\t\t\t }\n \t\t\t\t else\n \t\t\t\t {\n \t\t\t\t installedChunks[chunkId] = undefined;\n \t\t\t\t }\n \t\t\t\t }\n \t\t\t\t };\n\n \t\t\t\t var timeout = setTimeout(\n \t\t\t\t function ()\n \t\t\t\t {\n \t\t\t\t onScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t }, 120000);\n\n \t\t\t\t script.onerror = script.onload = onScriptComplete;\n\n \t\t\t\t return script;\n \t\t\t\t }\n\n \t\t\t\t var script = loadScript(jsonpScriptSrc(chunkId), 0);\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 68);\n","exports.UsernameMaxLength = 113;\r\nexports.SATOTPV1Length = 6;\r\nexports.SATOTPLength = 8;\r\nexports.SAEOTPLength = 8;\r\nexports.PhoneNumberConfirmationLength = 4;\r\nexports.OneTimeCodeDefaultLength = 16;\r\nexports.OneTimeCodeMaxAcceptedLength = 10;\r\nexports.PCExperienceQS = \"pcexp\";\r\nexports.PCExperienceDisabled = exports.PCExperienceQS + \"=false\";\r\nexports.NotPreferredCredentialQs = \"npc\";\r\nexports.AnimationTimeout = 700;\r\nexports.PageSummaryVersion = 1;\r\nexports.GuidTemplate = \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\";\r\n\r\nexports.proofUpCorrelationIdParamName = \"x-ms-correlation-id\";\r\n\r\nexports.Regex =\r\n{\r\n PhoneNumberValidation: /^[0-9 ()[\\].\\-#*/+]+$/\r\n};\r\n\r\nexports.ProofUpRedirectLandingView =\r\n{\r\n AccountCompromised: 1,\r\n RiskySession: 2\r\n};\r\n\r\nexports.LoginMode =\r\n{\r\n None: 0,\r\n Login: 1,\r\n ForceCredType: 3,\r\n LWAConsent: 4,\r\n GenericError: 5,\r\n ForceSignin: 6,\r\n OTS: 7,\r\n HIP_Login: 8,\r\n HIP_Lockout: 9,\r\n InviteBlocked: 10,\r\n SwitchUser: 11,\r\n LWADelegation: 12,\r\n ServiceBlocked: 13,\r\n IDPFailed: 14,\r\n StrongAuthOTC: 16,\r\n StrongAuthMobileOTC: 25,\r\n Finish: 27,\r\n LoginWizard_Login: 28,\r\n StrongAuthWABOTC: 30,\r\n LoginWizard_HIP_Login: 32,\r\n LoginWizard_Finish: 34,\r\n LoginMobile: 36,\r\n ForceSigninMobile: 37,\r\n GenericErrorMobile: 38,\r\n LoginHost: 39,\r\n ForceSigninHost: 40,\r\n GenericErrorHost: 42,\r\n StrongAuthHostOTC: 43,\r\n HIP_LoginHost: 45,\r\n HIP_LoginMobile: 46,\r\n HIP_LockoutHost: 47,\r\n HIP_LockoutMobile: 48,\r\n SwitchUserHost: 49,\r\n LoginXbox_Login: 50,\r\n HIP_LoginXbox: 51,\r\n FinishXbox: 52,\r\n IfExistsXbox: 53,\r\n StartIfExistsXbox: 54,\r\n StrongAuthXboxOTC: 55,\r\n LoginWPWiz_Login: 56,\r\n LoginWPWiz_HIP_Login: 57,\r\n LoginWPWiz_Finish: 58,\r\n StrongAuthWizOTC: 59,\r\n StrongAuthWPWizOTC: 60,\r\n FinishWPWiz: 61,\r\n SwitchUserMobile: 62,\r\n LoginWPWiz_PhoneSignIn: 63,\r\n LoginWPWiz_HIP_PhoneSignIn: 64,\r\n Login_PhoneSignIn: 65,\r\n Login_HIP_PhoneSignIn: 66,\r\n LoginHost_PhoneSignIn: 67,\r\n LoginHost_HIP_PhoneSignIn: 68,\r\n LoginMobile_PhoneSignIn: 69,\r\n LoginMobile_HIP_PhoneSignIn: 70,\r\n LoginWizard_PhoneSignIn: 71,\r\n LoginWizard_HIP_PhoneSignIn: 72,\r\n LoginXbox_PhoneSignIn: 73,\r\n LoginXbox_HIP_PhoneSignIn: 74,\r\n LoginWin10: 75,\r\n HIP_LoginWin10: 76,\r\n FinishWin10: 77,\r\n FinishBlockedWin10: 78,\r\n LoginWin10_PhoneSignIn: 79,\r\n HIP_LoginWin10_PhoneSignIn: 80,\r\n FinishWin10_TokenBroker: 81,\r\n SwitchUserWin10: 82,\r\n ForceSignInXbox: 88,\r\n LoginClientSDK_Login: 92,\r\n LoginClientSDK_HIP_Login: 93,\r\n LoginClientSDK_Finish: 94,\r\n StrongAuthClientSDKOTC: 95,\r\n FinishClientSDK: 96,\r\n LoginClientSDK_PhoneSignIn: 97,\r\n LoginClientSDK_HIP_PhoneSignIn: 98,\r\n Win10InclusiveOOBE_Finish: 99,\r\n Win10InclusiveOOBE_FinishBlocked: 100,\r\n \r\n Tiles: 102,\r\n RemoteConnect: 103,\r\n \r\n FedConflict: 105,\r\n Win10Host_Login: 106,\r\n Win10Host_Login_PhoneSignin: 107,\r\n Win10Host_Finish: 108,\r\n Win10Host_StrongAuth: 109,\r\n Win10Host_HIP_Login: 110,\r\n Fido: 111,\r\n Win10Host_HIP_Login_PhoneSignIn: 112,\r\n FedLink: 113,\r\n UserCredentialPolicyBlocked: 114,\r\n BindFailed: 115,\r\n Win10HostOOBE_HIP_Login: 116,\r\n Win10HostOOBE_HIP_Login_PhoneSignIn: 117,\r\n AadFedConflict: 118,\r\n ProofFedConflict: 119,\r\n FedBoundLink: 120,\r\n FetchSessionsProgress: 121,\r\n Win10Host_TransferLogin: 122,\r\n TransferLogin: 123,\r\n Signup: 124,\r\n CredentialPicker: 129,\r\n \r\n \r\n SignupBlocked: 132,\r\n QrCodePin: 133\r\n};\r\n\r\nexports.LoginBody =\r\n{\r\n Login_OTC: 5\r\n};\r\n\r\nexports.SessionPullFlags =\r\n{\r\n Msa: 1 << 0,\r\n Dsso: 1 << 1\r\n};\r\n\r\nexports.ResponseMode =\r\n{\r\n Fragment: \"Fragment\",\r\n Query: \"Query\",\r\n FormPost: \"FormPost\",\r\n NotSpecified: \"NotSpecified\",\r\n Unsupported: \"Unsupported\"\r\n};\r\n\r\nexports.ResponseType =\r\n{\r\n code: \"code\",\r\n token: \"token\",\r\n id_token: \"id_token\",\r\n none: \"none\"\r\n};\r\n\r\nexports.PaginatedState =\r\n{\r\n \r\n \r\n Previous: -1,\r\n Unknown: 0,\r\n Username: 1,\r\n Password: 2,\r\n OneTimeCode: 3,\r\n RemoteNGC: 4,\r\n PhoneDisambiguation: 5,\r\n LwaConsent: 6,\r\n IdpDisambiguation: 7,\r\n IdpRedirect: 8,\r\n \r\n ViewAgreement: 10,\r\n LearnMore: 11,\r\n Tiles: 12,\r\n ConfirmSend: 13,\r\n RemoteConnectCode: 14,\r\n RemoteLoginPolling: 15,\r\n BindRedirect: 16,\r\n TermsOfUse: 17,\r\n DesktopSsoProgress: 18,\r\n ResetPasswordSplitter: 19,\r\n Kmsi: 20,\r\n CheckPasswordType: 21,\r\n ChangePassword: 22,\r\n Fido: 23,\r\n CredentialPicker: 24,\r\n Consent: 25,\r\n Error: 26,\r\n ConfirmSignup: 27,\r\n ConfirmRecoverUsername: 28,\r\n ConfirmConsentSelection: 29,\r\n FedConflict: 30,\r\n ProofUpRedirect: 32,\r\n ProofUpRedirectLanding: 33,\r\n ConditionalAccessInstallBroker: 34,\r\n ConditionalAccessWorkplaceJoin: 35,\r\n ConditionalAccessError: 36,\r\n CreateFido: 37,\r\n FedLink: 38,\r\n FedLinkComplete: 40,\r\n IdpRedirectSpeedbump: 41,\r\n TransferLogin: 42,\r\n Cmsi: 43,\r\n ProofConfirmation: 44,\r\n MessagePrompt: 45,\r\n FinishError: 46,\r\n Hip: 48,\r\n LearnMoreOfflineAccount: 49,\r\n TenantDisambiguation: 50,\r\n AadFedConflict: 51,\r\n RemoteConnectCanaryValidation: 52,\r\n PartnerCanaryValidation: 53,\r\n ProofFedConflict: 54,\r\n FetchSessionsProgress: 55,\r\n AccessPass: 56,\r\n SignupUsername: 57,\r\n ReportSuspiciousApp: 58,\r\n MoreInfo: 59,\r\n AuthenticatorAddAccountView: 60,\r\n SignupCredentialPicker: 61,\r\n LoginError: 62,\r\n SearchOrganization: 63,\r\n Ptca: 64,\r\n GuestConsent: 65,\r\n RemoteConnectLocation: 66,\r\n AttributeCollection: 67,\r\n RdpDevicePrompt: 68,\r\n GuestConsentConnect: 69,\r\n SeeHowDataIsManaged: 70,\r\n SecurityDefaultsUpsell: 71,\r\n SecurityDefaultsUpsellOptOut: 72,\r\n SecurityDefaultsUpsellAutoEnabled: 73,\r\n WebNativeBridge: 74,\r\n TransferLoginChallengePin: 75,\r\n RecoveryCredentialPicker: 76,\r\n OneTimeCodeRecovery: 77,\r\n PhoneLinkLearnMore: 78,\r\n PhoneLinkSupport: 79,\r\n CertificateInterstitialView: 80,\r\n ConsentResourceApp: 81,\r\n SignupBlocked: 82,\r\n VCPresentation: 83,\r\n QrCodeScan: 84,\r\n QrCodePin: 85,\r\n AttributeCollectionRedirect: 86\r\n};\r\n\r\nexports.PostType =\r\n{\r\n Password: 11,\r\n Federation: 13,\r\n SHA1: 15,\r\n StrongAuth: 18,\r\n StrongAuthTOTP: 19,\r\n LWAConsent: 30,\r\n PasswordInline: 20,\r\n RemoteNGC: 21,\r\n SessionApproval: 22,\r\n NGC: 23,\r\n OtcNoPassword: 24,\r\n RemoteConnect_NativePlatform: 25,\r\n OTC: 27,\r\n Kmsi: 28,\r\n TransferTokenOTC: 31,\r\n QrCodePin: 32\r\n};\r\n\r\nexports.UserProperty =\r\n{\r\n USERNAME: \"login\",\r\n ERROR_CODE: \"HR\",\r\n ERR_MSG: \"ErrorMessage\",\r\n EXT_ERROR: \"ExtErr\",\r\n ERR_URL: \"ErrUrl\",\r\n DATOKEN: \"DAToken\",\r\n DA_SESKEY: \"DASessionKey\",\r\n DA_START: \"DAStartTime\",\r\n DA_EXPIRE: \"DAExpires\",\r\n STS_ILFT: \"STSInlineFlowToken\",\r\n SIGNINNAME: \"SigninName\",\r\n FIRST_NAME: \"LastName\",\r\n LAST_NAME: \"FirstName\",\r\n TILE_URL: \"TileUrl\",\r\n CID: \"CID\",\r\n PUID: \"PUID\"\r\n};\r\n\r\nexports.DEFAULT_CHANNEL_ID = \"53ee284d-920a-4b59-9d30-a60315b26836\";\r\nexports.DEFAULT_PREFERRED_EXTENSION_ID = \"ppnbnpeolgkicgegkbkbjmhlideopiji\";\r\nexports.WebNativeBridgeSuccess = \"Success\";\r\nexports.DFPPrefix = \"dfp:\";\r\n\r\nexports.Error =\r\n{\r\n \r\n S_OK: \"0\",\r\n\r\n \r\n InvalidRealmDiscLogin: 10,\r\n UsernameInvalid: 1000,\r\n PasswordEmpty: 1001,\r\n HIPEmpty: 1002,\r\n AltEmailInvalid: 1005,\r\n PhoneInvalid: 1006,\r\n SAContainsName: 1007,\r\n OTCEmpty: 1009,\r\n OTCInvalid: 1010,\r\n NotEnoughProofs: 1013,\r\n PhoneEmpty: 1015,\r\n FedUser: 1016,\r\n FedUserConflict: 1017,\r\n FedUserInviteBlocked: 1018,\r\n EmptyFields: 1020,\r\n PhoneHasSpecialChars: 1021,\r\n AutoVerifyNoCodeSent: 1022,\r\n ProofConfirmationEmpty: 1023,\r\n ProofConfirmationInvalid: 1024,\r\n TOTPInvalid: 1025,\r\n SessionNotApproved: 1026,\r\n PhoneNumberInvalid: 1027,\r\n PhoneFormattingInvalid: 1028,\r\n PollingTimedOut: 1029,\r\n SendNotificationFailed: 1030,\r\n\r\n \r\n Server_MessageOnly: 9999,\r\n\r\n \r\n PP_E_DB_MEMBERDOESNOTEXIST: \"CFFFFC15\",\r\n PP_E_EXCLUDED: \"80041010\",\r\n PP_E_MEMBER_LOCKED: \"80041011\",\r\n PP_E_BAD_PASSWORD: \"80041012\",\r\n PP_E_MISSING_MEMBERNAME: \"80041031\",\r\n PP_E_MISSING_PASSWORD: \"80041032\",\r\n PP_E_FEDERATION_INLINELOGIN_DISALLOWED: \"800478AC\",\r\n PP_E_PE_RULEFALSE: \"8004490C\",\r\n PP_E_MOBILECREDS_PHONENUMBER_BLANK: \"80045801\",\r\n PP_E_MOBILECREDS_PHONENUMBER_TOOSHORT: \"80045806\",\r\n PP_E_MOBILECREDS_PHONENUMBER_TOOLONG: \"80045807\",\r\n PP_E_MOBILECREDS_PHONENUMBER_INVALID: \"80045800\",\r\n PP_E_NAME_BLANK: \"80041100\",\r\n PP_E_EMAIL_INCOMPLETE: \"8004110D\",\r\n PP_E_EMAIL_INVALID: \"8004110B\",\r\n PP_E_NAME_TOO_SHORT: \"80041101\",\r\n PP_E_NAME_INVALID: \"80041103\",\r\n PP_E_INVALIDARG: \"80048388\",\r\n PP_E_SA_TOOSHORT: \"80041120\",\r\n PP_E_SA_TOOLONG: \"80041121\",\r\n PP_E_INVALID_PHONENUMBER: \"8004113F\",\r\n PP_E_SECRETQ_CONTAINS_SECRETA: \"80041165\",\r\n PP_E_SECRETA_CONTAINS_SECRETQ: \"8004117D\",\r\n PP_E_SA_CONTAINS_MEMBERNAME: \"8004116A\",\r\n PP_E_STRONGPROCESS_ALTEMAILSAMEASMAILBOX: \"80049C2D\",\r\n PP_E_EMAIL_RIGHT_TOO_LONG: \"8004110C\",\r\n PP_E_NAME_TOO_LONG: \"80041102\",\r\n PP_E_ALIAS_AUTH_NOTPERMITTED: \"8004788B\",\r\n PP_E_TOTP_INVALID: \"80049C34\",\r\n PP_E_OLD_SKYPE_PASSWORD: \"80043557\",\r\n PP_E_OTT_DATA_INVALID: \"8004348F\",\r\n PP_E_OTT_ALREADY_CONSUMED: \"80043490\",\r\n PP_E_OTT_INVALID_PURPOSE: \"80043496\",\r\n PP_E_PPSA_RPT_NOTOADDRESS: \"80048120\",\r\n PP_E_STRONGPROCESS_BADDEVICENAME: \"80049C22\",\r\n PP_E_INLINELOGIN_INVALID_SMS: \"800434E1\",\r\n PP_E_INLINELOGIN_INVALID_ALT: \"800434E2\",\r\n PP_E_PREVIOUS_PASSWORD: \"80041013\",\r\n PP_E_HIP_VALIDATION_WRONG: \"80045505\",\r\n PP_E_HIP_VALIDATION_ERROR_FATAL: \"80045537\",\r\n PP_E_HIP_VALIDATION_ERROR_UNAUTHENTICATED: \"80045538\",\r\n PP_E_HIP_VALIDATION_ERROR_OTHER: \"80045539\",\r\n PP_E_SQ_CONTAINS_PASSWORD: \"8004341E\",\r\n PP_E_SA_CONTAINS_PASSWORD: \"8004341C\",\r\n PP_E_SA_CONTAINED_IN_PASSWORD: \"8004341D\",\r\n PP_E_LIBPHONENUMBERINTEROP_NUMBERPARSE_EXCEPTION: \"80043510\",\r\n PP_E_STRONGPROCESS_EMAIL_HAS_MOBILE_DOMAIN: \"80049C33\",\r\n PP_E_STRONGPROCESS_MXALIAS_NOTALLOWED: \"80049C23\",\r\n PP_E_INVALID_MEMBERNAME: \"80041034\",\r\n PP_E_SA_TOO_MANY_CACHE_SESSIONS: \"8004A00C\",\r\n PP_E_INTERFACE_DISABLED: \"80043448\",\r\n PP_E_ASSOCIATE_DUPLICATE_ACCOUNT: \"80043534\",\r\n PP_E_OAUTH_REMOTE_CONNECT_USER_CODE_MISSING_OR_INVALID: \"800478C7\",\r\n PP_E_LOGIN_NOPA_USER_PASSWORD_REQUIRED: \"800478CE\",\r\n PP_E_IDP_LINKEDIN_BINDING_NOT_ALLOWED: \"800478D5\",\r\n PP_E_IDP_GOOGLE_BINDING_NOT_ALLOWED: \"800478D6\",\r\n PP_E_IDP_GITHUB_BINDING_NOT_ALLOWED: \"800478D7\",\r\n PP_E_IDP_BINDING_EXISTS_SAMSUNG: \"8004453E\",\r\n PP_E_TRANSFER_TOKEN_INVALID_SESSION: \"800435A0\"\r\n};\r\n\r\n\r\nexports.EstsError =\r\n{\r\n UserAccountSelectionInvalid: \"16001\",\r\n UserUnauthorized: \"50020\",\r\n UserUnauthorizedApiVersionNotSupported: \"500201\",\r\n UserUnauthorizedMsaGuestUsersNotSupported: \"500202\",\r\n UserAccountNotFound: \"50034\",\r\n UserAccountDeleted: \"500341\",\r\n UserAlreadyExists: \"1003037\",\r\n UserAccountNotFoundNotConfiguredForRemoteNgc: \"500342\",\r\n UserAccountNotFoundFailedToCreateRemoteSignIn: \"500343\",\r\n UserAccountNotFoundForFidoSignIn: \"500344\",\r\n IdsLocked: \"50053\",\r\n InvalidPasswordLastPasswordUsed: \"50054\",\r\n InvalidPasswordExpiredPassword: \"50055\",\r\n InvalidPasswordNullPassword: \"50056\",\r\n UserDisabled: \"50057\",\r\n GuestUserDisabled: \"500571\",\r\n FlowTokenExpired: \"50089\",\r\n InvalidUserNameOrPassword: \"50126\",\r\n InvalidDomainName: \"50128\",\r\n ProtectedKeyMisuse: \"50141\",\r\n MissingCustomSigningKey: \"50146\",\r\n IdpLoopDetected: \"50174\",\r\n InvalidOneTimePasscode: \"50181\",\r\n ExpiredOneTimePasscode: \"50182\",\r\n OneTimePasscodeCacheError: \"50183\",\r\n OneTimePasscodeCacheErrorNoMoreOTPGenerated: \"501831\",\r\n OneTimePasscodeEntryNotExist: \"50184\",\r\n OneTimePasscodeMessageDeliveryFailed: \"50185\",\r\n InvalidPassword: \"50193\",\r\n InvalidOneTimePasscodeOTPNotGiven: \"501811\",\r\n InvalidGrantDeviceNotFound: \"700003\",\r\n SsoArtifactExpiredDueToConditionalAccess: \"70044\",\r\n SsoArtifactExpiredDueToConditionalAccessReAuth: \"70046\",\r\n InvalidTenantName: \"90002\",\r\n InvalidTenantNameEmptyGuidIdentifier: \"900021\",\r\n InvalidTenantNameEmptyIdentifier: \"900022\",\r\n InvalidTenantNameFormat: \"900023\",\r\n PhoneSignInBlockedByUserCredentialPolicy: \"130500\",\r\n AccessPassBlockedByPolicy: \"130502\",\r\n InvalidAccessPass: \"130503\",\r\n AccessPassExpired: \"130504\",\r\n AccessPassAlreadyUsed: \"130505\",\r\n PublicIdentifierSasBeginCallRetriableError: \"131001\",\r\n PublicIdentifierAuthUserNotAllowedByPolicy: \"131010\",\r\n PublicIdentifierSasBeginCallNonRetriableError: \"131002\",\r\n PublicIdentifierSasEndCallRetriableError: \"131003\",\r\n PublicIdentifierSasEndCallNonRetriableError: \"131004\",\r\n DeviceIsDisabled: \"135011\",\r\n FidoBlockedByPolicy: \"135016\",\r\n PasskeyBlockedByPolicyOtherAuthAppPasskeyAvailable: \"1350161\",\r\n PasskeyBlockedByPolicyOtherPasskeyAvailable: \"1350162\",\r\n PasskeyAuthInterrupted: \"1350201\",\r\n BlockedAdalVersion: \"220300\",\r\n BlockedClientId: \"220400\",\r\n InvalidCredentialDueToMfaClassification: \"54009\",\r\n ProofupBlockedDueToMfaClassification: \"54010\",\r\n NoEmailAddressCollectedFromExternalOidcIDP: \"901011\",\r\n EmailAddressCollectedFromExternalOidcIDPNotVerified: \"901012\",\r\n EmailAddressCollectedFromExternalOidcIDPNotPublic: \"901013\",\r\n NoExternalIdentifierCollectedFromExternalOidcIDP: \"901014\",\r\n\r\n \r\n \r\n UserVoiceAuthFailedCallWentToVoicemail: \"UserVoiceAuthFailedCallWentToVoicemail\",\r\n UserVoiceAuthFailedInvalidPhoneInput: \"UserVoiceAuthFailedInvalidPhoneInput\",\r\n UserVoiceAuthFailedPhoneHungUp: \"UserVoiceAuthFailedPhoneHungUp\",\r\n UserVoiceAuthFailedInvalidPhoneNumber: \"UserVoiceAuthFailedInvalidPhoneNumber\",\r\n UserVoiceAuthFailedInvalidExtension: \"UserVoiceAuthFailedInvalidExtension\",\r\n InvalidFormat: \"InvalidFormat\",\r\n UserAuthFailedDuplicateRequest: \"UserAuthFailedDuplicateRequest\",\r\n UserVoiceAuthFailedPhoneUnreachable: \"UserVoiceAuthFailedPhoneUnreachable\",\r\n UserVoiceAuthFailedProviderCouldntSendCall: \"UserVoiceAuthFailedProviderCouldntSendCall\",\r\n User2WaySMSAuthFailedProviderCouldntSendSMS: \"User2WaySMSAuthFailedProviderCouldntSendSMS\",\r\n SMSAuthFailedProviderCouldntSendSMS: \"SMSAuthFailedProviderCouldntSendSMS\",\r\n User2WaySMSAuthFailedNoResponseTimeout: \"User2WaySMSAuthFailedNoResponseTimeout\",\r\n SMSAuthFailedNoResponseTimeout: \"SMSAuthFailedNoResponseTimeout\",\r\n SMSAuthFailedWrongCodeEntered: \"SMSAuthFailedWrongCodeEntered\",\r\n IncorrectOTP: \"IncorrectOTP\",\r\n OathCodeIncorrect: \"OathCodeIncorrect\",\r\n OathCodeDuplicate: \"OathCodeDuplicate\",\r\n OathCodeOld: \"OathCodeOld\",\r\n ProofDataNotFound: \"ProofDataNotFound\",\r\n OathCodeCorrectButDeviceNotAllowed: \"OathCodeCorrectButDeviceNotAllowed\",\r\n OathCodeFailedMaxAllowedRetryReached: \"OathCodeFailedMaxAllowedRetryReached\",\r\n InvalidSession: \"InvalidSession\",\r\n PhoneAppNoResponse: \"PhoneAppNoResponse\",\r\n User2WaySMSAuthFailedWrongCodeEntered: \"User2WaySMSAuthFailedWrongCodeEntered\",\r\n PhoneAppInvalidResult: \"PhoneAppInvalidResult\",\r\n PhoneAppDenied: \"PhoneAppDenied\",\r\n PhoneAppTokenChanged: \"PhoneAppTokenChanged\",\r\n SMSAuthFailedMaxAllowedCodeRetryReached: \"SMSAuthFailedMaxAllowedCodeRetryReached\",\r\n PhoneAppFraudReported: \"PhoneAppFraudReported\",\r\n FraudCodeEntered: \"FraudCodeEntered\",\r\n UserIsBlocked: \"UserIsBlocked\",\r\n PhoneAppEntropyIncorrect: \"PhoneAppEntropyIncorrect\",\r\n VoiceOTPAuthFailedWrongCodeEntered: \"VoiceOTPAuthFailedWrongCodeEntered\",\r\n VoiceOTPAuthFailedMaxAllowedCodeRetryReached: \"VoiceOTPAuthFailedMaxAllowedCodeRetryReached\",\r\n AccessPassBlockedByPolicyTfa: \"AccessPassBlockedByPolicy\",\r\n InvalidAccessPassTfa: \"InvalidAccessPass\",\r\n AccessPassExpiredTfa: \"AccessPassExpired\",\r\n AccessPassAlreadyUsedTfa: \"AccessPassAlreadyUsed\",\r\n AppLockRequiredButNotUsed: \"AppLockRequiredButNotUsed\",\r\n IncompatibleAppVersion: \"IncompatibleAppVersion\",\r\n FlowTokenExpiredTfa: \"FlowTokenExpired\",\r\n\r\n \r\n ApplicationUsedIsNotAnApprovedAppRequiredByConditionalAccess: \"530021\",\r\n BlockedByConditionalAccess: \"53003\",\r\n BlockedByConditionalAccessForRemoteDeviceFlow: \"530033\",\r\n BrokerAppNotInstalled: \"50127\",\r\n BrokerAppNotInstalledDeviceAuthenticationFailed: \"501271\",\r\n DeviceIsNotWorkplaceJoined: \"50129\",\r\n DeviceIsNotWorkplaceJoinedForMamApp: \"501291\",\r\n DeviceNotCompliant: \"53000\",\r\n DeviceNotCompliantBrowserNotSupported: \"530001\",\r\n DeviceNotCompliantDeviceCompliantRequired: \"530002\",\r\n DeviceNotCompliantDeviceManagementRequired: \"530003\",\r\n DeviceNotDomainJoined: \"53001\",\r\n DeviceNotDomainJoinedBrowserNotSupported: \"530011\",\r\n ProofUpBlockedDueToRisk: \"53004\",\r\n ProofUpBlockedDueToUserRisk: \"53011\",\r\n RemediateCompliantApp: \"53009\",\r\n RemediateDeviceStateManagedBrowserRequired: \"530081\",\r\n RemediateDeviceStateWorkplaceJoinRequired: \"530082\",\r\n\r\n \r\n AuthenticatorAppRegistrationRequiredInterrupt: \"50203\",\r\n AuthenticatorAppRegistrationEnforcementInterrupt: \"502031\",\r\n UserStrongAuthEnrollmentRequiredInterrupt: \"50072\",\r\n UserStrongAuthClientAuthNRequiredInterrupt: \"50074\",\r\n\r\n \r\n RequiredDeviceStateNotSupported: \"9001011\",\r\n AdminConsentRequired: \"90094\",\r\n AdminConsentRequiredRequestAccess: \"90095\",\r\n\r\n \r\n CertificateValidationBlockedByPolicy: \"500186\",\r\n IssuerHintsPropagationDelay: \"2205016\",\r\n\r\n \r\n TenantDoesNotSupportNativeCredentialRecovery: \"500207\",\r\n UserDoesNotSupportNativeCredentialRecovery: \"500208\",\r\n CredentialDoesNotSupportNativeRecovery: \"500209\",\r\n\r\n \r\n QrCodeKeyInvalidKey: \"130100\",\r\n InvalidRequestNonce: \"140000\",\r\n QrPinInvalid: \"1301021\",\r\n InvalidGrantQrPinChanged: \"1301024\"\r\n};\r\n\r\nexports.Fido =\r\n{\r\n MaxUserPromptLength: 99,\r\n FinishStates:\r\n {\r\n Success: 0,\r\n Cancel: 1,\r\n Error: 2,\r\n NotSupported: 3\r\n },\r\n UnexpectedErrorCode: 9999,\r\n \r\n EdgeErrorCodes:\r\n {\r\n SyntaxError: 3, \r\n NotFoundError: 8, \r\n NotSupportedError: 9, \r\n InvalidAccessError: 15, \r\n AbortError: 20 \r\n }\r\n};\r\n\r\nexports.IfExistsResult =\r\n{\r\n Unknown: -1,\r\n Exists: 0,\r\n NotExist: 1,\r\n Throttled: 2,\r\n Error: 4,\r\n ExistsInOtherMicrosoftIDP: 5,\r\n ExistsBothIDPs: 6\r\n};\r\n\r\nexports.ThrottleStatus =\r\n{\r\n NotThrottled: 0,\r\n AadThrottled: 1 << 0,\r\n MsaThrottled: 1 << 1\r\n};\r\n\r\nexports.DomainType =\r\n{\r\n Unknown: 1,\r\n Consumer: 2,\r\n Managed: 3,\r\n Federated: 4,\r\n CloudFederated: 5\r\n};\r\n\r\nexports.CredentialType =\r\n{\r\n None: 0,\r\n Password: 1,\r\n RemoteNGC: 2,\r\n OneTimeCode: 3,\r\n Federation: 4,\r\n CloudFederation: 5,\r\n OtherMicrosoftIdpFederation: 6,\r\n Fido: 7,\r\n GitHub: 8,\r\n PublicIdentifierCode: 9,\r\n LinkedIn: 10,\r\n RemoteLogin: 11,\r\n Google: 12,\r\n AccessPass: 13,\r\n Facebook: 14,\r\n Certificate: 15,\r\n OfflineAccount: 16,\r\n VerifiableCredential: 17,\r\n QrCodePin: 18,\r\n\r\n \r\n NoPreferredCredential: 1000\r\n};\r\n\r\nexports.RemoteNgcType =\r\n{\r\n PushNotification: 1,\r\n ListSessions: 3\r\n};\r\n\r\nexports.SessionPollingType =\r\n{\r\n Image: 1,\r\n Json: 2\r\n};\r\n\r\nexports.AgreementType =\r\n{\r\n Privacy: \"privacy\",\r\n Tou: \"tou\",\r\n Impressum: \"impressum\",\r\n A11yConforme: \"a11yConforme\"\r\n};\r\n\r\n\r\nexports.ApiErrorCodes =\r\n{\r\n \r\n GeneralError: 6000,\r\n AuthFailure: 6001,\r\n InvalidArgs: 6002,\r\n\r\n \r\n Generic: 8000,\r\n Timeout: 8001,\r\n Aborted: 8002\r\n};\r\n\r\nexports.DefaultRequestTimeout = 30000;\r\n\r\n\r\n\r\n\r\n\r\nPROOF =\r\n{\r\n Type:\r\n {\r\n Email: 1,\r\n AltEmail: 2,\r\n SMS: 3,\r\n DeviceId: 4,\r\n CSS: 5,\r\n SQSA: 6,\r\n Certificate: 7,\r\n HIP: 8,\r\n Birthday: 9,\r\n TOTPAuthenticator: 10,\r\n RecoveryCode: 11,\r\n StrongTicket: 13,\r\n TOTPAuthenticatorV2: 14,\r\n TwoWayVoice: 15,\r\n TwoWaySMS: 16,\r\n FidoKey: 17,\r\n AccessPass: 18,\r\n TransferToken: 19,\r\n CompanionApp: 21,\r\n ExternalAuth: 22,\r\n ConsolidatedTelephony: 23,\r\n Voice: -3\r\n }\r\n};\r\n\r\nexports.ContentType =\r\n{\r\n Json: \"application/json; charset=utf-8\",\r\n FormUrlEncoded: \"application/x-www-form-urlencoded\"\r\n};\r\n\r\nexports.BindProvider =\r\n{\r\n LinkedIn: 0,\r\n GitHub: 1,\r\n Google: 2,\r\n Samsung: 3,\r\n Facebook: 4\r\n};\r\n\r\nexports.PromotedAltCredFlags =\r\n{\r\n None: 0,\r\n GitHub: 1 << 0,\r\n LinkedIn: 2 << 0\r\n};\r\n\r\nexports.EnvironmentName =\r\n{\r\n Internal: 1,\r\n TestSlice: 2,\r\n FirstSlice: 3\r\n};\r\n\r\nexports.AnimationState =\r\n{\r\n Begin: 0,\r\n End: -1,\r\n RenderNewView: 1,\r\n AnimateNewView: 2\r\n};\r\n\r\nexports.AnimationName =\r\n{\r\n None: 0,\r\n SlideOutNext: 1,\r\n SlideInNext: 2,\r\n SlideOutBack: 3,\r\n SlideInBack: 4\r\n};\r\n\r\nexports.DialogId =\r\n{\r\n None: 0,\r\n FidoHelp: 1,\r\n GitHubHelp: 2,\r\n ConsentAppInfo: 3,\r\n QrCodePinHelp: 4\r\n};\r\n\r\nexports.KeyCode =\r\n{\r\n Tab: 9,\r\n Enter: 13,\r\n Escape: 27,\r\n Space: 32,\r\n PageUp: 33,\r\n PageDown: 34,\r\n End: 35,\r\n Home: 36,\r\n ArrowUp: 38,\r\n ArrowDown: 40,\r\n WinKeyLeft: 91,\r\n F6: 117,\r\n GamePadB: 196\r\n};\r\n\r\nexports.ProofOfPossession =\r\n{\r\n AuthenticatorKey: \"cpa\",\r\n CanaryTokenKey: \"canary\",\r\n MethodHint: \"cpa_method_hint\"\r\n};\r\n\r\nexports.UpgradeMigrationUXId =\r\n{\r\n Invalid: 0,\r\n Mojang: 1\r\n};\r\n\r\nexports.TransferLoginStringsVariant =\r\n{\r\n Default: 0,\r\n Mmx: 1,\r\n MmxPhoneFirst: 2,\r\n AppNameOnly: 3,\r\n AppNameAndUsername: 4,\r\n MmxGe: 5,\r\n OutlookMobileCustom: 6,\r\n TeamsMobileCustom: 7\r\n};\r\n\r\nexports.LayoutTemplateType =\r\n{\r\n Lightbox: 0,\r\n VerticalSplit: 1\r\n};\r\n\r\nexports.StringCustomizationPageId =\r\n{\r\n ConditionalAccess: 0,\r\n AttributeCollection: 1,\r\n MessagePage: 2,\r\n ProofUpPage: 3,\r\n ErrorPage: 4,\r\n LoginPage: 5\r\n};\r\n\r\nexports.ProofUpRedirectViewType =\r\n{\r\n DefaultProofUpRedirectView: 0,\r\n AuthAppProofUpRedirectView: 1\r\n};\r\n\r\nexports.ConfirmationInputDisplayType =\r\n{\r\n None: 0,\r\n Retype: 1,\r\n RetypeWithReveal: 2\r\n};\r\n\r\nexports.SecurityDefaultsUpsellAction =\r\n{\r\n None: 0,\r\n Upsell: 1,\r\n AutoEnable: 2,\r\n AutoEnableAfterPrompt: 3,\r\n ReevaluateLegacy: 4,\r\n AutoEnabledNotify: 5\r\n};\r\n\r\nexports.Branding =\r\n{\r\n DefaultBackgroundColor: \"#FAF9F8\"\r\n};\r\n\r\nexports.CredentialDeviceType =\r\n{\r\n SingleDevice: \"singleDevice\",\r\n MultiDevice: \"multiDevice\"\r\n};\r\n\r\nexports.AttestationParseError =\r\n{\r\n Unknown: 1,\r\n InvalidAuthDataSize: 2,\r\n SingleDeviceBackedUp: 3,\r\n CBORDataEmpty: 4\r\n};\r\n\r\nexports.ExternalFederatedIdpType =\r\n{\r\n \r\n Google: 50,\r\n Facebook: 51,\r\n Apple: 200\r\n};\r\n\r\n\r\nexports.CameraMode =\r\n{\r\n Environment: \"environment\",\r\n User: \"user\",\r\n Back: \"back\"\r\n};","var FidoConstants = require(\"./FidoConstants\");\r\nvar Helpers = require(\"./Helpers\");\r\nvar Promise = require(\"./Promise\");\r\nvar PromiseHelpers = require(\"./PromiseHelpers\");\r\n\r\nvar ObjectHelpers = Helpers.Object;\r\nvar StringHelpers = Helpers.String;\r\nvar ArrayHelpers = Helpers.Array;\r\n\r\nvar w = window;\r\nvar isEdge = null;\r\nvar isIEOlderThan = {};\r\nvar isFirefoxNewerThan = {};\r\nvar isChromeNewerThan = {};\r\nvar isChrome = null;\r\nvar isIOSSafari = null;\r\nvar isIOSUIWebView = null;\r\nvar isQtCarBrowser = null;\r\nvar isEdgeClientBrowser = null;\r\nvar isHighContrast = null;\r\nvar isPlaceholderAttributeAllowed = null;\r\nvar isHistorySupported = null;\r\nvar useSameSite = !!w.ServerData.bk;\r\nvar isSvgSupported = null;\r\nvar useHighContrastDetectionMode = !!w.ServerData.fUseHighContrastDetectionMode;\r\n\r\nexports.HttpCode =\r\n{\r\n Ok: 200,\r\n NotModified: 304,\r\n Timeout: 408,\r\n ClientClosedRequest: 499\r\n};\r\n\r\nvar BrowserHelper = exports.Helper =\r\n{\r\n isIEOlderThan: function (version)\r\n {\r\n if (isIEOlderThan[version] === undefined)\r\n {\r\n var ieVersion = BrowserHelper.getIEVersion();\r\n isIEOlderThan[version] = ieVersion && (ieVersion < version + 1);\r\n }\r\n\r\n return isIEOlderThan[version];\r\n },\r\n\r\n isEdge: function ()\r\n {\r\n if (isEdge === null)\r\n {\r\n isEdge = false;\r\n\r\n var windowsVersion = BrowserHelper.getWindowsVersion();\r\n if (windowsVersion !== null && windowsVersion >= 10.0) \r\n {\r\n var ieVersion = BrowserHelper.getIEVersion();\r\n isEdge = ieVersion !== null && ieVersion >= 12; \r\n }\r\n }\r\n\r\n return isEdge;\r\n },\r\n\r\n isChrome: function ()\r\n {\r\n if (isChrome === null)\r\n {\r\n isChrome = navigator.userAgent.toLowerCase().indexOf(\"chrome\") > -1;\r\n }\r\n\r\n return isChrome;\r\n },\r\n\r\n isFirefoxNewerThan: function (version)\r\n {\r\n if (isFirefoxNewerThan[version] === undefined)\r\n {\r\n var firefoxVersion = BrowserHelper.getFirefoxVersion();\r\n isFirefoxNewerThan[version] = firefoxVersion && (firefoxVersion > version);\r\n }\r\n\r\n return isFirefoxNewerThan[version];\r\n },\r\n\r\n isChromeNewerThan: function (version)\r\n {\r\n if (isChromeNewerThan[version] === undefined)\r\n {\r\n var chromeVersion = BrowserHelper.getChromeVersion();\r\n isChromeNewerThan[version] = chromeVersion && (chromeVersion > version);\r\n }\r\n\r\n return isChromeNewerThan[version];\r\n },\r\n\r\n isIOSSafari: function ()\r\n {\r\n if (isIOSSafari === null)\r\n {\r\n var userAgent = w.navigator.userAgent.toLowerCase();\r\n isIOSSafari = /safari/.test(userAgent) &&\r\n /iphone|ipod|ipad/.test(userAgent) && !w.MSStream;\r\n }\r\n\r\n return isIOSSafari;\r\n },\r\n\r\n isIOSUIWebView: function ()\r\n {\r\n if (isIOSUIWebView === null)\r\n {\r\n \r\n \r\n var userAgent = w.navigator.userAgent.toLowerCase();\r\n isIOSUIWebView = /safari/.test(userAgent) === false &&\r\n /iphone|ipod|ipad/.test(userAgent) && !w.MSStream;\r\n }\r\n\r\n return isIOSUIWebView;\r\n },\r\n\r\n isQtCarBrowser: function ()\r\n {\r\n \r\n if (isQtCarBrowser === null)\r\n {\r\n isQtCarBrowser = navigator.userAgent.toLowerCase().indexOf(\"qtcarbrowser\") > -1;\r\n }\r\n\r\n return isQtCarBrowser;\r\n },\r\n\r\n isEdgeClientBrowser: function ()\r\n {\r\n if (isEdgeClientBrowser === null)\r\n {\r\n \r\n \r\n \r\n isEdgeClientBrowser = navigator.userAgent.toLowerCase().indexOf(\"edgeclient/\") > -1;\r\n }\r\n\r\n return isEdgeClientBrowser;\r\n },\r\n\r\n isOnTouchStartEventSupported: function ()\r\n {\r\n return \"ontouchstart\" in document.documentElement;\r\n },\r\n\r\n getIEVersion: function ()\r\n {\r\n \r\n var ua = w.navigator.userAgent;\r\n\r\n var msie = ua.indexOf(\"MSIE \");\r\n if (msie > 0)\r\n {\r\n \r\n return parseInt(ua.substring(msie + 5, ua.indexOf(\".\", msie)), 10);\r\n }\r\n\r\n var trident = ua.indexOf(\"Trident/\");\r\n if (trident > 0)\r\n {\r\n \r\n var rv = ua.indexOf(\"rv:\");\r\n return parseInt(ua.substring(rv + 3, ua.indexOf(\".\", rv)), 10);\r\n }\r\n\r\n var edge = ua.indexOf(\"Edge/\");\r\n if (edge > 0)\r\n {\r\n \r\n return parseInt(ua.substring(edge + 5, ua.indexOf(\".\", edge)), 10);\r\n }\r\n\r\n \r\n return null;\r\n },\r\n\r\n getFirefoxVersion: function ()\r\n {\r\n \r\n var ua = w.navigator.userAgent;\r\n\r\n var match = ua.match(/(firefox(?=\\/))\\/?\\s*(\\d+)/i);\r\n if (match && match.length === 3 && match[1].toLowerCase() === \"firefox\")\r\n {\r\n return parseInt(match[2]);\r\n }\r\n\r\n return null;\r\n },\r\n\r\n getChromeVersion: function ()\r\n {\r\n \r\n var ua = w.navigator.userAgent;\r\n\r\n var match = ua.match(/(chrome(?=\\/))\\/?\\s*(\\d+)/i);\r\n if (match && match.length === 3 && match[1].toLowerCase() === \"chrome\")\r\n {\r\n return parseInt(match[2]);\r\n }\r\n\r\n return null;\r\n },\r\n\r\n getWindowsVersion: function ()\r\n {\r\n if (new RegExp(\"Windows NT ([0-9]{1,}[.0-9]{0,})\").exec(navigator.userAgent) !== null)\r\n {\r\n return parseFloat(RegExp.$1);\r\n }\r\n\r\n return null;\r\n },\r\n\r\n htmlEscape: function (text)\r\n {\r\n if (!text)\r\n {\r\n return \"\";\r\n }\r\n\r\n var textArea = document.createElement(\"textarea\");\r\n textArea.innerText = text;\r\n\r\n return textArea.innerHTML;\r\n },\r\n\r\n htmlUnescape: function (html)\r\n {\r\n \r\n \r\n\r\n if (!html)\r\n {\r\n return \"\";\r\n }\r\n\r\n \r\n \r\n if (html.match(/<[^<>]+>/))\r\n {\r\n return html;\r\n }\r\n\r\n var textArea = document.createElement(\"textarea\");\r\n textArea.innerHTML = html;\r\n\r\n return textArea.value;\r\n },\r\n\r\n getStackSize: function (maxUpperLimitOfStackSize)\r\n {\r\n var stackSize = 0;\r\n var isUnlimited = typeof maxUpperLimitOfStackSize === \"undefined\" || maxUpperLimitOfStackSize === null;\r\n\r\n function recurse()\r\n {\r\n stackSize++;\r\n if (isUnlimited || stackSize <= maxUpperLimitOfStackSize)\r\n {\r\n recurse();\r\n }\r\n }\r\n\r\n try\r\n {\r\n recurse();\r\n }\r\n catch (e)\r\n {\r\n }\r\n\r\n return stackSize;\r\n },\r\n\r\n getAnimationEndEventName: function ()\r\n {\r\n var testDiv = document.createElement(\"div\");\r\n var animations =\r\n {\r\n \"animation\": \"animationend\",\r\n \"OAnimation\": \"oAnimationEnd\",\r\n \"MozAnimation\": \"animationend\",\r\n \"WebkitAnimation\": \"webkitAnimationEnd\"\r\n };\r\n\r\n for (var key in animations)\r\n {\r\n \r\n if (testDiv.style[key] !== undefined)\r\n {\r\n return animations[key];\r\n }\r\n }\r\n\r\n return \"\";\r\n },\r\n\r\n isStackSizeGreaterThan: function (stackSize)\r\n {\r\n stackSize = stackSize || 0;\r\n return BrowserHelper.getStackSize(stackSize) > stackSize;\r\n },\r\n\r\n isSvgImgSupported: function ()\r\n {\r\n if (isSvgSupported === null)\r\n {\r\n \r\n \r\n isSvgSupported = document.implementation.hasFeature(\"http://www.w3.org/TR/SVG11/feature#Image\", \"1.1\");\r\n }\r\n\r\n return isSvgSupported;\r\n },\r\n\r\n isPlaceholderAttributeAllowed: function (isHosted)\r\n {\r\n if (isPlaceholderAttributeAllowed === null)\r\n {\r\n \r\n isPlaceholderAttributeAllowed = BrowserHelper.isChromeNewerThan(16)\r\n || BrowserHelper.isEdge()\r\n || BrowserHelper.isFirefoxNewerThan(14)\r\n || (isHosted && BrowserHelper.isIOSUIWebView())\r\n || BrowserHelper.isIOSSafari()\r\n || BrowserHelper.isQtCarBrowser();\r\n }\r\n\r\n return isPlaceholderAttributeAllowed;\r\n },\r\n\r\n isCSSAnimationSupported: function ()\r\n {\r\n var supported = false;\r\n var prefixes = [\"Webkit\", \"Moz\", \"O\"];\r\n var testDiv = document.createElement(\"div\");\r\n\r\n supported = testDiv.style.animationName !== undefined;\r\n\r\n if (!supported)\r\n {\r\n var supportedPrefix = ArrayHelpers.first(\r\n prefixes,\r\n function (prefix)\r\n {\r\n return testDiv.style[prefix + \"AnimationName\"] !== undefined;\r\n });\r\n\r\n \r\n \r\n \r\n supported = !!supportedPrefix;\r\n }\r\n\r\n return supported;\r\n },\r\n\r\n isStyleSupported: function (styleName)\r\n {\r\n return styleName in document.documentElement.style;\r\n },\r\n\r\n isCORSSupported: function ()\r\n {\r\n return w.XDomainRequest || (w.XMLHttpRequest && \"withCredentials\" in new XMLHttpRequest());\r\n },\r\n\r\n isHistorySupported: function ()\r\n {\r\n if (isHistorySupported === null)\r\n {\r\n var dummyState = \"__history_test\";\r\n isHistorySupported = w.history && w.history.pushState && typeof w.history.state !== \"undefined\" && typeof w.onpopstate !== \"undefined\";\r\n\r\n if (isHistorySupported)\r\n {\r\n try\r\n {\r\n w.history.replaceState(dummyState, \"\");\r\n\r\n if (w.history.state !== dummyState)\r\n {\r\n \r\n isHistorySupported = false;\r\n }\r\n else if (BrowserHelper.isEdgeClientBrowser())\r\n {\r\n isHistorySupported = false;\r\n }\r\n }\r\n catch (e)\r\n {\r\n \r\n isHistorySupported = false;\r\n }\r\n }\r\n }\r\n\r\n return isHistorySupported;\r\n },\r\n\r\n isFidoSupportedAsync: function (isFidoSupportedHint, skipStandardSupportCheck)\r\n {\r\n \r\n if (!skipStandardSupportCheck)\r\n {\r\n var supportsStandard = w.navigator.credentials !== undefined\r\n && w.navigator.credentials.create !== undefined\r\n && w.navigator.credentials.get !== undefined\r\n && w.PublicKeyCredential !== undefined\r\n && w.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable !== undefined;\r\n\r\n if (!supportsStandard)\r\n {\r\n \r\n return Promise.resolve(false);\r\n }\r\n\r\n if (w.PublicKeyCredential.isExternalCTAP2SecurityKeySupported)\r\n {\r\n \r\n return PromiseHelpers.newPromiseWithTimeout(w.PublicKeyCredential.isExternalCTAP2SecurityKeySupported, FidoConstants.PromiseTimeout, false);\r\n }\r\n }\r\n\r\n \r\n return Promise.resolve(isFidoSupportedHint);\r\n },\r\n\r\n isChangingInputTypeSupported: function ()\r\n {\r\n return !BrowserHelper.isIEOlderThan(9);\r\n },\r\n\r\n getComputedSpan: function ()\r\n {\r\n var span = document.createElement(\"span\");\r\n span.style.borderLeftColor = \"red\";\r\n span.style.borderRightColor = \"blue\";\r\n span.style.backgroundColor = \"Window\";\r\n span.style.position = \"absolute\";\r\n span.style.top = \"-999px\";\r\n document.body.appendChild(span);\r\n\r\n var computedStyle = BrowserHelper.getComputedStyle(span);\r\n var borderLeftColor = computedStyle.borderLeftColor;\r\n var borderRightColor = computedStyle.borderRightColor;\r\n var backgroundColor = computedStyle.backgroundColor;\r\n\r\n document.body.removeChild(span);\r\n\r\n return {\r\n borderLeftColor: borderLeftColor,\r\n borderRightColor: borderRightColor,\r\n backgroundColor: backgroundColor\r\n };\r\n },\r\n\r\n isHighContrast: function ()\r\n {\r\n \r\n \r\n \r\n\r\n if (isHighContrast === null)\r\n {\r\n var style = BrowserHelper.getComputedSpan();\r\n isHighContrast = style.borderLeftColor === style.borderRightColor;\r\n\r\n \r\n \r\n \r\n if (useHighContrastDetectionMode && !isHighContrast)\r\n {\r\n isHighContrast = BrowserHelper.getIsHighContrastUsingCssMediaQuery().isHighContrast;\r\n }\r\n }\r\n\r\n return isHighContrast;\r\n },\r\n\r\n getIsHighContrastUsingCssMediaQuery: function ()\r\n {\r\n var head = document.getElementsByTagName(\"head\")[0];\r\n var headStyle = document.createElement(\"style\");\r\n headStyle.innerHTML =\r\n \"@media (-ms-high-contrast: active) {\" +\r\n \" .high-contrast-detection::before {\" +\r\n \" content: \\\"active\\\";\" +\r\n \" display: none;\" +\r\n \" }\" +\r\n \"}\" +\r\n \"@media (-ms-high-contrast: black-on-white) {\" +\r\n \" .high-contrast-detection::before {\" +\r\n \" content: \\\"white\\\";\" +\r\n \" display: none;\" +\r\n \" }\" +\r\n \"}\" +\r\n \"@media (-ms-high-contrast: white-on-black) {\" +\r\n \" .high-contrast-detection::before {\" +\r\n \" content: \\\"black\\\";\" +\r\n \" display: none;\" +\r\n \" }\" +\r\n \"}\";\r\n\r\n head.appendChild(headStyle);\r\n\r\n var div = document.createElement(\"div\");\r\n div.className = \"high-contrast-detection\";\r\n document.body.appendChild(div);\r\n\r\n var computedContent = window.getComputedStyle(div, \"::before\").content;\r\n var theme = \"\";\r\n\r\n if (computedContent === \"\\\"black\\\"\")\r\n {\r\n theme = \"black\";\r\n }\r\n else if (computedContent === \"\\\"white\\\"\")\r\n {\r\n theme = \"white\";\r\n }\r\n\r\n document.body.removeChild(div);\r\n head.removeChild(headStyle);\r\n\r\n return {\r\n isHighContrast: [\"\\\"active\\\"\", \"\\\"black\\\"\", \"\\\"white\\\"\"].indexOf(computedContent) !== -1,\r\n theme: theme\r\n };\r\n },\r\n\r\n getHighContrastTheme: function ()\r\n {\r\n function doesColorMatchAnyList(colorString, rgbList, nonRgbList)\r\n {\r\n function isRgbOrRgbaMatch(color, r, g, b)\r\n {\r\n \r\n \r\n var pattern = new RegExp(\"^rgba?\\\\(\" + r + \",\\\\s?\" + g + \",\\\\s?\" + b + \"(,\\\\s?\\\\d+\\\\.?\\\\d*)?\\\\)$\", \"i\");\r\n return pattern.test(color.trim());\r\n }\r\n\r\n \r\n for (var i = 0; i < rgbList.length; i++)\r\n {\r\n var rgbValues = rgbList[i].split(\",\").map(Number);\r\n var r = rgbValues[0];\r\n var g = rgbValues[1];\r\n var b = rgbValues[2];\r\n\r\n if (isRgbOrRgbaMatch(colorString, r, g, b))\r\n {\r\n return true;\r\n }\r\n }\r\n\r\n \r\n var foundColorMatch = ArrayHelpers.first(\r\n nonRgbList,\r\n function (nonRgbColor)\r\n {\r\n return nonRgbColor === colorString.trim();\r\n });\r\n\r\n return !!foundColorMatch;\r\n }\r\n\r\n if (BrowserHelper.isHighContrast())\r\n {\r\n var style = BrowserHelper.getComputedSpan();\r\n if (style.backgroundColor)\r\n {\r\n var backgroundColor = style.backgroundColor.toLowerCase().replace(new RegExp(\" \", \"g\"), \"\");\r\n var isBlackHighContrastTheme = doesColorMatchAnyList(backgroundColor, [\"0,0,0\"], [\"#000000\", \"#000\"]);\r\n var isWhiteHighContrastTheme = doesColorMatchAnyList(backgroundColor, [\"255,255,255\"], [\"#ffffff\", \"#fff\"]);\r\n var isAquaticTheme = doesColorMatchAnyList(backgroundColor, [\"32,32,32\"], [\"#202020\"]);\r\n var isDuskTheme = doesColorMatchAnyList(backgroundColor, [\"45,50,54\"], [\"#2d3236\"]);\r\n var isDesertTheme = doesColorMatchAnyList(backgroundColor, [\"255,250,239\"], [\"#fffaef\"]);\r\n\r\n if (isBlackHighContrastTheme || isAquaticTheme || isDuskTheme)\r\n {\r\n return \"black\";\r\n }\r\n else if (isWhiteHighContrastTheme || isDesertTheme)\r\n {\r\n return \"white\";\r\n }\r\n else if (useHighContrastDetectionMode)\r\n {\r\n return BrowserHelper.getIsHighContrastUsingCssMediaQuery().theme;\r\n }\r\n }\r\n }\r\n },\r\n\r\n getComputedStyle: function (element)\r\n {\r\n if (document.defaultView && document.defaultView.getComputedStyle)\r\n {\r\n return document.defaultView.getComputedStyle(element, null);\r\n }\r\n else if (element.currentStyle)\r\n {\r\n return element.currentStyle;\r\n }\r\n\r\n return {};\r\n },\r\n\r\n history:\r\n {\r\n pushState: function (state, title)\r\n {\r\n if (BrowserHelper.isHistorySupported())\r\n {\r\n w.history.pushState(state, title);\r\n }\r\n },\r\n replaceState: function (state, title)\r\n {\r\n if (BrowserHelper.isHistorySupported())\r\n {\r\n w.history.replaceState(state, title);\r\n }\r\n }\r\n },\r\n\r\n addEventListener: function (element, eventType, handler, useCapture)\r\n {\r\n if (element.addEventListener)\r\n {\r\n element.addEventListener(eventType, handler, useCapture);\r\n }\r\n else if (element.attachEvent)\r\n {\r\n element.attachEvent(\"on\" + eventType, handler);\r\n }\r\n },\r\n\r\n removeEventListener: function (element, eventType, handler, useCapture)\r\n {\r\n if (element.removeEventListener)\r\n {\r\n element.removeEventListener(eventType, handler, useCapture);\r\n }\r\n else if (element.detachEvent)\r\n {\r\n element.detachEvent(\"on\" + eventType, handler);\r\n }\r\n },\r\n\r\n getEventTarget: function (event)\r\n {\r\n if (!event)\r\n {\r\n return null;\r\n }\r\n\r\n if (event.target)\r\n {\r\n return event.target;\r\n }\r\n\r\n if (event.srcElement)\r\n {\r\n return event.srcElement;\r\n }\r\n\r\n return null;\r\n }\r\n};\r\n\r\nvar QueryStringHelper = exports.QueryString =\r\n{\r\n \r\n\r\n \r\n parse: function (url)\r\n {\r\n var originAndPath = url;\r\n var query = null;\r\n var fragment = null;\r\n\r\n if (url)\r\n {\r\n var queryStartIndex = url.indexOf(\"?\");\r\n var fragmentStartIndex = url.indexOf(\"#\");\r\n\r\n if (fragmentStartIndex !== -1\r\n && (queryStartIndex === -1 || fragmentStartIndex < queryStartIndex))\r\n {\r\n \r\n originAndPath = url.substring(0, fragmentStartIndex);\r\n fragment = StringHelpers.doubleSplit(url.substring(fragmentStartIndex + 1), \"&\", \"=\");\r\n }\r\n else if (queryStartIndex !== -1 && fragmentStartIndex === -1)\r\n {\r\n \r\n originAndPath = url.substring(0, queryStartIndex);\r\n query = StringHelpers.doubleSplit(url.substring(queryStartIndex + 1), \"&\", \"=\");\r\n }\r\n else if (queryStartIndex !== -1 && fragmentStartIndex !== -1)\r\n {\r\n \r\n originAndPath = url.substring(0, queryStartIndex);\r\n query = StringHelpers.doubleSplit(url.substring(queryStartIndex + 1, fragmentStartIndex), \"&\", \"=\");\r\n fragment = StringHelpers.doubleSplit(url.substring(fragmentStartIndex + 1), \"&\", \"=\");\r\n }\r\n }\r\n\r\n var parsedUrl =\r\n {\r\n originAndPath: originAndPath,\r\n query: query,\r\n fragment: fragment\r\n };\r\n\r\n return parsedUrl;\r\n },\r\n\r\n \r\n join: function (parsedUrl)\r\n {\r\n var url = parsedUrl.originAndPath || \"\";\r\n\r\n if (parsedUrl.query)\r\n {\r\n url += \"?\" + ObjectHelpers.join(parsedUrl.query, \"&\", \"=\");\r\n }\r\n\r\n if (parsedUrl.fragment)\r\n {\r\n url += \"#\" + ObjectHelpers.join(parsedUrl.fragment, \"&\", \"=\");\r\n }\r\n\r\n return url;\r\n },\r\n\r\n \r\n appendCurrentQueryParameterIfNotExist: function (url)\r\n {\r\n var currentUrlFullQueryString = QueryStringHelper.parse(window.location.href);\r\n\r\n ObjectHelpers.forEach(currentUrlFullQueryString.query,\r\n function (key, value)\r\n {\r\n url = QueryStringHelper.addIfNotExist(url, key, value);\r\n });\r\n\r\n return url;\r\n },\r\n\r\n \r\n append: function (url, queryString)\r\n {\r\n var parsedUrl = QueryStringHelper.parse(url);\r\n var params = StringHelpers.doubleSplit(queryString, \"&\", \"=\");\r\n\r\n parsedUrl.query = parsedUrl.query || {};\r\n\r\n ObjectHelpers.forEach(\r\n params,\r\n function (key, value)\r\n {\r\n parsedUrl.query[key] = value || null;\r\n });\r\n\r\n return QueryStringHelper.join(parsedUrl);\r\n },\r\n\r\n \r\n addIfNotExist: function (url, key, value)\r\n {\r\n value = value || \"\";\r\n\r\n var parsedUrl = QueryStringHelper.parse(url);\r\n if (ObjectHelpers.findOwnProperty(parsedUrl.query || {}, key, true) === null)\r\n {\r\n parsedUrl.query = parsedUrl.query || {};\r\n parsedUrl.query[key.toLowerCase()] = value;\r\n }\r\n\r\n return QueryStringHelper.join(parsedUrl);\r\n },\r\n\r\n \r\n add: function (url, keyValuePairs)\r\n {\r\n var parsedUrl = QueryStringHelper.parse(url);\r\n if (url && keyValuePairs && keyValuePairs.length)\r\n {\r\n parsedUrl.query = parsedUrl.query || {};\r\n\r\n ArrayHelpers.forEach(\r\n keyValuePairs,\r\n function (keyValuePair)\r\n {\r\n parsedUrl.query[keyValuePair[0]] = keyValuePair[1];\r\n });\r\n }\r\n\r\n return QueryStringHelper.join(parsedUrl);\r\n },\r\n\r\n \r\n addFragment: function (url, keyValuePairs)\r\n {\r\n var parsedUrl = \"\";\r\n if (url && keyValuePairs && keyValuePairs.length)\r\n {\r\n parsedUrl = QueryStringHelper.parse(url);\r\n parsedUrl.fragment = parsedUrl.fragment || {};\r\n var uniqueKey = [];\r\n ArrayHelpers.forEach(\r\n keyValuePairs,\r\n function (keyValuePair)\r\n {\r\n if (!uniqueKey.includes(keyValuePair[0]))\r\n {\r\n parsedUrl.fragment[keyValuePair[0]] = keyValuePair[1];\r\n uniqueKey.push(keyValuePair[0]);\r\n }\r\n });\r\n }\r\n\r\n return parsedUrl;\r\n },\r\n\r\n \r\n appendOrReplace: function (url, param, value, maxLength)\r\n {\r\n var parsedUrl = QueryStringHelper.parse(url);\r\n parsedUrl.query = parsedUrl.query || {};\r\n\r\n var existingParam = ObjectHelpers.findOwnProperty(parsedUrl.query, param, true);\r\n if (existingParam)\r\n {\r\n delete parsedUrl.query[existingParam];\r\n }\r\n\r\n parsedUrl.query[param.toLowerCase()] = value;\r\n\r\n var modifiedUrl = QueryStringHelper.join(parsedUrl);\r\n return (maxLength && modifiedUrl.length > maxLength) ? url : modifiedUrl;\r\n },\r\n\r\n \r\n remove: function (url, param)\r\n {\r\n var parsedUrl = QueryStringHelper.parse(url);\r\n parsedUrl.query = parsedUrl.query || {};\r\n\r\n var existingParam = ObjectHelpers.findOwnProperty(parsedUrl.query, param, true);\r\n if (existingParam)\r\n {\r\n delete parsedUrl.query[existingParam];\r\n }\r\n\r\n return QueryStringHelper.join(parsedUrl);\r\n },\r\n\r\n \r\n extract: function (param, urlOrQueryString)\r\n {\r\n if (!urlOrQueryString && urlOrQueryString !== \"\")\r\n {\r\n urlOrQueryString = document.location.search;\r\n }\r\n\r\n var parsedUrl = QueryStringHelper.parse(urlOrQueryString);\r\n parsedUrl.query = parsedUrl.query || {};\r\n\r\n var existingParam = ObjectHelpers.findOwnProperty(parsedUrl.query, param, true);\r\n return existingParam ? parsedUrl.query[existingParam] : \"\";\r\n },\r\n\r\n \r\n appendOrReplaceFromCurrentUrl: function (url, param)\r\n {\r\n var currentValue = QueryStringHelper.extract(param);\r\n return currentValue ? QueryStringHelper.appendOrReplace(url, param, currentValue) : url;\r\n },\r\n\r\n \r\n stripQueryStringAndFragment: function (url)\r\n {\r\n return QueryStringHelper.parse(url).originAndPath;\r\n }\r\n};\r\n\r\nvar CookieHelpers = exports.Cookies =\r\n{\r\n expireDate: \"Thu, 30-Oct-1980 16:00:00 GMT\",\r\n persistTTLDays: 390, \r\n cookieSafeRegex: /^[\\u0021\\u0023-\\u002B\\u002D-\\u003A\\u003C-\\u005B\\u005D-\\u007E]+$/,\r\n\r\n enabled: function ()\r\n {\r\n var date = new Date();\r\n var cookieValue = \"G\" + date.getTime();\r\n var cookieName = \"CkTst\";\r\n\r\n CookieHelpers.write(cookieName, cookieValue);\r\n var cookiesEnabled = !!CookieHelpers.getCookie(cookieName);\r\n CookieHelpers.remove(cookieName);\r\n\r\n return cookiesEnabled;\r\n },\r\n\r\n getCookies: function ()\r\n {\r\n return StringHelpers.doubleSplit(document.cookie, \";\", \"=\", false, StringHelpers.trim);\r\n },\r\n\r\n getCookie: function (name)\r\n {\r\n var cookies = CookieHelpers.getCookies();\r\n\r\n if (cookies[name])\r\n {\r\n return cookies[name];\r\n }\r\n\r\n return null;\r\n },\r\n\r\n getObject: function (name)\r\n {\r\n var cookie = CookieHelpers.getCookie(name) || \"\";\r\n\r\n return StringHelpers.doubleSplit(cookie, \"&\", \"=\");\r\n },\r\n\r\n remove: function (name, domain, path)\r\n {\r\n var domainName = domain || document.location.hostname;\r\n var hostParts = domainName.split(\".\");\r\n var partCount = hostParts.length;\r\n\r\n var cookieDomain = hostParts[partCount - 2] + \".\" + hostParts[partCount - 1];\r\n var cookiePath = path || \"/\";\r\n var secure = (document.location.protocol === \"https:\");\r\n var secureContent = secure ? \";secure\" : \"\";\r\n var sameSiteContent = CookieHelpers.getDefaultSameSiteAttribute(secure);\r\n document.cookie = StringHelpers.format(\"{0}= ;domain=.{1};path={2};expires={3}{4}{5}\", name, cookieDomain, cookiePath, CookieHelpers.expireDate, secureContent, sameSiteContent);\r\n document.cookie = StringHelpers.format(\"{0}= ;domain=.{1};path={2};expires={3}{4}{5}\", name, domainName, cookiePath, CookieHelpers.expireDate, secureContent, sameSiteContent);\r\n },\r\n\r\n \r\n write: function (name, value, secure, persist, topLevel, addDomainPrefix, path, sameSite, chunk)\r\n {\r\n var prefix = addDomainPrefix ? \".\" : \"\";\r\n var parts = document.domain.split(\".\");\r\n\r\n if (topLevel)\r\n {\r\n parts.splice(0, Math.max(0, parts.length - 2));\r\n }\r\n\r\n var cookieDomain = prefix + parts.join(\".\");\r\n\r\n CookieHelpers.writeWithExpiration(name, value, secure, persist ? CookieHelpers.getPersistDate() : null, cookieDomain, path, sameSite, chunk);\r\n },\r\n\r\n \r\n writeWithExpiration: function (name, value, secure, expiresOn, domain, path, sameSite, chunk)\r\n {\r\n if (value === \"\")\r\n {\r\n CookieHelpers.remove(name, domain);\r\n }\r\n else\r\n {\r\n if (typeof value === \"object\")\r\n {\r\n value = ObjectHelpers.join(value, \"&\", \"=\");\r\n }\r\n\r\n var expiration = expiresOn ? (\";expires=\" + expiresOn) : \"\";\r\n var cookieDomain = domain ? (\";domain=\" + domain) : \"\";\r\n var cookiePath = path || \"/\";\r\n var secureContent = secure ? \";secure\" : \"\";\r\n\r\n \r\n var sameSiteContent;\r\n if (!sameSite || sameSite.toLowerCase() === \"none\")\r\n {\r\n sameSiteContent = CookieHelpers.getDefaultSameSiteAttribute(secure);\r\n }\r\n else\r\n {\r\n sameSiteContent = \";SameSite=\" + sameSite;\r\n }\r\n\r\n var attributes = StringHelpers.format(\"{0};path={1}{2}{3}{4}\", cookieDomain, cookiePath, expiration, secureContent, sameSiteContent);\r\n\r\n if (!chunk)\r\n {\r\n var cookieToWrite = StringHelpers.format(\"{0}={1}{2}\", name, value, attributes);\r\n document.cookie = cookieToWrite;\r\n }\r\n else\r\n {\r\n \r\n var maxValueLen = 4000 - attributes.length - name.length - 1;\r\n var chunks = Math.ceil(value.length / maxValueLen);\r\n var cookies = CookieHelpers.getCookies();\r\n\r\n var i = 0;\r\n for (; i < chunks; i++)\r\n {\r\n var suffix = (i === 0) ? \"\" : i.toString();\r\n var chunkValue = value.substring(i * maxValueLen, (i + 1) * maxValueLen);\r\n var chunkToWrite = StringHelpers.format(\"{0}{1}={2}{3}\", name, suffix, chunkValue, attributes);\r\n document.cookie = chunkToWrite;\r\n }\r\n\r\n \r\n for (; ; i++)\r\n {\r\n var chunkName = name + i.toString();\r\n if (!cookies[chunkName])\r\n {\r\n break;\r\n }\r\n\r\n CookieHelpers.remove(chunkName, domain, path);\r\n }\r\n }\r\n }\r\n },\r\n\r\n \r\n isCookieSafeValue: function (str)\r\n {\r\n return CookieHelpers.cookieSafeRegex.test(str);\r\n },\r\n\r\n getDefaultSameSiteAttribute: function (secure)\r\n {\r\n if (secure && useSameSite)\r\n {\r\n return \";SameSite=None\";\r\n }\r\n\r\n return \"\";\r\n },\r\n\r\n getPersistDate: function ()\r\n {\r\n var date = new Date();\r\n date.setDate(date.getDate() + CookieHelpers.persistTTLDays);\r\n return date.toUTCString();\r\n }\r\n};","var w = window;\r\nvar document = w.document;\r\nvar documentMode = document.documentMode;\r\nvar navigator = w.navigator;\r\n\r\n(function ()\r\n{\r\n var ieVersion = null;\r\n var userAgent = navigator.userAgent;\r\n var userAgentOverride = null;\r\n\r\n var matches = userAgent.match(/MSIE ([^ ]+)/);\r\n if (matches)\r\n {\r\n ieVersion = parseInt(matches[1]);\r\n }\r\n\r\n \r\n \r\n if (typeof w.Symbol === \"function\" && userAgent.match(/AppleWebKit\\/601/))\r\n {\r\n w.Symbol = null;\r\n }\r\n\r\n \r\n \r\n \r\n \r\n \r\n if (ieVersion\r\n && documentMode\r\n && ieVersion !== documentMode\r\n && Object.defineProperty)\r\n {\r\n try\r\n {\r\n Object.defineProperty(\r\n navigator,\r\n \"userAgent\",\r\n {\r\n get: function ()\r\n {\r\n return userAgentOverride;\r\n }\r\n });\r\n\r\n userAgentOverride = userAgent.replace(/MSIE [^ ]+/, \"MSIE \" + documentMode + \".0\");\r\n module.exports = require(\"ko\");\r\n userAgentOverride = userAgent;\r\n }\r\n catch (e)\r\n {\r\n module.exports = require(\"ko\");\r\n }\r\n }\r\n else\r\n {\r\n module.exports = require(\"ko\");\r\n }\r\n})();","var ko = require(\"knockout\");\r\nvar JSON = require(\"JSON\");\r\nvar StringHelpersLite = require(\"../Strings/Helpers/StringHelpers\");\r\n\r\nvar w = window;\r\nvar c_MaxRecursionDepth = 3;\r\n\r\nvar ObjectHelpers = exports.Object =\r\n{\r\n \r\n assignRecursive: function ()\r\n {\r\n \r\n return ObjectHelpers.assignRecursiveWithCurrentDepth.apply(this, [1].concat(Array.prototype.slice.call(arguments)));\r\n },\r\n\r\n \r\n assignRecursiveWithCurrentDepth: function (currentDepth, target )\r\n {\r\n \r\n if (typeof currentDepth !== \"number\")\r\n {\r\n return;\r\n }\r\n\r\n \r\n for (var i = 2, n = arguments.length; i < n; i++)\r\n {\r\n var source = arguments[i];\r\n\r\n \r\n for (var prop in source)\r\n {\r\n \r\n if (Object.prototype.hasOwnProperty.call(source, prop) && source[prop] !== \"\")\r\n {\r\n \r\n if (typeof source[prop] === \"object\" && currentDepth <= c_MaxRecursionDepth)\r\n {\r\n target[prop] = target[prop] || {};\r\n ObjectHelpers.assignRecursiveWithCurrentDepth(++currentDepth, target[prop], source[prop]);\r\n }\r\n else\r\n {\r\n target[prop] = source[prop];\r\n }\r\n }\r\n }\r\n }\r\n\r\n return target;\r\n },\r\n\r\n clone: function (object)\r\n {\r\n var result = {};\r\n\r\n if (object)\r\n {\r\n result = JSON.parse(JSON.stringify(object));\r\n }\r\n\r\n return result;\r\n },\r\n\r\n join: function (object, delimeter, separator)\r\n {\r\n var result = \"\";\r\n\r\n if (object)\r\n {\r\n ObjectHelpers.forEach(\r\n object,\r\n function (key, value)\r\n {\r\n if (result)\r\n {\r\n result += delimeter;\r\n }\r\n\r\n result += key + separator + (value || \"\");\r\n });\r\n }\r\n\r\n return result;\r\n },\r\n\r\n forEach: function (obj, action)\r\n {\r\n ko.utils.objectForEach(obj, action);\r\n },\r\n\r\n findOwnProperty: function (object, propertyName, ignoreCase)\r\n {\r\n var propertyNameLower;\r\n if (ignoreCase)\r\n {\r\n propertyNameLower = propertyName.toLowerCase();\r\n }\r\n\r\n for (var key in object)\r\n {\r\n if (object.hasOwnProperty(key)\r\n && (key === propertyName || (ignoreCase && key.toLowerCase() === propertyNameLower)))\r\n {\r\n return key;\r\n }\r\n }\r\n\r\n return null;\r\n },\r\n\r\n extend: ko.utils.extend\r\n};\r\n\r\nvar StringHelpers = exports.String =\r\n{\r\n trim: function (str)\r\n {\r\n \r\n \r\n \r\n\r\n return str.replace(/^\\s+|\\s+$/g, \"\");\r\n },\r\n\r\n find: function (str, searchString, ignoreCase, startIndex)\r\n {\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n if (!str)\r\n {\r\n return -1;\r\n }\r\n\r\n if (ignoreCase)\r\n {\r\n return str.toLowerCase().indexOf(searchString.toLowerCase(), startIndex);\r\n }\r\n\r\n return str.indexOf(searchString, startIndex);\r\n },\r\n\r\n format: StringHelpersLite.format,\r\n\r\n doubleSplit: function (str, delimiterOne, delimiterTwo, multiValuedKeys, keyTransformFunc)\r\n {\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n var result = {};\r\n\r\n if (str)\r\n {\r\n ArrayHelpers.forEach(\r\n str.split(delimiterOne),\r\n function (item)\r\n {\r\n if (item)\r\n {\r\n var parts = item.split(delimiterTwo);\r\n var key = parts[0];\r\n if (keyTransformFunc)\r\n {\r\n key = keyTransformFunc(key);\r\n }\r\n\r\n if (parts.length === 1)\r\n {\r\n result[key] = null;\r\n }\r\n else if (multiValuedKeys)\r\n {\r\n result[key] = parts.slice(1);\r\n }\r\n else\r\n {\r\n result[key] = parts.slice(1).join(delimiterTwo);\r\n }\r\n }\r\n });\r\n }\r\n\r\n return result;\r\n },\r\n\r\n isEmailAddress: function (str)\r\n {\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n str = StringHelpers.trim(str);\r\n\r\n \r\n if (str.charAt(0) > \"~\" || str.indexOf(\" \") !== -1)\r\n {\r\n return false;\r\n }\r\n\r\n \r\n var atIndex = str.indexOf(\"@\");\r\n if (atIndex === -1 || str.indexOf(\".\", atIndex) === -1)\r\n {\r\n return false;\r\n }\r\n\r\n \r\n var parts = str.split(\"@\");\r\n if (parts.length > 2 || parts[0].length < 1 || parts[1].length < 2)\r\n {\r\n return false;\r\n }\r\n\r\n if (w.ServerData.BA)\r\n {\r\n \r\n var asciiRegex = new RegExp(/^[\\x21-\\x7E]+$/);\r\n return !!str.match(asciiRegex);\r\n }\r\n\r\n return true;\r\n },\r\n\r\n isPhoneNumber: function (str)\r\n {\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n var digits = str.replace(/\\D+/g, \"\");\r\n\r\n return digits.length >= 4 && digits.length <= 50;\r\n },\r\n\r\n isSkypeName: function (str)\r\n {\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n str = StringHelpers.trim(str);\r\n var skypeRegex = new RegExp(/^[a-zA-Z][a-zA-Z0-9.,\\-_:']{0,128}$/);\r\n return !!str.match(skypeRegex);\r\n },\r\n\r\n extractDomain: function (str, removeDomainSuffix, includeDomainSeparator)\r\n {\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n if (!StringHelpers.isEmailAddress(str))\r\n {\r\n return str;\r\n }\r\n\r\n var domain = StringHelpers.trim(str).split(\"@\")[1];\r\n str = includeDomainSeparator ? \"@\" : \"\";\r\n\r\n if (removeDomainSuffix)\r\n {\r\n return str + domain.slice(0, domain.lastIndexOf(\".\") + 1);\r\n }\r\n\r\n return str + domain;\r\n },\r\n\r\n extractDomainFromUrl: function (url)\r\n {\r\n \r\n \r\n \r\n \r\n \r\n\r\n if (url)\r\n {\r\n var element = document.createElement(\"a\");\r\n element.href = url;\r\n\r\n \r\n return element.hostname;\r\n }\r\n\r\n return \"\";\r\n },\r\n\r\n extractOriginFromUrl: function (url)\r\n {\r\n \r\n \r\n \r\n \r\n \r\n\r\n if (url)\r\n {\r\n var element = document.createElement(\"a\");\r\n element.href = url;\r\n\r\n var origin = element.origin;\r\n if (!origin)\r\n {\r\n origin = element.protocol + \"//\" + element.hostname + (element.port ? \":\" + element.port : \"\");\r\n }\r\n\r\n return origin;\r\n }\r\n\r\n return \"\";\r\n },\r\n\r\n doOriginsMatch: function (requestUrl, responseOrigin)\r\n {\r\n \r\n \r\n var requestUrlOrigin = StringHelpers.extractOriginFromUrl(requestUrl);\r\n var dataOrigin = StringHelpers.extractOriginFromUrl(responseOrigin);\r\n\r\n return dataOrigin === requestUrlOrigin;\r\n },\r\n\r\n capFirst: function (str)\r\n {\r\n \r\n \r\n \r\n\r\n return str.charAt(0).toUpperCase() + str.slice(1);\r\n },\r\n\r\n cleanseUsername: function (str, preserveLeadingPlusSign)\r\n {\r\n \r\n \r\n \r\n\r\n if (!str)\r\n {\r\n return \"\";\r\n }\r\n\r\n str = StringHelpers.trim(str).toLowerCase();\r\n\r\n if (!StringHelpers.isEmailAddress(str) && !StringHelpers.isSkypeName(str) && StringHelpers.isPhoneNumber(str))\r\n {\r\n var prefix = \"\";\r\n if (preserveLeadingPlusSign && str.charAt(0) === \"+\")\r\n {\r\n prefix = \"+\";\r\n }\r\n\r\n return prefix + str.replace(/\\D+/g, \"\");\r\n }\r\n\r\n return str;\r\n },\r\n\r\n \r\n maskString: function (str, charsToKeep)\r\n {\r\n \r\n if (!str)\r\n {\r\n return \"\";\r\n }\r\n\r\n if (str.length <= charsToKeep * 2)\r\n {\r\n \r\n return str;\r\n }\r\n\r\n var len = str.length - (charsToKeep * 2);\r\n \r\n var masked = Array(len + 1).join(\"*\");\r\n var ret = str.substring(0, charsToKeep) + masked + str.substring(charsToKeep + len);\r\n return ret;\r\n },\r\n\r\n utf8Encode: function (input)\r\n {\r\n input = input.replace(/\\r\\n/g, \"\\n\");\r\n var utftext = \"\";\r\n\r\n for (var n = 0; n < input.length; n++)\r\n {\r\n var c = input.charCodeAt(n);\r\n\r\n if (c < 128)\r\n {\r\n utftext += String.fromCharCode(c);\r\n }\r\n else if ((c > 127) && (c < 2048))\r\n {\r\n utftext += String.fromCharCode((c >> 6) | 192);\r\n utftext += String.fromCharCode((c & 63) | 128);\r\n }\r\n else\r\n {\r\n utftext += String.fromCharCode((c >> 12) | 224);\r\n utftext += String.fromCharCode(((c >> 6) & 63) | 128);\r\n utftext += String.fromCharCode((c & 63) | 128);\r\n }\r\n }\r\n\r\n return utftext;\r\n }\r\n};\r\n\r\nvar ArrayHelpers = exports.Array =\r\n{\r\n first: ko.utils.arrayFirst,\r\n forEach: ko.utils.arrayForEach,\r\n map: ko.utils.arrayMap,\r\n removeItem: ko.utils.arrayRemoveItem,\r\n arrayFilter: ko.utils.arrayFilter,\r\n\r\n findIndex: function (array, predicate)\r\n {\r\n if (array && typeof array === \"object\" && array.length)\r\n {\r\n for (var i = 0; i < array.length; i++)\r\n {\r\n if (predicate(array[i]))\r\n {\r\n return i;\r\n }\r\n }\r\n }\r\n\r\n return -1;\r\n }\r\n};\r\n\r\nexports.DateTime =\r\n{\r\n getCurrentTime: function ()\r\n {\r\n return (new Date()).getTime();\r\n },\r\n getUTCString: function ()\r\n {\r\n return Date.prototype.toISOString ? (new Date()).toISOString() : (new Date()).toUTCString();\r\n }\r\n};\r\n\r\nexports.ErrorData = function (errorText, remediationText)\r\n{\r\n var _this = this;\r\n\r\n _this.errorText = errorText;\r\n _this.remediationText = remediationText;\r\n\r\n _this.toString = function ()\r\n {\r\n return _this.errorText;\r\n };\r\n};","var ko = require(\"knockout\");\r\n\r\n\r\nexports.create = function (tracingOptions)\r\n{\r\n var handlerResponse;\r\n var triggered = false;\r\n\r\n function event()\r\n {\r\n triggered = true;\r\n\r\n \r\n \r\n event.eventArgs(Array.prototype.slice.call(arguments));\r\n\r\n return handlerResponse;\r\n }\r\n\r\n event.eventArgs = ko.observable().extend({ notify: \"always\" });\r\n\r\n event.tracingOptions = tracingOptions;\r\n\r\n event.subscribe = function (callback)\r\n {\r\n event.eventArgs.subscribe(\r\n function (eventArgsValue)\r\n {\r\n handlerResponse = callback(eventArgsValue);\r\n });\r\n\r\n if (triggered)\r\n {\r\n handlerResponse = callback(event.eventArgs.peek());\r\n }\r\n };\r\n\r\n return event;\r\n};\r\n\r\nexports.isComponentEvent = function (event)\r\n{\r\n return event && ko.isObservable(event.eventArgs);\r\n};","\r\nvar w = window;\r\n\r\n\r\nvar Promise = null;\r\nvar iteratePromises = null;\r\nvar createPromiseAllHandlerFunction = null;\r\nvar createPromiseRaceCallResolveFunction = null;\r\nvar PromiseStatePending = 0;\r\nvar PromiseStateFulfilled = 1;\r\nvar PromiseStateRejected = 2;\r\n\r\nif (__IS_OLD_WEBPACK__)\r\n{\r\n Promise = function (executor)\r\n {\r\n var _this = this;\r\n\r\n var _state = PromiseStatePending;\r\n var _settledValue = null;\r\n var _queue = [];\r\n\r\n _this.then = function (onFulfilled, onRejected)\r\n {\r\n return new Promise(\r\n function (resolve, reject)\r\n {\r\n \r\n \r\n _enqueue(onFulfilled, onRejected, resolve, reject);\r\n });\r\n };\r\n\r\n _this[\"catch\"] = function (onRejected)\r\n {\r\n return _this.then(null, onRejected);\r\n };\r\n\r\n function _enqueue(onFulfilled, onRejected, resolve, reject)\r\n {\r\n _queue.push(\r\n function ()\r\n {\r\n var value;\r\n\r\n try\r\n {\r\n \r\n \r\n \r\n if (_state === PromiseStateFulfilled)\r\n {\r\n value = typeof onFulfilled === \"function\" ? onFulfilled(_settledValue) : _settledValue;\r\n }\r\n else\r\n {\r\n value = typeof onRejected === \"function\" ? onRejected(_settledValue) : _settledValue;\r\n }\r\n }\r\n catch (error)\r\n {\r\n \r\n \r\n reject(error);\r\n return;\r\n }\r\n\r\n if (value instanceof Promise)\r\n {\r\n \r\n \r\n value.then(resolve, reject);\r\n }\r\n else if (_state === PromiseStateRejected && typeof onRejected !== \"function\")\r\n {\r\n \r\n \r\n reject(value);\r\n }\r\n else\r\n {\r\n \r\n \r\n \r\n \r\n \r\n resolve(value);\r\n }\r\n });\r\n\r\n \r\n \r\n if (_state !== PromiseStatePending)\r\n {\r\n _processQueue();\r\n }\r\n }\r\n\r\n function _processQueue()\r\n {\r\n if (_queue.length > 0)\r\n {\r\n \r\n \r\n var pending = _queue.slice();\r\n _queue = [];\r\n\r\n setTimeout(\r\n function ()\r\n {\r\n for (var i = 0, len = pending.length; i < len; ++i)\r\n {\r\n pending[i]();\r\n }\r\n }, 0);\r\n }\r\n }\r\n\r\n function _resolve(value)\r\n {\r\n if (_state === PromiseStatePending)\r\n {\r\n _settledValue = value;\r\n _state = PromiseStateFulfilled;\r\n _processQueue();\r\n }\r\n }\r\n\r\n function _reject(reason)\r\n {\r\n if (_state === PromiseStatePending)\r\n {\r\n _settledValue = reason;\r\n _state = PromiseStateRejected;\r\n _processQueue();\r\n }\r\n }\r\n\r\n (function _initialize()\r\n {\r\n if (typeof executor !== \"function\")\r\n {\r\n throw new TypeError(\"Promise: argument is not a Function object\");\r\n }\r\n\r\n try\r\n {\r\n executor(_resolve, _reject);\r\n }\r\n catch (error)\r\n {\r\n \r\n \r\n _reject(error);\r\n }\r\n })();\r\n };\r\n\r\n createPromiseAllHandlerFunction = function (values, index, doneCheck, rejectOnError, isFulfilled)\r\n {\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n var fn =\r\n function (value)\r\n {\r\n \r\n \r\n \r\n if (rejectOnError)\r\n {\r\n values[index] = value;\r\n }\r\n else\r\n {\r\n if (isFulfilled)\r\n {\r\n values[index] = { status: \"fulfilled\", value: value };\r\n }\r\n else\r\n {\r\n values[index] = { status: \"rejected\", reason: value };\r\n }\r\n }\r\n\r\n doneCheck();\r\n };\r\n\r\n return fn;\r\n };\r\n\r\n iteratePromises = function (iterable, rejectOnError)\r\n {\r\n if (!iterable || !iterable.length)\r\n {\r\n \r\n \r\n return Promise.resolve([]);\r\n }\r\n\r\n return new Promise(\r\n function (resolve, reject)\r\n {\r\n var values = [];\r\n var pending = 0;\r\n\r\n for (var i = 0, len = iterable.length; i < len; ++i)\r\n {\r\n var item = iterable[i];\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n if (item instanceof Promise)\r\n {\r\n pending++;\r\n\r\n var doneCheck =\r\n function ()\r\n {\r\n if (--pending === 0)\r\n {\r\n resolve(values);\r\n }\r\n };\r\n\r\n \r\n \r\n \r\n if (rejectOnError)\r\n {\r\n item.then(\r\n createPromiseAllHandlerFunction(values, i, doneCheck, rejectOnError),\r\n reject);\r\n }\r\n else\r\n {\r\n item.then(\r\n createPromiseAllHandlerFunction(values, i, doneCheck, rejectOnError, true),\r\n createPromiseAllHandlerFunction(values, i, doneCheck, rejectOnError, false));\r\n }\r\n }\r\n else\r\n {\r\n values[i] = item;\r\n }\r\n }\r\n\r\n \r\n \r\n \r\n if (pending === 0)\r\n {\r\n setTimeout(\r\n function ()\r\n {\r\n resolve(values);\r\n }, 0);\r\n }\r\n });\r\n };\r\n\r\n Promise.all = function (iterable)\r\n {\r\n return iteratePromises(iterable, true);\r\n };\r\n\r\n Promise.allSettled = function (iterable)\r\n {\r\n return iteratePromises(iterable, false);\r\n };\r\n\r\n createPromiseRaceCallResolveFunction = function (resolve, item)\r\n {\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n var fn =\r\n function ()\r\n {\r\n resolve(item);\r\n };\r\n\r\n return fn;\r\n };\r\n\r\n Promise.race = function (iterable)\r\n {\r\n return new Promise(\r\n function (resolve, reject)\r\n {\r\n \r\n \r\n if (!iterable || !iterable.length)\r\n {\r\n return;\r\n }\r\n\r\n for (var i = 0, len = iterable.length; i < len; ++i)\r\n {\r\n var item = iterable[i];\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n if (item instanceof Promise)\r\n {\r\n item.then(resolve, reject);\r\n }\r\n else\r\n {\r\n setTimeout(\r\n createPromiseRaceCallResolveFunction(resolve, item), 0);\r\n }\r\n }\r\n });\r\n };\r\n\r\n Promise.reject = function (reason)\r\n {\r\n return new Promise(\r\n function (resolve, reject)\r\n {\r\n reject(reason);\r\n });\r\n };\r\n\r\n Promise.resolve = function (value)\r\n {\r\n if (value instanceof Promise)\r\n {\r\n \r\n return value;\r\n }\r\n else if (value && typeof value.then === \"function\")\r\n {\r\n \r\n \r\n return new Promise(\r\n function (resolve, reject)\r\n {\r\n value.then(resolve, reject);\r\n });\r\n }\r\n\r\n \r\n \r\n return new Promise(\r\n function (resolve)\r\n {\r\n resolve(value);\r\n });\r\n };\r\n\r\n var promise = w.Promise || Promise;\r\n\r\n if (!promise.all)\r\n {\r\n promise.all = Promise.all;\r\n }\r\n\r\n if (!promise.allSettled)\r\n {\r\n promise.allSettled = Promise.allSettled;\r\n }\r\n\r\n if (!promise.race)\r\n {\r\n promise.race = Promise.race;\r\n }\r\n\r\n if (!promise.reject)\r\n {\r\n promise.reject = Promise.reject;\r\n }\r\n\r\n if (!promise.resolve)\r\n {\r\n promise.resolve = Promise.resolve;\r\n }\r\n\r\n module.exports = promise;\r\n}\r\nelse\r\n{\r\n module.exports = w.Promise;\r\n}","var ko = require(\"knockout\");\r\nvar Browser = require(\"./BrowserControl\");\r\n\r\nvar w = window;\r\nvar BrowserHelper = Browser.Helper;\r\nvar NodeTypeElement = 1;\r\n\r\nfunction AccessibleImageControl(params, lightImageNode, darkImageNode)\r\n{\r\n var _this = this;\r\n\r\n var _hasDarkBackground = params.hasDarkBackground;\r\n\r\n _this.isHighContrastBlackTheme = false;\r\n _this.isHighContrastWhiteTheme = false;\r\n _this.hasDarkBackground = _hasDarkBackground;\r\n _this.lightImageNode = lightImageNode;\r\n _this.darkImageNode = darkImageNode;\r\n\r\n (function _initialize()\r\n {\r\n var isHighContrast = BrowserHelper.isHighContrast();\r\n if (isHighContrast)\r\n {\r\n var theme = BrowserHelper.getHighContrastTheme();\r\n _this.isHighContrastBlackTheme = theme === \"black\";\r\n _this.isHighContrastWhiteTheme = theme === \"white\";\r\n }\r\n })();\r\n}\r\n\r\nko.components.register(\"accessible-image-control\",\r\n {\r\n viewModel:\r\n {\r\n createViewModel: function (params, componentInfo)\r\n {\r\n var templateElements = ko.utils.arrayFilter(\r\n componentInfo.templateNodes,\r\n function (templateNode)\r\n {\r\n return templateNode.nodeType === NodeTypeElement;\r\n });\r\n\r\n \r\n return new AccessibleImageControl(params, templateElements[0], templateElements[1]);\r\n }\r\n },\r\n template: require(\"html/Shared/Controls/AccessibleImageControlHtml.html\"),\r\n synchronous: !w.ServerData.A || Browser.Helper.isStackSizeGreaterThan(w.ServerData.A)\r\n });\r\n\r\nmodule.exports = AccessibleImageControl;","exports.Tokens =\r\n{\r\n Username: \"#~#MemberName_LS#~#\"\r\n};\r\n\r\nexports.Fed =\r\n{\r\n DomainToken: \"#~#partnerdomain#~#\",\r\n FedDomain: \"#~#FederatedDomainName_LS#~#\",\r\n Partner: \"#~#FederatedPartnerName_LS#~#\"\r\n};\r\n\r\nexports.LoginOption =\r\n{\r\n DoNotRemember: 0,\r\n RememberPWD: 1,\r\n NothingChecked: 3\r\n};\r\n\r\nexports.StringsVariantId =\r\n{\r\n Default: 0,\r\n SkypeMoveAlias: 1,\r\n CombinedSigninSignup: 2,\r\n CombinedSigninSignupDefaultTitle: 3,\r\n RemoteConnectLogin: 4,\r\n CombinedSigninSignupV2: 5,\r\n CombinedSigninSignupV2WelcomeTitle: 6\r\n};\r\n\r\nexports.AllowedIdentitiesType =\r\n{\r\n MsaOnly: 0,\r\n AadOnly: 1,\r\n Both: 2\r\n};\r\n\r\nexports.SessionIdp =\r\n{\r\n Aad: 0,\r\n Msa: 1\r\n};\r\n\r\nexports.ClientTracingEventIds =\r\n{\r\n \r\n Event_LoginPaginatedUsernameView_onLoad: 110000,\r\n Event_LoginPaginatedPasswordView_onLoad: 110001,\r\n \r\n ComponentEvent_LoginPaginatedUsernameView_onShowDialog: 120000,\r\n ComponentEvent_LoginPaginatedUsernameView_onAgreementClick: 120001,\r\n ComponentEvent_LoginPaginatedPasswordView_onResetPassword: 120100,\r\n \r\n PropertyValue_LoginPaginatedPageView_IsFidoSupported: 140000,\r\n PropertyValue_LoginPaginatedUsernameView_Username: 140100,\r\n PropertyValue_LoginPaginatedUsernameView_ClientError: 140101,\r\n PropertyValue_LoginPaginatedPasswordView_Password: 140200,\r\n PropertyValue_LoginPaginatedPasswordView_ClientError: 140201,\r\n PropertyValue_LoginPaginatedPasswordView_KMSI: 140202\r\n};","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nexports.EventIds =\r\n{\r\n Unknown: 0,\r\n \r\n Event_PaginationControl_ViewSwitch: 10000,\r\n \r\n Api_GetOneTimeCode: 20000,\r\n Api_GetOneTimeToken: 20001,\r\n Api_CanaryValidation: 20002,\r\n Api_GetCustomCss: 20003,\r\n Api_GetCredentialType: 20004,\r\n Api_CheckSessionState: 20005,\r\n Api_GetIwaSsoToken: 20006,\r\n Api_OtcAuthentication: 20007,\r\n Api_DeviceAuthentication: 20008,\r\n Api_BeginOtcAuthentication: 20009,\r\n Api_ConfirmOneTimeCode: 20010,\r\n Api_BeginSessionApproval: 20011,\r\n Api_EndSessionApproval: 20012,\r\n Api_Forget: 20013,\r\n Api_GetRecoveryCredentialType: 20014,\r\n \r\n Redirect_Unknown: 40000,\r\n Redirect_MSASignUpPage: 40001,\r\n Redirect_AADSignUpPage: 40002,\r\n Redirect_SkipZeroTouch: 40003,\r\n Redirect_ResetPasswordPage: 40004,\r\n Redirect_MSAUserRecoveryPage: 40005,\r\n Redirect_OtherIdpRedirection: 40006,\r\n Redriect_SwitchUser: 40007\r\n \r\n \r\n};\r\n\r\n\r\nexports.EventLevel =\r\n{\r\n None: 0x0,\r\n Critical: 0x0001,\r\n Info: 0x0002,\r\n ApiRequest: 0x0004,\r\n CXH: 0x0008,\r\n Debug: 0x0010,\r\n Verbose: 0x0020,\r\n All: 0xFFFF\r\n};\r\n\r\n\r\nexports.HidingMode =\r\n{\r\n \r\n None: 0,\r\n \r\n Hide: 1,\r\n \r\n Mask: 2\r\n};\r\n\r\n\r\nexports.DataPointScope =\r\n{\r\n ClientEvent: 1,\r\n Global: 2\r\n};\r\n\r\n\r\nexports.EventStage =\r\n{\r\n None: 0,\r\n Begin: 1,\r\n End: 2\r\n};\r\n","var Promise = require(\"./Promise\");\r\n\r\n\r\nexports.throwUnhandledExceptionOnRejection = function (promise)\r\n{\r\n promise[\"catch\"](\r\n function (error)\r\n {\r\n var ex = error;\r\n\r\n if (!(error instanceof Error))\r\n {\r\n ex = new Error(\"Unhandled Promise rejection: \" + error);\r\n }\r\n\r\n \r\n \r\n setTimeout(\r\n function ()\r\n {\r\n throw ex;\r\n }, 0);\r\n });\r\n};\r\n\r\n\r\nexports.newPromiseWithTimeout = function (func, timeout, result)\r\n{\r\n return new Promise(\r\n function (resolve, reject)\r\n {\r\n Promise.resolve(func()).then(resolve, reject);\r\n setTimeout(function () { resolve(result); }, timeout);\r\n }\r\n );\r\n};","var ClientTracingConstants = require(\"./ClientTracingConstants\");\r\nvar ClientTracingContext = require(\"./ClientTracingContext\");\r\nvar Helpers = require(\"./Helpers\");\r\nvar Promise = require(\"../Core/Promise\");\r\n\r\n\r\nfunction ClientTracingHelper(tracingConfig)\r\n{\r\n var _this = this;\r\n var _initializingTime = Helpers.DateTime.getCurrentTime();\r\n var _tracingEnabled = _getIfTracingEnabled();\r\n var _clientTracing = null;\r\n\r\n \r\n \r\n \r\n\r\n \r\n _this.createLoadClientTracingPromise = function ()\r\n {\r\n var loadClientTracingPromise = new Promise(\r\n function (resolve)\r\n {\r\n if (_tracingEnabled && !_clientTracing)\r\n {\r\n require.ensure([],\r\n function ()\r\n {\r\n var clientTracing = require(\"./ClientTracing\").getInstance(tracingConfig, _initializingTime);\r\n\r\n if (!_clientTracing)\r\n {\r\n _clientTracing = clientTracing;\r\n }\r\n\r\n resolve();\r\n },\r\n \"ClientTracing\"); \r\n }\r\n else\r\n {\r\n resolve();\r\n }\r\n });\r\n\r\n return loadClientTracingPromise;\r\n };\r\n\r\n \r\n _this.logRedirection = function (redirectData, parameters)\r\n {\r\n var url = redirectData;\r\n var eventOptions = null;\r\n if (redirectData && typeof(redirectData) !== \"string\")\r\n {\r\n url = redirectData.url;\r\n eventOptions = redirectData.eventOptions;\r\n parameters = redirectData.traceParameters ? parameters : null;\r\n\r\n if (redirectData.traceUrl)\r\n {\r\n \r\n if (!parameters)\r\n {\r\n parameters = url;\r\n }\r\n else\r\n {\r\n parameters.url = url;\r\n }\r\n }\r\n }\r\n else\r\n {\r\n parameters = null;\r\n }\r\n\r\n if (eventOptions && eventOptions.eventId)\r\n {\r\n _this.logEvent(\r\n {\r\n eventType: \"onRedirect\",\r\n eventId: eventOptions.eventId,\r\n eventLevel: eventOptions.eventLevel,\r\n eventArgs: parameters,\r\n eventOptions: eventOptions\r\n });\r\n }\r\n\r\n return url;\r\n };\r\n\r\n \r\n \r\n _this.getPropertyLogOption = function (viewModel, tracingOptions)\r\n {\r\n tracingOptions = tracingOptions || {};\r\n\r\n if (!tracingOptions.hasOwnProperty(\"tracingPropertyChange\"))\r\n {\r\n tracingOptions.tracingPropertyChange = true;\r\n }\r\n\r\n tracingOptions.eventLevel = tracingOptions.eventLevel || ClientTracingConstants.EventLevel.Info;\r\n return { viewModel: viewModel, tracingOptions: tracingOptions };\r\n };\r\n\r\n \r\n _this.getDefaultTextBoxPropertyLogOption = function (viewModel, tracingOptions)\r\n {\r\n tracingOptions = tracingOptions || {};\r\n if (!tracingOptions.hasOwnProperty(\"hidingMode\"))\r\n {\r\n tracingOptions.hidingMode = ClientTracingConstants.HidingMode.None;\r\n }\r\n\r\n tracingOptions.rateLimit =\r\n {\r\n method: \"notifyWhenChangesStop\"\r\n };\r\n\r\n return _this.getPropertyLogOption(\r\n viewModel,\r\n tracingOptions\r\n );\r\n };\r\n\r\n \r\n _this.getPIITextBoxPropertyLogOption = function (viewModel, tracingOptions)\r\n {\r\n tracingOptions = tracingOptions || {};\r\n tracingOptions.hidingMode = ClientTracingConstants.HidingMode.Mask;\r\n\r\n return _this.getDefaultTextBoxPropertyLogOption(\r\n viewModel,\r\n tracingOptions\r\n );\r\n };\r\n\r\n \r\n _this.getPasswordTextBoxPropertyLogOption = function (viewModel, tracingOptions)\r\n {\r\n tracingOptions = tracingOptions || {};\r\n tracingOptions.hidingMode = ClientTracingConstants.HidingMode.Hide;\r\n\r\n return _this.getDefaultTextBoxPropertyLogOption(\r\n viewModel,\r\n tracingOptions\r\n );\r\n };\r\n\r\n \r\n _this.getDefaultEventTracingOptions = function (eventId, traceEventArgs, eventLevel)\r\n {\r\n return {\r\n eventId: eventId,\r\n eventLevel: eventLevel || ClientTracingConstants.EventLevel.Info,\r\n hidingMode: traceEventArgs ? ClientTracingConstants.HidingMode.None : ClientTracingConstants.HidingMode.Hide\r\n };\r\n };\r\n \r\n\r\n \r\n \r\n _this.attachViewLoadClientTracingOptions = _createClientTracingContextWrapper(\"attachViewLoadClientTracingOptions\");\r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n _this.logEvent = _createClientTracingWrapper(\"logEvent\");\r\n\r\n \r\n _this.logUserInteractionEvent = _createClientTracingWrapper(\"logUserInteractionEvent\");\r\n\r\n \r\n _this.traceBeginRequest = _createClientTracingWrapper(\"traceBeginRequest\");\r\n\r\n \r\n _this.traceEndRequest = function (tracingObject, result, data, succeeded, handler)\r\n {\r\n if (_clientTracing)\r\n {\r\n _clientTracing.traceEndRequest(tracingObject, result, data, succeeded, handler);\r\n }\r\n else if (handler)\r\n {\r\n handler();\r\n }\r\n };\r\n\r\n \r\n _this.setPageViewModel = _createClientTracingWrapper(\"setPageViewModel\");\r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n _this.logComponentEvent = _createClientTracingWrapper(\"logComponentEvent\");\r\n\r\n \r\n _this.logViewState = _createClientTracingWrapper(\"logViewState\");\r\n\r\n \r\n _this.setViewViewModel = _createClientTracingWrapper(\"setViewViewModel\");\r\n\r\n \r\n _this.switchView = _createClientTracingWrapper(\"switchView\");\r\n\r\n \r\n _this.postEvent = _createClientTracingWrapper(\"postEvent\");\r\n \r\n \r\n\r\n function _getIfTracingEnabled()\r\n {\r\n return (tracingConfig && tracingConfig.BE && tracingConfig.AP);\r\n }\r\n\r\n function _createClientTracingWrapper(methodName)\r\n {\r\n return function ()\r\n {\r\n if (_clientTracing)\r\n {\r\n return _clientTracing[methodName].apply(_clientTracing, arguments);\r\n }\r\n };\r\n }\r\n\r\n function _createClientTracingContextWrapper(methodName)\r\n {\r\n return function ()\r\n {\r\n if (ClientTracingContext)\r\n {\r\n return ClientTracingContext[methodName].apply(ClientTracingContext, arguments);\r\n }\r\n };\r\n }\r\n}\r\n\r\nvar instance = null;\r\n\r\nexports.getInstance = function (tracingConfig)\r\n{\r\n instance = instance || new ClientTracingHelper(tracingConfig);\r\n return instance;\r\n};","var JSON = require(\"JSON\");\r\nvar Ajax = require(\"./AjaxHandlerControl\");\r\nvar Constants = require(\"./Constants\");\r\nvar Helpers = require(\"./Helpers\");\r\nvar Browser = require(\"./BrowserControl\");\r\nvar ClientTracingHelper = require(\"./ClientTracingHelper\").getInstance(window.ServerData);\r\nvar ClientTracingConstants = require(\"./ClientTracingConstants\");\r\n\r\nvar w = window;\r\nvar $config = w.$Config || w.ServerData || {};\r\n\r\nvar ObjectHelpers = Helpers.Object;\r\nvar QueryString = Browser.QueryString;\r\n\r\n\r\nmodule.exports = function (params)\r\n{\r\n params = params || {};\r\n\r\n var _this = this;\r\n\r\n var c_requestTimeout = 30000; \r\n\r\n var c_callGenericErrorCode = 8000;\r\n var c_callTimeoutErrorCode = 8001;\r\n var c_callAbortedErrorCode = 8002;\r\n\r\n var c_maxErrors = 100;\r\n var c_correlationIdHeader = \"client-request-id\";\r\n var c_acceptHeader = \"application/json\";\r\n\r\n \r\n var _checkApiCanary = params.checkApiCanary !== false;\r\n var _withCredentials = params.withCredentials || false;\r\n var _breakCache = params.breakCache || false;\r\n var _responseType = params.responseType || \"\";\r\n var _notifyOnClientAbort = params.notifyOnClientAbort || false;\r\n\r\n var _sasEndAuthPostToGetSwitch = w.ServerData.aB;\r\n var _fixUICrashForApiRequestHandler = w.ServerData.Bj;\r\n\r\n \r\n _this.Errors = [];\r\n\r\n \r\n\r\n \r\n\r\n \r\n _this.Json = function (requestData, postData, successCallback, failureCallback, requestTimeout, headerData, qsParams)\r\n {\r\n \r\n var expectResponse = !!(successCallback || failureCallback);\r\n var startTime = (new Date()).getTime();\r\n\r\n var requestUrl = requestData.url;\r\n\r\n \r\n function _parseError(xhr, textStatus)\r\n {\r\n var response = {};\r\n\r\n \r\n if (xhr.status === 500)\r\n {\r\n try\r\n {\r\n response = (JSON.parse(xhr.responseText) || {});\r\n }\r\n catch (e) { }\r\n }\r\n\r\n \r\n if (!response.error)\r\n {\r\n \r\n var isFatal = false;\r\n var code = c_callGenericErrorCode;\r\n var message = \"Request Failed -- No Response from Server\";\r\n\r\n \r\n switch (textStatus)\r\n {\r\n case \"timeout\":\r\n code = c_callTimeoutErrorCode;\r\n message = \"Timeout Error\";\r\n isFatal = true;\r\n break;\r\n\r\n case \"abort\":\r\n code = c_callAbortedErrorCode;\r\n message = \"Aborted\";\r\n break;\r\n\r\n case \"error\":\r\n if (xhr.status >= 400)\r\n {\r\n isFatal = true;\r\n }\r\n\r\n break;\r\n\r\n case \"parsererror\":\r\n message = \"Unable to parse response\";\r\n isFatal = true;\r\n break;\r\n }\r\n\r\n response.error =\r\n {\r\n code: code,\r\n message: message,\r\n debugMessage: \"(xhr status \" + xhr.status + \") xhr.responseText: \" + xhr.responseText,\r\n stackTrace: \"\",\r\n isFatal: isFatal\r\n };\r\n }\r\n\r\n return response;\r\n }\r\n\r\n \r\n function _handleResponse(dataObject)\r\n {\r\n \r\n dataObject = dataObject || {};\r\n\r\n var stackTrace;\r\n var error = dataObject.error || null;\r\n\r\n var requestStats =\r\n {\r\n startTime: startTime,\r\n endTime: (new Date()).getTime()\r\n };\r\n\r\n if (dataObject.apiCanary)\r\n {\r\n \r\n $config.apiCanary = dataObject.apiCanary;\r\n delete dataObject.apiCanary;\r\n }\r\n\r\n if (error)\r\n {\r\n stackTrace = error.stackTrace;\r\n stackTrace = (stackTrace && stackTrace.encodeJson) ? stackTrace.encodeJson() : \"\";\r\n\r\n var errorString = JSON.stringify(\r\n {\r\n code: error.code,\r\n message: error.message,\r\n debug: error.debugMessage,\r\n stacktrace: stackTrace,\r\n requestUrl: requestUrl\r\n });\r\n\r\n _this.Errors.push(errorString);\r\n\r\n if (_this.Errors.length > c_maxErrors)\r\n {\r\n _this.Errors.shift();\r\n }\r\n\r\n \r\n \r\n if (error.code !== c_callAbortedErrorCode || _notifyOnClientAbort)\r\n {\r\n if (failureCallback)\r\n {\r\n failureCallback(dataObject, requestStats);\r\n }\r\n }\r\n }\r\n else if (successCallback)\r\n {\r\n successCallback(dataObject, requestStats);\r\n }\r\n }\r\n\r\n function _failRequest()\r\n {\r\n \r\n setTimeout(\r\n function ()\r\n {\r\n var response =\r\n {\r\n error:\r\n {\r\n code: c_callAbortedErrorCode,\r\n message: \"Request Failed!\",\r\n isFatal: true\r\n }\r\n };\r\n\r\n _handleResponse(response);\r\n }, 0);\r\n\r\n \r\n return null;\r\n }\r\n\r\n function _failRequestWithErrorCode(errorCode)\r\n {\r\n \r\n setTimeout(\r\n function ()\r\n {\r\n var response =\r\n {\r\n error:\r\n {\r\n code: errorCode,\r\n message: \"Request Failed!\",\r\n isFatal: true\r\n }\r\n };\r\n\r\n _handleResponse(response);\r\n }, 0);\r\n\r\n \r\n return null;\r\n }\r\n\r\n if (_checkApiCanary && !$config.apiCanary)\r\n {\r\n \r\n \r\n if (_fixUICrashForApiRequestHandler)\r\n {\r\n return _failRequestWithErrorCode(c_callAbortedErrorCode);\r\n }\r\n return _failRequest();\r\n }\r\n\r\n \r\n \r\n if (_sasEndAuthPostToGetSwitch && (postData === null) && (headerData !== null))\r\n {\r\n _this.Get(\r\n requestData,\r\n Constants.ContentType.Json,\r\n function (ev, dataString)\r\n {\r\n if (expectResponse)\r\n {\r\n if (_fixUICrashForApiRequestHandler)\r\n {\r\n try\r\n {\r\n var responseDataObject = JSON.parse(dataString);\r\n _handleResponse(responseDataObject);\r\n }\r\n catch (e)\r\n {\r\n _failRequestWithErrorCode(c_callGenericErrorCode);\r\n }\r\n }\r\n else\r\n {\r\n var dataObject = JSON.parse(dataString);\r\n _handleResponse(dataObject);\r\n }\r\n }\r\n },\r\n function (ev, xhr, textStatus, errorThrown)\r\n {\r\n if (expectResponse)\r\n {\r\n _handleResponse(_parseError(xhr, textStatus, errorThrown));\r\n }\r\n },\r\n requestTimeout,\r\n headerData,\r\n qsParams);\r\n }\r\n else\r\n {\r\n var jsonPostData = _constructJsonPostData(postData);\r\n\r\n _this.Post(\r\n requestData,\r\n Constants.ContentType.Json,\r\n jsonPostData,\r\n function (ev, dataString)\r\n {\r\n if (expectResponse)\r\n {\r\n if (_fixUICrashForApiRequestHandler)\r\n {\r\n try\r\n {\r\n var responseDataObject = JSON.parse(dataString);\r\n _handleResponse(responseDataObject);\r\n }\r\n catch (e)\r\n {\r\n _failRequestWithErrorCode(c_callGenericErrorCode);\r\n }\r\n }\r\n else\r\n {\r\n var dataObject = JSON.parse(dataString);\r\n _handleResponse(dataObject);\r\n }\r\n }\r\n },\r\n function (ev, xhr, textStatus, errorThrown)\r\n {\r\n if (expectResponse)\r\n {\r\n _handleResponse(_parseError(xhr, textStatus, errorThrown));\r\n }\r\n },\r\n requestTimeout);\r\n }\r\n };\r\n\r\n \r\n _this.Post = function (requestData, contentType, postDataString, successCallback, failureCallback, requestTimeout)\r\n {\r\n var requestUrl = requestData.url;\r\n var tracingObject = {};\r\n var noCallback = false;\r\n\r\n if (!successCallback && !failureCallback)\r\n {\r\n noCallback = true;\r\n }\r\n\r\n _traceBeginRequest(tracingObject, requestData, Ajax.RequestType.Post, requestTimeout, contentType, noCallback);\r\n\r\n var ajaxParams =\r\n {\r\n targetUrl: requestUrl,\r\n contentType: contentType,\r\n data: postDataString,\r\n requestType: Ajax.RequestType.Post,\r\n timeout: requestTimeout || c_requestTimeout,\r\n successCallback: function (ev, dataString)\r\n {\r\n _traceEndRequest(\r\n tracingObject,\r\n \"Success\",\r\n dataString,\r\n true ,\r\n function ()\r\n {\r\n if (successCallback)\r\n {\r\n successCallback(ev, dataString);\r\n }\r\n });\r\n },\r\n failureCallback: function (ev, xhr, textStatus)\r\n {\r\n _traceEndRequest(\r\n tracingObject,\r\n \"Failed\",\r\n _getErrorForTrace(xhr, textStatus),\r\n false ,\r\n function ()\r\n {\r\n if (failureCallback)\r\n {\r\n failureCallback(ev, xhr, textStatus);\r\n }\r\n });\r\n },\r\n timeoutCallback: function (ev, xhr, textStatus)\r\n {\r\n _traceEndRequest(\r\n tracingObject,\r\n \"Timeout\",\r\n _getErrorForTrace(xhr, textStatus),\r\n false ,\r\n function ()\r\n {\r\n if (failureCallback)\r\n {\r\n failureCallback(ev, xhr, textStatus);\r\n }\r\n });\r\n }\r\n };\r\n\r\n _addCommonRequestParameters(ajaxParams);\r\n\r\n Ajax.Handler.call(_this, ajaxParams);\r\n _this.sendRequest();\r\n };\r\n\r\n \r\n _this.Get = function (requestData, contentType, successCallback, failureCallback, requestTimeout, headerData, qsParams)\r\n {\r\n var requestUrl = requestData.url;\r\n var tracingObject = {};\r\n var noCallback = false;\r\n if (!successCallback && !failureCallback)\r\n {\r\n noCallback = true;\r\n }\r\n\r\n _traceBeginRequest(tracingObject, requestData, Ajax.RequestType.Get, requestTimeout, contentType, noCallback);\r\n var ajaxParams =\r\n {\r\n targetUrl: requestUrl,\r\n contentType: contentType,\r\n requestType: Ajax.RequestType.Get,\r\n timeout: requestTimeout || c_requestTimeout,\r\n successCallback: function (ev, dataString)\r\n {\r\n _traceEndRequest(\r\n tracingObject,\r\n \"Success\",\r\n dataString,\r\n true ,\r\n function ()\r\n {\r\n if (successCallback)\r\n {\r\n successCallback(ev, dataString);\r\n }\r\n });\r\n },\r\n failureCallback: function (ev, xhr, textStatus)\r\n {\r\n _traceEndRequest(\r\n tracingObject,\r\n \"Failed\",\r\n _getErrorForTrace(xhr, textStatus),\r\n false ,\r\n function ()\r\n {\r\n if (failureCallback)\r\n {\r\n failureCallback(ev, xhr, textStatus);\r\n }\r\n });\r\n },\r\n timeoutCallback: function (ev, xhr, textStatus)\r\n {\r\n _traceEndRequest(\r\n tracingObject,\r\n \"Timeout\",\r\n _getErrorForTrace(xhr, textStatus),\r\n false ,\r\n function ()\r\n {\r\n if (failureCallback)\r\n {\r\n failureCallback(ev, xhr, textStatus);\r\n }\r\n });\r\n }\r\n };\r\n\r\n _addCommonRequestParameters(ajaxParams);\r\n\r\n if (_sasEndAuthPostToGetSwitch)\r\n {\r\n if (headerData)\r\n {\r\n \r\n for (var header in headerData)\r\n {\r\n if (headerData.hasOwnProperty(header))\r\n {\r\n ajaxParams.headers[header] = headerData[header];\r\n }\r\n }\r\n }\r\n\r\n if (qsParams)\r\n {\r\n \r\n var newRequestUrl = QueryString.add(requestUrl, qsParams);\r\n ajaxParams.targetUrl = newRequestUrl;\r\n }\r\n }\r\n\r\n Ajax.Handler.call(_this, ajaxParams);\r\n _this.sendRequest();\r\n };\r\n\r\n \r\n _this.Beacon = function (requestData, postData, successCallback, failureCallback, requestTimeout)\r\n {\r\n var qsParams = [];\r\n var headers = _constructCommonHeaders(true );\r\n\r\n ObjectHelpers.forEach(\r\n headers,\r\n function (key, value)\r\n {\r\n qsParams.push([key, value]);\r\n });\r\n\r\n \r\n var requestUrl = requestData.url;\r\n requestUrl = QueryString.add(requestUrl, qsParams);\r\n requestData.url = requestUrl;\r\n if (navigator.sendBeacon)\r\n {\r\n var tracingObject = {};\r\n var noCallback = false;\r\n _traceBeginRequest(tracingObject, requestData, \"Beacon\", requestTimeout, null, noCallback);\r\n\r\n var jsonPostData = _constructJsonPostData(postData);\r\n\r\n var result = navigator.sendBeacon(requestUrl, jsonPostData);\r\n\r\n \r\n _traceEndRequest(\r\n tracingObject,\r\n result ? \"Success\" : \"Failed\",\r\n null,\r\n result,\r\n function ()\r\n {\r\n if (result && successCallback)\r\n {\r\n successCallback();\r\n }\r\n else if (!result && failureCallback)\r\n {\r\n failureCallback();\r\n }\r\n });\r\n }\r\n else\r\n {\r\n _this.Json(requestData, postData, successCallback, failureCallback, requestTimeout);\r\n }\r\n };\r\n\r\n \r\n\r\n \r\n function _constructCommonHeaders(constructForQueryString)\r\n {\r\n var headers =\r\n {\r\n hpgid: $config.hpgid || 0,\r\n hpgact: $config.hpgact || 0 \r\n };\r\n\r\n if (!constructForQueryString)\r\n {\r\n headers.Accept = c_acceptHeader;\r\n\r\n if (_checkApiCanary && $config.apiCanary)\r\n {\r\n headers.canary = $config.apiCanary;\r\n }\r\n }\r\n\r\n if ($config.correlationId)\r\n {\r\n headers[c_correlationIdHeader] = $config.correlationId;\r\n }\r\n\r\n if ($config.sessionId)\r\n {\r\n headers.hpgrequestid = $config.sessionId;\r\n }\r\n\r\n return headers;\r\n }\r\n\r\n \r\n function _constructJsonPostData(postData)\r\n {\r\n \r\n var jsonPostData = postData;\r\n if (postData && !_isString(postData))\r\n {\r\n \r\n \r\n \r\n var data = {};\r\n\r\n ObjectHelpers.forEach(\r\n postData,\r\n function (key, value)\r\n {\r\n if (key.substr(0, 7) === \"unsafe_\")\r\n {\r\n key = key.substr(7);\r\n }\r\n\r\n data[key] = value;\r\n });\r\n\r\n jsonPostData = JSON.stringify(data);\r\n }\r\n\r\n \r\n if (jsonPostData)\r\n {\r\n jsonPostData = jsonPostData.replace(/\\?/g, \"\\\\u003F\");\r\n }\r\n\r\n return jsonPostData;\r\n }\r\n\r\n \r\n function _addCommonRequestParameters(ajaxParams)\r\n {\r\n ajaxParams.headers = _constructCommonHeaders();\r\n ajaxParams.withCredentials = _withCredentials;\r\n ajaxParams.breakCache = _breakCache;\r\n ajaxParams.responseType = _responseType;\r\n }\r\n\r\n \r\n function _isString(obj)\r\n {\r\n return typeof obj === \"string\";\r\n }\r\n\r\n function _traceBeginRequest(tracingObject, requestData, requestType, requestTimeout, contentType, noCallback)\r\n {\r\n var eventData = null;\r\n if (requestData)\r\n {\r\n var eventOptions = requestData.eventOptions || {};\r\n eventOptions.eventId = requestData.eventId || eventOptions.eventId;\r\n if (!eventOptions.hasOwnProperty(\"hidingMode\"))\r\n {\r\n eventOptions.hidingMode = ClientTracingConstants.HidingMode.None;\r\n }\r\n\r\n if (eventOptions.eventId)\r\n {\r\n eventData = {};\r\n eventData.eventType = requestType;\r\n eventData.eventId = eventOptions.eventId;\r\n eventData.eventLevel = eventOptions.eventLevel || ClientTracingConstants.EventLevel.ApiRequest;\r\n var eventArgs = {};\r\n eventArgs.requestTimeout = requestTimeout;\r\n if (contentType)\r\n {\r\n eventArgs.contentType = contentType;\r\n }\r\n\r\n eventArgs.requestType = requestType;\r\n\r\n if (noCallback)\r\n {\r\n eventArgs.noCallback = true;\r\n }\r\n\r\n eventData.eventArgs = eventArgs;\r\n eventData.eventOptions = eventOptions;\r\n\r\n ClientTracingHelper.traceBeginRequest(tracingObject, eventData);\r\n }\r\n }\r\n\r\n tracingObject.eventData = eventData;\r\n }\r\n\r\n function _traceEndRequest(tracingObject, result, data, succeeded, handler)\r\n {\r\n ClientTracingHelper.traceEndRequest(tracingObject, result, data, succeeded, handler);\r\n }\r\n\r\n function _getErrorForTrace(xhr, textStatus)\r\n {\r\n var error = {};\r\n if (xhr)\r\n {\r\n error.xhr_status = xhr.status;\r\n }\r\n\r\n error.textStatus = textStatus;\r\n return error;\r\n }\r\n};","/*\n http://www.JSON.org/json2.js\n 2011-02-23\n\n Public Domain.\n\n NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.\n\n See http://www.JSON.org/js.html\n\n\n This code should be minified before deployment.\n See http://javascript.crockford.com/jsmin.html\n\n USE YOUR OWN COPY. IT IS EXTREMELY UNWISE TO LOAD CODE FROM SERVERS YOU DO\n NOT CONTROL.\n\n\n This file creates a global JSON object containing two methods: stringify\n and parse.\n\n JSON.stringify(value, replacer, space)\n value any JavaScript value, usually an object or array.\n\n replacer an optional parameter that determines how object\n values are stringified for objects. It can be a\n function or an array of strings.\n\n space an optional parameter that specifies the indentation\n of nested structures. If it is omitted, the text will\n be packed without extra whitespace. If it is a number,\n it will specify the number of spaces to indent at each\n level. If it is a string (such as '\\t' or ' '),\n it contains the characters used to indent at each level.\n\n This method produces a JSON text from a JavaScript value.\n\n When an object value is found, if the object contains a toJSON\n method, its toJSON method will be called and the result will be\n stringified. A toJSON method does not serialize: it returns the\n value represented by the name/value pair that should be serialized,\n or undefined if nothing should be serialized. The toJSON method\n will be passed the key associated with the value, and this will be\n bound to the value\n\n For example, this would serialize Dates as ISO strings.\n\n Date.prototype.toJSON = function (key) {\n function f(n) {\n // Format integers to have at least two digits.\n return n < 10 ? '0' + n : n;\n }\n\n return this.getUTCFullYear() + '-' +\n f(this.getUTCMonth() + 1) + '-' +\n f(this.getUTCDate()) + 'T' +\n f(this.getUTCHours()) + ':' +\n f(this.getUTCMinutes()) + ':' +\n f(this.getUTCSeconds()) + 'Z';\n };\n\n You can provide an optional replacer method. It will be passed the\n key and value of each member, with this bound to the containing\n object. The value that is returned from your method will be\n serialized. If your method returns undefined, then the member will\n be excluded from the serialization.\n\n If the replacer parameter is an array of strings, then it will be\n used to select the members to be serialized. It filters the results\n such that only members with keys listed in the replacer array are\n stringified.\n\n Values that do not have JSON representations, such as undefined or\n functions, will not be serialized. Such values in objects will be\n dropped; in arrays they will be replaced with null. You can use\n a replacer function to replace those with JSON values.\n JSON.stringify(undefined) returns undefined.\n\n The optional space parameter produces a stringification of the\n value that is filled with line breaks and indentation to make it\n easier to read.\n\n If the space parameter is a non-empty string, then that string will\n be used for indentation. If the space parameter is a number, then\n the indentation will be that many spaces.\n\n Example:\n\n text = JSON.stringify(['e', {pluribus: 'unum'}]);\n // text is '[\"e\",{\"pluribus\":\"unum\"}]'\n\n\n text = JSON.stringify(['e', {pluribus: 'unum'}], null, '\\t');\n // text is '[\\n\\t\"e\",\\n\\t{\\n\\t\\t\"pluribus\": \"unum\"\\n\\t}\\n]'\n\n text = JSON.stringify([new Date()], function (key, value) {\n return this[key] instanceof Date ?\n 'Date(' + this[key] + ')' : value;\n });\n // text is '[\"Date(---current time---)\"]'\n\n\n JSON.parse(text, reviver)\n This method parses a JSON text to produce an object or array.\n It can throw a SyntaxError exception.\n\n The optional reviver parameter is a function that can filter and\n transform the results. It receives each of the keys and values,\n and its return value is used instead of the original value.\n If it returns what it received, then the structure is not modified.\n If it returns undefined then the member is deleted.\n\n Example:\n\n // Parse the text. Values that look like ISO date strings will\n // be converted to Date objects.\n\n myData = JSON.parse(text, function (key, value) {\n var a;\n if (typeof value === 'string') {\n a =\n/^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2}(?:\\.\\d*)?)Z$/.exec(value);\n if (a) {\n return new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4],\n +a[5], +a[6]));\n }\n }\n return value;\n });\n\n myData = JSON.parse('[\"Date(09/09/2001)\"]', function (key, value) {\n var d;\n if (typeof value === 'string' &&\n value.slice(0, 5) === 'Date(' &&\n value.slice(-1) === ')') {\n d = new Date(value.slice(5, -1));\n if (d) {\n return d;\n }\n }\n return value;\n });\n\n\n This is a reference implementation. You are free to copy, modify, or\n redistribute.\n*/\n\n/*jslint evil: true, strict: false, regexp: false */\n\n/*members \"\", \"\\b\", \"\\t\", \"\\n\", \"\\f\", \"\\r\", \"\\\"\", JSON, \"\\\\\", apply,\n call, charCodeAt, getUTCDate, getUTCFullYear, getUTCHours,\n getUTCMinutes, getUTCMonth, getUTCSeconds, hasOwnProperty, join,\n lastIndex, length, parse, prototype, push, replace, slice, stringify,\n test, toJSON, toString, valueOf\n*/\n\n\n// Create a JSON object only if one does not already exist. We create the\n// methods in a closure to avoid creating global variables.\n\nvar JSON;\nif (!JSON) {\n JSON = {};\n}\n\n(function () {\n \"use strict\";\n\n var global = Function('return this')()\n , JSON = global.JSON\n ;\n\n if (!JSON) {\n JSON = {};\n }\n\n function f(n) {\n // Format integers to have at least two digits.\n return n < 10 ? '0' + n : n;\n }\n\n if (typeof Date.prototype.toJSON !== 'function') {\n\n Date.prototype.toJSON = function (key) {\n\n return isFinite(this.valueOf()) ?\n this.getUTCFullYear() + '-' +\n f(this.getUTCMonth() + 1) + '-' +\n f(this.getUTCDate()) + 'T' +\n f(this.getUTCHours()) + ':' +\n f(this.getUTCMinutes()) + ':' +\n f(this.getUTCSeconds()) + 'Z' : null;\n };\n\n String.prototype.toJSON =\n Number.prototype.toJSON =\n Boolean.prototype.toJSON = function (key) {\n return this.valueOf();\n };\n }\n\n var cx = /[\\u0000\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g,\n escapable = /[\\\\\\\"\\x00-\\x1f\\x7f-\\x9f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g,\n gap,\n indent,\n meta = { // table of character substitutions\n '\\b': '\\\\b',\n '\\t': '\\\\t',\n '\\n': '\\\\n',\n '\\f': '\\\\f',\n '\\r': '\\\\r',\n '\"' : '\\\\\"',\n '\\\\': '\\\\\\\\'\n },\n rep;\n\n\n function quote(string) {\n\n// If the string contains no control characters, no quote characters, and no\n// backslash characters, then we can safely slap some quotes around it.\n// Otherwise we must also replace the offending characters with safe escape\n// sequences.\n\n escapable.lastIndex = 0;\n return escapable.test(string) ? '\"' + string.replace(escapable, function (a) {\n var c = meta[a];\n return typeof c === 'string' ? c :\n '\\\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);\n }) + '\"' : '\"' + string + '\"';\n }\n\n\n function str(key, holder) {\n\n// Produce a string from holder[key].\n\n var i, // The loop counter.\n k, // The member key.\n v, // The member value.\n length,\n mind = gap,\n partial,\n value = holder[key];\n\n// If the value has a toJSON method, call it to obtain a replacement value.\n\n if (value && typeof value === 'object' &&\n typeof value.toJSON === 'function') {\n value = value.toJSON(key);\n }\n\n// If we were called with a replacer function, then call the replacer to\n// obtain a replacement value.\n\n if (typeof rep === 'function') {\n value = rep.call(holder, key, value);\n }\n\n// What happens next depends on the value's type.\n\n switch (typeof value) {\n case 'string':\n return quote(value);\n\n case 'number':\n\n// JSON numbers must be finite. Encode non-finite numbers as null.\n\n return isFinite(value) ? String(value) : 'null';\n\n case 'boolean':\n case 'null':\n\n// If the value is a boolean or null, convert it to a string. Note:\n// typeof null does not produce 'null'. The case is included here in\n// the remote chance that this gets fixed someday.\n\n return String(value);\n\n// If the type is 'object', we might be dealing with an object or an array or\n// null.\n\n case 'object':\n\n// Due to a specification blunder in ECMAScript, typeof null is 'object',\n// so watch out for that case.\n\n if (!value) {\n return 'null';\n }\n\n// Make an array to hold the partial results of stringifying this object value.\n\n gap += indent;\n partial = [];\n\n// Is the value an array?\n\n if (Object.prototype.toString.apply(value) === '[object Array]') {\n\n// The value is an array. Stringify every element. Use null as a placeholder\n// for non-JSON values.\n\n length = value.length;\n for (i = 0; i < length; i += 1) {\n partial[i] = str(i, value) || 'null';\n }\n\n// Join all of the elements together, separated with commas, and wrap them in\n// brackets.\n\n v = partial.length === 0 ? '[]' : gap ?\n '[\\n' + gap + partial.join(',\\n' + gap) + '\\n' + mind + ']' :\n '[' + partial.join(',') + ']';\n gap = mind;\n return v;\n }\n\n// If the replacer is an array, use it to select the members to be stringified.\n\n if (rep && typeof rep === 'object') {\n length = rep.length;\n for (i = 0; i < length; i += 1) {\n if (typeof rep[i] === 'string') {\n k = rep[i];\n v = str(k, value);\n if (v) {\n partial.push(quote(k) + (gap ? ': ' : ':') + v);\n }\n }\n }\n } else {\n\n// Otherwise, iterate through all of the keys in the object.\n\n for (k in value) {\n if (Object.prototype.hasOwnProperty.call(value, k)) {\n v = str(k, value);\n if (v) {\n partial.push(quote(k) + (gap ? ': ' : ':') + v);\n }\n }\n }\n }\n\n// Join all of the member texts together, separated with commas,\n// and wrap them in braces.\n\n v = partial.length === 0 ? '{}' : gap ?\n '{\\n' + gap + partial.join(',\\n' + gap) + '\\n' + mind + '}' :\n '{' + partial.join(',') + '}';\n gap = mind;\n return v;\n }\n }\n\n// If the JSON object does not yet have a stringify method, give it one.\n\n if (typeof JSON.stringify !== 'function') {\n JSON.stringify = function (value, replacer, space) {\n\n// The stringify method takes a value and an optional replacer, and an optional\n// space parameter, and returns a JSON text. The replacer can be a function\n// that can replace values, or an array of strings that will select the keys.\n// A default replacer method can be provided. Use of the space parameter can\n// produce text that is more easily readable.\n\n var i;\n gap = '';\n indent = '';\n\n// If the space parameter is a number, make an indent string containing that\n// many spaces.\n\n if (typeof space === 'number') {\n for (i = 0; i < space; i += 1) {\n indent += ' ';\n }\n\n// If the space parameter is a string, it will be used as the indent string.\n\n } else if (typeof space === 'string') {\n indent = space;\n }\n\n// If there is a replacer, it must be a function or an array.\n// Otherwise, throw an error.\n\n rep = replacer;\n if (replacer && typeof replacer !== 'function' &&\n (typeof replacer !== 'object' ||\n typeof replacer.length !== 'number')) {\n throw new Error('JSON.stringify');\n }\n\n// Make a fake root object containing our value under the key of ''.\n// Return the result of stringifying the value.\n\n return str('', {'': value});\n };\n }\n\n\n// If the JSON object does not yet have a parse method, give it one.\n\n if (typeof JSON.parse !== 'function') {\n JSON.parse = function (text, reviver) {\n\n// The parse method takes a text and an optional reviver function, and returns\n// a JavaScript value if the text is a valid JSON text.\n\n var j;\n\n function walk(holder, key) {\n\n// The walk method is used to recursively walk the resulting structure so\n// that modifications can be made.\n\n var k, v, value = holder[key];\n if (value && typeof value === 'object') {\n for (k in value) {\n if (Object.prototype.hasOwnProperty.call(value, k)) {\n v = walk(value, k);\n if (v !== undefined) {\n value[k] = v;\n } else {\n delete value[k];\n }\n }\n }\n }\n return reviver.call(holder, key, value);\n }\n\n\n// Parsing happens in four stages. In the first stage, we replace certain\n// Unicode characters with escape sequences. JavaScript handles many characters\n// incorrectly, either silently deleting them, or treating them as line endings.\n\n text = String(text);\n cx.lastIndex = 0;\n if (cx.test(text)) {\n text = text.replace(cx, function (a) {\n return '\\\\u' +\n ('0000' + a.charCodeAt(0).toString(16)).slice(-4);\n });\n }\n\n// In the second stage, we run the text against regular expressions that look\n// for non-JSON patterns. We are especially concerned with '()' and 'new'\n// because they can cause invocation, and '=' because it can cause mutation.\n// But just to be safe, we want to reject all unexpected forms.\n\n// We split the second stage into 4 regexp operations in order to work around\n// crippling inefficiencies in IE's and Safari's regexp engines. First we\n// replace the JSON backslash pairs with '@' (a non-JSON character). Second, we\n// replace all simple value tokens with ']' characters. Third, we delete all\n// open brackets that follow a colon or comma or that begin the text. Finally,\n// we look to see that the remaining characters are only whitespace or ']' or\n// ',' or ':' or '{' or '}'. If that is so, then the text is safe for eval.\n\n if (/^[\\],:{}\\s]*$/\n .test(text.replace(/\\\\(?:[\"\\\\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@')\n .replace(/\"[^\"\\\\\\n\\r]*\"|true|false|null|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g, ']')\n .replace(/(?:^|:|,)(?:\\s*\\[)+/g, ''))) {\n\n// In the third stage we use the eval function to compile the text into a\n// JavaScript structure. The '{' operator is subject to a syntactic ambiguity\n// in JavaScript: it can begin a block or an object literal. We wrap the text\n// in parens to eliminate the ambiguity.\n\n j = eval('(' + text + ')');\n\n// In the optional fourth stage, we recursively walk the new structure, passing\n// each name/value pair to a reviver function for possible transformation.\n\n return typeof reviver === 'function' ?\n walk({'': j}, '') : j;\n }\n\n// If the text is not JSON parseable, then a SyntaxError is thrown.\n\n throw new SyntaxError('JSON.parse');\n };\n }\n\n global.JSON = JSON;\n module.exports = JSON;\n}());\n","\r\n\r\nvar ko = require(\"knockout\");\r\nvar Browser = require(\"../Core/BrowserControl\");\r\nvar ComponentEvent = require(\"../Core/ComponentEvent\");\r\nvar HostExtensions = null;\r\n\r\nif (__IS_WEBWIZARD_ENABLED__ || __REQUIRE_WIZARD_IN_CORE__)\r\n{\r\n if (__REQUIRE_WIZARD_IN_CORE__)\r\n {\r\n HostExtensions = require(\"./WizardFooterButtonExtensions\");\r\n }\r\n else\r\n {\r\n require.ensure([],\r\n function ()\r\n {\r\n HostExtensions = require(\"./WizardFooterButtonExtensions\");\r\n },\r\n \"Wizard\");\r\n }\r\n}\r\nelse if (__IS_INCLUSIVE_OOBE__)\r\n{\r\n HostExtensions = require(\"./Win10InclusiveOOBEFooterButtonExtensions\");\r\n}\r\nelse if (__IS_XBOX__)\r\n{\r\n HostExtensions = require(\"./XboxFooterButtonExtensions\");\r\n}\r\n\r\nvar w = window;\r\n\r\n\r\n\r\nfunction FooterButtonsViewModel(params)\r\n{\r\n params = params || {};\r\n\r\n var _this = this;\r\n\r\n var _serverData = params.serverData;\r\n var _primaryButtonId;\r\n var _primaryButtonName;\r\n var _originalPrimaryButtonId = params.primaryButtonId;\r\n var _fConsentButtonIdViaName = _serverData.fConsentButtonIdViaName;\r\n var _needsIdNameProtection = !!(_fConsentButtonIdViaName && params.needsIdNameProtection);\r\n if (_fConsentButtonIdViaName)\r\n {\r\n var defaultButtonIdentifier = _originalPrimaryButtonId || \"idSIButton9\";\r\n \r\n _primaryButtonId = !_needsIdNameProtection ? defaultButtonIdentifier : undefined;\r\n _primaryButtonName = _needsIdNameProtection ? defaultButtonIdentifier : undefined;\r\n }\r\n else\r\n {\r\n _primaryButtonId = _originalPrimaryButtonId;\r\n _primaryButtonName = undefined;\r\n }\r\n var _secondaryButtonId = params.secondaryButtonId;\r\n var _primaryButtonText = params.primaryButtonText;\r\n var _secondaryButtonText = params.secondaryButtonText;\r\n var _isPrimaryButtonVisible = params.isPrimaryButtonVisible !== false; \r\n var _isSecondaryButtonVisible = params.isSecondaryButtonVisible !== false;\r\n var _isPrimaryButtonEnabled = params.isPrimaryButtonEnabled !== false;\r\n var _isSecondaryButtonEnabled = params.isSecondaryButtonEnabled !== false;\r\n var _focusOnPrimaryButton;\r\n var _focusOnSecondaryButton;\r\n if (_fConsentButtonIdViaName)\r\n {\r\n \r\n \r\n _focusOnPrimaryButton = _needsIdNameProtection ? false : (params.focusOnPrimaryButton || false); \r\n _focusOnSecondaryButton = params.focusOnSecondaryButton || (_needsIdNameProtection ? params.focusOnPrimaryButton : false);\r\n }\r\n else\r\n {\r\n _focusOnPrimaryButton = params.focusOnPrimaryButton || false; \r\n _focusOnSecondaryButton = params.focusOnSecondaryButton || false;\r\n }\r\n var _primaryButtonDescribedBy = params.primaryButtonDescribedBy;\r\n var _secondaryButtonDescribedBy = params.secondaryButtonDescribedBy;\r\n var _primaryButtonCss = params.primaryButtonCss;\r\n var _secondaryButtonCss = params.secondaryButtonCss;\r\n var _primaryButtonType = params.primaryButtonType || \"submit\";\r\n var _removeBottomMargin = params.removeBottomMargin;\r\n var _primaryButtonPreventTabbing = params.primaryButtonPreventTabbing || { direction: \"none\" };\r\n\r\n \r\n \r\n \r\n _this.primaryButtonId = _primaryButtonId;\r\n \r\n _this.secondaryButtonId = _secondaryButtonId;\r\n\r\n _this.primaryButtonCss = _primaryButtonCss;\r\n _this.secondaryButtonCss = _secondaryButtonCss;\r\n\r\n _this.primaryButtonText = ko.observable(_primaryButtonText);\r\n _this.secondaryButtonText = ko.observable(_secondaryButtonText);\r\n\r\n _this.isPrimaryButtonVisible = ko.observable(_isPrimaryButtonVisible);\r\n _this.isSecondaryButtonVisible = ko.observable(_isSecondaryButtonVisible);\r\n\r\n _this.isPrimaryButtonEnabled = ko.observable(_isPrimaryButtonEnabled);\r\n _this.isSecondaryButtonEnabled = ko.observable(_isSecondaryButtonEnabled);\r\n\r\n _this.focusOnPrimaryButton = ko.observable(_focusOnPrimaryButton);\r\n _this.focusOnSecondaryButton = ko.observable(_focusOnSecondaryButton);\r\n\r\n _this.hasOneButtonVisible = ko.pureComputed(\r\n function ()\r\n {\r\n var visibleButtons = 0;\r\n\r\n if (_this.isPrimaryButtonVisible())\r\n {\r\n visibleButtons++;\r\n }\r\n\r\n if (_this.isSecondaryButtonVisible())\r\n {\r\n visibleButtons++;\r\n }\r\n\r\n return visibleButtons === 1;\r\n });\r\n\r\n \r\n \r\n _this.primaryButtonDescribedBy = _primaryButtonDescribedBy;\r\n _this.secondaryButtonDescribedBy = _secondaryButtonDescribedBy;\r\n\r\n _this.removeBottomMargin = _removeBottomMargin;\r\n _this.primaryButtonPreventTabbing = _primaryButtonPreventTabbing;\r\n\r\n _this.primaryButtonAttributes = ko.pureComputed(\r\n function ()\r\n {\r\n var buttonAttributes;\r\n if (_fConsentButtonIdViaName)\r\n {\r\n buttonAttributes = {\r\n \"id\": _primaryButtonId,\r\n \"name\": _primaryButtonName,\r\n \"aria-describedby\": _primaryButtonDescribedBy\r\n };\r\n }\r\n else\r\n {\r\n buttonAttributes = {\r\n \"id\": _this.primaryButtonId || \"idSIButton9\",\r\n \"aria-describedby\": _this.primaryButtonDescribedBy\r\n };\r\n }\r\n\r\n if (Browser.Helper.isChangingInputTypeSupported())\r\n {\r\n buttonAttributes.type = _primaryButtonType;\r\n }\r\n\r\n return buttonAttributes;\r\n });\r\n\r\n \r\n _this.onPrimaryButtonClick = ComponentEvent.create();\r\n _this.onSecondaryButtonClick = ComponentEvent.create();\r\n\r\n \r\n _this.setTextPrimaryButton = function (text)\r\n {\r\n _this.primaryButtonText(text);\r\n };\r\n\r\n _this.setTextSecondaryButton = function (text)\r\n {\r\n _this.secondaryButtonText(text);\r\n };\r\n\r\n _this.setVisibilityPrimaryButton = function (isButtonVisible)\r\n {\r\n _this.isPrimaryButtonVisible(isButtonVisible);\r\n };\r\n\r\n _this.setVisibilitySecondaryButton = function (isButtonVisible)\r\n {\r\n _this.isSecondaryButtonVisible(isButtonVisible);\r\n };\r\n\r\n _this.setEnabledPrimaryButton = function (isButtonEnabled)\r\n {\r\n _this.isPrimaryButtonEnabled(isButtonEnabled);\r\n };\r\n\r\n _this.setEnabledSecondaryButton = function (isButtonEnabled)\r\n {\r\n _this.isSecondaryButtonEnabled(isButtonEnabled);\r\n };\r\n\r\n _this.primaryButton_onClick = function ()\r\n {\r\n _this.onPrimaryButtonClick();\r\n };\r\n\r\n _this.secondaryButton_onClick = function ()\r\n {\r\n _this.onSecondaryButtonClick();\r\n };\r\n\r\n (function initialize()\r\n {\r\n if (HostExtensions && HostExtensions.initialize)\r\n {\r\n HostExtensions.initialize(_this, _serverData, params);\r\n }\r\n })();\r\n}\r\n\r\nko.components.register(\"footer-buttons-field\",\r\n {\r\n viewModel: FooterButtonsViewModel,\r\n template: require(\"html/LoginPage/Fields/FooterButtons/FooterButtonsFieldHtml.html\"),\r\n synchronous: !w.ServerData.A || Browser.Helper.isStackSizeGreaterThan(w.ServerData.A),\r\n enableExtensions: true\r\n });\r\n\r\nmodule.exports = FooterButtonsViewModel;","\r\n\r\nvar ko = require(\"knockout\");\r\nvar Helpers = require(\"./Helpers\");\r\nvar Browser = require(\"./BrowserControl\");\r\nvar Constants = require(\"../Core/Constants\");\r\nvar PromiseHelpers = require(\"../Core/PromiseHelpers\");\r\n\r\nvar requireDefaultBackgroundImage = require.context(\"images/Backgrounds\", false, /^.+?\\.jpg|svg$/);\r\nvar requireAppBackgroundImage = require.context(\"images/AppBackgrounds\", false, /^.+?\\.jpg$/);\r\nvar requireAppBackgroundLogo = require.context(\"images/AppLogos\", false, /^.+?\\.png$/);\r\n\r\nvar w = window;\r\nvar BrowserHelper = Browser.Helper;\r\nvar StringHelpers = Helpers.String;\r\nvar ObjectHelpers = Helpers.Object;\r\nvar LayoutTemplateType = Constants.LayoutTemplateType;\r\nvar Branding = Constants.Branding;\r\n\r\nvar useNonMicrosoftDefaultBrandingForCiam = w.ServerData.Ab;\r\nvar isCiamUserFlowUx = w.ServerData.fIsCiamUserFlowUx;\r\nvar fixCustomCssRemoval = w.ServerData.fRemoveCustomCss;\r\nvar enableLivePreview = w.ServerData.fEnableLivePreview;\r\n\r\nvar BrandingHelpers =\r\n{\r\n loadTenantBranding: function (brandingToUse)\r\n {\r\n var brandingObject = {};\r\n\r\n if (brandingToUse)\r\n {\r\n var brandingProperties =\r\n [\r\n \"BoilerPlateText\",\r\n \"UserIdLabel\",\r\n \"TileLogo\",\r\n \"TileDarkLogo\",\r\n \"BannerLogo\",\r\n \"BackgroundColor\",\r\n \"Illustration\",\r\n \"KeepMeSignedInDisabled\",\r\n \"UseTransparentLightBox\",\r\n \"LayoutTemplateConfig\",\r\n \"CustomizationFiles\",\r\n \"AccessRecoveryLink\",\r\n \"CantAccessYourAccountText\",\r\n \"ForgotPasswordText\",\r\n \"FooterTOULink\",\r\n \"FooterTOUText\",\r\n \"FooterPrivacyLink\",\r\n \"FooterPrivacyText\",\r\n \"Favicon\"\r\n ];\r\n\r\n \r\n \r\n var fallbackBranding = brandingToUse[0] || {};\r\n var preferredBranding = brandingToUse[1] || {};\r\n\r\n \r\n ko.utils.arrayForEach(\r\n brandingProperties,\r\n function (brandingProperty)\r\n {\r\n if (brandingProperty === \"LayoutTemplateConfig\" || brandingProperty === \"CustomizationFiles\")\r\n {\r\n var currentPreferredBranding = preferredBranding[brandingProperty];\r\n var currentFallbackBranding = fallbackBranding[brandingProperty];\r\n\r\n \r\n \r\n brandingObject[brandingProperty] = ObjectHelpers.assignRecursive({}, currentFallbackBranding, currentPreferredBranding);\r\n }\r\n else\r\n {\r\n \r\n brandingObject[brandingProperty] = preferredBranding[brandingProperty] || fallbackBranding[brandingProperty] || \"\";\r\n }\r\n }\r\n );\r\n\r\n \r\n if (!brandingObject.TileDarkLogo)\r\n {\r\n brandingObject.TileDarkLogo = brandingObject.TileLogo;\r\n }\r\n }\r\n\r\n return brandingObject;\r\n },\r\n\r\n getPageBranding: function (tenantBranding, appBranding, defaultImage)\r\n {\r\n var branding = { useDefaultBackground: false };\r\n\r\n if (tenantBranding)\r\n {\r\n branding.bannerLogoUrl = tenantBranding.BannerLogo;\r\n }\r\n\r\n if (tenantBranding && (tenantBranding.BackgroundColor || tenantBranding.Illustration))\r\n {\r\n \r\n branding.color = tenantBranding.BackgroundColor;\r\n branding.backgroundImageUrl = tenantBranding.Illustration;\r\n branding.useTransparentLightBox = tenantBranding.UseTransparentLightBox;\r\n\r\n if (useNonMicrosoftDefaultBrandingForCiam)\r\n {\r\n branding.useImageMask = !isCiamUserFlowUx;\r\n }\r\n else\r\n {\r\n branding.useImageMask = true;\r\n }\r\n }\r\n else if (appBranding\r\n && (appBranding.backgroundImageIndex >= 0 || appBranding.backgroundLogoIndex >= 0 || appBranding.backgroundColor || appBranding.friendlyAppName))\r\n {\r\n \r\n if (appBranding.backgroundImageIndex >= 0)\r\n {\r\n branding.backgroundImageUrl = requireAppBackgroundImage(StringHelpers.format(\"./{0}.jpg\", appBranding.backgroundImageIndex));\r\n\r\n if (BrowserHelper.isStyleSupported(\"backgroundSize\"))\r\n {\r\n \r\n branding.smallImageUrl = requireAppBackgroundImage(StringHelpers.format(\"./{0}-small.jpg\", appBranding.backgroundImageIndex));\r\n }\r\n }\r\n\r\n if (appBranding.backgroundLogoIndex >= 0)\r\n {\r\n branding.backgroundLogoUrl = requireAppBackgroundLogo(StringHelpers.format(\"./{0}.png\", appBranding.backgroundLogoIndex));\r\n }\r\n\r\n branding.color = appBranding.backgroundColor;\r\n branding.friendlyAppName = appBranding.friendlyAppName;\r\n }\r\n else if (appBranding && appBranding.urlLegacyBackgroundLogo)\r\n {\r\n \r\n \r\n branding.backgroundLogoUrl = appBranding.urlLegacyBackgroundLogo;\r\n }\r\n else if (useNonMicrosoftDefaultBrandingForCiam && isCiamUserFlowUx)\r\n {\r\n branding.color = Branding.DefaultBackgroundColor;\r\n }\r\n else if (defaultImage >= 0)\r\n {\r\n var useSvg = BrowserHelper.isSvgImgSupported();\r\n\r\n branding.backgroundImageUrl = requireDefaultBackgroundImage(\r\n StringHelpers.format(\r\n \"./{0}.{1}\",\r\n defaultImage,\r\n useSvg ? \"svg\" : \"jpg\"));\r\n\r\n if (!useSvg && BrowserHelper.isStyleSupported(\"backgroundSize\"))\r\n {\r\n \r\n branding.smallImageUrl = requireDefaultBackgroundImage(StringHelpers.format(\"./{0}-small.jpg\", defaultImage));\r\n }\r\n\r\n branding.useDefaultBackground = true;\r\n }\r\n\r\n return branding;\r\n },\r\n\r\n getMergedBranding: function (staticTenantBranding, dynamicTenantBranding, isGlobalTenant, fallbackToResourceBranding)\r\n {\r\n var mergedBranding;\r\n\r\n if (isGlobalTenant)\r\n {\r\n \r\n mergedBranding = dynamicTenantBranding;\r\n }\r\n else\r\n {\r\n \r\n \r\n \r\n \r\n mergedBranding = staticTenantBranding;\r\n\r\n dynamicTenantBranding = dynamicTenantBranding || {};\r\n\r\n if (fallbackToResourceBranding)\r\n {\r\n if (dynamicTenantBranding.BannerLogo)\r\n {\r\n mergedBranding.BannerLogo = dynamicTenantBranding.BannerLogo;\r\n }\r\n\r\n if (dynamicTenantBranding.BoilerPlateText)\r\n {\r\n mergedBranding.BoilerPlateText = dynamicTenantBranding.BoilerPlateText;\r\n }\r\n\r\n if (dynamicTenantBranding.KeepMeSignedInDisabled)\r\n {\r\n mergedBranding.KeepMeSignedInDisabled = dynamicTenantBranding.KeepMeSignedInDisabled;\r\n }\r\n\r\n if (dynamicTenantBranding.AccessRecoveryLink)\r\n {\r\n mergedBranding.AccessRecoveryLink = dynamicTenantBranding.AccessRecoveryLink;\r\n }\r\n\r\n if (dynamicTenantBranding.CantAccessYourAccountText)\r\n {\r\n mergedBranding.CantAccessYourAccountText = dynamicTenantBranding.CantAccessYourAccountText;\r\n }\r\n\r\n if (dynamicTenantBranding.ForgotPasswordText)\r\n {\r\n mergedBranding.ForgotPasswordText = dynamicTenantBranding.ForgotPasswordText;\r\n }\r\n }\r\n else\r\n {\r\n mergedBranding.BannerLogo = dynamicTenantBranding.BannerLogo || \"\";\r\n mergedBranding.BoilerPlateText = dynamicTenantBranding.BoilerPlateText || \"\";\r\n mergedBranding.KeepMeSignedInDisabled = dynamicTenantBranding.KeepMeSignedInDisabled || false;\r\n mergedBranding.AccessRecoveryLink = dynamicTenantBranding.AccessRecoveryLink || \"\";\r\n mergedBranding.CantAccessYourAccountText = dynamicTenantBranding.CantAccessYourAccountText || \"\";\r\n mergedBranding.ForgotPasswordText = dynamicTenantBranding.ForgotPasswordText || \"\";\r\n }\r\n\r\n var hideAccountResetCredentials = false;\r\n if (dynamicTenantBranding.LayoutTemplateConfig)\r\n {\r\n hideAccountResetCredentials = dynamicTenantBranding.LayoutTemplateConfig.hideAccountResetCredentials;\r\n }\r\n\r\n mergedBranding.LayoutTemplateConfig = mergedBranding.LayoutTemplateConfig || BrandingHelpers.getLayoutTemplateConfig({});\r\n mergedBranding.LayoutTemplateConfig.hideAccountResetCredentials = hideAccountResetCredentials;\r\n\r\n mergedBranding.CustomizationFiles = mergedBranding.CustomizationFiles || {};\r\n if (dynamicTenantBranding.CustomizationFiles)\r\n {\r\n \r\n var newCustomizationFiles =\r\n {\r\n strings: dynamicTenantBranding.CustomizationFiles.strings,\r\n customCssUrl: dynamicTenantBranding.CustomizationFiles.customCssUrl\r\n };\r\n\r\n \r\n \r\n if (mergedBranding.CustomizationFiles.customCssUrl !== newCustomizationFiles.customCssUrl)\r\n {\r\n newCustomizationFiles.customCssUrl = null;\r\n }\r\n\r\n mergedBranding.CustomizationFiles = newCustomizationFiles;\r\n }\r\n }\r\n\r\n return mergedBranding;\r\n },\r\n\r\n getLayoutTemplateConfig: function (tenantBranding)\r\n {\r\n var layoutTemplateConfig = tenantBranding.LayoutTemplateConfig;\r\n\r\n if (!layoutTemplateConfig || layoutTemplateConfig === {})\r\n {\r\n layoutTemplateConfig = {\r\n showHeader: false,\r\n headerLogo: \"\",\r\n layoutType: LayoutTemplateType.Lightbox,\r\n showFooter: true,\r\n hideTOU: false,\r\n hidePrivacy: false,\r\n hideAccountResetCredentials: false\r\n };\r\n\r\n if (useNonMicrosoftDefaultBrandingForCiam && isCiamUserFlowUx)\r\n {\r\n layoutTemplateConfig.showFooter = false;\r\n }\r\n }\r\n\r\n return layoutTemplateConfig;\r\n },\r\n\r\n createMergedBrandingObservables: function (viewModel)\r\n {\r\n viewModel.masterPageMethods = ko.observable();\r\n viewModel.isVerticalSplitTemplate = ko.observable();\r\n viewModel.showHeader = ko.observable(false);\r\n viewModel.headerLogo = ko.observable();\r\n viewModel.showFooter = ko.observable(true);\r\n viewModel.hideTOU = ko.observable(false);\r\n viewModel.hidePrivacy = ko.observable(false);\r\n viewModel.termsText = ko.observable();\r\n viewModel.termsLink = ko.observable();\r\n viewModel.privacyText = ko.observable();\r\n viewModel.privacyLink = ko.observable();\r\n viewModel.userIdLabel = ko.observable();\r\n viewModel.cantAccessYourAccountText = ko.observable();\r\n viewModel.forgotPasswordText = ko.observable();\r\n viewModel.accessRecoveryLink = ko.observable();\r\n viewModel.boilerPlateText = ko.observable();\r\n viewModel.hideAccountResetCredentials = ko.observable(false);\r\n },\r\n\r\n updateMergedBrandingObservables: function (viewModel, mergedBranding)\r\n {\r\n if ((__LAYOUT_TEMPLATES_ENABLED__ || __LAYOUT_TEMPLATES_ROLLOUT__) && mergedBranding)\r\n {\r\n var layoutTemplateConfig = BrandingHelpers.getLayoutTemplateConfig(mergedBranding);\r\n if (viewModel.masterPageMethods())\r\n {\r\n viewModel.masterPageMethods().updateBranding(mergedBranding);\r\n }\r\n\r\n viewModel.isVerticalSplitTemplate(layoutTemplateConfig.layoutType === LayoutTemplateType.VerticalSplit);\r\n viewModel.showHeader(layoutTemplateConfig.showHeader);\r\n viewModel.headerLogo(layoutTemplateConfig.headerLogo);\r\n viewModel.showFooter(layoutTemplateConfig.showFooter);\r\n viewModel.hideTOU(layoutTemplateConfig.hideTOU);\r\n viewModel.hidePrivacy(layoutTemplateConfig.hidePrivacy);\r\n viewModel.termsText(mergedBranding.FooterTOUText);\r\n viewModel.termsLink(mergedBranding.FooterTOULink);\r\n viewModel.privacyText(mergedBranding.FooterPrivacyText);\r\n viewModel.privacyLink(mergedBranding.FooterPrivacyLink);\r\n if (enableLivePreview)\r\n {\r\n viewModel.hideAccountResetCredentials(layoutTemplateConfig.hideAccountResetCredentials);\r\n viewModel.userIdLabel(mergedBranding.UserIdLabel);\r\n viewModel.cantAccessYourAccountText(mergedBranding.CantAccessYourAccountText);\r\n viewModel.forgotPasswordText(mergedBranding.ForgotPasswordText);\r\n viewModel.accessRecoveryLink(mergedBranding.AccessRecoveryLink);\r\n viewModel.boilerPlateText(mergedBranding.BoilerPlateText);\r\n }\r\n }\r\n },\r\n\r\n updateFavicon: function (tenantBranding, defaultFaviconUrl)\r\n {\r\n var favicon = document.querySelector(\"link[rel~='icon']\");\r\n\r\n if (favicon)\r\n {\r\n if (tenantBranding && tenantBranding.Favicon)\r\n {\r\n favicon.href = tenantBranding.Favicon;\r\n }\r\n else if (defaultFaviconUrl)\r\n {\r\n favicon.href = defaultFaviconUrl;\r\n }\r\n }\r\n },\r\n\r\n removeCustomCss: function ()\r\n {\r\n var customCssNode = document.head.querySelector(\"#customCssStyle\");\r\n if (customCssNode)\r\n {\r\n document.head.removeChild(customCssNode);\r\n }\r\n },\r\n\r\n loadCustomizationFiles: function (tenantBranding, customizationLoader)\r\n {\r\n if (fixCustomCssRemoval && (!customizationLoader || !tenantBranding || !tenantBranding.CustomizationFiles || !tenantBranding.CustomizationFiles.customCssUrl))\r\n {\r\n BrandingHelpers.removeCustomCss();\r\n }\r\n\r\n if (!customizationLoader)\r\n {\r\n return;\r\n }\r\n\r\n if (!tenantBranding || !tenantBranding.CustomizationFiles)\r\n {\r\n customizationLoader.isLoadComplete(true);\r\n customizationLoader.strings.isLoadComplete(true);\r\n return;\r\n }\r\n\r\n var customizationFiles = tenantBranding.CustomizationFiles;\r\n var customCssUrl = customizationFiles.customCssUrl;\r\n var customStringsFiles = customizationFiles.strings;\r\n\r\n if (customStringsFiles || customCssUrl)\r\n {\r\n customizationLoader.initialize();\r\n\r\n var customResourceUrls =\r\n {\r\n customStringsFiles: customStringsFiles,\r\n customCss: customCssUrl\r\n };\r\n\r\n PromiseHelpers.throwUnhandledExceptionOnRejection(customizationLoader.load(customResourceUrls));\r\n }\r\n else\r\n {\r\n customizationLoader.isLoadComplete(true);\r\n customizationLoader.strings.isLoadComplete(true);\r\n }\r\n },\r\n\r\n createCustomizationLoader: function (serverData, mergedBranding, customizationLoaderObservable, pageId)\r\n {\r\n require.ensure([],\r\n function ()\r\n {\r\n var CustomizationLoader = require(\"./CustomizationLoader\");\r\n var customizationFilesLoader = new CustomizationLoader({ serverData: serverData, pageId: pageId });\r\n\r\n if (customizationLoaderObservable)\r\n {\r\n customizationLoaderObservable(customizationFilesLoader);\r\n BrandingHelpers.loadCustomizationFiles(mergedBranding, customizationLoaderObservable());\r\n }\r\n else\r\n {\r\n BrandingHelpers.loadCustomizationFiles(mergedBranding, customizationFilesLoader);\r\n }\r\n },\r\n \"CustomizationLoader\");\r\n }\r\n};\r\n\r\nmodule.exports = BrandingHelpers;","var ko = require(\"knockout\");\r\nvar Browser = require(\"./BrowserControl\");\r\n\r\nvar w = window;\r\nvar BrowserHelper = Browser.Helper;\r\n\r\nfunction MarchingAntsControl()\r\n{\r\n var _this = this;\r\n\r\n _this.useCssAnimation = false;\r\n\r\n (function _initialize()\r\n {\r\n if (BrowserHelper.isCSSAnimationSupported() && !BrowserHelper.isHighContrast())\r\n {\r\n _this.useCssAnimation = true;\r\n }\r\n })();\r\n}\r\n\r\nko.components.register(\"marching-ants-control\",\r\n {\r\n viewModel: MarchingAntsControl,\r\n template: require(\"html/Shared/Controls/MarchingAntsControlHtml.html\"),\r\n synchronous: !w.ServerData.A || Browser.Helper.isStackSizeGreaterThan(w.ServerData.A)\r\n });\r\n\r\nmodule.exports = MarchingAntsControl;","var Ajax = require(\"./AjaxHandlerControl\");\r\nvar Browser = require(\"./BrowserControl\");\r\n\r\nvar AjaxHelpers = Ajax.Helper;\r\nvar QueryStringHelpers = Browser.QueryString;\r\n\r\nvar c_timeout = 30000;\r\n\r\nvar OtcProperties = exports.Properties =\r\n{\r\n State: \"State\",\r\n SessionLookupKey: \"SessionLookupKey\",\r\n DisplaySignForUI: \"DisplaySignForUI\",\r\n FlowToken: \"FlowToken\"\r\n};\r\n\r\nvar OtcPurpose = exports.Purpose =\r\n{\r\n Password: \"eOTT_OneTimePassword\",\r\n RemoteNGC: \"eOTT_RemoteNGC\",\r\n NoPassword: \"eOTT_NoPasswordAccountLoginCode\",\r\n OtcLogin: \"eOTT_OtcLogin\",\r\n XboxRemoteConnect: \"RemoteSignInWithUserCode\"\r\n};\r\n\r\nvar OtcChannel = exports.Channel =\r\n{\r\n Authenticator: \"Authenticator\",\r\n MobileSms: \"SMS\",\r\n EmailAddress: \"Email\",\r\n VoiceCall: \"Voice\",\r\n PushNotifications: \"PushNotifications\",\r\n VerifiableCredentials: \"VerifiableCredentials\"\r\n};\r\n\r\nvar OtcType = exports.Type =\r\n{\r\n EmailAddress: \"AltEmail\",\r\n EmailAddressEncrypted: \"AltEmailE\",\r\n Mobile: \"MobileNum\",\r\n MobileEncrypted: \"MobileNumE\",\r\n SessionApprover: \"SAPId\"\r\n};\r\n\r\nexports.Event =\r\n{\r\n OnSend: \"otcsend\",\r\n OnSendFail: \"otcsendfailed\",\r\n OnFlowExpired: \"otcflowexpired\"\r\n};\r\n\r\nvar OtcRequestParam = exports.RequestParam =\r\n{\r\n Username: \"login\",\r\n Purpose: \"purpose\",\r\n FlowToken: \"flowtoken\",\r\n CanaryFlowToken: \"canaryFlowToken\",\r\n Channel: \"channel\",\r\n UIMode: \"UIMode\",\r\n PhoneCountry: \"MobileCountry\",\r\n PhoneCountryCode: \"MobileCC\",\r\n UnauthSessionId: \"uaid\",\r\n ProofConfirmation: \"ProofConfirmation\"\r\n};\r\n\r\nvar OtcStatus = exports.Status =\r\n{\r\n None: 0,\r\n Error: 200,\r\n Success: 201,\r\n HIPError: 202,\r\n FTError: 203,\r\n InputError: 204,\r\n DestinationError: 205,\r\n Timeout: 300\r\n};\r\n\r\nvar ProofTypeToChannel = exports.ProofTypeToChannel = function (type)\r\n{\r\n \r\n \r\n \r\n \r\n \r\n\r\n var value = null;\r\n switch (type)\r\n {\r\n case PROOF.Type.SMS:\r\n value = OtcChannel.MobileSms;\r\n break;\r\n case PROOF.Type.Voice:\r\n value = OtcChannel.VoiceCall;\r\n break;\r\n case PROOF.Type.Email:\r\n case PROOF.Type.AltEmail:\r\n value = OtcChannel.EmailAddress;\r\n break;\r\n case PROOF.Type.TOTPAuthenticatorV2:\r\n value = OtcChannel.PushNotifications;\r\n break;\r\n }\r\n return value;\r\n};\r\n\r\nvar ProofTypeToOtcType = exports.ProofTypeToOtcType = function (type, isEncrypted)\r\n{\r\n \r\n \r\n \r\n \r\n \r\n\r\n var value = null;\r\n switch (type)\r\n {\r\n case PROOF.Type.Voice:\r\n case PROOF.Type.SMS:\r\n value = (isEncrypted ? OtcType.MobileEncrypted : OtcType.Mobile);\r\n break;\r\n case PROOF.Type.Email:\r\n case PROOF.Type.AltEmail:\r\n value = (isEncrypted ? OtcType.EmailAddressEncrypted : OtcType.EmailAddress);\r\n break;\r\n case PROOF.Type.TOTPAuthenticatorV2:\r\n value = OtcType.SessionApprover;\r\n break;\r\n }\r\n return value;\r\n};\r\n\r\nexports.Proof = function (params)\r\n{\r\n var _this = this;\r\n\r\n var _username = params.username || \"\";\r\n var _flowToken = params.flowToken || \"\";\r\n var _purpose = params.purpose || OtcPurpose.Password;\r\n var _proofType = params.proofType;\r\n var _proofData = params.proofData || \"\";\r\n var _isEncrypted = params.isEncrypted;\r\n var _uiMode = params.uiMode;\r\n var _lcid = params.lcid;\r\n var _phoneCountry = params.phoneCountry || \"\";\r\n var _phoneCountryCode = params.phoneCountryCode || \"\";\r\n var _unauthSessionId = params.unauthSessionId;\r\n var _proofConfirmation = params.proofConfirmation;\r\n var _canaryFlowToken = params.canaryFlowToken;\r\n\r\n _this[OtcRequestParam.Username] = _username;\r\n _this[OtcRequestParam.FlowToken] = _flowToken;\r\n _this[OtcRequestParam.Purpose] = _purpose;\r\n _this[OtcRequestParam.Channel] = ProofTypeToChannel(_proofType);\r\n _this[ProofTypeToOtcType(_proofType, _isEncrypted)] = _proofData;\r\n\r\n if (_uiMode)\r\n {\r\n _this[OtcRequestParam.UIMode] = _uiMode;\r\n }\r\n\r\n if (_lcid)\r\n {\r\n _this.lcid = _lcid;\r\n }\r\n\r\n \r\n if (!_isEncrypted && (_proofType === PROOF.Type.SMS || _proofType === PROOF.Type.Voice))\r\n {\r\n _this[OtcRequestParam.PhoneCountry] = _phoneCountry;\r\n _this[OtcRequestParam.PhoneCountryCode] = _phoneCountryCode;\r\n }\r\n\r\n \r\n if (_unauthSessionId)\r\n {\r\n _this[OtcRequestParam.UnauthSessionId] = _unauthSessionId;\r\n }\r\n\r\n \r\n if (_proofConfirmation)\r\n {\r\n _this[OtcRequestParam.ProofConfirmation] = _proofConfirmation;\r\n }\r\n\r\n \r\n if (_canaryFlowToken)\r\n {\r\n _this[OtcRequestParam.CanaryFlowToken] = _canaryFlowToken;\r\n }\r\n};\r\n\r\nexports.Request = function (params)\r\n{\r\n var c_url = \"GetOneTimeCode.srf\";\r\n\r\n var _this = this;\r\n\r\n var _status = OtcStatus.None;\r\n var _sessionKey = \"\";\r\n var _displaySign = \"\";\r\n var _flowToken = \"\";\r\n\r\n var _data = params.data;\r\n var _onSend = params.onSend;\r\n var _onSendFail = params.onSendFail;\r\n var _onFlowExpired = params.onFlowExpired;\r\n var _timeout = params.timeout || c_timeout;\r\n var _siteId = params.siteId;\r\n var _clientId = params.clientId;\r\n var _forwardedClientId = params.forwardedClientId;\r\n var _noPaBubbleVersion = params.noPaBubbleVersion;\r\n\r\n _this.getOtcStatus = function ()\r\n {\r\n \r\n \r\n \r\n \r\n\r\n if (_this.isComplete())\r\n {\r\n return _status;\r\n }\r\n\r\n return OtcStatus.None;\r\n };\r\n\r\n _this.getSessionKey = function ()\r\n {\r\n \r\n \r\n \r\n \r\n\r\n if (_this.isComplete())\r\n {\r\n return _sessionKey;\r\n }\r\n\r\n return \"\";\r\n };\r\n\r\n _this.getDisplaySign = function ()\r\n {\r\n \r\n \r\n \r\n \r\n\r\n if (_this.isComplete())\r\n {\r\n return _displaySign;\r\n }\r\n\r\n return \"\";\r\n };\r\n\r\n _this.getFlowToken = function ()\r\n {\r\n \r\n \r\n \r\n \r\n\r\n if (_this.isComplete())\r\n {\r\n return _flowToken;\r\n }\r\n\r\n return \"\";\r\n };\r\n\r\n function _evt_AJAX_onsuccess(event)\r\n {\r\n \r\n \r\n \r\n\r\n var isFailed = false;\r\n var json = _this.getResponseJson();\r\n\r\n _flowToken = json[OtcProperties.FlowToken] || \"\";\r\n\r\n if (json[OtcProperties.State])\r\n {\r\n _status = json[OtcProperties.State];\r\n _sessionKey = json[OtcProperties.SessionLookupKey] || \"\";\r\n _displaySign = json[OtcProperties.DisplaySignForUI] || \"\";\r\n isFailed = _status !== OtcStatus.Success;\r\n }\r\n else\r\n {\r\n _status = OtcStatus.Error;\r\n _sessionKey = \"\";\r\n _displaySign = \"\";\r\n isFailed = true;\r\n }\r\n\r\n if (isFailed)\r\n {\r\n if (_status === OtcStatus.FTError)\r\n {\r\n _onFlowExpired(event, _this);\r\n }\r\n else\r\n {\r\n _onSendFail(event, _this);\r\n }\r\n }\r\n else\r\n {\r\n _onSend(event);\r\n }\r\n }\r\n\r\n function _evt_AJAX_onerror()\r\n {\r\n \r\n \r\n \r\n\r\n _flowToken = \"\";\r\n _status = OtcStatus.Error;\r\n _sessionKey = \"\";\r\n _displaySign = \"\";\r\n\r\n _onSendFail(_this);\r\n }\r\n\r\n function _evt_AJAX_ontimeout()\r\n {\r\n \r\n \r\n \r\n\r\n _status = OtcStatus.Timeout;\r\n _sessionKey = \"\";\r\n _displaySign = \"\";\r\n _flowToken = \"\";\r\n _onSendFail(_this);\r\n }\r\n\r\n (function _initialize()\r\n {\r\n var url = c_url;\r\n var market = QueryStringHelpers.extract(\"mkt\");\r\n var lcid = QueryStringHelpers.extract(\"lc\");\r\n\r\n var qsParams = [].concat(\r\n market ? [[\"mkt\", market]] : [],\r\n lcid ? [[\"lcid\", lcid]] : [],\r\n _siteId ? [[\"id\", _siteId]] : [],\r\n _clientId ? [[\"client_id\", _clientId]] : [],\r\n _forwardedClientId ? [[\"fci\", _forwardedClientId]] : [],\r\n _noPaBubbleVersion ? [[\"nopa\", _noPaBubbleVersion]] : []);\r\n\r\n var ajaxParams =\r\n {\r\n targetUrl: QueryStringHelpers.add(url, qsParams),\r\n requestType: Ajax.RequestType.Post,\r\n data: AjaxHelpers.generateRequestString(_data),\r\n isAsync: true,\r\n timeout: _timeout,\r\n successCallback: _evt_AJAX_onsuccess,\r\n failureCallback: _evt_AJAX_onerror,\r\n timeoutCallback: _evt_AJAX_ontimeout\r\n };\r\n\r\n Ajax.Handler.call(_this, ajaxParams);\r\n })();\r\n};","var FidoConstants = require(\"./FidoConstants\");\r\nvar PromiseHelpers = require(\"./PromiseHelpers\");\r\nvar TypeConverter = require(\"./TypeConverter\");\r\nvar Promise = require(\"./Promise\");\r\n\r\nvar w = window;\r\nvar n = w.navigator;\r\nvar _publicKeyCredential = w.PublicKeyCredential;\r\nvar _serverData = w.ServerData;\r\n\r\n\r\nvar _platformKeySuppressedOS = _serverData.B4;\r\n\r\n\r\n\r\nexports.makeCredential = function (serverChallenge, id, membername, displayName, userProfileImageUrl, serverExcludeList, authenticator, rpId)\r\n{\r\n var excludeListParam = [];\r\n\r\n if (serverExcludeList)\r\n {\r\n excludeListParam = serverExcludeList.map(\r\n function (credentialId)\r\n {\r\n return { type: \"public-key\", id: TypeConverter.base64UrlStringToArrayBuffer(credentialId) };\r\n });\r\n }\r\n\r\n \r\n var supportedKeyAlgorithms = FidoConstants.SupportedKeyAlgorithms.map(\r\n function (algorithm)\r\n {\r\n return { type: \"public-key\", alg: algorithm };\r\n });\r\n\r\n var publicKey =\r\n {\r\n challenge: TypeConverter.stringToArrayBuffer(serverChallenge),\r\n rp:\r\n {\r\n name: \"Microsoft\",\r\n id: rpId\r\n },\r\n user:\r\n {\r\n id: TypeConverter.base64UrlStringToArrayBuffer(id),\r\n name: membername,\r\n displayName: displayName,\r\n icon: userProfileImageUrl\r\n },\r\n pubKeyCredParams: supportedKeyAlgorithms,\r\n timeout: FidoConstants.Timeout,\r\n excludeCredentials: excludeListParam,\r\n authenticatorSelection:\r\n {\r\n authenticatorAttachment: authenticator,\r\n requireResidentKey: true,\r\n userVerification: \"required\"\r\n },\r\n attestation: \"direct\",\r\n extensions:\r\n {\r\n \r\n \"hmacCreateSecret\": true,\r\n\r\n \r\n \"credentialProtectionPolicy\": \"userVerificationOptional\"\r\n }\r\n };\r\n\r\n return n.credentials.create({ publicKey: publicKey });\r\n};\r\n\r\n\r\nexports.getAssertion = function (serverChallenge, serverAllowList, rpId)\r\n{\r\n var allowListParam = [];\r\n\r\n if (serverAllowList)\r\n {\r\n allowListParam = serverAllowList.map(\r\n function (credentialId)\r\n {\r\n return { type: \"public-key\", id: TypeConverter.base64UrlStringToArrayBuffer(credentialId) };\r\n });\r\n }\r\n\r\n var publicKeyCredentialRequestOptions =\r\n {\r\n challenge: TypeConverter.stringToArrayBuffer(serverChallenge),\r\n timeout: FidoConstants.Timeout,\r\n rpId: rpId,\r\n allowCredentials: allowListParam,\r\n userVerification: \"required\"\r\n };\r\n\r\n return n.credentials.get({ publicKey: publicKeyCredentialRequestOptions });\r\n};\r\n\r\n\r\nexports.isPlatformAuthenticatorAvailable = function (skipStandardSupportCheck)\r\n{\r\n if (_platformKeySuppressedOS || !(_publicKeyCredential))\r\n {\r\n return Promise.resolve(null);\r\n }\r\n\r\n if (skipStandardSupportCheck)\r\n {\r\n return Promise.resolve(true);\r\n }\r\n\r\n return PromiseHelpers.newPromiseWithTimeout(_publicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable, FidoConstants.PromiseTimeout, false);\r\n};","\r\nrequire(\"telemetry/EClientEvent\");\r\nvar Telemetry = require(\"telemetry/TelemetryHelper\");\r\n\r\nfunction _initializeTelemetry(serverData)\r\n{\r\n \r\n var _config = serverData || {};\r\n var _browserSense = serverData.browser || {};\r\n var _clientEventsConfig = _config.a2 || {};\r\n var _serverDetails = _config.k || {};\r\n var _uaid = _config.correlationId ? _config.correlationId : \"\";\r\n \r\n\r\n _clientEventsConfig.correlationID = _uaid;\r\n _clientEventsConfig.hostPageID = _config.hpgid;\r\n _clientEventsConfig.pageName = _config.pgid || _config.bX;\r\n _clientEventsConfig.actorID = _config.hpgact || _config.aJ;\r\n _clientEventsConfig.appId = _config.appId;\r\n _clientEventsConfig.autoCaptureJsErrors = _config.Bc || false;\r\n _clientEventsConfig.autoCaptureClicks = _config.Bb || false;\r\n _clientEventsConfig.autoCaptureEvents = _config.BB || false;\r\n\r\n \r\n _clientEventsConfig[\"environment\"] = _config.a3;\r\n _clientEventsConfig[\"serverDetails\"] = {\r\n datacenter: _getDCAndRI(_serverDetails,\"dc\"),\r\n role: _getDCAndRI(_serverDetails, \"r\"),\r\n roleInstance: _getDCAndRI(_serverDetails, \"ri\"),\r\n version: _getBuildVersion(_serverDetails)\r\n };\r\n\r\n \r\n \r\n if (_browserSense.IE && _clientEventsConfig.appInsightsConfig)\r\n {\r\n if (_clientEventsConfig.appInsightsConfig.PostChannel)\r\n {\r\n _clientEventsConfig.appInsightsConfig.PostChannel.disableXhrSync = true;\r\n }\r\n else\r\n {\r\n _clientEventsConfig.appInsightsConfig.PostChannel = {\r\n disableXhrSync: true\r\n };\r\n }\r\n }\r\n\r\n return new Telemetry.TelemetryHelper(_clientEventsConfig);\r\n}\r\n\r\n\r\nfunction _getDCAndRI(serverDetails, name)\r\n{\r\n if (serverDetails && serverDetails[name])\r\n {\r\n return serverDetails[name];\r\n }\r\n\r\n return \"\";\r\n}\r\n\r\nfunction _getBuildVersion(serverDetails)\r\n{\r\n if (!serverDetails || !serverDetails.ver)\r\n {\r\n return \"\";\r\n }\r\n\r\n var buildVersion = serverDetails.ver.v || serverDetails.ver || \"\";\r\n\r\n if (Array.isArray(buildVersion) && buildVersion.length > 0)\r\n {\r\n return buildVersion.join(\".\");\r\n }\r\n\r\n return buildVersion;\r\n}\r\n\r\n\r\nvar instance = null;\r\n\r\n\r\nexports.getInstance = function (serverData)\r\n{\r\n if (serverData.Bg)\r\n {\r\n try\r\n {\r\n instance = instance || _initializeTelemetry(serverData);\r\n }\r\n catch (e) { }\r\n }\r\n\r\n return instance;\r\n};","module.exports = __webpack_public_path__ + \"content/images/documentation_white_9ad8d18b22266935b952ba85a2fb252c.png\";","module.exports = __webpack_public_path__ + \"content/images/documentation_white_7849019e114f05613d891a7b3805dda2.svg\";","module.exports = __webpack_public_path__ + \"content/images/documentation_136bc3add990843012b1ec60612de803.png\";","module.exports = __webpack_public_path__ + \"content/images/documentation_dae218aac2d25462ae286ceba8d80ce2.svg\";","module.exports = global[\"ko\"] = require(\"-!.\\\\knockout-latest.js\");","var Otc = require(\"./OtcRequestControl\");\r\nvar ClientTracingConstants = require(\"./ClientTracingConstants\");\r\nvar ClientTracingHelper = require(\"./ClientTracingHelper\").getInstance(window.ServerData);\r\n\r\nmodule.exports = function (params)\r\n{\r\n var _this = this;\r\n\r\n var _request = null;\r\n\r\n var _username = params.username;\r\n var _proofData = params.proofData;\r\n var _proofType = params.proofType;\r\n var _purpose = params.purpose || Otc.Purpose.Password;\r\n var _flowToken = params.flowToken;\r\n var _canaryFlowToken = params.canaryFlowToken;\r\n var _isEncrypted = params.isEncrypted !== false; \r\n var _uiMode = params.uiMode;\r\n var _lcid = params.lcid;\r\n var _unauthSessionId = params.unauthSessionId;\r\n var _proofConfirmation = params.proofConfirmation;\r\n var _phoneCountry = params.phoneCountry;\r\n var _phoneCountryCode = params.phoneCountryCode;\r\n var _siteId = params.siteId;\r\n var _clientId = params.clientId;\r\n var _forwardedClientId = params.forwardedClientId;\r\n var _noPaBubbleVersion = params.noPaBubbleVersion;\r\n\r\n var _successCallback = params.successCallback;\r\n var _failureCallback = params.failureCallback;\r\n\r\n var _clientTracingOptions = params.clientTracingOptions;\r\n var _trackingObject = {};\r\n\r\n \r\n _this.sendRequest = function ()\r\n {\r\n var otcRequestParams =\r\n {\r\n data: _getSendOtcProof(),\r\n siteId: _siteId,\r\n clientId: _clientId,\r\n forwardedClientId: _forwardedClientId,\r\n noPaBubbleVersion: _noPaBubbleVersion,\r\n onSend: _sendOneTimeCode_onSuccess,\r\n onSendFail: _sendOneTimeCode_onFail,\r\n onFlowExpired: _sendOneTimeCode_onFail\r\n };\r\n\r\n var eventArgs = {};\r\n eventArgs.proofType = _proofType;\r\n eventArgs.purpose = _purpose;\r\n eventArgs.uiMode = _uiMode;\r\n eventArgs.lcid = _lcid;\r\n eventArgs.phoneCountry = _phoneCountry;\r\n eventArgs.phoneCountryCode = _phoneCountryCode;\r\n _traceBeginRequest(_trackingObject, eventArgs);\r\n\r\n _request = new Otc.Request(otcRequestParams);\r\n _request.sendRequest();\r\n };\r\n\r\n \r\n function _traceBeginRequest(tracingObject, eventArgs)\r\n {\r\n var eventOptions = _clientTracingOptions || {};\r\n if (!eventOptions.hasOwnProperty(\"eventId\"))\r\n {\r\n \r\n eventOptions.eventId = ClientTracingConstants.EventIds.Api_GetOneTimeToken;\r\n }\r\n\r\n if (eventOptions.eventId)\r\n {\r\n var eventData =\r\n {\r\n eventType: \"POST\",\r\n eventId: eventOptions.eventId,\r\n eventLevel: eventOptions.eventLevel || ClientTracingConstants.EventLevel.Info,\r\n eventArgs: eventArgs,\r\n eventOptions: eventOptions\r\n };\r\n\r\n ClientTracingHelper.traceBeginRequest(tracingObject, eventData);\r\n }\r\n }\r\n\r\n function _traceEndRequest(tracingObject, result, error, succeeded, handler)\r\n {\r\n ClientTracingHelper.traceEndRequest(tracingObject, result, error, succeeded, handler);\r\n }\r\n\r\n function _getSendOtcProof()\r\n {\r\n var proofParams =\r\n {\r\n username: _username,\r\n proofData: _proofData,\r\n proofType: _proofType,\r\n purpose: _purpose,\r\n flowToken: _flowToken,\r\n canaryFlowToken: _canaryFlowToken,\r\n isEncrypted: _isEncrypted,\r\n uiMode: _uiMode,\r\n lcid: _lcid,\r\n unauthSessionId: _unauthSessionId,\r\n proofConfirmation: _proofConfirmation,\r\n phoneCountry: _phoneCountry,\r\n phoneCountryCode: _phoneCountryCode\r\n };\r\n\r\n return new Otc.Proof(proofParams);\r\n }\r\n\r\n function _sendOneTimeCode_onSuccess()\r\n {\r\n _traceEndRequest(\r\n _trackingObject,\r\n \"Success\",\r\n null,\r\n true ,\r\n function ()\r\n {\r\n if (_successCallback)\r\n {\r\n _successCallback(_request);\r\n }\r\n });\r\n }\r\n\r\n function _sendOneTimeCode_onFail()\r\n {\r\n var error = _getOtcError();\r\n _traceEndRequest(\r\n _trackingObject,\r\n \"Failed\",\r\n error,\r\n false ,\r\n function ()\r\n {\r\n if (_failureCallback)\r\n {\r\n _failureCallback(_request);\r\n }\r\n });\r\n }\r\n\r\n function _getOtcError()\r\n {\r\n return { otcStatus: _request.getOtcStatus() };\r\n }\r\n};","\r\n\r\nvar Constants = require(\"./Constants\");\r\nvar LoginConstants = require(\"../LoginPage/LoginConstants\");\r\nvar Promise = require(\"./Promise\");\r\nvar BrandingHelpers = require(\"./BrandingHelpers\");\r\nvar Browser = require(\"./BrowserControl\");\r\nvar Helpers = require(\"./Helpers\");\r\nvar ApiRequest = require(\"./ApiRequest\");\r\nvar ClientTracingConstants = require(\"./ClientTracingConstants\");\r\n\r\nvar BrowserHelper = Browser.Helper;\r\nvar QueryString = Browser.QueryString;\r\nvar StringHelpers = Helpers.String;\r\nvar ObjectHelpers = Helpers.Object;\r\nvar CredentialType = Constants.CredentialType;\r\nvar RemoteNgcType = Constants.RemoteNgcType;\r\nvar Error = Constants.Error;\r\nvar ApiErrorCodes = Constants.ApiErrorCodes;\r\nvar EstsError = Constants.EstsError;\r\nvar PaginatedState = Constants.PaginatedState;\r\nvar IfExistsResult = Constants.IfExistsResult;\r\nvar ThrottleStatus = Constants.ThrottleStatus;\r\nvar DomainType = Constants.DomainType;\r\nvar BindProvider = Constants.BindProvider;\r\nvar AllowedIdentitiesType = LoginConstants.AllowedIdentitiesType;\r\nvar SessionPullFlags = Constants.SessionPullFlags;\r\nvar Host = null;\r\n\r\nif (__IS_CXH_ENABLED__)\r\n{\r\n Host = require(\"../LoginPage/Win10LoginHost\");\r\n}\r\nelse if (__IS_INCLUSIVE_OOBE__)\r\n{\r\n Host = require(\"../LoginPage/InclusiveWin10LoginHost.js\");\r\n}\r\n\r\n\r\nvar GctResultAction = GetCredentialTypeRequestHelper.GctResultAction =\r\n{\r\n ShowError: 1,\r\n SwitchView: 2,\r\n Redirect: 3\r\n};\r\n\r\n\r\nvar GctRequestHelperFlags = GetCredentialTypeRequestHelper.GctRequestHelperFlags =\r\n{\r\n CheckCurrentIdpOnly: 1 << 0,\r\n IsPhoneNumberFullyQualified: 1 << 1,\r\n DisableDesktopSsoPreferredCred: 1 << 2,\r\n DisableAutoSend: 1 << 3,\r\n ForceOtcLogin: 1 << 4,\r\n IsPostRequest: 1 << 5,\r\n IsSignup: 1 << 6\r\n};\r\n\r\n\r\n\r\n\r\nfunction GetCredentialTypeRequestHelper(serverData, flags)\r\n{\r\n \r\n var _this = this;\r\n\r\n var _isOtherIdpSupported = false;\r\n var _useAltUsernameExistenceErrorPromise = null;\r\n var _isFidoSupportedPromise = null;\r\n var _getPoPAuthenticatorPromise = null;\r\n var _blockBridge = false;\r\n var _cache = {};\r\n var _isTapRestrictedWsi = null;\r\n\r\n var _serverData = serverData;\r\n var _checkCurrentIdpOnly = (flags & GctRequestHelperFlags.CheckCurrentIdpOnly) !== 0;\r\n var _isPhoneNumberFullyQualified = (flags & GctRequestHelperFlags.IsPhoneNumberFullyQualified) !== 0;\r\n var _disableDesktopSsoPreferredCred = (flags & GctRequestHelperFlags.DisableDesktopSsoPreferredCred) !== 0;\r\n var _disableAutoSend = (flags & GctRequestHelperFlags.DisableAutoSend) !== 0;\r\n var _forceOtcLogin = (flags & GctRequestHelperFlags.ForceOtcLogin) !== 0;\r\n var _isPostRequest = (flags & GctRequestHelperFlags.IsPostRequest) !== 0;\r\n var _isSignup = (flags & GctRequestHelperFlags.IsSignup) !== 0;\r\n \r\n\r\n \r\n var _strings = _serverData.str;\r\n var _unauthSessionID = _serverData.J;\r\n var _allowedIdentities = _serverData.n;\r\n var _isFederationDisabled = _serverData.BQ;\r\n var _isRemoteNGCSupported = !!_serverData.BU;\r\n var _showCookieBanner = !!_serverData.B8;\r\n var _isFidoSupportedHint = !!_serverData.Am;\r\n var _isOtcLoginDisabled = _serverData.BS;\r\n var _isNoPaOtcDisabled = _serverData.BR;\r\n var _isExternalFederationDisallowed = !!_serverData.Bq;\r\n var _isPassthroughDisallowed = !!_serverData.Bt;\r\n var _isPhoneNumberSignupDisallowed = !!_serverData.BT;\r\n var _isVerifiableCredentialsSupportEnabled = _serverData.fIsVerifiableCredentialsSupportEnabled;\r\n var _originalRequest = _serverData.b;\r\n var _redirectToSignupOnNotExists = _serverData.Al; \r\n var _checkProofForAliases = _serverData.Bd; \r\n var _checkApiCanary = _serverData.L;\r\n var _getCredentialTypeUrl = _serverData.CA;\r\n var _isSignupAllowed = _serverData.A0;\r\n var _allowSkype = _serverData.AZ;\r\n var _msaSignupUrl = serverData.urlMsaSignUp;\r\n var _signupUrl = _serverData.j;\r\n var _showInterstitialView = _serverData.fUseCertificateInterstitialView;\r\n var _signupUrlPostParams = _serverData.u;\r\n var _useConsumerEmailError = _serverData.fUseConsumerEmailError;\r\n var _otherIdpRedirectPostParams = _serverData.o;\r\n var _desktopSsoConfig = _serverData.desktopSsoConfig;\r\n var _federationRedirectQueryString = _serverData.sFedQS;\r\n var _staticTenantBranding = _serverData.staticTenantBranding;\r\n var _dynamicTenantBranding = _serverData.dynamicTenantBranding;\r\n var _isGlobalTenant = _serverData.isGlobalTenant;\r\n var _checkForWindowsSku = _serverData.fCheckForWindowsSku;\r\n var _country = _serverData.country;\r\n var _userProofData = _serverData.arrProofData || {};\r\n var _postProofType = parseInt(_serverData.b0);\r\n var _changePasswordUrl = _serverData.b9;\r\n var _remoteConnectEnabled = !!_serverData.Ba;\r\n var _bindCookiesUsingPoP = _serverData.fBindCookiesUsingPoP;\r\n var _gctFederationFlags = _serverData.bM || 0;\r\n var _ignoreViralUsers = _serverData.fIgnoreViralUsers;\r\n var _isAccessPassSupported = _serverData.fAccessPassSupported;\r\n var _hidePhoneCobasiInOtherSignIn = _serverData.Bn;\r\n var _isRestrictedWsi = _serverData.fIsRestrictedWsi;\r\n var _useResetPasswordUrlInPasswordRequiredError = _serverData.bJ;\r\n var _resetPasswordUrl = _serverData.m;\r\n var _isSelfServiceSignupUxEnabled = _serverData.An;\r\n var _enableWebNativeBridge = _serverData.fEnableWebNativeBridge;\r\n var wamExtensionId = _serverData.sWAMExtension;\r\n var wamChannelId = _serverData.sWAMChannel;\r\n var _canaryTokenName = _serverData.canaryTokenName;\r\n var _canary = _serverData.canary;\r\n var _deprecateSmsAutoSend = _serverData.fDeprecateSmsAutoSend;\r\n var _useWebviewFidoCustomProtocol = _serverData.fUseWebviewFidoCustomProtocol;\r\n var _isQrCodePinSupported = !!_serverData.fIsQrCodePinSupported;\r\n var _isDFPFingerprintingAllowed = _serverData.fEnableDFPIntegration;\r\n var _isImprovedUsernameRecovery = _serverData.fIsImprovedUsernameRecovery;\r\n var _fixPhoneDisambigSignupRedirect = _serverData.fFixPhoneDisambigSignupRedirect;\r\n var _enableRefreshCookiesFix = _serverData.fEnableRefreshCookiesFix;\r\n var _enableFIDOBluetoothError = _serverData.fEnableFIDOBluetoothError;\r\n var _fixUrlExternalIdpFederation = _serverData.fFixUrlExternalIdpFederation;\r\n var _enableAwpError = !!_serverData.fEnablePasskeyAwpError;\r\n \r\n\r\n \r\n _this.sendAsync = function (otherIdpRedirectUrl, unsafe_username, flowToken)\r\n {\r\n var unsafe_cleansedUsername = _getCleansedUsername(unsafe_username);\r\n var cachedResponse = _cache[unsafe_cleansedUsername] ? _cache[unsafe_cleansedUsername] : null;\r\n var isCachedResponse = !!cachedResponse;\r\n\r\n var gctPromise = cachedResponse\r\n ? Promise.resolve(cachedResponse)\r\n : _callGetCredentialTypeAsync(unsafe_cleansedUsername, flowToken);\r\n\r\n return Promise.all([_useAltUsernameExistenceErrorPromise, gctPromise, _isFidoSupportedPromise]).then(\r\n function (results)\r\n {\r\n var useAltUsernameExistenceError = results[0];\r\n var response = results[1];\r\n var isFidoSupported = results[2];\r\n\r\n return _parseGetCredentialTypeResponse(otherIdpRedirectUrl, unsafe_cleansedUsername, useAltUsernameExistenceError, response, isFidoSupported, isCachedResponse);\r\n },\r\n _handleGetCredentialTypeError);\r\n };\r\n\r\n _this.getResult = function (otherIdpRedirectUrl, unsafe_username, response, isFidoSupported)\r\n {\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n return _parseGetCredentialTypeResponse(\r\n otherIdpRedirectUrl,\r\n _getCleansedUsername(unsafe_username),\r\n false ,\r\n response,\r\n isFidoSupported,\r\n false );\r\n };\r\n\r\n _this.getState = function ()\r\n {\r\n return { cache: _cache };\r\n };\r\n\r\n _this.restoreState = function (state)\r\n {\r\n if (state)\r\n {\r\n _cache = state.cache || {};\r\n }\r\n };\r\n\r\n _this.cacheResponse = function (unsafe_username, response)\r\n {\r\n \r\n if (_fixPhoneDisambigSignupRedirect && StringHelpers.isPhoneNumber(unsafe_username))\r\n {\r\n return;\r\n }\r\n\r\n _cache[_getCleansedUsername(unsafe_username)] = response;\r\n };\r\n\r\n _this.getSignupRedirectGctResult = function (unsafe_username)\r\n {\r\n var unsafe_cleansedUsername = _getCleansedUsername(unsafe_username);\r\n var cachedResponse = _cache[unsafe_cleansedUsername] ? _cache[unsafe_cleansedUsername] : null;\r\n return _getSignupRedirectGctResultForResponse(unsafe_cleansedUsername, cachedResponse);\r\n };\r\n\r\n _this.getOtherIdpRedirectGctResult = function (otherIdpRedirectUrl, unsafe_username)\r\n {\r\n return _getOtherIdpRedirectGctResult(otherIdpRedirectUrl, _getCleansedUsername(unsafe_username));\r\n };\r\n\r\n _this.getGctSharedData = function (response, isFidoSupported, isCachedResponse)\r\n {\r\n var sharedData = {};\r\n var preferredCredential = _getPreferredCredential(response, isFidoSupported);\r\n var availableCredentials = response.Credentials || {};\r\n var ngcParams = availableCredentials.RemoteNgcParams;\r\n var fidoParams = availableCredentials.FidoParams;\r\n var qrCodePinParams = availableCredentials.QrCodePinParams;\r\n var estsProperties = response.EstsProperties || {};\r\n var remoteNgcDefaultType = ngcParams ? ngcParams.DefaultType : null;\r\n var remoteNgcShowAnimatedGifWhilePolling = ngcParams ? ngcParams.ShowAnimatedGifWhilePolling : false;\r\n var remoteNgcStyleCredSwitchLinkAsButton = ngcParams ? ngcParams.StyleCredSwitchLinkAsButton : false;\r\n var dynamicTenantBranding = BrandingHelpers.loadTenantBranding(estsProperties.UserTenantBranding || _dynamicTenantBranding);\r\n var staticTenantBranding = BrandingHelpers.loadTenantBranding(_staticTenantBranding);\r\n var fedRedirectParams = _getFedRedirectParams(response.Username, response, isFidoSupported);\r\n \r\n if (_isDFPFingerprintingAllowed && response.DfpProperties && response.DfpProperties.DfpUrl)\r\n {\r\n sharedData.V = response.DfpProperties.DfpUrl;\r\n }\r\n\r\n sharedData.preferredCredential = preferredCredential;\r\n sharedData.location = response.Location;\r\n sharedData.fedRedirectParams = fedRedirectParams;\r\n sharedData.isTapRestrictedWsi = _isTapRestrictedWsi;\r\n sharedData.supportsNativeCredentialRecovery = response.SupportsNativeCredentialRecovery;\r\n sharedData.isSignup = response.IfExistsResult === IfExistsResult.NotExist && _isSelfServiceSignupUxEnabled;\r\n\r\n if (response.Display)\r\n {\r\n sharedData.displayName = response.Display;\r\n }\r\n\r\n sharedData.availableCreds = _getAvailableCreds(response, isFidoSupported);\r\n sharedData.evictedCreds = _getEvictedCreds(response, isFidoSupported);\r\n\r\n if (preferredCredential === CredentialType.OneTimeCode)\r\n {\r\n sharedData.otcCredential = Helpers.Array.first(\r\n sharedData.availableCreds,\r\n function (credential)\r\n {\r\n return credential.credType === CredentialType.OneTimeCode && credential.proof.otcSent;\r\n });\r\n\r\n if (!sharedData.otcCredential && response.Credentials && response.Credentials.OTCNotAutoSent)\r\n {\r\n sharedData.otcCredential = Helpers.Array.first(\r\n sharedData.availableCreds,\r\n function (credential)\r\n {\r\n return credential.credType === CredentialType.OneTimeCode && credential.proof.type === PROOF.Type.SMS;\r\n });\r\n }\r\n\r\n \r\n sharedData.useEvictedCredentials = false;\r\n }\r\n\r\n sharedData.remoteNgcParams =\r\n {\r\n requestSent: !_disableAutoSend && !isCachedResponse && preferredCredential === CredentialType.RemoteNGC && ngcParams && ngcParams.hasOwnProperty(\"Entropy\"),\r\n sessionIdentifier: ngcParams ? ngcParams.SessionIdentifier : null,\r\n entropy: ngcParams ? ngcParams.Entropy : null,\r\n defaultType: remoteNgcDefaultType,\r\n showAnimatedGifWhilePolling: remoteNgcShowAnimatedGifWhilePolling,\r\n styleCredSwitchLinkAsButton: remoteNgcStyleCredSwitchLinkAsButton\r\n };\r\n\r\n sharedData.otcParams =\r\n {\r\n \r\n requestSent: ((preferredCredential === CredentialType.OneTimeCode) || (preferredCredential === CredentialType.PublicIdentifierCode))\r\n && (response.IfExistsResult !== IfExistsResult.ExistsBothIDPs)\r\n };\r\n\r\n if (fidoParams && fidoParams.AllowList)\r\n {\r\n if (_enableAwpError && _enableFIDOBluetoothError)\r\n {\r\n sharedData.fidoParams = {\r\n allowList: fidoParams.AllowList,\r\n hasMsftAuthAppPasskey: fidoParams.HasCrossDeviceCapablePasskey,\r\n hasMsftAndroidAuthAppPasskey: fidoParams.HasMsftAndroidAuthAppPasskey,\r\n hasOnlyMsftAndroidAuthAppPasskey: fidoParams.HasOnlyMsftAndroidAuthAppPasskey\r\n };\r\n }\r\n else if (_enableFIDOBluetoothError)\r\n {\r\n sharedData.fidoParams = {\r\n allowList: fidoParams.AllowList,\r\n hasMsftAuthAppPasskey: fidoParams.HasCrossDeviceCapablePasskey\r\n };\r\n }\r\n else\r\n {\r\n sharedData.fidoParams = {\r\n allowList: fidoParams.AllowList\r\n };\r\n }\r\n }\r\n\r\n if (_isQrCodePinSupported && qrCodePinParams && qrCodePinParams.AllowList)\r\n {\r\n sharedData.qrCodePinParams =\r\n {\r\n allowList: qrCodePinParams.AllowList,\r\n nonce: qrCodePinParams.Nonce\r\n };\r\n }\r\n\r\n sharedData.callMetadata = estsProperties && estsProperties.CallMetadata ? estsProperties.CallMetadata : {};\r\n sharedData.userTenantBranding = BrandingHelpers.getMergedBranding(staticTenantBranding, dynamicTenantBranding, _isGlobalTenant);\r\n\r\n return sharedData;\r\n };\r\n \r\n\r\n \r\n function _buildGetCredentialTypeRequest(unsafe_username, flowToken, isFidoSupported, popAuthenticator)\r\n {\r\n var postData =\r\n {\r\n unsafe_username: unsafe_username,\r\n uaid: _unauthSessionID,\r\n isOtherIdpSupported: _isOtherIdpSupported,\r\n isFederationDisabled: _isFederationDisabled,\r\n checkPhones: StringHelpers.isPhoneNumber(unsafe_username),\r\n isRemoteNGCSupported: _isRemoteNGCSupported,\r\n isCookieBannerShown: _showCookieBanner,\r\n isFidoSupported: isFidoSupported,\r\n originalRequest: _originalRequest,\r\n country: _country,\r\n forceotclogin: _forceOtcLogin,\r\n otclogindisallowed: _isOtcLoginDisabled,\r\n isExternalFederationDisallowed: _isExternalFederationDisallowed,\r\n isRemoteConnectSupported: _remoteConnectEnabled,\r\n federationFlags: _gctFederationFlags,\r\n isSignup: _isSignup,\r\n flowToken: flowToken\r\n };\r\n\r\n if (_checkProofForAliases || _isImprovedUsernameRecovery)\r\n {\r\n postData.checkProofForAliases = true;\r\n }\r\n\r\n if (_isNoPaOtcDisabled)\r\n {\r\n postData.noPaOtcDisallowed = true;\r\n }\r\n\r\n if (_isPassthroughDisallowed)\r\n {\r\n postData.isPassthroughDisallowed = true;\r\n }\r\n\r\n if (_isPhoneNumberSignupDisallowed)\r\n {\r\n postData.isPhoneNumberSignupDisallowed = true;\r\n }\r\n\r\n if (_ignoreViralUsers)\r\n {\r\n postData.ignoreViralUsers = true;\r\n }\r\n\r\n if (_bindCookiesUsingPoP)\r\n {\r\n popAuthenticator = popAuthenticator || { cpa: \"\", err: \"Authenticator not generated.\" };\r\n postData.cpa = popAuthenticator.cpa;\r\n postData.cpa_err = popAuthenticator.err;\r\n }\r\n\r\n if (_isAccessPassSupported)\r\n {\r\n postData.isAccessPassSupported = true;\r\n }\r\n\r\n if (_isQrCodePinSupported)\r\n {\r\n postData.isQrCodePinSupported = true;\r\n }\r\n\r\n return postData;\r\n }\r\n\r\n function _buildOtcCredentials(response, isDefault, isFidoSupported)\r\n {\r\n var otcLoginEligibleProofs = response.Credentials && response.Credentials.OtcLoginEligibleProofs;\r\n var otcCredentials = [];\r\n\r\n if (otcLoginEligibleProofs)\r\n {\r\n var isCobasiApp = response.Credentials && response.Credentials.HasPhone && response.Credentials.CobasiApp;\r\n Helpers.Array.forEach(\r\n otcLoginEligibleProofs,\r\n function (eligibleProof)\r\n {\r\n if (eligibleProof.isDefault !== isDefault)\r\n {\r\n return;\r\n }\r\n\r\n var otcCredential =\r\n {\r\n credType: CredentialType.OneTimeCode,\r\n proof: eligibleProof\r\n };\r\n\r\n otcCredential.proof.isEncrypted = true;\r\n\r\n switch (eligibleProof.type)\r\n {\r\n case PROOF.Type.SMS:\r\n case PROOF.Type.Voice:\r\n if (!eligibleProof.isVoiceOnly)\r\n {\r\n var smsCredential = ObjectHelpers.clone(otcCredential);\r\n\r\n if (smsCredential.proof.otcSent && _isPostRequest && _postProofType === PROOF.Type.Voice)\r\n {\r\n smsCredential.proof.otcSent = false;\r\n }\r\n\r\n smsCredential.proof.type = PROOF.Type.SMS;\r\n\r\n if (_hidePhoneCobasiInOtherSignIn && !isCobasiApp)\r\n {\r\n smsCredential.shownOnlyOnPicker = true;\r\n }\r\n\r\n otcCredentials.push(smsCredential);\r\n }\r\n\r\n if (eligibleProof.voiceEnabled)\r\n {\r\n var voiceCredential = ObjectHelpers.clone(otcCredential);\r\n\r\n if (voiceCredential.proof.otcSent && !(_isPostRequest && _postProofType === PROOF.Type.Voice))\r\n {\r\n voiceCredential.proof.otcSent = false;\r\n }\r\n\r\n voiceCredential.proof.type = PROOF.Type.Voice;\r\n otcCredentials.push(voiceCredential);\r\n }\r\n break;\r\n\r\n case PROOF.Type.Email:\r\n otcCredentials.push(ObjectHelpers.clone(otcCredential));\r\n break;\r\n }\r\n });\r\n }\r\n\r\n if (isDefault && otcCredentials.length === 0 && _getPreferredCredential(response, isFidoSupported) === CredentialType.OneTimeCode)\r\n {\r\n var hasPassword = response.Credentials && response.Credentials.HasPassword;\r\n var otcCredential =\r\n {\r\n credType: CredentialType.OneTimeCode,\r\n proof:\r\n {\r\n display: response.Display,\r\n data: StringHelpers.cleanseUsername(response.Display),\r\n otcSent: true,\r\n isEncrypted: false,\r\n isDefault: true,\r\n isNopa: !hasPassword,\r\n type: StringHelpers.isEmailAddress(response.Username) ? PROOF.Type.Email : PROOF.Type.SMS\r\n }\r\n };\r\n\r\n otcCredentials.push(otcCredential);\r\n }\r\n\r\n return otcCredentials;\r\n }\r\n\r\n function _buildOtcProofStrings(otcCredential)\r\n {\r\n \r\n \r\n otcCredential.proof.str = {};\r\n ObjectHelpers.extend(otcCredential.proof.str, _userProofData[otcCredential.proof.type] || {});\r\n\r\n ObjectHelpers.forEach(\r\n otcCredential.proof.str,\r\n function (id, str)\r\n {\r\n if (str)\r\n {\r\n otcCredential.proof.str[id] = StringHelpers.format(str, otcCredential.proof.display + \"\\u200e\", otcCredential.proof.clearDigits || \"\");\r\n }\r\n });\r\n }\r\n\r\n function _callGetCredentialTypeAsync(unsafe_username, flowToken)\r\n {\r\n var promises = [_isFidoSupportedPromise].concat(_getPoPAuthenticatorPromise || []);\r\n return Promise.all(promises).then(\r\n function (values)\r\n {\r\n var isFidoSupported = values[0];\r\n var popAuthenticator = values[1];\r\n return new Promise(\r\n function (resolve, reject)\r\n {\r\n var apiRequest = new ApiRequest({ checkApiCanary: _checkApiCanary });\r\n apiRequest.Json(\r\n {\r\n url: _getCredentialTypeUrl,\r\n eventId: ClientTracingConstants.EventIds.Api_GetCredentialType\r\n },\r\n _buildGetCredentialTypeRequest(unsafe_username, flowToken, isFidoSupported, popAuthenticator),\r\n resolve,\r\n reject,\r\n Constants.DefaultRequestTimeout);\r\n });\r\n }\r\n );\r\n }\r\n\r\n function _isDesktopSsoAttemptedUsernameMatch(unsafe_username)\r\n {\r\n return unsafe_username && _desktopSsoConfig.lastUsernameTried && unsafe_username.toLowerCase() === _desktopSsoConfig.lastUsernameTried.toLowerCase();\r\n }\r\n\r\n function _parseGetCredentialTypeResponse(otherIdpRedirectUrl, unsafe_username, useAltUsernameExistenceError, response, isFidoSupported, isCachedResponse)\r\n {\r\n var gctResult = {};\r\n var desktopSsoEnabled = _desktopSsoConfig && response.EstsProperties && response.EstsProperties.DesktopSsoEnabled && !_isDesktopSsoAttemptedUsernameMatch(unsafe_username);\r\n var errorHr = response.ErrorHR;\r\n var fedRedirectParams = _getFedRedirectParams(unsafe_username, response, isFidoSupported);\r\n var sharedData = _this.getGctSharedData(response, isFidoSupported, isCachedResponse);\r\n\r\n sharedData.username = unsafe_username;\r\n\r\n if (errorHr === Error.PP_E_INVALID_PHONENUMBER || errorHr === Error.PP_E_LIBPHONENUMBERINTEROP_NUMBERPARSE_EXCEPTION)\r\n {\r\n gctResult = _getInvalidPhoneNumberGctResult(errorHr);\r\n }\r\n else if (errorHr === Error.PP_E_NAME_INVALID || errorHr === Error.PP_E_INVALIDARG)\r\n {\r\n gctResult = _getGctResultShowErrorAction(_strings[\"CT_PWD_STR_Error_InvalidUsername\"]);\r\n }\r\n else if (errorHr === Error.PP_E_FEDERATION_INLINELOGIN_DISALLOWED)\r\n {\r\n gctResult = _getGctResultShowErrorAction(_strings[\"CT_PWD_STR_Error_FedNotAllowed\"], true );\r\n }\r\n else if (errorHr === Error.PP_E_LOGIN_NOPA_USER_PASSWORD_REQUIRED)\r\n {\r\n if (_useResetPasswordUrlInPasswordRequiredError)\r\n {\r\n gctResult = _getGctResultShowErrorAction(StringHelpers.format(_strings[\"CT_STR_Error_PasswordRequired\"], QueryString.stripQueryStringAndFragment(_resetPasswordUrl)));\r\n }\r\n else\r\n {\r\n gctResult = _getGctResultShowErrorAction(StringHelpers.format(_strings[\"CT_STR_Error_PasswordRequired\"], QueryString.stripQueryStringAndFragment(_changePasswordUrl)));\r\n }\r\n }\r\n else if (response.RequiresPhoneDisambiguation)\r\n {\r\n gctResult = _getGctResultSwitchViewAction(PaginatedState.PhoneDisambiguation);\r\n }\r\n else if (response.AliasDisabledForLogin)\r\n {\r\n return _getGctResultShowErrorAction(_strings[\"CT_PWD_STR_Error_AliasDisabled\"], true );\r\n }\r\n else if (response.IfExistsResult === IfExistsResult.NotExist)\r\n {\r\n gctResult = _getUsernameNotFoundGctResult(unsafe_username, useAltUsernameExistenceError, response, isFidoSupported);\r\n }\r\n else if (response.IfExistsResult === IfExistsResult.ExistsBothIDPs)\r\n {\r\n gctResult = _getGctResultSwitchViewAction(\r\n PaginatedState.IdpDisambiguation,\r\n {\r\n desktopSsoEnabled: desktopSsoEnabled,\r\n idpRedirectUrl: fedRedirectParams.idpRedirectUrl,\r\n idpRedirectPostParams: fedRedirectParams.idpRedirectPostParams,\r\n idpRedirectProvider: fedRedirectParams.idpRedirectProvider\r\n });\r\n }\r\n else if (response.IfExistsResult === IfExistsResult.ExistsInOtherMicrosoftIDP)\r\n {\r\n gctResult = _getOtherIdpRedirectGctResult(otherIdpRedirectUrl, unsafe_username);\r\n }\r\n else if (_isOtherIdpSupported\r\n && (response.IfExistsResult === IfExistsResult.Error\r\n || response.IfExistsResult === IfExistsResult.Throttled\r\n || (response.ThrottleStatus & ThrottleStatus.MsaThrottled) !== 0))\r\n {\r\n \r\n \r\n gctResult = _getGctResultSwitchViewAction(\r\n PaginatedState.IdpDisambiguation,\r\n {\r\n hasIdpDisambigError: true,\r\n desktopSsoEnabled: desktopSsoEnabled,\r\n idpRedirectUrl: fedRedirectParams.idpRedirectUrl,\r\n idpRedirectPostParams: fedRedirectParams.idpRedirectPostParams,\r\n idpRedirectProvider: fedRedirectParams.idpRedirectProvider\r\n });\r\n }\r\n else if (response.ShowRemoteConnect)\r\n {\r\n gctResult = _getGctResultSwitchViewAction(PaginatedState.RemoteLoginPolling);\r\n }\r\n else\r\n {\r\n var isProofConfirmationRequired = sharedData.otcCredential && sharedData.otcCredential.proof.clearDigits;\r\n\r\n gctResult = _getUsernameFoundGctResult(unsafe_username, desktopSsoEnabled, fedRedirectParams, response, isProofConfirmationRequired, isFidoSupported);\r\n }\r\n\r\n \r\n gctResult.flowToken = response.FlowToken || null;\r\n\r\n if (!gctResult.bypassCache)\r\n {\r\n _cache[unsafe_username] = response;\r\n\r\n \r\n _cache[unsafe_username].FlowToken = null;\r\n }\r\n\r\n gctResult.sharedData = sharedData;\r\n\r\n return gctResult;\r\n }\r\n\r\n function _handleGetCredentialTypeError(response)\r\n {\r\n var gctResult = {};\r\n\r\n if (response && response.error)\r\n {\r\n switch (response.error.code)\r\n {\r\n case ApiErrorCodes.AuthFailure:\r\n gctResult = _getGctResultShowErrorAction(_strings[\"CT_PWD_STR_Error_FlowTokenExpired\"]);\r\n break;\r\n\r\n case EstsError.PublicIdentifierSasBeginCallNonRetriableError:\r\n case EstsError.PublicIdentifierSasBeginCallRetriableError:\r\n gctResult = _getGctResultShowErrorAction(_strings[\"CT_PWD_STR_Error_GetCredentialTypeError\"], false , true );\r\n break;\r\n\r\n default:\r\n gctResult = _getGctResultShowErrorAction(_strings[\"CT_PWD_STR_Error_GetCredentialTypeError\"]);\r\n break;\r\n }\r\n }\r\n else\r\n {\r\n gctResult = _getGctResultShowErrorAction(_strings[\"CT_PWD_STR_Error_GetCredentialTypeError\"]);\r\n }\r\n\r\n gctResult.flowToken = response.FlowToken || null;\r\n\r\n return gctResult;\r\n }\r\n\r\n function _getPreferredCredential(response, isFidoSupported)\r\n {\r\n var preferredCredential = CredentialType.Password;\r\n var credentials = response.Credentials;\r\n\r\n if (credentials)\r\n {\r\n preferredCredential = credentials.PrefCredential;\r\n\r\n if (preferredCredential === CredentialType.Fido && !isFidoSupported)\r\n {\r\n \r\n preferredCredential = credentials.RemoteNgcParams && credentials.RemoteNgcParams.SessionIdentifier\r\n ? CredentialType.RemoteNGC\r\n : CredentialType.Password;\r\n }\r\n }\r\n\r\n return preferredCredential;\r\n }\r\n\r\n function _getAvailableCreds(response, isFidoSupported)\r\n {\r\n var availableCredentials = response.Credentials || {};\r\n var sasParams = availableCredentials.SasParams;\r\n var linkedInParams = availableCredentials.LinkedInParams;\r\n var gitHubParams = availableCredentials.GitHubParams;\r\n var googleParams = availableCredentials.GoogleParams;\r\n var facebookParams = availableCredentials.FacebookParams;\r\n var certAuthParams = availableCredentials.CertAuthParams;\r\n var qrCodePinParams = availableCredentials.QrCodePinParams;\r\n var estsProperties = response.EstsProperties || {};\r\n\r\n \r\n \r\n var credentials = [].concat(\r\n availableCredentials.HasPassword && (estsProperties.DomainType !== DomainType.Federated) ? { credType: CredentialType.Password }: [],\r\n availableCredentials.FederationRedirectUrl && (estsProperties.DomainType === DomainType.Federated) ? { credType: CredentialType.Federation } : [],\r\n availableCredentials.FederationRedirectUrl && (estsProperties.DomainType === DomainType.CloudFederated) ? { credType: CredentialType.CloudFederation } : [],\r\n availableCredentials.HasRemoteNGC ? { credType: CredentialType.RemoteNGC } : [],\r\n availableCredentials.HasFido && isFidoSupported ? { credType: CredentialType.Fido } : [],\r\n availableCredentials.HasPhone && sasParams ? { credType: CredentialType.PublicIdentifierCode } : [],\r\n availableCredentials.HasLinkedInFed && linkedInParams ? { credType: CredentialType.LinkedIn, redirectUrl: linkedInParams.LinkedInRedirectUrl } : [],\r\n availableCredentials.HasGitHubFed && gitHubParams ? { credType: CredentialType.GitHub, redirectUrl: gitHubParams.GithubRedirectUrl } : [],\r\n availableCredentials.HasGoogleFed && googleParams ? { credType: CredentialType.Google, redirectUrl: googleParams.GoogleRedirectUrl } : [],\r\n availableCredentials.HasFacebookFed && facebookParams ? { credType: CredentialType.Facebook, redirectUrl: facebookParams.FacebookRedirectUrl } : [],\r\n availableCredentials.HasAccessPass ? { credType: CredentialType.AccessPass } : [],\r\n availableCredentials.HasVerifiableCredential && _isVerifiableCredentialsSupportEnabled ? { credType: CredentialType.VerifiableCredential } : [],\r\n availableCredentials.HasQrCodePin && _isQrCodePinSupported && qrCodePinParams ? { credType: CredentialType.QrCodePin } : [],\r\n availableCredentials.HasCertAuth ? { credType: CredentialType.Certificate, redirectUrl: certAuthParams.CertAuthUrl, redirectPostParams: _getCertAuthParams(response.FlowToken) } : []);\r\n\r\n \r\n if (_userProofData[PROOF.Type.Email] && _userProofData[PROOF.Type.SMS] && _userProofData[PROOF.Type.Voice])\r\n {\r\n var otcCredentials = _buildOtcCredentials(response, true , isFidoSupported);\r\n\r\n if (otcCredentials.length > 0)\r\n {\r\n Helpers.Array.forEach(otcCredentials, _buildOtcProofStrings);\r\n credentials = credentials.concat(otcCredentials);\r\n }\r\n }\r\n\r\n return credentials;\r\n }\r\n\r\n function _getEvictedCreds(response, isFidoSupported)\r\n {\r\n var credentials = [];\r\n\r\n \r\n if (_userProofData[PROOF.Type.Email] && _userProofData[PROOF.Type.SMS] && _userProofData[PROOF.Type.Voice])\r\n {\r\n var otcCredentials = _buildOtcCredentials(response, false , isFidoSupported);\r\n\r\n if (otcCredentials.length > 0)\r\n {\r\n Helpers.Array.forEach(otcCredentials, _buildOtcProofStrings);\r\n credentials = credentials.concat(otcCredentials);\r\n\r\n if (Helpers.Array.first(\r\n otcCredentials,\r\n function (otcCredential)\r\n {\r\n return !otcCredential.proof.isNopa;\r\n }))\r\n {\r\n credentials = credentials.concat({ credType: CredentialType.Password, isDefault: false });\r\n }\r\n }\r\n }\r\n\r\n return credentials;\r\n }\r\n\r\n function _getInvalidPhoneNumberGctResult(errorHr)\r\n {\r\n if (_isPhoneNumberFullyQualified)\r\n {\r\n return _getGctResultShowErrorAction(_strings[\"CT_PWD_STR_Error_InvalidPhoneNumber\"], true );\r\n }\r\n\r\n return _getGctResultSwitchViewAction(PaginatedState.PhoneDisambiguation, { phoneDisambigError: errorHr });\r\n }\r\n\r\n function _getUsernameNotFoundGctResult(unsafe_username, useAltUsernameExistenceError, response, isFidoSupported)\r\n {\r\n var errorString;\r\n var isSignupAllowedForUsername = _isSignupAllowedForUsername(unsafe_username, response);\r\n var estsProperties = response.EstsProperties || {};\r\n var isAadVerifiedDomain = estsProperties.DomainType\r\n && estsProperties.DomainType !== DomainType.Unknown\r\n && estsProperties.DomainType !== DomainType.Consumer;\r\n\r\n if (response.IsProofForAlias)\r\n {\r\n if (_isImprovedUsernameRecovery)\r\n {\r\n return _getSignupRedirectGctResultForResponse(unsafe_username, response, _msaSignupUrl);\r\n }\r\n\r\n \r\n return _getGctResultSwitchViewAction(PaginatedState.ConfirmRecoverUsername);\r\n }\r\n else if (_isSignupAllowed && isSignupAllowedForUsername && _isCombinedSignInSignUp())\r\n {\r\n if (_redirectToSignupOnNotExists)\r\n {\r\n \r\n return _getSignupRedirectGctResultForResponse(unsafe_username, response);\r\n }\r\n\r\n \r\n return _getGctResultSwitchViewAction(PaginatedState.ConfirmSignup);\r\n }\r\n\r\n \r\n if (_isSelfServiceSignupUxEnabled)\r\n {\r\n errorString = _strings[\"CT_PWD_STR_SSSU_Error_EmailAccountNotFound\"];\r\n }\r\n else if (useAltUsernameExistenceError)\r\n {\r\n if (response.ThrottleStatus === ThrottleStatus.NotThrottled && isAadVerifiedDomain)\r\n {\r\n errorString = _strings[\"CT_PWD_STR_Error_UsernameNotExist_Alternate_VerifiedDomain\"];\r\n }\r\n else\r\n {\r\n errorString = _strings[\"CT_PWD_STR_Error_UsernameNotExist_Alternate\"];\r\n }\r\n }\r\n else if (_getPreferredCredential(response, isFidoSupported) === CredentialType.OneTimeCode)\r\n {\r\n \r\n \r\n if (response.ThrottleStatus === ThrottleStatus.MsaThrottled)\r\n {\r\n errorString = _strings[\"CT_PWD_STR_Error_UsernameNotExists_EmailOtpAllowed_MsaFailed\"];\r\n }\r\n else\r\n {\r\n errorString = _strings[\"CT_PWD_STR_Error_UsernameNotExists_EmailOtpAllowed\"];\r\n }\r\n }\r\n else if (_useConsumerEmailError && estsProperties.DomainType === DomainType.Consumer)\r\n {\r\n errorString = _strings[\"CT_PWD_STR_Error_UsernameNotExist_ConsumerEmail\"];\r\n }\r\n else if (response.ThrottleStatus === ThrottleStatus.NotThrottled && isAadVerifiedDomain)\r\n {\r\n if (isSignupAllowedForUsername)\r\n {\r\n errorString = _strings[\"CT_PWD_STR_Error_UsernameNotExist_VerifiedDomain_SignupAllowed\"];\r\n }\r\n else\r\n {\r\n errorString = _strings[\"CT_PWD_STR_Error_UsernameNotExist_VerifiedDomain\"];\r\n }\r\n }\r\n else if (response.ThrottleStatus === ThrottleStatus.MsaThrottled)\r\n {\r\n if (isAadVerifiedDomain && isSignupAllowedForUsername)\r\n {\r\n errorString = _strings[\"CT_PWD_STR_Error_UsernameNotExist_VerifiedDomain_MsaFailed_SignupAllowed\"];\r\n }\r\n else if (isAadVerifiedDomain)\r\n {\r\n errorString = _strings[\"CT_PWD_STR_Error_UsernameNotExist_VerifiedDomain_MsaFailed\"];\r\n }\r\n else if (_isSignupAllowed && !_signupUrl)\r\n {\r\n errorString = _strings[\"CT_PWD_STR_Error_UsernameNotExist_Guest_SignupAllowed_MsaFailed\"];\r\n }\r\n else\r\n {\r\n errorString = _strings[\"CT_PWD_STR_Error_UnknownDomain_MsaFailed\"];\r\n }\r\n }\r\n else if (_isSignup && !isAadVerifiedDomain)\r\n {\r\n errorString = _strings[\"CT_PWD_STR_Error_UsernameNotExist_Guest_Signup\"];\r\n }\r\n else if (_isPhoneNumberFullyQualified)\r\n {\r\n errorString = _strings[\"CT_PWD_STR_Error_InvalidPhoneNumber\"];\r\n }\r\n else\r\n {\r\n errorString = _strings[\"CT_PWD_STR_Error_UsernameNotExist\"];\r\n }\r\n\r\n \r\n \r\n return _getGctResultShowErrorAction(\r\n StringHelpers.format(\r\n errorString,\r\n BrowserHelper.htmlEscape(StringHelpers.extractDomain(unsafe_username)),\r\n BrowserHelper.htmlEscape(unsafe_username)),\r\n true );\r\n }\r\n\r\n function _getOtherIdpRedirectGctResult(otherIdpRedirectUrl, unsafe_username)\r\n {\r\n \r\n \r\n var encodedUsername = encodeURIComponent(unsafe_username).replace(new RegExp(\"'\", \"g\"), \"%27\");\r\n\r\n \r\n otherIdpRedirectUrl = QueryString.appendOrReplace(otherIdpRedirectUrl, \"username\", encodedUsername);\r\n otherIdpRedirectUrl = QueryString.appendOrReplace(otherIdpRedirectUrl, \"login_hint\", encodedUsername);\r\n\r\n var otherIdpRedirectPostParams = _otherIdpRedirectPostParams ? ObjectHelpers.clone(_otherIdpRedirectPostParams) : null;\r\n\r\n if (otherIdpRedirectPostParams)\r\n {\r\n otherIdpRedirectPostParams.unsafe_username = unsafe_username;\r\n }\r\n\r\n return _getGctResultRedirectAction(otherIdpRedirectUrl, otherIdpRedirectPostParams, true , ClientTracingConstants.EventIds.Redirect_OtherIdpRedirection);\r\n }\r\n\r\n function _getUsernameFoundGctResult(unsafe_username, desktopSsoEnabled, fedRedirectParams, response, isProofConfirmationRequired, isFidoSupported)\r\n {\r\n var preferredCredential = _getPreferredCredential(response, isFidoSupported);\r\n\r\n if (_isRestrictedWsi)\r\n {\r\n \r\n if (!response.Credentials.HasPassword\r\n && !response.Credentials.HasGoogleFed\r\n && !response.Credentials.HasCertAuth\r\n && !response.Credentials.HasFido\r\n && !response.Credentials.HasRemoteNGC\r\n && !response.Credentials.HasPhone\r\n && !response.Credentials.HasFacebookFed)\r\n {\r\n _isTapRestrictedWsi = true;\r\n\r\n if (preferredCredential !== CredentialType.AccessPass)\r\n {\r\n return _getGctResultSwitchViewAction(PaginatedState.MoreInfo);\r\n }\r\n }\r\n }\r\n\r\n if (!_disableDesktopSsoPreferredCred && desktopSsoEnabled)\r\n {\r\n return _getGctResultSwitchViewAction(\r\n PaginatedState.FetchSessionsProgress,\r\n {\r\n unsafe_desktopSsoDomainToUse: StringHelpers.extractDomain(unsafe_username),\r\n sessionPullType: SessionPullFlags.Dsso\r\n });\r\n }\r\n\r\n if (response.NativeBridgeRequest && !_blockBridge)\r\n {\r\n if (_enableRefreshCookiesFix)\r\n {\r\n return _getGctResultSwitchViewAction(\r\n PaginatedState.WebNativeBridge,\r\n {\r\n request: response.NativeBridgeRequest,\r\n flowToken: response.FlowToken,\r\n serverData: _serverData,\r\n nonce: response.Nonce || null\r\n });\r\n }\r\n\r\n return _getGctResultSwitchViewAction(\r\n PaginatedState.WebNativeBridge,\r\n {\r\n request: response.NativeBridgeRequest,\r\n flowToken: response.FlowToken,\r\n serverData: _serverData\r\n });\r\n }\r\n\r\n var idpRedirectViewParams =\r\n {\r\n idpRedirectUrl: fedRedirectParams.idpRedirectUrl,\r\n idpRedirectPostParams: fedRedirectParams.idpRedirectPostParams,\r\n idpRedirectProvider: fedRedirectParams.idpRedirectProvider\r\n };\r\n\r\n switch (preferredCredential)\r\n {\r\n case CredentialType.OneTimeCode:\r\n var paginatedState = PaginatedState.OneTimeCode;\r\n\r\n \r\n \r\n \r\n if (_disableAutoSend || response.Credentials.OTCNotAutoSent)\r\n {\r\n paginatedState = isProofConfirmationRequired ? PaginatedState.ProofConfirmation : PaginatedState.ConfirmSend;\r\n }\r\n\r\n return _getGctResultSwitchViewAction(paginatedState);\r\n\r\n case CredentialType.PublicIdentifierCode:\r\n if (_deprecateSmsAutoSend && response.Credentials.OtcNotAutoSent)\r\n {\r\n return _getGctResultSwitchViewAction(PaginatedState.ConfirmSend);\r\n }\r\n \r\n else if (!_disableAutoSend && (!response.Credentials.SasParams || !response.Credentials.SasParams.Success))\r\n {\r\n return _getGctResultShowErrorAction(_strings[\"CT_PWD_STR_Error_GetCredentialTypeError\"], false , true );\r\n }\r\n\r\n return _getGctResultSwitchViewAction(_disableAutoSend ? PaginatedState.ConfirmSend : PaginatedState.OneTimeCode);\r\n\r\n case CredentialType.Fido:\r\n return _getGctResultSwitchViewAction(PaginatedState.Fido);\r\n\r\n case CredentialType.RemoteNGC:\r\n var isPushNotification = response.Credentials.RemoteNgcParams.DefaultType === RemoteNgcType.PushNotification;\r\n return _getGctResultSwitchViewAction(\r\n _disableAutoSend && isPushNotification ? PaginatedState.ConfirmSend : PaginatedState.RemoteNGC,\r\n idpRedirectViewParams);\r\n\r\n case CredentialType.Federation:\r\n case CredentialType.CloudFederation:\r\n return _getGctResultSwitchViewAction(PaginatedState.IdpRedirect, idpRedirectViewParams);\r\n\r\n case CredentialType.LinkedIn:\r\n case CredentialType.GitHub:\r\n case CredentialType.Google:\r\n case CredentialType.Facebook:\r\n return _getGctResultSwitchViewAction(\r\n (_getAvailableCreds(response, isFidoSupported).length > 1 || _getEvictedCreds(response, isFidoSupported).length > 0) ? PaginatedState.IdpRedirectSpeedbump : PaginatedState.IdpRedirect,\r\n idpRedirectViewParams);\r\n\r\n case CredentialType.AccessPass:\r\n return _getGctResultSwitchViewAction(PaginatedState.AccessPass, idpRedirectViewParams);\r\n\r\n case CredentialType.NoPreferredCredential:\r\n return _getGctResultSwitchViewAction(PaginatedState.CredentialPicker, idpRedirectViewParams);\r\n\r\n case CredentialType.OtherMicrosoftIdpFederation:\r\n return _getSignupRedirectGctResultForResponse(unsafe_username, response, _msaSignupUrl);\r\n\r\n case CredentialType.Certificate:\r\n if (_showInterstitialView)\r\n {\r\n return _getGctResultSwitchViewAction(PaginatedState.CertificateInterstitialView);\r\n }\r\n return _getGctResultRedirectAction(response.Credentials.CertAuthParams.CertAuthUrl, _getCertAuthParams(response.FlowToken));\r\n\r\n case CredentialType.QrCodePin:\r\n return _getGctResultSwitchViewAction(PaginatedState.QrCodeScan);\r\n\r\n case CredentialType.Password:\r\n default:\r\n return _getGctResultSwitchViewAction(PaginatedState.Password);\r\n }\r\n }\r\n\r\n function _getSignupRedirectGctResultForResponse(unsafe_username, response, signupUrl)\r\n {\r\n signupUrl = signupUrl || _signupUrl;\r\n signupUrl = QueryString.remove(signupUrl, \"username\");\r\n signupUrl = QueryString.remove(signupUrl, \"login_hint\");\r\n\r\n var signupUrlPostParams = _signupUrlPostParams ? ObjectHelpers.clone(_signupUrlPostParams) : null;\r\n\r\n \r\n if (response\r\n && (response.IfExistsResult === IfExistsResult.NotExist\r\n || (response.IsUnmanaged && response.IfExistsResult === IfExistsResult.Exists)))\r\n {\r\n if (_isSignupAllowedForUsername(unsafe_username, response))\r\n {\r\n if (signupUrlPostParams)\r\n {\r\n signupUrlPostParams.unsafe_username = unsafe_username;\r\n }\r\n else\r\n {\r\n signupUrl = QueryString.appendOrReplace(signupUrl, \"username\", encodeURIComponent(unsafe_username));\r\n signupUrl = QueryString.appendOrReplace(signupUrl, \"login_hint\", encodeURIComponent(unsafe_username));\r\n }\r\n }\r\n }\r\n\r\n return _getGctResultRedirectAction(signupUrl, signupUrlPostParams, false , ClientTracingConstants.EventIds.Redirect_MSASignUpPage);\r\n }\r\n\r\n function _getFedRedirectParams(unsafe_username, response, isFidoSupported)\r\n {\r\n var fedRedirectParams = {};\r\n var preferredCredential = _getPreferredCredential(response, isFidoSupported);\r\n var estsProperties = response.EstsProperties || {};\r\n\r\n if (!response.Credentials\r\n || (!response.Credentials.FederationRedirectUrl\r\n && !response.Credentials.LinkedInParams\r\n && !response.Credentials.GitHubParams\r\n && !response.Credentials.GoogleParams\r\n && !response.Credentials.FacebookParams))\r\n {\r\n \r\n return fedRedirectParams;\r\n }\r\n\r\n switch (preferredCredential)\r\n {\r\n case CredentialType.RemoteNGC:\r\n case CredentialType.Federation:\r\n case CredentialType.AccessPass:\r\n case CredentialType.NoPreferredCredential:\r\n if (estsProperties\r\n && estsProperties.SamlRequest\r\n && estsProperties.RelayState)\r\n {\r\n fedRedirectParams.idpRedirectUrl = response.Credentials.FederationRedirectUrl;\r\n fedRedirectParams.idpRedirectPostParams =\r\n {\r\n SAMLRequest: estsProperties.SamlRequest,\r\n RelayState: estsProperties.RelayState,\r\n unsafe_username: unsafe_username\r\n };\r\n }\r\n else if (_fixUrlExternalIdpFederation && response.Credentials.HasExternalOidcFed)\r\n {\r\n fedRedirectParams.idpRedirectUrl = response.Credentials.FederationRedirectUrl;\r\n }\r\n else\r\n {\r\n fedRedirectParams.idpRedirectUrl = _buildFederationRedirectUrl(\r\n response.Credentials.FederationRedirectUrl,\r\n unsafe_username);\r\n }\r\n\r\n break;\r\n\r\n case CredentialType.CloudFederation:\r\n fedRedirectParams.idpRedirectUrl = response.Credentials.FederationRedirectUrl;\r\n break;\r\n\r\n case CredentialType.LinkedIn:\r\n fedRedirectParams.idpRedirectUrl = response.Credentials.LinkedInParams.LinkedInRedirectUrl;\r\n fedRedirectParams.idpRedirectProvider = BindProvider.LinkedIn;\r\n break;\r\n\r\n case CredentialType.GitHub:\r\n fedRedirectParams.idpRedirectUrl = response.Credentials.GitHubParams.GithubRedirectUrl;\r\n fedRedirectParams.idpRedirectProvider = BindProvider.GitHub;\r\n break;\r\n\r\n case CredentialType.Google:\r\n fedRedirectParams.idpRedirectUrl = response.Credentials.GoogleParams.GoogleRedirectUrl;\r\n fedRedirectParams.idpRedirectProvider = BindProvider.Google;\r\n break;\r\n\r\n case CredentialType.Facebook:\r\n fedRedirectParams.idpRedirectUrl = response.Credentials.FacebookParams.FacebookRedirectUrl;\r\n fedRedirectParams.idpRedirectProvider = BindProvider.Facebook;\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n\r\n return fedRedirectParams;\r\n }\r\n\r\n function _buildFederationRedirectUrl(fedUrl, unsafe_username)\r\n {\r\n if (_federationRedirectQueryString)\r\n {\r\n var fedQs = QueryString.appendOrReplace(\r\n \"?\" + _federationRedirectQueryString,\r\n \"wctx\",\r\n \"LoginOptions%3D3%26\" + QueryString.extract(\"wctx\", \"?\" + _federationRedirectQueryString));\r\n\r\n fedQs = fedQs.substr(1);\r\n\r\n fedUrl = QueryString.append(fedUrl, fedQs);\r\n }\r\n else\r\n {\r\n fedUrl = QueryString.appendOrReplace(\r\n fedUrl,\r\n \"wctx\",\r\n \"LoginOptions%3D3%26\" + QueryString.extract(\"wctx\", fedUrl));\r\n }\r\n\r\n fedUrl = QueryString.appendOrReplace(fedUrl, \"cbcxt\", encodeURIComponent(decodeURIComponent(QueryString.extract(\"cbcxt\"))));\r\n fedUrl = QueryString.appendOrReplace(fedUrl, \"username\", encodeURIComponent(unsafe_username));\r\n fedUrl = QueryString.appendOrReplace(fedUrl, \"mkt\", encodeURIComponent(decodeURIComponent(QueryString.extract(\"mkt\"))));\r\n fedUrl = QueryString.appendOrReplace(fedUrl, \"lc\", encodeURIComponent(decodeURIComponent(QueryString.extract(\"lc\"))));\r\n\r\n return fedUrl;\r\n }\r\n\r\n function _getCertAuthParams(flowToken)\r\n {\r\n var certAuthParams =\r\n {\r\n ctx: _originalRequest,\r\n flowToken: flowToken\r\n };\r\n\r\n if (_canaryTokenName)\r\n {\r\n certAuthParams[_canaryTokenName] = _canary;\r\n }\r\n\r\n return certAuthParams;\r\n }\r\n\r\n function _getCleansedUsername(unsafe_username)\r\n {\r\n return StringHelpers.cleanseUsername(unsafe_username, true );\r\n }\r\n\r\n function _isSignupAllowedForUsername(unsafe_username, response)\r\n {\r\n \r\n var isSkypeName = _allowSkype && StringHelpers.isSkypeName(unsafe_username);\r\n var estsProperties = response.EstsProperties || {};\r\n var isAadVerifiedDomain = estsProperties.DomainType\r\n && estsProperties.DomainType !== DomainType.Unknown\r\n && estsProperties.DomainType !== DomainType.Consumer;\r\n\r\n if (isAadVerifiedDomain)\r\n {\r\n return response.IsSignupDisallowed === false;\r\n }\r\n\r\n return !response.IsSignupDisallowed && !isSkypeName;\r\n }\r\n\r\n function _isCombinedSignInSignUp()\r\n {\r\n return _redirectToSignupOnNotExists || _checkProofForAliases;\r\n }\r\n\r\n function _getGctResultSwitchViewAction(viewId, viewParams)\r\n {\r\n return { action: GctResultAction.SwitchView, viewId: viewId, viewParams: viewParams };\r\n }\r\n\r\n function _getGctResultShowErrorAction(error, isBlockingError, bypassCache)\r\n {\r\n return { action: GctResultAction.ShowError, error: error, isBlockingError: isBlockingError, bypassCache: bypassCache };\r\n }\r\n\r\n function _getGctResultRedirectAction(redirectUrl, redirectPostParams, isIdpRedirect, eventId)\r\n {\r\n return { action: GctResultAction.Redirect, redirectUrl: redirectUrl, redirectPostParams: redirectPostParams, isIdpRedirect: isIdpRedirect, eventId: eventId };\r\n }\r\n\r\n (function _initialize()\r\n {\r\n _isOtherIdpSupported = !_checkCurrentIdpOnly && _allowedIdentities === AllowedIdentitiesType.Both;\r\n\r\n _useAltUsernameExistenceErrorPromise = Promise.resolve(false);\r\n\r\n if (_checkForWindowsSku && Host && Host.isMsaProviderAllowedAsync)\r\n {\r\n _useAltUsernameExistenceErrorPromise = Host.isMsaProviderAllowedAsync();\r\n }\r\n\r\n _isFidoSupportedPromise = BrowserHelper.isFidoSupportedAsync(_isFidoSupportedHint, _useWebviewFidoCustomProtocol);\r\n\r\n if (_bindCookiesUsingPoP)\r\n {\r\n require.ensure([],\r\n function ()\r\n {\r\n var proofOfPossessionGenerator = require(\"./ProofOfPossessionGenerator\");\r\n _getPoPAuthenticatorPromise = proofOfPossessionGenerator.computePoPAuthenticator(\"POST\", _getCredentialTypeUrl).then(\r\n function (authenticator)\r\n {\r\n return { cpa: authenticator, err: null };\r\n },\r\n function (err)\r\n {\r\n return { cpa: \"\", err: err.message };\r\n });\r\n },\r\n \"PoP\");\r\n }\r\n\r\n if (_enableWebNativeBridge)\r\n {\r\n require.ensure([],\r\n function ()\r\n {\r\n var WAMMessageHandler = require(\"./WAMMessageHandler\");\r\n WAMMessageHandler.getBrowserCoreProvider(wamExtensionId, wamChannelId).then(function () { },\r\n function ()\r\n {\r\n _blockBridge = true;\r\n });\r\n },\r\n \"WAMMessageHandler\");\r\n }\r\n })();\r\n \r\n}\r\n\r\nmodule.exports = GetCredentialTypeRequestHelper;","var JSON = require(\"JSON\");\r\nvar Browser = require(\"./BrowserControl\");\r\nvar Helpers = require(\"./Helpers\");\r\n\r\nvar ObjectHelpers = Helpers.Object;\r\nvar HttpCode = Browser.HttpCode;\r\n\r\nvar w = window;\r\n\r\nexports.RequestType =\r\n{\r\n Post: \"POST\",\r\n Get: \"GET\"\r\n};\r\n\r\nvar AjaxState = exports.State =\r\n{\r\n Unsupported: -1,\r\n Unsent: 0,\r\n Done: 4,\r\n Timeout: 5\r\n};\r\n\r\nexports.Event =\r\n{\r\n OnSuccess: \"ajaxsuccess\",\r\n OnError: \"ajaxerror\",\r\n OnTimeout: \"ajaxtimeout\"\r\n};\r\n\r\nexports.Helper =\r\n{\r\n \r\n generateRequestString: function (requestData)\r\n {\r\n var requestString = \"\";\r\n if (requestData)\r\n {\r\n ObjectHelpers.forEach(\r\n requestData,\r\n function (key, value)\r\n {\r\n if (value || value === \"\")\r\n {\r\n if (requestString.length > 0)\r\n {\r\n requestString += \"&\";\r\n }\r\n\r\n requestString += key + \"=\" + value;\r\n }\r\n });\r\n }\r\n\r\n return requestString;\r\n }\r\n};\r\n\r\n\r\nexports.Handler = function (params)\r\n{\r\n var _this = this;\r\n var c_contentType = \"Content-type\";\r\n\r\n var _response = \"\";\r\n var _httpSuccessCodes = [];\r\n var _event = null;\r\n var _ajaxRequest = null;\r\n var _isTimedOut = false;\r\n var _isSupported = true;\r\n var _timeoutObject = null;\r\n var _isCrossDomain = false;\r\n\r\n var _hasContentTypeParam = !!params.contentType;\r\n var _hasHeadersParam = !!params.headers;\r\n var _hasHeaderValueParam = !!params.headerValue;\r\n\r\n var _data = params.data || \"\";\r\n var _targetUrl = params.targetUrl || \"\";\r\n var _requestType = params.requestType || \"\";\r\n var _isAsync = params.isAsync !== false;\r\n var _timeout = params.timeout || 0;\r\n var _username = params.username || \"\";\r\n var _password = params.password || \"\";\r\n var _contentType = params.contentType || \"application/x-www-form-urlencoded\";\r\n var _withCredentials = params.withCredentials || false;\r\n var _breakCache = params.breakCache || false;\r\n var _responseType = params.responseType || \"\";\r\n var _headers = params.headers || {};\r\n\r\n var _successCallback = params.successCallback;\r\n var _failureCallback = params.failureCallback;\r\n var _timeoutCallback = params.timeoutCallback;\r\n\r\n \r\n\r\n \r\n _this.sendRequest = function (event)\r\n {\r\n _event = event;\r\n _initializeRequest();\r\n\r\n if (_isSupported)\r\n {\r\n if (_timeout > 0)\r\n {\r\n _timeoutObject = setTimeout(function () { _onTimeout.call(_this); }, _timeout);\r\n }\r\n\r\n _ajaxRequest.send(_data);\r\n }\r\n };\r\n\r\n \r\n _this.getState = function ()\r\n {\r\n if (!_isSupported)\r\n {\r\n return AjaxState.Unsupported;\r\n }\r\n\r\n if (_isTimedOut)\r\n {\r\n return AjaxState.Timeout;\r\n }\r\n\r\n if (_ajaxRequest)\r\n {\r\n return _ajaxRequest.readyState;\r\n }\r\n\r\n return AjaxState.Unsent;\r\n };\r\n\r\n \r\n _this.getStatus = function ()\r\n {\r\n if (_isTimedOut)\r\n {\r\n return HttpCode.Timeout;\r\n }\r\n\r\n if (_ajaxRequest)\r\n {\r\n return _ajaxRequest.status;\r\n }\r\n\r\n return 0;\r\n };\r\n\r\n \r\n _this.cancel = function ()\r\n {\r\n if (_ajaxRequest)\r\n {\r\n _ajaxRequest.canceled = true;\r\n _ajaxRequest.abort();\r\n }\r\n };\r\n\r\n \r\n _this.getResponseJson = function ()\r\n {\r\n return _response ? JSON.parse(_response) : {};\r\n };\r\n\r\n \r\n _this.isComplete = function ()\r\n {\r\n return (_this.getState() === AjaxState.Done || _this.getState() === AjaxState.Timeout);\r\n };\r\n\r\n \r\n _this.isSuccess = function ()\r\n {\r\n return (_this.isComplete() && _httpSuccessCodes[_this.getStatus()]);\r\n };\r\n\r\n \r\n _this.clearResponse = function ()\r\n {\r\n _response = \"\";\r\n };\r\n\r\n \r\n function _onCompletion(successOverride, failOverride)\r\n {\r\n if (successOverride || _this.isSuccess())\r\n {\r\n if (_successCallback)\r\n {\r\n _successCallback(_event, _response);\r\n }\r\n }\r\n else if (failOverride || (!_this.isSuccess() && !_isTimedOut))\r\n {\r\n if (_failureCallback)\r\n {\r\n _failureCallback(_event, _ajaxRequest, _ajaxRequest.statusText);\r\n }\r\n }\r\n }\r\n\r\n \r\n function _onTimeout()\r\n {\r\n _timeoutObject = null;\r\n _isTimedOut = true;\r\n _this.cancel();\r\n\r\n if (_timeoutCallback)\r\n {\r\n var timeoutXhr =\r\n {\r\n status: HttpCode.Timeout,\r\n statusText: \"timeout\"\r\n };\r\n\r\n _timeoutCallback(_event, timeoutXhr, timeoutXhr.statusText);\r\n }\r\n }\r\n\r\n \r\n function _onAbort(event)\r\n {\r\n _clearTimeout();\r\n\r\n \r\n \r\n if (!_this.isComplete() && !_ajaxRequest.canceled && _failureCallback)\r\n {\r\n var abortXhr =\r\n {\r\n status: HttpCode.ClientClosedRequest,\r\n statusText: \"abort\"\r\n };\r\n\r\n _failureCallback(event, abortXhr, abortXhr.statusText);\r\n }\r\n }\r\n\r\n \r\n function _onError(event)\r\n {\r\n \r\n if (!_this.isComplete())\r\n {\r\n _setResponseAndComplete(event);\r\n }\r\n }\r\n\r\n \r\n function _evt_readyState_onchange(event)\r\n {\r\n \r\n \r\n \r\n if (_this.isComplete() && !_isTimedOut)\r\n {\r\n _setResponseAndComplete(event);\r\n }\r\n }\r\n\r\n \r\n function _setResponseAndComplete(event)\r\n {\r\n _clearTimeout();\r\n\r\n _response = _ajaxRequest.responseText;\r\n _event = event;\r\n _onCompletion();\r\n }\r\n\r\n \r\n function _clearTimeout()\r\n {\r\n if (_timeoutObject)\r\n {\r\n clearTimeout(_timeoutObject);\r\n _timeoutObject = null;\r\n }\r\n }\r\n\r\n \r\n function _initializeRequest()\r\n {\r\n _isTimedOut = false;\r\n\r\n var xhrSupportsCORS = \"withCredentials\" in new XMLHttpRequest();\r\n if (!_isCrossDomain || xhrSupportsCORS)\r\n {\r\n var targetUrl = _targetUrl;\r\n\r\n _ajaxRequest = new XMLHttpRequest();\r\n _ajaxRequest.onreadystatechange = _evt_readyState_onchange;\r\n\r\n if (_ajaxRequest.addEventListener)\r\n {\r\n _ajaxRequest.addEventListener(\"abort\", _onAbort);\r\n _ajaxRequest.addEventListener(\"error\", _onError);\r\n }\r\n\r\n if (_breakCache)\r\n {\r\n targetUrl = Browser.QueryString.appendOrReplace(targetUrl, \"_\", (new Date()).getTime());\r\n }\r\n\r\n if (_username.length > 0)\r\n {\r\n _ajaxRequest.open(_requestType, targetUrl, _isAsync, _username, _password);\r\n }\r\n else\r\n {\r\n _ajaxRequest.open(_requestType, targetUrl, _isAsync);\r\n }\r\n\r\n _this.clearResponse();\r\n\r\n ObjectHelpers.forEach(\r\n _headers,\r\n function (headerName, headerValue)\r\n {\r\n _ajaxRequest.setRequestHeader(headerName, headerValue);\r\n });\r\n\r\n _ajaxRequest.responseType = _responseType;\r\n _ajaxRequest.withCredentials = _withCredentials;\r\n }\r\n else if (w.XDomainRequest)\r\n {\r\n if (!_isAsync || _username || _password || _hasContentTypeParam || _hasHeadersParam || _hasHeaderValueParam || _withCredentials)\r\n {\r\n \r\n \r\n _isSupported = false;\r\n }\r\n else\r\n {\r\n _ajaxRequest = new w.XDomainRequest();\r\n _ajaxRequest.onerror = function () { _requestCompleted(false); };\r\n _ajaxRequest.onload = function () { _requestCompleted(true); };\r\n\r\n _ajaxRequest.open(_requestType, _targetUrl);\r\n _this.clearResponse();\r\n }\r\n }\r\n else\r\n {\r\n _isSupported = false;\r\n }\r\n }\r\n\r\n \r\n function _requestCompleted(success)\r\n {\r\n _clearTimeout();\r\n _response = _ajaxRequest.responseText;\r\n _onCompletion(success, !success);\r\n }\r\n\r\n (function _initialize()\r\n {\r\n _headers[c_contentType] = _contentType;\r\n\r\n _httpSuccessCodes[HttpCode.Ok] = true;\r\n _httpSuccessCodes[HttpCode.NotModified] = true;\r\n _httpSuccessCodes[HttpCode.Timeout] = false;\r\n\r\n var targetUrlDomain = Helpers.String.extractDomainFromUrl(_targetUrl);\r\n if (targetUrlDomain)\r\n {\r\n _isCrossDomain = Helpers.String.extractDomainFromUrl(document.location.href) !== targetUrlDomain;\r\n }\r\n })();\r\n};","var Helpers = require(\"./Helpers\");\r\nvar ClientTracingConstants = require(\"./ClientTracingConstants\");\r\nvar _viewModelDictionary = {};\r\nvar _nullViewModelTracingContextObject = null;\r\n\r\n\r\n\r\nexports.setDataPoint = function (viewModel, dataPointName, dataPointValue, scope)\r\n{\r\n \r\n var options = { scope: (scope ? scope : ClientTracingConstants.DataPointScope.ClientEvent) };\r\n var tracingContextObject = _getTracingContextObject(viewModel);\r\n tracingContextObject.tracingDataPoints = tracingContextObject.tracingDataPoints || {};\r\n tracingContextObject.tracingDataPoints[dataPointName] =\r\n {\r\n options: options,\r\n \r\n value: function () { return dataPointValue; }\r\n };\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar _getTracingContextObject = exports.getTracingContextObject = function (viewModel)\r\n{\r\n if (!viewModel)\r\n {\r\n _nullViewModelTracingContextObject = _nullViewModelTracingContextObject || {};\r\n return _nullViewModelTracingContextObject;\r\n }\r\n\r\n if (!_viewModelDictionary[viewModel])\r\n {\r\n _viewModelDictionary[viewModel] = {};\r\n }\r\n\r\n return _viewModelDictionary[viewModel];\r\n};\r\n\r\n\r\nexports.getTracingContextObjects = function ()\r\n{\r\n var tracingContextObjectsArray = [];\r\n Helpers.Object.forEach(\r\n _viewModelDictionary,\r\n function (viewModel, tracingContextObject)\r\n {\r\n if (tracingContextObject)\r\n {\r\n tracingContextObjectsArray.push({ viewModel: viewModel, context: tracingContextObject });\r\n }\r\n }\r\n );\r\n\r\n if (_nullViewModelTracingContextObject)\r\n {\r\n tracingContextObjectsArray.push(_nullViewModelTracingContextObject);\r\n }\r\n\r\n return tracingContextObjectsArray;\r\n};\r\n\r\n\r\nexports.registerTracingObservables = function (viewModel, observable, options)\r\n{\r\n var tracingContextObject = _getTracingContextObject(viewModel);\r\n tracingContextObject.tracingObservables = tracingContextObject.tracingObservables || [];\r\n tracingContextObject.tracingObservables.push(\r\n {\r\n options: options,\r\n value: observable\r\n });\r\n};\r\n\r\n\r\nexports.deleteTracingContextObject = function (viewModel)\r\n{\r\n if (!viewModel)\r\n {\r\n _nullViewModelTracingContextObject = null;\r\n }\r\n else if (_viewModelDictionary[viewModel])\r\n {\r\n delete _viewModelDictionary[viewModel];\r\n }\r\n};\r\n\r\n\r\nexports.attachViewLoadClientTracingOptions = function (viewModel, clientTracingOptions)\r\n{\r\n var tracingContextObject = _getTracingContextObject(viewModel);\r\n tracingContextObject.viewLoadClientTracingOptions = clientTracingOptions;\r\n};\r\n\r\n","var ko = require(\"knockout\");\r\nvar Browser = require(\"./BrowserControl\");\r\nvar ComponentEvent = require(\"./ComponentEvent\");\r\n\r\nvar w = window;\r\n\r\n\r\nfunction DialogContentControl(params, templateNodes)\r\n{\r\n var _this = this;\r\n\r\n \r\n var _dialogId = params.dialogId;\r\n var _data = params.data;\r\n var _templateNodes = templateNodes;\r\n \r\n\r\n \r\n _this.onRegisterDialog = ComponentEvent.create();\r\n _this.onUnregisterDialog = ComponentEvent.create();\r\n \r\n\r\n \r\n _this.dispose = function ()\r\n {\r\n _this.onUnregisterDialog(_dialogId);\r\n };\r\n \r\n\r\n \r\n (function _initialize()\r\n {\r\n _this.onRegisterDialog(_dialogId, { templateNodes: _templateNodes, data: _data });\r\n })();\r\n \r\n}\r\n\r\nko.components.register(\"dialog-content-control\",\r\n {\r\n viewModel:\r\n {\r\n createViewModel: function (params, componentInfo)\r\n {\r\n return new DialogContentControl(params, componentInfo.templateNodes);\r\n }\r\n },\r\n template: \"<!-- -->\",\r\n synchronous: !w.ServerData.A || Browser.Helper.isStackSizeGreaterThan(w.ServerData.A),\r\n enableExtensions: true\r\n });\r\n\r\nmodule.exports = DialogContentControl;","var ko = require(\"knockout\");\r\nvar Browser = require(\"./BrowserControl\");\r\nvar ComponentEvent = require(\"./ComponentEvent\");\r\nvar Constants = require(\"./Constants\");\r\n\r\nvar w = window;\r\nvar AgreementType = Constants.AgreementType;\r\nvar BrowserHelper = Browser.Helper;\r\nvar PaginatedState = Constants.PaginatedState;\r\n\r\nfunction FooterControl(params)\r\n{\r\n \r\n var _this = this;\r\n \r\n\r\n \r\n var _serverData = params.serverData;\r\n var _showLogo = params.showLogo;\r\n var _showLinks = params.showLinks;\r\n var _hideFooter = params.hideFooter;\r\n var _debugDetails = params.debugDetails;\r\n var _showDebugDetails = params.showDebugDetails;\r\n var _hasDarkBackground = params.hasDarkBackground;\r\n var _useDefaultBackground = params.useDefaultBackground;\r\n var _showFooter = params.showFooter;\r\n var _hideTOU = params.hideTOU;\r\n var _hidePrivacy = params.hidePrivacy;\r\n var _termsText = params.termsText;\r\n var _privacyText = params.privacyText;\r\n var _customTermsLink = params.termsLink;\r\n var _customPrivacyLink = params.privacyLink;\r\n \r\n\r\n \r\n var _strings = _serverData.str;\r\n var _isHosted = _serverData.q;\r\n var _isChinaDc = _serverData.fIsChinaDc;\r\n var _termsLink = _serverData.aU || _serverData.aV;\r\n var _privacyLink = _serverData.au || _serverData.AW;\r\n var _impressumLink = _serverData.aw;\r\n var _a11yConformeLink = _serverData.a11yConformeLink;\r\n var _icpLink = _serverData.urlGallatinIcp;\r\n var _enableLivePreview = _serverData.fEnableLivePreview;\r\n \r\n\r\n \r\n _this.onAgreementClick = ComponentEvent.create();\r\n _this.onShowDebugDetails = ComponentEvent.create();\r\n _this.onSwitchView = ComponentEvent.create();\r\n \r\n\r\n \r\n _this.showDebugDetails = ko.observable(!!_showDebugDetails);\r\n _this.focusMoreInfo = ko.observable(false).extend({ notify: \"always\" });\r\n\r\n _this.showFooter = (_showFooter !== undefined) ? _showFooter : true;\r\n _this.hideTOU = _hideTOU || false;\r\n _this.hidePrivacy = _hidePrivacy || false;\r\n _this.termsText = BrowserHelper.htmlUnescape(_termsText) || _strings[\"MOBILE_STR_Footer_Terms\"];\r\n _this.privacyText = BrowserHelper.htmlUnescape(_privacyText) || _strings[\"MOBILE_STR_Footer_Privacy\"];\r\n _this.termsLink = _customTermsLink || _termsLink;\r\n _this.privacyLink = _customPrivacyLink || _privacyLink;\r\n _this.showLogo = _showLogo && !_isChinaDc;\r\n _this.showLinks = _showLinks;\r\n _this.hideFooter = _hideFooter;\r\n _this.showIcpLicense = _isChinaDc;\r\n _this.debugDetails = _debugDetails;\r\n _this.impressumLink = _impressumLink;\r\n _this.a11yConformeLink = _a11yConformeLink;\r\n _this.icpLink = _icpLink;\r\n _this.hasDarkBackground = _hasDarkBackground;\r\n _this.useDefaultBackground = _useDefaultBackground;\r\n \r\n\r\n \r\n _this.privacyLink_onClick = function ()\r\n {\r\n handleLegalLink(AgreementType.Privacy, _this.privacyLink);\r\n };\r\n\r\n _this.termsLink_onClick = function ()\r\n {\r\n handleLegalLink(AgreementType.Tou, _this.termsLink);\r\n };\r\n\r\n _this.impressumLink_onClick = function ()\r\n {\r\n handleLegalLink(AgreementType.Impressum, _this.impressumLink);\r\n };\r\n\r\n _this.services_onClick = function ()\r\n {\r\n _this.onSwitchView(PaginatedState.SeeHowDataIsManaged);\r\n };\r\n\r\n _this.a11yConformeLink_onClick = function ()\r\n {\r\n handleLegalLink(AgreementType.A11yConforme, _this.a11yConformeLink);\r\n };\r\n\r\n _this.moreInfo_onClick = function ()\r\n {\r\n if (!_enableLivePreview)\r\n {\r\n _this.setDebugDetailsState(!_this.showDebugDetails());\r\n _this.onShowDebugDetails();\r\n\r\n if (!_this.showDebugDetails())\r\n {\r\n _this.focusMoreInfo(true);\r\n }\r\n }\r\n };\r\n\r\n _this.setDebugDetailsState = function (state)\r\n {\r\n _this.showDebugDetails(state);\r\n };\r\n\r\n _this.focusMoreInfoLink = function ()\r\n {\r\n _this.focusMoreInfo(true);\r\n };\r\n \r\n\r\n \r\n function handleLegalLink(agreementType, url)\r\n {\r\n if (_isHosted && !_isChinaDc)\r\n {\r\n _this.onAgreementClick(agreementType);\r\n }\r\n else\r\n {\r\n w.open(url, \"_blank\");\r\n }\r\n }\r\n \r\n}\r\n\r\nko.components.register(\"footer-control\",\r\n {\r\n viewModel: FooterControl,\r\n template: require(\"html/Shared/Controls/FooterControlHtml.html\"),\r\n synchronous: !w.ServerData.A || Browser.Helper.isStackSizeGreaterThan(w.ServerData.A),\r\n enableExtensions: true\r\n });\r\n\r\nmodule.exports = FooterControl;","\r\nexports.PlatformTimeout = 0;\r\n\r\n\r\nexports.Timeout = 600000;\r\n\r\n\r\nexports.PromiseTimeout = 250;\r\n\r\nexports.SupportedKeyAlgorithms =\r\n [\r\n -7, \r\n -257 \r\n ];\r\n\r\nexports.Error =\r\n {\r\n Internal: \"InternalError\",\r\n FidoCreateCallUnexpectedResponse: \"FidoCreateCallUnexpectedResponse\"\r\n };\r\n","var ko = require(\"knockout\");\r\nvar Browser = require(\"./BrowserControl\");\r\nvar Helpers = require(\"./Helpers\");\r\nvar ComponentEvent = require(\"./ComponentEvent\");\r\nvar ApiRequest = require(\"./ApiRequest\");\r\nvar DebugDetailsExtensions = require(\"./DebugDetailsKnockoutExtensions\");\r\n\r\nvar w = window;\r\n\r\nvar DateTimeHelpers = Helpers.DateTime;\r\nvar BrowserHelper = Browser.Helper;\r\n\r\nDebugDetailsExtensions.applyExtensions(ko);\r\n\r\nfunction DebugDetailsViewModel(params)\r\n{\r\n \r\n var _this = this;\r\n\r\n var _username = null;\r\n \r\n\r\n \r\n var _debugDetails = params.debugDetails;\r\n var _serverData = params.serverData;\r\n var _isDebugTracingEnabled = params.isDebugTracingEnabled;\r\n var _useWiderWidth = params.useWiderWidth;\r\n \r\n\r\n \r\n var _exceptionMessage = _serverData.ao;\r\n var _setDebugModeUrl = _serverData.urlSetDebugMode;\r\n var _postUsername = _serverData.G;\r\n var _signinName = _serverData.sSigninName;\r\n var _strings = _serverData.str;\r\n var _errorCode = _serverData.sErrorCode;\r\n \r\n\r\n \r\n _this.onCloseBanner = ComponentEvent.create();\r\n _this.onSetDebugTracing = ComponentEvent.create();\r\n \r\n\r\n \r\n _this.debugModeError = ko.observable();\r\n _this.isDebugTracingEnabled = ko.observable(_isDebugTracingEnabled);\r\n _this.sending = ko.observable(false);\r\n _this.showBanner = ko.observable(true);\r\n _this.showDebugDetailsCopyMessage = ko.observable(false);\r\n _this.isFocusActivated = ko.observable(false);\r\n\r\n _this.unsafe_exceptionMessage = null;\r\n _this.debugDetails = null;\r\n _this.useWiderWidth = _useWiderWidth;\r\n \r\n\r\n \r\n _this.hideBanner_onClick = function ()\r\n {\r\n _this.onCloseBanner();\r\n _this.showBanner(false);\r\n };\r\n\r\n _this.setDebugMode_onClick = function ()\r\n {\r\n if (_this.sending())\r\n {\r\n return;\r\n }\r\n\r\n var apiRequest = new ApiRequest();\r\n\r\n _this.sending(true);\r\n _this.debugModeError(\"\");\r\n\r\n var postData =\r\n {\r\n mode: _this.isDebugTracingEnabled() ? 0 : 1,\r\n user: _username\r\n };\r\n\r\n apiRequest.Json(\r\n {\r\n url: _setDebugModeUrl\r\n },\r\n postData,\r\n _setDebugMode_onSuccess,\r\n _setDebugMode_onError);\r\n };\r\n\r\n _this.activateFocus = function ()\r\n {\r\n this.isFocusActivated(true);\r\n };\r\n \r\n\r\n \r\n function _setDebugMode_onSuccess()\r\n {\r\n _this.sending(false);\r\n _this.isDebugTracingEnabled(!_this.isDebugTracingEnabled());\r\n _this.onSetDebugTracing();\r\n }\r\n\r\n function _setDebugMode_onError()\r\n {\r\n _this.sending(false);\r\n _this.debugModeError(_strings[\"STR_Error_Details_Debug_Mode_Failure\"]);\r\n }\r\n\r\n (function _initialize()\r\n {\r\n _username = _postUsername || _signinName || \"\";\r\n _this.unsafe_exceptionMessage = BrowserHelper.htmlUnescape(_exceptionMessage);\r\n\r\n _this.debugDetails = _debugDetails || {};\r\n\r\n if (_errorCode)\r\n {\r\n _this.debugDetails.errorCode = _errorCode;\r\n }\r\n\r\n if (!_this.debugDetails.timestamp)\r\n {\r\n _this.debugDetails.timestamp = DateTimeHelpers.getUTCString();\r\n }\r\n })();\r\n \r\n}\r\n\r\nko.components.register(\"debug-details-control\",\r\n {\r\n viewModel: DebugDetailsViewModel,\r\n template: require(\"html/Shared/Controls/DebugDetailsControlHtml.html\"),\r\n synchronous: !w.ServerData.A || Browser.Helper.isStackSizeGreaterThan(w.ServerData.A),\r\n enableExtensions: true\r\n });\r\n\r\nmodule.exports = DebugDetailsViewModel;","var ko = require(\"knockout\");\r\nvar Browser = require(\"../Core/BrowserControl\");\r\nvar ComponentEvent = require(\"../Core/ComponentEvent\");\r\nvar Constants = require(\"../Core/Constants\");\r\n\r\nvar w = window;\r\nvar DialogId = Constants.DialogId;\r\n\r\n\r\nfunction FidoHelpButtonControl(params)\r\n{\r\n var _this = this;\r\n\r\n \r\n var _isPlatformAuthenticatorAvailable = params.isPlatformAuthenticatorAvailable;\r\n \r\n\r\n \r\n _this.onRegisterDialog = ComponentEvent.create();\r\n _this.onUnregisterDialog = ComponentEvent.create();\r\n _this.onShowDialog = ComponentEvent.create();\r\n \r\n\r\n \r\n _this.isPlatformAuthenticatorAvailable = _isPlatformAuthenticatorAvailable;\r\n\r\n _this.hasFocus = ko.observable(false);\r\n \r\n\r\n \r\n _this.fidoHelp_onClick = function ()\r\n {\r\n _this.onShowDialog(DialogId.FidoHelp)\r\n .then(\r\n function ()\r\n {\r\n _this.hasFocus(true);\r\n });\r\n };\r\n \r\n}\r\n\r\nko.components.register(\"fido-help-button-control\",\r\n {\r\n viewModel: FidoHelpButtonControl,\r\n template: require(\"html/LoginPage/Controls/FidoHelpButtonControlHtml.html\"),\r\n synchronous: !w.ServerData.A || Browser.Helper.isStackSizeGreaterThan(w.ServerData.A),\r\n enableExtensions: true\r\n });\r\n\r\nmodule.exports = FidoHelpButtonControl;","\r\n\r\nvar ClientTracingContext = require(\"./ClientTracingContext\");\r\n\r\nexports.applyExtenders = function (ko)\r\n{\r\n \r\n ko.extenders.preventExternalWrite = function (target)\r\n {\r\n var initialValue = target();\r\n var currentValue = ko.observable(initialValue).extend({ notify: \"always\" });\r\n\r\n var result = ko.pureComputed(\r\n {\r\n read: function ()\r\n {\r\n return currentValue();\r\n },\r\n write: function (newValue)\r\n {\r\n \r\n if (newValue !== initialValue)\r\n {\r\n currentValue(initialValue);\r\n }\r\n }\r\n }).extend({ notify: \"always\" });\r\n\r\n return result;\r\n };\r\n\r\n \r\n ko.extenders.flowTokenUpdate = function (target, serverData)\r\n {\r\n var result = ko.pureComputed(\r\n {\r\n read: target,\r\n write: function (newValue)\r\n {\r\n if (newValue)\r\n {\r\n if (serverData)\r\n {\r\n if (serverData.sFTTag)\r\n {\r\n serverData.sFTTag = serverData.sFTTag.replace(serverData.sFT, newValue);\r\n }\r\n\r\n serverData.sFT = newValue;\r\n }\r\n\r\n target(newValue);\r\n }\r\n }\r\n }).extend({ notify: \"always\" });\r\n\r\n return result;\r\n };\r\n\r\n \r\n ko.extenders.logValue = function (target, options)\r\n {\r\n if (options)\r\n {\r\n ClientTracingContext.registerTracingObservables(options.viewModel, target, options.tracingOptions);\r\n }\r\n\r\n return target;\r\n };\r\n\r\n \r\n ko.extenders.loadImageFromUrl = function (target)\r\n {\r\n var result = ko.pureComputed(\r\n {\r\n read: target,\r\n write: function (newValue)\r\n {\r\n var currentValue = target();\r\n\r\n if (currentValue === newValue)\r\n {\r\n return;\r\n }\r\n\r\n if (newValue)\r\n {\r\n var image = new Image();\r\n\r\n image.onload = function ()\r\n {\r\n target(newValue);\r\n };\r\n\r\n image.src = newValue;\r\n }\r\n else\r\n {\r\n target(newValue);\r\n }\r\n }\r\n }).extend({ notify: \"always\" });\r\n\r\n return result;\r\n };\r\n};","var ko = require(\"knockout\");\r\nvar Browser = require(\"../Core/BrowserControl\");\r\nvar ComponentEvent = require(\"../Core/ComponentEvent\");\r\nvar Constants = require(\"../Core/Constants\");\r\nvar Fido = require(\"../Core/Fido\");\r\nvar PromiseHelpers = require(\"../Core/PromiseHelpers\");\r\nvar GetOneTimeCodeHelper = require(\"../Core/GetOneTimeCodeHelper\");\r\nvar Otc = require(\"../Core/OtcRequestControl\");\r\nvar Helpers = require(\"../Core/Helpers\");\r\n\r\nvar w = window;\r\nvar StringHelpers = Helpers.String;\r\nvar PaginatedState = Constants.PaginatedState;\r\nvar CredentialType = Constants.CredentialType;\r\nvar DialogId = Constants.DialogId;\r\n\r\nfunction CredSwitchLinkControl(params)\r\n{\r\n var _this = this;\r\n\r\n \r\n var _serverData = params.serverData;\r\n var _username = params.username;\r\n var _availableCreds = params.availableCreds || [];\r\n var _currentCred = params.currentCred || {};\r\n var _flowToken = params.flowToken;\r\n var _showForgotUsername = params.showForgotUsername;\r\n var _hideCredSwitchLink = params.hideCredSwitchLink;\r\n var _ariaDescribedBy = params.ariaDescribedBy;\r\n var _setFocus = params.setFocus;\r\n \r\n\r\n \r\n var _strings = _serverData.str;\r\n var _forgotUsernameUrl = _serverData.v;\r\n var _siteId = _serverData.i;\r\n var _clientId = _serverData.H;\r\n var _forwardedClientId = _serverData.h;\r\n var _noPaBubbleVersion = _serverData.I;\r\n var _showSignInOptionsAsButton = _serverData.AO;\r\n var _isOfflineAccountVisible = _serverData.U;\r\n var _showInterstitialView = _serverData.fUseCertificateInterstitialView;\r\n var _IsPasskeySupportEnabled = _serverData.fIsPasskeySupportEnabled;\r\n var _isVerifiableCredentialsSupportEnabled = _serverData.fIsVerifiableCredentialsSupportEnabled;\r\n var _useWebviewFidoCustomProtocol = _serverData.fUseWebviewFidoCustomProtocol;\r\n \r\n\r\n \r\n var _credViewMap = [];\r\n var _selectedCred = null;\r\n\r\n var _fidoLinkText = ko.observable();\r\n \r\n\r\n \r\n _this.onSwitchView = ComponentEvent.create();\r\n _this.onRedirect = ComponentEvent.create();\r\n _this.onRegisterDialog = ComponentEvent.create();\r\n _this.onUnregisterDialog = ComponentEvent.create();\r\n _this.onShowDialog = ComponentEvent.create();\r\n _this.onSetPendingRequest = ComponentEvent.create();\r\n _this.onUpdateFlowToken = ComponentEvent.create();\r\n \r\n\r\n \r\n _this.credentialCount = 0;\r\n _this.selectedCredType = null;\r\n _this.selectedCredShownOnlyOnPicker = false;\r\n _this.switchToCredId = null;\r\n _this.switchToCredText = null;\r\n _this.showSwitchToCredPickerLink = false;\r\n _this.showForgotUsername = _showForgotUsername;\r\n _this.isUserKnown = !!_currentCred.credType;\r\n _this.displayHelp = !_currentCred.credType;\r\n _this.hideCredSwitchLink = _hideCredSwitchLink;\r\n _this.isOfflineAccountVisible = _isOfflineAccountVisible;\r\n _this.ariaDescribedBy = _ariaDescribedBy;\r\n _this.setFocus = _setFocus;\r\n\r\n _this.isPlatformAuthenticatorAvailable = ko.observable(false);\r\n _this.credLinkError = ko.observable();\r\n \r\n\r\n \r\n _this.fidoHelp_onClick = function ()\r\n {\r\n _this.onShowDialog(DialogId.FidoHelp);\r\n };\r\n\r\n _this.view_onUpdateFlowToken = function (token)\r\n {\r\n \r\n _flowToken = token;\r\n };\r\n \r\n\r\n \r\n _this.switchToCredPicker_onClick = function ()\r\n {\r\n _this.onSwitchView(PaginatedState.CredentialPicker);\r\n };\r\n\r\n _this.switchToCred_onClick = function ()\r\n {\r\n var credType = (_selectedCred && _selectedCred.credType) || CredentialType.Password;\r\n\r\n _this.credLinkError(\"\");\r\n\r\n switch (credType)\r\n {\r\n case CredentialType.OneTimeCode:\r\n \r\n \r\n if (_selectedCred.proof.clearDigits)\r\n {\r\n _this.onSwitchView(PaginatedState.ProofConfirmation, false , _selectedCred);\r\n }\r\n else\r\n {\r\n var otcParams = _getOneTimeCodeHelperParams();\r\n var getOneTimeCodeHelper = new GetOneTimeCodeHelper(otcParams);\r\n\r\n _this.onSetPendingRequest(true);\r\n getOneTimeCodeHelper.sendRequest();\r\n }\r\n break;\r\n\r\n case CredentialType.OtherMicrosoftIdpFederation:\r\n case CredentialType.LinkedIn:\r\n case CredentialType.GitHub:\r\n case CredentialType.Google:\r\n case CredentialType.Facebook:\r\n _this.onRedirect(_selectedCred.redirectUrl, _selectedCred.redirectPostParams || null);\r\n break;\r\n case CredentialType.Certificate:\r\n if (_showInterstitialView)\r\n {\r\n _this.onSwitchView(PaginatedState.CertificateInterstitialView);\r\n }\r\n else\r\n {\r\n _this.onRedirect(_selectedCred.redirectUrl, _selectedCred.redirectPostParams || null);\r\n }\r\n break;\r\n default:\r\n _this.onSwitchView(_credViewMap[credType].viewId);\r\n break;\r\n }\r\n };\r\n\r\n _this.forgotUsername_onClick = function ()\r\n {\r\n document.location.assign(_forgotUsernameUrl);\r\n };\r\n\r\n _this.getSwitchToCredText = function ()\r\n {\r\n return ko.unwrap(_this.switchToCredText);\r\n };\r\n \r\n\r\n \r\n function _updateFidoLinkText()\r\n {\r\n PromiseHelpers.throwUnhandledExceptionOnRejection(\r\n Fido.isPlatformAuthenticatorAvailable(_useWebviewFidoCustomProtocol)\r\n .then(null, function () { return false; })\r\n .then(\r\n function (isPlatformAuthenticatorAvailable)\r\n {\r\n if (isPlatformAuthenticatorAvailable)\r\n {\r\n _fidoLinkText(_strings[\"CT_PWD_STR_SwitchToFido_Link\"]);\r\n\r\n _this.isPlatformAuthenticatorAvailable(true);\r\n }\r\n }));\r\n }\r\n\r\n function _getOneTimeCodeHelperParams()\r\n {\r\n var otcParams =\r\n {\r\n username: StringHelpers.cleanseUsername(_username),\r\n proofData: _selectedCred.proof.data,\r\n proofType: _selectedCred.proof.type,\r\n purpose: _selectedCred.proof.isNopa ? Otc.Purpose.NoPassword : Otc.Purpose.OtcLogin,\r\n flowToken: _flowToken,\r\n isEncrypted: _selectedCred.proof.isEncrypted,\r\n siteId: _siteId,\r\n clientId: _clientId,\r\n forwardedClientId: _forwardedClientId,\r\n noPaBubbleVersion: _noPaBubbleVersion,\r\n successCallback: _sendOneTimeCode_onSuccess,\r\n failureCallback: _sendOneTimeCode_onFail\r\n };\r\n\r\n if (otcParams.isEncrypted)\r\n {\r\n switch (_selectedCred.proof.type)\r\n {\r\n case PROOF.Type.Email:\r\n otcParams.proofConfirmation = _selectedCred.proof.display;\r\n break;\r\n case PROOF.Type.SMS:\r\n case PROOF.Type.Voice:\r\n otcParams.proofConfirmation = StringHelpers.cleanseUsername(_selectedCred.proof.display).slice(-4);\r\n break;\r\n }\r\n }\r\n\r\n return otcParams;\r\n }\r\n\r\n function _sendOneTimeCode_onSuccess(response)\r\n {\r\n _setFlowToken(response);\r\n\r\n _this.onSetPendingRequest(false);\r\n _this.onSwitchView(PaginatedState.OneTimeCode, false , _selectedCred);\r\n }\r\n\r\n function _sendOneTimeCode_onFail(response)\r\n {\r\n var errorString;\r\n var errorNumericId = response.getOtcStatus();\r\n\r\n _setFlowToken(response);\r\n\r\n switch (errorNumericId)\r\n {\r\n case Otc.Status.FTError:\r\n errorString = _strings[\"CT_OTC_STR_Error_FlowExpired\"];\r\n break;\r\n default:\r\n errorString = _selectedCred.proof.str[\"CT_OTCS_STR_Error_SendCodeServer\"] || \"\";\r\n break;\r\n }\r\n\r\n _this.onSetPendingRequest(false);\r\n _this.credLinkError(errorString);\r\n }\r\n\r\n function _setFlowToken(response)\r\n {\r\n if (response)\r\n {\r\n if (response.getFlowToken)\r\n {\r\n _flowToken = response.getFlowToken();\r\n _this.onUpdateFlowToken(_flowToken);\r\n }\r\n else if (response.FlowToken)\r\n {\r\n _flowToken = response.FlowToken;\r\n _this.onUpdateFlowToken(_flowToken);\r\n }\r\n }\r\n }\r\n\r\n (function _initialize()\r\n {\r\n _credViewMap[CredentialType.Password] =\r\n {\r\n viewId: PaginatedState.Password,\r\n credId: \"idA_PWD_SwitchToPassword\",\r\n credText: _strings[\"CT_RNGC_STR_SwitchToPassword_Link\"]\r\n };\r\n\r\n _credViewMap[CredentialType.RemoteNGC] =\r\n {\r\n viewId: PaginatedState.RemoteNGC,\r\n credId: \"idA_PWD_SwitchToRemoteNGC\",\r\n credText: _strings[\"CT_PWD_STR_SwitchToRemoteNGC_Link\"]\r\n };\r\n\r\n _credViewMap[CredentialType.Fido] =\r\n {\r\n viewId: PaginatedState.Fido,\r\n credId: \"idA_PWD_SwitchToFido\",\r\n credText: (_IsPasskeySupportEnabled) ? _strings[\"CT_PWD_STR_SwitchToPasskey_Link\"] : _fidoLinkText\r\n };\r\n\r\n _credViewMap[CredentialType.Certificate] =\r\n {\r\n credId: \"idA_PWD_SwitchToCertificate\",\r\n credText: _strings[\"CT_STR_CredentialPicker_Option_Certificate\"]\r\n };\r\n\r\n _credViewMap[CredentialType.OtherMicrosoftIdpFederation] =\r\n {\r\n credId: \"useMicrosoftLink\",\r\n credText: _strings[\"CT_PWD_STR_UseMicrosoft_Link\"]\r\n };\r\n\r\n _credViewMap[CredentialType.LinkedIn] =\r\n {\r\n credId: \"useLinkedInLink\",\r\n credText: _strings[\"CT_PWD_STR_UseLinkedIn_Link\"]\r\n };\r\n\r\n _credViewMap[CredentialType.GitHub] =\r\n {\r\n credId: \"useGitHubLink\",\r\n credText: _strings[\"CT_PWD_STR_UseGitHub_Link\"]\r\n };\r\n\r\n _credViewMap[CredentialType.Google] =\r\n {\r\n credId: \"useGoogleLink\",\r\n credText: _strings[\"CT_PWD_STR_UseGoogle_Link\"]\r\n };\r\n\r\n _credViewMap[CredentialType.Facebook] =\r\n {\r\n credId: \"useGoogleLink\",\r\n credText: _strings[\"CT_PWD_STR_UseFacebook_Link\"]\r\n };\r\n\r\n _credViewMap[CredentialType.Federation] =\r\n {\r\n viewId: PaginatedState.IdpRedirect,\r\n credId: \"redirectToIdpLink\",\r\n credText: _strings[\"CT_RNGC_STR_SwitchToFederated_Link\"]\r\n };\r\n\r\n _credViewMap[CredentialType.RemoteLogin] =\r\n {\r\n viewId: PaginatedState.RemoteLoginPolling,\r\n credId: \"remoteLoginLink\",\r\n credText: _strings[\"CT_PWD_STR_RemoteLoginLink\"]\r\n };\r\n\r\n _credViewMap[CredentialType.OneTimeCode] =\r\n {\r\n viewId: PaginatedState.OneTimeCode,\r\n credId: \"otcLoginLink\",\r\n credText: _strings[\"CT_PWD_STR_SwitchToOTC_Link\"]\r\n };\r\n\r\n _credViewMap[CredentialType.AccessPass] =\r\n {\r\n viewId: PaginatedState.AccessPass,\r\n credId: \"accessPassLink\",\r\n credText: _strings[\"CT_PWD_STR_Login_SwitchToAccessPassLink\"]\r\n };\r\n\r\n if (_isVerifiableCredentialsSupportEnabled)\r\n {\r\n _credViewMap[CredentialType.VerifiableCredential] =\r\n {\r\n viewId: PaginatedState.VCPresentation,\r\n credId: \"vcPresentation\",\r\n credText: _strings[\"CT_PWD_STR_Login_SwitchToVerifiableCredentialLink\"]\r\n };\r\n }\r\n\r\n _fidoLinkText(_strings[\"CT_PWD_STR_SwitchToFidoCrossPlatform_Link\"]);\r\n\r\n ko.utils.arrayForEach(\r\n _availableCreds,\r\n function (credential)\r\n {\r\n \r\n if (_credViewMap[credential.credType])\r\n {\r\n var credMatch = credential.credType === _currentCred.credType;\r\n var isCredTypeOtc = credential.credType === CredentialType.OneTimeCode;\r\n var proofDataMatch = credMatch && isCredTypeOtc && credential.proof.data === _currentCred.proof.data;\r\n var proofTypesMatch = credMatch && isCredTypeOtc && credential.proof.type === _currentCred.proof.type;\r\n\r\n if (!credMatch || (isCredTypeOtc && !proofDataMatch) || (isCredTypeOtc && !proofTypesMatch))\r\n {\r\n _this.credentialCount++;\r\n _selectedCred = credential;\r\n }\r\n }\r\n\r\n if (credential.credType === CredentialType.Fido)\r\n {\r\n _updateFidoLinkText();\r\n }\r\n\r\n if (credential.credType === CredentialType.OfflineAccount)\r\n {\r\n _this.credentialCount++;\r\n _this.selectedCredShownOnlyOnPicker = true;\r\n }\r\n });\r\n\r\n if (_selectedCred && _this.credentialCount === 1)\r\n {\r\n _this.selectedCredType = _selectedCred.credType;\r\n _this.selectedCredShownOnlyOnPicker = !!_selectedCred.shownOnlyOnPicker;\r\n _this.switchToCredId = _credViewMap[_this.selectedCredType || CredentialType.Password].credId;\r\n _this.switchToCredText = _credViewMap[_this.selectedCredType || CredentialType.Password].credText;\r\n\r\n if (_this.selectedCredType === CredentialType.OneTimeCode)\r\n {\r\n switch (_selectedCred.proof.type)\r\n {\r\n case PROOF.Type.Email:\r\n _this.switchToCredText = StringHelpers.format(_strings[\"CT_OTC_STR_SwitchToOtc_EmailLink\"], _selectedCred.proof.display);\r\n break;\r\n case PROOF.Type.SMS:\r\n _this.switchToCredText = StringHelpers.format(_strings[\"CT_OTC_STR_SwitchToOtc_SmsLink\"], _selectedCred.proof.display);\r\n break;\r\n case PROOF.Type.Voice:\r\n _this.switchToCredText = StringHelpers.format(_strings[\"CT_OTC_STR_SwitchToOtc_VoiceLink\"], _selectedCred.proof.display);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n \r\n \r\n \r\n \r\n _this.showSwitchToCredPickerLink = (!_showSignInOptionsAsButton || _this.isUserKnown)\r\n && (_this.credentialCount > 1\r\n || (_this.credentialCount === 1\r\n && (_showForgotUsername\r\n || _this.selectedCredShownOnlyOnPicker)));\r\n })();\r\n \r\n}\r\n\r\nko.components.register(\"cred-switch-link-control\",\r\n {\r\n viewModel: CredSwitchLinkControl,\r\n template: require(\"html/LoginPage/Controls/CredSwitchLinkControlHtml.html\"),\r\n synchronous: !w.ServerData.A || Browser.Helper.isStackSizeGreaterThan(w.ServerData.A),\r\n enableExtensions: true\r\n });\r\n\r\nmodule.exports = CredSwitchLinkControl;","var ko = require(\"knockout\");\r\nvar Helpers = require(\"../Core/Helpers\");\r\n\r\nvar StringHelpers = Helpers.String;\r\n\r\nmodule.exports = function (errorComputed, defaultValue)\r\n{\r\n var _this = this;\r\n\r\n var _valueSubscription = null;\r\n\r\n _this.placeholderTextboxMethods = ko.observable();\r\n \r\n _this.value = ko.observable(defaultValue || \"\");\r\n _this.focused = ko.observable(false).extend({ notify: \"always\" });\r\n _this.error = errorComputed;\r\n\r\n _this.textbox_onUpdateFocus = function (isFocused)\r\n {\r\n _this.focused(isFocused);\r\n };\r\n\r\n _this.getTrimmedValue = function (maxLength)\r\n {\r\n var trimmedValue = StringHelpers.trim(_this.value() || \"\");\r\n\r\n if (maxLength && maxLength > 0)\r\n {\r\n trimmedValue = trimmedValue.substring(0, maxLength);\r\n }\r\n\r\n return trimmedValue;\r\n };\r\n\r\n function _setupPlaceholderVisibility(placeholderTextboxMethods)\r\n {\r\n \r\n var currentValue = _this.value.peek();\r\n placeholderTextboxMethods.toggleVisibility(!currentValue);\r\n\r\n _valueSubscription = _this.value.subscribe(\r\n function (value)\r\n {\r\n \r\n placeholderTextboxMethods.toggleVisibility(!value);\r\n });\r\n }\r\n\r\n (function _initialize()\r\n {\r\n \r\n _this.placeholderTextboxMethods.subscribe(\r\n function (placeholderTextboxMethods)\r\n {\r\n if (placeholderTextboxMethods && !_valueSubscription)\r\n {\r\n _setupPlaceholderVisibility(placeholderTextboxMethods);\r\n }\r\n }\r\n );\r\n })();\r\n};","var ko = require(\"knockout\");\r\nvar Browser = require(\"../Core/BrowserControl\");\r\nvar ComponentEvent = require(\"../Core/ComponentEvent\");\r\n\r\nvar w = window;\r\n\r\nfunction PlaceholderTextboxViewModel(params)\r\n{\r\n var _this = this;\r\n\r\n var _isPlaceholderSupported = \"placeholder\" in document.createElement(\"input\");\r\n\r\n \r\n var _serverData = params.serverData;\r\n var _hintText = params.hintText;\r\n var _hintCss = params.hintCss || \"placeholder\";\r\n\r\n var _isHosted = _serverData.q;\r\n\r\n \r\n _this.onUpdateFocus = ComponentEvent.create();\r\n\r\n \r\n _this.hintText = _hintText;\r\n _this.usePlaceholderAttribute = false;\r\n _this.placeholderVisible = ko.observable(true);\r\n\r\n _this.hintCss = ko.pureComputed(\r\n function ()\r\n {\r\n var classes = {};\r\n\r\n if (_hintCss)\r\n {\r\n ko.utils.arrayForEach(\r\n _hintCss.split(\" \"),\r\n function (className)\r\n {\r\n classes[className] = true;\r\n });\r\n }\r\n\r\n return classes;\r\n });\r\n\r\n _this.placeholderText = ko.pureComputed(\r\n function ()\r\n {\r\n if (_this.usePlaceholderAttribute)\r\n {\r\n return _this.hintText;\r\n }\r\n });\r\n\r\n \r\n _this.toggleVisibility = function (isVisible)\r\n {\r\n _this.placeholderVisible(isVisible);\r\n };\r\n\r\n \r\n _this.placeholder_onClick = function ()\r\n {\r\n _this.onUpdateFocus(true);\r\n };\r\n\r\n (function _initialize()\r\n {\r\n if (_isPlaceholderSupported && Browser.Helper.isPlaceholderAttributeAllowed(_isHosted))\r\n {\r\n _this.usePlaceholderAttribute = true;\r\n }\r\n })();\r\n}\r\n\r\nko.components.register(\"placeholder-textbox-field\",\r\n {\r\n viewModel: PlaceholderTextboxViewModel,\r\n template: require(\"html/Shared/Fields/PlaceholderTextbox/PlaceholderTextboxFieldHtml.html\"),\r\n synchronous: !w.ServerData.A || Browser.Helper.isStackSizeGreaterThan(w.ServerData.A),\r\n enableExtensions: true\r\n });\r\n\r\nmodule.exports = PlaceholderTextboxViewModel;","var ko = require(\"knockout\");\r\nvar Browser = require(\"../Core/BrowserControl\");\r\nvar Helpers = require(\"../Core/Helpers\");\r\n\r\nvar w = window;\r\nvar StringHelpers = Helpers.String;\r\nvar BrowserHelper = Browser.Helper;\r\n\r\nfunction HeaderControl(params)\r\n{\r\n \r\n var _this = this;\r\n \r\n\r\n \r\n var _serverData = params.serverData;\r\n var _title = params.title;\r\n var _subtitle = params.subtitle;\r\n var _useSubtitle = params.useSubtitle !== false;\r\n var _isSignUpView = params.isSignUpView;\r\n var _headerDescription = params.headerDescription;\r\n \r\n\r\n \r\n var _appCobranding = _serverData.C;\r\n var _strings = _serverData.str;\r\n var _isSelfServiceSignupUxEnabled = _serverData.An;\r\n var _isCiamUserFlowUx = _serverData.fIsCiamUserFlowUxNewLogicEnabled && _serverData.fIsCiamUserFlowUx;\r\n var _companyDisplayName = _serverData.s;\r\n var _useNonMicrosoftDefaultBrandingForCiam = _serverData.Ab;\r\n \r\n\r\n \r\n _this.title = null;\r\n _this.subtitle = null;\r\n _this.headerDescription = null;\r\n \r\n\r\n (function _initialize()\r\n {\r\n var isAppNamePresent = !!(_appCobranding && _appCobranding.friendlyAppName);\r\n _this.isSubtitleVisible = _useSubtitle && (isAppNamePresent || _subtitle);\r\n _this.title = _title;\r\n _this.subtitle = _subtitle;\r\n\r\n if (_isSelfServiceSignupUxEnabled || _isCiamUserFlowUx)\r\n {\r\n var unsafe_companyName = BrowserHelper.htmlUnescape(_companyDisplayName);\r\n\r\n \r\n if (_headerDescription)\r\n {\r\n _this.headerDescription = _headerDescription;\r\n }\r\n \r\n else if (_companyDisplayName)\r\n {\r\n var headerDescriptionDefaultString = _isSignUpView ? _strings[\"STR_SSSU_SignUp_HeaderDescription\"] : _strings[\"STR_SSSU_SignIn_HeaderDescription\"];\r\n _this.headerDescription = _useNonMicrosoftDefaultBrandingForCiam ? StringHelpers.format(headerDescriptionDefaultString, unsafe_companyName) : StringHelpers.format(headerDescriptionDefaultString, _companyDisplayName);\r\n }\r\n }\r\n })();\r\n}\r\n\r\nko.components.register(\"header-control\",\r\n {\r\n viewModel: HeaderControl,\r\n template: require(\"html/LoginPage/Controls/HeaderControlHtml.html\"),\r\n synchronous: !w.ServerData.A || Browser.Helper.isStackSizeGreaterThan(w.ServerData.A)\r\n });\r\n\r\nmodule.exports = HeaderControl;","module.exports = __webpack_public_path__ + \"content/images/picker_account_msa_7a63b3ce03943629f052226aaa378291.png\";","module.exports = __webpack_public_path__ + \"content/images/picker_account_msa_3b879963b4f70829fd7a25cbc9519792.svg\";","var ko = require(\"knockout\");\r\n\r\n\r\nexports.errorComputed = function (getClientErrorCallback)\r\n{\r\n var _asyncBlockingError = ko.observable();\r\n var _asyncNonBlockingError = ko.observable();\r\n var _clientError = ko.pureComputed(getClientErrorCallback).extend({ notify: \"always\" });\r\n\r\n var _blockingError = ko.pureComputed(\r\n function ()\r\n {\r\n if (_clientError())\r\n {\r\n return _clientError();\r\n }\r\n\r\n if (_asyncBlockingError())\r\n {\r\n var error = _asyncBlockingError();\r\n _asyncBlockingError(null);\r\n return error;\r\n }\r\n\r\n return null;\r\n });\r\n\r\n return ko.utils.extend(\r\n ko.pureComputed(\r\n function ()\r\n {\r\n if (_blockingError())\r\n {\r\n return _blockingError();\r\n }\r\n\r\n if (_asyncNonBlockingError())\r\n {\r\n var error = _asyncNonBlockingError();\r\n _asyncNonBlockingError(null);\r\n return error;\r\n }\r\n\r\n return null;\r\n }\r\n ),\r\n {\r\n isBlocking: function ()\r\n {\r\n return _blockingError() !== null;\r\n },\r\n\r\n setBlockingError: function (errorString)\r\n {\r\n _asyncBlockingError(errorString);\r\n },\r\n\r\n setNonBlockingError: function (errorString)\r\n {\r\n _asyncNonBlockingError(errorString);\r\n },\r\n\r\n setError: function (errorString, isBlockingError)\r\n {\r\n if (isBlockingError)\r\n {\r\n _asyncBlockingError(errorString);\r\n }\r\n else\r\n {\r\n _asyncNonBlockingError(errorString);\r\n }\r\n },\r\n\r\n clearNonBlockingError: function ()\r\n {\r\n _asyncNonBlockingError(null);\r\n\r\n \r\n _asyncNonBlockingError.valueHasMutated();\r\n }\r\n });\r\n};","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","\r\n\r\nvar stringToArrayBuffer = exports.stringToArrayBuffer = function (string)\r\n{\r\n var arrayBuffer = new ArrayBuffer(string.length);\r\n var dataView = new Uint8Array(arrayBuffer);\r\n\r\n for (var i = 0, len = string.length; i < len; ++i)\r\n {\r\n dataView[i] = string.charCodeAt(i);\r\n }\r\n\r\n return arrayBuffer;\r\n};\r\n\r\nvar arrayBufferToString = exports.arrayBufferToString = function (arrayBuffer)\r\n{\r\n return String.fromCharCode.apply(null, new Uint8Array(arrayBuffer));\r\n};\r\n\r\nexports.base64UrlStringToArrayBuffer = function (base64UrlString)\r\n{\r\n var base64String = base64UrlString.replace(\r\n /[-_]/g,\r\n function (match)\r\n {\r\n switch (match)\r\n {\r\n case \"-\":\r\n return \"+\";\r\n case \"_\":\r\n return \"/\";\r\n }\r\n });\r\n\r\n var bytes = atob(base64String);\r\n return stringToArrayBuffer(bytes);\r\n};\r\n\r\nexports.arrayBufferToBase64UrlString = function (arrayBuffer)\r\n{\r\n var bytes = arrayBufferToString(arrayBuffer);\r\n var base64String = btoa(bytes);\r\n return base64ToBase64UrlString(base64String);\r\n};\r\n\r\nexports.objectToBase64UrlString = function (object)\r\n{\r\n if (object)\r\n {\r\n var string = JSON.stringify(object);\r\n var base64String = btoa(string);\r\n return base64ToBase64UrlString(base64String);\r\n }\r\n\r\n return null;\r\n};\r\n\r\nvar base64ToBase64UrlString = exports.base64ToBase64UrlString = function (base64String)\r\n{\r\n var base64UrlString = base64String.replace(\r\n /[+/=]/g,\r\n function (match)\r\n {\r\n switch (match)\r\n {\r\n case \"+\":\r\n return \"-\";\r\n case \"/\":\r\n return \"_\";\r\n case \"=\":\r\n return \"\";\r\n }\r\n });\r\n\r\n return base64UrlString;\r\n};","var JSON = require(\"JSON\");\r\nvar Helpers = require(\"./Helpers\");\r\nvar Browser = require(\"./BrowserControl\");\r\nvar ApiRequest = require(\"./ApiRequest\");\r\nvar Promise = require(\"./Promise\");\r\nvar ChromeBrowserCore = require(\"./ChromeBrowserCore\");\r\nvar TokenBrokerAuthHelper = require(\"./TokenBrokerAuthHelper\");\r\n\r\nvar w = window;\r\nvar QueryString = Browser.QueryString;\r\nvar Cookies = Browser.Cookies;\r\nvar ArrayHelpers = Helpers.Array;\r\n\r\n\r\nmodule.exports = function (serverData)\r\n{\r\n var _this = this;\r\n\r\n \r\n var _serverData = serverData;\r\n \r\n\r\n \r\n var _bssoConfig = _serverData.bsso || { enabled: false };\r\n var _isCloudBuild = _serverData.A7;\r\n var _trimChromeBssoUrl = _serverData.bE;\r\n var _checkApiCanary = _serverData.checkApiCanary !== false;\r\n \r\n\r\n \r\n var _cookieNames = _bssoConfig.cookieNames;\r\n var _bssoTelemetry = null;\r\n \r\n\r\n \r\n \r\n _this.loginWindowsUserAsync = function (uri)\r\n {\r\n if (!_bssoConfig.enabled)\r\n {\r\n \r\n return Promise.reject(\"bssoDisabled\");\r\n }\r\n\r\n return _loginWindowsUserAsync(uri)\r\n .then(_reportSuccessTelemetryAsync, _reportErrorTelemetryAsync);\r\n };\r\n\r\n \r\n _this.pullBrowserSsoCookieAsync = function ()\r\n {\r\n var pullCookiePromise;\r\n var isSilentCookiePull = _bssoConfig.failureRedirectUrl || _bssoConfig.reloadOnFailure;\r\n var bssoType = _bssoConfig.type;\r\n\r\n if (!_bssoConfig.enabled)\r\n {\r\n \r\n return Promise.reject(\"bssoDisabled\");\r\n }\r\n\r\n if (bssoType === \"windows\")\r\n {\r\n pullCookiePromise = _pullBrowserSsoCookieAsync();\r\n }\r\n else if (bssoType === \"chrome\")\r\n {\r\n pullCookiePromise = _pullChromeBrowserSsoCookieAsync();\r\n }\r\n\r\n return pullCookiePromise\r\n .then(\r\n function (result)\r\n {\r\n if (isSilentCookiePull && !result.redirectUrl)\r\n {\r\n return Promise.reject(\"silentPullFailed\");\r\n }\r\n\r\n return result;\r\n })\r\n .then(_reportSuccessTelemetryAsync, _reportErrorTelemetryAsync)\r\n .then(null,\r\n function (error)\r\n {\r\n if (isSilentCookiePull)\r\n {\r\n if (_bssoConfig.reloadOnFailure)\r\n {\r\n return { redirectUrl: _getReloadUrlAndSetThrottlingCookie() };\r\n }\r\n\r\n return { redirectUrl: _bssoConfig.failureRedirectUrl };\r\n }\r\n\r\n return Promise.reject(error);\r\n });\r\n };\r\n\r\n \r\n _this.isEnabled = function ()\r\n {\r\n return !!_bssoConfig.enabled;\r\n };\r\n \r\n\r\n \r\n \r\n function _loginWindowsUserAsync(uri)\r\n {\r\n if (!w.navigator || typeof (w.navigator.msLaunchUri) !== \"function\")\r\n {\r\n _logDataPoint(\"BSSO.info\", \"not-supported\");\r\n _logMessage(\"window.navigator.msLaunchUri is not available for _loginWindowsUser\");\r\n\r\n return Promise.reject(\"bssoNotSupported\");\r\n }\r\n\r\n var failInitiatePullOnTimeout = _bssoConfig.initiatePullTimeoutAction === \"abort\";\r\n var tokenBrokerAuthHelper = new TokenBrokerAuthHelper(\r\n {\r\n logMessage: _logMessage,\r\n logDataPoint: _logDataPoint\r\n },\r\n _bssoConfig.initiatePullTimeoutMs,\r\n _bssoConfig.overallTimeoutMs,\r\n failInitiatePullOnTimeout);\r\n\r\n return tokenBrokerAuthHelper\r\n .loginWindowsUserAsync(uri)\r\n .then(\r\n function (result)\r\n {\r\n if (result.reload)\r\n {\r\n _logMessage(\"SSO cookie detected. Refreshing page.\");\r\n return _getReloadUrlAndSetThrottlingCookie();\r\n }\r\n\r\n return Promise.reject(\"error\");\r\n });\r\n }\r\n\r\n \r\n function _pullBrowserSsoCookieAsync()\r\n {\r\n if (!w.navigator || typeof (w.navigator.msLaunchUri) !== \"function\")\r\n {\r\n _logDataPoint(\"BSSO.info\", \"not-supported\");\r\n _logMessage(\"window.navigator.msLaunchUri is not available for _pullBrowserSsoCookie\");\r\n\r\n return Promise.reject(\"bssoNotSupported\");\r\n }\r\n\r\n var useTiles = Cookies.getCookie(_cookieNames.ssoTiles) || _bssoConfig.forceTiles;\r\n\r\n if (!useTiles && Cookies.getCookie(_cookieNames.ssoPulled))\r\n {\r\n _logDataPoint(\"BSSO.info\", \"throttled\");\r\n _logMessage(\"Cookie pull throttled\");\r\n\r\n return Promise.reject(\"throttled\");\r\n }\r\n\r\n var baseUri = \"tbauth://login.windows.net?\" +\r\n \"context=\" + encodeURIComponent(w.location.href.split(\"/\", 3).join(\"/\")) + \r\n (_bssoConfig.nonce ? (\"&request_nonce=\" + encodeURIComponent(_bssoConfig.nonce)) : \"\") +\r\n (_bssoConfig.rid ? (\"&rid=\" + encodeURIComponent(_bssoConfig.rid)) : \"\");\r\n\r\n \r\n var uri = baseUri;\r\n if (useTiles)\r\n {\r\n \r\n uri = QueryString.appendOrReplace(uri, \"user_id\", \"*\");\r\n Cookies.remove(_cookieNames.ssoTiles);\r\n }\r\n\r\n var failInitiatePullOnTimeout = _bssoConfig.initiatePullTimeoutAction === \"abort\";\r\n var tokenBrokerAuthHelper = new TokenBrokerAuthHelper(\r\n {\r\n logMessage: _logMessage,\r\n logDataPoint: _logDataPoint\r\n },\r\n _bssoConfig.initiatePullTimeoutMs,\r\n _bssoConfig.overallTimeoutMs,\r\n failInitiatePullOnTimeout);\r\n\r\n return tokenBrokerAuthHelper\r\n .pullBrowserSsoCookieAsync(uri)\r\n .then(\r\n function (result)\r\n {\r\n if (result.reload)\r\n {\r\n _logMessage(\"SSO cookie detected. Refreshing page.\");\r\n return { redirectUrl: _getReloadUrlAndSetThrottlingCookie() };\r\n }\r\n else if (result.userList)\r\n {\r\n var newSessions = _processUsersList(result.userList, baseUri);\r\n\r\n if (newSessions.length > 0)\r\n {\r\n return { newSessions: newSessions };\r\n }\r\n\r\n return Promise.reject(\"noUsers\");\r\n }\r\n });\r\n }\r\n\r\n \r\n function _pullChromeBrowserSsoCookieAsync()\r\n {\r\n var chromeBrowserCore = new ChromeBrowserCore(\r\n {\r\n logMessage: _logMessage,\r\n logDataPoint: _logDataPoint\r\n },\r\n _bssoConfig.nonce,\r\n \"login.microsoftonline.com\",\r\n _isCloudBuild,\r\n _trimChromeBssoUrl);\r\n\r\n return chromeBrowserCore\r\n .getCookiesAsync()\r\n .then(\r\n function (cookies)\r\n {\r\n if (!cookies || !cookies.length)\r\n {\r\n return Promise.reject(new ChromeBrowserCore.Error(\"PageException\", \"Extension returned no cookies\"));\r\n }\r\n\r\n for (var i = 0, len = cookies.length; i < len; ++i)\r\n {\r\n var cookieValue = cookies[i].data;\r\n if (cookieValue.indexOf(\";\") !== -1)\r\n {\r\n cookieValue = cookieValue.substr(0, cookieValue.indexOf(\";\"));\r\n }\r\n\r\n Cookies.write(cookies[i].name, cookieValue, !_isCloudBuild);\r\n }\r\n\r\n _logMessage(\"SSO cookie detected. Refreshing page.\");\r\n return { redirectUrl: _getReloadUrlAndSetThrottlingCookie() };\r\n })\r\n .then(null,\r\n function (error)\r\n {\r\n Cookies.write(_cookieNames.aadSso, error.toCookieString(), !_isCloudBuild);\r\n _logMessage(\"Error: \" + error.toString());\r\n\r\n return Promise.reject(error);\r\n });\r\n }\r\n\r\n \r\n function _getReloadUrlAndSetThrottlingCookie()\r\n {\r\n var expiresOn = new Date();\r\n expiresOn.setSeconds(expiresOn.getSeconds() + 60); \r\n\r\n Cookies.writeWithExpiration(_cookieNames.ssoPulled, \"1\", !_isCloudBuild, expiresOn.toUTCString());\r\n\r\n var url = w.location.href;\r\n url = QueryString.appendOrReplace(url, \"sso_reload\", \"true\");\r\n\r\n if (!_bssoConfig.reloadOnFailure && QueryString.extract(\"prompt\").toLowerCase() === \"select_account\")\r\n {\r\n url = QueryString.appendOrReplace(url, \"prompt\", \"\");\r\n }\r\n\r\n return url;\r\n }\r\n\r\n \r\n function _processUsersList(users_json, baseUri)\r\n {\r\n var newSessions = [];\r\n var userList = JSON.parse(users_json).users;\r\n\r\n if (userList && userList.length > 0)\r\n {\r\n ArrayHelpers.forEach(\r\n userList,\r\n function (user)\r\n {\r\n var windowsUserTiles =\r\n {\r\n ssoUniqueId: user.unique_id,\r\n displayName: user.display_name || \"\",\r\n name: user.upn,\r\n isWindowsSso: true,\r\n isSignedIn: true,\r\n url: baseUri\r\n };\r\n\r\n newSessions.push(windowsUserTiles);\r\n });\r\n\r\n _logMessage(\"User list processed. List: \" + JSON.stringify(newSessions));\r\n }\r\n else\r\n {\r\n _logMessage(\"User list is empty.\");\r\n }\r\n\r\n return newSessions;\r\n }\r\n\r\n \r\n function _logMessage(message)\r\n {\r\n _bssoTelemetry.traces.push(message);\r\n }\r\n\r\n \r\n function _logDataPoint(key, value)\r\n {\r\n _bssoTelemetry.data[key] = value;\r\n }\r\n\r\n \r\n function _reportSuccessTelemetryAsync(result)\r\n {\r\n _bssoTelemetry.result = result.newSessions ? \"UserList\" : \"Reload\";\r\n\r\n return _reportTelemetryAsync().then(\r\n function ()\r\n {\r\n return result;\r\n });\r\n }\r\n\r\n \r\n function _reportErrorTelemetryAsync(error)\r\n {\r\n _bssoTelemetry.result = \"Error\";\r\n\r\n if (error instanceof ChromeBrowserCore.Error)\r\n {\r\n if (error.code === \"OSError\" && error.externalData && error.externalData.error)\r\n {\r\n _bssoTelemetry.error = error.externalData.error;\r\n }\r\n else\r\n {\r\n _bssoTelemetry.error = error.code;\r\n }\r\n }\r\n else\r\n {\r\n _bssoTelemetry.error = error;\r\n }\r\n\r\n return _reportTelemetryAsync().then(\r\n function ()\r\n {\r\n return Promise.reject(error);\r\n });\r\n }\r\n\r\n \r\n function _reportTelemetryAsync()\r\n {\r\n return new Promise(\r\n function (resolve)\r\n {\r\n try\r\n {\r\n if (w.console)\r\n {\r\n w.console.info(\"BSSO Telemetry: \" + JSON.stringify(_bssoTelemetry));\r\n }\r\n }\r\n catch (e)\r\n {\r\n }\r\n\r\n if (_bssoConfig.telemetry.url)\r\n {\r\n \r\n var apiRequest = new ApiRequest({ checkApiCanary: _checkApiCanary });\r\n apiRequest.Beacon(\r\n {\r\n url: _bssoConfig.telemetry.url\r\n },\r\n _bssoTelemetry,\r\n resolve,\r\n resolve,\r\n 500);\r\n }\r\n else\r\n {\r\n resolve();\r\n }\r\n });\r\n }\r\n\r\n \r\n (function _initialize()\r\n {\r\n if (_bssoConfig.enabled)\r\n {\r\n _bssoTelemetry =\r\n {\r\n result: null,\r\n error: null,\r\n type: _bssoConfig.telemetry.type || null,\r\n data: {},\r\n traces: []\r\n };\r\n\r\n _bssoConfig.initiatePullTimeoutMs = _bssoConfig.initiatePullTimeoutMs || _bssoConfig.overallTimeoutMs;\r\n _bssoConfig.initiatePullTimeoutAction = _bssoConfig.initiatePullTimeoutAction || \"abort\";\r\n\r\n _logMessage(\"BrowserSSO Initialized\");\r\n }\r\n })();\r\n \r\n};","module.exports = __webpack_public_path__ + \"content/images/credentialoptions/cred_option_fido_white_864e6fa7d7fc3258841e849a2a379a0d.png\";","module.exports = __webpack_public_path__ + \"content/images/credentialoptions/cred_option_fido_white_e029710271b14f3937af7172f6076039.svg\";","module.exports = __webpack_public_path__ + \"content/images/credentialoptions/cred_option_fido_a8572092eb6b15420112017f4c356e31.png\";","module.exports = __webpack_public_path__ + \"content/images/credentialoptions/cred_option_fido_dc174eba8703c4b23780692b84de3fb1.svg\";","module.exports = __webpack_public_path__ + \"content/images/credentialoptions/cred_option_passkey_white_4312cd76f00ffeb4f262f0f60e0e5339.png\";","module.exports = __webpack_public_path__ + \"content/images/credentialoptions/cred_option_passkey_white_e66de563e5288734b1a0b8c5ce46e308.svg\";","module.exports = __webpack_public_path__ + \"content/images/credentialoptions/cred_option_passkey_4534333b7bb65cc5e3870e8afbe29e3f.png\";","module.exports = __webpack_public_path__ + \"content/images/credentialoptions/cred_option_passkey_1500b2043f4d1698f9df6089f67559d7.svg\";","var ApiRequest = require(\"./ApiRequest\");\r\nvar Constants = require(\"./Constants\");\r\nvar Promise = require(\"../Core/Promise\");\r\nvar ClientTracingConstants = require(\"../Core/ClientTracingConstants\");\r\n\r\n\r\n\r\n\r\nvar CanaryPurposeData =\r\n{\r\n DeviceAuth: { PageId: \"ConvergedRemoteConnect\", ActionId: \"OAuth2DeviceAuth\", ConfirmationViewId: Constants.PaginatedState.RemoteConnectCanaryValidation },\r\n FidoAuth: { PageId: \"PaginatedLogin\", ActionId: \"FidoGet\", ConfirmationViewId: Constants.PaginatedState.PartnerCanaryValidation }\r\n};\r\n\r\nvar PartnerCanaryScenario = CanaryValidationHelper.PartnerCanaryScenario =\r\n{\r\n Undefined: 0,\r\n Fido: 1\r\n};\r\n\r\nvar CanaryValidationSuccessAction = CanaryValidationHelper.CanaryValidationSuccessAction =\r\n{\r\n SwitchView: 1,\r\n Redirect: 2\r\n};\r\n\r\nfunction CanaryValidationHelper(serverData)\r\n{\r\n \r\n var _this = this;\r\n\r\n var _serverData = serverData;\r\n \r\n\r\n \r\n var _externalCanary = _serverData.aK;\r\n var _canaryValidationUrl = _serverData.b8;\r\n var _isRemoteConnectFlow = !!_serverData.T;\r\n var _isRemoteConnectSignup = !!_serverData.Bu;\r\n var _signupUrl = _serverData.j;\r\n var _signupUrlPostParams = _serverData.u;\r\n var _partnerCanaryScenario = _serverData.Ar;\r\n \r\n\r\n \r\n _this.validateAsync = function ()\r\n {\r\n return new Promise(\r\n function (resolve, reject)\r\n {\r\n var data = _getCanaryPurposeData();\r\n data.Canary = _externalCanary;\r\n\r\n var successAction = _getSuccessAction();\r\n\r\n var apiRequest = new ApiRequest({ checkApiCanary: false, withCredentials: true });\r\n\r\n apiRequest.Json(\r\n {\r\n url: _canaryValidationUrl,\r\n eventId: ClientTracingConstants.EventIds.Api_CanaryValidation\r\n },\r\n data,\r\n function () { resolve(successAction); },\r\n function (innerError) { reject(new CanaryValidationHelper.CanaryValidationError(innerError, data.ConfirmationViewId, successAction)); },\r\n Constants.DefaultRequestTimeout);\r\n });\r\n };\r\n \r\n\r\n \r\n function _getCanaryPurposeData()\r\n {\r\n if (_isRemoteConnectFlow)\r\n {\r\n return CanaryPurposeData.DeviceAuth;\r\n }\r\n else if (_partnerCanaryScenario === PartnerCanaryScenario.Fido)\r\n {\r\n return CanaryPurposeData.FidoAuth;\r\n }\r\n\r\n throw \"Canary Validation: Flow IDs not known.\";\r\n }\r\n\r\n function _getSuccessAction()\r\n {\r\n if (_isRemoteConnectSignup)\r\n {\r\n return { action: CanaryValidationSuccessAction.Redirect, redirectUrl: _signupUrl, redirectPostParams: _signupUrlPostParams, isIdpRedirect: false };\r\n }\r\n\r\n \r\n return { action: CanaryValidationSuccessAction.SwitchView };\r\n }\r\n \r\n}\r\n\r\nCanaryValidationHelper.CanaryValidationError = function (innerError, confirmationViewId, postConfirmationAction)\r\n{\r\n var _this = this;\r\n\r\n _this.name = \"CanaryValidationError\";\r\n _this.message = \"Canary validation failed, user confirmation required.\";\r\n _this.stack = (new Error()).stack;\r\n _this.innerError = innerError;\r\n _this.confirmationViewId = confirmationViewId;\r\n _this.postConfirmationAction = postConfirmationAction;\r\n};\r\n\r\nmodule.exports = CanaryValidationHelper;","var Helpers = require(\"./Helpers\");\r\nvar LoginConstants = require(\"../LoginPage/LoginConstants\");\r\n\r\nvar ArrayHelpers = Helpers.Array;\r\n\r\nvar TileHelpers =\r\n{\r\n mergeSessions: function (sharedSessions, newSessions, replaceOtherIdpSessions)\r\n {\r\n var addedSessions = [];\r\n\r\n \r\n \r\n \r\n ArrayHelpers.forEach(\r\n newSessions,\r\n function (newSession)\r\n {\r\n var duplicateSessionIndex = _findDuplicateSessionIndex(newSession, sharedSessions);\r\n\r\n if (duplicateSessionIndex === -1)\r\n {\r\n \r\n \r\n if (newSession.isWindowsSso)\r\n {\r\n sharedSessions.unshift(newSession);\r\n }\r\n else\r\n {\r\n sharedSessions.push(newSession);\r\n }\r\n\r\n addedSessions.push(newSession);\r\n }\r\n else if (newSession.isWindowsSso)\r\n {\r\n \r\n \r\n \r\n \r\n sharedSessions.splice(duplicateSessionIndex, 1);\r\n sharedSessions.unshift(newSession);\r\n addedSessions.push(newSession);\r\n }\r\n else if (replaceOtherIdpSessions)\r\n {\r\n \r\n \r\n \r\n \r\n \r\n sharedSessions.splice(duplicateSessionIndex, 1);\r\n sharedSessions.push(newSession);\r\n addedSessions.push(newSession);\r\n }\r\n });\r\n\r\n return addedSessions;\r\n },\r\n\r\n parseMeControlSessions: function (userJson)\r\n {\r\n var c_signedInToRP = 1; \r\n var c_signedInToIDP = 2; \r\n\r\n return ArrayHelpers.map(\r\n userJson,\r\n function (user)\r\n {\r\n var fullName = user.firstName;\r\n var lastName = user.lastName;\r\n\r\n if (lastName)\r\n {\r\n \r\n if (fullName)\r\n {\r\n fullName += \" \" + lastName;\r\n }\r\n else\r\n {\r\n fullName = lastName;\r\n }\r\n }\r\n\r\n return {\r\n id: user.sessionId,\r\n fullName: fullName,\r\n name: user.memberName || user.signInName,\r\n displayName: user.memberName || user.signInName,\r\n idp: LoginConstants.SessionIdp.Msa,\r\n isOtherIdp: true,\r\n isSignedIn: user.isSignedIn || user.authenticatedState === c_signedInToRP || user.authenticatedState === c_signedInToIDP,\r\n isWindowsSso: user.isWindowsSso || false,\r\n isMeControlSession: true,\r\n isGitHubFed: user.isGitHubFed || false\r\n };\r\n });\r\n },\r\n\r\n parseBssoSessions: function (userJson)\r\n {\r\n return ArrayHelpers.map(\r\n userJson,\r\n function (session)\r\n {\r\n return {\r\n ssoUniqueId: session.ssoUniqueId,\r\n name: session.name,\r\n displayName: session.displayName,\r\n idp: LoginConstants.SessionIdp.Aad,\r\n ssoLink: session.url,\r\n isWindowsSso: session.isWindowsSso,\r\n isSignedIn: session.isSignedIn\r\n };\r\n });\r\n }\r\n};\r\n\r\nfunction _findDuplicateSessionIndex(newSession, sessions)\r\n{\r\n for (var i = 0; i < sessions.length; i++)\r\n {\r\n if (sessions[i].name === newSession.name && sessions[i].idp === newSession.idp)\r\n {\r\n return i;\r\n }\r\n }\r\n\r\n return -1;\r\n}\r\n\r\nmodule.exports = TileHelpers;","var ko = require(\"knockout\");\r\n\r\n\r\nfunction PaginationControlHelper(serverData, paginationControlMethods, backgroundLogoUrl)\r\n{\r\n var _this = this;\r\n var _serverData = serverData;\r\n var _hideFooter = _serverData.Bl;\r\n var _showPageLevelTitleAndDesc = _serverData.bb;\r\n var _persistedViewId = null;\r\n\r\n _this.paginationControlMethods = paginationControlMethods || ko.observable();\r\n _this.backgroundLogoUrl = backgroundLogoUrl || ko.observable();\r\n\r\n \r\n _this.animationEnd = ko.pureComputed(\r\n function ()\r\n {\r\n return _this.paginationControlMethods() && _this.paginationControlMethods().view_onAnimationEnd;\r\n });\r\n\r\n _this.showBackgroundLogoHolder = ko.pureComputed(\r\n function ()\r\n {\r\n return _this.backgroundLogoUrl() && _this.showLogo();\r\n });\r\n\r\n _this.showErrorPageDebugDetails = ko.pureComputed(\r\n function ()\r\n {\r\n return _this.paginationControlMethods() && _this.paginationControlMethods().currentViewHasMetadata(\"extraDebugDetails\");\r\n });\r\n\r\n _this.showFooterControl = ko.pureComputed(\r\n function ()\r\n {\r\n return !_hideFooter && _this.paginationControlMethods() && _this.paginationControlMethods().hasInitialViewShown();\r\n });\r\n\r\n _this.showLogo = ko.pureComputed(\r\n function ()\r\n {\r\n return !(_this.paginationControlMethods() && _this.paginationControlMethods().currentViewHasMetadata(\"hideLogo\"));\r\n });\r\n\r\n _this.showLwaDisclaimer = ko.pureComputed(\r\n function ()\r\n {\r\n return _this.paginationControlMethods() && !_this.paginationControlMethods().currentViewHasMetadata(\"hideLwaDisclaimer\");\r\n });\r\n\r\n _this.showPageLevelTitleControl = ko.pureComputed(\r\n function ()\r\n {\r\n return _showPageLevelTitleAndDesc && !(_this.paginationControlMethods() && _this.paginationControlMethods().currentViewHasMetadata(\"hidePageLevelTitleAndDesc\"));\r\n });\r\n\r\n _this.useWiderWidth = ko.pureComputed(\r\n function ()\r\n {\r\n return _this.paginationControlMethods() && _this.paginationControlMethods().currentViewHasMetadata(\"wide\");\r\n });\r\n\r\n \r\n _this.onLoad = function ()\r\n {\r\n _this.paginationControlMethods().restoreState(_persistedViewId);\r\n _persistedViewId = null;\r\n };\r\n\r\n _this.onUnload = function (currentViewId)\r\n {\r\n _persistedViewId = currentViewId;\r\n };\r\n}\r\n\r\nmodule.exports = PaginationControlHelper;","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","var ko = require(\"knockout\");\r\nvar Browser = require(\"./BrowserControl\");\r\nvar PltHelper = require(\"./PltHelper\");\r\n\r\nvar w = window;\r\n\r\nfunction InstrumentationViewModel(params)\r\n{\r\n var _this = this;\r\n\r\n \r\n var _serverData = params.serverData;\r\n\r\n \r\n var _isCustomPerf = _serverData.isCustomPerf;\r\n\r\n \r\n var _customPageLoadCompletedTime = 0;\r\n var _pageLoadCompleted = false;\r\n var _perfDataReported = false;\r\n\r\n \r\n _this.timeOnPage = ko.observable(null); \r\n\r\n \r\n _this.recordSubmit = function ()\r\n {\r\n if (w.performance && w.performance.timing)\r\n {\r\n _this.timeOnPage(new Date().getTime() - w.performance.timing.loadEventEnd);\r\n }\r\n };\r\n\r\n _this.setPageLoadCompleted = function ()\r\n {\r\n _pageLoadCompleted = true;\r\n setTimeout(function ()\r\n {\r\n _sendPerfData();\r\n }, 0);\r\n };\r\n\r\n _this.setCustomPageLoadCompletedTime = function (ticks)\r\n {\r\n \r\n _customPageLoadCompletedTime = ticks || (new Date().getTime());\r\n };\r\n\r\n function _getPerformanceData()\r\n {\r\n var performance = w.performance;\r\n var navigator = w.navigator;\r\n var performanceData = {};\r\n\r\n if (!performance)\r\n {\r\n return null;\r\n }\r\n\r\n if (performance.navigation)\r\n {\r\n performanceData.navigation = _getPerformanceObjectData(performance.navigation);\r\n }\r\n\r\n if (performance.timing)\r\n {\r\n performanceData.timing = _getPerformanceObjectData(performance.timing);\r\n\r\n \r\n if (_customPageLoadCompletedTime > 0)\r\n {\r\n performanceData.timing.customLoadEventEnd = _customPageLoadCompletedTime;\r\n }\r\n }\r\n\r\n if (performance.getEntries)\r\n {\r\n performanceData.entries = ko.utils.arrayMap(\r\n performance.getEntries(),\r\n _getPerformanceObjectData);\r\n }\r\n\r\n if (navigator.connection)\r\n {\r\n \r\n performanceData.connection = _getPerformanceObjectData(navigator.connection);\r\n }\r\n\r\n return performanceData;\r\n }\r\n\r\n function _getPerformanceObjectData(object)\r\n {\r\n var result = {};\r\n\r\n \r\n if (object.toJSON)\r\n {\r\n return object.toJSON();\r\n }\r\n\r\n \r\n \r\n for (var property in object)\r\n {\r\n result[property] = object[property];\r\n }\r\n\r\n return result;\r\n }\r\n\r\n function _sendPerfData()\r\n {\r\n if (_perfDataReported || !_pageLoadCompleted)\r\n {\r\n return;\r\n }\r\n\r\n \r\n _perfDataReported = true;\r\n\r\n var performanceData = _getPerformanceData();\r\n\r\n \r\n try\r\n {\r\n PltHelper.SendTelemetryPerfData(performanceData, \"LPerf\");\r\n }\r\n catch (e) { }\r\n }\r\n\r\n (function _initialize()\r\n {\r\n if (!_isCustomPerf)\r\n {\r\n \r\n setTimeout(function ()\r\n {\r\n _this.setPageLoadCompleted();\r\n }, 100);\r\n }\r\n })();\r\n}\r\n\r\nko.components.register(\"instrumentation-control\",\r\n {\r\n viewModel: InstrumentationViewModel,\r\n template: require(\"html/Shared/Controls/InstrumentationControlHtml.html\"),\r\n synchronous: !w.ServerData.A || Browser.Helper.isStackSizeGreaterThan(w.ServerData.A),\r\n enableExtensions: true\r\n });\r\n\r\nmodule.exports = InstrumentationViewModel;\r\n","var ko = require(\"knockout\");\r\nvar Browser = require(\"./BrowserControl\");\r\n\r\nvar BrowserHelper = Browser.Helper;\r\n\r\nvar w = window;\r\n\r\nfunction LogoControl(params)\r\n{\r\n var _this = this;\r\n\r\n var _serverData = w.ServerData;\r\n\r\n \r\n var _bannerLogoUrl = params.bannerLogoUrl;\r\n var _isChinaDc = params.isChinaDc;\r\n \r\n\r\n \r\n var _isCiamUserFlowUx = _serverData.fIsCiamUserFlowUx;\r\n var _companyDisplayName = _serverData.s;\r\n var _useNonMicrosoftDefaultBrandingForCiam = _serverData.Ab;\r\n \r\n\r\n \r\n _this.bannerLogoUrl = _bannerLogoUrl;\r\n _this.isChinaDc = _isChinaDc;\r\n _this.isCiamUserFlowUx = _isCiamUserFlowUx;\r\n _this.bannerLogoText = null;\r\n \r\n\r\n (function _initialize()\r\n {\r\n if (_useNonMicrosoftDefaultBrandingForCiam)\r\n {\r\n var unsafe_companyName = BrowserHelper.htmlUnescape(_companyDisplayName);\r\n\r\n _this.bannerLogoText = unsafe_companyName.toUpperCase();\r\n }\r\n })();\r\n}\r\n\r\nko.components.register(\"logo-control\",\r\n {\r\n viewModel: LogoControl,\r\n template: require(\"html/Shared/Controls/LogoControlHtml.html\"),\r\n synchronous: !w.ServerData.A || Browser.Helper.isStackSizeGreaterThan(w.ServerData.A)\r\n });\r\n\r\nmodule.exports = LogoControl;","\r\n\r\nvar ko = require(\"knockout\");\r\nvar Helpers = require(\"./Helpers\");\r\nvar Browser = require(\"./BrowserControl\");\r\nvar ComponentEvent = require(\"./ComponentEvent\");\r\nvar BrandingHelpers = null;\r\nvar Constants = null;\r\n\r\nvar requireCentipede = require.context(\"images/AppCentipede\", false, /^.+?\\.(png|svg)$/);\r\n\r\nvar w = window;\r\nvar LayoutTemplateType = null;\r\n\r\nif (__LAYOUT_TEMPLATES_ENABLED__ || __LAYOUT_TEMPLATES_ROLLOUT__)\r\n{\r\n BrandingHelpers = require(\"./BrandingHelpers\");\r\n Constants = require(\"./Constants\");\r\n\r\n LayoutTemplateType = Constants.LayoutTemplateType;\r\n}\r\n\r\nfunction PageViewModel(params, templateNodes)\r\n{\r\n \r\n var _this = this;\r\n\r\n var _isSvgImageSupported = false;\r\n \r\n\r\n \r\n var _serverData = params.serverData;\r\n var _showButtons = params.showButtons || false;\r\n var _showFooterLinks = params.showFooterLinks;\r\n var _showFooterLogo = params.showFooterLogo !== false; \r\n var _useWizardBehavior = params.useWizardBehavior;\r\n var _hideFromAria = params.hideFromAria || ko.observable(false);\r\n \r\n\r\n \r\n var _productIcon = _serverData.bo;\r\n var _isLayoutTemplatesEnabled = _serverData.fFixSignoutBrandingCiam;\r\n \r\n\r\n \r\n _this.useLayoutTemplates = __LAYOUT_TEMPLATES_ENABLED__ || _isLayoutTemplatesEnabled;\r\n _this.templateNodes = {};\r\n _this.showButtons = _showButtons;\r\n\r\n _this.footer =\r\n {\r\n showLinks: _showFooterLinks,\r\n showLogo: _showFooterLogo\r\n };\r\n\r\n _this.centipede =\r\n {\r\n getLightUrl: function ()\r\n {\r\n return requireCentipede(_mapProductIconToImageName(_productIcon, true ));\r\n },\r\n getDarkUrl: function ()\r\n {\r\n return requireCentipede(_mapProductIconToImageName(_productIcon, false ));\r\n }\r\n };\r\n\r\n _this.hideFromAria = _hideFromAria;\r\n _this.isInternalModeEnabled = Browser.QueryString.extract(\"psi\") === \"1\";\r\n _this.viewModel = null;\r\n\r\n _this.viewAgreement = ko.observable(false);\r\n _this.agreementType = ko.observable();\r\n _this.isLightboxTemplate = ko.observable(true);\r\n _this.isVerticalSplitTemplate = ko.observable(false);\r\n _this.isTemplateLoaded = ko.observable(false);\r\n \r\n\r\n \r\n _this.onFooterAgreementClick = ComponentEvent.create();\r\n \r\n\r\n \r\n _this.footer_agreementClick = function (agreementType)\r\n {\r\n _this.onFooterAgreementClick(agreementType);\r\n };\r\n\r\n _this.agreement_backButtonClick = function ()\r\n {\r\n _this.viewAgreement(false);\r\n };\r\n \r\n\r\n \r\n _this.showAgreement = function (agreementType)\r\n {\r\n _this.agreementType(agreementType);\r\n _this.viewAgreement(true);\r\n };\r\n\r\n _this.updateBranding = function (branding)\r\n {\r\n _initializeTemplate(branding);\r\n };\r\n \r\n\r\n \r\n function _mapProductIconToImageName(iconId, useLight)\r\n {\r\n var iconNames = [\r\n \"Microsoft\", \"OneDrive\", \"Skype\", \"Bing\",\r\n \"Xbox\", \"Word\", \"Outlook\", \"Office\",\r\n \"Excel\", \"PowerPoint\", \"Cortana\", \"SkypeDialer\",\r\n \"Health\", \"MileIQ\", \"Beam\", \"MSN\", \"Minecraft\"];\r\n\r\n if (iconId < 0 || iconId >= iconNames.length)\r\n {\r\n iconId = 0;\r\n }\r\n\r\n return Helpers.String.format(\r\n \"./AppCentipede_{0}{1}.{2}\",\r\n iconNames[iconId],\r\n useLight ? \"_white\" : \"\",\r\n _isSvgImageSupported ? \"svg\" : \"png\");\r\n }\r\n\r\n function _initializeTemplate(tenantBranding)\r\n {\r\n if (__LAYOUT_TEMPLATES_ENABLED__ || !!(__LAYOUT_TEMPLATES_ROLLOUT__ && _this.useLayoutTemplates))\r\n {\r\n var layoutTemplateConfig = BrandingHelpers.getLayoutTemplateConfig(tenantBranding);\r\n var layoutType = layoutTemplateConfig.layoutType;\r\n var isVerticalSplitTemplate = layoutType === LayoutTemplateType.VerticalSplit;\r\n\r\n if (__IS_OLD_WEBPACK__)\r\n {\r\n _this.isTemplateLoaded(true);\r\n return;\r\n }\r\n\r\n if (isVerticalSplitTemplate)\r\n {\r\n _this.isLightboxTemplate(false);\r\n _this.isVerticalSplitTemplate(true);\r\n\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"./VerticalSplitTemplateViewModel\");\r\n _this.isTemplateLoaded(true);\r\n },\r\n \"VerticalSplitTemplate\");\r\n }\r\n else\r\n {\r\n _this.isVerticalSplitTemplate(false);\r\n _this.isLightboxTemplate(true);\r\n }\r\n }\r\n }\r\n\r\n (function _initialize()\r\n {\r\n _isSvgImageSupported = Browser.Helper.isSvgImgSupported();\r\n\r\n if (templateNodes)\r\n {\r\n ko.utils.arrayForEach(\r\n templateNodes,\r\n function (node)\r\n {\r\n if (node.id)\r\n {\r\n _this.templateNodes[node.id] = node.childNodes;\r\n }\r\n });\r\n }\r\n\r\n if (_useWizardBehavior)\r\n {\r\n var WizardControl = null;\r\n\r\n if (__REQUIRE_WIZARD_IN_CORE__)\r\n {\r\n WizardControl = require(\"./WizardControl\");\r\n _this.viewModel = new WizardControl(params);\r\n }\r\n else if (__IS_OLD_WEBPACK__)\r\n {\r\n require.ensure([],\r\n function ()\r\n {\r\n WizardControl = require(\"./WizardControl\");\r\n _this.viewModel = new WizardControl(params);\r\n },\r\n \"Wizard\");\r\n }\r\n }\r\n }\r\n )();\r\n \r\n}\r\n\r\nko.components.register(\"master-page\",\r\n {\r\n viewModel:\r\n {\r\n createViewModel: function (params, componentInfo)\r\n {\r\n return new PageViewModel(params, componentInfo.templateNodes);\r\n }\r\n },\r\n template: require(\"html/Shared/Masters/MasterPageHtml.html\"),\r\n synchronous: !w.ServerData.A || Browser.Helper.isStackSizeGreaterThan(w.ServerData.A),\r\n enableExtensions: true\r\n });\r\n\r\nmodule.exports = PageViewModel;\r\n","var ko = require(\"knockout\");\r\nvar Browser = require(\"./BrowserControl\");\r\n\r\nvar w = window;\r\n\r\nfunction BackgroundImageControl()\r\n{\r\n var _this = this;\r\n\r\n \r\n _this.isAppBranding = ko.observable(false);\r\n _this.backgroundStyle = ko.observable();\r\n _this.smallImageUrl = ko.observable();\r\n _this.backgroundImageUrl = ko.observable();\r\n _this.useImageMask = ko.observable(false);\r\n _this.useTransparentLightBox = ko.observable(false);\r\n\r\n \r\n _this.updateBranding = function (branding)\r\n {\r\n _this.isAppBranding(!!branding.backgroundLogoUrl);\r\n _this.backgroundStyle(branding.color);\r\n _this.smallImageUrl(branding.smallImageUrl);\r\n _this.backgroundImageUrl(branding.backgroundImageUrl);\r\n _this.useImageMask(!!branding.useImageMask);\r\n _this.useTransparentLightBox(!!branding.useTransparentLightBox);\r\n };\r\n}\r\n\r\nko.components.register(\"background-image-control\",\r\n {\r\n viewModel: BackgroundImageControl,\r\n template: require(\"html/Shared/Controls/BackgroundImageControlHtml.html\"),\r\n synchronous: !w.ServerData.A || Browser.Helper.isStackSizeGreaterThan(w.ServerData.A),\r\n enableExtensions: true\r\n });\r\n\r\nmodule.exports = BackgroundImageControl;","var ko = require(\"knockout\");\r\nvar Browser = require(\"./BrowserControl\");\r\n\r\nvar w = window;\r\n\r\nko.components.register(\"environment-banner-control\",\r\n {\r\n template: require(\"html/Shared/Controls/EnvironmentBannerControlHtml.html\"),\r\n synchronous: !w.ServerData.A || Browser.Helper.isStackSizeGreaterThan(w.ServerData.A)\r\n });","var ko = require(\"knockout\");\r\nvar Browser = require(\"./BrowserControl\");\r\n\r\nvar w = window;\r\n\r\nfunction ContentControl(params)\r\n{\r\n \r\n var _this = this;\r\n \r\n\r\n \r\n var _isVerticalSplitTemplate = params.isVerticalSplitTemplate;\r\n var _hasHeader = params.hasHeader || false;\r\n \r\n\r\n \r\n _this.isVerticalSplitTemplate = _isVerticalSplitTemplate || false;\r\n _this.hasHeader = _hasHeader;\r\n \r\n}\r\n\r\nko.components.register(\"content-control\",\r\n {\r\n viewModel: ContentControl,\r\n template: require(\"html/Shared/Controls/ConvergedContentControlHtml.html\"),\r\n synchronous: !w.ServerData.A || Browser.Helper.isStackSizeGreaterThan(w.ServerData.A),\r\n enableExtensions: true\r\n });\r\n\r\nmodule.exports = ContentControl;","module.exports = __webpack_public_path__ + \"content/images/credentialoptions/cred_option_qrpin_white_97ee76155bdef68d51f882d111ce1a79.png\";","module.exports = __webpack_public_path__ + \"content/images/credentialoptions/cred_option_qrpin_white_33f29ddd025aa33fa298befbb72a24a7.svg\";","module.exports = __webpack_public_path__ + \"content/images/credentialoptions/cred_option_qrpin_4a5523d6de79a0f34c943d6029ea5168.png\";","module.exports = __webpack_public_path__ + \"content/images/credentialoptions/cred_option_qrpin_ada5adc951d9c983f746704ac9363507.svg\";","\r\nvar ko = require(\"knockout\");\r\nvar Constants = require(\"./Constants\");\r\nvar Browser = require(\"./BrowserControl\");\r\nvar BrowserHistory = require(\"./BrowserHistory\");\r\nvar ComponentEvent = require(\"./ComponentEvent\");\r\nvar PromiseHelpers = require(\"../Core/PromiseHelpers\");\r\nvar TelemetryFactory = require(\"./TelemetryFactory\");\r\nvar ClientTracingHelper = require(\"./ClientTracingHelper\").getInstance(window.ServerData);\r\nvar ClientTracingConstants = require(\"./ClientTracingConstants\");\r\n\r\nvar w = window;\r\nvar doc = document;\r\nvar head = doc.head;\r\nvar HtmlElementNodeType = 1;\r\nvar PreviousPaginatedState = Constants.PaginatedState.Previous;\r\nvar AnimationState = Constants.AnimationState;\r\nvar AnimationName = Constants.AnimationName;\r\nvar AnimationTimeout = Constants.AnimationTimeout;\r\nvar BrowserHelper = Browser.Helper;\r\n\r\n\r\nfunction PaginationControl(params, views, viewInterfaces, viewMetadata)\r\n{\r\n var _this = this;\r\n\r\n \r\n var _serverData = w.ServerData;\r\n var _initialViewId = params.initialViewId || null;\r\n var _currentViewId = params.currentViewId || null;\r\n var _initialSharedData = params.initialSharedData || {};\r\n var _initialError = params.initialError;\r\n var _enableCssAnimation = params.enableCssAnimation;\r\n var _disableAnimationIfAnimationEndUnsupported = params.disableAnimationIfAnimationEndUnsupported;\r\n var _telemetry = TelemetryFactory.getInstance(_serverData);\r\n var _saveSharedDataOnBack = params.saveSharedDataOnBack || false;\r\n \r\n\r\n \r\n var _removeMinWidthFromLightBox = _serverData.B2;\r\n var _displayResourceAppConsentDetails = _serverData.Z;\r\n var _displayConsolidatedTelephony = _serverData.fPassTelephonyAuthMethod;\r\n var _useLayoutTemplates = _serverData.fFixSignoutBrandingCiam;\r\n \r\n\r\n \r\n var _viewInterfaces = viewInterfaces;\r\n var _viewMetadata = viewMetadata;\r\n var _history = null;\r\n var _currentAnimationState = AnimationState.End;\r\n var _animateBack = false;\r\n var _previousViewId = null;\r\n var _newViewId = null;\r\n var _useCssAnimations = false;\r\n var _disableAnimationTimeout = null;\r\n\r\n var _viewId = ko.observable();\r\n \r\n\r\n \r\n _this.views = views;\r\n _this.viewInterfaces = viewInterfaces;\r\n _this.sharedData = _initialSharedData;\r\n _this.initialError = _initialError;\r\n _this.isInitialState = false;\r\n _this.showLogo = params.showLogo || false;\r\n _this.bannerLogoUrl = params.bannerLogoUrl || \"\";\r\n\r\n _this.isBackButtonVisible = ko.observable(false);\r\n _this.isBackButtonFocused = ko.observable(false);\r\n _this.backButtonDescribedBy = ko.observable(null);\r\n _this.hasInitialViewShown = ko.observable(false);\r\n _this.unsafe_displayName = ko.observable();\r\n\r\n _this.hidePaginatedView = ko.utils.extend(ko.observable(false), { hideSubView: ko.observable(false) });\r\n _this.animate = ko.utils.extend(ko.observable(AnimationName.None),\r\n {\r\n animateBanner: ko.observable(false),\r\n isSlideOutNext: ko.pureComputed(function () { return _this.animate() === AnimationName.SlideOutNext; }),\r\n isSlideInNext: ko.pureComputed(function () { return _this.animate() === AnimationName.SlideInNext; }),\r\n isSlideOutBack: ko.pureComputed(function () { return _this.animate() === AnimationName.SlideOutBack; }),\r\n isSlideInBack: ko.pureComputed(function () { return _this.animate() === AnimationName.SlideInBack; })\r\n });\r\n\r\n _this.showIdentityBanner = ko.pureComputed(\r\n function ()\r\n {\r\n var viewId = _viewId();\r\n return (viewId && _viewMetadata[viewId].metadata && _viewMetadata[viewId].metadata[\"showIdentityBanner\"]);\r\n });\r\n\r\n _this.currentViewIndex = ko.pureComputed(\r\n function ()\r\n {\r\n var viewId = _viewId();\r\n\r\n if (_viewMetadata[viewId] && !isNaN(_viewMetadata[viewId].index))\r\n {\r\n return _viewMetadata[viewId].index;\r\n }\r\n\r\n return -1;\r\n });\r\n\r\n \r\n\r\n \r\n _this.onCancel = ComponentEvent.create();\r\n _this.onUnload = ComponentEvent.create();\r\n _this.onLoadView = ComponentEvent.create();\r\n _this.onShowView = ComponentEvent.create();\r\n _this.onSetLightBoxFadeIn = ComponentEvent.create();\r\n _this.onAnimationStateChange = ComponentEvent.create();\r\n\r\n \r\n _this.dispose = function ()\r\n {\r\n _this.onUnload(_history.getState().viewId);\r\n _history.dispose();\r\n };\r\n\r\n _this.setDefaultFocus = function ()\r\n {\r\n var viewInterface = _getCurrentViewInterface();\r\n if (viewInterface && viewInterface.setDefaultFocus)\r\n {\r\n viewInterface.setDefaultFocus();\r\n }\r\n };\r\n\r\n _this.getCurrentViewId = function ()\r\n {\r\n return _viewId();\r\n };\r\n\r\n _this.getSharedData = function ()\r\n {\r\n return _this.sharedData || {};\r\n };\r\n\r\n _this.getSharedDataItem = function (key)\r\n {\r\n return _this.getSharedData()[key];\r\n };\r\n\r\n _this.getCurrentView = function ()\r\n {\r\n return { viewId: _viewId(), viewInterface: _getCurrentViewInterface() };\r\n };\r\n\r\n _this.setSharedDataItem = function (key, value)\r\n {\r\n if (!_this.sharedData)\r\n {\r\n _this.sharedData = {};\r\n }\r\n\r\n _this.sharedData[key] = value;\r\n };\r\n\r\n _this.saveSharedDataOnCurrentView = function ()\r\n {\r\n var viewInterface = _getCurrentViewInterface();\r\n\r\n if (viewInterface)\r\n {\r\n viewInterface.saveSharedData(_this.sharedData);\r\n }\r\n };\r\n\r\n _this.currentViewHasMetadata = function (property)\r\n {\r\n var viewId = _viewId();\r\n\r\n if (_viewMetadata[viewId])\r\n {\r\n return !!_viewMetadata[viewId].metadata[property];\r\n }\r\n\r\n return false;\r\n };\r\n\r\n _this.submitCurrentView = function ()\r\n {\r\n var viewInterface = _getCurrentViewInterface();\r\n if (viewInterface && viewInterface.submit)\r\n {\r\n viewInterface.submit();\r\n }\r\n };\r\n\r\n _this.identityBanner_onBackButtonClick = function ()\r\n {\r\n \r\n if ((_displayResourceAppConsentDetails || _displayConsolidatedTelephony) && _saveSharedDataOnBack)\r\n {\r\n _this.saveSharedDataOnCurrentView();\r\n }\r\n\r\n _this.view_onSwitchView(PreviousPaginatedState);\r\n };\r\n\r\n _this.restoreState = function (persistedViewId)\r\n {\r\n if (__LAYOUT_TEMPLATES_ENABLED__ || __LAYOUT_TEMPLATES_ROLLOUT__)\r\n {\r\n \r\n var historyState = _history.getState();\r\n\r\n \r\n if (persistedViewId && persistedViewId !== _currentViewId)\r\n {\r\n _currentViewId = persistedViewId;\r\n historyState = { viewId: _currentViewId };\r\n _history.pushState(historyState);\r\n }\r\n\r\n \r\n setTimeout(function ()\r\n {\r\n _showView(historyState.viewId);\r\n }, 0);\r\n }\r\n };\r\n\r\n \r\n _this.view_onLoad = function ()\r\n {\r\n var historyState = _history.getState();\r\n var viewInterface = _getCurrentViewInterface();\r\n\r\n \r\n if (viewInterface)\r\n {\r\n viewInterface.restoreState(historyState ? historyState.viewState : null);\r\n\r\n \r\n \r\n var viewId = _this.getCurrentViewId();\r\n ClientTracingHelper.setViewViewModel(viewInterface, viewId, _viewMetadata[viewId].metadata);\r\n ClientTracingHelper.logViewState(viewInterface);\r\n\r\n if (_telemetry && viewId)\r\n {\r\n try\r\n {\r\n _telemetry.set(\"viewId\", viewId, true);\r\n }\r\n catch (e) { }\r\n }\r\n\r\n _this.setDefaultFocus();\r\n }\r\n };\r\n\r\n _this.view_onSwitchView = function (viewId, replaceHistory, forceTransitionAnimation)\r\n {\r\n ClientTracingHelper.logEvent(\r\n {\r\n eventType: \"view_onSwitchView\",\r\n eventId: ClientTracingConstants.EventIds.Event_PaginationControl_ViewSwitch,\r\n eventLevel: ClientTracingConstants.EventLevel.Critical,\r\n eventArgs: { viewId: viewId, replaceHistory: replaceHistory },\r\n eventOptions: { hidingMode: ClientTracingConstants.HidingMode.None }\r\n });\r\n\r\n ClientTracingHelper.switchView(_getCurrentViewInterface());\r\n\r\n var historyState = _history.getState() || {};\r\n\r\n if (forceTransitionAnimation)\r\n {\r\n historyState.forceTransitionAnimation = forceTransitionAnimation;\r\n _history.replaceState(historyState);\r\n }\r\n\r\n _this.initialError = null;\r\n if (viewId === PreviousPaginatedState)\r\n {\r\n _animateBack = true;\r\n if (historyState.isInitialState)\r\n {\r\n _this.onCancel();\r\n }\r\n else\r\n {\r\n _history.goBack();\r\n }\r\n }\r\n else\r\n {\r\n _animateBack = false;\r\n _saveCurrentViewState(true );\r\n\r\n \r\n \r\n \r\n \r\n replaceHistory |= (viewId === _viewId() && replaceHistory !== false);\r\n\r\n if (replaceHistory)\r\n {\r\n \r\n historyState.viewId = viewId;\r\n historyState.viewState = null;\r\n _history.replaceState(historyState);\r\n }\r\n else\r\n {\r\n \r\n historyState = { viewId: viewId };\r\n _history.pushState(historyState);\r\n }\r\n\r\n _showView(viewId, forceTransitionAnimation);\r\n }\r\n };\r\n\r\n _this.view_onCancel = function ()\r\n {\r\n _this.onCancel();\r\n };\r\n\r\n _this.view_onSetIdentityBackButtonState = function (visible, hasFocus, describedBy)\r\n {\r\n _this.isBackButtonVisible(visible || false);\r\n _this.isBackButtonFocused(hasFocus || false);\r\n _this.backButtonDescribedBy(describedBy || null);\r\n };\r\n\r\n _this.view_onAnimationEnd = function ()\r\n {\r\n \r\n \r\n\r\n _this.onAnimationStateChange(_currentAnimationState, _animateBack, !!_previousViewId );\r\n\r\n switch (_currentAnimationState)\r\n {\r\n case AnimationState.Begin:\r\n \r\n _this.animate(AnimationName.None);\r\n _this.animate.animateBanner(!_previousViewId || _viewMetadata[_previousViewId].metadata[\"showIdentityBanner\"] !== _viewMetadata[_newViewId].metadata[\"showIdentityBanner\"]);\r\n\r\n \r\n _currentAnimationState = AnimationState.RenderNewView;\r\n if (_previousViewId)\r\n {\r\n _this.animate(_animateBack ? AnimationName.SlideOutBack : AnimationName.SlideOutNext);\r\n }\r\n else\r\n {\r\n _this.view_onAnimationEnd();\r\n }\r\n break;\r\n\r\n case AnimationState.RenderNewView:\r\n _renderNewView(_newViewId);\r\n _this.animate.animateBanner() ? _this.hidePaginatedView(true) : _this.hidePaginatedView.hideSubView(true);\r\n _this.unsafe_displayName(_this.showIdentityBanner() ? BrowserHelper.htmlUnescape(_this.sharedData.displayName || w.ServerData.G) : \"\");\r\n\r\n \r\n _currentAnimationState = AnimationState.AnimateNewView;\r\n if (_previousViewId)\r\n {\r\n setTimeout(_this.view_onAnimationEnd, 0);\r\n }\r\n else\r\n {\r\n _this.onSetLightBoxFadeIn(true);\r\n }\r\n break;\r\n\r\n case AnimationState.AnimateNewView:\r\n \r\n if (_disableAnimationTimeout)\r\n {\r\n clearTimeout(_disableAnimationTimeout);\r\n _disableAnimationTimeout = null;\r\n }\r\n\r\n _currentAnimationState = AnimationState.End;\r\n _this.hidePaginatedView(false);\r\n _this.hidePaginatedView.hideSubView(false);\r\n _this.animate(_animateBack ? AnimationName.SlideInBack : AnimationName.SlideInNext);\r\n break;\r\n }\r\n };\r\n\r\n \r\n function _getCurrentViewInterface()\r\n {\r\n var viewIndex = _this.currentViewIndex();\r\n if (_viewInterfaces[viewIndex])\r\n {\r\n return _viewInterfaces[viewIndex]();\r\n }\r\n\r\n return null;\r\n }\r\n\r\n function _renderNewView(viewId)\r\n {\r\n \r\n _viewId(null);\r\n _this.view_onSetIdentityBackButtonState();\r\n\r\n _this.isInitialState = _history.getState().isInitialState;\r\n\r\n \r\n _this.onShowView(_viewMetadata[viewId].metadata, viewId);\r\n\r\n \r\n _viewId(viewId);\r\n\r\n \r\n _this.hasInitialViewShown(true);\r\n\r\n var activeContainer = document.querySelectorAll(\"[data-viewid]\");\r\n\r\n if (_telemetry && activeContainer && activeContainer.length > 0)\r\n {\r\n try\r\n {\r\n \r\n _telemetry.applyClientEventBindings(activeContainer[0]);\r\n }\r\n catch (e) { }\r\n }\r\n }\r\n\r\n function _showView(viewId, forceTransitionAnimation)\r\n {\r\n var currentViewId = _viewId();\r\n var loadViewPromise = _this.onLoadView(viewId);\r\n\r\n \r\n \r\n if (_telemetry && currentViewId)\r\n {\r\n try\r\n {\r\n _telemetry.set(\"viewId\", currentViewId, true);\r\n _telemetry.post(true);\r\n }\r\n catch (e) { }\r\n }\r\n\r\n \r\n if (!loadViewPromise)\r\n {\r\n _animateToNewView(currentViewId, viewId, forceTransitionAnimation);\r\n\r\n return;\r\n }\r\n\r\n PromiseHelpers.throwUnhandledExceptionOnRejection(\r\n loadViewPromise.then(function ()\r\n {\r\n _animateToNewView(currentViewId, viewId, forceTransitionAnimation);\r\n })\r\n );\r\n }\r\n\r\n \r\n function _animateToNewView(currentViewId, viewId, forceTransitionAnimation)\r\n {\r\n var isTransitionAnimated = (currentViewId !== viewId) || forceTransitionAnimation;\r\n\r\n if (_useCssAnimations && isTransitionAnimated && (!_initialError || currentViewId))\r\n {\r\n if (_disableAnimationIfAnimationEndUnsupported && _previousViewId === null)\r\n {\r\n _disableAnimationTimeout = setTimeout(\r\n function ()\r\n {\r\n _useCssAnimations = false;\r\n _this.hidePaginatedView(false);\r\n _this.hidePaginatedView.hideSubView(false);\r\n _this.onSetLightBoxFadeIn(false);\r\n _currentAnimationState = AnimationState.End;\r\n _showView(viewId);\r\n }, AnimationTimeout);\r\n }\r\n\r\n _previousViewId = currentViewId;\r\n _newViewId = viewId;\r\n\r\n _currentAnimationState = AnimationState.Begin;\r\n _this.view_onAnimationEnd();\r\n }\r\n else\r\n {\r\n _this.animate(AnimationName.None);\r\n _this.view_onAnimationEnd();\r\n\r\n _renderNewView(viewId);\r\n _this.unsafe_displayName(_this.showIdentityBanner() ? BrowserHelper.htmlUnescape(_this.sharedData.displayName || w.ServerData.G) : \"\");\r\n }\r\n }\r\n\r\n function _saveCurrentViewState(saveSharedData)\r\n {\r\n var currentViewInterface = _getCurrentViewInterface();\r\n\r\n if (!currentViewInterface)\r\n {\r\n return;\r\n }\r\n\r\n if (saveSharedData)\r\n {\r\n \r\n currentViewInterface.saveSharedData(_this.sharedData);\r\n }\r\n\r\n \r\n var viewState = currentViewInterface.getState();\r\n var historyState = _history.getState();\r\n\r\n historyState.viewState = viewState;\r\n _history.replaceState(historyState);\r\n }\r\n\r\n function _history_onBack()\r\n {\r\n _animateBack = true;\r\n _saveCurrentViewState(false );\r\n }\r\n\r\n function _history_onForward()\r\n {\r\n _animateBack = false;\r\n }\r\n\r\n function _history_onPopState(historyState)\r\n {\r\n _this.initialError = null;\r\n _showView(historyState.viewId, historyState.forceTransitionAnimation);\r\n }\r\n\r\n (function _initialize()\r\n {\r\n _useCssAnimations = _enableCssAnimation && BrowserHelper.isCSSAnimationSupported();\r\n _history = new BrowserHistory(_history_onBack, _history_onForward, _history_onPopState);\r\n\r\n var historyState = null;\r\n\r\n if (_initialViewId !== null || _currentViewId !== null)\r\n {\r\n \r\n _initialViewId = _initialViewId === null ? _currentViewId : _initialViewId;\r\n _currentViewId = _currentViewId === null ? _initialViewId : _currentViewId;\r\n\r\n \r\n historyState = { viewId: _initialViewId, isInitialState: true };\r\n _history.replaceState(historyState);\r\n }\r\n\r\n \r\n if (_currentViewId !== _initialViewId)\r\n {\r\n historyState = { viewId: _currentViewId };\r\n _history.pushState(historyState);\r\n }\r\n\r\n if (!(__LAYOUT_TEMPLATES_ENABLED__ || (__LAYOUT_TEMPLATES_ROLLOUT__ && _useLayoutTemplates)) && historyState !== null)\r\n {\r\n \r\n setTimeout(function ()\r\n {\r\n _showView(historyState.viewId);\r\n }, 0);\r\n }\r\n\r\n \r\n \r\n \r\n \r\n \r\n if (__IS_CONVERGEDUX__)\r\n {\r\n if (_removeMinWidthFromLightBox)\r\n {\r\n var _minWidthCssNode = doc.createElement(\"style\");\r\n _minWidthCssNode.type = \"text/css\";\r\n _minWidthCssNode.innerHTML = \".inner,.promoted-fed-cred-box,.sign-in-box,.new-session-popup-v2sso,.debug-details-banner,.vertical-split-content{min-width:0;}\";\r\n head.appendChild(_minWidthCssNode);\r\n }\r\n }\r\n })();\r\n}\r\n\r\nfunction PaginationControlFactory(params, componentInfo)\r\n{\r\n var views = [];\r\n var viewInterfaces = [];\r\n var viewMetadata = {};\r\n var index = 0;\r\n\r\n ko.utils.arrayForEach(\r\n componentInfo.templateNodes,\r\n function (templateNode)\r\n {\r\n var viewId;\r\n\r\n \r\n if (templateNode.nodeType === HtmlElementNodeType)\r\n {\r\n viewId = templateNode.getAttribute(\"data-viewid\");\r\n\r\n if (viewId !== null)\r\n {\r\n views.push(templateNode);\r\n viewInterfaces.push(ko.observable());\r\n\r\n viewId = isNaN(viewId) ? viewId : parseInt(viewId);\r\n\r\n viewMetadata[viewId] =\r\n {\r\n index: index++,\r\n metadata: _buildViewMetadata(templateNode)\r\n };\r\n }\r\n }\r\n });\r\n\r\n return new PaginationControl(params, views, viewInterfaces, viewMetadata);\r\n}\r\n\r\nfunction _buildViewMetadata(templateNode)\r\n{\r\n var metadata = {};\r\n var supportedMetadataAttributes =\r\n [\r\n \"wide\",\r\n \"hideLogo\",\r\n \"hideDefaultLogo\",\r\n \"dynamicBranding\",\r\n \"hideLwaDisclaimer\",\r\n \"showIdentityBanner\",\r\n \"showFedCredButton\",\r\n \"showSignupFedCredButton\",\r\n \"hidePageLevelTitleAndDesc\",\r\n \"extraDebugDetails\",\r\n \"showQrCodeSignInButton\"\r\n ];\r\n\r\n ko.utils.arrayForEach(\r\n supportedMetadataAttributes,\r\n function (attributeName)\r\n {\r\n var value = templateNode.getAttribute(\"data-\" + attributeName);\r\n if (value)\r\n {\r\n metadata[attributeName] = value.toLowerCase() === \"true\";\r\n }\r\n }\r\n );\r\n\r\n return metadata;\r\n}\r\n\r\nko.components.register(\"pagination-control\",\r\n {\r\n viewModel: { createViewModel: PaginationControlFactory },\r\n template: require(\"html/Shared/Controls/PaginationControlHtml.html\"),\r\n synchronous: !w.ServerData.A || Browser.Helper.isStackSizeGreaterThan(w.ServerData.A),\r\n enableExtensions: true\r\n });","var ko = require(\"knockout\");\r\nvar Browser = require(\"../Core/BrowserControl\");\r\nvar ComponentEvent = require(\"../Core/ComponentEvent\");\r\n\r\nvar w = window;\r\n\r\n\r\nfunction FidoHelpDialogContentControl(params)\r\n{\r\n var _this = this;\r\n\r\n \r\n var _isPlatformAuthenticatorAvailable = params.isPlatformAuthenticatorAvailable;\r\n \r\n\r\n \r\n _this.isPlatformAuthenticatorAvailable = _isPlatformAuthenticatorAvailable;\r\n \r\n\r\n \r\n _this.onRegisterDialog = ComponentEvent.create();\r\n _this.onUnregisterDialog = ComponentEvent.create();\r\n \r\n}\r\n\r\nko.components.register(\"fido-help-dialog-content-control\",\r\n {\r\n viewModel: FidoHelpDialogContentControl,\r\n template: require(\"html/LoginPage/Controls/FidoHelpDialogContentControlHtml.html\"),\r\n synchronous: !w.ServerData.A || Browser.Helper.isStackSizeGreaterThan(w.ServerData.A),\r\n enableExtensions: true\r\n });\r\n\r\nmodule.exports = FidoHelpDialogContentControl;","var w = window;\r\n\r\n__webpack_public_path__ = w.ServerData.a;\r\n\r\n\r\nw.ServerData.urlImagePath = w.ServerData.a + \"images/\";\r\n\r\nvar ko = require(\"knockout\");\r\nvar KnockoutExtensions = require(\"../Core/KnockoutExtensions\");\r\nvar Constants = require(\"../Core/Constants\");\r\nvar Browser = require(\"../Core/BrowserControl\");\r\nvar StringRepository = require(\"../Core/StringRepository\");\r\nvar LoginConstants = require(\"./LoginConstants\");\r\nvar LoginPaginatedViewModel = require(\"./LoginPaginatedPageViewModel\");\r\n\r\nrequire(\"../Core/TelemetryFactory\").getInstance(window.ServerData);\r\n\r\nvar LoginMode = Constants.LoginMode;\r\nvar BrowserHelper = Browser.Helper;\r\nvar QueryString = Browser.QueryString;\r\nvar Cookies = Browser.Cookies;\r\nvar LoginOption = LoginConstants.LoginOption;\r\n\r\nvar _onLoadFired = false;\r\n\r\nKnockoutExtensions.applyExtensions(ko);\r\n\r\nko.utils.registerEventHandler(w, \"load\",\r\n function ()\r\n {\r\n var serverData = w.ServerData;\r\n serverData.str = StringRepository.getStrings(\"str\", serverData);\r\n serverData.html = StringRepository.getStrings(\"html\", serverData);\r\n serverData.arrProofData = StringRepository.getStrings(\"proofData\");\r\n\r\n if (_onLoadFired || isRedirectNeeded(serverData))\r\n {\r\n return;\r\n }\r\n\r\n _onLoadFired = true;\r\n\r\n switch (serverData.f)\r\n {\r\n case LoginMode.GenericError:\r\n case LoginMode.GenericErrorMobile:\r\n case LoginMode.GenericErrorHost:\r\n case LoginMode.SwitchUser:\r\n case LoginMode.SwitchUserMobile:\r\n case LoginMode.SwitchUserHost:\r\n case LoginMode.InviteBlocked:\r\n case LoginMode.ServiceBlocked:\r\n case LoginMode.IDPFailed:\r\n case LoginMode.HIP_Lockout:\r\n case LoginMode.HIP_LockoutMobile:\r\n case LoginMode.HIP_LockoutHost:\r\n case LoginMode.BindFailed:\r\n require.ensure([],\r\n function ()\r\n {\r\n var LoginErrorViewModel = require(\"./LoginErrorPageViewModel\");\r\n\r\n document.body.appendChild(document.createElement(\"div\")).innerHTML = require(\"html/LoginPage/LoginErrorPageHtml.html\");\r\n ko.applyBindings(new LoginErrorViewModel(serverData));\r\n postLoad(serverData);\r\n },\r\n \"Alt\");\r\n\r\n break;\r\n default:\r\n document.body.appendChild(document.createElement(\"div\")).innerHTML = require(\"html/LoginPage/LoginPaginatedPageHtml.html\");\r\n ko.applyBindings(new LoginPaginatedViewModel(serverData));\r\n postLoad(serverData);\r\n break;\r\n }\r\n });\r\n\r\nfunction postLoad(serverData)\r\n{\r\n doAsyncIPv6ImageLoad(serverData.aW);\r\n doAsyncCertImageLoad(serverData);\r\n}\r\n\r\nfunction isRedirectNeeded(serverData)\r\n{\r\n try\r\n {\r\n \r\n if (top !== self)\r\n {\r\n \r\n top.location.replace(self.location.href);\r\n }\r\n\r\n \r\n if (serverData.af === 2 && serverData.urlFed)\r\n {\r\n doFedRedirect(serverData.urlFed, serverData.Aq, decodeURIComponent(QueryString.extract(\"username\")), serverData);\r\n return true;\r\n }\r\n\r\n \r\n if (!Cookies.enabled())\r\n {\r\n document.location = serverData.X;\r\n return true;\r\n }\r\n }\r\n catch (exc)\r\n {\r\n serverData.f = LoginMode.GenericError;\r\n }\r\n\r\n return false;\r\n}\r\n\r\nfunction doFedRedirect(fedUrl, loginOptions, username, serverData)\r\n{\r\n var fedQs = serverData.sFedQS;\r\n\r\n if (loginOptions === LoginOption.NothingChecked)\r\n {\r\n fedQs = QueryString.appendOrReplace(\"?\" + fedQs, \"wctx\", \"LoginOptions%3D3%26\" + QueryString.extract(\"wctx\", \"?\" + fedQs)).substr(1);\r\n }\r\n\r\n fedUrl = QueryString.appendOrReplace(fedUrl, \"cbcxt\", encodeURIComponent(decodeURIComponent(QueryString.extract(\"cbcxt\"))));\r\n fedUrl = QueryString.appendOrReplace(fedUrl, \"vv\", encodeURIComponent(decodeURIComponent(QueryString.extract(\"cbcxt\"))));\r\n fedUrl = QueryString.appendOrReplace(fedUrl, \"username\", encodeURIComponent(username));\r\n fedUrl = QueryString.appendOrReplace(fedUrl, \"mkt\", encodeURIComponent(decodeURIComponent(QueryString.extract(\"mkt\"))));\r\n fedUrl = QueryString.appendOrReplace(fedUrl, \"lc\", encodeURIComponent(decodeURIComponent(QueryString.extract(\"lc\"))));\r\n\r\n document.location.replace(QueryString.append(fedUrl, fedQs));\r\n\r\n return true;\r\n}\r\n\r\nfunction doAsyncCertImageLoad(serverData)\r\n{\r\n \r\n if (serverData.ad)\r\n {\r\n \r\n if ((new RegExp(\"Windows NT ([0-9]{1,}[.0-9]{0,})\").exec(navigator.userAgent) !== null && parseFloat(RegExp.$1) < 6.0) &&\r\n BrowserHelper.getIEVersion() >= 7.0) \r\n {\r\n try\r\n {\r\n \r\n var el = document.getElementById(\"ev\");\r\n el.src = serverData.at;\r\n }\r\n catch (exc)\r\n {\r\n }\r\n }\r\n }\r\n}\r\n\r\n\r\nfunction doAsyncIPv6ImageLoad(experimentUrl)\r\n{\r\n if (experimentUrl)\r\n {\r\n var img = new Image();\r\n img.src = experimentUrl;\r\n }\r\n}","/*!\n * Knockout JavaScript library v3.5.1\n * (c) The Knockout.js team - http://knockoutjs.com/\n * License: MIT (http://www.opensource.org/licenses/mit-license.php)\n */\n\n(function() {(function(n){var A=this||(0,eval)(\"this\"),w=A.document,R=A.navigator,v=A.jQuery,H=A.JSON;v||\"undefined\"===typeof jQuery||(v=jQuery);(function(n){\"function\"===typeof define&&define.amd?define([\"exports\",\"require\"],n):\"object\"===typeof exports&&\"object\"===typeof module?n(module.exports||exports):n(A.ko={})})(function(S,T){function K(a,c){return null===a||typeof a in W?a===c:!1}function X(b,c){var d;return function(){d||(d=a.a.setTimeout(function(){d=n;b()},c))}}function Y(b,c){var d;return function(){clearTimeout(d);\nd=a.a.setTimeout(b,c)}}function Z(a,c){c&&\"change\"!==c?\"beforeChange\"===c?this.pc(a):this.gb(a,c):this.qc(a)}function aa(a,c){null!==c&&c.s&&c.s()}function ba(a,c){var d=this.qd,e=d[r];e.ra||(this.Qb&&this.mb[c]?(d.uc(c,a,this.mb[c]),this.mb[c]=null,--this.Qb):e.I[c]||d.uc(c,a,e.J?{da:a}:d.$c(a)),a.Ja&&a.gd())}var a=\"undefined\"!==typeof S?S:{};a.b=function(b,c){for(var d=b.split(\".\"),e=a,f=0;f<d.length-1;f++)e=e[d[f]];e[d[d.length-1]]=c};a.L=function(a,c,d){a[c]=d};a.version=\"3.5.1\";a.b(\"version\",\na.version);a.options={deferUpdates:!1,useOnlyNativeEvents:!1,foreachHidesDestroyed:!1};a.a=function(){function b(a,b){for(var c in a)f.call(a,c)&&b(c,a[c])}function c(a,b){if(b)for(var c in b)f.call(b,c)&&(a[c]=b[c]);return a}function d(a,b){a.__proto__=b;return a}function e(b,c,d,e){var l=b[c].match(q)||[];a.a.D(d.match(q),function(b){a.a.Na(l,b,e)});b[c]=l.join(\" \")}var f=Object.prototype.hasOwnProperty,g={__proto__:[]}instanceof Array,h=\"function\"===typeof Symbol,m={},k={};m[R&&/Firefox\\/2/i.test(R.userAgent)?\n\"KeyboardEvent\":\"UIEvents\"]=[\"keyup\",\"keydown\",\"keypress\"];m.MouseEvents=\"click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave\".split(\" \");b(m,function(a,b){if(b.length)for(var c=0,d=b.length;c<d;c++)k[b[c]]=a});var l={propertychange:!0},p=w&&function(){for(var a=3,b=w.createElement(\"div\"),c=b.getElementsByTagName(\"i\");b.innerHTML=\"\\x3c!--[if gt IE \"+ ++a+\"]><i></i><![endif]--\\x3e\",c[0];);return 4<a?a:n}(),q=/\\S+/g,t;return{Jc:[\"authenticity_token\",/^__RequestVerificationToken(_.*)?$/],\nD:function(a,b,c){for(var d=0,e=a.length;d<e;d++)b.call(c,a[d],d,a)},A:\"function\"==typeof Array.prototype.indexOf?function(a,b){return Array.prototype.indexOf.call(a,b)}:function(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1},Lb:function(a,b,c){for(var d=0,e=a.length;d<e;d++)if(b.call(c,a[d],d,a))return a[d];return n},Pa:function(b,c){var d=a.a.A(b,c);0<d?b.splice(d,1):0===d&&b.shift()},wc:function(b){var c=[];b&&a.a.D(b,function(b){0>a.a.A(c,b)&&c.push(b)});return c},Mb:function(a,\nb,c){var d=[];if(a)for(var e=0,l=a.length;e<l;e++)d.push(b.call(c,a[e],e));return d},jb:function(a,b,c){var d=[];if(a)for(var e=0,l=a.length;e<l;e++)b.call(c,a[e],e)&&d.push(a[e]);return d},Nb:function(a,b){if(b instanceof Array)a.push.apply(a,b);else for(var c=0,d=b.length;c<d;c++)a.push(b[c]);return a},Na:function(b,c,d){var e=a.a.A(a.a.bc(b),c);0>e?d&&b.push(c):d||b.splice(e,1)},Ba:g,extend:c,setPrototypeOf:d,Ab:g?d:c,P:b,Ga:function(a,b,c){if(!a)return a;var d={},e;for(e in a)f.call(a,e)&&(d[e]=\nb.call(c,a[e],e,a));return d},Tb:function(b){for(;b.firstChild;)a.removeNode(b.firstChild)},Yb:function(b){b=a.a.la(b);for(var c=(b[0]&&b[0].ownerDocument||w).createElement(\"div\"),d=0,e=b.length;d<e;d++)c.appendChild(a.oa(b[d]));return c},Ca:function(b,c){for(var d=0,e=b.length,l=[];d<e;d++){var k=b[d].cloneNode(!0);l.push(c?a.oa(k):k)}return l},va:function(b,c){a.a.Tb(b);if(c)for(var d=0,e=c.length;d<e;d++)b.appendChild(c[d])},Xc:function(b,c){var d=b.nodeType?[b]:b;if(0<d.length){for(var e=d[0],\nl=e.parentNode,k=0,f=c.length;k<f;k++)l.insertBefore(c[k],e);k=0;for(f=d.length;k<f;k++)a.removeNode(d[k])}},Ua:function(a,b){if(a.length){for(b=8===b.nodeType&&b.parentNode||b;a.length&&a[0].parentNode!==b;)a.splice(0,1);for(;1<a.length&&a[a.length-1].parentNode!==b;)a.length--;if(1<a.length){var c=a[0],d=a[a.length-1];for(a.length=0;c!==d;)a.push(c),c=c.nextSibling;a.push(d)}}return a},Zc:function(a,b){7>p?a.setAttribute(\"selected\",b):a.selected=b},Db:function(a){return null===a||a===n?\"\":a.trim?\na.trim():a.toString().replace(/^[\\s\\xa0]+|[\\s\\xa0]+$/g,\"\")},Ud:function(a,b){a=a||\"\";return b.length>a.length?!1:a.substring(0,b.length)===b},vd:function(a,b){if(a===b)return!0;if(11===a.nodeType)return!1;if(b.contains)return b.contains(1!==a.nodeType?a.parentNode:a);if(b.compareDocumentPosition)return 16==(b.compareDocumentPosition(a)&16);for(;a&&a!=b;)a=a.parentNode;return!!a},Sb:function(b){return a.a.vd(b,b.ownerDocument.documentElement)},kd:function(b){return!!a.a.Lb(b,a.a.Sb)},R:function(a){return a&&\na.tagName&&a.tagName.toLowerCase()},Ac:function(b){return a.onError?function(){try{return b.apply(this,arguments)}catch(c){throw a.onError&&a.onError(c),c;}}:b},setTimeout:function(b,c){return setTimeout(a.a.Ac(b),c)},Gc:function(b){setTimeout(function(){a.onError&&a.onError(b);throw b;},0)},B:function(b,c,d){var e=a.a.Ac(d);d=l[c];if(a.options.useOnlyNativeEvents||d||!v)if(d||\"function\"!=typeof b.addEventListener)if(\"undefined\"!=typeof b.attachEvent){var k=function(a){e.call(b,a)},f=\"on\"+c;b.attachEvent(f,\nk);a.a.K.za(b,function(){b.detachEvent(f,k)})}else throw Error(\"Browser doesn't support addEventListener or attachEvent\");else b.addEventListener(c,e,!1);else t||(t=\"function\"==typeof v(b).on?\"on\":\"bind\"),v(b)[t](c,e)},Fb:function(b,c){if(!b||!b.nodeType)throw Error(\"element must be a DOM node when calling triggerEvent\");var d;\"input\"===a.a.R(b)&&b.type&&\"click\"==c.toLowerCase()?(d=b.type,d=\"checkbox\"==d||\"radio\"==d):d=!1;if(a.options.useOnlyNativeEvents||!v||d)if(\"function\"==typeof w.createEvent)if(\"function\"==\ntypeof b.dispatchEvent)d=w.createEvent(k[c]||\"HTMLEvents\"),d.initEvent(c,!0,!0,A,0,0,0,0,0,!1,!1,!1,!1,0,b),b.dispatchEvent(d);else throw Error(\"The supplied element doesn't support dispatchEvent\");else if(d&&b.click)b.click();else if(\"undefined\"!=typeof b.fireEvent)b.fireEvent(\"on\"+c);else throw Error(\"Browser doesn't support triggering events\");else v(b).trigger(c)},f:function(b){return a.O(b)?b():b},bc:function(b){return a.O(b)?b.v():b},Eb:function(b,c,d){var l;c&&(\"object\"===typeof b.classList?\n(l=b.classList[d?\"add\":\"remove\"],a.a.D(c.match(q),function(a){l.call(b.classList,a)})):\"string\"===typeof b.className.baseVal?e(b.className,\"baseVal\",c,d):e(b,\"className\",c,d))},Bb:function(b,c){var d=a.a.f(c);if(null===d||d===n)d=\"\";var e=a.h.firstChild(b);!e||3!=e.nodeType||a.h.nextSibling(e)?a.h.va(b,[b.ownerDocument.createTextNode(d)]):e.data=d;a.a.Ad(b)},Yc:function(a,b){a.name=b;if(7>=p)try{var c=a.name.replace(/[&<>'\"]/g,function(a){return\"&#\"+a.charCodeAt(0)+\";\"});a.mergeAttributes(w.createElement(\"<input name='\"+\nc+\"'/>\"),!1)}catch(d){}},Ad:function(a){9<=p&&(a=1==a.nodeType?a:a.parentNode,a.style&&(a.style.zoom=a.style.zoom))},wd:function(a){if(p){var b=a.style.width;a.style.width=0;a.style.width=b}},Pd:function(b,c){b=a.a.f(b);c=a.a.f(c);for(var d=[],e=b;e<=c;e++)d.push(e);return d},la:function(a){for(var b=[],c=0,d=a.length;c<d;c++)b.push(a[c]);return b},Da:function(a){return h?Symbol(a):a},Zd:6===p,$d:7===p,W:p,Lc:function(b,c){for(var d=a.a.la(b.getElementsByTagName(\"input\")).concat(a.a.la(b.getElementsByTagName(\"textarea\"))),\ne=\"string\"==typeof c?function(a){return a.name===c}:function(a){return c.test(a.name)},l=[],k=d.length-1;0<=k;k--)e(d[k])&&l.push(d[k]);return l},Nd:function(b){return\"string\"==typeof b&&(b=a.a.Db(b))?H&&H.parse?H.parse(b):(new Function(\"return \"+b))():null},hc:function(b,c,d){if(!H||!H.stringify)throw Error(\"Cannot find JSON.stringify(). Some browsers (e.g., IE < 8) don't support it natively, but you can overcome this by adding a script reference to json2.js, downloadable from http://www.json.org/json2.js\");\nreturn H.stringify(a.a.f(b),c,d)},Od:function(c,d,e){e=e||{};var l=e.params||{},k=e.includeFields||this.Jc,f=c;if(\"object\"==typeof c&&\"form\"===a.a.R(c))for(var f=c.action,h=k.length-1;0<=h;h--)for(var g=a.a.Lc(c,k[h]),m=g.length-1;0<=m;m--)l[g[m].name]=g[m].value;d=a.a.f(d);var p=w.createElement(\"form\");p.style.display=\"none\";p.action=f;p.method=\"post\";for(var q in d)c=w.createElement(\"input\"),c.type=\"hidden\",c.name=q,c.value=a.a.hc(a.a.f(d[q])),p.appendChild(c);b(l,function(a,b){var c=w.createElement(\"input\");\nc.type=\"hidden\";c.name=a;c.value=b;p.appendChild(c)});w.body.appendChild(p);e.submitter?e.submitter(p):p.submit();setTimeout(function(){p.parentNode.removeChild(p)},0)}}}();a.b(\"utils\",a.a);a.b(\"utils.arrayForEach\",a.a.D);a.b(\"utils.arrayFirst\",a.a.Lb);a.b(\"utils.arrayFilter\",a.a.jb);a.b(\"utils.arrayGetDistinctValues\",a.a.wc);a.b(\"utils.arrayIndexOf\",a.a.A);a.b(\"utils.arrayMap\",a.a.Mb);a.b(\"utils.arrayPushAll\",a.a.Nb);a.b(\"utils.arrayRemoveItem\",a.a.Pa);a.b(\"utils.cloneNodes\",a.a.Ca);a.b(\"utils.createSymbolOrString\",\na.a.Da);a.b(\"utils.extend\",a.a.extend);a.b(\"utils.fieldsIncludedWithJsonPost\",a.a.Jc);a.b(\"utils.getFormFields\",a.a.Lc);a.b(\"utils.objectMap\",a.a.Ga);a.b(\"utils.peekObservable\",a.a.bc);a.b(\"utils.postJson\",a.a.Od);a.b(\"utils.parseJson\",a.a.Nd);a.b(\"utils.registerEventHandler\",a.a.B);a.b(\"utils.stringifyJson\",a.a.hc);a.b(\"utils.range\",a.a.Pd);a.b(\"utils.toggleDomNodeCssClass\",a.a.Eb);a.b(\"utils.triggerEvent\",a.a.Fb);a.b(\"utils.unwrapObservable\",a.a.f);a.b(\"utils.objectForEach\",a.a.P);a.b(\"utils.addOrRemoveItem\",\na.a.Na);a.b(\"utils.setTextContent\",a.a.Bb);a.b(\"unwrap\",a.a.f);Function.prototype.bind||(Function.prototype.bind=function(a){var c=this;if(1===arguments.length)return function(){return c.apply(a,arguments)};var d=Array.prototype.slice.call(arguments,1);return function(){var e=d.slice(0);e.push.apply(e,arguments);return c.apply(a,e)}});a.a.g=new function(){var b=0,c=\"__ko__\"+(new Date).getTime(),d={},e,f;a.a.W?(e=function(a,e){var f=a[c];if(!f||\"null\"===f||!d[f]){if(!e)return n;f=a[c]=\"ko\"+b++;d[f]=\n{}}return d[f]},f=function(a){var b=a[c];return b?(delete d[b],a[c]=null,!0):!1}):(e=function(a,b){var d=a[c];!d&&b&&(d=a[c]={});return d},f=function(a){return a[c]?(delete a[c],!0):!1});return{get:function(a,b){var c=e(a,!1);return c&&c[b]},set:function(a,b,c){(a=e(a,c!==n))&&(a[b]=c)},Ub:function(a,b,c){a=e(a,!0);return a[b]||(a[b]=c)},clear:f,Z:function(){return b++ +c}}};a.b(\"utils.domData\",a.a.g);a.b(\"utils.domData.clear\",a.a.g.clear);a.a.K=new function(){function b(b,c){var d=a.a.g.get(b,e);\nd===n&&c&&(d=[],a.a.g.set(b,e,d));return d}function c(c){var e=b(c,!1);if(e)for(var e=e.slice(0),k=0;k<e.length;k++)e[k](c);a.a.g.clear(c);a.a.K.cleanExternalData(c);g[c.nodeType]&&d(c.childNodes,!0)}function d(b,d){for(var e=[],l,f=0;f<b.length;f++)if(!d||8===b[f].nodeType)if(c(e[e.length]=l=b[f]),b[f]!==l)for(;f--&&-1==a.a.A(e,b[f]););}var e=a.a.g.Z(),f={1:!0,8:!0,9:!0},g={1:!0,9:!0};return{za:function(a,c){if(\"function\"!=typeof c)throw Error(\"Callback must be a function\");b(a,!0).push(c)},yb:function(c,\nd){var f=b(c,!1);f&&(a.a.Pa(f,d),0==f.length&&a.a.g.set(c,e,n))},oa:function(b){a.u.G(function(){f[b.nodeType]&&(c(b),g[b.nodeType]&&d(b.getElementsByTagName(\"*\")))});return b},removeNode:function(b){a.oa(b);b.parentNode&&b.parentNode.removeChild(b)},cleanExternalData:function(a){v&&\"function\"==typeof v.cleanData&&v.cleanData([a])}}};a.oa=a.a.K.oa;a.removeNode=a.a.K.removeNode;a.b(\"cleanNode\",a.oa);a.b(\"removeNode\",a.removeNode);a.b(\"utils.domNodeDisposal\",a.a.K);a.b(\"utils.domNodeDisposal.addDisposeCallback\",\na.a.K.za);a.b(\"utils.domNodeDisposal.removeDisposeCallback\",a.a.K.yb);(function(){var b=[0,\"\",\"\"],c=[1,\"<table>\",\"</table>\"],d=[3,\"<table><tbody><tr>\",\"</tr></tbody></table>\"],e=[1,\"<select multiple='multiple'>\",\"</select>\"],f={thead:c,tbody:c,tfoot:c,tr:[2,\"<table><tbody>\",\"</tbody></table>\"],td:d,th:d,option:e,optgroup:e},g=8>=a.a.W;a.a.ua=function(c,d){var e;if(v)if(v.parseHTML)e=v.parseHTML(c,d)||[];else{if((e=v.clean([c],d))&&e[0]){for(var l=e[0];l.parentNode&&11!==l.parentNode.nodeType;)l=l.parentNode;\nl.parentNode&&l.parentNode.removeChild(l)}}else{(e=d)||(e=w);var l=e.parentWindow||e.defaultView||A,p=a.a.Db(c).toLowerCase(),q=e.createElement(\"div\"),t;t=(p=p.match(/^(?:\\x3c!--.*?--\\x3e\\s*?)*?<([a-z]+)[\\s>]/))&&f[p[1]]||b;p=t[0];t=\"ignored<div>\"+t[1]+c+t[2]+\"</div>\";\"function\"==typeof l.innerShiv?q.appendChild(l.innerShiv(t)):(g&&e.body.appendChild(q),q.innerHTML=t,g&&q.parentNode.removeChild(q));for(;p--;)q=q.lastChild;e=a.a.la(q.lastChild.childNodes)}return e};a.a.Md=function(b,c){var d=a.a.ua(b,\nc);return d.length&&d[0].parentElement||a.a.Yb(d)};a.a.fc=function(b,c){a.a.Tb(b);c=a.a.f(c);if(null!==c&&c!==n)if(\"string\"!=typeof c&&(c=c.toString()),v)v(b).html(c);else for(var d=a.a.ua(c,b.ownerDocument),e=0;e<d.length;e++)b.appendChild(d[e])}})();a.b(\"utils.parseHtmlFragment\",a.a.ua);a.b(\"utils.setHtml\",a.a.fc);a.aa=function(){function b(c,e){if(c)if(8==c.nodeType){var f=a.aa.Uc(c.nodeValue);null!=f&&e.push({ud:c,Kd:f})}else if(1==c.nodeType)for(var f=0,g=c.childNodes,h=g.length;f<h;f++)b(g[f],\ne)}var c={};return{Xb:function(a){if(\"function\"!=typeof a)throw Error(\"You can only pass a function to ko.memoization.memoize()\");var b=(4294967296*(1+Math.random())|0).toString(16).substring(1)+(4294967296*(1+Math.random())|0).toString(16).substring(1);c[b]=a;return\"\\x3c!--[ko_memo:\"+b+\"]--\\x3e\"},bd:function(a,b){var f=c[a];if(f===n)throw Error(\"Couldn't find any memo with ID \"+a+\". Perhaps it's already been unmemoized.\");try{return f.apply(null,b||[]),!0}finally{delete c[a]}},cd:function(c,e){var f=\n[];b(c,f);for(var g=0,h=f.length;g<h;g++){var m=f[g].ud,k=[m];e&&a.a.Nb(k,e);a.aa.bd(f[g].Kd,k);m.nodeValue=\"\";m.parentNode&&m.parentNode.removeChild(m)}},Uc:function(a){return(a=a.match(/^\\[ko_memo\\:(.*?)\\]$/))?a[1]:null}}}();a.b(\"memoization\",a.aa);a.b(\"memoization.memoize\",a.aa.Xb);a.b(\"memoization.unmemoize\",a.aa.bd);a.b(\"memoization.parseMemoText\",a.aa.Uc);a.b(\"memoization.unmemoizeDomNodeAndDescendants\",a.aa.cd);a.na=function(){function b(){if(f)for(var b=f,c=0,d;h<f;)if(d=e[h++]){if(h>b){if(5E3<=\n++c){h=f;a.a.Gc(Error(\"'Too much recursion' after processing \"+c+\" task groups.\"));break}b=f}try{d()}catch(p){a.a.Gc(p)}}}function c(){b();h=f=e.length=0}var d,e=[],f=0,g=1,h=0;A.MutationObserver?d=function(a){var b=w.createElement(\"div\");(new MutationObserver(a)).observe(b,{attributes:!0});return function(){b.classList.toggle(\"foo\")}}(c):d=w&&\"onreadystatechange\"in w.createElement(\"script\")?function(a){var b=w.createElement(\"script\");b.onreadystatechange=function(){b.onreadystatechange=null;w.documentElement.removeChild(b);\nb=null;a()};w.documentElement.appendChild(b)}:function(a){setTimeout(a,0)};return{scheduler:d,zb:function(b){f||a.na.scheduler(c);e[f++]=b;return g++},cancel:function(a){a=a-(g-f);a>=h&&a<f&&(e[a]=null)},resetForTesting:function(){var a=f-h;h=f=e.length=0;return a},Sd:b}}();a.b(\"tasks\",a.na);a.b(\"tasks.schedule\",a.na.zb);a.b(\"tasks.runEarly\",a.na.Sd);a.Ta={throttle:function(b,c){b.throttleEvaluation=c;var d=null;return a.$({read:b,write:function(e){clearTimeout(d);d=a.a.setTimeout(function(){b(e)},\nc)}})},rateLimit:function(a,c){var d,e,f;\"number\"==typeof c?d=c:(d=c.timeout,e=c.method);a.Hb=!1;f=\"function\"==typeof e?e:\"notifyWhenChangesStop\"==e?Y:X;a.ub(function(a){return f(a,d,c)})},deferred:function(b,c){if(!0!==c)throw Error(\"The 'deferred' extender only accepts the value 'true', because it is not supported to turn deferral off once enabled.\");b.Hb||(b.Hb=!0,b.ub(function(c){var e,f=!1;return function(){if(!f){a.na.cancel(e);e=a.na.zb(c);try{f=!0,b.notifySubscribers(n,\"dirty\")}finally{f=\n!1}}}}))},notify:function(a,c){a.equalityComparer=\"always\"==c?null:K}};var W={undefined:1,\"boolean\":1,number:1,string:1};a.b(\"extenders\",a.Ta);a.ic=function(b,c,d){this.da=b;this.lc=c;this.mc=d;this.Ib=!1;this.fb=this.Jb=null;a.L(this,\"dispose\",this.s);a.L(this,\"disposeWhenNodeIsRemoved\",this.l)};a.ic.prototype.s=function(){this.Ib||(this.fb&&a.a.K.yb(this.Jb,this.fb),this.Ib=!0,this.mc(),this.da=this.lc=this.mc=this.Jb=this.fb=null)};a.ic.prototype.l=function(b){this.Jb=b;a.a.K.za(b,this.fb=this.s.bind(this))};\na.T=function(){a.a.Ab(this,D);D.qb(this)};var D={qb:function(a){a.U={change:[]};a.sc=1},subscribe:function(b,c,d){var e=this;d=d||\"change\";var f=new a.ic(e,c?b.bind(c):b,function(){a.a.Pa(e.U[d],f);e.hb&&e.hb(d)});e.Qa&&e.Qa(d);e.U[d]||(e.U[d]=[]);e.U[d].push(f);return f},notifySubscribers:function(b,c){c=c||\"change\";\"change\"===c&&this.Gb();if(this.Wa(c)){var d=\"change\"===c&&this.ed||this.U[c].slice(0);try{a.u.xc();for(var e=0,f;f=d[e];++e)f.Ib||f.lc(b)}finally{a.u.end()}}},ob:function(){return this.sc},\nDd:function(a){return this.ob()!==a},Gb:function(){++this.sc},ub:function(b){var c=this,d=a.O(c),e,f,g,h,m;c.gb||(c.gb=c.notifySubscribers,c.notifySubscribers=Z);var k=b(function(){c.Ja=!1;d&&h===c&&(h=c.nc?c.nc():c());var a=f||m&&c.sb(g,h);m=f=e=!1;a&&c.gb(g=h)});c.qc=function(a,b){b&&c.Ja||(m=!b);c.ed=c.U.change.slice(0);c.Ja=e=!0;h=a;k()};c.pc=function(a){e||(g=a,c.gb(a,\"beforeChange\"))};c.rc=function(){m=!0};c.gd=function(){c.sb(g,c.v(!0))&&(f=!0)}},Wa:function(a){return this.U[a]&&this.U[a].length},\nBd:function(b){if(b)return this.U[b]&&this.U[b].length||0;var c=0;a.a.P(this.U,function(a,b){\"dirty\"!==a&&(c+=b.length)});return c},sb:function(a,c){return!this.equalityComparer||!this.equalityComparer(a,c)},toString:function(){return\"[object Object]\"},extend:function(b){var c=this;b&&a.a.P(b,function(b,e){var f=a.Ta[b];\"function\"==typeof f&&(c=f(c,e)||c)});return c}};a.L(D,\"init\",D.qb);a.L(D,\"subscribe\",D.subscribe);a.L(D,\"extend\",D.extend);a.L(D,\"getSubscriptionsCount\",D.Bd);a.a.Ba&&a.a.setPrototypeOf(D,\nFunction.prototype);a.T.fn=D;a.Qc=function(a){return null!=a&&\"function\"==typeof a.subscribe&&\"function\"==typeof a.notifySubscribers};a.b(\"subscribable\",a.T);a.b(\"isSubscribable\",a.Qc);a.S=a.u=function(){function b(a){d.push(e);e=a}function c(){e=d.pop()}var d=[],e,f=0;return{xc:b,end:c,cc:function(b){if(e){if(!a.Qc(b))throw Error(\"Only subscribable things can act as dependencies\");e.od.call(e.pd,b,b.fd||(b.fd=++f))}},G:function(a,d,e){try{return b(),a.apply(d,e||[])}finally{c()}},qa:function(){if(e)return e.o.qa()},\nVa:function(){if(e)return e.o.Va()},Ya:function(){if(e)return e.Ya},o:function(){if(e)return e.o}}}();a.b(\"computedContext\",a.S);a.b(\"computedContext.getDependenciesCount\",a.S.qa);a.b(\"computedContext.getDependencies\",a.S.Va);a.b(\"computedContext.isInitial\",a.S.Ya);a.b(\"computedContext.registerDependency\",a.S.cc);a.b(\"ignoreDependencies\",a.Yd=a.u.G);var I=a.a.Da(\"_latestValue\");a.ta=function(b){function c(){if(0<arguments.length)return c.sb(c[I],arguments[0])&&(c.ya(),c[I]=arguments[0],c.xa()),this;\na.u.cc(c);return c[I]}c[I]=b;a.a.Ba||a.a.extend(c,a.T.fn);a.T.fn.qb(c);a.a.Ab(c,F);a.options.deferUpdates&&a.Ta.deferred(c,!0);return c};var F={equalityComparer:K,v:function(){return this[I]},xa:function(){this.notifySubscribers(this[I],\"spectate\");this.notifySubscribers(this[I])},ya:function(){this.notifySubscribers(this[I],\"beforeChange\")}};a.a.Ba&&a.a.setPrototypeOf(F,a.T.fn);var G=a.ta.Ma=\"__ko_proto__\";F[G]=a.ta;a.O=function(b){if((b=\"function\"==typeof b&&b[G])&&b!==F[G]&&b!==a.o.fn[G])throw Error(\"Invalid object that looks like an observable; possibly from another Knockout instance\");\nreturn!!b};a.Za=function(b){return\"function\"==typeof b&&(b[G]===F[G]||b[G]===a.o.fn[G]&&b.Nc)};a.b(\"observable\",a.ta);a.b(\"isObservable\",a.O);a.b(\"isWriteableObservable\",a.Za);a.b(\"isWritableObservable\",a.Za);a.b(\"observable.fn\",F);a.L(F,\"peek\",F.v);a.L(F,\"valueHasMutated\",F.xa);a.L(F,\"valueWillMutate\",F.ya);a.Ha=function(b){b=b||[];if(\"object\"!=typeof b||!(\"length\"in b))throw Error(\"The argument passed when initializing an observable array must be an array, or null, or undefined.\");b=a.ta(b);a.a.Ab(b,\na.Ha.fn);return b.extend({trackArrayChanges:!0})};a.Ha.fn={remove:function(b){for(var c=this.v(),d=[],e=\"function\"!=typeof b||a.O(b)?function(a){return a===b}:b,f=0;f<c.length;f++){var g=c[f];if(e(g)){0===d.length&&this.ya();if(c[f]!==g)throw Error(\"Array modified during remove; cannot remove item\");d.push(g);c.splice(f,1);f--}}d.length&&this.xa();return d},removeAll:function(b){if(b===n){var c=this.v(),d=c.slice(0);this.ya();c.splice(0,c.length);this.xa();return d}return b?this.remove(function(c){return 0<=\na.a.A(b,c)}):[]},destroy:function(b){var c=this.v(),d=\"function\"!=typeof b||a.O(b)?function(a){return a===b}:b;this.ya();for(var e=c.length-1;0<=e;e--){var f=c[e];d(f)&&(f._destroy=!0)}this.xa()},destroyAll:function(b){return b===n?this.destroy(function(){return!0}):b?this.destroy(function(c){return 0<=a.a.A(b,c)}):[]},indexOf:function(b){var c=this();return a.a.A(c,b)},replace:function(a,c){var d=this.indexOf(a);0<=d&&(this.ya(),this.v()[d]=c,this.xa())},sorted:function(a){var c=this().slice(0);\nreturn a?c.sort(a):c.sort()},reversed:function(){return this().slice(0).reverse()}};a.a.Ba&&a.a.setPrototypeOf(a.Ha.fn,a.ta.fn);a.a.D(\"pop push reverse shift sort splice unshift\".split(\" \"),function(b){a.Ha.fn[b]=function(){var a=this.v();this.ya();this.zc(a,b,arguments);var d=a[b].apply(a,arguments);this.xa();return d===a?this:d}});a.a.D([\"slice\"],function(b){a.Ha.fn[b]=function(){var a=this();return a[b].apply(a,arguments)}});a.Pc=function(b){return a.O(b)&&\"function\"==typeof b.remove&&\"function\"==\ntypeof b.push};a.b(\"observableArray\",a.Ha);a.b(\"isObservableArray\",a.Pc);a.Ta.trackArrayChanges=function(b,c){function d(){function c(){if(m){var d=[].concat(b.v()||[]),e;if(b.Wa(\"arrayChange\")){if(!f||1<m)f=a.a.Pb(k,d,b.Ob);e=f}k=d;f=null;m=0;e&&e.length&&b.notifySubscribers(e,\"arrayChange\")}}e?c():(e=!0,h=b.subscribe(function(){++m},null,\"spectate\"),k=[].concat(b.v()||[]),f=null,g=b.subscribe(c))}b.Ob={};c&&\"object\"==typeof c&&a.a.extend(b.Ob,c);b.Ob.sparse=!0;if(!b.zc){var e=!1,f=null,g,h,m=0,\nk,l=b.Qa,p=b.hb;b.Qa=function(a){l&&l.call(b,a);\"arrayChange\"===a&&d()};b.hb=function(a){p&&p.call(b,a);\"arrayChange\"!==a||b.Wa(\"arrayChange\")||(g&&g.s(),h&&h.s(),h=g=null,e=!1,k=n)};b.zc=function(b,c,d){function l(a,b,c){return k[k.length]={status:a,value:b,index:c}}if(e&&!m){var k=[],p=b.length,g=d.length,h=0;switch(c){case \"push\":h=p;case \"unshift\":for(c=0;c<g;c++)l(\"added\",d[c],h+c);break;case \"pop\":h=p-1;case \"shift\":p&&l(\"deleted\",b[h],h);break;case \"splice\":c=Math.min(Math.max(0,0>d[0]?p+d[0]:\nd[0]),p);for(var p=1===g?p:Math.min(c+(d[1]||0),p),g=c+g-2,h=Math.max(p,g),U=[],L=[],n=2;c<h;++c,++n)c<p&&L.push(l(\"deleted\",b[c],c)),c<g&&U.push(l(\"added\",d[n],c));a.a.Kc(L,U);break;default:return}f=k}}}};var r=a.a.Da(\"_state\");a.o=a.$=function(b,c,d){function e(){if(0<arguments.length){if(\"function\"===typeof f)f.apply(g.nb,arguments);else throw Error(\"Cannot write a value to a ko.computed unless you specify a 'write' option. If you wish to read the current value, don't pass any parameters.\");return this}g.ra||\na.u.cc(e);(g.ka||g.J&&e.Xa())&&e.ha();return g.X}\"object\"===typeof b?d=b:(d=d||{},b&&(d.read=b));if(\"function\"!=typeof d.read)throw Error(\"Pass a function that returns the value of the ko.computed\");var f=d.write,g={X:n,sa:!0,ka:!0,rb:!1,jc:!1,ra:!1,wb:!1,J:!1,Wc:d.read,nb:c||d.owner,l:d.disposeWhenNodeIsRemoved||d.l||null,Sa:d.disposeWhen||d.Sa,Rb:null,I:{},V:0,Ic:null};e[r]=g;e.Nc=\"function\"===typeof f;a.a.Ba||a.a.extend(e,a.T.fn);a.T.fn.qb(e);a.a.Ab(e,C);d.pure?(g.wb=!0,g.J=!0,a.a.extend(e,da)):\nd.deferEvaluation&&a.a.extend(e,ea);a.options.deferUpdates&&a.Ta.deferred(e,!0);g.l&&(g.jc=!0,g.l.nodeType||(g.l=null));g.J||d.deferEvaluation||e.ha();g.l&&e.ja()&&a.a.K.za(g.l,g.Rb=function(){e.s()});return e};var C={equalityComparer:K,qa:function(){return this[r].V},Va:function(){var b=[];a.a.P(this[r].I,function(a,d){b[d.Ka]=d.da});return b},Vb:function(b){if(!this[r].V)return!1;var c=this.Va();return-1!==a.a.A(c,b)?!0:!!a.a.Lb(c,function(a){return a.Vb&&a.Vb(b)})},uc:function(a,c,d){if(this[r].wb&&\nc===this)throw Error(\"A 'pure' computed must not be called recursively\");this[r].I[a]=d;d.Ka=this[r].V++;d.La=c.ob()},Xa:function(){var a,c,d=this[r].I;for(a in d)if(Object.prototype.hasOwnProperty.call(d,a)&&(c=d[a],this.Ia&&c.da.Ja||c.da.Dd(c.La)))return!0},Jd:function(){this.Ia&&!this[r].rb&&this.Ia(!1)},ja:function(){var a=this[r];return a.ka||0<a.V},Rd:function(){this.Ja?this[r].ka&&(this[r].sa=!0):this.Hc()},$c:function(a){if(a.Hb){var c=a.subscribe(this.Jd,this,\"dirty\"),d=a.subscribe(this.Rd,\nthis);return{da:a,s:function(){c.s();d.s()}}}return a.subscribe(this.Hc,this)},Hc:function(){var b=this,c=b.throttleEvaluation;c&&0<=c?(clearTimeout(this[r].Ic),this[r].Ic=a.a.setTimeout(function(){b.ha(!0)},c)):b.Ia?b.Ia(!0):b.ha(!0)},ha:function(b){var c=this[r],d=c.Sa,e=!1;if(!c.rb&&!c.ra){if(c.l&&!a.a.Sb(c.l)||d&&d()){if(!c.jc){this.s();return}}else c.jc=!1;c.rb=!0;try{e=this.zd(b)}finally{c.rb=!1}return e}},zd:function(b){var c=this[r],d=!1,e=c.wb?n:!c.V,d={qd:this,mb:c.I,Qb:c.V};a.u.xc({pd:d,\nod:ba,o:this,Ya:e});c.I={};c.V=0;var f=this.yd(c,d);c.V?d=this.sb(c.X,f):(this.s(),d=!0);d&&(c.J?this.Gb():this.notifySubscribers(c.X,\"beforeChange\"),c.X=f,this.notifySubscribers(c.X,\"spectate\"),!c.J&&b&&this.notifySubscribers(c.X),this.rc&&this.rc());e&&this.notifySubscribers(c.X,\"awake\");return d},yd:function(b,c){try{var d=b.Wc;return b.nb?d.call(b.nb):d()}finally{a.u.end(),c.Qb&&!b.J&&a.a.P(c.mb,aa),b.sa=b.ka=!1}},v:function(a){var c=this[r];(c.ka&&(a||!c.V)||c.J&&this.Xa())&&this.ha();return c.X},\nub:function(b){a.T.fn.ub.call(this,b);this.nc=function(){this[r].J||(this[r].sa?this.ha():this[r].ka=!1);return this[r].X};this.Ia=function(a){this.pc(this[r].X);this[r].ka=!0;a&&(this[r].sa=!0);this.qc(this,!a)}},s:function(){var b=this[r];!b.J&&b.I&&a.a.P(b.I,function(a,b){b.s&&b.s()});b.l&&b.Rb&&a.a.K.yb(b.l,b.Rb);b.I=n;b.V=0;b.ra=!0;b.sa=!1;b.ka=!1;b.J=!1;b.l=n;b.Sa=n;b.Wc=n;this.Nc||(b.nb=n)}},da={Qa:function(b){var c=this,d=c[r];if(!d.ra&&d.J&&\"change\"==b){d.J=!1;if(d.sa||c.Xa())d.I=null,d.V=\n0,c.ha()&&c.Gb();else{var e=[];a.a.P(d.I,function(a,b){e[b.Ka]=a});a.a.D(e,function(a,b){var e=d.I[a],m=c.$c(e.da);m.Ka=b;m.La=e.La;d.I[a]=m});c.Xa()&&c.ha()&&c.Gb()}d.ra||c.notifySubscribers(d.X,\"awake\")}},hb:function(b){var c=this[r];c.ra||\"change\"!=b||this.Wa(\"change\")||(a.a.P(c.I,function(a,b){b.s&&(c.I[a]={da:b.da,Ka:b.Ka,La:b.La},b.s())}),c.J=!0,this.notifySubscribers(n,\"asleep\"))},ob:function(){var b=this[r];b.J&&(b.sa||this.Xa())&&this.ha();return a.T.fn.ob.call(this)}},ea={Qa:function(a){\"change\"!=\na&&\"beforeChange\"!=a||this.v()}};a.a.Ba&&a.a.setPrototypeOf(C,a.T.fn);var N=a.ta.Ma;C[N]=a.o;a.Oc=function(a){return\"function\"==typeof a&&a[N]===C[N]};a.Fd=function(b){return a.Oc(b)&&b[r]&&b[r].wb};a.b(\"computed\",a.o);a.b(\"dependentObservable\",a.o);a.b(\"isComputed\",a.Oc);a.b(\"isPureComputed\",a.Fd);a.b(\"computed.fn\",C);a.L(C,\"peek\",C.v);a.L(C,\"dispose\",C.s);a.L(C,\"isActive\",C.ja);a.L(C,\"getDependenciesCount\",C.qa);a.L(C,\"getDependencies\",C.Va);a.xb=function(b,c){if(\"function\"===typeof b)return a.o(b,\nc,{pure:!0});b=a.a.extend({},b);b.pure=!0;return a.o(b,c)};a.b(\"pureComputed\",a.xb);(function(){function b(a,f,g){g=g||new d;a=f(a);if(\"object\"!=typeof a||null===a||a===n||a instanceof RegExp||a instanceof Date||a instanceof String||a instanceof Number||a instanceof Boolean)return a;var h=a instanceof Array?[]:{};g.save(a,h);c(a,function(c){var d=f(a[c]);switch(typeof d){case \"boolean\":case \"number\":case \"string\":case \"function\":h[c]=d;break;case \"object\":case \"undefined\":var l=g.get(d);h[c]=l!==\nn?l:b(d,f,g)}});return h}function c(a,b){if(a instanceof Array){for(var c=0;c<a.length;c++)b(c);\"function\"==typeof a.toJSON&&b(\"toJSON\")}else for(c in a)b(c)}function d(){this.keys=[];this.values=[]}a.ad=function(c){if(0==arguments.length)throw Error(\"When calling ko.toJS, pass the object you want to convert.\");return b(c,function(b){for(var c=0;a.O(b)&&10>c;c++)b=b();return b})};a.toJSON=function(b,c,d){b=a.ad(b);return a.a.hc(b,c,d)};d.prototype={constructor:d,save:function(b,c){var d=a.a.A(this.keys,\nb);0<=d?this.values[d]=c:(this.keys.push(b),this.values.push(c))},get:function(b){b=a.a.A(this.keys,b);return 0<=b?this.values[b]:n}}})();a.b(\"toJS\",a.ad);a.b(\"toJSON\",a.toJSON);a.Wd=function(b,c,d){function e(c){var e=a.xb(b,d).extend({ma:\"always\"}),h=e.subscribe(function(a){a&&(h.s(),c(a))});e.notifySubscribers(e.v());return h}return\"function\"!==typeof Promise||c?e(c.bind(d)):new Promise(e)};a.b(\"when\",a.Wd);(function(){a.w={M:function(b){switch(a.a.R(b)){case \"option\":return!0===b.__ko__hasDomDataOptionValue__?\na.a.g.get(b,a.c.options.$b):7>=a.a.W?b.getAttributeNode(\"value\")&&b.getAttributeNode(\"value\").specified?b.value:b.text:b.value;case \"select\":return 0<=b.selectedIndex?a.w.M(b.options[b.selectedIndex]):n;default:return b.value}},cb:function(b,c,d){switch(a.a.R(b)){case \"option\":\"string\"===typeof c?(a.a.g.set(b,a.c.options.$b,n),\"__ko__hasDomDataOptionValue__\"in b&&delete b.__ko__hasDomDataOptionValue__,b.value=c):(a.a.g.set(b,a.c.options.$b,c),b.__ko__hasDomDataOptionValue__=!0,b.value=\"number\"===\ntypeof c?c:\"\");break;case \"select\":if(\"\"===c||null===c)c=n;for(var e=-1,f=0,g=b.options.length,h;f<g;++f)if(h=a.w.M(b.options[f]),h==c||\"\"===h&&c===n){e=f;break}if(d||0<=e||c===n&&1<b.size)b.selectedIndex=e,6===a.a.W&&a.a.setTimeout(function(){b.selectedIndex=e},0);break;default:if(null===c||c===n)c=\"\";b.value=c}}}})();a.b(\"selectExtensions\",a.w);a.b(\"selectExtensions.readValue\",a.w.M);a.b(\"selectExtensions.writeValue\",a.w.cb);a.m=function(){function b(b){b=a.a.Db(b);123===b.charCodeAt(0)&&(b=b.slice(1,\n-1));b+=\"\\n,\";var c=[],d=b.match(e),p,q=[],h=0;if(1<d.length){for(var x=0,B;B=d[x];++x){var u=B.charCodeAt(0);if(44===u){if(0>=h){c.push(p&&q.length?{key:p,value:q.join(\"\")}:{unknown:p||q.join(\"\")});p=h=0;q=[];continue}}else if(58===u){if(!h&&!p&&1===q.length){p=q.pop();continue}}else if(47===u&&1<B.length&&(47===B.charCodeAt(1)||42===B.charCodeAt(1)))continue;else 47===u&&x&&1<B.length?(u=d[x-1].match(f))&&!g[u[0]]&&(b=b.substr(b.indexOf(B)+1),d=b.match(e),x=-1,B=\"/\"):40===u||123===u||91===u?++h:\n41===u||125===u||93===u?--h:p||q.length||34!==u&&39!==u||(B=B.slice(1,-1));q.push(B)}if(0<h)throw Error(\"Unbalanced parentheses, braces, or brackets\");}return c}var c=[\"true\",\"false\",\"null\",\"undefined\"],d=/^(?:[$_a-z][$\\w]*|(.+)(\\.\\s*[$_a-z][$\\w]*|\\[.+\\]))$/i,e=RegExp(\"\\\"(?:\\\\\\\\.|[^\\\"])*\\\"|'(?:\\\\\\\\.|[^'])*'|`(?:\\\\\\\\.|[^`])*`|/\\\\*(?:[^*]|\\\\*+[^*/])*\\\\*+/|//.*\\n|/(?:\\\\\\\\.|[^/])+/w*|[^\\\\s:,/][^,\\\"'`{}()/:[\\\\]]*[^\\\\s,\\\"'`{}()/:[\\\\]]|[^\\\\s]\",\"g\"),f=/[\\])\"'A-Za-z0-9_$]+$/,g={\"in\":1,\"return\":1,\"typeof\":1},\nh={};return{Ra:[],wa:h,ac:b,vb:function(e,f){function l(b,e){var f;if(!x){var k=a.getBindingHandler(b);if(k&&k.preprocess&&!(e=k.preprocess(e,b,l)))return;if(k=h[b])f=e,0<=a.a.A(c,f)?f=!1:(k=f.match(d),f=null===k?!1:k[1]?\"Object(\"+k[1]+\")\"+k[2]:f),k=f;k&&q.push(\"'\"+(\"string\"==typeof h[b]?h[b]:b)+\"':function(_z){\"+f+\"=_z}\")}g&&(e=\"function(){return \"+e+\" }\");p.push(\"'\"+b+\"':\"+e)}f=f||{};var p=[],q=[],g=f.valueAccessors,x=f.bindingParams,B=\"string\"===typeof e?b(e):e;a.a.D(B,function(a){l(a.key||a.unknown,\na.value)});q.length&&l(\"_ko_property_writers\",\"{\"+q.join(\",\")+\" }\");return p.join(\",\")},Id:function(a,b){for(var c=0;c<a.length;c++)if(a[c].key==b)return!0;return!1},eb:function(b,c,d,e,f){if(b&&a.O(b))!a.Za(b)||f&&b.v()===e||b(e);else if((b=c.get(\"_ko_property_writers\"))&&b[d])b[d](e)}}}();a.b(\"expressionRewriting\",a.m);a.b(\"expressionRewriting.bindingRewriteValidators\",a.m.Ra);a.b(\"expressionRewriting.parseObjectLiteral\",a.m.ac);a.b(\"expressionRewriting.preProcessBindings\",a.m.vb);a.b(\"expressionRewriting._twoWayBindings\",\na.m.wa);a.b(\"jsonExpressionRewriting\",a.m);a.b(\"jsonExpressionRewriting.insertPropertyAccessorsIntoJson\",a.m.vb);(function(){function b(a){return 8==a.nodeType&&g.test(f?a.text:a.nodeValue)}function c(a){return 8==a.nodeType&&h.test(f?a.text:a.nodeValue)}function d(d,e){for(var f=d,h=1,g=[];f=f.nextSibling;){if(c(f)&&(a.a.g.set(f,k,!0),h--,0===h))return g;g.push(f);b(f)&&h++}if(!e)throw Error(\"Cannot find closing comment tag to match: \"+d.nodeValue);return null}function e(a,b){var c=d(a,b);return c?\n0<c.length?c[c.length-1].nextSibling:a.nextSibling:null}var f=w&&\"\\x3c!--test--\\x3e\"===w.createComment(\"test\").text,g=f?/^\\x3c!--\\s*ko(?:\\s+([\\s\\S]+))?\\s*--\\x3e$/:/^\\s*ko(?:\\s+([\\s\\S]+))?\\s*$/,h=f?/^\\x3c!--\\s*\\/ko\\s*--\\x3e$/:/^\\s*\\/ko\\s*$/,m={ul:!0,ol:!0},k=\"__ko_matchedEndComment__\";a.h={ea:{},childNodes:function(a){return b(a)?d(a):a.childNodes},Ea:function(c){if(b(c)){c=a.h.childNodes(c);for(var d=0,e=c.length;d<e;d++)a.removeNode(c[d])}else a.a.Tb(c)},va:function(c,d){if(b(c)){a.h.Ea(c);for(var e=\nc.nextSibling,f=0,k=d.length;f<k;f++)e.parentNode.insertBefore(d[f],e)}else a.a.va(c,d)},Vc:function(a,c){var d;b(a)?(d=a.nextSibling,a=a.parentNode):d=a.firstChild;d?c!==d&&a.insertBefore(c,d):a.appendChild(c)},Wb:function(c,d,e){e?(e=e.nextSibling,b(c)&&(c=c.parentNode),e?d!==e&&c.insertBefore(d,e):c.appendChild(d)):a.h.Vc(c,d)},firstChild:function(a){if(b(a))return!a.nextSibling||c(a.nextSibling)?null:a.nextSibling;if(a.firstChild&&c(a.firstChild))throw Error(\"Found invalid end comment, as the first child of \"+\na);return a.firstChild},nextSibling:function(d){b(d)&&(d=e(d));if(d.nextSibling&&c(d.nextSibling)){var f=d.nextSibling;if(c(f)&&!a.a.g.get(f,k))throw Error(\"Found end comment without a matching opening comment, as child of \"+d);return null}return d.nextSibling},Cd:b,Vd:function(a){return(a=(f?a.text:a.nodeValue).match(g))?a[1]:null},Sc:function(d){if(m[a.a.R(d)]){var f=d.firstChild;if(f){do if(1===f.nodeType){var k;k=f.firstChild;var h=null;if(k){do if(h)h.push(k);else if(b(k)){var g=e(k,!0);g?k=\ng:h=[k]}else c(k)&&(h=[k]);while(k=k.nextSibling)}if(k=h)for(h=f.nextSibling,g=0;g<k.length;g++)h?d.insertBefore(k[g],h):d.appendChild(k[g])}while(f=f.nextSibling)}}}}})();a.b(\"virtualElements\",a.h);a.b(\"virtualElements.allowedBindings\",a.h.ea);a.b(\"virtualElements.emptyNode\",a.h.Ea);a.b(\"virtualElements.insertAfter\",a.h.Wb);a.b(\"virtualElements.prepend\",a.h.Vc);a.b(\"virtualElements.setDomNodeChildren\",a.h.va);(function(){a.ga=function(){this.nd={}};a.a.extend(a.ga.prototype,{nodeHasBindings:function(b){switch(b.nodeType){case 1:return null!=\nb.getAttribute(\"data-bind\")||a.j.getComponentNameForNode(b);case 8:return a.h.Cd(b);default:return!1}},getBindings:function(b,c){var d=this.getBindingsString(b,c),d=d?this.parseBindingsString(d,c,b):null;return a.j.tc(d,b,c,!1)},getBindingAccessors:function(b,c){var d=this.getBindingsString(b,c),d=d?this.parseBindingsString(d,c,b,{valueAccessors:!0}):null;return a.j.tc(d,b,c,!0)},getBindingsString:function(b){switch(b.nodeType){case 1:return b.getAttribute(\"data-bind\");case 8:return a.h.Vd(b);default:return null}},\nparseBindingsString:function(b,c,d,e){try{var f=this.nd,g=b+(e&&e.valueAccessors||\"\"),h;if(!(h=f[g])){var m,k=\"with($context){with($data||{}){return{\"+a.m.vb(b,e)+\"}}}\";m=new Function(\"$context\",\"$element\",k);h=f[g]=m}return h(c,d)}catch(l){throw l.message=\"Unable to parse bindings.\\nBindings value: \"+b+\"\\nMessage: \"+l.message,l;}}});a.ga.instance=new a.ga})();a.b(\"bindingProvider\",a.ga);(function(){function b(b){var c=(b=a.a.g.get(b,z))&&b.N;c&&(b.N=null,c.Tc())}function c(c,d,e){this.node=c;this.yc=\nd;this.kb=[];this.H=!1;d.N||a.a.K.za(c,b);e&&e.N&&(e.N.kb.push(c),this.Kb=e)}function d(a){return function(){return a}}function e(a){return a()}function f(b){return a.a.Ga(a.u.G(b),function(a,c){return function(){return b()[c]}})}function g(b,c,e){return\"function\"===typeof b?f(b.bind(null,c,e)):a.a.Ga(b,d)}function h(a,b){return f(this.getBindings.bind(this,a,b))}function m(b,c){var d=a.h.firstChild(c);if(d){var e,f=a.ga.instance,l=f.preprocessNode;if(l){for(;e=d;)d=a.h.nextSibling(e),l.call(f,e);\nd=a.h.firstChild(c)}for(;e=d;)d=a.h.nextSibling(e),k(b,e)}a.i.ma(c,a.i.H)}function k(b,c){var d=b,e=1===c.nodeType;e&&a.h.Sc(c);if(e||a.ga.instance.nodeHasBindings(c))d=p(c,null,b).bindingContextForDescendants;d&&!u[a.a.R(c)]&&m(d,c)}function l(b){var c=[],d={},e=[];a.a.P(b,function ca(f){if(!d[f]){var k=a.getBindingHandler(f);k&&(k.after&&(e.push(f),a.a.D(k.after,function(c){if(b[c]){if(-1!==a.a.A(e,c))throw Error(\"Cannot combine the following bindings, because they have a cyclic dependency: \"+e.join(\", \"));\nca(c)}}),e.length--),c.push({key:f,Mc:k}));d[f]=!0}});return c}function p(b,c,d){var f=a.a.g.Ub(b,z,{}),k=f.hd;if(!c){if(k)throw Error(\"You cannot apply bindings multiple times to the same element.\");f.hd=!0}k||(f.context=d);f.Zb||(f.Zb={});var g;if(c&&\"function\"!==typeof c)g=c;else{var p=a.ga.instance,q=p.getBindingAccessors||h,m=a.$(function(){if(g=c?c(d,b):q.call(p,b,d)){if(d[t])d[t]();if(d[B])d[B]()}return g},null,{l:b});g&&m.ja()||(m=null)}var x=d,u;if(g){var J=function(){return a.a.Ga(m?m():\ng,e)},r=m?function(a){return function(){return e(m()[a])}}:function(a){return g[a]};J.get=function(a){return g[a]&&e(r(a))};J.has=function(a){return a in g};a.i.H in g&&a.i.subscribe(b,a.i.H,function(){var c=(0,g[a.i.H])();if(c){var d=a.h.childNodes(b);d.length&&c(d,a.Ec(d[0]))}});a.i.pa in g&&(x=a.i.Cb(b,d),a.i.subscribe(b,a.i.pa,function(){var c=(0,g[a.i.pa])();c&&a.h.firstChild(b)&&c(b)}));f=l(g);a.a.D(f,function(c){var d=c.Mc.init,e=c.Mc.update,f=c.key;if(8===b.nodeType&&!a.h.ea[f])throw Error(\"The binding '\"+\nf+\"' cannot be used with virtual elements\");try{\"function\"==typeof d&&a.u.G(function(){var a=d(b,r(f),J,x.$data,x);if(a&&a.controlsDescendantBindings){if(u!==n)throw Error(\"Multiple bindings (\"+u+\" and \"+f+\") are trying to control descendant bindings of the same element. You cannot use these bindings together on the same element.\");u=f}}),\"function\"==typeof e&&a.$(function(){e(b,r(f),J,x.$data,x)},null,{l:b})}catch(k){throw k.message='Unable to process binding \"'+f+\": \"+g[f]+'\"\\nMessage: '+k.message,\nk;}})}f=u===n;return{shouldBindDescendants:f,bindingContextForDescendants:f&&x}}function q(b,c){return b&&b instanceof a.fa?b:new a.fa(b,n,n,c)}var t=a.a.Da(\"_subscribable\"),x=a.a.Da(\"_ancestorBindingInfo\"),B=a.a.Da(\"_dataDependency\");a.c={};var u={script:!0,textarea:!0,template:!0};a.getBindingHandler=function(b){return a.c[b]};var J={};a.fa=function(b,c,d,e,f){function k(){var b=p?h():h,f=a.a.f(b);c?(a.a.extend(l,c),x in c&&(l[x]=c[x])):(l.$parents=[],l.$root=f,l.ko=a);l[t]=q;g?f=l.$data:(l.$rawData=\nb,l.$data=f);d&&(l[d]=f);e&&e(l,c,f);if(c&&c[t]&&!a.S.o().Vb(c[t]))c[t]();m&&(l[B]=m);return l.$data}var l=this,g=b===J,h=g?n:b,p=\"function\"==typeof h&&!a.O(h),q,m=f&&f.dataDependency;f&&f.exportDependencies?k():(q=a.xb(k),q.v(),q.ja()?q.equalityComparer=null:l[t]=n)};a.fa.prototype.createChildContext=function(b,c,d,e){!e&&c&&\"object\"==typeof c&&(e=c,c=e.as,d=e.extend);if(c&&e&&e.noChildContext){var f=\"function\"==typeof b&&!a.O(b);return new a.fa(J,this,null,function(a){d&&d(a);a[c]=f?b():b},e)}return new a.fa(b,\nthis,c,function(a,b){a.$parentContext=b;a.$parent=b.$data;a.$parents=(b.$parents||[]).slice(0);a.$parents.unshift(a.$parent);d&&d(a)},e)};a.fa.prototype.extend=function(b,c){return new a.fa(J,this,null,function(c){a.a.extend(c,\"function\"==typeof b?b(c):b)},c)};var z=a.a.g.Z();c.prototype.Tc=function(){this.Kb&&this.Kb.N&&this.Kb.N.sd(this.node)};c.prototype.sd=function(b){a.a.Pa(this.kb,b);!this.kb.length&&this.H&&this.Cc()};c.prototype.Cc=function(){this.H=!0;this.yc.N&&!this.kb.length&&(this.yc.N=\nnull,a.a.K.yb(this.node,b),a.i.ma(this.node,a.i.pa),this.Tc())};a.i={H:\"childrenComplete\",pa:\"descendantsComplete\",subscribe:function(b,c,d,e,f){var k=a.a.g.Ub(b,z,{});k.Fa||(k.Fa=new a.T);f&&f.notifyImmediately&&k.Zb[c]&&a.u.G(d,e,[b]);return k.Fa.subscribe(d,e,c)},ma:function(b,c){var d=a.a.g.get(b,z);if(d&&(d.Zb[c]=!0,d.Fa&&d.Fa.notifySubscribers(b,c),c==a.i.H))if(d.N)d.N.Cc();else if(d.N===n&&d.Fa&&d.Fa.Wa(a.i.pa))throw Error(\"descendantsComplete event not supported for bindings on this node\");\n},Cb:function(b,d){var e=a.a.g.Ub(b,z,{});e.N||(e.N=new c(b,e,d[x]));return d[x]==e?d:d.extend(function(a){a[x]=e})}};a.Td=function(b){return(b=a.a.g.get(b,z))&&b.context};a.ib=function(b,c,d){1===b.nodeType&&a.h.Sc(b);return p(b,c,q(d))};a.ld=function(b,c,d){d=q(d);return a.ib(b,g(c,d,b),d)};a.Oa=function(a,b){1!==b.nodeType&&8!==b.nodeType||m(q(a),b)};a.vc=function(a,b,c){!v&&A.jQuery&&(v=A.jQuery);if(2>arguments.length){if(b=w.body,!b)throw Error(\"ko.applyBindings: could not find document.body; has the document been loaded?\");\n}else if(!b||1!==b.nodeType&&8!==b.nodeType)throw Error(\"ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node\");k(q(a,c),b)};a.Dc=function(b){return!b||1!==b.nodeType&&8!==b.nodeType?n:a.Td(b)};a.Ec=function(b){return(b=a.Dc(b))?b.$data:n};a.b(\"bindingHandlers\",a.c);a.b(\"bindingEvent\",a.i);a.b(\"bindingEvent.subscribe\",a.i.subscribe);a.b(\"bindingEvent.startPossiblyAsyncContentBinding\",a.i.Cb);a.b(\"applyBindings\",a.vc);a.b(\"applyBindingsToDescendants\",a.Oa);\na.b(\"applyBindingAccessorsToNode\",a.ib);a.b(\"applyBindingsToNode\",a.ld);a.b(\"contextFor\",a.Dc);a.b(\"dataFor\",a.Ec)})();(function(b){function c(c,e){var k=Object.prototype.hasOwnProperty.call(f,c)?f[c]:b,l;k?k.subscribe(e):(k=f[c]=new a.T,k.subscribe(e),d(c,function(b,d){var e=!(!d||!d.synchronous);g[c]={definition:b,Gd:e};delete f[c];l||e?k.notifySubscribers(b):a.na.zb(function(){k.notifySubscribers(b)})}),l=!0)}function d(a,b){e(\"getConfig\",[a],function(c){c?e(\"loadComponent\",[a,c],function(a){b(a,\nc)}):b(null,null)})}function e(c,d,f,l){l||(l=a.j.loaders.slice(0));var g=l.shift();if(g){var q=g[c];if(q){var t=!1;if(q.apply(g,d.concat(function(a){t?f(null):null!==a?f(a):e(c,d,f,l)}))!==b&&(t=!0,!g.suppressLoaderExceptions))throw Error(\"Component loaders must supply values by invoking the callback, not by returning values synchronously.\");}else e(c,d,f,l)}else f(null)}var f={},g={};a.j={get:function(d,e){var f=Object.prototype.hasOwnProperty.call(g,d)?g[d]:b;f?f.Gd?a.u.G(function(){e(f.definition)}):\na.na.zb(function(){e(f.definition)}):c(d,e)},Bc:function(a){delete g[a]},oc:e};a.j.loaders=[];a.b(\"components\",a.j);a.b(\"components.get\",a.j.get);a.b(\"components.clearCachedDefinition\",a.j.Bc)})();(function(){function b(b,c,d,e){function g(){0===--B&&e(h)}var h={},B=2,u=d.template;d=d.viewModel;u?f(c,u,function(c){a.j.oc(\"loadTemplate\",[b,c],function(a){h.template=a;g()})}):g();d?f(c,d,function(c){a.j.oc(\"loadViewModel\",[b,c],function(a){h[m]=a;g()})}):g()}function c(a,b,d){if(\"function\"===typeof b)d(function(a){return new b(a)});\nelse if(\"function\"===typeof b[m])d(b[m]);else if(\"instance\"in b){var e=b.instance;d(function(){return e})}else\"viewModel\"in b?c(a,b.viewModel,d):a(\"Unknown viewModel value: \"+b)}function d(b){switch(a.a.R(b)){case \"script\":return a.a.ua(b.text);case \"textarea\":return a.a.ua(b.value);case \"template\":if(e(b.content))return a.a.Ca(b.content.childNodes)}return a.a.Ca(b.childNodes)}function e(a){return A.DocumentFragment?a instanceof DocumentFragment:a&&11===a.nodeType}function f(a,b,c){\"string\"===typeof b.require?\nT||A.require?(T||A.require)([b.require],function(a){a&&\"object\"===typeof a&&a.Xd&&a[\"default\"]&&(a=a[\"default\"]);c(a)}):a(\"Uses require, but no AMD loader is present\"):c(b)}function g(a){return function(b){throw Error(\"Component '\"+a+\"': \"+b);}}var h={};a.j.register=function(b,c){if(!c)throw Error(\"Invalid configuration for \"+b);if(a.j.tb(b))throw Error(\"Component \"+b+\" is already registered\");h[b]=c};a.j.tb=function(a){return Object.prototype.hasOwnProperty.call(h,a)};a.j.unregister=function(b){delete h[b];\na.j.Bc(b)};a.j.Fc={getConfig:function(b,c){c(a.j.tb(b)?h[b]:null)},loadComponent:function(a,c,d){var e=g(a);f(e,c,function(c){b(a,e,c,d)})},loadTemplate:function(b,c,f){b=g(b);if(\"string\"===typeof c)f(a.a.ua(c));else if(c instanceof Array)f(c);else if(e(c))f(a.a.la(c.childNodes));else if(c.element)if(c=c.element,A.HTMLElement?c instanceof HTMLElement:c&&c.tagName&&1===c.nodeType)f(d(c));else if(\"string\"===typeof c){var h=w.getElementById(c);h?f(d(h)):b(\"Cannot find element with ID \"+c)}else b(\"Unknown element type: \"+\nc);else b(\"Unknown template value: \"+c)},loadViewModel:function(a,b,d){c(g(a),b,d)}};var m=\"createViewModel\";a.b(\"components.register\",a.j.register);a.b(\"components.isRegistered\",a.j.tb);a.b(\"components.unregister\",a.j.unregister);a.b(\"components.defaultLoader\",a.j.Fc);a.j.loaders.push(a.j.Fc);a.j.dd=h})();(function(){function b(b,e){var f=b.getAttribute(\"params\");if(f){var f=c.parseBindingsString(f,e,b,{valueAccessors:!0,bindingParams:!0}),f=a.a.Ga(f,function(c){return a.o(c,null,{l:b})}),g=a.a.Ga(f,\nfunction(c){var e=c.v();return c.ja()?a.o({read:function(){return a.a.f(c())},write:a.Za(e)&&function(a){c()(a)},l:b}):e});Object.prototype.hasOwnProperty.call(g,\"$raw\")||(g.$raw=f);return g}return{$raw:{}}}a.j.getComponentNameForNode=function(b){var c=a.a.R(b);if(a.j.tb(c)&&(-1!=c.indexOf(\"-\")||\"[object HTMLUnknownElement]\"==\"\"+b||8>=a.a.W&&b.tagName===c))return c};a.j.tc=function(c,e,f,g){if(1===e.nodeType){var h=a.j.getComponentNameForNode(e);if(h){c=c||{};if(c.component)throw Error('Cannot use the \"component\" binding on a custom element matching a component');\nvar m={name:h,params:b(e,f)};c.component=g?function(){return m}:m}}return c};var c=new a.ga;9>a.a.W&&(a.j.register=function(a){return function(b){return a.apply(this,arguments)}}(a.j.register),w.createDocumentFragment=function(b){return function(){var c=b(),f=a.j.dd,g;for(g in f);return c}}(w.createDocumentFragment))})();(function(){function b(b,c,d){c=c.template;if(!c)throw Error(\"Component '\"+b+\"' has no template\");b=a.a.Ca(c);a.h.va(d,b)}function c(a,b,c){var d=a.createViewModel;return d?d.call(a,\nb,c):b}var d=0;a.c.component={init:function(e,f,g,h,m){function k(){var a=l&&l.dispose;\"function\"===typeof a&&a.call(l);q&&q.s();p=l=q=null}var l,p,q,t=a.a.la(a.h.childNodes(e));a.h.Ea(e);a.a.K.za(e,k);a.o(function(){var g=a.a.f(f()),h,u;\"string\"===typeof g?h=g:(h=a.a.f(g.name),u=a.a.f(g.params));if(!h)throw Error(\"No component name specified\");var n=a.i.Cb(e,m),z=p=++d;a.j.get(h,function(d){if(p===z){k();if(!d)throw Error(\"Unknown component '\"+h+\"'\");b(h,d,e);var f=c(d,u,{element:e,templateNodes:t});\nd=n.createChildContext(f,{extend:function(a){a.$component=f;a.$componentTemplateNodes=t}});f&&f.koDescendantsComplete&&(q=a.i.subscribe(e,a.i.pa,f.koDescendantsComplete,f));l=f;a.Oa(d,e)}})},null,{l:e});return{controlsDescendantBindings:!0}}};a.h.ea.component=!0})();var V={\"class\":\"className\",\"for\":\"htmlFor\"};a.c.attr={update:function(b,c){var d=a.a.f(c())||{};a.a.P(d,function(c,d){d=a.a.f(d);var g=c.indexOf(\":\"),g=\"lookupNamespaceURI\"in b&&0<g&&b.lookupNamespaceURI(c.substr(0,g)),h=!1===d||null===\nd||d===n;h?g?b.removeAttributeNS(g,c):b.removeAttribute(c):d=d.toString();8>=a.a.W&&c in V?(c=V[c],h?b.removeAttribute(c):b[c]=d):h||(g?b.setAttributeNS(g,c,d):b.setAttribute(c,d));\"name\"===c&&a.a.Yc(b,h?\"\":d)})}};(function(){a.c.checked={after:[\"value\",\"attr\"],init:function(b,c,d){function e(){var e=b.checked,f=g();if(!a.S.Ya()&&(e||!m&&!a.S.qa())){var k=a.u.G(c);if(l){var q=p?k.v():k,z=t;t=f;z!==f?e&&(a.a.Na(q,f,!0),a.a.Na(q,z,!1)):a.a.Na(q,f,e);p&&a.Za(k)&&k(q)}else h&&(f===n?f=e:e||(f=n)),a.m.eb(k,\nd,\"checked\",f,!0)}}function f(){var d=a.a.f(c()),e=g();l?(b.checked=0<=a.a.A(d,e),t=e):b.checked=h&&e===n?!!d:g()===d}var g=a.xb(function(){if(d.has(\"checkedValue\"))return a.a.f(d.get(\"checkedValue\"));if(q)return d.has(\"value\")?a.a.f(d.get(\"value\")):b.value}),h=\"checkbox\"==b.type,m=\"radio\"==b.type;if(h||m){var k=c(),l=h&&a.a.f(k)instanceof Array,p=!(l&&k.push&&k.splice),q=m||l,t=l?g():n;m&&!b.name&&a.c.uniqueName.init(b,function(){return!0});a.o(e,null,{l:b});a.a.B(b,\"click\",e);a.o(f,null,{l:b});\nk=n}}};a.m.wa.checked=!0;a.c.checkedValue={update:function(b,c){b.value=a.a.f(c())}}})();a.c[\"class\"]={update:function(b,c){var d=a.a.Db(a.a.f(c()));a.a.Eb(b,b.__ko__cssValue,!1);b.__ko__cssValue=d;a.a.Eb(b,d,!0)}};a.c.css={update:function(b,c){var d=a.a.f(c());null!==d&&\"object\"==typeof d?a.a.P(d,function(c,d){d=a.a.f(d);a.a.Eb(b,c,d)}):a.c[\"class\"].update(b,c)}};a.c.enable={update:function(b,c){var d=a.a.f(c());d&&b.disabled?b.removeAttribute(\"disabled\"):d||b.disabled||(b.disabled=!0)}};a.c.disable=\n{update:function(b,c){a.c.enable.update(b,function(){return!a.a.f(c())})}};a.c.event={init:function(b,c,d,e,f){var g=c()||{};a.a.P(g,function(g){\"string\"==typeof g&&a.a.B(b,g,function(b){var k,l=c()[g];if(l){try{var p=a.a.la(arguments);e=f.$data;p.unshift(e);k=l.apply(e,p)}finally{!0!==k&&(b.preventDefault?b.preventDefault():b.returnValue=!1)}!1===d.get(g+\"Bubble\")&&(b.cancelBubble=!0,b.stopPropagation&&b.stopPropagation())}})})}};a.c.foreach={Rc:function(b){return function(){var c=b(),d=a.a.bc(c);\nif(!d||\"number\"==typeof d.length)return{foreach:c,templateEngine:a.ba.Ma};a.a.f(c);return{foreach:d.data,as:d.as,noChildContext:d.noChildContext,includeDestroyed:d.includeDestroyed,afterAdd:d.afterAdd,beforeRemove:d.beforeRemove,afterRender:d.afterRender,beforeMove:d.beforeMove,afterMove:d.afterMove,templateEngine:a.ba.Ma}}},init:function(b,c){return a.c.template.init(b,a.c.foreach.Rc(c))},update:function(b,c,d,e,f){return a.c.template.update(b,a.c.foreach.Rc(c),d,e,f)}};a.m.Ra.foreach=!1;a.h.ea.foreach=\n!0;a.c.hasfocus={init:function(b,c,d){function e(e){b.__ko_hasfocusUpdating=!0;var f=b.ownerDocument;if(\"activeElement\"in f){var g;try{g=f.activeElement}catch(l){g=f.body}e=g===b}f=c();a.m.eb(f,d,\"hasfocus\",e,!0);b.__ko_hasfocusLastValue=e;b.__ko_hasfocusUpdating=!1}var f=e.bind(null,!0),g=e.bind(null,!1);a.a.B(b,\"focus\",f);a.a.B(b,\"focusin\",f);a.a.B(b,\"blur\",g);a.a.B(b,\"focusout\",g);b.__ko_hasfocusLastValue=!1},update:function(b,c){var d=!!a.a.f(c());b.__ko_hasfocusUpdating||b.__ko_hasfocusLastValue===\nd||(d?b.focus():b.blur(),!d&&b.__ko_hasfocusLastValue&&b.ownerDocument.body.focus(),a.u.G(a.a.Fb,null,[b,d?\"focusin\":\"focusout\"]))}};a.m.wa.hasfocus=!0;a.c.hasFocus=a.c.hasfocus;a.m.wa.hasFocus=\"hasfocus\";a.c.html={init:function(){return{controlsDescendantBindings:!0}},update:function(b,c){a.a.fc(b,c())}};(function(){function b(b,d,e){a.c[b]={init:function(b,c,h,m,k){var l,p,q={},t,x,n;if(d){m=h.get(\"as\");var u=h.get(\"noChildContext\");n=!(m&&u);q={as:m,noChildContext:u,exportDependencies:n}}x=(t=\n\"render\"==h.get(\"completeOn\"))||h.has(a.i.pa);a.o(function(){var h=a.a.f(c()),m=!e!==!h,u=!p,r;if(n||m!==l){x&&(k=a.i.Cb(b,k));if(m){if(!d||n)q.dataDependency=a.S.o();r=d?k.createChildContext(\"function\"==typeof h?h:c,q):a.S.qa()?k.extend(null,q):k}u&&a.S.qa()&&(p=a.a.Ca(a.h.childNodes(b),!0));m?(u||a.h.va(b,a.a.Ca(p)),a.Oa(r,b)):(a.h.Ea(b),t||a.i.ma(b,a.i.H));l=m}},null,{l:b});return{controlsDescendantBindings:!0}}};a.m.Ra[b]=!1;a.h.ea[b]=!0}b(\"if\");b(\"ifnot\",!1,!0);b(\"with\",!0)})();a.c.let={init:function(b,\nc,d,e,f){c=f.extend(c);a.Oa(c,b);return{controlsDescendantBindings:!0}}};a.h.ea.let=!0;var Q={};a.c.options={init:function(b){if(\"select\"!==a.a.R(b))throw Error(\"options binding applies only to SELECT elements\");for(;0<b.length;)b.remove(0);return{controlsDescendantBindings:!0}},update:function(b,c,d){function e(){return a.a.jb(b.options,function(a){return a.selected})}function f(a,b,c){var d=typeof b;return\"function\"==d?b(a):\"string\"==d?a[b]:c}function g(c,d){if(x&&l)a.i.ma(b,a.i.H);else if(t.length){var e=\n0<=a.a.A(t,a.w.M(d[0]));a.a.Zc(d[0],e);x&&!e&&a.u.G(a.a.Fb,null,[b,\"change\"])}}var h=b.multiple,m=0!=b.length&&h?b.scrollTop:null,k=a.a.f(c()),l=d.get(\"valueAllowUnset\")&&d.has(\"value\"),p=d.get(\"optionsIncludeDestroyed\");c={};var q,t=[];l||(h?t=a.a.Mb(e(),a.w.M):0<=b.selectedIndex&&t.push(a.w.M(b.options[b.selectedIndex])));k&&(\"undefined\"==typeof k.length&&(k=[k]),q=a.a.jb(k,function(b){return p||b===n||null===b||!a.a.f(b._destroy)}),d.has(\"optionsCaption\")&&(k=a.a.f(d.get(\"optionsCaption\")),null!==\nk&&k!==n&&q.unshift(Q)));var x=!1;c.beforeRemove=function(a){b.removeChild(a)};k=g;d.has(\"optionsAfterRender\")&&\"function\"==typeof d.get(\"optionsAfterRender\")&&(k=function(b,c){g(0,c);a.u.G(d.get(\"optionsAfterRender\"),null,[c[0],b!==Q?b:n])});a.a.ec(b,q,function(c,e,g){g.length&&(t=!l&&g[0].selected?[a.w.M(g[0])]:[],x=!0);e=b.ownerDocument.createElement(\"option\");c===Q?(a.a.Bb(e,d.get(\"optionsCaption\")),a.w.cb(e,n)):(g=f(c,d.get(\"optionsValue\"),c),a.w.cb(e,a.a.f(g)),c=f(c,d.get(\"optionsText\"),g),\na.a.Bb(e,c));return[e]},c,k);if(!l){var B;h?B=t.length&&e().length<t.length:B=t.length&&0<=b.selectedIndex?a.w.M(b.options[b.selectedIndex])!==t[0]:t.length||0<=b.selectedIndex;B&&a.u.G(a.a.Fb,null,[b,\"change\"])}(l||a.S.Ya())&&a.i.ma(b,a.i.H);a.a.wd(b);m&&20<Math.abs(m-b.scrollTop)&&(b.scrollTop=m)}};a.c.options.$b=a.a.g.Z();a.c.selectedOptions={init:function(b,c,d){function e(){var e=c(),f=[];a.a.D(b.getElementsByTagName(\"option\"),function(b){b.selected&&f.push(a.w.M(b))});a.m.eb(e,d,\"selectedOptions\",\nf)}function f(){var d=a.a.f(c()),e=b.scrollTop;d&&\"number\"==typeof d.length&&a.a.D(b.getElementsByTagName(\"option\"),function(b){var c=0<=a.a.A(d,a.w.M(b));b.selected!=c&&a.a.Zc(b,c)});b.scrollTop=e}if(\"select\"!=a.a.R(b))throw Error(\"selectedOptions binding applies only to SELECT elements\");var g;a.i.subscribe(b,a.i.H,function(){g?e():(a.a.B(b,\"change\",e),g=a.o(f,null,{l:b}))},null,{notifyImmediately:!0})},update:function(){}};a.m.wa.selectedOptions=!0;a.c.style={update:function(b,c){var d=a.a.f(c()||\n{});a.a.P(d,function(c,d){d=a.a.f(d);if(null===d||d===n||!1===d)d=\"\";if(v)v(b).css(c,d);else if(/^--/.test(c))b.style.setProperty(c,d);else{c=c.replace(/-(\\w)/g,function(a,b){return b.toUpperCase()});var g=b.style[c];b.style[c]=d;d===g||b.style[c]!=g||isNaN(d)||(b.style[c]=d+\"px\")}})}};a.c.submit={init:function(b,c,d,e,f){if(\"function\"!=typeof c())throw Error(\"The value for a submit binding must be a function\");a.a.B(b,\"submit\",function(a){var d,e=c();try{d=e.call(f.$data,b)}finally{!0!==d&&(a.preventDefault?\na.preventDefault():a.returnValue=!1)}})}};a.c.text={init:function(){return{controlsDescendantBindings:!0}},update:function(b,c){a.a.Bb(b,c())}};a.h.ea.text=!0;(function(){if(A&&A.navigator){var b=function(a){if(a)return parseFloat(a[1])},c=A.navigator.userAgent,d,e,f,g,h;(d=A.opera&&A.opera.version&&parseInt(A.opera.version()))||(h=b(c.match(/Edge\\/([^ ]+)$/)))||b(c.match(/Chrome\\/([^ ]+)/))||(e=b(c.match(/Version\\/([^ ]+) Safari/)))||(f=b(c.match(/Firefox\\/([^ ]+)/)))||(g=a.a.W||b(c.match(/MSIE ([^ ]+)/)))||\n(g=b(c.match(/rv:([^ )]+)/)))}if(8<=g&&10>g)var m=a.a.g.Z(),k=a.a.g.Z(),l=function(b){var c=this.activeElement;(c=c&&a.a.g.get(c,k))&&c(b)},p=function(b,c){var d=b.ownerDocument;a.a.g.get(d,m)||(a.a.g.set(d,m,!0),a.a.B(d,\"selectionchange\",l));a.a.g.set(b,k,c)};a.c.textInput={init:function(b,c,k){function l(c,d){a.a.B(b,c,d)}function m(){var d=a.a.f(c());if(null===d||d===n)d=\"\";L!==n&&d===L?a.a.setTimeout(m,4):b.value!==d&&(y=!0,b.value=d,y=!1,v=b.value)}function r(){w||(L=b.value,w=a.a.setTimeout(z,\n4))}function z(){clearTimeout(w);L=w=n;var d=b.value;v!==d&&(v=d,a.m.eb(c(),k,\"textInput\",d))}var v=b.value,w,L,A=9==a.a.W?r:z,y=!1;g&&l(\"keypress\",z);11>g&&l(\"propertychange\",function(a){y||\"value\"!==a.propertyName||A(a)});8==g&&(l(\"keyup\",z),l(\"keydown\",z));p&&(p(b,A),l(\"dragend\",r));(!g||9<=g)&&l(\"input\",A);5>e&&\"textarea\"===a.a.R(b)?(l(\"keydown\",r),l(\"paste\",r),l(\"cut\",r)):11>d?l(\"keydown\",r):4>f?(l(\"DOMAutoComplete\",z),l(\"dragdrop\",z),l(\"drop\",z)):h&&\"number\"===b.type&&l(\"keydown\",r);l(\"change\",\nz);l(\"blur\",z);a.o(m,null,{l:b})}};a.m.wa.textInput=!0;a.c.textinput={preprocess:function(a,b,c){c(\"textInput\",a)}}})();a.c.uniqueName={init:function(b,c){if(c()){var d=\"ko_unique_\"+ ++a.c.uniqueName.rd;a.a.Yc(b,d)}}};a.c.uniqueName.rd=0;a.c.using={init:function(b,c,d,e,f){var g;d.has(\"as\")&&(g={as:d.get(\"as\"),noChildContext:d.get(\"noChildContext\")});c=f.createChildContext(c,g);a.Oa(c,b);return{controlsDescendantBindings:!0}}};a.h.ea.using=!0;a.c.value={init:function(b,c,d){var e=a.a.R(b),f=\"input\"==\ne;if(!f||\"checkbox\"!=b.type&&\"radio\"!=b.type){var g=[],h=d.get(\"valueUpdate\"),m=!1,k=null;h&&(\"string\"==typeof h?g=[h]:g=a.a.wc(h),a.a.Pa(g,\"change\"));var l=function(){k=null;m=!1;var e=c(),f=a.w.M(b);a.m.eb(e,d,\"value\",f)};!a.a.W||!f||\"text\"!=b.type||\"off\"==b.autocomplete||b.form&&\"off\"==b.form.autocomplete||-1!=a.a.A(g,\"propertychange\")||(a.a.B(b,\"propertychange\",function(){m=!0}),a.a.B(b,\"focus\",function(){m=!1}),a.a.B(b,\"blur\",function(){m&&l()}));a.a.D(g,function(c){var d=l;a.a.Ud(c,\"after\")&&\n(d=function(){k=a.w.M(b);a.a.setTimeout(l,0)},c=c.substring(5));a.a.B(b,c,d)});var p;p=f&&\"file\"==b.type?function(){var d=a.a.f(c());null===d||d===n||\"\"===d?b.value=\"\":a.u.G(l)}:function(){var f=a.a.f(c()),g=a.w.M(b);if(null!==k&&f===k)a.a.setTimeout(p,0);else if(f!==g||g===n)\"select\"===e?(g=d.get(\"valueAllowUnset\"),a.w.cb(b,f,g),g||f===a.w.M(b)||a.u.G(l)):a.w.cb(b,f)};if(\"select\"===e){var q;a.i.subscribe(b,a.i.H,function(){q?d.get(\"valueAllowUnset\")?p():l():(a.a.B(b,\"change\",l),q=a.o(p,null,{l:b}))},\nnull,{notifyImmediately:!0})}else a.a.B(b,\"change\",l),a.o(p,null,{l:b})}else a.ib(b,{checkedValue:c})},update:function(){}};a.m.wa.value=!0;a.c.visible={update:function(b,c){var d=a.a.f(c()),e=\"none\"!=b.style.display;d&&!e?b.style.display=\"\":!d&&e&&(b.style.display=\"none\")}};a.c.hidden={update:function(b,c){a.c.visible.update(b,function(){return!a.a.f(c())})}};(function(b){a.c[b]={init:function(c,d,e,f,g){return a.c.event.init.call(this,c,function(){var a={};a[b]=d();return a},e,f,g)}}})(\"click\");\na.ca=function(){};a.ca.prototype.renderTemplateSource=function(){throw Error(\"Override renderTemplateSource\");};a.ca.prototype.createJavaScriptEvaluatorBlock=function(){throw Error(\"Override createJavaScriptEvaluatorBlock\");};a.ca.prototype.makeTemplateSource=function(b,c){if(\"string\"==typeof b){c=c||w;var d=c.getElementById(b);if(!d)throw Error(\"Cannot find template with ID \"+b);return new a.C.F(d)}if(1==b.nodeType||8==b.nodeType)return new a.C.ia(b);throw Error(\"Unknown template type: \"+b);};a.ca.prototype.renderTemplate=\nfunction(a,c,d,e){a=this.makeTemplateSource(a,e);return this.renderTemplateSource(a,c,d,e)};a.ca.prototype.isTemplateRewritten=function(a,c){return!1===this.allowTemplateRewriting?!0:this.makeTemplateSource(a,c).data(\"isRewritten\")};a.ca.prototype.rewriteTemplate=function(a,c,d){a=this.makeTemplateSource(a,d);c=c(a.text());a.text(c);a.data(\"isRewritten\",!0)};a.b(\"templateEngine\",a.ca);a.kc=function(){function b(b,c,d,h){b=a.m.ac(b);for(var m=a.m.Ra,k=0;k<b.length;k++){var l=b[k].key;if(Object.prototype.hasOwnProperty.call(m,\nl)){var p=m[l];if(\"function\"===typeof p){if(l=p(b[k].value))throw Error(l);}else if(!p)throw Error(\"This template engine does not support the '\"+l+\"' binding within its templates\");}}d=\"ko.__tr_ambtns(function($context,$element){return(function(){return{ \"+a.m.vb(b,{valueAccessors:!0})+\" } })()},'\"+d.toLowerCase()+\"')\";return h.createJavaScriptEvaluatorBlock(d)+c}var c=/(<([a-z]+\\d*)(?:\\s+(?!data-bind\\s*=\\s*)[a-z0-9\\-]+(?:=(?:\\\"[^\\\"]*\\\"|\\'[^\\']*\\'|[^>]*))?)*\\s+)data-bind\\s*=\\s*([\"'])([\\s\\S]*?)\\3/gi,\nd=/\\x3c!--\\s*ko\\b\\s*([\\s\\S]*?)\\s*--\\x3e/g;return{xd:function(b,c,d){c.isTemplateRewritten(b,d)||c.rewriteTemplate(b,function(b){return a.kc.Ld(b,c)},d)},Ld:function(a,f){return a.replace(c,function(a,c,d,e,l){return b(l,c,d,f)}).replace(d,function(a,c){return b(c,\"\\x3c!-- ko --\\x3e\",\"#comment\",f)})},md:function(b,c){return a.aa.Xb(function(d,h){var m=d.nextSibling;m&&m.nodeName.toLowerCase()===c&&a.ib(m,b,h)})}}}();a.b(\"__tr_ambtns\",a.kc.md);(function(){a.C={};a.C.F=function(b){if(this.F=b){var c=\na.a.R(b);this.ab=\"script\"===c?1:\"textarea\"===c?2:\"template\"==c&&b.content&&11===b.content.nodeType?3:4}};a.C.F.prototype.text=function(){var b=1===this.ab?\"text\":2===this.ab?\"value\":\"innerHTML\";if(0==arguments.length)return this.F[b];var c=arguments[0];\"innerHTML\"===b?a.a.fc(this.F,c):this.F[b]=c};var b=a.a.g.Z()+\"_\";a.C.F.prototype.data=function(c){if(1===arguments.length)return a.a.g.get(this.F,b+c);a.a.g.set(this.F,b+c,arguments[1])};var c=a.a.g.Z();a.C.F.prototype.nodes=function(){var b=this.F;\nif(0==arguments.length){var e=a.a.g.get(b,c)||{},f=e.lb||(3===this.ab?b.content:4===this.ab?b:n);if(!f||e.jd){var g=this.text();g&&g!==e.bb&&(f=a.a.Md(g,b.ownerDocument),a.a.g.set(b,c,{lb:f,bb:g,jd:!0}))}return f}e=arguments[0];this.ab!==n&&this.text(\"\");a.a.g.set(b,c,{lb:e})};a.C.ia=function(a){this.F=a};a.C.ia.prototype=new a.C.F;a.C.ia.prototype.constructor=a.C.ia;a.C.ia.prototype.text=function(){if(0==arguments.length){var b=a.a.g.get(this.F,c)||{};b.bb===n&&b.lb&&(b.bb=b.lb.innerHTML);return b.bb}a.a.g.set(this.F,\nc,{bb:arguments[0]})};a.b(\"templateSources\",a.C);a.b(\"templateSources.domElement\",a.C.F);a.b(\"templateSources.anonymousTemplate\",a.C.ia)})();(function(){function b(b,c,d){var e;for(c=a.h.nextSibling(c);b&&(e=b)!==c;)b=a.h.nextSibling(e),d(e,b)}function c(c,d){if(c.length){var e=c[0],f=c[c.length-1],g=e.parentNode,h=a.ga.instance,m=h.preprocessNode;if(m){b(e,f,function(a,b){var c=a.previousSibling,d=m.call(h,a);d&&(a===e&&(e=d[0]||b),a===f&&(f=d[d.length-1]||c))});c.length=0;if(!e)return;e===f?c.push(e):\n(c.push(e,f),a.a.Ua(c,g))}b(e,f,function(b){1!==b.nodeType&&8!==b.nodeType||a.vc(d,b)});b(e,f,function(b){1!==b.nodeType&&8!==b.nodeType||a.aa.cd(b,[d])});a.a.Ua(c,g)}}function d(a){return a.nodeType?a:0<a.length?a[0]:null}function e(b,e,f,h,m){m=m||{};var n=(b&&d(b)||f||{}).ownerDocument,B=m.templateEngine||g;a.kc.xd(f,B,n);f=B.renderTemplate(f,h,m,n);if(\"number\"!=typeof f.length||0<f.length&&\"number\"!=typeof f[0].nodeType)throw Error(\"Template engine must return an array of DOM nodes\");n=!1;switch(e){case \"replaceChildren\":a.h.va(b,\nf);n=!0;break;case \"replaceNode\":a.a.Xc(b,f);n=!0;break;case \"ignoreTargetNode\":break;default:throw Error(\"Unknown renderMode: \"+e);}n&&(c(f,h),m.afterRender&&a.u.G(m.afterRender,null,[f,h[m.as||\"$data\"]]),\"replaceChildren\"==e&&a.i.ma(b,a.i.H));return f}function f(b,c,d){return a.O(b)?b():\"function\"===typeof b?b(c,d):b}var g;a.gc=function(b){if(b!=n&&!(b instanceof a.ca))throw Error(\"templateEngine must inherit from ko.templateEngine\");g=b};a.dc=function(b,c,h,m,t){h=h||{};if((h.templateEngine||g)==\nn)throw Error(\"Set a template engine before calling renderTemplate\");t=t||\"replaceChildren\";if(m){var x=d(m);return a.$(function(){var g=c&&c instanceof a.fa?c:new a.fa(c,null,null,null,{exportDependencies:!0}),n=f(b,g.$data,g),g=e(m,t,n,g,h);\"replaceNode\"==t&&(m=g,x=d(m))},null,{Sa:function(){return!x||!a.a.Sb(x)},l:x&&\"replaceNode\"==t?x.parentNode:x})}return a.aa.Xb(function(d){a.dc(b,c,h,d,\"replaceNode\")})};a.Qd=function(b,d,g,h,m){function x(b,c){a.u.G(a.a.ec,null,[h,b,u,g,r,c]);a.i.ma(h,a.i.H)}\nfunction r(a,b){c(b,v);g.afterRender&&g.afterRender(b,a);v=null}function u(a,c){v=m.createChildContext(a,{as:z,noChildContext:g.noChildContext,extend:function(a){a.$index=c;z&&(a[z+\"Index\"]=c)}});var d=f(b,a,v);return e(h,\"ignoreTargetNode\",d,v,g)}var v,z=g.as,w=!1===g.includeDestroyed||a.options.foreachHidesDestroyed&&!g.includeDestroyed;if(w||g.beforeRemove||!a.Pc(d))return a.$(function(){var b=a.a.f(d)||[];\"undefined\"==typeof b.length&&(b=[b]);w&&(b=a.a.jb(b,function(b){return b===n||null===b||\n!a.a.f(b._destroy)}));x(b)},null,{l:h});x(d.v());var A=d.subscribe(function(a){x(d(),a)},null,\"arrayChange\");A.l(h);return A};var h=a.a.g.Z(),m=a.a.g.Z();a.c.template={init:function(b,c){var d=a.a.f(c());if(\"string\"==typeof d||\"name\"in d)a.h.Ea(b);else if(\"nodes\"in d){d=d.nodes||[];if(a.O(d))throw Error('The \"nodes\" option must be a plain, non-observable array.');var e=d[0]&&d[0].parentNode;e&&a.a.g.get(e,m)||(e=a.a.Yb(d),a.a.g.set(e,m,!0));(new a.C.ia(b)).nodes(e)}else if(d=a.h.childNodes(b),0<d.length)e=\na.a.Yb(d),(new a.C.ia(b)).nodes(e);else throw Error(\"Anonymous template defined, but no template content was provided\");return{controlsDescendantBindings:!0}},update:function(b,c,d,e,f){var g=c();c=a.a.f(g);d=!0;e=null;\"string\"==typeof c?c={}:(g=\"name\"in c?c.name:b,\"if\"in c&&(d=a.a.f(c[\"if\"])),d&&\"ifnot\"in c&&(d=!a.a.f(c.ifnot)),d&&!g&&(d=!1));\"foreach\"in c?e=a.Qd(g,d&&c.foreach||[],c,b,f):d?(d=f,\"data\"in c&&(d=f.createChildContext(c.data,{as:c.as,noChildContext:c.noChildContext,exportDependencies:!0})),\ne=a.dc(g,d,c,b)):a.h.Ea(b);f=e;(c=a.a.g.get(b,h))&&\"function\"==typeof c.s&&c.s();a.a.g.set(b,h,!f||f.ja&&!f.ja()?n:f)}};a.m.Ra.template=function(b){b=a.m.ac(b);return 1==b.length&&b[0].unknown||a.m.Id(b,\"name\")?null:\"This template engine does not support anonymous templates nested within its templates\"};a.h.ea.template=!0})();a.b(\"setTemplateEngine\",a.gc);a.b(\"renderTemplate\",a.dc);a.a.Kc=function(a,c,d){if(a.length&&c.length){var e,f,g,h,m;for(e=f=0;(!d||e<d)&&(h=a[f]);++f){for(g=0;m=c[g];++g)if(h.value===\nm.value){h.moved=m.index;m.moved=h.index;c.splice(g,1);e=g=0;break}e+=g}}};a.a.Pb=function(){function b(b,d,e,f,g){var h=Math.min,m=Math.max,k=[],l,p=b.length,q,n=d.length,r=n-p||1,v=p+n+1,u,w,z;for(l=0;l<=p;l++)for(w=u,k.push(u=[]),z=h(n,l+r),q=m(0,l-1);q<=z;q++)u[q]=q?l?b[l-1]===d[q-1]?w[q-1]:h(w[q]||v,u[q-1]||v)+1:q+1:l+1;h=[];m=[];r=[];l=p;for(q=n;l||q;)n=k[l][q]-1,q&&n===k[l][q-1]?m.push(h[h.length]={status:e,value:d[--q],index:q}):l&&n===k[l-1][q]?r.push(h[h.length]={status:f,value:b[--l],index:l}):\n(--q,--l,g.sparse||h.push({status:\"retained\",value:d[q]}));a.a.Kc(r,m,!g.dontLimitMoves&&10*p);return h.reverse()}return function(a,d,e){e=\"boolean\"===typeof e?{dontLimitMoves:e}:e||{};a=a||[];d=d||[];return a.length<d.length?b(a,d,\"added\",\"deleted\",e):b(d,a,\"deleted\",\"added\",e)}}();a.b(\"utils.compareArrays\",a.a.Pb);(function(){function b(b,c,d,h,m){var k=[],l=a.$(function(){var l=c(d,m,a.a.Ua(k,b))||[];0<k.length&&(a.a.Xc(k,l),h&&a.u.G(h,null,[d,l,m]));k.length=0;a.a.Nb(k,l)},null,{l:b,Sa:function(){return!a.a.kd(k)}});\nreturn{Y:k,$:l.ja()?l:n}}var c=a.a.g.Z(),d=a.a.g.Z();a.a.ec=function(e,f,g,h,m,k){function l(b){y={Aa:b,pb:a.ta(w++)};v.push(y);r||F.push(y)}function p(b){y=t[b];w!==y.pb.v()&&D.push(y);y.pb(w++);a.a.Ua(y.Y,e);v.push(y)}function q(b,c){if(b)for(var d=0,e=c.length;d<e;d++)a.a.D(c[d].Y,function(a){b(a,d,c[d].Aa)})}f=f||[];\"undefined\"==typeof f.length&&(f=[f]);h=h||{};var t=a.a.g.get(e,c),r=!t,v=[],u=0,w=0,z=[],A=[],C=[],D=[],F=[],y,I=0;if(r)a.a.D(f,l);else{if(!k||t&&t._countWaitingForRemove){var E=\na.a.Mb(t,function(a){return a.Aa});k=a.a.Pb(E,f,{dontLimitMoves:h.dontLimitMoves,sparse:!0})}for(var E=0,G,H,K;G=k[E];E++)switch(H=G.moved,K=G.index,G.status){case \"deleted\":for(;u<K;)p(u++);H===n&&(y=t[u],y.$&&(y.$.s(),y.$=n),a.a.Ua(y.Y,e).length&&(h.beforeRemove&&(v.push(y),I++,y.Aa===d?y=null:C.push(y)),y&&z.push.apply(z,y.Y)));u++;break;case \"added\":for(;w<K;)p(u++);H!==n?(A.push(v.length),p(H)):l(G.value)}for(;w<f.length;)p(u++);v._countWaitingForRemove=I}a.a.g.set(e,c,v);q(h.beforeMove,D);a.a.D(z,\nh.beforeRemove?a.oa:a.removeNode);var M,O,P;try{P=e.ownerDocument.activeElement}catch(N){}if(A.length)for(;(E=A.shift())!=n;){y=v[E];for(M=n;E;)if((O=v[--E].Y)&&O.length){M=O[O.length-1];break}for(f=0;u=y.Y[f];M=u,f++)a.h.Wb(e,u,M)}for(E=0;y=v[E];E++){y.Y||a.a.extend(y,b(e,g,y.Aa,m,y.pb));for(f=0;u=y.Y[f];M=u,f++)a.h.Wb(e,u,M);!y.Ed&&m&&(m(y.Aa,y.Y,y.pb),y.Ed=!0,M=y.Y[y.Y.length-1])}P&&e.ownerDocument.activeElement!=P&&P.focus();q(h.beforeRemove,C);for(E=0;E<C.length;++E)C[E].Aa=d;q(h.afterMove,D);\nq(h.afterAdd,F)}})();a.b(\"utils.setDomNodeChildrenFromArrayMapping\",a.a.ec);a.ba=function(){this.allowTemplateRewriting=!1};a.ba.prototype=new a.ca;a.ba.prototype.constructor=a.ba;a.ba.prototype.renderTemplateSource=function(b,c,d,e){if(c=(9>a.a.W?0:b.nodes)?b.nodes():null)return a.a.la(c.cloneNode(!0).childNodes);b=b.text();return a.a.ua(b,e)};a.ba.Ma=new a.ba;a.gc(a.ba.Ma);a.b(\"nativeTemplateEngine\",a.ba);(function(){a.$a=function(){var a=this.Hd=function(){if(!v||!v.tmpl)return 0;try{if(0<=v.tmpl.tag.tmpl.open.toString().indexOf(\"__\"))return 2}catch(a){}return 1}();\nthis.renderTemplateSource=function(b,e,f,g){g=g||w;f=f||{};if(2>a)throw Error(\"Your version of jQuery.tmpl is too old. Please upgrade to jQuery.tmpl 1.0.0pre or later.\");var h=b.data(\"precompiled\");h||(h=b.text()||\"\",h=v.template(null,\"{{ko_with $item.koBindingContext}}\"+h+\"{{/ko_with}}\"),b.data(\"precompiled\",h));b=[e.$data];e=v.extend({koBindingContext:e},f.templateOptions);e=v.tmpl(h,b,e);e.appendTo(g.createElement(\"div\"));v.fragments={};return e};this.createJavaScriptEvaluatorBlock=function(a){return\"{{ko_code ((function() { return \"+\na+\" })()) }}\"};this.addTemplate=function(a,b){w.write(\"<script type='text/html' id='\"+a+\"'>\"+b+\"\\x3c/script>\")};0<a&&(v.tmpl.tag.ko_code={open:\"__.push($1 || '');\"},v.tmpl.tag.ko_with={open:\"with($1) {\",close:\"} \"})};a.$a.prototype=new a.ca;a.$a.prototype.constructor=a.$a;var b=new a.$a;0<b.Hd&&a.gc(b);a.b(\"jqueryTmplTemplateEngine\",a.$a)})()})})();})();\n","\r\n\r\n\r\nvar Constants = require(\"./Constants\");\r\nvar Helpers = require(\"./Helpers\");\r\nvar Browser = require(\"./BrowserControl\");\r\nvar ComponentEvent = require(\"./ComponentEvent\");\r\nvar ClientTracingHelper = require(\"./ClientTracingHelper\").getInstance(window.ServerData);\r\n\r\nvar StringHelpers = Helpers.String;\r\nvar BrowserHelper = Browser.Helper;\r\nvar KeyCode = Constants.KeyCode;\r\n\r\nvar c_keyDown = \"keydown\";\r\nvar c_scroll = \"scroll\";\r\nvar c_resize = \"resize\";\r\n\r\n\r\nexports.applyExtensions = function (ko)\r\n{\r\n var _componentIdIndex = 1;\r\n var _componentExtensions = {};\r\n\r\n function applyComponentExtensions(componentViewModel, element)\r\n {\r\n var componentId = element.componentId;\r\n\r\n \r\n if (componentId && _componentExtensions[componentId])\r\n {\r\n var componentExtension = _componentExtensions[componentId];\r\n var parentViewModel = componentExtension.parentViewModel;\r\n var componentAlias = componentExtension.alias;\r\n var componentEvents = ko.unwrap(componentExtension.events) || {};\r\n\r\n if (componentAlias)\r\n {\r\n if (typeof componentAlias === \"string\")\r\n {\r\n componentAlias = parentViewModel[componentAlias];\r\n }\r\n\r\n if (ko.isWritableObservable(componentAlias))\r\n {\r\n componentAlias(componentViewModel);\r\n ko.utils.domNodeDisposal.addDisposeCallback(element, function () { componentAlias(null); });\r\n }\r\n }\r\n\r\n ko.utils.objectForEach(\r\n componentEvents,\r\n function (eventName, handler)\r\n {\r\n if (eventName && handler)\r\n {\r\n if (eventName === \"load\")\r\n {\r\n handler.call(parentViewModel, componentViewModel);\r\n }\r\n else\r\n {\r\n eventName = \"on\" + eventName.charAt(0).toUpperCase() + eventName.substr(1);\r\n if (ComponentEvent.isComponentEvent(componentViewModel[eventName]))\r\n {\r\n \r\n componentViewModel[eventName].subscribe(\r\n function (eventArgs)\r\n {\r\n \r\n if (componentViewModel[eventName].tracingOptions)\r\n {\r\n ClientTracingHelper.logComponentEvent(componentViewModel, componentViewModel[eventName].tracingOptions, eventName, eventArgs);\r\n }\r\n\r\n return handler.apply(parentViewModel, eventArgs);\r\n });\r\n }\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n \r\n \r\n ko.components.loaders.unshift(\r\n {\r\n loadComponent: function (componentName, config, callback)\r\n {\r\n \r\n ko.components.defaultLoader.loadComponent(\r\n componentName,\r\n config,\r\n function (resolvedConfig)\r\n {\r\n if (config.enableExtensions)\r\n {\r\n \r\n (function (viewModelFactory)\r\n {\r\n resolvedConfig.createViewModel = function (params, componentInfo)\r\n {\r\n var viewModel = viewModelFactory(params, componentInfo);\r\n applyComponentExtensions(viewModel, componentInfo.element);\r\n\r\n return viewModel;\r\n };\r\n })(resolvedConfig.createViewModel);\r\n }\r\n\r\n callback(resolvedConfig);\r\n });\r\n }\r\n }\r\n );\r\n\r\n (function (componentInit)\r\n {\r\n ko.bindingHandlers.component.init = function (element, valueAccessor, allBindings, viewModel, bindingContext)\r\n {\r\n var value = ko.unwrap(valueAccessor());\r\n if (typeof value !== \"string\")\r\n {\r\n var componentAlias = value[\"publicMethods\"];\r\n var componentEvents = value[\"event\"];\r\n\r\n if (value[\"disabled\"])\r\n {\r\n return;\r\n }\r\n\r\n if (componentAlias || componentEvents)\r\n {\r\n \r\n \r\n \r\n var componentId = element.componentId = _componentIdIndex++;\r\n _componentExtensions[componentId] =\r\n {\r\n parentViewModel: viewModel,\r\n alias: componentAlias,\r\n events: componentEvents\r\n };\r\n\r\n ko.utils.domNodeDisposal.addDisposeCallback(element, function () { delete _componentExtensions[componentId]; });\r\n }\r\n }\r\n\r\n return componentInit(element, valueAccessor, allBindings, viewModel, bindingContext);\r\n };\r\n })(ko.bindingHandlers.component.init);\r\n\r\n ko.bindingHandlers.pageViewComponent =\r\n {\r\n init: function (element, valueAccessor, allBindings, viewModel, bindingContext)\r\n {\r\n var value = ko.unwrap(valueAccessor());\r\n value.publicMethods = viewModel.viewInterfaces[bindingContext.$index()];\r\n value.event = value.event || {};\r\n value.event.load = viewModel.view_onLoad;\r\n value.event.switchView = viewModel.view_onSwitchView;\r\n\r\n var updatedValueAccessor = function () { return value; };\r\n\r\n return ko.bindingHandlers.component.init(element, updatedValueAccessor, allBindings, viewModel, bindingContext);\r\n }\r\n };\r\n\r\n ko.bindingHandlers.component.preprocess = function (value)\r\n {\r\n \r\n if (value && (value.charAt(0) === \"\\\"\" || value.charAt(0) === \"'\"))\r\n {\r\n return StringHelpers.format(\"{ name: {0}, params: { } }\", value);\r\n }\r\n\r\n return value;\r\n };\r\n\r\n ko.bindingHandlers.defineGlobals =\r\n {\r\n init: function (element, valueAccessor, allBindings, viewModel, bindingContext)\r\n {\r\n function ExtractFlowToken(html)\r\n {\r\n var token = \"\";\r\n\r\n try\r\n {\r\n var div = document.createElement(\"div\");\r\n div.innerHTML = html;\r\n\r\n if (div.childNodes.length > 0 && div.childNodes[0].value)\r\n {\r\n token = div.childNodes[0].value;\r\n }\r\n }\r\n catch (exc)\r\n {\r\n }\r\n\r\n return token;\r\n }\r\n\r\n var serverData = ko.unwrap(valueAccessor());\r\n\r\n \r\n \r\n serverData.sFT = ExtractFlowToken(serverData.sFT) || serverData.sFT || ExtractFlowToken(serverData.sFTTag);\r\n\r\n var innerBindingContext = bindingContext.extend(\r\n {\r\n svr: serverData,\r\n str: serverData.str,\r\n html: serverData.html,\r\n $location: ko.observable()\r\n });\r\n\r\n innerBindingContext.$location.subscribe(\r\n function (value)\r\n {\r\n if (value)\r\n {\r\n document.location.replace(value);\r\n }\r\n });\r\n\r\n if (allBindings.has(\"bodyCssClass\"))\r\n {\r\n var ieVersion = BrowserHelper.getIEVersion();\r\n if (ieVersion)\r\n {\r\n \r\n var cssBinding = { css: {} };\r\n cssBinding.css[\"IE_M\" + ieVersion] = true;\r\n ko.applyBindingsToNode(element, cssBinding);\r\n }\r\n\r\n var isHighContrast = BrowserHelper.isHighContrast();\r\n if (isHighContrast)\r\n {\r\n var theme = BrowserHelper.getHighContrastTheme();\r\n var isHighContrastBlackTheme = theme === \"black\";\r\n var isHighContrastWhiteTheme = theme === \"white\";\r\n\r\n if (isHighContrastBlackTheme || isHighContrastWhiteTheme)\r\n {\r\n var themeClass = isHighContrastBlackTheme ? \"theme-dark\" : \"theme-light\";\r\n\r\n var themeCssBinding = { css: {} };\r\n themeCssBinding.css[themeClass] = true;\r\n ko.applyBindingsToNode(element, themeCssBinding);\r\n }\r\n }\r\n }\r\n\r\n ko.applyBindingsToDescendants(innerBindingContext, element);\r\n\r\n return { controlsDescendantBindings: true };\r\n }\r\n };\r\n\r\n ko.bindingHandlers.autoSubmit =\r\n {\r\n update: function (element, valueAccessor)\r\n {\r\n var binding = valueAccessor();\r\n\r\n if (ko.unwrap(binding))\r\n {\r\n if (ko.isWritableObservable(binding))\r\n {\r\n \r\n binding(false);\r\n }\r\n\r\n element.submit();\r\n }\r\n }\r\n };\r\n\r\n ko.bindingHandlers.postRedirectForm =\r\n {\r\n init: function (element)\r\n {\r\n element.setAttribute(\"method\", \"POST\");\r\n element.setAttribute(\"aria-hidden\", \"true\");\r\n element.setAttribute(\"target\", \"_top\");\r\n },\r\n update: function (element, valueAccessor)\r\n {\r\n var binding = ko.unwrap(valueAccessor());\r\n\r\n if (binding && binding.url)\r\n {\r\n element.setAttribute(\"action\", binding.url);\r\n\r\n if (binding.target)\r\n {\r\n element.setAttribute(\"target\", binding.target);\r\n }\r\n\r\n if (binding.postParams)\r\n {\r\n ko.utils.objectForEach(\r\n binding.postParams,\r\n function (name, value)\r\n {\r\n \r\n \r\n \r\n if (name.substr(0, 7) === \"unsafe_\")\r\n {\r\n name = name.substr(7);\r\n }\r\n\r\n \r\n if ((value === null) || (value === undefined))\r\n {\r\n value = \"\";\r\n }\r\n\r\n var hiddenInput = document.createElement(\"input\");\r\n hiddenInput.setAttribute(\"type\", \"hidden\");\r\n hiddenInput.setAttribute(\"name\", name);\r\n hiddenInput.setAttribute(\"value\", value);\r\n\r\n element.appendChild(hiddenInput);\r\n });\r\n }\r\n\r\n element.submit();\r\n }\r\n }\r\n };\r\n\r\n ko.bindingHandlers.href =\r\n {\r\n update: function (element, valueAccessor)\r\n {\r\n ko.bindingHandlers.attr.update(\r\n element,\r\n function ()\r\n {\r\n return { href: valueAccessor() };\r\n });\r\n }\r\n };\r\n\r\n ko.bindingHandlers.placeholder =\r\n {\r\n update: function (element, valueAccessor)\r\n {\r\n ko.bindingHandlers.attr.update(\r\n element,\r\n function ()\r\n {\r\n return { placeholder: valueAccessor() };\r\n });\r\n }\r\n };\r\n\r\n ko.bindingHandlers.ariaLabel =\r\n {\r\n update: function (element, valueAccessor)\r\n {\r\n ko.bindingHandlers.attr.update(\r\n element,\r\n function ()\r\n {\r\n return { \"aria-label\": valueAccessor() };\r\n });\r\n }\r\n };\r\n\r\n ko.bindingHandlers.ariaDescribedBy =\r\n {\r\n \r\n \r\n \r\n update: function (element, valueAccessor)\r\n {\r\n ko.bindingHandlers.attr.update(\r\n element,\r\n function ()\r\n {\r\n return { \"aria-describedby\": valueAccessor() };\r\n });\r\n }\r\n };\r\n\r\n ko.bindingHandlers.htmlWithBindings =\r\n {\r\n init: function ()\r\n {\r\n return { controlsDescendantBindings: true };\r\n },\r\n update: function (element, valueAccessor, allBindings, viewModel, bindingContext)\r\n {\r\n ko.utils.setHtml(element, valueAccessor());\r\n\r\n var childBindings = allBindings.get(\"childBindings\");\r\n if (childBindings)\r\n {\r\n for (var id in childBindings)\r\n {\r\n if (childBindings.hasOwnProperty(id))\r\n {\r\n var child = document.getElementById(id);\r\n if (child)\r\n {\r\n ko.applyBindingsToNode(child, childBindings[id], bindingContext);\r\n }\r\n }\r\n }\r\n }\r\n\r\n ko.applyBindingsToDescendants(bindingContext, element);\r\n }\r\n };\r\n\r\n ko.bindingHandlers.backgroundImage =\r\n {\r\n update: function (element, valueAccessor)\r\n {\r\n \r\n \r\n var url = valueAccessor();\r\n\r\n function setBackgroundImg(imgUrl)\r\n {\r\n element.style.backgroundImage = imgUrl ? StringHelpers.format(\"url('{0}')\", imgUrl) : \"\";\r\n }\r\n\r\n var $Loader = window.$Loader;\r\n var image = new Image();\r\n image.onerror = function ()\r\n {\r\n if ($Loader && $Loader.On)\r\n {\r\n $Loader.On(image, true, setBackgroundImg);\r\n }\r\n };\r\n\r\n image.src = url;\r\n\r\n setBackgroundImg(url);\r\n }\r\n };\r\n\r\n ko.bindingHandlers.addEventHandlers =\r\n {\r\n init: function (element)\r\n {\r\n var $Loader = window.$Loader;\r\n element.onerror = function ()\r\n {\r\n if ($Loader && $Loader.OnError)\r\n {\r\n return $Loader.OnError(element, function (imgUrl)\r\n {\r\n element.src = imgUrl;\r\n });\r\n }\r\n };\r\n }\r\n };\r\n\r\n ko.bindingHandlers.wizardCssCheck =\r\n {\r\n \r\n \r\n update: function (element, valueAccessor, allBindings, viewModel, bindingContext)\r\n {\r\n if (CSSLoadFail())\r\n {\r\n var mainDiv = document.getElementById(\"mainDiv\");\r\n if (mainDiv)\r\n {\r\n mainDiv.style.display = \"none\";\r\n }\r\n }\r\n }\r\n };\r\n\r\n ko.bindingHandlers.withProperties =\r\n {\r\n init: function (element, valueAccessor, allBindings, viewModel, bindingContext)\r\n {\r\n var innerBindingContext = bindingContext.extend(valueAccessor);\r\n ko.applyBindingsToDescendants(innerBindingContext, element);\r\n\r\n return { controlsDescendantBindings: true };\r\n }\r\n };\r\n\r\n ko.bindingHandlers.clickExpr =\r\n {\r\n preprocess: function (value)\r\n {\r\n return \"function ($data, $event) { \" + value + \" }\";\r\n },\r\n init: function (element, valueAccessor, allBindings, viewModel, bindingContext)\r\n {\r\n return ko.bindingHandlers.click.init.call(this, element, valueAccessor, allBindings, viewModel, bindingContext);\r\n }\r\n };\r\n\r\n ko.bindingHandlers.imgSrc =\r\n {\r\n init: function (element)\r\n {\r\n var $Loader = window.$Loader;\r\n element.onerror = function ()\r\n {\r\n if ($Loader && $Loader.On)\r\n {\r\n return $Loader.On(element, true, function (imgUrl)\r\n {\r\n element.src = imgUrl;\r\n });\r\n }\r\n };\r\n\r\n if (BrowserHelper.isSvgImgSupported())\r\n {\r\n element.src = element.getAttribute(\"svgSrc\");\r\n }\r\n else\r\n {\r\n element.src = element.getAttribute(\"pngSrc\");\r\n }\r\n }\r\n };\r\n\r\n ko.bindingHandlers.svgSrc =\r\n {\r\n update: function (element, valueAccessor, allBindings)\r\n {\r\n var value = ko.unwrap(valueAccessor());\r\n\r\n ko.bindingHandlers.attr.update(\r\n element,\r\n function ()\r\n {\r\n if (value && BrowserHelper.isSvgImgSupported())\r\n {\r\n value = value.replace(new RegExp(\".png$\"), \".svg\");\r\n }\r\n\r\n var format = allBindings.get(\"format\");\r\n if (format)\r\n {\r\n for (var token in format)\r\n {\r\n if (format.hasOwnProperty(token) && !format[token])\r\n {\r\n \r\n value = value.replace(token, \"\");\r\n }\r\n }\r\n }\r\n\r\n return { src: value };\r\n });\r\n }\r\n };\r\n\r\n ko.bindingHandlers.injectScript =\r\n {\r\n init: function (element, valueAccessor)\r\n {\r\n var url = ko.unwrap(valueAccessor());\r\n var script = document.createElement(\"script\");\r\n script.type = \"text/javascript\";\r\n script.src = url;\r\n\r\n element.appendChild(script);\r\n\r\n return { controlsDescendantBindings: true };\r\n }\r\n };\r\n\r\n ko.bindingHandlers.injectIframe =\r\n {\r\n init: function (element, valueAccessor)\r\n {\r\n var params = ko.unwrap(valueAccessor());\r\n if (params && params.url)\r\n {\r\n var frame = document.createElement(\"iframe\");\r\n frame.height = \"0\";\r\n frame.width = \"0\";\r\n frame.style.display = \"none\";\r\n frame.src = ko.unwrap(params.url);\r\n\r\n if (params.onload)\r\n {\r\n frame.onload = function () { params.onload(frame); };\r\n }\r\n\r\n element.appendChild(frame);\r\n }\r\n\r\n return { controlsDescendantBindings: true };\r\n }\r\n };\r\n\r\n ko.bindingHandlers.injectDfpIframe =\r\n {\r\n init: function (element, valueAccessor)\r\n {\r\n var params = ko.unwrap(valueAccessor());\r\n if (params && params.url)\r\n {\r\n var dfpIframe = document.createElement(\"iframe\");\r\n dfpIframe.id = \"iDeviceFingerPrinting\";\r\n dfpIframe.setAttribute(\"style\", \"color:#000000;float:left;visibility:hidden;position:absolute;width:1px;height:1px;left:-10000px;top:-10000px;border:0px\");\r\n dfpIframe.src = ko.unwrap(params.url);\r\n\r\n if (params.onload)\r\n {\r\n dfpIframe.onload = function () { params.onload(dfpIframe); };\r\n }\r\n\r\n element.appendChild(dfpIframe);\r\n }\r\n\r\n return { controlsDescendantBindings: true };\r\n }\r\n };\r\n\r\n \r\n \r\n ko.bindingHandlers.hasFocusEx =\r\n {\r\n init: ko.bindingHandlers.hasFocus.init,\r\n update: function (element, valueAccessor, allBindings, viewModel, bindingContext)\r\n {\r\n ko.bindingHandlers.hasFocus.update(element, valueAccessor, allBindings, viewModel, bindingContext);\r\n\r\n var value = ko.unwrap(valueAccessor());\r\n if (value)\r\n {\r\n if (element.value)\r\n {\r\n \r\n var length = element.value.length;\r\n if (\"selectionStart\" in element)\r\n {\r\n setTimeout(function ()\r\n {\r\n try\r\n {\r\n element.selectionStart = length;\r\n element.selectionEnd = length;\r\n }\r\n catch (e)\r\n {\r\n \r\n }\r\n }, 0);\r\n }\r\n else if (\"createTextRange\" in element)\r\n {\r\n \r\n var inputRange = element.createTextRange();\r\n inputRange.moveStart(\"character\", length);\r\n inputRange.collapse();\r\n inputRange.moveEnd(\"character\", length);\r\n inputRange.select();\r\n }\r\n }\r\n\r\n element.focus();\r\n }\r\n else\r\n {\r\n element.blur();\r\n }\r\n }\r\n };\r\n\r\n ko.bindingHandlers.preventTabbing =\r\n {\r\n init: function (element, valueAccessor)\r\n {\r\n var value = ko.unwrap(valueAccessor()) || {};\r\n\r\n function ignoreTab(e)\r\n {\r\n e = e || window.event;\r\n if (e.code === \"Tab\" || e.keyCode === KeyCode.Tab)\r\n {\r\n if (!value.direction\r\n || value.direction === \"both\"\r\n || (value.direction === \"up\" && e.shiftKey)\r\n || (value.direction === \"down\" && !e.shiftKey))\r\n {\r\n _preventDefaultEventAction(e);\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n if (value.direction !== \"none\")\r\n {\r\n ko.utils.registerEventHandler(element, c_keyDown, ignoreTab);\r\n }\r\n }\r\n };\r\n\r\n ko.bindingHandlers.ariaHidden =\r\n {\r\n update: function (element, valueAccessor)\r\n {\r\n ko.bindingHandlers.attr.update(\r\n element,\r\n function ()\r\n {\r\n return { \"aria-hidden\": ko.unwrap(valueAccessor()) };\r\n });\r\n }\r\n };\r\n\r\n ko.bindingHandlers.moveOffScreen =\r\n {\r\n update: function (element, valueAccessor)\r\n {\r\n var value = ko.unwrap(valueAccessor());\r\n\r\n if (typeof value !== \"object\")\r\n {\r\n var defaultValue = value !== false;\r\n value =\r\n {\r\n setClass: defaultValue,\r\n setTabIndex: defaultValue,\r\n setAriaHidden: defaultValue\r\n };\r\n }\r\n\r\n \r\n ko.bindingHandlers.css.update(\r\n element,\r\n function ()\r\n {\r\n return { moveOffScreen: value.setClass !== false };\r\n });\r\n\r\n \r\n ko.bindingHandlers.attr.update(\r\n element,\r\n function ()\r\n {\r\n return { tabindex: value.setTabIndex !== false ? -1 : 0 };\r\n });\r\n\r\n \r\n ko.bindingHandlers.ariaHidden.update(\r\n element,\r\n function ()\r\n {\r\n return value.setAriaHidden !== false;\r\n });\r\n }\r\n };\r\n\r\n ko.bindingHandlers.pressEnter =\r\n {\r\n init: function (element, valueAccessor, allBindings, viewModel, bindingContext)\r\n {\r\n var callback = ko.unwrap(valueAccessor());\r\n var data = bindingContext.$data;\r\n\r\n function onKeyDown(e)\r\n {\r\n e = e || window.event;\r\n if (e.code === \"Enter\" || e.keyCode === KeyCode.Enter)\r\n {\r\n _preventDefaultEventAction(e);\r\n callback(data, e);\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n ko.utils.registerEventHandler(element, c_keyDown, onKeyDown);\r\n }\r\n };\r\n\r\n \r\n ko.bindingHandlers.isScrolledToBottom =\r\n {\r\n init: function (element, valueAccessor)\r\n {\r\n var params = ko.unwrap(valueAccessor());\r\n\r\n var disabled = params.disabled;\r\n var valueObservable = params.value;\r\n var sticky = params.sticky;\r\n\r\n if (disabled || !ko.isWritableObservable(valueObservable))\r\n {\r\n return;\r\n }\r\n\r\n function onScrollOrResize()\r\n {\r\n var isScrolledToBottom = element.scrollTop + element.offsetHeight >= element.scrollHeight;\r\n valueObservable(isScrolledToBottom);\r\n\r\n if (sticky && isScrolledToBottom)\r\n {\r\n \r\n \r\n removeEventHandlers();\r\n }\r\n\r\n return isScrolledToBottom;\r\n }\r\n\r\n function removeEventHandlers()\r\n {\r\n BrowserHelper.removeEventListener(element, c_scroll, onScrollOrResize);\r\n BrowserHelper.removeEventListener(window, c_resize, onScrollOrResize);\r\n }\r\n\r\n \r\n if (sticky && onScrollOrResize())\r\n {\r\n \r\n return;\r\n }\r\n\r\n BrowserHelper.addEventListener(element, c_scroll, onScrollOrResize);\r\n BrowserHelper.addEventListener(window, c_resize, onScrollOrResize);\r\n\r\n ko.utils.domNodeDisposal.addDisposeCallback(element, removeEventHandlers);\r\n },\r\n update: function (element, valueAccessor)\r\n {\r\n var params = ko.unwrap(valueAccessor());\r\n if (params.value())\r\n {\r\n \r\n element.scrollTop = element.scrollHeight;\r\n }\r\n }\r\n };\r\n\r\n ko.bindingHandlers.animationEnd =\r\n {\r\n init: function (element, valueAccessor, allBindings, viewModel, bindingContext)\r\n {\r\n var eventName = BrowserHelper.getAnimationEndEventName();\r\n if (!eventName)\r\n {\r\n return;\r\n }\r\n\r\n ko.bindingHandlers.event.init(\r\n element,\r\n function ()\r\n {\r\n var binding = {};\r\n binding[eventName] = ko.unwrap(valueAccessor());\r\n\r\n return binding;\r\n }, allBindings, viewModel, bindingContext);\r\n }\r\n };\r\n\r\n \r\n ko.bindingHandlers.htmlWithMods =\r\n {\r\n init: function (element, valueAccessor, allBindings)\r\n {\r\n var htmlContent = ko.unwrap(valueAccessor());\r\n if (!htmlContent)\r\n {\r\n return;\r\n }\r\n\r\n function getLinkInnerText(innerText, parentheticalText)\r\n {\r\n if (innerText !== parentheticalText)\r\n {\r\n return innerText + \" (\" + parentheticalText + \")\";\r\n }\r\n\r\n return innerText;\r\n }\r\n\r\n var params = allBindings.get(\"htmlMods\");\r\n if (params && params.filterLinks)\r\n {\r\n var div = document.createElement(\"div\");\r\n div.innerHTML = htmlContent;\r\n\r\n var links = div.getElementsByTagName(\"a\");\r\n\r\n for (var i = links.length - 1; i >= 0; i--)\r\n {\r\n var link = links[i];\r\n var innerText = link.innerText;\r\n var protocol = link.protocol;\r\n\r\n if (protocol === \"mailto:\" || protocol === \"tel:\")\r\n {\r\n if (params.allowContactProtocols !== false)\r\n {\r\n continue;\r\n }\r\n else\r\n {\r\n innerText = getLinkInnerText(innerText, link.pathname);\r\n }\r\n }\r\n else\r\n {\r\n innerText = getLinkInnerText(innerText, link.getAttribute(\"href\"));\r\n }\r\n\r\n var span = document.createElement(\"span\");\r\n span.innerText = innerText;\r\n link.parentNode.replaceChild(span, link);\r\n }\r\n\r\n htmlContent = div.innerHTML;\r\n }\r\n\r\n ko.utils.setHtml(element, htmlContent);\r\n }\r\n };\r\n\r\n ko.bindingHandlers.externalCss =\r\n {\r\n update: function (element, valueAccessor)\r\n {\r\n ko.utils.objectForEach(\r\n ko.unwrap(valueAccessor()),\r\n function (className, value)\r\n {\r\n var addClass = ko.unwrap(value);\r\n\r\n ko.utils.toggleDomNodeCssClass(element, className, addClass);\r\n ko.utils.toggleDomNodeCssClass(element, \"ext-\" + className, addClass);\r\n });\r\n }\r\n };\r\n\r\n ko.virtualElements.allowedBindings.withProperties = true;\r\n (ko.options = ko.options || {}).createChildContextWithAs = true;\r\n\r\n if (__FIX_IE7_DROPDOWNS__)\r\n {\r\n var DropdownKnockoutExtensions = require(\"./DropdownKnockoutExtensions\");\r\n DropdownKnockoutExtensions.applyExtensions(ko);\r\n }\r\n};\r\n\r\nfunction _preventDefaultEventAction(e)\r\n{\r\n if (e.preventDefault)\r\n {\r\n e.preventDefault();\r\n }\r\n else\r\n {\r\n e.returnValue = false;\r\n }\r\n}","module.exports =\r\n{\r\n format: function (str)\r\n {\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n if (str)\r\n {\r\n for (var i = 1; i < arguments.length; i++)\r\n {\r\n str = str.replace(new RegExp(\"\\\\{\" + (i - 1) + \"\\\\}\", \"g\"), arguments[i]);\r\n }\r\n }\r\n\r\n return str;\r\n }\r\n};","var Helpers = require(\"./Helpers\");\r\nvar Browser = require(\"./BrowserControl\");\r\n\r\nvar StringHelpers = Helpers.String;\r\nvar NodeTypeElement = 1;\r\n\r\n\r\nexports.applyExtensions = function (ko)\r\n{\r\n (function (oldPreprocessNode)\r\n {\r\n ko.bindingProvider.instance.preprocessNode = function (node)\r\n {\r\n \r\n if (node.nodeType === NodeTypeElement\r\n && node.tagName\r\n && node.tagName.toLowerCase() === \"select\"\r\n && Browser.Helper.isIEOlderThan(8))\r\n {\r\n var attributeName = \"data-bind\";\r\n var dataBindString = node.getAttribute(attributeName);\r\n if (dataBindString)\r\n {\r\n var newBindings = [];\r\n var bindings = StringHelpers.doubleSplit(dataBindString, \",\", \":\", false, StringHelpers.trim);\r\n var safeBindingMap = { hasFocus: \"hasFocusBasic\" };\r\n\r\n ko.utils.objectForEach(\r\n bindings,\r\n function (bindingName)\r\n {\r\n var safeBindingName = safeBindingMap[bindingName] || bindingName + \"Ex\";\r\n newBindings.push(safeBindingName + \":\" + bindings[bindingName]);\r\n });\r\n\r\n node.setAttribute(attributeName, newBindings.join());\r\n }\r\n }\r\n\r\n if (oldPreprocessNode)\r\n {\r\n oldPreprocessNode(node);\r\n }\r\n };\r\n })(ko.bindingProvider.instance.preprocessNode);\r\n\r\n \r\n \r\n \r\n ko.bindingHandlers.optionsEx =\r\n {\r\n \r\n \r\n init: function (element, valueAccessor, allBindings, viewModel, bindingContext)\r\n {\r\n var options = ko.unwrap(valueAccessor());\r\n var valueProperty = allBindings.get(\"optionsValueEx\");\r\n var textProperty = allBindings.get(\"optionsTextEx\");\r\n var selectedData = allBindings.get(\"valueEx\");\r\n\r\n function evaluate(option, property)\r\n {\r\n var type = typeof property;\r\n if (type === \"function\")\r\n {\r\n \r\n return ko.unwrap(property(option));\r\n }\r\n else if (type === \"string\" && option[property])\r\n {\r\n \r\n if (typeof option[property] === \"function\")\r\n {\r\n \r\n return ko.unwrap(option[property]());\r\n }\r\n\r\n \r\n return ko.unwrap(option[property]);\r\n }\r\n }\r\n\r\n function selectionChange()\r\n {\r\n var $data = element.options[element.selectedIndex].$data;\r\n element.$data = $data;\r\n\r\n var currentSelectedData = selectedData.peek();\r\n selectedData(typeof currentSelectedData === \"object\" ? $data : element.value);\r\n }\r\n\r\n \r\n ko.utils.arrayForEach(\r\n options,\r\n function (option)\r\n {\r\n var newOption = document.createElement(\"option\");\r\n\r\n \r\n newOption.$data = option;\r\n\r\n \r\n if (valueProperty)\r\n {\r\n newOption.value = evaluate(option, valueProperty);\r\n }\r\n\r\n var text = evaluate(option, textProperty);\r\n var textNode = document.createTextNode(text);\r\n newOption.appendChild(textNode);\r\n element.appendChild(newOption);\r\n });\r\n\r\n \r\n ko.applyBindingsToNode(element, { event: { change: selectionChange } });\r\n\r\n \r\n var selectedDataSubscription = selectedData.subscribe(\r\n function (newValue)\r\n {\r\n if (!newValue)\r\n {\r\n return;\r\n }\r\n\r\n var type = typeof newValue;\r\n var isObject = type === \"object\";\r\n var isString = type === \"string\";\r\n\r\n \r\n if ((isObject && element.$data !== newValue) || (isString && element.value !== newValue))\r\n {\r\n \r\n for (var i = 0; i < element.options.length; i++)\r\n {\r\n var option = element.options[i];\r\n if ((isObject && option.$data === newValue) || (isString && option.value === newValue))\r\n {\r\n option.selected = true;\r\n\r\n \r\n element.$data = option.$data;\r\n return;\r\n }\r\n }\r\n }\r\n });\r\n\r\n (function (subscription)\r\n {\r\n ko.utils.domNodeDisposal.addDisposeCallback(\r\n element,\r\n function ()\r\n {\r\n \r\n subscription.dispose();\r\n });\r\n })(selectedDataSubscription);\r\n\r\n \r\n if (!selectedData.peek())\r\n {\r\n selectedData(element.options[0].value);\r\n element.$data = element.options[0].$data;\r\n }\r\n else\r\n {\r\n selectedData.valueHasMutated();\r\n }\r\n }\r\n };\r\n\r\n \r\n ko.bindingHandlers.hasFocusBasic =\r\n {\r\n init: ko.bindingHandlers.hasFocus.init,\r\n update: function (element, valueAccessor)\r\n {\r\n var value = ko.unwrap(valueAccessor());\r\n\r\n if (value)\r\n {\r\n element.focus();\r\n }\r\n else\r\n {\r\n element.blur();\r\n }\r\n }\r\n };\r\n};","var w = window;\r\n\r\nfunction StringRepository()\r\n{\r\n var _this = this;\r\n var _sources = {};\r\n\r\n _this.registerSource = function (sourceName, source)\r\n {\r\n _sources[sourceName] = _sources[sourceName] || [];\r\n _sources[sourceName].push(source);\r\n };\r\n\r\n _this.getStrings = function (sourceName, serverData)\r\n {\r\n var strings = {};\r\n var sources = _sources[sourceName] || [];\r\n\r\n for (var i = 0, length = sources.length; i < length; i++)\r\n {\r\n sources[i](strings, serverData);\r\n }\r\n\r\n return strings;\r\n };\r\n}\r\n\r\nw.StringRepository = module.exports = w.StringRepository || new StringRepository();","\r\n\r\nvar ko = require(\"knockout\");\r\nvar Helpers = require(\"../Core/Helpers\");\r\nvar BrandingHelpers = require(\"../Core/BrandingHelpers\");\r\nvar CanaryValidationHelper = require(\"../Core/CanaryValidationHelper\");\r\nvar Constants = require(\"../Core/Constants\");\r\nvar Browser = require(\"../Core/BrowserControl\");\r\nvar BrowserCapabilitiesHelper = require(\"../Core/BrowserCapabilitiesHelper\");\r\nvar BrowserSso = require(\"../Core/BrowserSso\");\r\nvar Promise = require(\"../Core/Promise\");\r\nvar GetCredentialTypeRequestHelper = require(\"../Core/GetCredentialTypeHelpers\");\r\nvar TileHelpers = require(\"../Core/TileHelpers\");\r\nvar Fido = require(\"../Core/Fido\");\r\nvar PromiseHelpers = require(\"../Core/PromiseHelpers\");\r\nvar ClientTracingHelper = require(\"../Core/ClientTracingHelper\").getInstance(window.ServerData);\r\nvar LoginConstants = require(\"./LoginConstants\");\r\nvar PaginationControlHelper = require(\"../Core/PaginationControlHelper\");\r\nvar StringCustomizationObservables = require(\"../Core/StringCustomizationObservables\");\r\n\r\nvar requireFedIcon = require.context(\"images\", false, /^.+\\/signin-.+\\.(png|svg)$/);\r\nvar Host = null;\r\nvar HostExtensions = null;\r\nvar BrandingLivePreviewFactory = null;\r\n\r\nif (!__IS_MSA__)\r\n{\r\n BrandingLivePreviewFactory = require(\"../Core/BrandingLivePreviewFactory\");\r\n}\r\n\r\nif (__IS_WEBWIZARD_ENABLED__ || __REQUIRE_WIZARD_IN_CORE__)\r\n{\r\n if (__REQUIRE_WIZARD_IN_CORE__)\r\n {\r\n Host = require(\"./WizardLoginHost\");\r\n }\r\n else\r\n {\r\n require.ensure([],\r\n function ()\r\n {\r\n Host = require(\"./WizardLoginHost\");\r\n },\r\n \"Wizard\");\r\n }\r\n}\r\nelse if (__IS_CXH_ENABLED__)\r\n{\r\n Host = require(\"./Win10LoginHost\");\r\n\r\n \r\n if (__IS_WINDOWS_AUTOPILOT_SUPPORTED__)\r\n {\r\n HostExtensions = require(\"./Win10AutopilotExtensionHost\");\r\n }\r\n}\r\nelse if (__IS_INCLUSIVE_OOBE__)\r\n{\r\n Host = require(\"./InclusiveWin10LoginHost.js\");\r\n\r\n \r\n if (__IS_WINDOWS_AUTOPILOT_SUPPORTED__)\r\n {\r\n HostExtensions = require(\"./Win10AutopilotExtensionHost\");\r\n }\r\n}\r\nelse if (__IS_XBOX__)\r\n{\r\n Host = require(\"../Core/XboxHost\");\r\n}\r\n\r\nvar w = window;\r\nvar Error = Constants.Error;\r\nvar EstsError = Constants.EstsError;\r\nvar StringHelpers = Helpers.String;\r\nvar ObjectHelpers = Helpers.Object;\r\nvar ErrorData = Helpers.ErrorData;\r\nvar LoginMode = Constants.LoginMode;\r\nvar PaginatedState = Constants.PaginatedState;\r\nvar CredentialType = Constants.CredentialType;\r\nvar AnimationState = Constants.AnimationState;\r\nvar AnimationName = Constants.AnimationName;\r\nvar StringCustomizationPageId = Constants.StringCustomizationPageId;\r\nvar BrowserHelper = Browser.Helper;\r\nvar QueryString = Browser.QueryString;\r\nvar Cookies = Browser.Cookies;\r\nvar GctResultAction = GetCredentialTypeRequestHelper.GctResultAction;\r\nvar GctRequestHelperFlags = GetCredentialTypeRequestHelper.GctRequestHelperFlags;\r\nvar CanaryValidationSuccessAction = CanaryValidationHelper.CanaryValidationSuccessAction;\r\nvar ExternalFederatedIdpType = Constants.ExternalFederatedIdpType;\r\n\r\nmodule.exports = function (serverData)\r\n{\r\n var _this = this;\r\n\r\n var c_fedCredButtonIdPrefix = \"fedCredButton\";\r\n var c_signupFedCredButtonIdPrefix = \"signupFedCredButton\";\r\n var c_signinOptions = \"signinOptions\";\r\n var c_signupOptions = \"signupOptions\";\r\n var c_signinQrCodePin = \"signinQrCodePin\";\r\n\r\n var _serverData = serverData;\r\n var _unseenSessions = [];\r\n var _gctRequestHelper = null;\r\n var _dialogs = {};\r\n var _initializationPromises = [];\r\n var _canaryValidationViewId = null;\r\n var _isSvgImageSupported = false;\r\n var _showDialogPromiseHandlers = null;\r\n var _brandingLivePreview = null;\r\n\r\n var _flowTokenOverride = ko.observable();\r\n var _showFedCredButtons = ko.observable(false);\r\n var _showSignupFedCredButtons = ko.observable(false);\r\n var _showQrCodeSignInButton = ko.observable(false);\r\n var _credShownOnlyOnPicker = ko.observable(false);\r\n var _customizationLoader = ko.observable(null);\r\n\r\n \r\n var _strings = _serverData.str;\r\n var _htmlStrings = _serverData.html;\r\n var _loginMode = _serverData.f;\r\n var _loginBody = _serverData.Ac;\r\n var _isForceSigninPost = _serverData.fPOST_ForceSignin;\r\n var _flowTokenTag = _serverData.sFTTag;\r\n var _flowTokenCookieName = _serverData.bV;\r\n var _originalRequest = _serverData.b;\r\n var _isCloudBuild = _serverData.A7;\r\n var _allowCancel = _serverData.d;\r\n var _postUrl = _serverData.urlPost;\r\n var _cancelUrl = _serverData.F;\r\n var _backUrl = _serverData.urlBack;\r\n var _resetPasswordUrl = _serverData.m;\r\n var _hipScriptUrl = _serverData.Aw;\r\n var _prefillUsername = _serverData.AF;\r\n var _signInUsername = _serverData.c;\r\n var _postedUsername = _serverData.G;\r\n var _ztdUpnHint = _serverData.ap;\r\n var _foundNames = _serverData.At || \"\";\r\n var _lockUsername = _serverData.g;\r\n var _errorText = _serverData.sErrTxt;\r\n var _validationErrors = _serverData.Q;\r\n var _prefixCookieDomainEnabled = _serverData.aA;\r\n var _staticTenantBranding = _serverData.staticTenantBranding;\r\n var _appCobranding = _serverData.C;\r\n var _backgroundImage = _serverData.B;\r\n var _resetPasswordUsernamePrefillParam = _serverData.sResetPasswordPrefillParam || \"mn\";\r\n var _rawQueryString = _serverData.Ag;\r\n var _sessions = _serverData.P;\r\n var _otherIdpRedirectUrl = _serverData.AI;\r\n var _otherIdpRedirectPostParams = _serverData.o;\r\n var _cancelPostParams = _serverData.AR;\r\n var _desktopSsoConfig = _serverData.desktopSsoConfig;\r\n var _getCredTypeResultFromServer = _serverData.As;\r\n var _postedPaginatedState = _serverData.am;\r\n var _postedSessionIdentifier = _serverData.bZ;\r\n var _postedEntropy = _serverData.bz;\r\n var _postedRngcDefaultType = _serverData.bY;\r\n var _postedIsSignupPost = _serverData.fPOST_IsSignupPost;\r\n var _fidoAllowList = _serverData.Az;\r\n var _promotedFedCredType = _serverData.aG;\r\n var _promotedFedCredTypes = _serverData.arrPromotedFedCredTypes || [];\r\n var _linkedInFedUrl = _serverData.w;\r\n var _gitHubFedUrl = _serverData.W;\r\n var _googleFedUrl = _serverData.Ai;\r\n var _facebookFedUrl = _serverData.Ah;\r\n var _enableCssAnimation = _serverData.Bf;\r\n var _proofConfirmation = _serverData.an;\r\n var _isFidoSupportedHint = !!_serverData.Am;\r\n var _needsExternalCanaryValidation = !!_serverData.aK;\r\n var _sessionPullType = _serverData.iSessionPullType;\r\n var _isDebugTracingEnabled = _serverData.fIsDebugTracingEnabled;\r\n var _detectBrowserCapabilities = _serverData.Be;\r\n var _isWriteWloptCookieDisallowed = _serverData.A8;\r\n var _otherIdpSignUpUrl = _serverData.aY;\r\n var _googleFedSignUpUrl = _serverData.Cb;\r\n var _facebookFedSignUpUrl = _serverData.Ca;\r\n var _isGlobalTenant = _serverData.isGlobalTenant;\r\n var _allowAutopilotProvisioningNavigation = _serverData.BC;\r\n var _showTilesAfterSessionPull = _serverData.fShowTilesAfterSessionPull;\r\n var _showSignup = _serverData.A0;\r\n var _signupUrl = _serverData.j;\r\n var _showSignInOptionsAsButton = _serverData.AO;\r\n var _showForgotUsernameLink = _serverData.Ao;\r\n var _showRemoteConnectLocationPage = _serverData.fShowRemoteConnectLocationPage;\r\n var _isRestrictedWsi = _serverData.fIsRestrictedWsi;\r\n var _enableUserStateFix = _serverData.A1;\r\n var _oidcDiscoveryEndpointFormatUrl = _serverData.AJ;\r\n var _defaultFaviconUrl = _serverData.D;\r\n var _livePreviewAllowedOrigins = _serverData.arrLivePreviewOrigins;\r\n var _shouldSupportTargetCredentialForRecovery = _serverData.fShouldSupportTargetCredentialForRecovery;\r\n var _currentTargetCredentialForRecovery = _serverData.iCurrentTargetCredentialForRecovery;\r\n var _isSelfServiceSignupUxEnabled = _serverData.An;\r\n var _usePromotedFedCredTypesArray = _serverData.aD;\r\n var _externalTrustedRealmFederatedIdps = _serverData.arrExternalTrustedRealmFederatedIdps || [];\r\n var _enableLivePreview = _serverData.fEnableLivePreview;\r\n var _viewId = _serverData.aI;\r\n var _samlAndOidcCompatibleUx = _serverData.fSamlAndOidcCompatibleUx;\r\n var _useWebviewFidoCustomProtocol = _serverData.fUseWebviewFidoCustomProtocol;\r\n var _isQrCodePinSupported = _serverData.fIsQrCodePinSupported;\r\n var _updateFacebookIcon = _serverData.fUpdateFacebookIcon;\r\n var _isDFPFingerprintingAllowed = _serverData.fEnableDFPIntegration;\r\n var _showPasskeyUCPError = _serverData.fShowPassKeyErrorUCP;\r\n var _canRedirectPasskeyError = _serverData.fPasskeyAssertionRedirect;\r\n \r\n\r\n \r\n _this.learnMore = null;\r\n _this.initialViewId = null;\r\n _this.currentViewId = null;\r\n _this.postCanaryValidationAction = null;\r\n _this.initialSharedData = {};\r\n _this.prefillNames = [];\r\n _this.agreementType = null;\r\n _this.asyncTileRequestCount = 0;\r\n _this.useCssAnimations = false;\r\n _this.sessionPullType = _sessionPullType;\r\n _this.isDebugTracingEnabled = _isDebugTracingEnabled;\r\n _this.showFedCredAndNewSession = true;\r\n\r\n _this.paginationControlMethods = ko.observable();\r\n _this.backgroundControlMethods = ko.observable();\r\n _this.learnMoreMethods = ko.observable();\r\n _this.instrumentationMethods = ko.observable();\r\n _this.footerMethods = ko.observable();\r\n _this.debugDetailsMethods = ko.observable();\r\n _this.asyncInitReady = ko.observable(false);\r\n _this.initializeComplete = ko.observable(false);\r\n _this.ctx = ko.observable();\r\n _this.postUrl = ko.observable();\r\n _this.userClickedCentipede = ko.observable(false);\r\n _this.pageSubmitted = ko.observable(false);\r\n _this.forceSubmit = ko.observable(false);\r\n _this.ariaHidden = ko.observable(false);\r\n _this.wasLearnMoreShown = ko.observable(false);\r\n _this.postRedirect = ko.observable();\r\n _this.postedLoginStateViewId = ko.observable();\r\n _this.postedLoginStateViewRNGCEntropy = ko.observable();\r\n _this.postedLoginStateViewRNGCDefaultType = ko.observable();\r\n _this.postedLoginStateViewRNGCSLK = ko.observable();\r\n _this.password = ko.observable();\r\n _this.isRequestPending = ko.observable(false);\r\n _this.showLightboxProgress = ko.observable(false);\r\n _this.bannerLogoUrl = ko.observable();\r\n _this.backgroundLogoUrl = ko.observable();\r\n _this.useDefaultBackground = ko.observable(false);\r\n _this.newSession = ko.observable();\r\n _this.fadeInLightBox = ko.observable(false);\r\n _this.activeDialog = ko.observable();\r\n _this.isFidoSupported = ko.observable(false).extend({ logValue: ClientTracingHelper.getPropertyLogOption(_this, { eventId: LoginConstants.ClientTracingEventIds.PropertyValue_LoginPaginatedPageView_IsFidoSupported, tracingChange: false }) });\r\n _this.showDebugDetails = ko.observable(false);\r\n _this.isSignupPost = ko.observable(false);\r\n _this.isRecoveryAttemptPost = ko.observable(false);\r\n _this.targetCredentialForRecovery = ko.observable();\r\n _this.loadBannerLogo = ko.observable(false);\r\n _this.availableCredsWithoutUsername = ko.observableArray([]);\r\n _this.paginationControlHelper = new PaginationControlHelper(_serverData, _this.paginationControlMethods, _this.backgroundLogoUrl);\r\n _this.livePreviewBranding = ko.observable();\r\n _this.isLoginPageHidden = ko.observable(false);\r\n _this.dfpUrl = ko.observable(null);\r\n _this.dfpResult = ko.observable(null);\r\n _this.stringCustomizationObservables = new StringCustomizationObservables(_customizationLoader);\r\n\r\n _this.animate = ko.utils.extend(ko.observable(AnimationName.None),\r\n {\r\n isSlideOutNext: ko.pureComputed(function () { return _this.animate() === AnimationName.SlideOutNext; }),\r\n isSlideInNext: ko.pureComputed(function () { return _this.animate() === AnimationName.SlideInNext; }),\r\n isSlideOutBack: ko.pureComputed(function () { return _this.animate() === AnimationName.SlideOutBack; }),\r\n isSlideInBack: ko.pureComputed(function () { return _this.animate() === AnimationName.SlideInBack; })\r\n });\r\n\r\n _this.flowToken = ko.pureComputed(\r\n function ()\r\n {\r\n \r\n \r\n return _flowTokenOverride() || _serverData.sFT;\r\n });\r\n\r\n _this.newSessionInfo = ko.pureComputed(\r\n function ()\r\n {\r\n if (_this.newSession())\r\n {\r\n var newSessionInfo = {};\r\n var newSession = _this.newSession();\r\n var unsafe_newSessionDisplayName = BrowserHelper.htmlUnescape(newSession.displayName);\r\n var unsafe_fullName = BrowserHelper.htmlUnescape(newSession.fullName);\r\n var unsafe_signedInFullName = newSession.isSignedIn && unsafe_fullName;\r\n\r\n if (unsafe_signedInFullName)\r\n {\r\n newSessionInfo.unsafe_newSessionFullName = unsafe_signedInFullName;\r\n newSessionInfo.unsafe_newSessionDisplayName = unsafe_newSessionDisplayName;\r\n }\r\n else\r\n {\r\n newSessionInfo.unsafe_newSessionFullName = unsafe_newSessionDisplayName;\r\n }\r\n\r\n return newSessionInfo;\r\n }\r\n\r\n return null;\r\n });\r\n\r\n _this.showFedCredButtons = ko.pureComputed(\r\n function ()\r\n {\r\n if (_this.useCssAnimations)\r\n {\r\n _this.animate(AnimationName.None);\r\n return _showFedCredButtons();\r\n }\r\n\r\n return _currentViewHasOtherSigninOptionButtons();\r\n });\r\n\r\n _this.showQrCodeSignInButton = _isQrCodePinSupported ? ko.pureComputed(\r\n function ()\r\n {\r\n if (_this.useCssAnimations)\r\n {\r\n _this.animate(AnimationName.None);\r\n return _showQrCodeSignInButton();\r\n }\r\n\r\n return _currentViewUsesQrCodeSigninOptionButtons();\r\n }) : false;\r\n\r\n _this.otherSigninOptions = ko.pureComputed(\r\n function ()\r\n {\r\n var credTypeArray = [];\r\n var otherSigninOptions = [];\r\n\r\n if (!_currentViewUsesOtherSigninOptionButtons() || _isRestrictedWsi)\r\n {\r\n return null;\r\n }\r\n\r\n if (_usePromotedFedCredTypesArray)\r\n {\r\n credTypeArray = credTypeArray.concat(_promotedFedCredTypes);\r\n }\r\n else\r\n {\r\n if (_promotedFedCredType)\r\n {\r\n credTypeArray.push(_promotedFedCredType);\r\n }\r\n }\r\n\r\n ko.utils.arrayForEach(\r\n credTypeArray,\r\n function (credType)\r\n {\r\n otherSigninOptions.push(_createFedCredButton(credType));\r\n });\r\n\r\n if (_samlAndOidcCompatibleUx)\r\n {\r\n ko.utils.arrayForEach(\r\n _externalTrustedRealmFederatedIdps,\r\n function (externalIdp)\r\n {\r\n if (externalIdp.Promoted)\r\n {\r\n otherSigninOptions.push(_createFedCredButton(externalIdp.IdpType, false, externalIdp));\r\n }\r\n });\r\n }\r\n\r\n var multipleSigninOptionsAvailable = _this.availableCredsWithoutUsername().length > 0 || _showForgotUsernameLink || _oidcDiscoveryEndpointFormatUrl;\r\n var showCredsOnlyOnPicker = _this.availableCredsWithoutUsername().length === 1 && _credShownOnlyOnPicker();\r\n\r\n if (_showSignInOptionsAsButton\r\n && (multipleSigninOptionsAvailable || showCredsOnlyOnPicker))\r\n {\r\n if (_usePromotedFedCredTypesArray)\r\n {\r\n otherSigninOptions.push(_createAdditionalCredOptionsButton());\r\n }\r\n else\r\n {\r\n otherSigninOptions.push(_createSigninOptionsButton());\r\n }\r\n }\r\n\r\n return otherSigninOptions;\r\n });\r\n\r\n _this.qrCodeSigninOption = _isQrCodePinSupported ? ko.pureComputed(_createSigninOptionsQrCodePinButton) : null;\r\n\r\n _this.showSignupFedCredButtons = ko.pureComputed(\r\n function ()\r\n {\r\n if (_this.useCssAnimations)\r\n {\r\n _this.animate(AnimationName.None);\r\n return _showSignupFedCredButtons();\r\n }\r\n\r\n return _currentViewHasOtherSignupOptionButtons();\r\n });\r\n\r\n _this.otherSignupOptions = ko.pureComputed(\r\n function ()\r\n {\r\n var credTypeArray = [];\r\n var otherSignupOptions = [];\r\n\r\n if (!_isSelfServiceSignupUxEnabled && !_currentViewUsesOtherSignupOptionButtons())\r\n {\r\n return null;\r\n }\r\n\r\n credTypeArray = credTypeArray.concat(_promotedFedCredTypes);\r\n\r\n ko.utils.arrayForEach(\r\n credTypeArray,\r\n function (credType)\r\n {\r\n otherSignupOptions.push(_createFedCredButton(credType, true));\r\n });\r\n\r\n\r\n if (_samlAndOidcCompatibleUx)\r\n {\r\n ko.utils.arrayForEach(\r\n _externalTrustedRealmFederatedIdps,\r\n function (externalIdp)\r\n {\r\n if (externalIdp.Promoted)\r\n {\r\n otherSignupOptions.push(_createFedCredButton(externalIdp.IdpType, true, externalIdp));\r\n }\r\n });\r\n }\r\n\r\n var multipleSignupOptionsAvailable = _getAvailableSignupCreds().length > 0;\r\n\r\n if (multipleSignupOptionsAvailable)\r\n {\r\n otherSignupOptions.push(_createAdditionalCredOptionsButton(true));\r\n }\r\n\r\n return otherSignupOptions;\r\n });\r\n\r\n _this.asyncInitReady = ko.pureComputed(\r\n function ()\r\n {\r\n return _this.stringCustomizationObservables.isCustomStringsLoadComplete() && _this.initializeComplete();\r\n });\r\n \r\n\r\n \r\n _this.dispose = function ()\r\n {\r\n if (!__IS_MSA__ && _brandingLivePreview)\r\n {\r\n _brandingLivePreview.removeListener(_setTenantBranding);\r\n }\r\n };\r\n\r\n _this.getServerError = function ()\r\n {\r\n var errorText = null;\r\n var remediationText = null;\r\n\r\n if (_errorText)\r\n {\r\n errorText = _errorText;\r\n }\r\n else if (_validationErrors && _validationErrors.length)\r\n {\r\n \r\n switch (_validationErrors[0])\r\n {\r\n case Error.EmptyFields:\r\n case Error.UsernameInvalid:\r\n case Error.PP_E_MISSING_MEMBERNAME:\r\n case Error.PP_E_NAME_INVALID:\r\n case Error.PP_E_EMAIL_RIGHT_TOO_LONG:\r\n case Error.PP_E_NAME_TOO_LONG:\r\n case Error.PP_E_INVALID_PHONENUMBER:\r\n case Error.PP_E_LIBPHONENUMBERINTEROP_NUMBERPARSE_EXCEPTION:\r\n errorText = _strings[\"CT_PWD_STR_Error_InvalidUsername\"];\r\n break;\r\n case Error.PP_E_EXCLUDED:\r\n errorText = _strings[\"CT_PWD_STR_SSSU_Error_InvalidEmailOrPassword\"] || _htmlStrings[\"CT_PWD_STR_Error_WrongCreds\"];\r\n break;\r\n case Error.PP_E_BAD_PASSWORD:\r\n case Error.PP_E_PREVIOUS_PASSWORD:\r\n case Error.PP_E_INVALID_MEMBERNAME:\r\n case Error.PP_E_DB_MEMBERDOESNOTEXIST:\r\n case Error.PP_E_PE_RULEFALSE:\r\n case EstsError.InvalidUserNameOrPassword:\r\n case EstsError.ProtectedKeyMisuse:\r\n case EstsError.InvalidPasswordExpiredPassword:\r\n case EstsError.UserAccountNotFound:\r\n case EstsError.UserAccountDeleted:\r\n case EstsError.UserAccountNotFoundNotConfiguredForRemoteNgc:\r\n case EstsError.UserAccountNotFoundFailedToCreateRemoteSignIn:\r\n case EstsError.UserUnauthorizedApiVersionNotSupported:\r\n case EstsError.UserUnauthorizedMsaGuestUsersNotSupported:\r\n case EstsError.InvalidTenantName:\r\n case EstsError.InvalidTenantNameEmptyGuidIdentifier:\r\n case EstsError.InvalidTenantNameEmptyIdentifier:\r\n case EstsError.InvalidTenantNameFormat:\r\n case EstsError.InvalidDomainName:\r\n errorText = _strings[\"CT_PWD_STR_SSSU_Error_InvalidEmailOrPassword\"] || _htmlStrings[_hipScriptUrl ? \"CT_IHL_STR_Error_WrongHip\" : \"CT_PWD_STR_Error_WrongCreds\"];\r\n break;\r\n case EstsError.UserAlreadyExists:\r\n errorText = _strings[\"CT_PWD_STR_SSSU_Error_EmailAccountExists\"];\r\n break;\r\n case EstsError.UserUnauthorized:\r\n errorText = _htmlStrings[\"CT_PWD_STR_Error_UsernameNotExist_Guest_SignupAllowed\"];\r\n break;\r\n case EstsError.InvalidPassword:\r\n errorText = _strings[\"CT_PWD_STR_Error_InvalidPassword\"];\r\n break;\r\n case Error.PP_E_OLD_SKYPE_PASSWORD:\r\n errorText = _strings[\"CT_IL_STR_Error_OldSkypePwd\"];\r\n break;\r\n case Error.PP_E_ALIAS_AUTH_NOTPERMITTED:\r\n errorText = _strings[\"CT_PWD_STR_Error_AliasNotAllowed\"];\r\n break;\r\n case Error.PP_E_FEDERATION_INLINELOGIN_DISALLOWED:\r\n errorText = _strings[\"CT_PWD_STR_Error_FedNotAllowed\"];\r\n break;\r\n case Error.PasswordEmpty:\r\n case Error.PP_E_MISSING_PASSWORD:\r\n case EstsError.InvalidPasswordNullPassword:\r\n errorText = _strings[\"CT_PWD_STR_Error_MissingPassword\"];\r\n break;\r\n case Error.PP_E_IDP_LINKEDIN_BINDING_NOT_ALLOWED:\r\n errorText = _strings[\"CT_STR_Error_FedUserNotFound_LinkedIn\"];\r\n break;\r\n case Error.PP_E_IDP_GOOGLE_BINDING_NOT_ALLOWED:\r\n errorText = _strings[\"CT_STR_Error_FedUserNotFound_Google\"];\r\n break;\r\n case Error.PP_E_IDP_GITHUB_BINDING_NOT_ALLOWED:\r\n errorText = _strings[\"CT_STR_Error_FedUserNotFound_GitHub\"];\r\n break;\r\n case Error.PP_E_OTT_DATA_INVALID:\r\n case Error.PP_E_OTT_ALREADY_CONSUMED:\r\n case Error.PP_E_OTT_INVALID_PURPOSE:\r\n case Error.PP_E_PPSA_RPT_NOTOADDRESS:\r\n case EstsError.InvalidOneTimePasscode:\r\n case EstsError.ExpiredOneTimePasscode:\r\n case EstsError.OneTimePasscodeCacheError:\r\n case EstsError.OneTimePasscodeEntryNotExist:\r\n case EstsError.InvalidOneTimePasscodeOTPNotGiven:\r\n case EstsError.PublicIdentifierSasEndCallNonRetriableError:\r\n case EstsError.PublicIdentifierSasEndCallRetriableError:\r\n errorText = _strings[\"CT_OTC_STR_Error_CodeIncorrect\"];\r\n break;\r\n case EstsError.FlowTokenExpired:\r\n errorText = _strings[\"CT_PWD_STR_Error_FlowTokenExpired\"];\r\n break;\r\n case EstsError.IdsLocked:\r\n errorText = _strings[\"CT_PWD_STR_SSSU_Error_AccountLocked\"] || _strings[\"CT_PWD_STR_Error_IdsLocked\"];\r\n break;\r\n case EstsError.UserDisabled:\r\n case EstsError.GuestUserDisabled:\r\n errorText = _strings[\"CT_PWD_STR_Error_UserDisabled\"];\r\n break;\r\n case EstsError.MissingCustomSigningKey:\r\n errorText = _strings[\"CT_PWD_STR_Error_MissingCustomSigningKey\"];\r\n break;\r\n case EstsError.BlockedAdalVersion:\r\n errorText = _strings[\"CT_PWD_STR_Error_BlockedAdalVersion\"];\r\n break;\r\n case EstsError.BlockedClientId:\r\n errorText = _strings[\"CT_PWD_STR_Error_BlockedClientId\"];\r\n break;\r\n case EstsError.UserAccountSelectionInvalid:\r\n errorText = _strings[\"CT_PWD_STR_Error_SelectedAccountInvalid\"];\r\n break;\r\n case EstsError.IdpLoopDetected:\r\n errorText = _strings[\"CT_PWD_STR_Error_IdpLoopDetected\"];\r\n break;\r\n case EstsError.InvalidPasswordLastPasswordUsed:\r\n errorText = _strings[\"CT_PWD_STR_Error_LastPasswordUsed\"];\r\n break;\r\n case EstsError.PhoneSignInBlockedByUserCredentialPolicy:\r\n errorText = _strings[\"STR_UserCredentialPolicy_Blocked\"];\r\n remediationText = _strings[\"STR_UserCredentialPolicy_Blocked_PhoneSignIn_Remediation\"];\r\n break;\r\n case EstsError.PublicIdentifierAuthUserNotAllowedByPolicy:\r\n errorText = _strings[\"STR_UserCredentialPolicy_Blocked\"];\r\n break;\r\n case EstsError.PasskeyAuthInterrupted:\r\n if (_canRedirectPasskeyError)\r\n {\r\n errorText = _strings[\"CT_FIDO_STR_Page_PasskeyError\"];\r\n }\r\n break;\r\n case EstsError.FidoBlockedByPolicy:\r\n if (_showPasskeyUCPError)\r\n {\r\n errorText = _strings[\"CT_FIDO_STR_Page_PasskeyError_NotMetCriteria\"];\r\n }\r\n else\r\n {\r\n errorText = _strings[\"STR_UserCredentialPolicy_Blocked\"];\r\n remediationText = _strings[\"STR_UserCredentialPolicy_Blocked_Fido_Remediation\"];\r\n }\r\n break;\r\n case EstsError.PasskeyBlockedByPolicyOtherPasskeyAvailable:\r\n errorText = _strings[\"CT_FIDO_STR_Page_PasskeyError_UseOtherPasskey\"];\r\n break;\r\n case EstsError.PasskeyBlockedByPolicyOtherAuthAppPasskeyAvailable:\r\n errorText = _strings[\"CT_FIDO_STR_Page_PasskeyError_NotMetCriteria_MSAuthenticator\"];\r\n break;\r\n case EstsError.UserAccountNotFoundForFidoSignIn:\r\n errorText = _strings[\"CT_FIDO_STR_Error_NotFound\"];\r\n break;\r\n case EstsError.AccessPassBlockedByPolicy:\r\n errorText = _strings[\"CT_PWD_STR_Error_AccessPassBlocked\"];\r\n break;\r\n case EstsError.InvalidAccessPass:\r\n errorText = _strings[\"CT_PWD_STR_Error_IncorrectAccessPass\"];\r\n break;\r\n case EstsError.AccessPassExpired:\r\n errorText = _strings[\"CT_PWD_STR_Error_AccessPassExpired\"];\r\n break;\r\n case EstsError.AccessPassAlreadyUsed:\r\n errorText = _strings[\"CT_PWD_STR_Error_AccessPassAlreadyUsed\"];\r\n break;\r\n case EstsError.CertificateValidationBlockedByPolicy:\r\n errorText = _strings[\"STR_CertBaseAuthPolicy_Block\"];\r\n break;\r\n case EstsError.InvalidCredentialDueToMfaClassification:\r\n case EstsError.ProofupBlockedDueToMfaClassification:\r\n errorText = _strings[\"STR_InvalidCredentialDueToMfaClassification\"];\r\n break;\r\n case EstsError.QrPinInvalid:\r\n errorText = _strings[\"CT_STR_QrCodePin_Signin_ErrorBadPin\"];\r\n break;\r\n case EstsError.InvalidGrantQrPinChanged:\r\n errorText = _strings[\"CT_STR_QrCodePin_Signin_ErrorExpiredPin\"];\r\n break;\r\n default:\r\n errorText = null;\r\n }\r\n }\r\n else if (_getCredTypeResultFromServer)\r\n {\r\n \r\n var gctResult = _gctRequestHelper.getResult(_this.initialSharedData.otherIdpRedirectUrl, _this.initialSharedData.displayName, _getCredTypeResultFromServer, false );\r\n\r\n if (gctResult.action === GctResultAction.ShowError)\r\n {\r\n errorText = gctResult.error;\r\n }\r\n }\r\n\r\n if (errorText)\r\n {\r\n return new ErrorData(errorText, remediationText);\r\n }\r\n\r\n return null;\r\n };\r\n \r\n\r\n \r\n _this.fetchSessions_onUpdateUserTiles = function (newSessions, tilesStateQuery)\r\n {\r\n setTimeout(function ()\r\n {\r\n \r\n \r\n _updateUserTiles(newSessions, tilesStateQuery);\r\n });\r\n };\r\n\r\n _this.fetchSessions_onIncrementAsyncTileRequestCount = function ()\r\n {\r\n _this.asyncTileRequestCount++;\r\n };\r\n\r\n _this.fetchSessions_onDecrementAsyncTileRequestCount = function ()\r\n {\r\n _this.asyncTileRequestCount--;\r\n };\r\n\r\n _this.fetchSessions_onExecuteGctResult = function ()\r\n {\r\n PromiseHelpers.throwUnhandledExceptionOnRejection(\r\n Promise.all(_initializationPromises).then(\r\n function ()\r\n {\r\n var gctResult = _gctRequestHelper.getResult(_this.initialSharedData.otherIdpRedirectUrl, BrowserHelper.htmlUnescape(_prefillUsername), _getCredTypeResultFromServer, _this.isFidoSupported());\r\n\r\n switch (gctResult.action)\r\n {\r\n case GctResultAction.ShowError:\r\n _this.paginationControlMethods().view_onSwitchView(PaginatedState.Username, true);\r\n break;\r\n\r\n case GctResultAction.SwitchView:\r\n _this.paginationControlMethods().view_onSwitchView(gctResult.viewId, true);\r\n break;\r\n\r\n case GctResultAction.Redirect:\r\n _this.view_onRedirect(\r\n {\r\n url: gctResult.redirectUrl,\r\n eventOptions:\r\n {\r\n eventId: gctResult.eventId\r\n }\r\n });\r\n break;\r\n }\r\n }));\r\n };\r\n\r\n _this.paginationControl_onCancel = function ()\r\n {\r\n if (_allowCancel && _cancelUrl)\r\n {\r\n var url = _cancelUrl;\r\n\r\n \r\n if (_signInUsername)\r\n {\r\n if (_cancelPostParams)\r\n {\r\n _cancelPostParams.username = _signInUsername;\r\n }\r\n else\r\n {\r\n url = QueryString.appendOrReplace(url, \"username\", _signInUsername);\r\n }\r\n }\r\n\r\n _this.view_onRedirect(url, _cancelPostParams);\r\n }\r\n else if (_backUrl)\r\n {\r\n _this.view_onSetPendingRequest(true);\r\n _navigateToUrl(_backUrl, true );\r\n }\r\n else if (Host && Host.handleOnFinalBack)\r\n {\r\n Host.handleOnFinalBack(_serverData);\r\n }\r\n };\r\n\r\n _this.view_onSubmitReady = function (useViewProgress)\r\n {\r\n var viewId = _this.paginationControlMethods().getCurrentViewId();\r\n var sharedData = _this.paginationControlMethods().getSharedData();\r\n\r\n _this.postedLoginStateViewRNGCDefaultType(sharedData.remoteNgcParams.defaultType);\r\n _this.postedLoginStateViewRNGCEntropy(sharedData.remoteNgcParams.entropy);\r\n _this.postedLoginStateViewRNGCSLK(sharedData.remoteNgcParams.sessionIdentifier);\r\n _this.isSignupPost(sharedData.isSignupPost);\r\n\r\n if (_shouldSupportTargetCredentialForRecovery)\r\n {\r\n _this.targetCredentialForRecovery(sharedData.targetCredentialForRecovery);\r\n }\r\n else\r\n {\r\n _this.isRecoveryAttemptPost(sharedData.isRecoveryAttemptPost);\r\n }\r\n\r\n \r\n if (viewId === PaginatedState.Hip)\r\n {\r\n viewId = PaginatedState.Password;\r\n }\r\n\r\n _this.postedLoginStateViewId(viewId);\r\n\r\n if (!_flowTokenOverride() && sharedData.flowToken)\r\n {\r\n \r\n _flowTokenOverride(sharedData.flowToken);\r\n }\r\n\r\n var userTrackerDestroy = (w.UserTracker || {}).destroy;\r\n if (userTrackerDestroy)\r\n {\r\n try\r\n {\r\n userTrackerDestroy();\r\n }\r\n catch (e) { }\r\n }\r\n\r\n _updateWLPerfCookie(_prefixCookieDomainEnabled);\r\n _this.instrumentationMethods().recordSubmit();\r\n _this.pageSubmitted(true);\r\n _this.forceSubmit(true);\r\n _this.isRequestPending(true);\r\n _this.showLightboxProgress(!useViewProgress);\r\n };\r\n\r\n _this.view_onRedirect = function (redirectData, postParams, isIdpRedirect, useViewProgress)\r\n {\r\n var parameters = { postParams: postParams, isIdpRedirect: isIdpRedirect, useViewProgress: useViewProgress };\r\n var url = ClientTracingHelper.logRedirection(redirectData, parameters);\r\n if (isIdpRedirect && _flowTokenCookieName && _this.flowToken())\r\n {\r\n \r\n \r\n Cookies.write(_flowTokenCookieName, _this.flowToken(), !_isCloudBuild, false, false, false, null, null, true);\r\n }\r\n\r\n if (postParams)\r\n {\r\n _this.postRedirect({ url: url, postParams: postParams });\r\n }\r\n else\r\n {\r\n _navigateToUrl(url);\r\n }\r\n\r\n _this.isRequestPending(true);\r\n _this.showLightboxProgress(!useViewProgress);\r\n };\r\n\r\n _this.view_onLoadView = function (viewId)\r\n {\r\n var loadViewPromise = _createLoadViewPromise(viewId);\r\n\r\n if (!loadViewPromise)\r\n {\r\n return null;\r\n }\r\n\r\n _this.view_onSetPendingRequest(true);\r\n\r\n return loadViewPromise.then(function ()\r\n {\r\n _this.view_onSetPendingRequest(false);\r\n });\r\n };\r\n\r\n _this.view_onShow = function (viewMetadata, viewId)\r\n {\r\n var tenantBranding;\r\n\r\n if (!_livePreviewAllowedOrigins)\r\n {\r\n tenantBranding = viewMetadata.dynamicBranding\r\n ? _this.paginationControlMethods().getSharedDataItem(\"userTenantBranding\")\r\n : BrandingHelpers.loadTenantBranding(_staticTenantBranding);\r\n\r\n _setTenantBranding(tenantBranding);\r\n }\r\n else if (_enableLivePreview)\r\n {\r\n tenantBranding = _this.livePreviewBranding();\r\n _setTenantBranding(tenantBranding);\r\n }\r\n\r\n if (viewId !== PaginatedState.Username)\r\n {\r\n \r\n _this.newSession(null);\r\n }\r\n\r\n if (_unseenSessions.length > 0)\r\n {\r\n if (viewId === PaginatedState.Username\r\n || viewId === PaginatedState.Tiles)\r\n {\r\n if (viewId === PaginatedState.Username)\r\n {\r\n \r\n \r\n _this.newSession(_unseenSessions[0]);\r\n }\r\n\r\n \r\n \r\n _unseenSessions = [];\r\n }\r\n }\r\n };\r\n\r\n _this.view_onRestoreIsRecoveryAttemptPost = function ()\r\n {\r\n if (_shouldSupportTargetCredentialForRecovery)\r\n {\r\n _this.paginationControlMethods().setSharedDataItem(\"targetCredentialForRecovery\", CredentialType.None);\r\n }\r\n else\r\n {\r\n _this.paginationControlMethods().setSharedDataItem(\"isRecoveryAttemptPost\", false);\r\n }\r\n };\r\n\r\n _this.view_onUpdateFlowToken = function (flowToken)\r\n {\r\n _flowTokenOverride(flowToken);\r\n _this.paginationControlMethods().setSharedDataItem(\"flowToken\", flowToken);\r\n };\r\n\r\n \r\n _this.view_onUpdateDFPUrl = function (dfpUrl)\r\n {\r\n if (_isDFPFingerprintingAllowed)\r\n {\r\n _this.dfpUrl(dfpUrl);\r\n }\r\n };\r\n\r\n _this.view_onUpdateAvailableCreds = function (availableCreds)\r\n {\r\n _this.availableCredsWithoutUsername(availableCreds);\r\n\r\n if (availableCreds.length === 1)\r\n {\r\n _credShownOnlyOnPicker(!!availableCreds[0].shownOnlyOnPicker);\r\n }\r\n };\r\n\r\n _this.view_onUpdateRemoteNgcParams = function (sessionIdentifier, entropy, defaultType)\r\n {\r\n var remoteNgcParams = _this.paginationControlMethods().getSharedDataItem(\"remoteNgcParams\");\r\n remoteNgcParams.sessionIdentifier = sessionIdentifier;\r\n remoteNgcParams.entropy = entropy;\r\n remoteNgcParams.defaultType = defaultType;\r\n };\r\n\r\n _this.view_onSetLightBoxFadeIn = function (fadeIn)\r\n {\r\n _this.fadeInLightBox(fadeIn);\r\n };\r\n\r\n _this.view_onSetPendingRequest = function (pending)\r\n {\r\n _this.isRequestPending(pending);\r\n _this.showLightboxProgress(pending);\r\n };\r\n\r\n _this.view_onSetLoginPageHiddenState = function (hidden)\r\n {\r\n _this.isLoginPageHidden(hidden || false);\r\n };\r\n\r\n _this.footer_agreementClick = function (agreementType)\r\n {\r\n _this.agreementType = agreementType;\r\n\r\n _this.paginationControlMethods().view_onSwitchView(PaginatedState.ViewAgreement);\r\n };\r\n\r\n _this.closeDebugDetails_onClick = function ()\r\n {\r\n _setDebugDetailsState(false);\r\n\r\n if (_this.footerMethods())\r\n {\r\n _this.footerMethods().setDebugDetailsState(false);\r\n }\r\n };\r\n\r\n _this.toggleDebugDetails_onClick = function ()\r\n {\r\n var toggledDebugDetailsState = !_this.showDebugDetails();\r\n\r\n _setDebugDetailsState(toggledDebugDetailsState, true);\r\n };\r\n\r\n _this.setDebugTracing_onClick = function ()\r\n {\r\n _this.isDebugTracingEnabled = !_this.isDebugTracingEnabled;\r\n };\r\n\r\n _this.learnMore_onShow = function ()\r\n {\r\n _this.ariaHidden(true);\r\n _this.wasLearnMoreShown(true);\r\n _this.learnMoreMethods().open();\r\n };\r\n\r\n _this.learnMore_onHide = function ()\r\n {\r\n _this.ariaHidden(false);\r\n _this.paginationControlMethods().setDefaultFocus();\r\n };\r\n\r\n _this.passwordView_onResetPassword = function (displayName)\r\n {\r\n _navigateToUrl(_updateMembernamePrefill(\r\n _resetPasswordUrl,\r\n _resetPasswordUsernamePrefillParam,\r\n displayName));\r\n\r\n _this.view_onSetPendingRequest(true);\r\n };\r\n\r\n _this.newSession_onClick = function ()\r\n {\r\n var session = _this.newSession();\r\n\r\n if (session.isOtherIdp)\r\n {\r\n var unsafe_username = StringHelpers.trim(session.displayName);\r\n\r\n \r\n var otherIdpRedirectUrl = QueryString.appendOrReplace(_this.initialSharedData.otherIdpRedirectUrl, \"username\", encodeURIComponent(unsafe_username));\r\n otherIdpRedirectUrl = QueryString.appendOrReplace(otherIdpRedirectUrl, \"login_hint\", encodeURIComponent(unsafe_username));\r\n\r\n var otherIdpRedirectPostParams = _otherIdpRedirectPostParams ? ObjectHelpers.clone(_otherIdpRedirectPostParams) : null;\r\n\r\n if (otherIdpRedirectPostParams)\r\n {\r\n otherIdpRedirectPostParams.username = unsafe_username;\r\n }\r\n\r\n _this.view_onRedirect(otherIdpRedirectUrl, otherIdpRedirectPostParams, true);\r\n }\r\n else if (session.isWindowsSso)\r\n {\r\n var browserSsoHelper = new BrowserSso(_serverData);\r\n\r\n PromiseHelpers.throwUnhandledExceptionOnRejection(\r\n browserSsoHelper.loginWindowsUserAsync(session.ssoLink)\r\n .then(null,\r\n function ()\r\n {\r\n \r\n return null;\r\n })\r\n .then(\r\n function (redirectUrl)\r\n {\r\n if (redirectUrl)\r\n {\r\n _this.view_onRedirect(redirectUrl);\r\n }\r\n }));\r\n }\r\n };\r\n\r\n _this.newSessionClose_onClick = function ()\r\n {\r\n _this.newSession(null);\r\n };\r\n\r\n _this.otherSigninOptionsButton_onClick = function (fedCredButton)\r\n {\r\n if (fedCredButton.testId === c_signinOptions)\r\n {\r\n _this.paginationControlMethods().setSharedDataItem(\"availableCreds\", _this.availableCredsWithoutUsername());\r\n\r\n if (_enableUserStateFix)\r\n {\r\n \r\n _this.paginationControlMethods().setSharedDataItem(\"useCredWithoutUsername\", true);\r\n }\r\n\r\n _this.paginationControlMethods().view_onSwitchView(PaginatedState.CredentialPicker);\r\n }\r\n else\r\n {\r\n if (_usePromotedFedCredTypesArray)\r\n {\r\n if (_samlAndOidcCompatibleUx)\r\n {\r\n _this.view_onRedirect(fedCredButton.redirectUrl, fedCredButton.redirectPostParams);\r\n }\r\n else\r\n {\r\n _this.view_onRedirect(fedCredButton.redirectUrl);\r\n }\r\n }\r\n else\r\n {\r\n _this.view_onRedirect(fedCredButton.signInUrl);\r\n }\r\n }\r\n };\r\n\r\n _this.otherSignupOptionsButton_onClick = function (fedCredButton)\r\n {\r\n if (fedCredButton.testId === c_signupOptions)\r\n {\r\n _this.paginationControlMethods().view_onSwitchView(PaginatedState.SignupCredentialPicker);\r\n }\r\n else\r\n {\r\n if (_samlAndOidcCompatibleUx)\r\n {\r\n _this.view_onRedirect(fedCredButton.redirectUrl, fedCredButton.redirectPostParams);\r\n }\r\n else\r\n {\r\n _this.view_onRedirect(fedCredButton.redirectUrl);\r\n }\r\n }\r\n };\r\n\r\n _this.qrCodePinSigninButton_onClick = function (qrCodePinButton)\r\n {\r\n if (qrCodePinButton.testId === c_signinQrCodePin)\r\n {\r\n _this.paginationControlMethods().view_onSwitchView(PaginatedState.QrCodeScan);\r\n }\r\n };\r\n\r\n _this.qrCodePinHelpButton_onClick = function ()\r\n {\r\n _this.view_onShowDialog(Constants.DialogId.QrCodePinHelp);\r\n };\r\n\r\n _this.paginationControl_onAnimationStateChange = function (animationState, animateBack, hasPreviousView)\r\n {\r\n var viewHasOtherSigninOptionButtons = _currentViewHasOtherSigninOptionButtons();\r\n var viewHasOtherSignupOptionButtons = _currentViewHasOtherSignupOptionButtons();\r\n var viewHasQrCodeSignInOptionButtons = _currentViewUsesQrCodeSigninOptionButtons();\r\n\r\n switch (animationState)\r\n {\r\n case AnimationState.Begin:\r\n if (_usePromotedFedCredTypesArray)\r\n {\r\n if ((viewHasOtherSigninOptionButtons || viewHasOtherSignupOptionButtons) && hasPreviousView)\r\n {\r\n _this.animate(animateBack ? AnimationName.SlideOutBack : AnimationName.SlideOutNext);\r\n }\r\n }\r\n else\r\n {\r\n if (viewHasOtherSigninOptionButtons && hasPreviousView)\r\n {\r\n _this.animate(animateBack ? AnimationName.SlideOutBack : AnimationName.SlideOutNext);\r\n }\r\n }\r\n break;\r\n\r\n case AnimationState.RenderNewView:\r\n _showFedCredButtons(false);\r\n _showQrCodeSignInButton(false);\r\n if (_usePromotedFedCredTypesArray)\r\n {\r\n _showSignupFedCredButtons(false);\r\n }\r\n break;\r\n\r\n case AnimationState.AnimateNewView:\r\n if (viewHasOtherSigninOptionButtons)\r\n {\r\n _showFedCredButtons(true);\r\n _this.animate(animateBack ? AnimationName.SlideInBack : AnimationName.SlideInNext);\r\n }\r\n if (_usePromotedFedCredTypesArray)\r\n {\r\n if (viewHasOtherSignupOptionButtons)\r\n {\r\n _showSignupFedCredButtons(true);\r\n _this.animate(animateBack ? AnimationName.SlideInBack : AnimationName.SlideInNext);\r\n }\r\n }\r\n if (viewHasQrCodeSignInOptionButtons)\r\n {\r\n _showQrCodeSignInButton(true);\r\n _this.animate(animateBack ? AnimationName.SlideInBack : AnimationName.SlideInNext);\r\n }\r\n break;\r\n\r\n case AnimationState.End:\r\n _showFedCredButtons(viewHasOtherSigninOptionButtons);\r\n if (_usePromotedFedCredTypesArray)\r\n {\r\n _showSignupFedCredButtons(viewHasOtherSignupOptionButtons);\r\n }\r\n _showQrCodeSignInButton(viewHasQrCodeSignInOptionButtons);\r\n _this.animate(AnimationName.None);\r\n break;\r\n }\r\n };\r\n\r\n _this.view_onRegisterDialog = function (dialogId, dialogInfo)\r\n {\r\n _dialogs[dialogId] = { templateNodes: dialogInfo.templateNodes, data: dialogInfo.data };\r\n };\r\n\r\n _this.view_onUnregisterDialog = function (dialogId)\r\n {\r\n delete _dialogs[dialogId];\r\n };\r\n\r\n _this.view_onShowDialog = function (dialogId)\r\n {\r\n _this.activeDialog(_dialogs[dialogId]);\r\n\r\n \r\n \r\n \r\n setTimeout(\r\n function ()\r\n {\r\n _this.activeDialog(_dialogs[dialogId]);\r\n }, 0);\r\n\r\n var showDialogPromise = new Promise(\r\n function (resolve)\r\n {\r\n _showDialogPromiseHandlers = { resolve: resolve };\r\n });\r\n\r\n return showDialogPromise;\r\n };\r\n\r\n _this.dialog_onClose = function ()\r\n {\r\n _this.activeDialog(null);\r\n\r\n _this.paginationControlMethods()\r\n .getCurrentView()\r\n .viewInterface\r\n .setDefaultFocus();\r\n\r\n if (_showDialogPromiseHandlers)\r\n {\r\n _showDialogPromiseHandlers.resolve();\r\n }\r\n };\r\n \r\n\r\n \r\n _this.dispose = function ()\r\n {\r\n \r\n if (HostExtensions && HostExtensions.removeEventListener && _allowAutopilotProvisioningNavigation)\r\n {\r\n HostExtensions.removeEventListener();\r\n }\r\n };\r\n\r\n function _updateTenantBrandingLivePreview(tenantBranding)\r\n {\r\n _this.livePreviewBranding(tenantBranding);\r\n _setTenantBranding(tenantBranding);\r\n }\r\n\r\n function _createLoadViewPromise(viewId)\r\n {\r\n if (__IS_OLD_WEBPACK__)\r\n {\r\n return null;\r\n }\r\n\r\n var lazyViewIds = [PaginatedState.Password, PaginatedState.QrCodePin, PaginatedState.ProofConfirmation, PaginatedState.OneTimeCode, PaginatedState.OneTimeCodeRecovery, PaginatedState.ConfirmSignup,\r\n PaginatedState.ConfirmRecoverUsername, PaginatedState.LearnMore, PaginatedState.ResetPasswordSplitter, PaginatedState.QrCodeScan, PaginatedState.RemoteNGC,\r\n PaginatedState.PhoneDisambiguation, PaginatedState.IdpDisambiguation, PaginatedState.IdpRedirect, PaginatedState.IdpRedirectSpeedbump,\r\n PaginatedState.ViewAgreement, PaginatedState.ConfirmSend, PaginatedState.CredentialPicker, PaginatedState.Fido,\r\n PaginatedState.FedConflict, PaginatedState.ProofFedConflict, PaginatedState.AadFedConflict, PaginatedState.FedLink,\r\n PaginatedState.RemoteConnectCanaryValidation, PaginatedState.FetchSessionsProgress, PaginatedState.Tiles, PaginatedState.LwaConsent,\r\n PaginatedState.Hip, PaginatedState.RemoteLoginPolling, PaginatedState.TenantDisambiguation, PaginatedState.SearchOrganization,\r\n PaginatedState.AccessPass, PaginatedState.SignupUsername, PaginatedState.SignupCredentialPicker, PaginatedState.LearnMoreOfflineAccount,\r\n PaginatedState.RemoteConnectLocation, PaginatedState.WebNativeBridge, PaginatedState.CertificateInterstitialView, PaginatedState.SignupBlocked, PaginatedState.VCPresentation];\r\n\r\n var matchedLazyViewId = ko.utils.arrayFirst(\r\n lazyViewIds,\r\n function (id)\r\n {\r\n return viewId === id;\r\n }\r\n );\r\n\r\n if (!matchedLazyViewId)\r\n {\r\n return null;\r\n }\r\n\r\n return new Promise(function (resolve)\r\n {\r\n switch (viewId)\r\n {\r\n case PaginatedState.Password:\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"./LoginPaginatedPasswordViewModel\");\r\n resolve();\r\n }, \"Password\");\r\n break;\r\n case PaginatedState.QrCodePin:\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"./LoginPaginatedQrCodePinViewModel\");\r\n resolve();\r\n }, \"QrCodePin\");\r\n break;\r\n\r\n case PaginatedState.ProofConfirmation:\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"./LoginProofConfirmationViewModel\");\r\n resolve();\r\n }, \"ProofConfirmation\");\r\n break;\r\n\r\n case PaginatedState.OneTimeCode:\r\n case PaginatedState.OneTimeCodeRecovery:\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"./LoginPaginatedOtcViewModel\");\r\n resolve();\r\n }, \"OneTimeCode\");\r\n break;\r\n\r\n case PaginatedState.ConfirmSignup:\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"./LoginConfirmSignupViewModel\");\r\n resolve();\r\n }, \"ConfirmSignup\");\r\n break;\r\n\r\n case PaginatedState.ConfirmRecoverUsername:\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"./LoginConfirmRecoverUsernameViewModel\");\r\n resolve();\r\n }, \"ConfirmRecoveryUsername\");\r\n break;\r\n\r\n case PaginatedState.LearnMore:\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"./LoginLearnMoreViewModel\");\r\n resolve();\r\n }, \"LearnMore\");\r\n break;\r\n\r\n case PaginatedState.ResetPasswordSplitter:\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"./LoginResetPasswordSplitterViewModel\");\r\n resolve();\r\n }, \"ResetPasswordSplitter\");\r\n break;\r\n case PaginatedState.QrCodeScan:\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"./LoginQrCodeScanViewModel\");\r\n resolve();\r\n }, \"QrCodeScan\");\r\n break;\r\n\r\n case PaginatedState.RemoteNGC:\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"./LoginRemoteNgcViewModel\");\r\n resolve();\r\n }, \"RemoteNgc\");\r\n break;\r\n\r\n case PaginatedState.PhoneDisambiguation:\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"./LoginPhoneDisambiguationViewModel\");\r\n resolve();\r\n }, \"PhoneDisambiguation\");\r\n break;\r\n\r\n case PaginatedState.IdpDisambiguation:\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"./LoginIdpDisambiguationViewModel\");\r\n resolve();\r\n }, \"IdpDisambiguation\");\r\n break;\r\n\r\n case PaginatedState.IdpRedirect:\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"./LoginIdpRedirectViewModel\");\r\n resolve();\r\n }, \"IdpRedirect\");\r\n break;\r\n\r\n case PaginatedState.IdpRedirectSpeedbump:\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"./LoginIdpRedirectSpeedbumpViewModel\");\r\n resolve();\r\n }, \"IdpRedirectSpeedbump\");\r\n break;\r\n\r\n case PaginatedState.ViewAgreement:\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"./LoginViewAgreementViewModel\");\r\n resolve();\r\n }, \"ViewAgreement\");\r\n break;\r\n\r\n case PaginatedState.ConfirmSend:\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"./LoginConfirmSendViewModel\");\r\n resolve();\r\n }, \"ConfirmSend\");\r\n break;\r\n\r\n case PaginatedState.CredentialPicker:\r\n case PaginatedState.SignupCredentialPicker:\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"./LoginCredentialPickerViewModel\");\r\n resolve();\r\n }, \"CredentialPicker\");\r\n break;\r\n\r\n case PaginatedState.Fido:\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"./LoginFidoViewModel\");\r\n resolve();\r\n }, \"Fido\");\r\n break;\r\n\r\n case PaginatedState.FedConflict:\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"./LoginFedConflictViewModel\");\r\n resolve();\r\n }, \"FedConflict\");\r\n break;\r\n\r\n case PaginatedState.ProofFedConflict:\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"./LoginProofFedConflictViewModel\");\r\n resolve();\r\n }, \"ProofFedConflict\");\r\n break;\r\n\r\n case PaginatedState.AadFedConflict:\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"./LoginAadFedConflictViewModel\");\r\n resolve();\r\n }, \"AadFedConflict\");\r\n break;\r\n\r\n case PaginatedState.FedLink:\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"./LoginFedLinkViewModel\");\r\n resolve();\r\n }, \"FedLink\");\r\n break;\r\n\r\n case PaginatedState.RemoteConnectCanaryValidation:\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"./RemoteConnectCanaryValidationViewModel\");\r\n resolve();\r\n }, \"RemoteConnectCanaryValidation\");\r\n break;\r\n\r\n case PaginatedState.RemoteConnectLocation:\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"./LoginRemoteConnectLocationViewModel\");\r\n resolve();\r\n }, \"RemoteConnectLocation\");\r\n break;\r\n\r\n case PaginatedState.FetchSessionsProgress:\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"./FetchSessionsProgressViewModel\");\r\n resolve();\r\n }, \"FetchSessionsProgress\");\r\n break;\r\n\r\n case PaginatedState.Tiles:\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"../Core/TilesViewModel\");\r\n resolve();\r\n }, \"Tiles\");\r\n break;\r\n\r\n case PaginatedState.LwaConsent:\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"./LoginPaginatedLwaConsentViewModel\");\r\n resolve();\r\n }, \"Alt\");\r\n break;\r\n\r\n case PaginatedState.Hip:\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"./LoginPaginatedHipViewModel\");\r\n resolve();\r\n }, \"Alt\");\r\n break;\r\n\r\n case PaginatedState.RemoteLoginPolling:\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"./LoginRemoteLoginPollingViewModel\");\r\n resolve();\r\n }, \"ESTSLogin_RemoteLoginPoll\");\r\n break;\r\n\r\n case PaginatedState.TenantDisambiguation:\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"./LoginTenantDisambiguationViewModel\");\r\n resolve();\r\n }, \"ESTSLogin_TenantDisambiguation\");\r\n break;\r\n\r\n case PaginatedState.AccessPass:\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"./LoginAccessPassViewModel\");\r\n resolve();\r\n }, \"ESTSLogin_AccessPass\");\r\n break;\r\n\r\n case PaginatedState.SignupUsername:\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"./LoginSignupUsernameViewModel\");\r\n resolve();\r\n }, \"ESTSLogin_SignupUsername\");\r\n break;\r\n\r\n case PaginatedState.SearchOrganization:\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"./SearchOrganizationViewModel\");\r\n resolve();\r\n }, \"ESTSLogin_SearchOrganization\");\r\n break;\r\n\r\n case PaginatedState.LearnMoreOfflineAccount:\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"./LoginViewLearnMoreOfflineAccountViewModel\");\r\n resolve();\r\n }, \"LearnMoreOfflineAccount\");\r\n break;\r\n\r\n case PaginatedState.WebNativeBridge:\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"../WebNativeBridge/WebNativeBridgeViewModel\");\r\n resolve();\r\n }, \"WebNativeBridge\");\r\n break;\r\n\r\n case PaginatedState.CertificateInterstitialView:\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"./LoginCertificateInterstitialViewModel\");\r\n resolve();\r\n }, \"CertificateInterstitial\");\r\n break;\r\n\r\n case PaginatedState.SignupBlocked:\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"./LoginSignupBlockedViewModel\");\r\n resolve();\r\n }, \"ESTSLogin_SignupBlocked\");\r\n break;\r\n\r\n case PaginatedState.VCPresentation:\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"./LoginVerifiableCredentialPresentationViewModel\");\r\n resolve();\r\n }, \"VCPresentation\");\r\n break;\r\n }\r\n });\r\n }\r\n\r\n function _updateUserTiles(newSessions, tilesStateQuery)\r\n {\r\n var paginationControlMethods = _this.paginationControlMethods();\r\n var currentView = paginationControlMethods.getCurrentView();\r\n\r\n var otherIdpRedirectUrl = paginationControlMethods.getSharedDataItem(\"otherIdpRedirectUrl\");\r\n otherIdpRedirectUrl = QueryString.add(otherIdpRedirectUrl, tilesStateQuery);\r\n paginationControlMethods.setSharedDataItem(\"otherIdpRedirectUrl\", otherIdpRedirectUrl);\r\n\r\n \r\n \r\n _unseenSessions = _unseenSessions.concat(TileHelpers.mergeSessions(paginationControlMethods.getSharedDataItem(\"sessions\"), newSessions));\r\n\r\n if (!currentView)\r\n {\r\n return;\r\n }\r\n\r\n \r\n if (_this.asyncTileRequestCount <= 0)\r\n {\r\n if (currentView.viewId === PaginatedState.Tiles)\r\n {\r\n \r\n currentView.viewInterface.addNewSessions(_unseenSessions);\r\n _unseenSessions = [];\r\n }\r\n else if (currentView.viewId === PaginatedState.Username)\r\n {\r\n \r\n \r\n if (!_this.newSession() && _unseenSessions.length > 0)\r\n {\r\n _this.newSession(_unseenSessions[0]);\r\n }\r\n\r\n _unseenSessions = [];\r\n }\r\n }\r\n }\r\n\r\n function _setDebugDetailsState(state, activateDebugDetailsFocus)\r\n {\r\n if (__IS_OLD_WEBPACK__)\r\n {\r\n _this.showDebugDetails(state);\r\n\r\n if (state && activateDebugDetailsFocus)\r\n {\r\n _activateDebugDetailsFocus();\r\n }\r\n }\r\n else\r\n {\r\n if (state)\r\n {\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"js/Core/DebugDetailsControlViewModel\");\r\n _this.showDebugDetails(true);\r\n\r\n if (activateDebugDetailsFocus)\r\n {\r\n _activateDebugDetailsFocus();\r\n }\r\n },\r\n \"DebugDetails\");\r\n }\r\n else\r\n {\r\n _this.showDebugDetails(false);\r\n }\r\n }\r\n\r\n if (!state && _this.footerMethods())\r\n {\r\n _this.footerMethods().focusMoreInfoLink();\r\n }\r\n }\r\n\r\n function _activateDebugDetailsFocus()\r\n {\r\n if (_this.debugDetailsMethods())\r\n {\r\n _this.debugDetailsMethods().activateFocus();\r\n }\r\n }\r\n\r\n function _handleCanaryValidationFailure(error)\r\n {\r\n if (!error || !error.confirmationViewId)\r\n {\r\n throw \"No view ID was specified to handle the canary validation failure.\";\r\n }\r\n\r\n _canaryValidationViewId = error.confirmationViewId;\r\n _this.postCanaryValidationAction = error.postConfirmationAction;\r\n }\r\n\r\n function _handleCanaryValidationSuccess(result)\r\n {\r\n _this.postCanaryValidationAction = result;\r\n }\r\n\r\n function _updateMembernamePrefill(rootUrl, queryParameter, currentUsername)\r\n {\r\n if (currentUsername)\r\n {\r\n return QueryString.appendOrReplace(rootUrl, queryParameter, encodeURIComponent(StringHelpers.trim(currentUsername)));\r\n }\r\n\r\n return rootUrl;\r\n }\r\n\r\n function _getPostUrl()\r\n {\r\n var url = _postUrl;\r\n\r\n \r\n if (_rawQueryString)\r\n {\r\n ko.utils.objectForEach(\r\n StringHelpers.doubleSplit(_rawQueryString, \"&\", \"=\"),\r\n function (key, value)\r\n {\r\n url = QueryString.addIfNotExist(url, key, value);\r\n });\r\n }\r\n\r\n return url;\r\n }\r\n\r\n function _updateWLPerfCookie(prefixCookieDomain)\r\n {\r\n \r\n \r\n try\r\n {\r\n var wlidperf = Cookies.getObject(\"wlidperf\");\r\n wlidperf[\"FR\"] = \"L\";\r\n wlidperf[\"ST\"] = new Date().getTime();\r\n\r\n Cookies.write(\"wlidperf\", wlidperf, true , true , true , prefixCookieDomain);\r\n }\r\n catch (exc)\r\n {\r\n }\r\n }\r\n\r\n function _extractFlowToken(html)\r\n {\r\n var token = \"\";\r\n\r\n try\r\n {\r\n var div = document.createElement(\"div\");\r\n div.innerHTML = html;\r\n\r\n if (div.childNodes.length > 0 && div.childNodes[0].value)\r\n {\r\n token = div.childNodes[0].value;\r\n }\r\n }\r\n catch (exc)\r\n {\r\n }\r\n\r\n return token;\r\n }\r\n\r\n function _currentViewUsesOtherSigninOptionButtons()\r\n {\r\n return _this.paginationControlMethods()\r\n && _this.paginationControlMethods().currentViewHasMetadata(\"showFedCredButton\")\r\n && !_isRestrictedWsi;\r\n }\r\n\r\n function _currentViewUsesQrCodeSigninOptionButtons()\r\n {\r\n return _isQrCodePinSupported\r\n && _this.paginationControlMethods()\r\n && _this.paginationControlMethods().currentViewHasMetadata(\"showQrCodeSignInButton\");\r\n }\r\n\r\n function _currentViewHasOtherSigninOptionButtons()\r\n {\r\n return _currentViewUsesOtherSigninOptionButtons() && (_this.otherSigninOptions() && _this.otherSigninOptions().length > 0);\r\n }\r\n\r\n function _currentViewUsesOtherSignupOptionButtons()\r\n {\r\n return _isSelfServiceSignupUxEnabled\r\n && _this.paginationControlMethods()\r\n && _this.paginationControlMethods().currentViewHasMetadata(\"showSignupFedCredButton\");\r\n }\r\n\r\n function _currentViewHasOtherSignupOptionButtons()\r\n {\r\n return _currentViewUsesOtherSignupOptionButtons() && (_this.otherSignupOptions() && _this.otherSignupOptions().length > 0);\r\n }\r\n\r\n function _setInitialSharedData(username, isFidoSupported)\r\n {\r\n var dynamicTenantBranding = BrandingHelpers.loadTenantBranding(_getCredTypeResultFromServer\r\n && _getCredTypeResultFromServer.EstsProperties\r\n && _getCredTypeResultFromServer.EstsProperties.UserTenantBranding);\r\n var staticTenantBranding = BrandingHelpers.loadTenantBranding(_staticTenantBranding);\r\n\r\n \r\n var mergedBranding = BrandingHelpers.getMergedBranding(staticTenantBranding, dynamicTenantBranding, _isGlobalTenant, !_getCredTypeResultFromServer);\r\n\r\n _this.initialSharedData =\r\n {\r\n username: StringHelpers.cleanseUsername(username),\r\n displayName: username,\r\n remoteNgcParams:\r\n {\r\n sessionIdentifier: _postedSessionIdentifier,\r\n entropy: _postedEntropy,\r\n defaultType: _postedRngcDefaultType\r\n },\r\n otcParams: {},\r\n fidoParams:\r\n {\r\n allowList: _fidoAllowList\r\n },\r\n hipRequiredForUsername: _hipScriptUrl ? StringHelpers.cleanseUsername(username) : \"\",\r\n sessions: _sessions || [],\r\n \r\n flowToken: _extractFlowToken(_serverData.sFT) || _serverData.sFT || _extractFlowToken(_flowTokenTag),\r\n userTenantBranding: mergedBranding || {},\r\n callMetadata: {},\r\n availableCreds: [],\r\n evictedCreds: [],\r\n otcCredential: {},\r\n showCredViewBrandingDesc: !!(_appCobranding && _appCobranding.showDescOnCredViews),\r\n \r\n \r\n unsafe_desktopSsoDomainToUse: _desktopSsoConfig && _desktopSsoConfig.startDesktopSsoOnPageLoad ? _desktopSsoConfig.hintedDomainName : null,\r\n isSignupPost: _postedIsSignupPost,\r\n otherIdpRedirectUrl: _otherIdpRedirectUrl,\r\n recoveryCredentialsData: {}\r\n };\r\n\r\n \r\n if (_getCredTypeResultFromServer)\r\n {\r\n \r\n \r\n var paginatedState = parseInt(_postedPaginatedState) || PaginatedState.Unknown;\r\n\r\n if (paginatedState === PaginatedState.OneTimeCode)\r\n {\r\n if (_getCredTypeResultFromServer.Credentials\r\n && _getCredTypeResultFromServer.Credentials.PrefCredential !== CredentialType.PublicIdentifierCode\r\n && _getCredTypeResultFromServer.Credentials.PrefCredential !== CredentialType.NoPreferredCredential)\r\n {\r\n _getCredTypeResultFromServer.Credentials.PrefCredential = CredentialType.OneTimeCode;\r\n }\r\n\r\n if (_proofConfirmation)\r\n {\r\n _this.initialSharedData.proofConfirmation = _proofConfirmation;\r\n }\r\n }\r\n\r\n var gctSharedData = _gctRequestHelper.getGctSharedData(_getCredTypeResultFromServer, isFidoSupported, false);\r\n\r\n _this.initialSharedData.preferredCredential = gctSharedData.preferredCredential;\r\n _this.initialSharedData.availableCreds = gctSharedData.availableCreds || [];\r\n _this.initialSharedData.evictedCreds = gctSharedData.evictedCreds || [];\r\n _this.initialSharedData.otcCredential = gctSharedData.otcCredential;\r\n _this.initialSharedData.otcParams = gctSharedData.otcParams;\r\n _this.initialSharedData.idpRedirectUrl = gctSharedData.fedRedirectParams.idpRedirectUrl;\r\n _this.initialSharedData.idpRedirectPostParams = gctSharedData.fedRedirectParams.idpRedirectPostParams;\r\n _this.initialSharedData.idpRedirectProvider = gctSharedData.fedRedirectParams.idpRedirectProvider;\r\n _this.initialSharedData.supportsNativeCredentialRecovery = gctSharedData.supportsNativeCredentialRecovery;\r\n }\r\n\r\n if (_shouldSupportTargetCredentialForRecovery)\r\n {\r\n _this.initialSharedData.targetCredentialForRecovery = _currentTargetCredentialForRecovery;\r\n }\r\n \r\n \r\n \r\n if (_loginMode === LoginMode.Signup\r\n || (_showSignup\r\n && !_signupUrl))\r\n {\r\n _this.initialSharedData.availableSignupCreds = _getAvailableSignupCreds();\r\n }\r\n }\r\n\r\n function _setInitialView(unsafe_username, isFidoSupported)\r\n {\r\n var forceSigninLoginModes = [LoginMode.ForceSignin, LoginMode.ForceSigninMobile, LoginMode.ForceSigninHost];\r\n var isForceSignin = ko.utils.arrayIndexOf(forceSigninLoginModes, _loginMode) !== -1 || _isForceSigninPost;\r\n var initialViewId = !isForceSignin && _sessions && _sessions.length ? PaginatedState.Tiles : PaginatedState.Username;\r\n var currentViewId = initialViewId;\r\n\r\n switch (_loginMode)\r\n {\r\n case LoginMode.LWAConsent:\r\n initialViewId = currentViewId = PaginatedState.LwaConsent;\r\n break;\r\n\r\n case LoginMode.Tiles:\r\n initialViewId = currentViewId = PaginatedState.Tiles;\r\n break;\r\n\r\n case LoginMode.FedConflict:\r\n initialViewId = currentViewId = PaginatedState.FedConflict;\r\n break;\r\n\r\n case LoginMode.ProofFedConflict:\r\n initialViewId = currentViewId = PaginatedState.ProofFedConflict;\r\n break;\r\n\r\n case LoginMode.AadFedConflict:\r\n initialViewId = currentViewId = PaginatedState.AadFedConflict;\r\n break;\r\n\r\n case LoginMode.FedLink:\r\n initialViewId = currentViewId = PaginatedState.FedLink;\r\n break;\r\n\r\n case LoginMode.Win10Host_HIP_Login:\r\n case LoginMode.Win10Host_HIP_Login_PhoneSignIn:\r\n initialViewId = currentViewId = PaginatedState.Password;\r\n break;\r\n\r\n case LoginMode.Fido:\r\n initialViewId = currentViewId = PaginatedState.Fido;\r\n break;\r\n\r\n case LoginMode.UserCredentialPolicyBlocked:\r\n case LoginMode.CredentialPicker:\r\n initialViewId = currentViewId = PaginatedState.CredentialPicker;\r\n break;\r\n\r\n case LoginMode.FedBoundLink:\r\n currentViewId = PaginatedState.FedLink;\r\n break;\r\n\r\n case LoginMode.Signup:\r\n currentViewId = _this.initialSharedData.availableSignupCreds.length > 0\r\n ? PaginatedState.SignupCredentialPicker\r\n : PaginatedState.SignupUsername;\r\n break;\r\n\r\n case LoginMode.SignupBlocked:\r\n currentViewId = PaginatedState.SignupBlocked;\r\n break;\r\n\r\n case LoginMode.QrCodePin:\r\n currentViewId = PaginatedState.QrCodeScan;\r\n break;\r\n\r\n default:\r\n \r\n var paginatedState = parseInt(_postedPaginatedState) || PaginatedState.Unknown;\r\n\r\n \r\n \r\n if (_isQrCodePinSupported && paginatedState === PaginatedState.QrCodePin)\r\n {\r\n currentViewId = PaginatedState.QrCodeScan;\r\n }\r\n else if (paginatedState !== PaginatedState.Unknown\r\n && paginatedState !== PaginatedState.FetchSessionsProgress)\r\n {\r\n currentViewId = paginatedState;\r\n }\r\n else if (_getCredTypeResultFromServer)\r\n {\r\n var gctResult = _gctRequestHelper.getResult(_this.initialSharedData.otherIdpRedirectUrl, unsafe_username, _getCredTypeResultFromServer, isFidoSupported);\r\n if (_isDFPFingerprintingAllowed && gctResult.sharedData && gctResult.sharedData.V)\r\n {\r\n _this.dfpUrl(gctResult.sharedData.V);\r\n }\r\n\r\n switch (gctResult.action)\r\n {\r\n case GctResultAction.ShowError:\r\n if (_loginMode === LoginMode.FetchSessionsProgress)\r\n {\r\n currentViewId = PaginatedState.FetchSessionsProgress;\r\n }\r\n else\r\n {\r\n \r\n currentViewId = initialViewId;\r\n }\r\n\r\n break;\r\n\r\n case GctResultAction.SwitchView:\r\n ko.utils.extend(_this.initialSharedData, ko.utils.extend(gctResult.sharedData, gctResult.viewParams || {}));\r\n\r\n if (_loginMode === LoginMode.FetchSessionsProgress)\r\n {\r\n currentViewId = PaginatedState.FetchSessionsProgress;\r\n }\r\n else\r\n {\r\n currentViewId = gctResult.viewId;\r\n }\r\n\r\n break;\r\n\r\n case GctResultAction.Redirect:\r\n if (_loginMode !== LoginMode.FetchSessionsProgress || !_showTilesAfterSessionPull)\r\n {\r\n _this.view_onRedirect(\r\n {\r\n url: gctResult.redirectUrl,\r\n eventOptions:\r\n {\r\n eventId: gctResult.eventId\r\n }\r\n },\r\n gctResult.redirectPostParams,\r\n gctResult.isIdpRedirect);\r\n break;\r\n }\r\n }\r\n }\r\n else if (_loginMode === LoginMode.FetchSessionsProgress)\r\n {\r\n if (serverData.fEnableBackButtonBugFix)\r\n {\r\n initialViewId = currentViewId = PaginatedState.FetchSessionsProgress;\r\n }\r\n else\r\n {\r\n currentViewId = PaginatedState.FetchSessionsProgress;\r\n }\r\n }\r\n else if (_postedUsername && _this.getServerError())\r\n {\r\n \r\n currentViewId = PaginatedState.Username;\r\n }\r\n\r\n \r\n \r\n \r\n \r\n if (_prefillUsername || isForceSignin || _lockUsername || _ztdUpnHint)\r\n {\r\n initialViewId = currentViewId;\r\n }\r\n else if (_postedIsSignupPost)\r\n {\r\n \r\n initialViewId = PaginatedState.SignupUsername;\r\n }\r\n break;\r\n }\r\n\r\n if (_showRemoteConnectLocationPage)\r\n {\r\n initialViewId = currentViewId = PaginatedState.RemoteConnectLocation;\r\n }\r\n\r\n if (_enableLivePreview)\r\n {\r\n initialViewId = currentViewId = _viewId;\r\n }\r\n\r\n _this.initialViewId = initialViewId;\r\n _this.currentViewId = currentViewId;\r\n }\r\n\r\n function _initializeWithFidoSupportedResult(isFidoSupported, unsafe_username)\r\n {\r\n _this.isFidoSupported(isFidoSupported);\r\n _setInitialSharedData(unsafe_username, isFidoSupported);\r\n _setInitialView(unsafe_username, isFidoSupported);\r\n\r\n if (Host && Host.logEvent)\r\n {\r\n Host.logEvent(\"Identity.Fido.Supported\", isFidoSupported);\r\n\r\n if (isFidoSupported)\r\n {\r\n _logPlatformAuthenticatorAvailable();\r\n }\r\n }\r\n }\r\n\r\n function _logPlatformAuthenticatorAvailable()\r\n {\r\n PromiseHelpers.throwUnhandledExceptionOnRejection(\r\n Fido.isPlatformAuthenticatorAvailable(_useWebviewFidoCustomProtocol)\r\n .then(null, function () { return false; })\r\n .then(\r\n function (isPlatformAuthenticatorAvailable)\r\n {\r\n Host.logEvent(\"Identity.Fido.PlatformAuthenticatorAvailable\", isPlatformAuthenticatorAvailable);\r\n }));\r\n }\r\n\r\n function _getFedProviderIconImageName(providerName, useLight)\r\n {\r\n return StringHelpers.format(\r\n \"./signin-{0}{1}.{2}\",\r\n providerName,\r\n useLight ? \"-white\" : \"\",\r\n _isSvgImageSupported ? \"svg\" : \"png\");\r\n }\r\n\r\n function _getExternalIdpIconImageName(externalIdp, useLight)\r\n {\r\n switch (externalIdp.IdpType)\r\n {\r\n case ExternalFederatedIdpType.Google:\r\n return _getFedProviderIconImageName(\"google\", false);\r\n\r\n case ExternalFederatedIdpType.Facebook:\r\n return _getFedProviderIconImageName(\"fluent-facebook\", false);\r\n\r\n case ExternalFederatedIdpType.Apple:\r\n return _getFedProviderIconImageName(\"apple\", useLight);\r\n\r\n default:\r\n return _getFedProviderIconImageName(\"externalidp\", false);\r\n }\r\n }\r\n\r\n function _createFedCredButton(fedCredButtonCredType, isSignup, externalIdp)\r\n {\r\n var fedCredButton = {};\r\n var text = null;\r\n var signInUrl = null;\r\n var redirectUrl = null;\r\n var redirectPostParams = null;\r\n var lightIconUrl = null;\r\n var darkIconUrl = null;\r\n\r\n switch (fedCredButtonCredType)\r\n {\r\n case CredentialType.LinkedIn:\r\n text = _strings[\"CT_PWD_STR_UseLinkedIn_Link\"];\r\n signInUrl = _linkedInFedUrl;\r\n redirectUrl = _linkedInFedUrl;\r\n lightIconUrl = requireFedIcon(_getFedProviderIconImageName(\"linkedin\", true));\r\n darkIconUrl = requireFedIcon(_getFedProviderIconImageName(\"linkedin\", false));\r\n break;\r\n\r\n case CredentialType.GitHub:\r\n text = _strings[\"CT_PWD_STR_UseGitHub_Link\"];\r\n signInUrl = _gitHubFedUrl;\r\n redirectUrl = _gitHubFedUrl;\r\n lightIconUrl = requireFedIcon(_getFedProviderIconImageName(\"github\", true));\r\n darkIconUrl = requireFedIcon(_getFedProviderIconImageName(\"github\", false));\r\n break;\r\n\r\n case CredentialType.Google:\r\n text = isSignup ? _strings[\"CT_STR_SignupCred_UseGoogle\"] : _strings[\"CT_PWD_STR_UseGoogle_Link\"];\r\n redirectUrl = isSignup ? _googleFedSignUpUrl : _googleFedUrl;\r\n lightIconUrl = darkIconUrl = requireFedIcon(_getFedProviderIconImageName(\"google\", false));\r\n break;\r\n\r\n case CredentialType.Facebook:\r\n text = isSignup ? _strings[\"CT_STR_SignupCred_UseFacebook\"] : _strings[\"CT_PWD_STR_UseFacebook_Link\"];\r\n redirectUrl = isSignup ? _facebookFedSignUpUrl : _facebookFedUrl;\r\n lightIconUrl = darkIconUrl = _updateFacebookIcon ? requireFedIcon(_getFedProviderIconImageName(\"fluent-facebook\"), false) : requireFedIcon(\"./signin-facebook.png\");\r\n break;\r\n\r\n default:\r\n \r\n if (_samlAndOidcCompatibleUx && externalIdp)\r\n {\r\n text = StringHelpers.format(isSignup ? _strings[\"CT_STR_SignupCred_UseExternalIdp\"] : _strings[\"CT_PWD_STR_UseExternalIdp_Link\"], externalIdp.DisplayName);\r\n redirectUrl = isSignup ? externalIdp.IdpSignUpUrl : externalIdp.IdpSignInUrl;\r\n redirectPostParams = isSignup ? externalIdp.SignUpPostParams : externalIdp.SignInPostParams;\r\n lightIconUrl = requireFedIcon(_getExternalIdpIconImageName(externalIdp, true));\r\n darkIconUrl = requireFedIcon(_getExternalIdpIconImageName(externalIdp, false));\r\n }\r\n else\r\n {\r\n externalIdp = ko.utils.arrayFirst(\r\n _externalTrustedRealmFederatedIdps,\r\n function (idp)\r\n {\r\n return fedCredButtonCredType === idp.IdpType;\r\n });\r\n\r\n if (externalIdp)\r\n {\r\n text = StringHelpers.format(isSignup ? _strings[\"CT_STR_SignupCred_UseExternalIdp\"] : _strings[\"CT_PWD_STR_UseExternalIdp_Link\"], externalIdp.DisplayName);\r\n redirectUrl = isSignup ? externalIdp.IdpSignUpUrl : externalIdp.IdpSignInUrl;\r\n lightIconUrl = darkIconUrl = requireFedIcon(_getFedProviderIconImageName(\"apple\", false));\r\n }\r\n }\r\n break;\r\n }\r\n\r\n fedCredButton =\r\n {\r\n text: text,\r\n signInUrl: signInUrl,\r\n redirectUrl: redirectUrl,\r\n redirectPostParams: redirectPostParams,\r\n lightIconUrl: lightIconUrl,\r\n darkIconUrl: darkIconUrl,\r\n credType: fedCredButtonCredType,\r\n testId: (isSignup ? c_signupFedCredButtonIdPrefix : c_fedCredButtonIdPrefix) + fedCredButtonCredType\r\n };\r\n\r\n return fedCredButton;\r\n }\r\n\r\n function _createSigninOptionsButton()\r\n {\r\n return {\r\n text: _strings[\"CT_PWD_STR_SwitchToCredPicker_Link_NoUser\"],\r\n lightIconUrl: requireFedIcon(_getFedProviderIconImageName(\"options\", true)),\r\n darkIconUrl: requireFedIcon(_getFedProviderIconImageName(\"options\", false)),\r\n testId: c_signinOptions\r\n };\r\n }\r\n\r\n function _createAdditionalCredOptionsButton(isSignup)\r\n {\r\n return {\r\n text: isSignup ? _strings[\"CT_STR_SignupCredPicker_Title\"] : _strings[\"CT_PWD_STR_SwitchToCredPicker_Link_NoUser\"],\r\n lightIconUrl: requireFedIcon(_getFedProviderIconImageName(\"options\", true)),\r\n darkIconUrl: requireFedIcon(_getFedProviderIconImageName(\"options\", false)),\r\n testId: isSignup ? c_signupOptions : c_signinOptions\r\n };\r\n }\r\n\r\n function _createSigninOptionsQrCodePinButton()\r\n {\r\n return {\r\n text: _strings[\"CT_STR_QrCodePin_Signin_ButtonText\"],\r\n lightIconUrl: requireFedIcon(_getFedProviderIconImageName(\"qrpin\", true)),\r\n darkIconUrl: requireFedIcon(_getFedProviderIconImageName(\"qrpin\", false)),\r\n testId: c_signinQrCodePin,\r\n showHelpIcon: true,\r\n helpText: _strings[\"CT_STR_QrCodePin_Signin_EmployerDescription\"],\r\n showPreviewBadge: true\r\n };\r\n }\r\n\r\n function _getAvailableSignupCreds()\r\n {\r\n if (_usePromotedFedCredTypesArray)\r\n {\r\n var isGooglePromotedFedCredType = _promotedFedCredTypes.indexOf(CredentialType.Google) >= 0;\r\n var isFacebookPromotedFedCredType = _promotedFedCredTypes.indexOf(CredentialType.Facebook) >= 0;\r\n\r\n var availableSignupCreds = [].concat(\r\n _otherIdpSignUpUrl\r\n ? { credType: CredentialType.OtherMicrosoftIdpFederation, redirectUrl: _otherIdpSignUpUrl } : [],\r\n _googleFedSignUpUrl && !isGooglePromotedFedCredType\r\n ? { credType: CredentialType.Google, redirectUrl: _googleFedSignUpUrl } : [],\r\n _facebookFedSignUpUrl && !isFacebookPromotedFedCredType\r\n ? { credType: CredentialType.Facebook, redirectUrl: _facebookFedSignUpUrl } : []);\r\n\r\n if (_samlAndOidcCompatibleUx)\r\n {\r\n ko.utils.arrayForEach(\r\n _externalTrustedRealmFederatedIdps,\r\n function (externalIdp)\r\n {\r\n if (!externalIdp.Promoted)\r\n {\r\n availableSignupCreds.push(\r\n {\r\n credType: externalIdp.IdpType,\r\n redirectUrl: externalIdp.IdpSignUpUrl,\r\n redirectPostParams: externalIdp.SignUpPostParams,\r\n displayName: externalIdp.DisplayName,\r\n isExternalFederatedIdp: true\r\n });\r\n }\r\n });\r\n }\r\n else\r\n {\r\n ko.utils.arrayForEach(\r\n _externalTrustedRealmFederatedIdps,\r\n function (externalIdp)\r\n {\r\n var idpType = externalIdp.IdpType;\r\n\r\n if (_promotedFedCredTypes.indexOf(idpType) < 0)\r\n {\r\n availableSignupCreds.push({ credType: idpType, redirectUrl: externalIdp.IdpSignUpUrl });\r\n }\r\n });\r\n }\r\n\r\n return availableSignupCreds;\r\n }\r\n\r\n return [].concat(\r\n _otherIdpSignUpUrl\r\n ? { credType: CredentialType.OtherMicrosoftIdpFederation, redirectUrl: _otherIdpSignUpUrl } : [],\r\n _googleFedSignUpUrl\r\n ? { credType: CredentialType.Google, redirectUrl: _googleFedSignUpUrl } : [],\r\n _facebookFedSignUpUrl\r\n ? { credType: CredentialType.Facebook, redirectUrl: _facebookFedSignUpUrl } : []);\r\n }\r\n\r\n function _navigateToUrl(url, replaceHistory)\r\n {\r\n if (replaceHistory)\r\n {\r\n document.location.replace(url);\r\n }\r\n else\r\n {\r\n document.location.assign(url);\r\n }\r\n }\r\n\r\n \r\n function _DFP_iFrame_onMessage(event)\r\n {\r\n if (_isDFPFingerprintingAllowed && _this.dfpUrl())\r\n {\r\n \r\n \r\n if (!event || !StringHelpers.doOriginsMatch(_this.dfpUrl(), event.origin))\r\n {\r\n return;\r\n }\r\n\r\n var dfpData = null;\r\n var dfpResponse = event.data;\r\n var dfpPrefix = Constants.DFPPrefix;\r\n if (dfpResponse && typeof dfpResponse === \"string\" && dfpResponse !== \"\")\r\n {\r\n var index = dfpResponse.indexOf(dfpPrefix);\r\n if (index === 0)\r\n {\r\n dfpData = dfpResponse.substring(dfpPrefix.length);\r\n _this.dfpResult(dfpData);\r\n }\r\n else\r\n {\r\n \r\n return;\r\n }\r\n }\r\n }\r\n }\r\n\r\n function _setTenantBranding(tenantBranding)\r\n {\r\n BrandingHelpers.updateMergedBrandingObservables(_this, tenantBranding);\r\n BrandingHelpers.updateFavicon(tenantBranding, _defaultFaviconUrl);\r\n\r\n if (__CUSTOMIZATION_LOADER_ENABLED__)\r\n {\r\n BrandingHelpers.createCustomizationLoader(_serverData, tenantBranding);\r\n }\r\n\r\n var branding = BrandingHelpers.getPageBranding(tenantBranding, _appCobranding, _backgroundImage);\r\n if (_this.backgroundControlMethods())\r\n {\r\n _this.backgroundControlMethods().updateBranding(branding);\r\n }\r\n\r\n _this.bannerLogoUrl(branding.bannerLogoUrl);\r\n _this.backgroundLogoUrl(branding.backgroundLogoUrl);\r\n _this.useDefaultBackground(branding.useDefaultBackground);\r\n _this.loadBannerLogo(_this.paginationControlHelper.showLogo());\r\n }\r\n\r\n (function _initialize()\r\n {\r\n BrandingHelpers.createMergedBrandingObservables(_this);\r\n\r\n if (!__IS_MSA__ && _livePreviewAllowedOrigins)\r\n {\r\n _brandingLivePreview = BrandingLivePreviewFactory.getInstance(_livePreviewAllowedOrigins);\r\n _brandingLivePreview.addListener(_updateTenantBrandingLivePreview);\r\n }\r\n\r\n if (_isDFPFingerprintingAllowed)\r\n {\r\n BrowserHelper.addEventListener(w, \"message\", _DFP_iFrame_onMessage);\r\n }\r\n\r\n if (__CUSTOMIZATION_LOADER_ENABLED__)\r\n {\r\n var tenantBranding = BrandingHelpers.loadTenantBranding(_staticTenantBranding);\r\n BrandingHelpers.createCustomizationLoader(_serverData, tenantBranding, _customizationLoader, StringCustomizationPageId.LoginPage);\r\n }\r\n\r\n _isSvgImageSupported = BrowserHelper.isSvgImgSupported();\r\n\r\n \r\n if (_detectBrowserCapabilities)\r\n {\r\n var browserCapabilitiesHelper = new BrowserCapabilitiesHelper();\r\n browserCapabilitiesHelper.writeCookie();\r\n }\r\n\r\n _gctRequestHelper = new GetCredentialTypeRequestHelper(\r\n _serverData,\r\n GctRequestHelperFlags.DisableDesktopSsoPreferredCred\r\n | GctRequestHelperFlags.DisableAutoSend\r\n | GctRequestHelperFlags.IsPostRequest);\r\n\r\n var prefillNames = _foundNames ? _foundNames.split(\",\") : [];\r\n var unsafe_username = BrowserHelper.htmlUnescape(\r\n _postedUsername\r\n || _signInUsername\r\n || _prefillUsername\r\n || _ztdUpnHint\r\n || \"\");\r\n\r\n prefillNames.sort();\r\n _this.prefillNames = _this.prefillNames.concat(ko.utils.arrayMap(prefillNames, BrowserHelper.htmlUnescape));\r\n _this.useCssAnimations = _enableCssAnimation && BrowserHelper.isCSSAnimationSupported();\r\n\r\n \r\n if (Host && Host.handleClearPassword)\r\n {\r\n Host.handleClearPassword();\r\n }\r\n\r\n _this.ctx(_originalRequest);\r\n _this.postUrl(_getPostUrl());\r\n\r\n \r\n \r\n \r\n \r\n\r\n var initializeWithFidoPromise = BrowserHelper.isFidoSupportedAsync(_isFidoSupportedHint, _useWebviewFidoCustomProtocol)\r\n .then(\r\n function (isFidoSupported) { _initializeWithFidoSupportedResult(isFidoSupported, unsafe_username); },\r\n function () { _initializeWithFidoSupportedResult(false, unsafe_username); });\r\n\r\n _initializationPromises.push(initializeWithFidoPromise);\r\n\r\n _initializationPromises.push(ClientTracingHelper.createLoadClientTracingPromise());\r\n\r\n \r\n var canaryValidationHelper = new CanaryValidationHelper(serverData);\r\n\r\n if (_needsExternalCanaryValidation)\r\n {\r\n _this.view_onSetPendingRequest(true);\r\n var canaryValidationPromise = canaryValidationHelper.validateAsync()\r\n .then(_handleCanaryValidationSuccess, _handleCanaryValidationFailure);\r\n\r\n _initializationPromises.push(canaryValidationPromise);\r\n }\r\n\r\n if (!_isWriteWloptCookieDisallowed && _loginBody)\r\n {\r\n var credType = StringHelpers.format(\"[{0}]\", _loginBody);\r\n var wlopt = Cookies.getObject(\"WLOpt\");\r\n\r\n var act = wlopt[\"act\"] || \"\";\r\n if (act.indexOf(credType) === -1)\r\n {\r\n act += credType;\r\n }\r\n\r\n wlopt[\"act\"] = act;\r\n Cookies.write(\"WLOpt\", wlopt, false, true);\r\n }\r\n\r\n var subscription = _this.asyncInitReady.subscribe(\r\n function (value)\r\n {\r\n if (value)\r\n {\r\n var browserSsoHelper = new BrowserSso(_serverData);\r\n\r\n if (browserSsoHelper.isEnabled())\r\n {\r\n _this.asyncTileRequestCount++;\r\n\r\n PromiseHelpers.throwUnhandledExceptionOnRejection(\r\n browserSsoHelper.pullBrowserSsoCookieAsync()\r\n .then(null,\r\n function ()\r\n {\r\n \r\n return null;\r\n })\r\n .then(\r\n function (result)\r\n {\r\n _this.asyncTileRequestCount--;\r\n\r\n result = result || {};\r\n\r\n if (result.newSessions)\r\n {\r\n _updateUserTiles(TileHelpers.parseBssoSessions(result.newSessions));\r\n }\r\n else if (result.redirectUrl)\r\n {\r\n _navigateToUrl(result.redirectUrl, true );\r\n }\r\n else\r\n {\r\n \r\n _updateUserTiles([]);\r\n }\r\n }));\r\n }\r\n\r\n subscription.dispose();\r\n }\r\n });\r\n\r\n if (Host && Host.initialize)\r\n {\r\n Host.initialize();\r\n }\r\n\r\n \r\n if (HostExtensions && HostExtensions.addEventListener && _allowAutopilotProvisioningNavigation)\r\n {\r\n HostExtensions.addEventListener();\r\n }\r\n\r\n PromiseHelpers.throwUnhandledExceptionOnRejection(\r\n Promise.all(_initializationPromises)\r\n .then(\r\n function ()\r\n {\r\n if (_this.postCanaryValidationAction)\r\n {\r\n if (_this.postCanaryValidationAction.action === CanaryValidationSuccessAction.SwitchView)\r\n {\r\n \r\n _this.postCanaryValidationAction.viewId = _this.currentViewId;\r\n }\r\n\r\n if (_canaryValidationViewId)\r\n {\r\n \r\n \r\n \r\n _this.initialViewId = _this.currentViewId = _canaryValidationViewId;\r\n }\r\n else if (_this.postCanaryValidationAction.action === CanaryValidationSuccessAction.Redirect)\r\n {\r\n \r\n _this.view_onRedirect(_this.postCanaryValidationAction.redirectUrl, _this.postCanaryValidationAction.redirectPostParams, _this.postCanaryValidationAction.isIdpRedirect);\r\n }\r\n }\r\n\r\n _this.view_onSetPendingRequest(false);\r\n\r\n \r\n ClientTracingHelper.setPageViewModel(_this);\r\n\r\n _this.initializeComplete(true);\r\n }));\r\n })();\r\n \r\n};","var map = {\n\t\"./0-small.jpg\": 76,\n\t\"./0.jpg\": 77,\n\t\"./1-small.jpg\": 78,\n\t\"./1.jpg\": 79,\n\t\"./2-small.jpg\": 80,\n\t\"./2.jpg\": 81,\n\t\"./2.svg\": 82,\n\t\"./3.jpg\": 83,\n\t\"./3.svg\": 84\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 75;","module.exports = __webpack_public_path__ + \"content/images/backgrounds/0-small_380cedf8c7a693dca062a9823f836931.jpg\";","module.exports = __webpack_public_path__ + \"content/images/backgrounds/0_0758511e5c58ee74c0dce85535012acf.jpg\";","module.exports = __webpack_public_path__ + \"content/images/backgrounds/1-small_9051dd4c2265a7d1638893551bbfdbea.jpg\";","module.exports = __webpack_public_path__ + \"content/images/backgrounds/1_8c490b887821dad5a3d0a4c3c23e68eb.jpg\";","module.exports = __webpack_public_path__ + \"content/images/backgrounds/2-small_2055002f2daae2ed8f69f03944c0e5d9.jpg\";","module.exports = __webpack_public_path__ + \"content/images/backgrounds/2_6ffe0a92d779c878835b40171ffc2e13.jpg\";","module.exports = __webpack_public_path__ + \"content/images/backgrounds/2_11d9e3bcdfede9ce5ce5ace2d129f1c4.svg\";","module.exports = __webpack_public_path__ + \"content/images/backgrounds/3_6dd318cbb1ecefc6cb8c97e266529d27.jpg\";","module.exports = __webpack_public_path__ + \"content/images/backgrounds/3_14dac81de7cff440337e4719b2fc0585.svg\";","var map = {\n\t\"./0-small.jpg\": 86,\n\t\"./0.jpg\": 87,\n\t\"./1-small.jpg\": 88,\n\t\"./1.jpg\": 89,\n\t\"./10-small.jpg\": 90,\n\t\"./10.jpg\": 91,\n\t\"./11-small.jpg\": 92,\n\t\"./11.jpg\": 93,\n\t\"./13-small.jpg\": 94,\n\t\"./13.jpg\": 95,\n\t\"./14-small.jpg\": 96,\n\t\"./14.jpg\": 97,\n\t\"./15-small.jpg\": 98,\n\t\"./15.jpg\": 99,\n\t\"./16-small.jpg\": 100,\n\t\"./16.jpg\": 101,\n\t\"./17-small.jpg\": 102,\n\t\"./17.jpg\": 103,\n\t\"./18-small.jpg\": 104,\n\t\"./18.jpg\": 105,\n\t\"./19-small.jpg\": 106,\n\t\"./19.jpg\": 107,\n\t\"./2-small.jpg\": 108,\n\t\"./2.jpg\": 109,\n\t\"./20-small.jpg\": 110,\n\t\"./20.jpg\": 111,\n\t\"./21-small.jpg\": 112,\n\t\"./21.jpg\": 113,\n\t\"./22-small.jpg\": 114,\n\t\"./22.jpg\": 115,\n\t\"./23-small.jpg\": 116,\n\t\"./23.jpg\": 117,\n\t\"./24-small.jpg\": 118,\n\t\"./24.jpg\": 119,\n\t\"./25-small.jpg\": 120,\n\t\"./25.jpg\": 121,\n\t\"./26-small.jpg\": 122,\n\t\"./26.jpg\": 123,\n\t\"./27-small.jpg\": 124,\n\t\"./27.jpg\": 125,\n\t\"./28-small.jpg\": 126,\n\t\"./28.jpg\": 127,\n\t\"./29-small.jpg\": 128,\n\t\"./29.jpg\": 129,\n\t\"./3-small.jpg\": 130,\n\t\"./3.jpg\": 131,\n\t\"./30-small.jpg\": 132,\n\t\"./30.jpg\": 133,\n\t\"./31-small.jpg\": 134,\n\t\"./31.jpg\": 135,\n\t\"./32-small.jpg\": 136,\n\t\"./32.jpg\": 137,\n\t\"./33-small.jpg\": 138,\n\t\"./33.jpg\": 139,\n\t\"./34-small.jpg\": 140,\n\t\"./34.jpg\": 141,\n\t\"./35-small.jpg\": 142,\n\t\"./35.jpg\": 143,\n\t\"./36-small.jpg\": 144,\n\t\"./36.jpg\": 145,\n\t\"./37-small.jpg\": 146,\n\t\"./37.jpg\": 147,\n\t\"./38-small.jpg\": 148,\n\t\"./38.jpg\": 149,\n\t\"./39-small.jpg\": 150,\n\t\"./39.jpg\": 151,\n\t\"./4-small.jpg\": 152,\n\t\"./4.jpg\": 153,\n\t\"./40-small.jpg\": 154,\n\t\"./40.jpg\": 155,\n\t\"./41-small.jpg\": 156,\n\t\"./41.jpg\": 157,\n\t\"./42-small.jpg\": 158,\n\t\"./42.jpg\": 159,\n\t\"./43-small.jpg\": 160,\n\t\"./43.jpg\": 161,\n\t\"./44-small.jpg\": 162,\n\t\"./44.jpg\": 163,\n\t\"./45-small.jpg\": 164,\n\t\"./45.jpg\": 165,\n\t\"./46-small.jpg\": 166,\n\t\"./46.jpg\": 167,\n\t\"./47-small.jpg\": 168,\n\t\"./47.jpg\": 169,\n\t\"./48-small.jpg\": 170,\n\t\"./48.jpg\": 171,\n\t\"./49-small.jpg\": 172,\n\t\"./49.jpg\": 173,\n\t\"./5-small.jpg\": 174,\n\t\"./5.jpg\": 175,\n\t\"./50-small.jpg\": 176,\n\t\"./50.jpg\": 177,\n\t\"./51-small.jpg\": 178,\n\t\"./51.jpg\": 179,\n\t\"./52-small.jpg\": 180,\n\t\"./52.jpg\": 181,\n\t\"./53-small.jpg\": 182,\n\t\"./53.jpg\": 183,\n\t\"./54-small.jpg\": 184,\n\t\"./54.jpg\": 185,\n\t\"./55-small.jpg\": 186,\n\t\"./55.jpg\": 187,\n\t\"./56-small.jpg\": 188,\n\t\"./56.jpg\": 189,\n\t\"./57-small.jpg\": 190,\n\t\"./57.jpg\": 191,\n\t\"./58-small.jpg\": 192,\n\t\"./58.jpg\": 193,\n\t\"./59-small.jpg\": 194,\n\t\"./59.jpg\": 195,\n\t\"./6-small.jpg\": 196,\n\t\"./6.jpg\": 197,\n\t\"./60-small.jpg\": 198,\n\t\"./60.jpg\": 199,\n\t\"./61-small.jpg\": 200,\n\t\"./61.jpg\": 201,\n\t\"./62-small.jpg\": 202,\n\t\"./62.jpg\": 203,\n\t\"./63-small.jpg\": 204,\n\t\"./63.jpg\": 205,\n\t\"./64-small.jpg\": 206,\n\t\"./64.jpg\": 207,\n\t\"./65-small.jpg\": 208,\n\t\"./65.jpg\": 209,\n\t\"./66-small.jpg\": 210,\n\t\"./66.jpg\": 211,\n\t\"./67-small.jpg\": 212,\n\t\"./67.jpg\": 213,\n\t\"./68-small.jpg\": 214,\n\t\"./68.jpg\": 215,\n\t\"./69-small.jpg\": 216,\n\t\"./69.jpg\": 217,\n\t\"./7-small.jpg\": 218,\n\t\"./7.jpg\": 219,\n\t\"./70-small.jpg\": 220,\n\t\"./70.jpg\": 221,\n\t\"./71-small.jpg\": 222,\n\t\"./71.jpg\": 223,\n\t\"./72-small.jpg\": 224,\n\t\"./72.jpg\": 225,\n\t\"./73-small.jpg\": 226,\n\t\"./73.jpg\": 227,\n\t\"./74-small.jpg\": 228,\n\t\"./74.jpg\": 229,\n\t\"./75-small.jpg\": 230,\n\t\"./75.jpg\": 231,\n\t\"./76-small.jpg\": 232,\n\t\"./76.jpg\": 233,\n\t\"./77-small.jpg\": 234,\n\t\"./77.jpg\": 235,\n\t\"./78-small.jpg\": 236,\n\t\"./78.jpg\": 237,\n\t\"./79-small.jpg\": 238,\n\t\"./79.jpg\": 239,\n\t\"./8-small.jpg\": 240,\n\t\"./8.jpg\": 241,\n\t\"./9-small.jpg\": 242,\n\t\"./9.jpg\": 243\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 85;","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/0-small_5d4456e6c77ecc776c7720cee0cef2a5.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/0_7fcf2bcda37e36f25865973c74f22a96.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/1-small_39e8b5b6ebf077db6fa4277f43db3bfb.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/1_586654bfc4439d17f33b8b0c0b5cda25.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/10-small_254152bf6053210ee2c66bab72871378.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/10_f30a8d58b4eb9fbeba84308e5baf3f3e.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/11-small_cd72f7e5d54c59759694726861a30a50.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/11_a7524b8738e0ed99a7febda78f103cf3.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/13-small_a6eb2d7a422339edeeac9d2d71954306.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/13_0c0d2a5f3c5e9f7e11f0eb52df83f635.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/14-small_49e2419c2aa8e314e00c9b515d80b87b.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/14_19ef2544df978559954b976999f5c4f2.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/15-small_00eef12db8bf39049253d8059df50aba.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/15_81ca72c521ca7243acfbe98f409d2121.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/16-small_2b7ceefb73ce060053e835d6a0ad4c8e.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/16_9c6d0bfb0de9b3db6baff2bef2647d5e.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/17-small_425d73ab282445204ed617ff7a5aa851.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/17_c0767b2b240fe906dfc1425b0cd9714a.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/18-small_9bde7ccd7b116e796caf52a162c5536b.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/18_c3e14fbf8d731bbef9c70d84e772087a.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/19-small_115e402596bc896ac251646d83843940.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/19_3ceac68634542865075613539fc7598b.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/2-small_4437ac8ec06a0c35839a168f82a01ad8.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/2_0174ec19f4cbcfb33dabd21d0dc83fd4.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/20-small_8e7dfddb9910379a9eb38d77696343ed.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/20_0a6aabc80662384eb3ac03a2a773e35a.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/21-small_648f360fee281b1886f9a6d10ae919c5.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/21_b8956410ca04a509596f3886dd9bc2eb.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/22-small_1857eebddd7e24bb6edfe023facff58c.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/22_41d5893d0c9277368f67bdad036a793a.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/23-small_057fd08982df21bea3d92f31022c42bc.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/23_1aa83b9ef7cd4250daa5b6560c9b3789.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/24-small_99231374f8d49a32dc9ece30f66c6d0d.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/24_08d78abf593a051422ca94472f764c8c.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/25-small_b59a6fe48096a3701481af7c9fcd0020.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/25_22d52af7fcf1098512ad1418ed684797.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/26-small_9d578106328400096a0b056ba58396d9.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/26_581a0884d9c40d2e4ebdcbbad7aa4cdf.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/27-small_ce5eb0a282aa7434f8c029caf72bd891.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/27_460eb6af9d88d4edd18cf36b840c5b8f.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/28-small_d6527ab852f628aca2a13e9c5bf2e612.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/28_6bea45e16fba06af69920550a31b0855.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/29-small_9301ca7573ae678fdc911e560c610d3a.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/29_0f2bdb1dec5d555fb4797931e9953912.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/3-small_52983a500cff6b9b638c0f338679d4aa.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/3_3c5b78a61e8d4cff7dd49c68e1488d89.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/30-small_91ebaa63b966ea4907c8c594ad15a898.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/30_0191cc145fa29340c75e649c6e2418ac.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/31-small_9eda353df627ac44dac6766a79e4db11.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/31_3a4b6f777029f1370049d3ff9a95134e.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/32-small_c049ee82c631ebe1490975fcd05c4b3c.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/32_bee6b9fa76f4957237ac71baa9e9cd80.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/33-small_380cedf8c7a693dca062a9823f836931.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/33_0758511e5c58ee74c0dce85535012acf.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/34-small_aef9023405c0c213c56769d1d01a81a2.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/34_6243d715d2813f6bb01624233a590107.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/35-small_a8cb2087dbd0bd38cdfe053739c7f0d1.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/35_75de42d7117245312438569f4d8697ae.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/36-small_2d19c7bf9a9e9eeb493042395279b9c7.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/36_52ce6d30d180cb205d3cc8e9db07d36d.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/37-small_16fcbeec959a3ff8622437e2e9e2f94d.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/37_9246170513f917976b99fcaa7a0a082b.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/38-small_d750036cf3a6ce6ab787c332c6fb07cb.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/38_061eb332a2535203df16e60359ed4f9a.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/39-small_11cd33c0692d7358c9eb42d4f6726820.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/39_2df26c0be76b3a923777b76121448d43.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/4-small_2dbb4ab2440427ea802d21b89f61ee60.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/4_6d6e7191ec15ba6fdc16322d5dce5047.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/40-small_01c35e3806e6731909b11c6f297b0f38.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/40_576eefdeddab31bce15b4eca3f0c9214.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/41-small_accffa3b9c16f6cb82e22b6eb3c1146c.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/41_68ed05d009ffad8e4d4ae0004ed4445b.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/42-small_81b7fea2e3319ff966e79becd7bc471f.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/42_ce4bf834c819d41ec7b40f73f8d8ea7d.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/43-small_587f1dd89028101ffe198ed7276d4ac8.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/43_3975cb2a5adcc170a4b9c1cdda5c15c0.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/44-small_aef0872bdcd4af34783ae157abf7ff03.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/44_a42ad27f0f4330ebd32e356381e27f96.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/45-small_5d8c11ff20130bce0d101aa48c20ff3d.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/45_af497d2cd04e90e7d8c1f3afa7582aa5.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/46-small_8484f4bd6d6d8e77e963a66014ec2fb1.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/46_7083009d0fac287724255892c8de465a.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/47-small_9051dd4c2265a7d1638893551bbfdbea.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/47_8c490b887821dad5a3d0a4c3c23e68eb.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/48-small_cfba65618c6ecb74e7a3e84f65a785ef.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/48_b2861e33a41805b7d6bbed5d3da103c7.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/49-small_2055002f2daae2ed8f69f03944c0e5d9.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/49_6ffe0a92d779c878835b40171ffc2e13.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/5-small_3c2ee0e954b269c527534bfd929ade23.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/5_c68eac4299cf3f5807f0b5c3e153dfe8.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/50-small_7bca530cc88e697e486e074b1bf5fbe6.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/50_3085cc4e48212ba80508d89e4a375fa5.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/51-small_3878aa04ae188bb343c312268bdac818.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/51_63295a11719580c46a2c64d3e807fb3c.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/52-small_f21bff12e587ea14b736303bd01b7d98.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/52_a7d00b349e0d828926ad38ae8701f987.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/53-small_13599146e6ea127104726b119d909562.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/53_9d2658335b67a86dc7c32bb88cc70614.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/54-small_185b1ed48f0762ab412c80e5a6619c68.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/54_eb7f0f3350f2b16ac18cbdda1fad6839.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/55-small_9e2f458c4985fb5619b7a7f3175a3f9a.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/55_6fae2ef56a16620324e4849e8e5d623a.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/56-small_d82390c739bec2c3f68587277a5385e4.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/56_c76bd1a6f84c24f24690cd72d7be2eea.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/57-small_a23115889fdeb57d0a0639226f6a09ec.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/57_cd639d0f6a0124297bde62f2cb0dbc8c.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/58-small_88b89b4ef6453e9cdfe485ce70b1a2b8.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/58_9104c93a82f2f5911a35dd28e29b2a3c.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/59-small_67fb0648eef2c7d6dc63666e1a3e83d8.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/59_2f94fd546b2a37bdbecf8d82f306847f.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/6-small_48d4dbb57dbe1f73b3c22a0b3dab5f71.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/6_00c6fbca93a96d66b2a86cbbf2cba710.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/60-small_69245258d328bb225eeced459d831f93.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/60_c1b99679fe087e00fe861fdeb08627c9.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/61-small_757f90ffadf80a036dda3bf394904670.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/61_13fe3fcc35fa61db0a9fe8a68dbb2cc6.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/62-small_c6af465b4d81a3d2c45a3d87ac4a8e43.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/62_77659a542cadf70c85bcb2a430cc50a5.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/63-small_7dd8b9a27a3dc83ab961bb30e4463e1a.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/63_0b47ebca221588da4b14dc4549a71e02.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/64-small_1808852e76ec90e46db4000c5892d28b.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/64_c5b0045f959cb71dd7409aeb46440f4a.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/65-small_5bfbc2032395a0e3aae25d482704b018.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/65_691236e9d2daca22e08e8f1ad965722b.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/66-small_5450fadad556161f8d74829ec5978c39.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/66_45562e1e9f34fe6c71981f4fff28ca18.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/67-small_321fc5184e6bf174aa3c73618cf8bd34.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/67_7ed93d7f51ae2a0d60456b38a31cac17.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/68-small_8ae3b94876b9f83d96006967028aae97.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/68_08b26936ef97646b6c9252569e99295b.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/69-small_9969ee59764b981ad7c44b29158735ad.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/69_9731eff061c0513218508860336abdb0.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/7-small_3a814db86e1898ada2246666cf999f8e.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/7_73e6edf4f0233e244b8c1da07f16c651.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/70-small_de560e94966e9e9e634163858272e237.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/70_b17d20c570cd3ae36f1035352a0bcf65.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/71-small_ce86b0e29dbb2e72263f50555c9783e6.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/71_1cf1aaa8a531c92b5a42044e9ff0b811.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/72-small_e41bb90bdcac04cea61c22b5a0c27e19.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/72_d78093235587a7fbf684f3a6cb9ff83c.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/73-small_75d4d21b4ef94e249f4e2effa9d2c46f.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/73_bd92ae7dc2af58d041f517ea3a6d7966.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/74-small_bf71514840b24f27389853e92b1cf806.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/74_6a0f014444a15c937e1c26a72323e59f.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/75-small_51b3a6ed891e8b69efd0a34e117bea3f.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/75_65199ef547273117c7be3efc4fdcd78e.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/76-small_849b8b86adeafeaddb66fc835395498d.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/76_a10096efb457b50ecad5a58a5c8b11b2.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/77-small_c4cfa229d6187e885653f7bc25ecf7f6.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/77_e2fb8f31492b877fc5b3ba83f1270218.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/78-small_0d65374f3b396abdc2d8f8782cd660a2.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/78_6dd318cbb1ecefc6cb8c97e266529d27.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/79-small_3fa37a72c58f18022ace5b0bd80091cb.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/79_caabb3368c08f3da21af981ae6321e51.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/8-small_22c33e4753b3d5f1fd09d1e5228a8a67.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/8_001e44f67ae4fbcd81364756231f6723.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/9-small_16d9cc8c9c9e768d6054097fa97aa6e7.jpg\";","module.exports = __webpack_public_path__ + \"content/images/appbackgrounds/9_4c46ab8130e90e773932cc70662485bb.jpg\";","var map = {\n\t\"./0.png\": 245,\n\t\"./1.png\": 246,\n\t\"./10.png\": 247,\n\t\"./11.png\": 248,\n\t\"./12.png\": 249,\n\t\"./13.png\": 250,\n\t\"./14.png\": 251,\n\t\"./15.png\": 252,\n\t\"./17.png\": 253,\n\t\"./18.png\": 254,\n\t\"./19.png\": 255,\n\t\"./2.png\": 256,\n\t\"./20.png\": 257,\n\t\"./21.png\": 258,\n\t\"./22.png\": 259,\n\t\"./23.png\": 260,\n\t\"./24.png\": 261,\n\t\"./25.png\": 262,\n\t\"./26.png\": 263,\n\t\"./27.png\": 264,\n\t\"./28.png\": 265,\n\t\"./29.png\": 266,\n\t\"./3.png\": 267,\n\t\"./30.png\": 268,\n\t\"./31.png\": 269,\n\t\"./32.png\": 270,\n\t\"./33.png\": 271,\n\t\"./34.png\": 272,\n\t\"./35.png\": 273,\n\t\"./36.png\": 274,\n\t\"./37.png\": 275,\n\t\"./38.png\": 276,\n\t\"./39.png\": 277,\n\t\"./4.png\": 278,\n\t\"./40.png\": 279,\n\t\"./41.png\": 280,\n\t\"./42.png\": 281,\n\t\"./43.png\": 282,\n\t\"./44.png\": 283,\n\t\"./45.png\": 284,\n\t\"./46.png\": 285,\n\t\"./47.png\": 286,\n\t\"./48.png\": 287,\n\t\"./49.png\": 288,\n\t\"./5.png\": 289,\n\t\"./50.png\": 290,\n\t\"./51.png\": 291,\n\t\"./52.png\": 292,\n\t\"./53.png\": 293,\n\t\"./54.png\": 294,\n\t\"./55.png\": 295,\n\t\"./56.png\": 296,\n\t\"./57.png\": 297,\n\t\"./58.png\": 298,\n\t\"./59.png\": 299,\n\t\"./6.png\": 300,\n\t\"./60.png\": 301,\n\t\"./61.png\": 302,\n\t\"./62.png\": 303,\n\t\"./63.png\": 304,\n\t\"./64.png\": 305,\n\t\"./65.png\": 306,\n\t\"./66.png\": 307,\n\t\"./67.png\": 308,\n\t\"./68.png\": 309,\n\t\"./69.png\": 310,\n\t\"./7.png\": 311,\n\t\"./70.png\": 312,\n\t\"./71.png\": 313,\n\t\"./72.png\": 314,\n\t\"./73.png\": 315,\n\t\"./74.png\": 316,\n\t\"./75.png\": 317,\n\t\"./76.png\": 318,\n\t\"./77.png\": 319,\n\t\"./78.png\": 320,\n\t\"./8.png\": 321\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 244;","module.exports = __webpack_public_path__ + \"content/images/applogos/0_bff11b327036a43323031c4c5471c360.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/1_96ac8a032139bad4fc93987066a7868a.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/10_e2417f16ca52bacbc310248661eafd1b.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/11_4c43e376f9582e3ed24a55488c374568.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/12_da47db10404a67a8cba2b38cc566e1aa.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/13_e26f753e3e01f7cbf36d679210747f56.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/14_d53f60eb435faf6992e530b6abd3e2b4.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/15_bea00e5df65d5df84916cbd730417b09.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/17_51e2d36bb3f20fbd95d946074449cd54.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/18_60705f776b9c8c5b75d5510c395ba986.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/19_afa34e6c3e3dd8c760d1efc9d084cdb5.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/2_54e378df68a0335a084b194cd1d2c00f.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/20_0b955e62d492e5b809d5e1ee8e0bb78b.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/21_df89d61ea851e26afd3b184174688194.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/22_2f98d06a761b9286bd3022a1d1d3823d.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/23_efd96060931e1822e2dab20baabd76a0.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/24_6edcfa2758c2a36bfb78486bc89f317f.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/25_5af3fa8cae10d62e7a0b169b82840017.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/26_517d267242d9f4332ec35a2fc4a301c2.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/27_2faea9d93785ed08c2de40e9399d4323.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/28_4e06e792dbd4e9775db04915861f651d.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/29_fdef0760cb68c38858b6a0bbe1cb390b.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/3_9ae0ebd77b279d438b54cf4c9150de42.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/30_98bd1fd7c88bad31c5e8f5bdfd6c33f4.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/31_598a4cc806c352fbc694d4f8aeb4b4b7.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/32_8bd1f0ba64d5d9f472124e965d8c3cf0.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/33_7a50918a52ca2cdb8c9adeaa019a5a62.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/34_881bff5dd6477a4af3c4233f02963d9f.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/35_44de4ce23fc094a007d49baf43029863.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/36_f806bf0765fb71c9e2113dc26ab149cf.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/37_6e8e0f96e2c89856c5cc8329a80ba00a.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/38_6629e1a57ee31be8fae6a7aefc66fc82.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/39_963c13e824a30ad00d4f4c2a7aa5d284.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/4_d1058a1004600a4633ad064de2c54e10.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/40_7ef267c8e58102beb3ecd5a1a98d830d.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/41_c82d852bbf1cd4befc16c9fd5c827378.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/42_632fd923e6d43f8acec8db62717c4199.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/43_90ed33369a22437a482a72e16026d2eb.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/44_456282d4ee7717e65374cee6b0b8f18a.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/45_fb686ff689edc6f7225ca334e2992a9c.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/46_0aa8adbace7d73a3c24ef1aa1480ec5f.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/47_0fd270f90f106cd10ae092de86b3c37b.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/48_f359bf7dd5bde79c9f0a3396ca50b677.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/49_96c71fab4d03ad23ff0f5a4f86c2ea04.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/5_da3b47ccdb5bc3ebafb4b79134162949.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/50_76411bd0a088dba2a7f0207144bb61a7.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/51_90ed33369a22437a482a72e16026d2eb.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/52_7b46f1b4626db3e8eb5591a67fb3e1f2.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/53_7a3c80bf9694448bac31a9589d2e9e92.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/54_b6ad512021fb5eb8743feeabe35ce979.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/55_ead0587a6c6aa225410fe888bd9bbe45.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/56_7729d29b2e3f96cf32a2e4c7623688b6.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/57_2bb86bdcf71efa47c67a2adc5fa8c085.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/58_ec233f7ee50d57779a49b7c41291ffb4.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/59_9088a1f7a97752f7119d2c9e944dac4e.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/6_90a03609c7ad30e9313dd6864baa65f4.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/60_7e0ab1be3d3ba2f7b37f86650cfd3b98.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/61_5047eeaaf7769c7427bf077c78593309.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/62_d0161a343bb232c06895f99a601233a4.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/63_9d2d57e5a36eec77aeddb51b68f33816.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/64_bae06b00eaeb0c75f1d54807d1cd3062.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/65_3d0de9c6c38f8c94b77879645f24aafc.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/66_7673c62dd68db005e9e500c5c3a2cd99.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/67_8b464453129d8afe7ffcfe7d317e6c2f.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/68_70690862183cfb3d350612217512d8da.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/69_6adec72f5684339231a50484e119971b.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/7_53d6dd314614c78bdf07806bb009a0dc.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/70_312ea75ebe59a4062ddbd73f18b51cc3.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/71_8340e1b8638554bd041146c9bc1909d0.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/72_478c1f0780a9e6765de262f735efadcf.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/73_ef9a283dfe21abb4c5bc64347702f90b.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/74_c516ae647ad3e18bb1a705a0c01c0110.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/75_8881e946d6b24771cb9c979e18f682cf.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/76_34f637dca8d959b9d1394ceca5a52b29.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/77_34f637dca8d959b9d1394ceca5a52b29.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/78_a924026c6f3a7a296533b33a04fdf1be.png\";","module.exports = __webpack_public_path__ + \"content/images/applogos/8_b9f4fbea3839b9d9f4b69f2074518068.png\";","var Browser = require(\"./BrowserControl\");\r\n\r\nvar BrowserHelper = Browser.Helper;\r\nvar Cookies = Browser.Cookies;\r\n\r\nvar BrowserCapabilities =\r\n{\r\n None: 0x0,\r\n OnTouchStartEventPresent: 0x1\r\n};\r\n\r\nfunction BrowserCapabilitiesHelper()\r\n{\r\n var _this = this;\r\n\r\n \r\n var c_browserCapabilitiesCookie = \"brcap\";\r\n \r\n\r\n \r\n var _browserCapabilities = BrowserCapabilities.None;\r\n \r\n\r\n \r\n _this.writeCookie = function ()\r\n {\r\n Cookies.write(c_browserCapabilitiesCookie, _browserCapabilities, true , true );\r\n };\r\n \r\n\r\n \r\n function _detectCapabilities()\r\n {\r\n if (BrowserHelper.isOnTouchStartEventSupported())\r\n {\r\n _browserCapabilities = _browserCapabilities | BrowserCapabilities.OnTouchStartEventPresent;\r\n }\r\n }\r\n \r\n\r\n (function _initialize()\r\n {\r\n _detectCapabilities();\r\n })();\r\n}\r\n\r\nmodule.exports = BrowserCapabilitiesHelper;\r\n","var JSON = require(\"JSON\");\r\nvar Browser = require(\"./BrowserControl\");\r\nvar Promise = require(\"./Promise\");\r\n\r\nvar w = window;\r\nvar document = w.document;\r\nvar QueryString = Browser.QueryString;\r\nvar Cookies = Browser.Cookies;\r\n\r\nvar OsError =\r\n {\r\n AAD_BROWSERCORE_E_INVALID_REQUEST_METHOD: -2147186943\r\n };\r\n\r\nfunction ChromeBrowserCore(logger, nonce, cookieDomain, setNonSecureCookies, trimChromeBssoUrl)\r\n{\r\n var _this = this;\r\n\r\n \r\n var c_channelId = \"53ee284d-920a-4b59-9d30-a60315b26836\";\r\n var c_preferredExtensionId = \"ppnbnpeolgkicgegkbkbjmhlideopiji\";\r\n \r\n\r\n \r\n var _logger = logger;\r\n var _nonce = nonce;\r\n var _cookieDomain = cookieDomain;\r\n var _setNonSecureCookies = setNonSecureCookies;\r\n var _trimChromeBssoUrl = trimChromeBssoUrl;\r\n \r\n\r\n \r\n var _responseMap = {};\r\n var _msgid = 0;\r\n var _extListNode = null;\r\n var _getCookieUri = null;\r\n var _cookieAttributes = null;\r\n var _openChannelPromise = null;\r\n \r\n\r\n \r\n _this.getCookiesAsync = function ()\r\n {\r\n return _openChannelAsync().then(\r\n function (extensionId)\r\n {\r\n _logger.logMessage(\"Pulling SSO cookies\");\r\n\r\n return _sendMessageAsync({ method: \"GetCookies\", uri: _getCookieUri }, extensionId)\r\n .then(null, _fallbackOnGetCookiesMethodNotFound)\r\n .then(_parseCookies);\r\n });\r\n };\r\n \r\n\r\n \r\n function _window_onMessage(event)\r\n {\r\n \r\n if (event.source !== w)\r\n {\r\n return;\r\n }\r\n\r\n var request = event.data;\r\n var channel = request && request.channel;\r\n var responseId = request && request.responseId;\r\n var body = request && request.body;\r\n var method = body && body.method;\r\n\r\n if (channel === c_channelId\r\n && responseId\r\n && (method === \"CreateProviderAsync\" || method === \"Response\"))\r\n {\r\n _logger.logMessage(\"Received message for method \" + method);\r\n\r\n var resolveHandler = _responseMap[responseId];\r\n delete _responseMap[responseId];\r\n\r\n \r\n \r\n \r\n setTimeout(\r\n function ()\r\n {\r\n resolveHandler(body.response || {});\r\n }, 0);\r\n }\r\n }\r\n\r\n function _sendMessageAsync(request, extensionId)\r\n {\r\n var sendMessagePromise = new Promise(\r\n function (resolve)\r\n {\r\n var message =\r\n {\r\n channel: c_channelId,\r\n responseId: ++_msgid,\r\n body: request\r\n };\r\n\r\n if (extensionId)\r\n {\r\n message.extensionId = extensionId;\r\n }\r\n\r\n _responseMap[message.responseId] = resolve;\r\n\r\n _logger.logMessage(\"Sending message for method \" + (request || {}).method || \"\");\r\n\r\n w.postMessage(message, \"*\");\r\n });\r\n\r\n return sendMessagePromise.then(\r\n function (response)\r\n {\r\n if (response.status === \"Success\")\r\n {\r\n return Promise.resolve(response.result || {});\r\n }\r\n\r\n return Promise.reject(new ChromeBrowserCore.Error(response.code, response.description, response.ext));\r\n });\r\n }\r\n\r\n function _openChannelAsync()\r\n {\r\n \r\n if (!_openChannelPromise)\r\n {\r\n if (w.addEventListener)\r\n {\r\n w.addEventListener(\"message\", _window_onMessage);\r\n }\r\n\r\n _logger.logMessage(\"Creating ChromeBrowserCore provider\");\r\n\r\n\r\n \r\n \r\n \r\n _openChannelPromise = _sendMessageAsync({ method: \"CreateProviderAsync\", response: { status: \"Success\" } })\r\n .then(_getExtensionId);\r\n }\r\n\r\n return _openChannelPromise;\r\n }\r\n\r\n function _getExtensionId()\r\n {\r\n var extensionId = null;\r\n var extension = _extListNode.firstChild;\r\n\r\n while (extension)\r\n {\r\n if (extension.id && (extensionId === null || extension.id === c_preferredExtensionId))\r\n {\r\n extensionId = extension.id;\r\n }\r\n\r\n _extListNode.removeChild(extension);\r\n extension = _extListNode.firstChild;\r\n }\r\n\r\n if (!extensionId)\r\n {\r\n throw new ChromeBrowserCore.Error(\"NoExtension\", \"Extension is not installed.\", null);\r\n }\r\n\r\n _logger.logDataPoint(\"extension.id\", extensionId);\r\n _logger.logMessage(\"Using Chrome extension with id \" + extensionId);\r\n\r\n return extensionId;\r\n }\r\n\r\n function _fallbackOnGetCookiesMethodNotFound(error)\r\n {\r\n if (error.code === \"OSError\" && error.externalData && error.externalData.error === OsError.AAD_BROWSERCORE_E_INVALID_REQUEST_METHOD)\r\n {\r\n _logger.logMessage(\"GetCookies method not found, falling back to GetCookie\");\r\n\r\n return _openChannelAsync().then(\r\n function (extensionId)\r\n {\r\n return _sendMessageAsync({ method: \"GetCookie\", uri: _getCookieUri }, extensionId);\r\n });\r\n }\r\n\r\n return Promise.reject(error);\r\n }\r\n\r\n function _parseCookies(result)\r\n {\r\n var cookies = result.response || [];\r\n\r\n if (cookies && cookies.length)\r\n {\r\n for (var i = 0, len = cookies.length; i < len; ++i)\r\n {\r\n var cookieValue = cookieValue = cookies[i].data || \"\";\r\n var existingAttributesIndex = cookieValue.indexOf(\";\");\r\n\r\n if (existingAttributesIndex !== -1)\r\n {\r\n \r\n cookieValue = cookieValue.substr(0, existingAttributesIndex);\r\n }\r\n\r\n cookies[i].data = cookieValue + _cookieAttributes;\r\n }\r\n }\r\n\r\n return cookies;\r\n }\r\n\r\n (function _initialize()\r\n {\r\n _getCookieUri = QueryString.appendOrReplace(w.location.href, \"sso_nonce\", _nonce);\r\n\r\n \r\n \r\n \r\n if (_trimChromeBssoUrl)\r\n {\r\n var parsedUrl = QueryString.parse(_getCookieUri);\r\n\r\n if (parsedUrl.fragment)\r\n {\r\n parsedUrl.fragment = null;\r\n _getCookieUri = QueryString.join(parsedUrl);\r\n }\r\n }\r\n\r\n _cookieAttributes = \"; path=/; domain=\" + _cookieDomain + (_setNonSecureCookies ? \"\" : \"; secure\");\r\n\r\n var channelElementId = \"ch-\" + c_channelId;\r\n _extListNode = document.getElementById(channelElementId);\r\n\r\n if (!_extListNode)\r\n {\r\n _extListNode = document.createElement(\"div\");\r\n _extListNode.id = channelElementId;\r\n\r\n document.body.appendChild(_extListNode);\r\n }\r\n })();\r\n \r\n}\r\n\r\nChromeBrowserCore.Error = function (code, description, externalData)\r\n{\r\n var _this = this;\r\n\r\n var _code = code;\r\n var _description = description;\r\n var _externalData = externalData;\r\n\r\n _this.code = _code;\r\n _this.description = _description;\r\n _this.externalData = _externalData;\r\n\r\n _this.toString = function ()\r\n {\r\n var errorString = \"ChromeBrowserCore error \" + (_code || \"\") + \": \" + (_description || \"\");\r\n\r\n if (_externalData)\r\n {\r\n errorString += \" (ext: \" + JSON.stringify(_externalData) + \")\";\r\n }\r\n\r\n return errorString;\r\n };\r\n\r\n _this.toCookieString = function ()\r\n {\r\n var cookieString = \"NA\";\r\n\r\n if (Cookies.isCookieSafeValue(_code))\r\n {\r\n cookieString += \"|\" + _code;\r\n\r\n var externalDataJson = _externalData ? encodeURIComponent(JSON.stringify(_externalData)) : null;\r\n\r\n if (externalDataJson && Cookies.isCookieSafeValue(externalDataJson))\r\n {\r\n cookieString += \"|\" + externalDataJson;\r\n }\r\n }\r\n\r\n return cookieString;\r\n };\r\n};\r\n\r\nmodule.exports = ChromeBrowserCore;","var Browser = require(\"./BrowserControl\");\r\nvar Promise = require(\"./Promise\");\r\n\r\nvar w = window;\r\nvar Cookies = Browser.Cookies;\r\n\r\nmodule.exports = function (logger, initiatePullTimeout, overallTimeout, failInitiatePullOnTimeout)\r\n{\r\n var _this = this;\r\n\r\n \r\n var _logger = logger;\r\n var _initiatePullTimeout = initiatePullTimeout;\r\n var _overallTimeout = overallTimeout;\r\n var _failInitiatePullOnTimeout = failInitiatePullOnTimeout;\r\n \r\n\r\n \r\n _this.pullBrowserSsoCookieAsync = function (uri)\r\n {\r\n return _callTokenBrokerAsync(uri, \"cookie pull\", false );\r\n };\r\n\r\n _this.loginWindowsUserAsync = function (uri)\r\n {\r\n return _callTokenBrokerAsync(uri, \"Windows user login\", true );\r\n };\r\n \r\n\r\n \r\n function _callTokenBrokerAsync(uri, action, ssoCookieOnly)\r\n {\r\n var pullStartTime = new Date().getTime();\r\n\r\n return _launchUriAsync(uri, action, pullStartTime)\r\n .then(function () { return _pollForTokenBrokerCookieAsync(action, pullStartTime, ssoCookieOnly); });\r\n }\r\n\r\n function _launchUriAsync(uri, action, pullStartTime)\r\n {\r\n var msLaunchUriPromise = new Promise(\r\n function (resolve, reject)\r\n {\r\n w.navigator.msLaunchUri(uri, resolve, reject);\r\n setTimeout(function () { reject(\"timeout\"); }, _initiatePullTimeout);\r\n });\r\n\r\n return msLaunchUriPromise.then(\r\n function ()\r\n {\r\n var elapsedMs = (new Date().getTime()) - pullStartTime;\r\n _logger.logDataPoint(\"msLaunchUri.success.ms\", elapsedMs);\r\n _logger.logMessage(action + \" initiated successfully (took \" + elapsedMs + \" ms)\");\r\n },\r\n function (reason)\r\n {\r\n if (reason === \"timeout\")\r\n {\r\n _logger.logDataPoint(\"msLaunchUri.response\", _failInitiatePullOnTimeout ? \"timeout\" : \"timeout-continue\");\r\n _logger.logMessage(\"Initiating \" + action + \" timed out\" + _failInitiatePullOnTimeout ? \"\" : \" but starting polling anyway in case cookie was pulled\");\r\n }\r\n else\r\n {\r\n var elapsedMs = (new Date().getTime()) - pullStartTime;\r\n _logger.logDataPoint(\"msLaunchUri.failure.ms\", elapsedMs);\r\n _logger.logMessage(action + \" was NOT initiated successfully (took \" + elapsedMs + \" ms)\");\r\n }\r\n\r\n if (reason !== \"timeout\" || _failInitiatePullOnTimeout)\r\n {\r\n return Promise.reject(reason || \"noHandler\");\r\n }\r\n });\r\n }\r\n\r\n function _pollForTokenBrokerCookieAsync(action, pullStartTime, ssoCookieOnly)\r\n {\r\n return new Promise(\r\n function (resolve, reject)\r\n {\r\n var intervalId = setInterval(\r\n function ()\r\n {\r\n var userList = ssoCookieOnly ? null : Cookies.getCookie(\"ESTSUSERLIST\");\r\n var ssoToken = Cookies.getCookie(\"ESTSSSO\");\r\n\r\n if (userList || ssoToken)\r\n {\r\n clearInterval(intervalId);\r\n\r\n _logger.logDataPoint((userList ? \"ESTSUSERLIST\" : \"ESTSSSO\") + \".cookie.ms\", (new Date().getTime()) - pullStartTime);\r\n\r\n if (userList)\r\n {\r\n _logger.logMessage(\"Users list cookie detected\");\r\n Cookies.remove(\"ESTSUSERLIST\");\r\n\r\n resolve({ userList: decodeURIComponent(userList).replace(/\\+/g, \" \") });\r\n }\r\n else\r\n {\r\n resolve({ reload: true });\r\n }\r\n }\r\n }, 250);\r\n\r\n setTimeout(\r\n function ()\r\n {\r\n clearInterval(intervalId);\r\n _logger.logDataPoint(\"TB.response.timeout.ms\", (new Date().getTime()) - pullStartTime);\r\n _logger.logMessage(action + \" timed out.\");\r\n\r\n reject(\"timeout\");\r\n }, _overallTimeout);\r\n });\r\n }\r\n \r\n};","\r\nvar ko = require(\"knockout\");\r\n\r\n\r\nfunction StringCustomizationObservables(customizationLoader)\r\n{\r\n var _this = this;\r\n\r\n \r\n _this.isCustomStringsLoadComplete = ko.pureComputed(\r\n function ()\r\n {\r\n if (customizationLoader())\r\n {\r\n return customizationLoader().strings.isLoadComplete();\r\n }\r\n\r\n return !__CUSTOMIZATION_LOADER_ENABLED__;\r\n });\r\n\r\n _this.customStrings = ko.pureComputed(\r\n function ()\r\n {\r\n if (customizationLoader())\r\n {\r\n return customizationLoader().strings();\r\n }\r\n\r\n return null;\r\n });\r\n\r\n _this.isCustomStringsLoadFailure = ko.pureComputed(\r\n function ()\r\n {\r\n if (customizationLoader())\r\n {\r\n return customizationLoader().strings.isLoadFailure();\r\n }\r\n\r\n return false;\r\n });\r\n}\r\n\r\nmodule.exports = StringCustomizationObservables;","var map = {\n\t\"./signin-apple-white.png\": 327,\n\t\"./signin-apple-white.svg\": 328,\n\t\"./signin-apple.png\": 329,\n\t\"./signin-apple.svg\": 330,\n\t\"./signin-externalidp.png\": 331,\n\t\"./signin-externalidp.svg\": 332,\n\t\"./signin-facebook.png\": 333,\n\t\"./signin-fluent-facebook.png\": 334,\n\t\"./signin-fluent-facebook.svg\": 335,\n\t\"./signin-github-white.png\": 336,\n\t\"./signin-github-white.svg\": 337,\n\t\"./signin-github.png\": 338,\n\t\"./signin-github.svg\": 339,\n\t\"./signin-google.png\": 340,\n\t\"./signin-google.svg\": 341,\n\t\"./signin-linkedin-white.png\": 342,\n\t\"./signin-linkedin-white.svg\": 343,\n\t\"./signin-linkedin.png\": 344,\n\t\"./signin-linkedin.svg\": 345,\n\t\"./signin-microsoft.png\": 346,\n\t\"./signin-microsoft.svg\": 347,\n\t\"./signin-options-white.png\": 348,\n\t\"./signin-options-white.svg\": 349,\n\t\"./signin-options.png\": 350,\n\t\"./signin-options.svg\": 351,\n\t\"./signin-qrpin-white.png\": 352,\n\t\"./signin-qrpin-white.svg\": 353,\n\t\"./signin-qrpin.png\": 354,\n\t\"./signin-qrpin.svg\": 355\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 326;","module.exports = __webpack_public_path__ + \"content/images/signin-apple-white_8c11f236d94aaf10ea5bbadb60261b5e.png\";","module.exports = __webpack_public_path__ + \"content/images/signin-apple-white_9b335c3db49166731203f4a13b54ff0d.svg\";","module.exports = __webpack_public_path__ + \"content/images/signin-apple_44a5055eff09458a63298e94a7249a5e.png\";","module.exports = __webpack_public_path__ + \"content/images/signin-apple_6da32812e06ab70359ed196b95abee36.svg\";","module.exports = __webpack_public_path__ + \"content/images/signin-externalidp_736ef49702713af6b2c9e4fcd801595d.png\";","module.exports = __webpack_public_path__ + \"content/images/signin-externalidp_a5d560a525c6bc9f86e64daf138782df.svg\";","module.exports = __webpack_public_path__ + \"content/images/signin-facebook_552fdb55ef40219207da91b311c19355.png\";","module.exports = __webpack_public_path__ + \"content/images/signin-fluent-facebook_8455cf37a6ca09f8e35b4eb4aa4aa7fb.png\";","module.exports = __webpack_public_path__ + \"content/images/signin-fluent-facebook_8c01e9c96a29fa274fca2ca0b49b7036.svg\";","module.exports = __webpack_public_path__ + \"content/images/signin-github-white_4c773a3d197b4a6378c1a95429f3c73e.png\";","module.exports = __webpack_public_path__ + \"content/images/signin-github-white_9e4e66cecc5e003ce7c5300842f671b0.svg\";","module.exports = __webpack_public_path__ + \"content/images/signin-github_4ef82c475d937f4b4517751df28e81f3.png\";","module.exports = __webpack_public_path__ + \"content/images/signin-github_4f133e101999f0f9f726427324505c7b.svg\";","module.exports = __webpack_public_path__ + \"content/images/signin-google_a158303d43f04806db86ebb01b1591ee.png\";","module.exports = __webpack_public_path__ + \"content/images/signin-google_c033a1a3fb4ea8dfe7f1c12958b8249f.svg\";","module.exports = __webpack_public_path__ + \"content/images/signin-linkedin-white_a1a2301a9649c6c06ae16e4dc42ef2a9.png\";","module.exports = __webpack_public_path__ + \"content/images/signin-linkedin-white_70d8fb9a6b278c30d41a7dd033e08ed0.svg\";","module.exports = __webpack_public_path__ + \"content/images/signin-linkedin_21b537bad213a03580f7d13a16309558.png\";","module.exports = __webpack_public_path__ + \"content/images/signin-linkedin_6afddacf7df687b5dd3a26cef7b56ecf.svg\";","module.exports = __webpack_public_path__ + \"content/images/signin-microsoft_b91bd31143d61e5158be475b1cf7bbf4.png\";","module.exports = __webpack_public_path__ + \"content/images/signin-microsoft_c5858686e81e3117a3249335e5dc539b.svg\";","module.exports = __webpack_public_path__ + \"content/images/signin-options-white_385f1fb0a28c5a4381ed1b04d364c491.png\";","module.exports = __webpack_public_path__ + \"content/images/signin-options-white_c622ccc6d25829f07be905b37a75ba97.svg\";","module.exports = __webpack_public_path__ + \"content/images/signin-options_e9cb891bd21aeac4606567621d11b95f.png\";","module.exports = __webpack_public_path__ + \"content/images/signin-options_3e3f6b73c3f310c31d2c4d131a8ab8c6.svg\";","module.exports = __webpack_public_path__ + \"content/images/signin-qrpin-white_97ee76155bdef68d51f882d111ce1a79.png\";","module.exports = __webpack_public_path__ + \"content/images/signin-qrpin-white_33f29ddd025aa33fa298befbb72a24a7.svg\";","module.exports = __webpack_public_path__ + \"content/images/signin-qrpin_4a5523d6de79a0f34c943d6029ea5168.png\";","module.exports = __webpack_public_path__ + \"content/images/signin-qrpin_ada5adc951d9c983f746704ac9363507.svg\";","var w=window;w.Telemetry=w.Telemetry||{};w.Telemetry.EClientEvent={Account_Signup_SwitchSignupType:10000,Account_Signup_MemberName_ValidationError:10001,Account_ResetPW_SeeMoreVerificationOptions:11000,Account_ResetPW_SelectedVerificationOption:11001,Account_ResetPW_OTT_ValidationError:11002,Account_ResetPW_SeeMoreSecondaryAction:11003,Account_Signup_Phone:11004,Account_Signup_EASI:11005,Account_Signup_Live:11006,Account_DeviceFingerPrinting_Iframe_Load:11007,Signin_Email_Phone_Skype:11008,Signin_Submit:11009,Signup_ChinaPIPLConsent_UserAction:11010,Account_Arkose_Iframe_Load:11011,Account_Arkose_Iframe_Load_Flavor:11012,Account_Arkose_Iframe_Solved:11013,Account_Arkose_Iframe_Solved_Flavor:11014,ManageNames_AddPhone_Step:11015,Account_AliasAccrual_Submit:11100,Account_AliasAccrual_Cancel:11101,Account_AliasAccrual_Skip:11102,Account_AliasAccrual_Suggestions:11103,Account_ManageProofsV2_AddPasskey:11200,Account_ManageProofsV2_PasskeyTryAgain:11201,Account_RemovePasskey:11202,Account_SelectAddressableProof:11203,PrefillPasskeyName:11204,Account_JavascriptEncryptor_Invoke:11205,Account_Human_Iframe_Load:11206,};","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Telemetry\"] = factory();\n\telse\n\t\troot[\"Microsoft\"] = root[\"Microsoft\"] || {}, root[\"Microsoft\"][\"Identity\"] = root[\"Microsoft\"][\"Identity\"] || {}, root[\"Microsoft\"][\"Identity\"][\"UX\"] = root[\"Microsoft\"][\"Identity\"][\"UX\"] || {}, root[\"Microsoft\"][\"Identity\"][\"UX\"][\"Telemetry\"] = factory();\n})(window, function() {\nreturn "," \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t};\n\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t1: 0,\n \t\t0: 0\n \t};\n\n\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"oneDs_\" + \"f2e0f4a029670f10d892\" + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"telemetry_webpackJsonp\"] = window[\"telemetry_webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 7);\n","declare var module: any;\r\n\r\nmodule.exports = {\r\n\r\n ReportEventIdAttr: \"data-report-event\",\r\n ReportEventValueAttr: \"data-report-value\",\r\n ReportEventTriggerAttr: \"data-report-trigger\",\r\n ReportEventValueAttrBinding: \"attr:\",\r\n ReportEventHandlerAttachedAttr: \"data-report-attached\",\r\n DataViewId: \"data-viewid\",\r\n NonIndexedDataPointKey: \"Data\",\r\n Click: \"click\",\r\n Dblclick: \"dblclick\",\r\n Keypress: \"keypress\",\r\n Cut: \"cut\",\r\n Copy: \"copy\",\r\n Paste: \"paste\",\r\n Change: \"change\",\r\n Focus: \"focus\",\r\n Scroll: \"scroll\",\r\n Submit: \"submit\",\r\n Reset: \"reset\",\r\n Input: \"input\",\r\n A: \"a\",\r\n Radio: \"radio\",\r\n Checkbox: \"checkbox\",\r\n Button: \"button\",\r\n ExceptionData: \"ExceptionData\",\r\n PageActionData: \"PageActionData\",\r\n ExceptionsTablesuffix: \"Exceptions\",\r\n PageActtionsTablesuffix: \"UserActions\"\r\n};","namespace Telemetry\r\n{\r\n const _guidTemplate: string = \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\";\r\n\r\n /**\r\n * Extend EventTarget to include IE8-specific event listener functions\r\n */\r\n export interface IECompatibleEventTarget extends EventTarget\r\n {\r\n attachEvent?(type: string, listener: EventListener): boolean;\r\n detachEvent?(type: string, listener: EventListener): void;\r\n }\r\n\r\n /**\r\n * Add an event listener to an element (IE8 compatible)\r\n * @param el - The element to attach listener to\r\n * @param eventName - The name of the event to listen for\r\n * @param handler - The handler to invoke when the event fires\r\n */\r\n export function AddListener(el: IECompatibleEventTarget, eventName: string, handler: EventListener): void\r\n {\r\n if (el && typeof el.addEventListener === \"function\")\r\n {\r\n el.addEventListener(eventName, handler);\r\n }\r\n else if (el && el.attachEvent)\r\n {\r\n el.attachEvent(\"on\" + eventName, handler);\r\n }\r\n else\r\n {\r\n throw \"Browser supports neither addEventListener nor attachEvent\";\r\n }\r\n }\r\n\r\n /**\r\n * Generate a (pseudo-)random GUID\r\n */\r\n export function GenerateGUID(): string\r\n {\r\n return _guidTemplate.replace(\r\n /[xy]/g,\r\n function (ch)\r\n {\r\n let num = _GetRandomInt(0, 16);\r\n if (ch === \"y\")\r\n {\r\n num = (num & (0x3 | 0x8));\r\n }\r\n\r\n return num.toString(16);\r\n });\r\n }\r\n\r\n function _GetRandomInt(min: number, max: number): number\r\n {\r\n return Math.floor(Math.random() * Math.floor(max - min)) + min;\r\n }\r\n\r\n // Polyfill Object.keys\r\n // From https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys\r\n if (!Object.keys)\r\n {\r\n Object.keys =\r\n (function ()\r\n {\r\n \"use strict\";\r\n var hasOwnProperty = Object.prototype.hasOwnProperty,\r\n // propertyIsEnumerable is required in this case to detect the bug where Object.prototype functions\r\n // are enumerable on derived objects\r\n // eslint-disable-next-line no-prototype-builtins\r\n hasDontEnumBug = !({ toString: null }).propertyIsEnumerable(\"toString\"),\r\n dontEnums = [\r\n \"toString\",\r\n \"toLocaleString\",\r\n \"valueOf\",\r\n \"hasOwnProperty\",\r\n \"isPrototypeOf\",\r\n \"propertyIsEnumerable\",\r\n \"constructor\"\r\n ],\r\n dontEnumsLength = dontEnums.length;\r\n\r\n let keysPolyfill =\r\n function (obj)\r\n {\r\n if (typeof obj !== \"function\" && (typeof obj !== \"object\" || obj === null))\r\n {\r\n throw new TypeError(\"Object.keys called on non-object\");\r\n }\r\n\r\n var result = [], prop, i;\r\n\r\n for (prop in obj)\r\n {\r\n if (hasOwnProperty.call(obj, prop))\r\n {\r\n result.push(prop);\r\n }\r\n }\r\n\r\n if (hasDontEnumBug)\r\n {\r\n for (i = 0; i < dontEnumsLength; i++)\r\n {\r\n if (hasOwnProperty.call(obj, dontEnums[i]))\r\n {\r\n result.push(dontEnums[i]);\r\n }\r\n }\r\n }\r\n\r\n return result;\r\n };\r\n\r\n return keysPolyfill;\r\n })();\r\n }\r\n\r\n // Polyfill for supporting indexOf()\r\n //From https://gist.github.com/szepeviktor/8283170\r\n if (!Array.prototype.indexOf)\r\n {\r\n Array.prototype.indexOf = function (searchElement, fromIndex)\r\n {\r\n if (this === undefined || this === null)\r\n {\r\n throw new TypeError(\"'this' is null or not defined\");\r\n }\r\n\r\n var length = this.length >>> 0; // Hack to convert object.length to a UInt32\r\n\r\n fromIndex = +fromIndex || 0;\r\n\r\n if (Math.abs(fromIndex) === Infinity)\r\n {\r\n fromIndex = 0;\r\n }\r\n\r\n if (fromIndex < 0)\r\n {\r\n fromIndex += length;\r\n if (fromIndex < 0)\r\n {\r\n fromIndex = 0;\r\n }\r\n }\r\n\r\n for (; fromIndex < length; fromIndex++)\r\n {\r\n if (this[fromIndex] === searchElement)\r\n {\r\n return fromIndex;\r\n }\r\n }\r\n\r\n return -1;\r\n };\r\n }\r\n}\r\n\r\ndeclare var exports: any;\r\nexports.AddListener = Telemetry.AddListener;\r\nexports.GenerateGUID = Telemetry.GenerateGUID;","/* eslint-disable */\r\n\r\n/* *********************\r\nThis file shares some functionality with the npm package in src/SISU/telemetry. When you make a change here, consider if\r\nit also needs to apply to the \"modern\" (React) Axis stack -- if so, you should update both places.\r\n********************* */\r\n\r\ndeclare var __webpack_public_path__: string, __webpack_nonce__: string;\r\n//This is needed to format the correct url to lazyload oneDs bundle\r\nconst serverData = (<any>window).ServerData || {};\r\nconst scriptWithNonce = (<any>window).document.querySelector(\"script[nonce]\");\r\nconst nonce = scriptWithNonce ? (scriptWithNonce[\"nonce\"] || scriptWithNonce.getAttribute(\"nonce\")) : undefined;\r\n__webpack_nonce__ = nonce;\r\n__webpack_public_path__ = (serverData.urlCdn || serverData.a) + \"content/js/\";\r\n/* eslint-enable */\r\n\r\nnamespace Telemetry\r\n{\r\n declare var require: any;\r\n\r\n const Constants = require(\"./Constants\");\r\n const Utils = require(\"./Utils\");\r\n const _w: any = window;\r\n const c_jsScriptElType = \"text/javascript\";\r\n\r\n export type PreSendHandler = (onAddContext: Object, onInvokeContext: Object) => void;\r\n export type PreSendHandlerWrapper = (onInvokeContext: Object) => void;\r\n export type AppInsightsEvent = { name: string, data: any };\r\n\r\n /*\r\n * Args passed to EventApi during initialization\r\n */\r\n export interface IEventApiArgs\r\n {\r\n /*\r\n * Whether to auto-post events at given intervals.\r\n */\r\n autoPost: boolean,\r\n\r\n /*\r\n * How long to wait between events before auto-posting. The non-obvious parameter name\r\n * is for compatibility with legacy code.\r\n */\r\n flush: number,\r\n\r\n /*\r\n * The CDN URL hosting the appInsights script.\r\n */\r\n providerUrl: string,\r\n\r\n /**\r\n * The config object to pass to appInsights.initialize. For valid properties refer to the\r\n * 1DS documentation at https://1dsdocs.azurewebsites.net/api/webSDK/sku/analytics-web/2.3/f/classes/applicationinsights.html#initialize\r\n */\r\n appInsightsConfig: any,\r\n\r\n /**\r\n * The appInsights object passed by the partner page, if any.\r\n */\r\n appInsightObject: any,\r\n\r\n /**\r\n * The default event name to use when posting an event collection to the event provider\r\n */\r\n defaultEventName: string,\r\n\r\n /*\r\n * The configuration for auto capture events in 1DS as a configuration\r\n */\r\n autoCaptureJsErrors : boolean,\r\n autoCaptureClicks : boolean,\r\n autoCapturePageView : boolean,\r\n autoCaptureEvents : boolean,\r\n\r\n /*\r\n * EU Collector URL to use for 1DS initialization for EU AAD customers\r\n */\r\n endpointUrl: string\r\n\r\n }\r\n\r\n /**\r\n * Interface for event providers, which handle posting client telemetry data to a remote endpoint\r\n */\r\n export interface IEventProvider\r\n {\r\n initialize(args: IEventApiArgs): boolean;\r\n post(data): void;\r\n }\r\n\r\n /**\r\n * Event API used to track and log client telemetry events\r\n */\r\n export class EventApi<T extends IEventProvider>\r\n {\r\n private _eventApiConfig: IEventApiArgs;\r\n private _eventProvider: T;\r\n private _eventDict: Record<string, any>;\r\n private _autoPostHandle: number;\r\n\r\n private _preSendHandlers: PreSendHandlerWrapper[] = [];\r\n\r\n /**\r\n * Construct an instance of the EventApi<T> class.\r\n * @param eventProvider The event provider to use to log events to the remote endpoint\r\n */\r\n constructor(eventProvider: T)\r\n {\r\n this._eventProvider = eventProvider;\r\n }\r\n\r\n /**\r\n * Initialize the Event API\r\n * @param args The init arguments\r\n */\r\n initialize(args: IEventApiArgs): boolean\r\n {\r\n this._eventApiConfig = args;\r\n this._eventDict = {};\r\n return this._eventProvider.initialize(args);\r\n }\r\n\r\n /**\r\n * Add a new named event to the queue\r\n * @param name The name of the event to add\r\n * @param data The data of the event to add\r\n */\r\n set(name: string, value: any, category = \"data\"): void\r\n {\r\n const _this = this;\r\n\r\n if (_this._eventDict[category] === undefined)\r\n {\r\n _this._eventDict[category] = {};\r\n }\r\n\r\n if (value !== null && value !== undefined)\r\n {\r\n _this._eventDict[category][name] = value;\r\n }\r\n }\r\n\r\n /**\r\n * Retrieve an event from the event collection\r\n * @param name The name of the event\r\n * @param category Type of the common schema fields\r\n */\r\n get(name: string, category = \"data\"): any\r\n {\r\n return this._eventDict[category][name];\r\n }\r\n\r\n /**\r\n * Checks to see if there are any outstanding events waiting to be sent\r\n */\r\n hasEvents(): boolean\r\n {\r\n return this._numEvents() > 0;\r\n }\r\n\r\n /**\r\n * This is used to determine if a named event is already present but not yet sent,\r\n * this added to support working around the server side event limitations where events\r\n * of a certain type can only be included once for a single request (such as telemetry reporting).\r\n * @param name The name of the event to check for\r\n * @param category Type of the common schema fields\r\n */\r\n hasEvent(name: string, category = \"data\"): boolean\r\n {\r\n return this._eventDict[category][name] !== undefined;\r\n }\r\n\r\n /**\r\n * Clear the events that are currently waiting to be sent\r\n */\r\n clear()\r\n {\r\n this._eventDict = {};\r\n }\r\n\r\n /**\r\n * Post the events to the event provider.\r\n * @param rootEventName If specified, the pending event dictionary will be interpreted as the 'data'\r\n * element for an event with the given name. If not specified, the event dictionary itself will be\r\n * interpreted as the event to send.\r\n * @param onInvokeContext Context to pass to any preSendHandlers, with the current context (for\r\n * example a 'closing' flag if the window is closing)\r\n */\r\n post(rootEventName?: string, onInvokeContext?: any)\r\n {\r\n // First, process pre-send handlers. These may add additional events to the queue\r\n for (let handlerWrapper of this._preSendHandlers)\r\n {\r\n handlerWrapper(onInvokeContext);\r\n }\r\n\r\n if (this.hasEvents())\r\n {\r\n let objEntries: Array<any> = [];\r\n\r\n if (rootEventName)\r\n {\r\n // Filtering the non-schema fields based on the (k,V) Value type and storing them in a separate dictionary.\r\n let _dataDict = this._eventDict.data;\r\n delete this._eventDict.data;\r\n\r\n objEntries = [_dataDict, this._eventDict.cloud, this._eventDict.app];\r\n\r\n if (this.validKeysPresent(objEntries))\r\n {\r\n this._eventProvider.post({ name: rootEventName, data: _dataDict, ext: this._eventDict });\r\n }\r\n }\r\n else\r\n {\r\n objEntries = [this._eventDict.cloud, this._eventDict.app];\r\n\r\n if (this.validKeysPresent(objEntries))\r\n {\r\n this._eventProvider.post(this._eventDict);\r\n }\r\n }\r\n\r\n this.clear();\r\n }\r\n }\r\n\r\n /**\r\n * Helper method to check if all the fields to be posted to OneDS are present in the predefined dictionary\r\n * @param objEntries data source which has to be verified for presence of fields\r\n * @param allkeys Predefined array of set of fields for checking if objEntries are present\r\n */\r\n validKeysPresent(objEntries?: Array<any>)\r\n {\r\n const AllowedKeyChars: RegExp = /^\\w+$/;\r\n\r\n for (let i = 0; i < objEntries.length; i++)\r\n {\r\n for (let entry in objEntries[i])\r\n {\r\n if (objEntries[i].hasOwnProperty(entry) && !AllowedKeyChars.test(entry))\r\n {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n\r\n /**\r\n * Add a pre-send handler which will be invoked before posting events to the event provider\r\n * @param handler The handler to invoke before posting events\r\n * @param context Optional context which will be passed to the handler function when it is invoked later\r\n */\r\n addPreSendHandler(handler: PreSendHandler, context?: any)\r\n {\r\n this._preSendHandlers.push(\r\n (onInvokeContext) =>\r\n {\r\n handler(context, onInvokeContext);\r\n });\r\n }\r\n\r\n _numEvents()\r\n {\r\n return Object.keys(this._eventDict).length;\r\n }\r\n }\r\n\r\n export class OneDSEventProvider implements IEventProvider\r\n {\r\n private _appInsights: any;\r\n // TODO: Update URL once the appropriate 1DS files have been uploaded to the IDUX CDN\r\n private _iduxProviderUrl: string = \"https://js.monitor.azure.com/scripts/c/ms.analytics-web-2.min.js\";\r\n private _isAppInsightsLoaded: boolean = false;\r\n private _pendingEventQueue: AppInsightsEvent[] = [];\r\n private _args: IEventApiArgs;\r\n\r\n /**\r\n * Initialize the event provider\r\n * @param args The init arguments\r\n */\r\n initialize(args: IEventApiArgs): boolean\r\n {\r\n const _this = this;\r\n this._args = args;\r\n\r\n // Someone else has already loaded appInsights, no need to do it again\r\n if (_w.Telemetry.appInsights)\r\n {\r\n _this._isAppInsightsLoaded = true;\r\n return true;\r\n }\r\n\r\n //lazyload oneDs from CDN\r\n if (this._args.providerUrl)\r\n {\r\n if (_this._checkIfOneDsScriptExists(this._args.providerUrl))\r\n {\r\n _this._initializeAppInsights(new _w.oneDS.AppInsightsCore(), new _w.oneDS.PostChannel(), new _w.oneDS.PropertiesPlugin(), new _w.oneDS.ApplicationInsights());\r\n }\r\n else\r\n {\r\n Utils.AddListener(_w, \"load\",\r\n () =>\r\n {\r\n let scriptEl = _w.document.createElement(\"script\");\r\n scriptEl.src = this._args.providerUrl || this._iduxProviderUrl;\r\n scriptEl.type = c_jsScriptElType;\r\n if (nonce)\r\n {\r\n scriptEl.setAttribute(\"nonce\", nonce);\r\n }\r\n\r\n Utils.AddListener(scriptEl, \"load\",\r\n () =>\r\n {\r\n _this._initializeAppInsights(new _w.oneDS.AppInsightsCore(), new _w.oneDS.PostChannel(), new _w.oneDS.PropertiesPlugin(), new _w.oneDS.ApplicationInsights());\r\n });\r\n _w.document.body.appendChild(scriptEl);\r\n });\r\n }\r\n }\r\n //lazyload OneDs from node modules\r\n else\r\n {\r\n require.ensure([], function ()\r\n {\r\n const oneDSCore = require(\"oneDSCore\");\r\n const oneDSPost = require(\"oneDSPost\");\r\n const oneDSAnalytics = require(\"oneDSAnalytics\");\r\n const oneDSProperty = require(\"oneDSProperties\");\r\n _this._initializeAppInsights(new oneDSCore.AppInsightsCore(), new oneDSPost.PostChannel(),new oneDSProperty.PropertiesPlugin(),new oneDSAnalytics.ApplicationInsights());\r\n }, \"oneDs\");\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Post data to the OneDS endpoint\r\n * @param data The data to post\r\n */\r\n post(data: AppInsightsEvent): void\r\n {\r\n if (this._isAppInsightsLoaded)\r\n {\r\n this._postToAppInsights([data]);\r\n return;\r\n }\r\n\r\n this._pendingEventQueue.push(data);\r\n }\r\n\r\n private _postToAppInsights(queuedData: AppInsightsEvent[]): void\r\n {\r\n for (let data of queuedData)\r\n {\r\n if (this._isAppInsightsManager(_w.Telemetry.appInsights))\r\n {\r\n // create a new AppInsights instance from the manager\r\n if (!this._appInsights)\r\n {\r\n this._appInsights = _w.Telemetry.appInsights.newInst(this._args.appInsightsConfig.instrumentationKey, [], []);\r\n }\r\n this._appInsights.track(data);\r\n }\r\n else\r\n {\r\n _w.Telemetry.appInsights.track(data);\r\n }\r\n }\r\n }\r\n\r\n // the arguments in the function below are to pass the initialised 1ds plugins for use to capture exceptions and support the current existing implementation of 1DS\r\n // appInsightsCore 1DS Web SDK Core is the telemetry orchestrator, responsible for initializing all attached plugins\r\n // postChannel - sends data to one collector using post\r\n // propertiesPlugin - Used to enhance telemetry events; adding multiple part A properties.\r\n // webAnalyticsPlugin - Gathers telemetry in Web pages; includes automatic tracking of clicks, page views, content updates, client errors and page unload events, also exposing APIs for all of these events to be manually send.\r\n // Documentation for the above can be found in the 1DS general documentation https://eng.ms/docs/products/geneva/collect/instrument/1ds/javascriptsdk/getting-started\r\n private _initializeAppInsights(appInsightsCore: any, postChannel: any, propertiesPlugin: any, webAnalyticsPlugin: any): void\r\n {\r\n if (!_w.Telemetry.appInsights)\r\n {\r\n if (this._args.appInsightObject)\r\n {\r\n _w.Telemetry.appInsights = this._args.appInsightObject;\r\n }\r\n else\r\n {\r\n _w.Telemetry.appInsights = this._createAppInsightsCore(appInsightsCore, postChannel, propertiesPlugin, webAnalyticsPlugin);\r\n }\r\n }\r\n\r\n this._isAppInsightsLoaded = true;\r\n\r\n if (this._pendingEventQueue.length > 0)\r\n {\r\n this._postToAppInsights(this._pendingEventQueue);\r\n }\r\n }\r\n\r\n private _checkIfOneDsScriptExists(url: string): boolean\r\n {\r\n const scripts: HTMLCollectionOf<HTMLScriptElement> = document.getElementsByTagName(\"script\") as any;\r\n\r\n for (let i = 0; i < scripts.length; i++)\r\n {\r\n if (scripts[i].src === url)\r\n {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n private _isAppInsightsManager(appInsightsObject: any): boolean\r\n {\r\n return typeof appInsightsObject.newInst === \"function\";\r\n }\r\n\r\n private _createAppInsightsCore(appInsightsCore, postChannel, propertiesPlugin, webAnalyticsPlugin): any\r\n {\r\n let appInsightObject: any = null;\r\n\r\n if (this._args.autoCaptureEvents === true)\r\n {\r\n const coreLibConfig =\r\n {\r\n instrumentationKey: this._args.appInsightsConfig.instrumentationKey,\r\n ...this._args.endpointUrl && { endpointUrl: this._args.endpointUrl },\r\n extensions: [\r\n propertiesPlugin\r\n ],\r\n channelConfiguration:\r\n {\r\n eventsLimitInMem: 50\r\n },\r\n propertyConfiguration:\r\n {\r\n hashIdentifiers: true\r\n },\r\n extensionConfig: [],\r\n webAnalyticsConfiguration:\r\n {\r\n autoCapture:\r\n {\r\n scroll: false,\r\n pageView: false,\r\n onLoad: false,\r\n onUnload: false,\r\n click: this._args.autoCaptureClicks,\r\n resize: false,\r\n jsError: this._args.autoCaptureJsErrors\r\n }\r\n }\r\n };\r\n\r\n //Initialize SDK\r\n webAnalyticsPlugin.initialize(coreLibConfig, []);\r\n\r\n var telemetryInitializer = (collectedData) =>\r\n {\r\n let propertyContext = propertiesPlugin.getPropertiesContext();\r\n let tableName = \"\";\r\n\r\n if (_w.ServerData && (collectedData.baseType === Constants.ExceptionData || collectedData.baseType === Constants.PageActionData))\r\n {\r\n propertyContext.cloud.role = _w.ServerData.serverDetails.dc;\r\n propertyContext.cloud.roleInstance = _w.ServerData.serverDetails.ri;\r\n propertyContext.cloud.roleVer = _w.ServerData.serverDetails.ver;\r\n propertyContext.app.ver = _w.ServerData.serverDetails.ver;\r\n propertyContext.app.id = _w.ServerData.clientEvents.appId;\r\n propertyContext.app.env = _w.ServerData.environment;\r\n propertyContext.app.sesId = _w.ServerData.correlationId;\r\n }\r\n if (collectedData.baseType === Constants.ExceptionData)\r\n {\r\n tableName = this._args.defaultEventName + Constants.ExceptionsTablesuffix;\r\n collectedData.name = tableName;\r\n }\r\n else if (collectedData.baseType === Constants.PageActionData)\r\n {\r\n tableName = this._args.defaultEventName + Constants.PageActtionsTablesuffix;\r\n collectedData.name = tableName;\r\n }\r\n };\r\n webAnalyticsPlugin.addTelemetryInitializer(telemetryInitializer);\r\n appInsightObject = webAnalyticsPlugin;\r\n }\r\n else\r\n {\r\n const coreConfig =\r\n {\r\n instrumentationKey: this._args.appInsightsConfig.instrumentationKey,\r\n ...this._args.endpointUrl && { endpointUrl: this._args.endpointUrl },\r\n extensions:\r\n [\r\n postChannel,\r\n propertiesPlugin\r\n ],\r\n extensionConfig: []\r\n };\r\n const postChannelConfig =\r\n {\r\n eventsLimitInMem: 50\r\n };\r\n const propertiesPluginConfig =\r\n {\r\n hashIdentifiers: true\r\n };\r\n\r\n coreConfig.extensionConfig[postChannel.identifier] = postChannelConfig;\r\n if (this._args.appInsightsConfig)\r\n {\r\n coreConfig.extensionConfig = this._args.appInsightsConfig;\r\n }\r\n coreConfig.extensionConfig[propertiesPlugin.identifier] = propertiesPluginConfig;\r\n\r\n //Initialize SDK\r\n appInsightsCore.initialize(coreConfig, []);\r\n\r\n appInsightObject = appInsightsCore;\r\n }\r\n\r\n return appInsightObject;\r\n }\r\n }\r\n\r\n export class EmptyEventProvider implements IEventProvider\r\n {\r\n constructor()\r\n {\r\n\r\n }\r\n\r\n initialize(): boolean\r\n {\r\n return true;\r\n }\r\n\r\n post(): void\r\n {\r\n return;\r\n }\r\n }\r\n}\r\n\r\ndeclare var exports: any;\r\nexports.EventApi = Telemetry.EventApi;\r\nexports.OneDSEventProvider = Telemetry.OneDSEventProvider;\r\nexports.EmptyEventProvider = Telemetry.EmptyEventProvider;","/* *********************\r\nThis file shares some functionality with the npm package in src/SISU/telemetry. When you make a change here, consider if\r\nit also needs to apply to the \"modern\" (React) Axis stack -- if so, you should update both places.\r\n********************* */\r\n\r\nnamespace Telemetry\r\n{\r\n declare var require: any;\r\n\r\n const Utils = require(\"./Utils\");\r\n const { EventApi, EmptyEventProvider, OneDSEventProvider } = require(\"./EventApi\");\r\n\r\n const _w: any = window;\r\n const Constants = require(\"./Constants\");\r\n /**\r\n * Configuration options related to the hosting IDP.\r\n */\r\n export interface IIDPConfig\r\n {\r\n actorID: string;\r\n hostPageID: string;\r\n correlationID: string;\r\n pageName: string;\r\n serviceID: string;\r\n serverDetails: IServerDetails;\r\n appId: string;\r\n environment: string;\r\n }\r\n\r\n /**\r\n * Configuration options for the client event API. Properties defined directly on this object are\r\n * generally burned in on the server.\r\n */\r\n export interface IClientEventsConfig extends IEventApiArgs, IIDPConfig\r\n {\r\n minEvents: number;\r\n useOneDSEventApi: boolean;\r\n telemetryEnabled: boolean;\r\n }\r\n\r\n export interface IServerDetails\r\n {\r\n datacenter: string;\r\n roleInstance: string;\r\n version: string;\r\n }\r\n\r\n /**\r\n * The context that is passed to pre-send handlers when they are invoked.\r\n */\r\n interface IOnInvokeContext\r\n {\r\n isViewTransition: boolean;\r\n }\r\n\r\n export class TelemetryHelper\r\n {\r\n private _nonIndexedDataPoint: any = {};\r\n private _clientEventsConfig: IClientEventsConfig;\r\n private _eventApi: EventApi<IEventProvider>;\r\n private _serverPageID: string;\r\n private _serviceID: string;\r\n private _enabled: boolean = true;\r\n\r\n /**\r\n * Constructs an instance of the TelemetryHelper object. This will initialize\r\n * the event provider specified in the client event config.\r\n * @param clientEventsConfig The client event configuration\r\n */\r\n constructor(clientEventsConfig: IClientEventsConfig)\r\n {\r\n this._clientEventsConfig = clientEventsConfig || ({} as any);\r\n\r\n this._enabled = this._clientEventsConfig.telemetryEnabled;\r\n\r\n if (!this._enabled)\r\n {\r\n return;\r\n }\r\n\r\n if (this._clientEventsConfig.useOneDSEventApi)\r\n {\r\n this._eventApi = new EventApi(new OneDSEventProvider());\r\n }\r\n else\r\n {\r\n this._eventApi = new EventApi(new EmptyEventProvider());\r\n }\r\n\r\n // Pin hpgid for the lifetime of the Telemetry object -- it should only get reset on navigation\r\n this._serverPageID = this._clientEventsConfig.hostPageID ? this._clientEventsConfig.hostPageID.toString() : \"\";\r\n this._serviceID = this._clientEventsConfig.serviceID ? this._clientEventsConfig.serviceID.toString() : \"\";\r\n\r\n this._eventApi.initialize(this._clientEventsConfig);\r\n\r\n this.addPreSendHandler(\r\n (isViewTransition: boolean) =>\r\n {\r\n this._setPerRequestDataPoints(isViewTransition);\r\n });\r\n\r\n // For flushing the pending events every minute\r\n if (this._clientEventsConfig.autoPost)\r\n {\r\n const self = this;\r\n\r\n setInterval(\r\n () =>\r\n {\r\n if (self.hasPageEvents() || self._eventApi.hasEvents())\r\n {\r\n self.post(false);\r\n }\r\n },\r\n this._clientEventsConfig.flush);\r\n }\r\n\r\n this._addUnloadHandlers();\r\n }\r\n\r\n /**\r\n * Get the value for a data point\r\n * @param name The name of the data point to get\r\n * @param isIndexed Whether the data point to retrieve is indexed\r\n * @param category Type of the common schema fields\r\n */\r\n get(name: string, category = \"data\", isIndexed: boolean = false): any\r\n {\r\n if (!this._enabled) { return; }\r\n\r\n if (isIndexed)\r\n {\r\n return this._eventApi.get(name, category);\r\n }\r\n\r\n return this._nonIndexedDataPoint[name];\r\n }\r\n\r\n /**\r\n * Set the value of a data point\r\n * @param name The name of the data point to set\r\n * @param data The value of the data point\r\n * @param isIndexed Whether the data point is indexed\r\n * @param category Type of the common schema fields\r\n */\r\n set(name: string, data: any, isIndexed: boolean = false, category?: string): void\r\n {\r\n if (!this._enabled)\r\n {\r\n return;\r\n }\r\n\r\n if (isIndexed)\r\n {\r\n this._eventApi.set(name, data, category);\r\n }\r\n else\r\n {\r\n this._nonIndexedDataPoint[name] = data;\r\n }\r\n }\r\n\r\n /**\r\n * Append a value to an array data point\r\n * @param name The name of the array data point to append the data element to\r\n * @param data The value to append\r\n * @param isIndexed Whether the data point is indexed\r\n */\r\n append(name: string, data: any, isIndexed: boolean = false)\r\n {\r\n if (!this._enabled)\r\n {\r\n return;\r\n }\r\n\r\n let existingEvent;\r\n\r\n if (isIndexed)\r\n {\r\n existingEvent = this._eventApi.get(name);\r\n }\r\n else\r\n {\r\n existingEvent = this._nonIndexedDataPoint[name];\r\n }\r\n\r\n if (!existingEvent)\r\n {\r\n existingEvent = [];\r\n }\r\n else if (!(existingEvent instanceof Array))\r\n {\r\n existingEvent = [existingEvent];\r\n }\r\n\r\n existingEvent.push(data);\r\n\r\n if (isIndexed)\r\n {\r\n this._eventApi.set(name, existingEvent);\r\n }\r\n else\r\n {\r\n this._nonIndexedDataPoint[name] = existingEvent;\r\n }\r\n }\r\n\r\n /**\r\n * Append a client event to the 'ClientEvents' array data point\r\n * @param event The event ID or event name of the client event\r\n * @param eventValue The value of the client event\r\n */\r\n appendClientEvent(event: string | number, eventValue: string, dataViewID?: string): void\r\n {\r\n if (!this._enabled)\r\n {\r\n return;\r\n }\r\n\r\n if (this._isNumeric(event))\r\n {\r\n // Convert it to a proper Numeric value because of the dual type support in the API.\r\n event = this._getNumericValue(event);\r\n }\r\n\r\n const eventId = (typeof event === \"number\") ? event : _w.Telemetry.EClientEvent[event];\r\n\r\n this.append(\"ClientEvents\", {\r\n ID: eventId,\r\n EventTime: this._getCurrentTime(),\r\n Value: eventValue,\r\n DataViewID: dataViewID\r\n });\r\n }\r\n\r\n /**\r\n * Add a pre-send handler that will be called before events are posted to the event provider. Handlers\r\n * can synchronously add additional events using the standard TelemetryHelper API\r\n * @param handler The handler to attach\r\n * @param context The context to pass to the event handler when it is invoked\r\n */\r\n addPreSendHandler(handler: (isViewTransition: boolean, context?: any) => any, context?: any)\r\n {\r\n if (!this._enabled)\r\n {\r\n return;\r\n }\r\n\r\n /** Let the callback know whether we are sending events due to a page transition or some other\r\n * reason (like the queue being full or the send time limit being reached). In particular we\r\n * only want to add things like PLT events during the pre-send callback if it is a page\r\n * transition event\r\n */\r\n const self = this;\r\n\r\n self._eventApi.addPreSendHandler(\r\n (onAddContext, onInvokeContext?: IOnInvokeContext) =>\r\n {\r\n handler(onInvokeContext && onInvokeContext.isViewTransition, onAddContext);\r\n },\r\n context);\r\n }\r\n\r\n /**\r\n * Post events via the event API\r\n * @param isViewTransition Whether we are calling post due to a view transition (content is changing)\r\n * or some other reason such as a timeour or the max event limit being exceeded\r\n * @param eventName The value of the client event\r\n */\r\n post(isViewTransition: boolean, eventName?: string)\r\n {\r\n if (!this._enabled)\r\n {\r\n return;\r\n }\r\n\r\n eventName = eventName || this._clientEventsConfig.defaultEventName;\r\n\r\n const numEvents = Object.keys(this._nonIndexedDataPoint).length;\r\n\r\n if ((numEvents > 0 && isViewTransition) || (numEvents >= this._clientEventsConfig.minEvents))\r\n {\r\n this._eventApi.set(Constants.NonIndexedDataPointKey, JSON.stringify(this._nonIndexedDataPoint));\r\n this._nonIndexedDataPoint = {};\r\n }\r\n\r\n if (this._eventApi.hasEvents())\r\n {\r\n this._eventApi.post(eventName, { isViewTransition: isViewTransition } as IOnInvokeContext);\r\n }\r\n }\r\n\r\n /**\r\n * PostPageView events via the event API\r\n * @param pageID PageID is logged for capturing pageview\r\n * @param eventName Name of the pageView event if there is any\r\n */\r\n postPageView(pageID: number, eventName?: string)\r\n {\r\n if (!this._enabled)\r\n {\r\n return;\r\n }\r\n\r\n eventName = eventName || this._clientEventsConfig.defaultEventName;\r\n\r\n // logging the pageview\r\n this.set(\"ViewID\", pageID, true);\r\n this._eventApi.post(eventName, false);\r\n }\r\n\r\n /**\r\n * Set up event bindings on a given element and its descendents based on the presence of data-report\r\n * attributes\r\n * @param element The root element on which to search for data-report-* attributes\r\n */\r\n applyClientEventBindings(element: HTMLElement)\r\n {\r\n if (!this._enabled)\r\n {\r\n return;\r\n }\r\n\r\n const self = this;\r\n\r\n let boundElements: NodeListOf<HTMLElement> = element.querySelectorAll(`[${Constants.ReportEventIdAttr}]`);\r\n let dataViewID = element.getAttribute(Constants.DataViewId) ? element.getAttribute(Constants.DataViewId) : \"\";\r\n\r\n for (let i = 0; i < boundElements.length; i++)\r\n {\r\n let el: HTMLElement = boundElements[i];\r\n\r\n // ensure we attach the handler only once\r\n if (el.getAttribute(Constants.ReportEventHandlerAttachedAttr))\r\n {\r\n return;\r\n }\r\n\r\n const eventId = el.getAttribute(Constants.ReportEventIdAttr);\r\n let eventValue = el.getAttribute(Constants.ReportEventValueAttr);\r\n let eventTrigger = el.getAttribute(Constants.ReportEventTriggerAttr);\r\n\r\n if (!eventValue)\r\n {\r\n eventValue = self._inferClientEventValue(el);\r\n }\r\n else if (eventValue.indexOf(Constants.ReportEventValueAttrBinding) === 0)\r\n {\r\n /** special handling for attr: syntax to allow passing dynamic values (without\r\n *incurring the costs/risks of full eval support)\r\n */\r\n\r\n let attrName = eventValue.slice(Constants.ReportEventValueAttrBinding.length).trim();\r\n eventValue = el.getAttribute(attrName);\r\n }\r\n\r\n const handler =\r\n (jsEventName) =>\r\n {\r\n if (!eventValue)\r\n {\r\n eventValue = jsEventName;\r\n }\r\n\r\n self.appendClientEvent(eventId, eventValue, dataViewID);\r\n };\r\n\r\n /** listen to mousedown instead of click, as other click handlers on the element might synchronously\r\n * trigger a view transition. TODO: is a more robust solution needed here? Technically mousedown != click.\r\n */\r\n let eventHandlers: string[] = [Constants.Click, Constants.Dblclick, Constants.Keypress, Constants.Cut, Constants.Copy, Constants.Paste, Constants.Change, Constants.Focus, Constants.Scroll, Constants.Submit, Constants.Reset];\r\n let currentEvents: string[] = (eventTrigger && eventTrigger.split(\",\")) || [Constants.Click];\r\n\r\n if (currentEvents.length > 0)\r\n {\r\n for (let j = 0; j < eventHandlers.length; j++)\r\n {\r\n if (currentEvents.indexOf(eventHandlers[j]) !== -1)\r\n {\r\n Utils.AddListener(el, eventHandlers[j], () =>\r\n {\r\n handler(eventHandlers[j]);\r\n });\r\n el.setAttribute(Constants.ReportEventHandlerAttachedAttr, \"1\");\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n _getCurrentTime(): number\r\n {\r\n // Support IE8...sigh\r\n if (!Date.now)\r\n {\r\n return new Date().getTime();\r\n }\r\n\r\n return Date.now();\r\n }\r\n\r\n hasPageEvents(): boolean\r\n {\r\n return Object.keys(this._nonIndexedDataPoint).length > 0;\r\n }\r\n\r\n _addUnloadHandlers()\r\n {\r\n const self = this;\r\n const sendEvts = () => { self.post(true); };\r\n\r\n Utils.AddListener(_w.document, \"visibilitychange\", () =>\r\n {\r\n if (_w.document.visibilityState === \"hidden\")\r\n {\r\n sendEvts();\r\n }\r\n });\r\n\r\n // Doesn't fire the visibilitychange event when navigating away from a document, so including pagehide which does fire for that case in all current browsers.\r\n Utils.AddListener(_w, \"pagehide\", sendEvts);\r\n }\r\n\r\n _inferClientEventValue(el: HTMLElement): string\r\n {\r\n let value: string;\r\n\r\n if (el)\r\n {\r\n switch (el.tagName.toLowerCase())\r\n {\r\n case Constants.Input:\r\n if (el instanceof HTMLInputElement)\r\n {\r\n if (el.type === Constants.Radio || el.type === Constants.Checkbox)\r\n {\r\n value = el.checked ? \"checked\" : \"unchecked\";\r\n }\r\n }\r\n else if (el instanceof HTMLButtonElement)\r\n {\r\n if (el.type === Constants.Button)\r\n {\r\n value = \"clicked\";\r\n }\r\n else\r\n {\r\n value = el.getAttribute(Constants.ReportEventIdAttr);\r\n }\r\n }\r\n break;\r\n case Constants.A:\r\n if (el instanceof HTMLAnchorElement)\r\n {\r\n value = \"clicked\";\r\n }\r\n break;\r\n default:\r\n value = el.getAttribute(Constants.ReportEventIdAttr);\r\n }\r\n }\r\n return value;\r\n }\r\n\r\n // the isViewTransition flag will be consumed in a subsequent iteration\r\n // eslint-disable-next-line no-unused-vars\r\n _setPerRequestDataPoints(isViewTransition: boolean)\r\n {\r\n this.set(\"ServerPageID\", this._serverPageID, true, \"data\");\r\n this.set(\"PageName\", this._clientEventsConfig.pageName, true, \"data\");\r\n this.set(\"ServiceID\", this._serviceID, true, \"data\");\r\n this.set(\"CorrelationId\", this._getCorrelationID(), true, \"data\");\r\n // app fields\r\n this.set(\"id\", this._clientEventsConfig.appId, true, \"app\");\r\n this.set(\"ver\", this._clientEventsConfig.serverDetails.version, true, \"app\");\r\n this.set(\"name\", this._clientEventsConfig.defaultEventName, true, \"app\");\r\n // (Placeholder for future)\r\n //this.set(\"asId\", \"\", true, \"app\");\r\n this.set(\"sesId\", this._getCorrelationID(), true, \"app\");\r\n this.set(\"userId\", `p: ${this._clientEventsConfig.actorID}`, true, \"app\");\r\n // (Placeholder for future use)\r\n //this.set(\"expId\", \"\", true, \"app\");\r\n this.set(\"env\", this._clientEventsConfig.environment, true, \"app\");\r\n\r\n //cloud fields\r\n this.set(\"role\", this._getCloudrole(), true, \"cloud\");\r\n this.set(\"roleInstance\", this._clientEventsConfig.serverDetails.roleInstance, true, \"cloud\");\r\n this.set(\"roleVer\", this._clientEventsConfig.serverDetails.version, true, \"cloud\");\r\n\r\n //mscv field (Investigate in future)\r\n //this.set(\"cV\", \"\", true, \"mscv\");\r\n }\r\n\r\n _getCloudrole(): string\r\n {\r\n return this._clientEventsConfig.serverDetails.datacenter || \"-\";\r\n }\r\n\r\n _getCorrelationID(): string\r\n {\r\n let correlationID = this._clientEventsConfig.correlationID;\r\n\r\n if (!correlationID)\r\n {\r\n // as a last resort, generate a new correlation ID so we can at least correlate across different client data points that are fired within the same host page\r\n correlationID = Utils.GenerateGUID();\r\n this._clientEventsConfig.correlationID = correlationID;\r\n }\r\n\r\n return correlationID;\r\n }\r\n\r\n _isNumeric(num): boolean\r\n {\r\n return !isNaN(num);\r\n }\r\n\r\n _getNumericValue(num): number\r\n {\r\n return Number(num);\r\n }\r\n }\r\n}\r\ndeclare var exports: any;\r\nexports.TelemetryHelper = Telemetry.TelemetryHelper;","module.exports = \"<!-- \" + (require(\"js/Core/CookieBannerControlViewModel\"), require(\"js/Core/DialogControlViewModel\"), require(\"js/Core/InstrumentationControlViewModel\"), require(\"js/Core/LogoControlViewModel\"), require(\"js/Core/MarchingAntsControlViewModel\"), require(\"js/Core/MasterPageViewModel\"), require(\"js/Core/PaginationControlViewModel\"), require(\"js/LoginPage/LoginPaginatedUsernameViewModel\"), require(\"js/LoginPage/SeeHowDataIsManagedViewModel\"), require(\"js/Shared/MoreInfoViewModel\"), \"\") + \" -->\\n\\n<!-- \" + (__IS_OLD_WEBPACK__ ?\r\n (\r\n require(\"js/Core/TilesViewModel\"),\r\n require(\"js/LoginPage/FetchSessionsProgressViewModel\"),\r\n require(\"js/LoginPage/LoginAadFedConflictViewModel\"),\r\n require(\"js/LoginPage/LoginConfirmRecoverUsernameViewModel\"),\r\n require(\"js/LoginPage/LoginConfirmSendViewModel\"),\r\n require(\"js/LoginPage/LoginConfirmSignupViewModel\"),\r\n require(\"js/LoginPage/LoginCredentialPickerViewModel\"),\r\n require(\"js/LoginPage/LoginFedConflictViewModel\"),\r\n require(\"js/LoginPage/LoginFedLinkViewModel\"),\r\n require(\"js/LoginPage/LoginFidoViewModel\"),\r\n require(\"js/LoginPage/LoginCertificateInterstitialViewModel\"),\r\n require(\"js/LoginPage/LoginIdpDisambiguationViewModel\"),\r\n require(\"js/LoginPage/LoginIdpRedirectSpeedbumpViewModel\"),\r\n require(\"js/LoginPage/LoginIdpRedirectViewModel\"),\r\n require(\"js/LoginPage/LoginLearnMoreViewModel\"),\r\n require(\"js/LoginPage/LoginProofConfirmationViewModel\"),\r\n require(\"js/LoginPage/LoginProofFedConflictViewModel\"),\r\n require(\"js/LoginPage/LoginPaginatedOtcViewModel\"),\r\n require(\"js/LoginPage/LoginPaginatedPasswordViewModel\"),\r\n require(\"js/LoginPage/LoginPaginatedQrCodePinViewModel\"),\r\n require(\"js/LoginPage/LoginPhoneDisambiguationViewModel\"),\r\n require(\"js/LoginPage/LoginRemoteNgcViewModel\"),\r\n require(\"js/LoginPage/LoginResetPasswordSplitterViewModel\"),\r\n require(\"js/LoginPage/LoginQrCodeScanViewModel\"),\r\n require(\"js/LoginPage/LoginViewAgreementViewModel\"),\r\n require(\"js/LoginPage/RemoteConnectCanaryValidationViewModel\"),\r\n require(\"js/LoginPage/LoginViewLearnMoreOfflineAccountViewModel\"),\r\n require(\"js/LoginPage/LoginVerifiableCredentialPresentationViewModel\"),\r\n require(\"js/LoginPage/LoginRemoteConnectLocationViewModel\"),\r\n require(\"js/WebNativeBridge/WebNativeBridgeViewModel\"),\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"js/LoginPage/LoginPaginatedLwaConsentViewModel\");\r\n return \"\";\r\n },\r\n \"Alt\"),\r\n require.ensure([],\r\n function ()\r\n {\r\n require(\"js/LoginPage/LoginAccessPassViewModel\");\r\n require(\"js/LoginPage/LoginCertificateInterstitialViewModel\");\r\n require(\"js/LoginPage/LoginRemoteLoginPollingViewModel\");\r\n require(\"js/LoginPage/LoginSignupUsernameViewModel\");\r\n require(\"js/LoginPage/LoginTenantDisambiguationViewModel\");\r\n require(\"js/LoginPage/SearchOrganizationViewModel\");\r\n require(\"js/LoginPage/LoginSignupBlockedViewModel\");\r\n return \"\";\r\n },\r\n \"ESTSLogin\")\r\n ) : \"\", \"\") + \" -->\\n\\n<div data-bind=\\\"if: activeDialog\\\">\\n <div data-bind=\\\"component: { name: 'dialog-control',\\n params: {\\n templateNodes: activeDialog().templateNodes,\\n data: activeDialog().data },\\n event: {\\n close: dialog_onClose } }\\\">\\n </div>\\n</div>\\n\\n<form name=\\\"f1\\\" id=\\\"i0281\\\" novalidate=\\\"novalidate\\\" spellcheck=\\\"false\\\"\\n method=\\\"post\\\" target=\\\"_top\\\" autocomplete=\\\"off\\\"\\n data-bind=\\\"visible: !isLoginPageHidden(), autoSubmit: forceSubmit, attr: { action: postUrl }, ariaHidden: !!activeDialog(), css: { 'provide-min-height': svr.cS }\\\">\\n <!-- ko withProperties: { '$loginPage': $data } -->\\n <div class=\\\"login-paginated-page\\\" data-bind=\\\"component: { name: 'master-page',\\n publicMethods: masterPageMethods,\\n params: {\\n serverData: svr,\\n showButtons: svr.e,\\n showFooterLinks: true,\\n useWizardBehavior: svr.bK,\\n handleWizardButtons: false,\\n password: password,\\n hideFromAria: ariaHidden },\\n event: {\\n footerAgreementClick: footer_agreementClick } }\\\">\\n\\n <!-- ko if: svr.B8 -->\\n <!-- ko component: \\\"cookie-banner-control\\\" --><!-- /ko -->\\n <!-- /ko -->\\n\\n <div class=\\\"lightbox-cover\\\" data-bind=\\\"css: { 'disable-lightbox': svr.CL && showLightboxProgress() }\\\"></div>\\n\\n <!-- ko if: showLightboxProgress -->\\n <div id=\\\"progressBar\\\" class=\\\"progress\\\" role=\\\"progressbar\\\" data-bind=\\\"component: 'marching-ants-control', ariaLabel: str['WF_STR_ProgressText']\\\"></div>\\n <!-- /ko -->\\n\\n <!-- ko if: loadBannerLogo -->\\n <div data-bind=\\\"component: { name: 'logo-control',\\n params: {\\n isChinaDc: svr.fIsChinaDc,\\n bannerLogoUrl: bannerLogoUrl() } }\\\">\\n </div>\\n <!-- /ko -->\\n\\n <!-- ko if: svr.Do && paginationControlHelper.showLwaDisclaimer() -->\\n <div id=\\\"LWADisclaimer\\\" class=\\\"text-caption\\\" data-bind=\\\"text: svr.Do\\\"></div>\\n <!-- /ko -->\\n\\n <!-- ko if: asyncInitReady -->\\n <div role=\\\"main\\\" data-bind=\\\"component: { name: 'pagination-control',\\n publicMethods: paginationControlMethods,\\n params: {\\n enableCssAnimation: svr.Bf,\\n disableAnimationIfAnimationEndUnsupported: svr.CP,\\n initialViewId: initialViewId,\\n currentViewId: currentViewId,\\n initialSharedData: initialSharedData,\\n initialError: $loginPage.getServerError() },\\n event: {\\n cancel: paginationControl_onCancel,\\n load: paginationControlHelper.onLoad,\\n unload: paginationControlHelper.onUnload,\\n loadView: view_onLoadView,\\n showView: view_onShow,\\n setLightBoxFadeIn: view_onSetLightBoxFadeIn,\\n animationStateChange: paginationControl_onAnimationStateChange } }\\\">\\n\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.Username + \"\\\" data-showFedCredButton=\\\"true\\\" data-bind=\\\"pageViewComponent: { name: 'login-paginated-username-view',\\n params: {\\n serverData: svr,\\n serverError: initialError,\\n isInitialView: isInitialState,\\n displayName: sharedData.displayName,\\n otherIdpRedirectUrl: sharedData.otherIdpRedirectUrl,\\n prefillNames: $loginPage.prefillNames,\\n flowToken: sharedData.flowToken,\\n availableSignupCreds: sharedData.availableSignupCreds,\\n customStrings: $loginPage.stringCustomizationObservables.customStrings(),\\n isCustomizationFailure: $loginPage.stringCustomizationObservables.isCustomStringsLoadFailure(),\\n userIdLabel: $loginPage.userIdLabel,\\n cantAccessYourAccountText: $loginPage.cantAccessYourAccountText,\\n hideAccountResetCredentials: $loginPage.hideAccountResetCredentials,\\n accessRecoveryLink: $loginPage.accessRecoveryLink,\\n boilerPlateText: $loginPage.boilerPlateText },\\n event: {\\n restoreIsRecoveryAttemptPost: $loginPage.view_onRestoreIsRecoveryAttemptPost,\\n redirect: $loginPage.view_onRedirect,\\n updateDFPUrl: $loginPage.view_onUpdateDFPUrl,\\n setPendingRequest: $loginPage.view_onSetPendingRequest,\\n registerDialog: $loginPage.view_onRegisterDialog,\\n unregisterDialog: $loginPage.view_onUnregisterDialog,\\n showDialog: $loginPage.view_onShowDialog,\\n updateAvailableCredsWithoutUsername: $loginPage.view_onUpdateAvailableCreds,\\n agreementClick: $loginPage.footer_agreementClick } }\\\">\\n </div>\\n\\n <!-- ko ifnot: svr.aD -->\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.SignupUsername + \"\\\" data-bind=\\\"pageViewComponent: { name: 'login-signup-username-view',\\n params: {\\n serverData: svr,\\n serverError: initialError,\\n isInitialView: isInitialState,\\n displayName: sharedData.displayName,\\n otherIdpRedirectUrl: sharedData.otherIdpRedirectUrl,\\n flowToken: sharedData.flowToken,\\n customStrings: $loginPage.stringCustomizationObservables.customStrings(),\\n isCustomizationFailure: $loginPage.stringCustomizationObservables.isCustomStringsLoadFailure() },\\n event: {\\n redirect: $loginPage.view_onRedirect,\\n setPendingRequest: $loginPage.view_onSetPendingRequest } }\\\">\\n </div>\\n <!-- /ko -->\\n\\n <!-- ko if: svr.aD -->\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.SignupUsername + \"\\\" data-showSignupFedCredButton=\\\"true\\\" data-bind=\\\"pageViewComponent: { name: 'login-signup-username-view',\\n params: {\\n serverData: svr,\\n serverError: initialError,\\n isInitialView: isInitialState,\\n displayName: sharedData.displayName,\\n otherIdpRedirectUrl: sharedData.otherIdpRedirectUrl,\\n flowToken: sharedData.flowToken,\\n customStrings: $loginPage.stringCustomizationObservables.customStrings(),\\n isCustomizationFailure: $loginPage.stringCustomizationObservables.isCustomStringsLoadFailure() },\\n event: {\\n redirect: $loginPage.view_onRedirect,\\n setPendingRequest: $loginPage.view_onSetPendingRequest } }\\\">\\n </div>\\n <!-- /ko -->\\n\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.Password + \"\\\" data-showIdentityBanner=\\\"true\\\" data-dynamicBranding=\\\"true\\\" data-bind=\\\"pageViewComponent: { name: 'login-paginated-password-view',\\n params: {\\n serverData: svr,\\n serverError: initialError,\\n isInitialView: isInitialState,\\n username: sharedData.username,\\n displayName: sharedData.displayName,\\n hipRequiredForUsername: sharedData.hipRequiredForUsername,\\n passwordBrowserPrefill: sharedData.passwordBrowserPrefill,\\n availableCreds: sharedData.availableCreds,\\n evictedCreds: sharedData.evictedCreds,\\n useEvictedCredentials: sharedData.useEvictedCredentials,\\n showCredViewBrandingDesc: sharedData.showCredViewBrandingDesc,\\n flowToken: sharedData.flowToken,\\n defaultKmsiValue: svr.Aq === \" + require('js/LoginPage/LoginConstants').LoginOption.RememberPWD + \",\\n userTenantBranding: sharedData.userTenantBranding,\\n sessions: sharedData.sessions,\\n callMetadata: sharedData.callMetadata,\\n supportsNativeCredentialRecovery: sharedData.supportsNativeCredentialRecovery,\\n forgotPasswordText: $loginPage.forgotPasswordText,\\n accessRecoveryLink: $loginPage.accessRecoveryLink,\\n boilerPlateText: $loginPage.boilerPlateText,\\n hideAccountResetCredentials: $loginPage.hideAccountResetCredentials },\\n event: {\\n restoreIsRecoveryAttemptPost: $loginPage.view_onRestoreIsRecoveryAttemptPost,\\n updateFlowToken: $loginPage.view_onUpdateFlowToken,\\n submitReady: $loginPage.view_onSubmitReady,\\n redirect: $loginPage.view_onRedirect,\\n resetPassword: $loginPage.passwordView_onResetPassword,\\n setBackButtonState: view_onSetIdentityBackButtonState,\\n setPendingRequest: $loginPage.view_onSetPendingRequest } }\\\">\\n </div>\\n\\n <!-- ko if: svr.fIsQrCodePinSupported -->\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.QrCodePin + \"\\\" data-showIdentityBanner=\\\"true\\\" data-dynamicBranding=\\\"true\\\" data-bind=\\\"pageViewComponent: { name: 'login-paginated-qr-code-pin-view',\\n params: {\\n serverData: svr,\\n serverError: initialError,\\n qrCodeData: sharedData.qrCodeData,\\n userTenantBranding: sharedData.userTenantBranding,\\n boilerPlateText: $loginPage.boilerPlateText },\\n event: {\\n submitReady: $loginPage.view_onSubmitReady,\\n setBackButtonState: view_onSetIdentityBackButtonState } }\\\">\\n </div>\\n <!-- /ko -->\\n\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.AccessPass + \"\\\" data-showIdentityBanner=\\\"true\\\" data-dynamicBranding=\\\"true\\\" data-bind=\\\"pageViewComponent: { name: 'login-access-pass-view',\\n params: {\\n serverData: svr,\\n serverError: initialError,\\n isInitialView: isInitialState,\\n unsafe_username: sharedData.username,\\n unsafe_displayName: sharedData.displayName,\\n availableCreds: sharedData.availableCreds,\\n flowToken: sharedData.flowToken,\\n isTapRestrictedWsi: sharedData.isTapRestrictedWsi },\\n event: {\\n updateFlowToken: $loginPage.view_onUpdateFlowToken,\\n submitReady: $loginPage.view_onSubmitReady,\\n setBackButtonState: view_onSetIdentityBackButtonState,\\n redirect: $loginPage.view_onRedirect,\\n setPendingRequest: $loginPage.view_onSetPendingRequest } }\\\">\\n </div>\\n\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.SearchOrganization + \"\\\" data-showQrCodeSignInButton=\\\"true\\\" data-bind=\\\"pageViewComponent: { name: 'search-organization-view',\\n params: {\\n serverData: svr },\\n event: {\\n redirect: $loginPage.view_onRedirect,\\n setPendingRequest: $loginPage.view_onSetPendingRequest } }\\\">\\n </div>\\n\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.ProofConfirmation + \"\\\" data-showIdentityBanner=\\\"true\\\" data-bind=\\\"pageViewComponent: { name: 'login-proof-confirmation-view',\\n params: {\\n serverData: svr,\\n isInitialView: isInitialState,\\n username: sharedData.username,\\n availableCreds: sharedData.availableCreds,\\n evictedCreds: sharedData.evictedCreds,\\n useEvictedCredentials: sharedData.useEvictedCredentials,\\n currentCred: sharedData.otcCredential,\\n flowToken: sharedData.flowToken },\\n event: {\\n redirect: $loginPage.view_onRedirect,\\n updateFlowToken: $loginPage.view_onUpdateFlowToken,\\n setBackButtonState: view_onSetIdentityBackButtonState,\\n setPendingRequest: $loginPage.view_onSetPendingRequest } }\\\">\\n </div>\\n\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.OneTimeCode + \"\\\" data-showIdentityBanner=\\\"true\\\" data-bind=\\\"pageViewComponent: { name: 'login-paginated-otc-view',\\n params: {\\n serverData: svr,\\n serverError: initialError,\\n isInitialView: isInitialState,\\n username: sharedData.username,\\n displayName: sharedData.displayName,\\n otcParams: sharedData.otcParams,\\n preferredCredential: sharedData.preferredCredential,\\n availableCreds: sharedData.availableCreds,\\n evictedCreds: sharedData.evictedCreds,\\n useEvictedCredentials: sharedData.useEvictedCredentials,\\n showCredViewBrandingDesc: sharedData.showCredViewBrandingDesc,\\n currentCred: sharedData.otcCredential,\\n proofConfirmation: sharedData.proofConfirmation,\\n defaultKmsiValue: svr.Aq === \" + require('js/LoginPage/LoginConstants').LoginOption.RememberPWD + \",\\n flowToken: sharedData.flowToken,\\n isSignup: sharedData.isSignupPost,\\n customStrings: $loginPage.stringCustomizationObservables.customStrings(),\\n isCustomizationFailure: $loginPage.stringCustomizationObservables.isCustomStringsLoadFailure() },\\n event: {\\n redirect: $loginPage.view_onRedirect,\\n updateFlowToken: $loginPage.view_onUpdateFlowToken,\\n submitReady: $loginPage.view_onSubmitReady,\\n setBackButtonState: view_onSetIdentityBackButtonState,\\n setPendingRequest: $loginPage.view_onSetPendingRequest } }\\\">\\n </div>\\n\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.OneTimeCodeRecovery + \"\\\" data-showIdentityBanner=\\\"true\\\" data-bind=\\\"pageViewComponent: { name: 'login-paginated-otc-view',\\n params: {\\n serverData: svr,\\n serverError: initialError,\\n isInitialView: isInitialState,\\n username: sharedData.username,\\n displayName: sharedData.displayName,\\n otcParams: sharedData.recoveryCredentialsData.otcParams,\\n preferredCredential: sharedData.recoveryCredentialsData.preferredCredential,\\n availableCreds: sharedData.recoveryCredentialsData.availableRecoveryCreds,\\n currentCred: sharedData.recoveryCredentialsData.otcCredential,\\n proofConfirmation: sharedData.proofConfirmation,\\n flowToken: sharedData.flowToken,\\n isNativeRecovery: true },\\n event: {\\n redirect: $loginPage.view_onRedirect,\\n updateFlowToken: $loginPage.view_onUpdateFlowToken,\\n submitReady: $loginPage.view_onSubmitReady,\\n setBackButtonState: view_onSetIdentityBackButtonState,\\n setPendingRequest: $loginPage.view_onSetPendingRequest } }\\\">\\n </div>\\n\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.RemoteNGC + \"\\\" data-dynamicBranding=\\\"true\\\" data-showIdentityBanner=\\\"true\\\" data-bind=\\\"pageViewComponent: { name: 'login-remote-ngc-view',\\n params: {\\n serverData: svr,\\n serverError: initialError,\\n isInitialView: isInitialState,\\n username: sharedData.username,\\n displayName: sharedData.displayName,\\n remoteNgcParams: sharedData.remoteNgcParams,\\n availableCreds: sharedData.availableCreds,\\n evictedCreds: sharedData.evictedCreds,\\n useEvictedCredentials: sharedData.useEvictedCredentials,\\n showCredViewBrandingDesc: sharedData.showCredViewBrandingDesc,\\n defaultKmsiValue: svr.Aq === \" + require('js/LoginPage/LoginConstants').LoginOption.RememberPWD + \",\\n sessions: sharedData.sessions,\\n flowToken: sharedData.flowToken,\\n idpRedirectUrl: sharedData.idpRedirectUrl },\\n event: {\\n redirect: $loginPage.view_onRedirect,\\n updateFlowToken: $loginPage.view_onUpdateFlowToken,\\n updateRemoteNgcParams: $loginPage.view_onUpdateRemoteNgcParams,\\n submitReady: $loginPage.view_onSubmitReady,\\n setBackButtonState: view_onSetIdentityBackButtonState } }\\\">\\n </div>\\n\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.RemoteConnectCanaryValidation + \"\\\" data-dynamicBranding=\\\"true\\\" data-showIdentityBanner=\\\"true\\\" data-bind=\\\"pageViewComponent: { name: 'remote-connect-canary-validation-view',\\n params: {\\n serverData: svr,\\n postCanaryValidationAction: $loginPage.postCanaryValidationAction },\\n event: {\\n redirect: $loginPage.view_onRedirect,\\n setBackButtonState: view_onSetIdentityBackButtonState } }\\\">\\n </div>\\n\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.PhoneDisambiguation + \"\\\" data-bind=\\\"pageViewComponent: { name: 'login-phone-disambiguation-view',\\n params: {\\n serverData: svr,\\n isInitialView: isInitialState,\\n username: sharedData.username,\\n location: sharedData.location,\\n otherIdpRedirectUrl: sharedData.otherIdpRedirectUrl,\\n flowToken: sharedData.flowToken },\\n event: {\\n redirect: $loginPage.view_onRedirect,\\n setPendingRequest: $loginPage.view_onSetPendingRequest } }\\\">\\n </div>\\n\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.LwaConsent + \"\\\" data-showIdentityBanner=\\\"true\\\" data-bind=\\\"pageViewComponent: { name: 'login-paginated-lwa-consent-view',\\n params: {\\n serverData: svr,\\n username: sharedData.username,\\n displayName: sharedData.displayName },\\n event: {\\n submitReady: $loginPage.view_onSubmitReady } }\\\">\\n </div>\\n\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.IdpDisambiguation + \"\\\" data-bind=\\\"pageViewComponent: { name: 'login-idp-disambiguation-view',\\n params: {\\n serverData: svr,\\n isInitialView: isInitialState,\\n displayName: sharedData.displayName,\\n hasInitialError: sharedData.hasIdpDisambigError,\\n sessions: sharedData.sessions,\\n otherIdpRedirectUrl: sharedData.otherIdpRedirectUrl,\\n idpRedirectUrl: sharedData.idpRedirectUrl,\\n idpRedirectPostParams: sharedData.idpRedirectPostParams,\\n preferredCredential: sharedData.preferredCredential,\\n desktopSsoExecuted: sharedData.desktopSsoExecuted,\\n desktopSsoEnabled: sharedData.desktopSsoEnabled },\\n event: {\\n redirect: $loginPage.view_onRedirect } }\\\">\\n </div>\\n\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.IdpRedirect + \"\\\" data-bind=\\\"pageViewComponent: { name: 'login-idp-redirect-view',\\n params: {\\n serverData: svr,\\n idpRedirectUrl: sharedData.idpRedirectUrl,\\n idpRedirectPostParams: sharedData.idpRedirectPostParams,\\n idpRedirectProvider: sharedData.idpRedirectProvider },\\n event: {\\n redirect: $loginPage.view_onRedirect } }\\\">\\n </div>\\n\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.IdpRedirectSpeedbump + \"\\\" data-showIdentityBanner=\\\"true\\\" data-bind=\\\"pageViewComponent: { name: 'login-idp-redirect-speedbump-view',\\n params: {\\n serverData: svr,\\n username: sharedData.username,\\n idpRedirectUrl: sharedData.idpRedirectUrl,\\n idpRedirectPostParams: sharedData.idpRedirectPostParams,\\n idpRedirectProvider: sharedData.idpRedirectProvider,\\n isInitialView: isInitialState,\\n availableCreds: sharedData.availableCreds,\\n evictedCreds: sharedData.evictedCreds,\\n useEvictedCredentials: sharedData.useEvictedCredentials,\\n showCredViewBrandingDesc: sharedData.showCredViewBrandingDesc,\\n flowToken: sharedData.flowToken },\\n event: {\\n redirect: $loginPage.view_onRedirect,\\n setBackButtonState: view_onSetIdentityBackButtonState,\\n updateFlowToken: $loginPage.view_onUpdateFlowToken,\\n setPendingRequest: $loginPage.view_onSetPendingRequest } }\\\">\\n </div>\\n\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.Tiles + \"\\\" data-bind=\\\"pageViewComponent: { name: 'tiles-view',\\n params: {\\n serverData: svr,\\n serverError: initialError,\\n sessions: sharedData.sessions,\\n flowToken: sharedData.flowToken,\\n otherIdpRedirectUrl: sharedData.otherIdpRedirectUrl,\\n isTileRequestPending: $loginPage.asyncTileRequestCount > 0,\\n availableSignupCreds: sharedData.availableSignupCreds },\\n event: {\\n redirect: $loginPage.view_onRedirect,\\n setPendingRequest: $loginPage.view_onSetPendingRequest } }\\\">\\n </div>\\n\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.ViewAgreement + \"\\\" data-wide=\\\"true\\\" data-hideLogo=\\\"true\\\" data-hideLwaDisclaimer=\\\"true\\\" data-hidePageLevelTitleAndDesc=\\\"true\\\"\\n data-bind=\\\"pageViewComponent: { name: 'login-view-agreement-view',\\n params: {\\n serverData: svr,\\n agreementType: $loginPage.agreementType } }\\\">\\n </div>\\n\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.LearnMoreOfflineAccount + \"\\\" data-wide=\\\"true\\\" data-hideLogo=\\\"true\\\" data-hideLwaDisclaimer=\\\"true\\\" data-hidePageLevelTitleAndDesc=\\\"true\\\"\\n data-bind=\\\"pageViewComponent: { name: 'login-view-learn-more-offline-account-view',\\n params: {\\n serverData: svr } }\\\">\\n </div>\\n\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.WebNativeBridge + \"\\\" data-hideLogo=\\\"true\\\" data-hideLwaDisclaimer=\\\"true\\\" data-hidePageLevelTitleAndDesc=\\\"true\\\"\\n data-bind=\\\"pageViewComponent: { name: 'web-native-bridge-view',\\n params: {\\n serverData: svr,\\n request: sharedData.request,\\n flowToken: sharedData.flowToken,\\n reprocessGct: true },\\n event: {\\n executeGctResult: $loginPage.fetchSessions_onExecuteGctResult,\\n redirect: $loginPage.view_onRedirect } }\\\">\\n </div>\\n\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.SeeHowDataIsManaged + \"\\\" data-hidePageLevelTitleAndDesc=\\\"true\\\"\\n data-bind=\\\"pageViewComponent: { name: 'see-how-data-is-managed-view',\\n params: {\\n serverData: svr } }\\\">\\n </div>\\n\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.ConfirmSend + \"\\\" data-showIdentityBanner=\\\"true\\\" data-dynamicBranding=\\\"true\\\" data-bind=\\\"pageViewComponent: { name: 'login-confirm-send-view',\\n params: {\\n serverData: svr,\\n isInitialView: isInitialState,\\n username: sharedData.username,\\n displayName: sharedData.displayName,\\n preferredCredential: sharedData.preferredCredential,\\n availableCreds: sharedData.availableCreds,\\n evictedCreds: sharedData.evictedCreds,\\n useEvictedCredentials: sharedData.useEvictedCredentials,\\n currentCred: sharedData.otcCredential,\\n sessions: sharedData.sessions,\\n flowToken: sharedData.flowToken },\\n event: {\\n updateFlowToken: $loginPage.view_onUpdateFlowToken,\\n redirect: $loginPage.view_onRedirect,\\n setBackButtonState: view_onSetIdentityBackButtonState } }\\\">\\n </div>\\n\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.RemoteLoginPolling + \"\\\" data-hideLwaDisclaimer=\\\"true\\\" data-bind=\\\"pageViewComponent: { name: 'login-remote-login-polling-view',\\n params: {\\n serverData: svr,\\n autoSendOtcRequest: isInitialState,\\n userCode: sharedData.remoteLoginUserCode,\\n deviceCode: sharedData.remoteLoginDeviceCode },\\n event: {\\n submitReady: $loginPage.view_onSubmitReady } }\\\">\\n </div>\\n\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.LearnMore + \"\\\" data-hideLogo=\\\"true\\\" data-hideLwaDisclaimer=\\\"true\\\"\\n data-bind=\\\"pageViewComponent: { name: 'login-learn-more-view',\\n params: {\\n serverData: svr,\\n command: 'loginlearnmore' } }\\\">\\n </div>\\n\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.ResetPasswordSplitter + \"\\\" data-bind=\\\"pageViewComponent: { name: 'login-reset-password-splitter-view',\\n params: {\\n serverData: svr },\\n event: {\\n redirect: $loginPage.view_onRedirect } }\\\">\\n </div>\\n\\n <!-- ko if: svr.fIsQrCodePinSupported -->\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.QrCodeScan + \"\\\" data-bind=\\\"pageViewComponent: { name: 'login-qr-code-scan-view',\\n params: {\\n serverData: svr,\\n serverError: initialError,\\n username: sharedData.username,\\n preferredCredential: sharedData.preferredCredential,\\n availableCreds: sharedData.availableCreds,\\n otherIdpRedirectUrl: sharedData.otherIdpRedirectUrl,\\n flowToken: sharedData.flowToken,\\n qrCodePinParams: sharedData.qrCodePinParams },\\n event: {\\n redirect: $loginPage.view_onRedirect } }\\\">\\n </div>\\n <!-- /ko -->\\n\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.FetchSessionsProgress + \"\\\" data-bind=\\\"pageViewComponent: { name: 'fetch-sessions-progress-view',\\n params: {\\n serverData: svr,\\n sessionPullType: $loginPage.sessionPullType,\\n isInitialView: isInitialState,\\n username: sharedData.username,\\n displayName: sharedData.displayName,\\n unsafe_desktopSsoDomainToUse: sharedData.unsafe_desktopSsoDomainToUse,\\n preferredCredential: sharedData.preferredCredential,\\n isPushNotification: sharedData.remoteNgcParams.defaultType === \" + require('js/Core/Constants').RemoteNgcType.PushNotification + \" },\\n event: {\\n updateUserTiles: $loginPage.fetchSessions_onUpdateUserTiles,\\n executeGctResult: $loginPage.fetchSessions_onExecuteGctResult,\\n submitReady: $loginPage.view_onSubmitReady,\\n redirect: $loginPage.view_onRedirect } }\\\">\\n </div>\\n\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.Fido + \"\\\" data-showIdentityBanner=\\\"true\\\" data-bind=\\\"pageViewComponent: { name: 'login-fido-view',\\n params: {\\n serverData: svr,\\n serverError: initialError,\\n isInitialView: isInitialState,\\n username: sharedData.username,\\n displayName: sharedData.displayName,\\n allowList: sharedData.fidoParams.allowList,\\n challenge: sharedData.flowToken,\\n availableCreds: sharedData.availableCreds,\\n evictedCreds: sharedData.evictedCreds,\\n useEvictedCredentials: sharedData.useEvictedCredentials,\\n flowToken: sharedData.flowToken,\\n sessions: sharedData.sessions,\\n hasMsftAuthAppPasskey: sharedData.fidoParams.hasMsftAuthAppPasskey,\\n hasMsftAndroidAuthAppPasskey: sharedData.fidoParams.hasMsftAndroidAuthAppPasskey,\\n hasOnlyMsftAndroidAuthAppPasskey: sharedData.fidoParams.hasOnlyMsftAndroidAuthAppPasskey\\n },\\n event: {\\n updateFlowToken: $loginPage.view_onUpdateFlowToken,\\n submitReady: $loginPage.view_onSubmitReady,\\n redirect: $loginPage.view_onRedirect,\\n setBackButtonState: view_onSetIdentityBackButtonState,\\n setLoginPageHiddenState: $loginPage.view_onSetLoginPageHiddenState} }\\\">\\n </div>\\n\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.CredentialPicker + \"\\\" data-bind=\\\"pageViewComponent: { name: 'login-credential-picker-view',\\n params: {\\n serverData: svr,\\n serverError: initialError,\\n isInitialView: isInitialState,\\n username: sharedData.username,\\n isUserKnown: !!sharedData.displayName,\\n availableCreds: sharedData.availableCreds,\\n evictedCreds: sharedData.evictedCreds,\\n useEvictedCredentials: sharedData.useEvictedCredentials,\\n flowToken: sharedData.flowToken },\\n event: {\\n updateFlowToken: $loginPage.view_onUpdateFlowToken,\\n redirect: $loginPage.view_onRedirect,\\n setPendingRequest: $loginPage.view_onSetPendingRequest,\\n registerDialog: $loginPage.view_onRegisterDialog,\\n unregisterDialog: $loginPage.view_onUnregisterDialog,\\n showDialog: $loginPage.view_onShowDialog } }\\\">\\n </div>\\n\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.ConfirmSignup + \"\\\" data-bind=\\\"pageViewComponent: { name: 'login-confirm-signup-view',\\n params: {\\n serverData: svr,\\n serverError: initialError,\\n isInitialView: isInitialState,\\n displayName: sharedData.displayName },\\n event: {\\n redirect: $loginPage.view_onRedirect } }\\\">\\n </div>\\n\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.CertificateInterstitialView + \"\\\" data-showIdentityBanner=\\\"true\\\" data-bind=\\\"pageViewComponent: { name: 'login-certificate-interstitial-view',\\n params: {\\n serverData: svr,\\n availableCreds: sharedData.availableCreds,\\n serverError: initialError,\\n isInitialView: isInitialState,\\n displayName: sharedData.displayName },\\n event: {\\n redirect: $loginPage.view_onRedirect } }\\\">\\n </div>\\n\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.ConfirmRecoverUsername + \"\\\" data-bind=\\\"pageViewComponent: { name: 'login-confirm-recover-username-view',\\n params: {\\n serverData: svr,\\n serverError: initialError,\\n isInitialView: isInitialState,\\n displayName: sharedData.displayName },\\n event: {\\n redirect: $loginPage.view_onRedirect } }\\\">\\n </div>\\n\\n <!-- ko if: svr.fShowUserAlreadyExistErrorHandling || svr.fBlockOnAppleEmailClaimError -->\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.SignupBlocked + \"\\\" data-bind=\\\"pageViewComponent: { name: 'login-signup-blocked-view',\\n params: {\\n serverData: svr,\\n otherIdpRedirectUrl: sharedData.otherIdpRedirectUrl,\\n flowToken: sharedData.flowToken,\\n username: sharedData.username },\\n event: {\\n redirect: $loginPage.view_onRedirect } }\\\">\\n </div>\\n <!-- /ko -->\\n\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.FedConflict + \"\\\" data-bind=\\\"pageViewComponent: { name: 'login-fed-conflict-view',\\n params: {\\n serverData: svr },\\n event: {\\n redirect: $loginPage.view_onRedirect } }\\\">\\n </div>\\n\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.ProofFedConflict + \"\\\" data-bind=\\\"pageViewComponent: { name: 'login-proof-fed-conflict-view',\\n params: {\\n serverData: svr },\\n event: {\\n redirect: $loginPage.view_onRedirect } }\\\">\\n </div>\\n\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.AadFedConflict + \"\\\" data-bind=\\\"pageViewComponent: { name: 'login-aad-fed-conflict-view',\\n params: {\\n serverData: svr,\\n isInitialView: isInitialState,\\n username: sharedData.username,\\n displayName: sharedData.displayName },\\n event: {\\n redirect: $loginPage.view_onRedirect } }\\\">\\n </div>\\n\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.FedLink + \"\\\" data-showIdentityBanner=\\\"true\\\" data-bind=\\\"pageViewComponent: { name: 'login-fed-link-view',\\n params: {\\n serverData: svr,\\n isInitialView: isInitialState,\\n username: sharedData.username,\\n displayName: sharedData.displayName,\\n otherIdpRedirectUrl: sharedData.otherIdpRedirectUrl,\\n flowToken: sharedData.flowToken },\\n event: {\\n redirect: $loginPage.view_onRedirect,\\n setBackButtonState: view_onSetIdentityBackButtonState,\\n setPendingRequest: $loginPage.view_onSetPendingRequest } }\\\">\\n </div>\\n\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.TenantDisambiguation + \"\\\" data-showIdentityBanner=\\\"true\\\" data-bind=\\\"pageViewComponent: { name: 'login-tenant-disambiguation-view',\\n params: {\\n serverData: svr,\\n unsafe_username: sharedData.username,\\n unsafe_displayName: sharedData.displayName,\\n tenantList: sharedData.tenantList },\\n event: {\\n setBackButtonState: view_onSetIdentityBackButtonState,\\n submitReady: $loginPage.view_onSubmitReady } }\\\">\\n </div>\\n\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.SignupCredentialPicker + \"\\\" data-bind=\\\"pageViewComponent: { name: 'login-credential-picker-view',\\n params: {\\n serverData: svr,\\n isInitialView: isInitialState,\\n isSignup: true,\\n availableCreds: sharedData.availableSignupCreds },\\n event: {\\n redirect: $loginPage.view_onRedirect } }\\\">\\n </div>\\n\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.RecoveryCredentialPicker + \"\\\" data-bind=\\\"pageViewComponent: { name: 'login-credential-picker-view',\\n params: {\\n serverData: svr,\\n isInitialView: isInitialState,\\n availableCreds: sharedData.recoveryCredentialsData.availableRecoveryCreds },\\n event: {\\n redirect: $loginPage.view_onRedirect } }\\\">\\n </div>\\n\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.RemoteConnectLocation + \"\\\" data-bind=\\\"pageViewComponent: { name: 'login-remote-connect-location-view',\\n params: {\\n serverData: svr } }\\\">\\n </div>\\n\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.MoreInfo + \"\\\" data-showIdentityBanner=\\\"true\\\" data-bind=\\\"pageViewComponent: { name: 'more-info-view',\\n params: {\\n serverData: svr,\\n moreInfoTitle: str['CT_WSI_WebSignIn_RestrictedToTapHeader'],\\n moreInfo: str['CT_WSI_WebSignIn_RestrictedToTapError'],\\n showErrorText: true,\\n isInitialView: isInitialState } }\\\">\\n </div>\\n\\n <!-- ko if: svr.fIsVerifiableCredentialsSupportEnabled -->\\n <div data-viewid=\\\"\" + require('js/Core/Constants').PaginatedState.VCPresentation + \"\\\" data-dynamicBranding=\\\"true\\\" data-showIdentityBanner=\\\"true\\\" data-bind=\\\"pageViewComponent: { name: 'login-verifiable-credential-presentation-view',\\n params: {\\n availableCreds: sharedData.availableCreds,\\n serverData: svr,\\n isInitialView: isInitialState,\\n username: sharedData.username,\\n displayName: sharedData.displayName,\\n flowToken: sharedData.flowToken },\\n event: {\\n updateFlowToken: $loginPage.view_onUpdateFlowToken,\\n setBackButtonState: view_onSetIdentityBackButtonState,\\n submitReady: $loginPage.view_onSubmitReady,\\n setPendingRequest: $loginPage.view_onSetPendingRequest }}\\\">\\n </div>\\n <!-- /ko -->\\n </div>\\n <!-- /ko -->\\n\\n <input type=\\\"hidden\\\" name=\\\"ps\\\" data-bind=\\\"value: postedLoginStateViewId\\\" />\\n <input type=\\\"hidden\\\" name=\\\"psRNGCDefaultType\\\" data-bind=\\\"value: postedLoginStateViewRNGCDefaultType\\\" />\\n <input type=\\\"hidden\\\" name=\\\"psRNGCEntropy\\\" data-bind=\\\"value: postedLoginStateViewRNGCEntropy\\\" />\\n <input type=\\\"hidden\\\" name=\\\"psRNGCSLK\\\" data-bind=\\\"value: postedLoginStateViewRNGCSLK\\\" />\\n <!-- ko if: svr.AE && !svr.fSkipRenderingNewCanaryToken -->\\n <input type=\\\"hidden\\\" data-bind=\\\"attr: { name: svr.AE }, value: svr.canary\\\" />\\n <!-- /ko -->\\n <!-- ko if: !svr.AE || svr.fSkipRenderingNewCanaryToken -->\\n <input type=\\\"hidden\\\" name=\\\"canary\\\" data-bind=\\\"value: svr.canary\\\" />\\n <!-- /ko -->\\n <input type=\\\"hidden\\\" name=\\\"ctx\\\" data-bind=\\\"value: ctx\\\" />\\n <input type=\\\"hidden\\\" name=\\\"hpgrequestid\\\" data-bind=\\\"value: svr.sessionId\\\" />\\n <input type=\\\"hidden\\\" id=\\\"i0327\\\" data-bind=\\\"attr: { name: svr.bw }, value: flowToken\\\" />\\n <input type=\\\"hidden\\\" name=\\\"PPSX\\\" data-bind=\\\"value: svr.Dk\\\" />\\n <input type=\\\"hidden\\\" name=\\\"NewUser\\\" value=\\\"1\\\" />\\n <input type=\\\"hidden\\\" name=\\\"FoundMSAs\\\" data-bind=\\\"value: svr.At\\\" />\\n <input type=\\\"hidden\\\" name=\\\"fspost\\\" data-bind=\\\"value: svr.fPOST_ForceSignin ? 1 : 0\\\" />\\n <input type=\\\"hidden\\\" name=\\\"i21\\\" data-bind=\\\"value: wasLearnMoreShown() ? 1 : 0\\\" />\\n <input type=\\\"hidden\\\" name=\\\"CookieDisclosure\\\" data-bind=\\\"value: svr.B8 ? 1 : 0\\\" />\\n <input type=\\\"hidden\\\" name=\\\"IsFidoSupported\\\" data-bind=\\\"value: isFidoSupported() ? 1 : 0\\\" />\\n <input type=\\\"hidden\\\" name=\\\"isSignupPost\\\" data-bind=\\\"value: isSignupPost() ? 1 : 0\\\" />\\n <!-- ko ifnot: svr.fShouldSupportTargetCredentialForRecovery -->\\n <input type=\\\"hidden\\\" name=\\\"isRecoveryAttemptPost\\\" data-bind=\\\"value: isRecoveryAttemptPost() ? 1 : 0\\\" />\\n <!-- /ko -->\\n <!-- ko if: svr.fEnableDFPIntegration -->\\n <input type=\\\"hidden\\\" name=\\\"DfpArtifact\\\" data-bind=\\\"value: dfpResult()\\\" />\\n <!-- /ko -->\\n <!-- ko if: svr.fShouldSupportTargetCredentialForRecovery && targetCredentialForRecovery() -->\\n <input type=\\\"hidden\\\" name=\\\"targetCredentialForRecovery\\\" data-bind=\\\"value: targetCredentialForRecovery()\\\" />\\n <!-- /ko -->\\n <div data-bind=\\\"component: { name: 'instrumentation-control',\\n publicMethods: instrumentationMethods,\\n params: { serverData: svr } }\\\">\\n </div>\\n </div>\\n <!-- /ko -->\\n</form>\\n\\n<form data-bind=\\\"postRedirectForm: postRedirect\\\"></form>\\n\\n<!-- ko if: svr.aR -->\\n<div id=\\\"idPartnerPL\\\" data-bind=\\\"injectIframe: { url: svr.aR }\\\"></div>\\n<!-- /ko -->\\n\\n<!-- ko if: svr.fEnableDFPIntegration && dfpUrl() -->\\n<div id=\\\"idDFPDeviceFingerprinting\\\" data-bind=\\\"injectDfpIframe: { url: dfpUrl() }\\\"></div>\\n<!-- /ko -->\";","var ko = require(\"knockout\");\r\nvar Browser = require(\"./BrowserControl\");\r\n\r\nvar w = window;\r\n\r\nko.components.register(\"cookie-banner-control\",\r\n {\r\n template: require(\"html/Shared/Controls/CookieBannerControlHtml.html\"),\r\n synchronous: !w.ServerData.A || Browser.Helper.isStackSizeGreaterThan(w.ServerData.A)\r\n });","module.exports = \"<!-- \" + (require(\"js/Core/AccessibleImageControlViewModel\"), \"\") + \" -->\\n\\n<div id=\\\"msccBanner\\\" class=\\\"cc-banner\\\" role=\\\"alert\\\">\\n <div class=\\\"cc-container\\\">\\n <!-- ko component: 'accessible-image-control' -->\\n <img class=\\\"cc-icon cc-v-center\\\" role=\\\"presentation\\\" pngSrc=\\\"\" + require(\"images/info_white.png\") + \"\\\" svgSrc=\\\"\" + require(\"images/info_white.svg\") + \"\\\" data-bind=\\\"imgSrc\\\" />\\n <img class=\\\"cc-icon cc-v-center\\\" role=\\\"presentation\\\" pngSrc=\\\"\" + require(\"images/info.png\") + \"\\\" svgSrc=\\\"\" + require(\"images/info.svg\") + \"\\\" data-bind=\\\"imgSrc\\\" />\\n <!-- /ko -->\\n\\n <span class=\\\"cc-v-center cc-text\\\" data-bind=\\\"\\n htmlWithBindings: html['CT_STR_CookieBanner_Text'],\\n childBindings: {\\n 'msccLearnMore': {\\n href: svr.au,\\n ariaLabel: str['CT_STR_CookieBanner_Link_AriaLabel'],\\n css: { 'cc-link cc-v-center float-right': true } } }\\\"></span>\\n </div>\\n</div>\";","module.exports = \"<!-- ko if: (isHighContrastBlackTheme || hasDarkBackground || svr.fHasBackgroundColor) && !isHighContrastWhiteTheme -->\\n<!-- ko template: { nodes: [lightImageNode], data: $parent } --><!-- /ko -->\\n<!-- /ko -->\\n<!-- ko if: (isHighContrastWhiteTheme || (!hasDarkBackground && !svr.fHasBackgroundColor)) && !isHighContrastBlackTheme -->\\n<!-- ko template: { nodes: [darkImageNode], data: $parent } --><!-- /ko -->\\n<!-- /ko -->\";","module.exports = __webpack_public_path__ + \"content/images/info_white_dfa67fc9bb86d25ec9024cbcc464f6ab.png\";","module.exports = __webpack_public_path__ + \"content/images/info_white_997279b4e1ae2d0de0573ab66a1a37b2.svg\";","module.exports = __webpack_public_path__ + \"content/images/info_04af79aaa0bb09fe91bef6f2e01e5763.png\";","module.exports = __webpack_public_path__ + \"content/images/info_993395b9ddf90c917b2e968779362df6.svg\";","var ko = require(\"knockout\");\r\nvar Constants = require(\"./Constants\");\r\nvar Browser = require(\"./BrowserControl\");\r\nvar ComponentEvent = require(\"./ComponentEvent\");\r\n\r\nvar w = window;\r\nvar BrowserHelper = Browser.Helper;\r\nvar KeyCode = Constants.KeyCode;\r\n\r\n\r\nfunction DialogControl(params)\r\n{\r\n var _this = this;\r\n\r\n \r\n var _data = params.data;\r\n var _templateNodes = params.templateNodes;\r\n \r\n\r\n \r\n _this.data = _data;\r\n _this.templateNodes = _templateNodes;\r\n \r\n\r\n \r\n _this.onClose = ComponentEvent.create();\r\n \r\n\r\n \r\n _this.dispose = function ()\r\n {\r\n BrowserHelper.removeEventListener(document.body, \"keydown\", _body_onKeyDown);\r\n };\r\n \r\n\r\n \r\n _this.overlay_onClick = function ()\r\n {\r\n \r\n \r\n return true;\r\n };\r\n\r\n _this.primaryButton_onClick = function ()\r\n {\r\n _this.onClose();\r\n };\r\n \r\n\r\n \r\n function _body_onKeyDown(e)\r\n {\r\n e = e || w.event;\r\n\r\n if (e.code === \"Escape\" || e.keyCode === KeyCode.Escape)\r\n {\r\n _this.onClose();\r\n }\r\n }\r\n\r\n (function _initialize()\r\n {\r\n BrowserHelper.addEventListener(document.body, \"keydown\", _body_onKeyDown);\r\n })();\r\n \r\n}\r\n\r\nko.components.register(\"dialog-control\",\r\n {\r\n viewModel: DialogControl,\r\n template: require(\"html/Shared/Controls/DialogControlHtml.html\"),\r\n synchronous: !w.ServerData.A || Browser.Helper.isStackSizeGreaterThan(w.ServerData.A),\r\n enableExtensions: true\r\n });\r\n\r\nmodule.exports = DialogControl;","module.exports = \"<!-- \" + (require(\"js/Fields/FooterButtonsFieldViewModel\"), \"\") + \" -->\\n\\n<div class=\\\"dialog-outer\\\" data-bind=\\\"click: overlay_onClick\\\">\\n <div class=\\\"dialog-middle\\\">\\n <div class=\\\"dialog-inner win-flyout\\\">\\n <div class=\\\"dialog-content\\\" role=\\\"dialog\\\" data-bind=\\\"\\n attr: { 'aria-labelledby': data.labelledBy },\\n ariaDescribedBy: data.describedBy\\\">\\n\\n <!-- ko template: { nodes: templateNodes, data: data } --><!-- /ko -->\\n\\n <div class=\\\"position-buttons\\\">\\n <div class=\\\"row\\\">\\n <div data-bind=\\\"component: { name: 'footer-buttons-field',\\n params: {\\n serverData: svr,\\n primaryButtonId: 'dialogCloseButton',\\n primaryButtonText: str['CT_STR_Dialog_CloseButton'],\\n focusOnPrimaryButton: true,\\n primaryButtonPreventTabbing: data.primaryButtonPreventTabbing || { direction: 'both' },\\n removeBottomMargin: true,\\n isSecondaryButtonVisible: false },\\n event: {\\n primaryButtonClick: primaryButton_onClick } }\\\">\\n </div>\\n </div>\\n </div>\\n </div>\\n </div>\\n </div>\\n</div>\";","module.exports = \"<div class=\\\"col-xs-24 no-padding-left-right button-container\\\" data-bind=\\\"\\n visible: isPrimaryButtonVisible() || isSecondaryButtonVisible(),\\n css: { 'no-margin-bottom': removeBottomMargin },\\n externalCss: { 'button-field-container': true }\\\">\\n\\n <!-- ko if: isSecondaryButtonVisible -->\\n <div data-bind=\\\"css: { 'inline-block': true }, externalCss: { 'button-item': true }\\\">\\n <input type=\\\"button\\\" id=\\\"idBtn_Back\\\" class=\\\"win-button button-secondary\\\" data-bind=\\\"\\n attr: { 'id': secondaryButtonId || 'idBtn_Back' },\\n externalCss: {\\n 'button': true,\\n 'secondary': true },\\n value: secondaryButtonText() || str['CT_HRD_STR_Splitter_Back'],\\n ariaDescribedBy: secondaryButtonDescribedBy,\\n hasFocus: focusOnSecondaryButton,\\n click: secondaryButton_onClick,\\n clickBubble: !svr.fEnableLivePreview,\\n enable: isSecondaryButtonEnabled\\\" />\\n </div>\\n <!-- /ko -->\\n\\n <div data-bind=\\\"css: { 'inline-block': isPrimaryButtonVisible }, externalCss: { 'button-item': true }\\\">\\n <!-- type=\\\"submit\\\" is needed in-addition to 'type' in primaryButtonAttributes observable to support IE8 -->\\n <!-- ko ifnot: svr.fConsentButtonIdViaName -->\\n <input type=\\\"submit\\\" id=\\\"idSIButton9\\\" class=\\\"win-button button_primary\\\"\\n data-report-event=\\\"Signin_Submit\\\" data-report-trigger=\\\"click\\\" data-report-value=\\\"Submit\\\"\\n data-bind=\\\"\\n attr: primaryButtonAttributes,\\n css: { 'high-contrast-overrides': svr.fUseHighContrastDetectionMode },\\n externalCss: {\\n 'button': true,\\n 'primary': true },\\n value: primaryButtonText() || str['CT_PWD_STR_SignIn_Button_Next'],\\n hasFocus: focusOnPrimaryButton,\\n click: svr.fEnableLivePreview ? function() { } : primaryButton_onClick,\\n clickBubble: !svr.fEnableLivePreview,\\n enable: isPrimaryButtonEnabled,\\n visible: isPrimaryButtonVisible,\\n preventTabbing: primaryButtonPreventTabbing\\\" />\\n <!-- /ko -->\\n <!-- ko if: svr.fConsentButtonIdViaName -->\\n <input type=\\\"submit\\\"\\n class=\\\"win-button button_primary\\\"\\n data-report-event=\\\"Signin_Submit\\\"\\n data-report-trigger=\\\"click\\\"\\n data-report-value=\\\"Submit\\\"\\n data-bind=\\\"\\n attr: primaryButtonAttributes,\\n css: { 'high-contrast-overrides': svr.fUseHighContrastDetectionMode },\\n externalCss: {\\n 'button': true,\\n 'primary': true },\\n value: primaryButtonText() || str['CT_PWD_STR_SignIn_Button_Next'],\\n hasFocus: focusOnPrimaryButton,\\n click: svr.fEnableLivePreview ? function() { } : primaryButton_onClick,\\n clickBubble: !svr.fEnableLivePreview,\\n enable: isPrimaryButtonEnabled,\\n visible: isPrimaryButtonVisible,\\n preventTabbing: primaryButtonPreventTabbing\\\" />\\n <!-- /ko -->\\n </div>\\n</div>\";","var TelemetryFactory = require(\"./TelemetryFactory\");\r\n\r\nvar c_MaxCachedResourceThresholdTimeMs = 50.0;\r\nvar w = window;\r\n\r\n\r\n\r\n\r\nexports.SendTelemetryPerfData = function (perfData, pageSource)\r\n{\r\n \r\n var _telemetry = TelemetryFactory.getInstance(w.ServerData);\r\n var _pltMetrics = {};\r\n var _getPltMetrics = {};\r\n \r\n\r\n if (_telemetry)\r\n {\r\n _getPltMetrics = _telemetry.get(\"pltMetrics\") || {};\r\n }\r\n\r\n _pltMetrics.apiTimingInfo = _getPltMetrics.apiTimingInfo || [];\r\n\r\n _pltMetrics.isPlt1 = _isPlt1(perfData.entries);\r\n _pltMetrics.plt = _getCalculatedPlt(perfData.timing);\r\n _pltMetrics.timing = perfData.timing;\r\n _pltMetrics.pltOverallTransferBucket = _getPltTransferBucketData(perfData.entries);\r\n _pltMetrics.dns = _getTcpDnsInfo(\"DNS\", perfData.timing);\r\n _pltMetrics.tcp = _getTcpDnsInfo(\"TCP\", perfData.timing);\r\n _pltMetrics.pageSource = pageSource;\r\n\r\n if (_telemetry)\r\n {\r\n \r\n _telemetry.set(\"pltMetrics\", _pltMetrics);\r\n }\r\n else\r\n {\r\n throw \"PltMetrics failed to post\";\r\n }\r\n};\r\n\r\n\r\n\r\nfunction _getTcpDnsInfo(name, timing)\r\n{\r\n if (timing\r\n && timing.domainLookupStart\r\n && timing.domainLookupEnd\r\n && name === \"DNS\")\r\n {\r\n return timing.domainLookupEnd - timing.domainLookupStart;\r\n }\r\n\r\n if (timing\r\n && timing.connectStart\r\n && timing.connectEnd\r\n && name === \"TCP\")\r\n {\r\n return timing.connectEnd - timing.connectStart;\r\n }\r\n\r\n return null;\r\n}\r\n\r\nfunction _getCalculatedPlt(timing)\r\n{\r\n if (!timing)\r\n {\r\n return 0;\r\n }\r\n\r\n \r\n \r\n var endTime = timing.customLoadEventEnd;\r\n var fromFetchTime = true;\r\n\r\n if (!endTime || (timing.loadEventEnd && endTime < timing.loadEventEnd))\r\n {\r\n endTime = timing.loadEventEnd;\r\n }\r\n\r\n return _elapsedPltValue(timing, endTime, fromFetchTime);\r\n}\r\n\r\nfunction _elapsedPltValue(data, value, fromFetchTime)\r\n{\r\n if (data && value > 0)\r\n {\r\n var baseValue = _getBaseValueStartTime(data, fromFetchTime);\r\n if (baseValue && value >= baseValue)\r\n {\r\n return value - baseValue;\r\n }\r\n }\r\n return 0;\r\n}\r\n\r\nfunction _getBaseValueStartTime(data, fromFetchTime)\r\n{\r\n if (data.fetchStart > 0\r\n && fromFetchTime\r\n && data.fetchStart < Number.MAX_VALUE)\r\n {\r\n return data.fetchStart;\r\n }\r\n\r\n if (data.navigationStart > 0)\r\n {\r\n return data.navigationStart;\r\n }\r\n\r\n return null;\r\n}\r\n\r\n\r\nfunction _isPlt1(resources)\r\n{\r\n var isPlt1 = null; \r\n\r\n if (!resources)\r\n {\r\n return null;\r\n }\r\n\r\n for (var i = 0; i < resources.length; i++)\r\n {\r\n var entry = resources[i];\r\n \r\n if (_isResource(entry.entryType)\r\n && !_isSubDocument(entry.initiatorType)\r\n && !_isDocument(entry.name))\r\n {\r\n \r\n \r\n var resourcePlt1 = _isResourcePlt1(entry);\r\n if (resourcePlt1 === true)\r\n {\r\n \r\n isPlt1 = true;\r\n }\r\n else if (resourcePlt1 === false)\r\n {\r\n \r\n isPlt1 = false;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return isPlt1;\r\n}\r\n\r\nfunction _isResourcePlt1(resource)\r\n{\r\n if (resource.duration > 0)\r\n {\r\n if (resource.duration < c_MaxCachedResourceThresholdTimeMs)\r\n {\r\n \r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n return null;\r\n}\r\n\r\nfunction _isSubDocument(initiatorType)\r\n{\r\n return initiatorType === \"subdocument\";\r\n}\r\n\r\nfunction _isResource(entryType)\r\n{\r\n return entryType === \"resource\";\r\n}\r\n\r\nfunction _isDocument(name)\r\n{\r\n return name === \"document\";\r\n}\r\n\r\nfunction _getPltTransferBucketData(performanceData)\r\n{\r\n if (!performanceData || performanceData.length === 0)\r\n {\r\n return null;\r\n }\r\n\r\n var overallTransferRateData = _getOverallTransferRate(performanceData);\r\n var overallTransferBucket = _getTransferBucket(overallTransferRateData);\r\n\r\n return overallTransferBucket;\r\n}\r\n\r\nfunction _getTransferBucket(transferRate)\r\n{\r\n if (!transferRate)\r\n {\r\n return null;\r\n }\r\n\r\n \r\n var value = 12.5;\r\n var previous = value;\r\n var bucket = 0;\r\n\r\n while (transferRate >= value && bucket < 20)\r\n {\r\n bucket++;\r\n var hold = value;\r\n value += previous;\r\n previous = hold;\r\n }\r\n\r\n return bucket;\r\n}\r\n\r\nfunction _getOverallTransferRate(performanceData)\r\n{\r\n var transferSize = 0;\r\n var transferTime = 0;\r\n var resourceMetrics = _getResourceMetrics(performanceData);\r\n\r\n if (resourceMetrics.length > 0)\r\n {\r\n for (var i = 0; i < resourceMetrics.length; i++)\r\n {\r\n if (resourceMetrics[i].TransferSize > 0 && resourceMetrics[i].TransferTime > 0)\r\n {\r\n transferSize += resourceMetrics[i].TransferSize;\r\n transferTime += resourceMetrics[i].TransferTime;\r\n }\r\n }\r\n }\r\n\r\n if (transferTime > 0)\r\n {\r\n \r\n return _calcKbRatePerSecond(transferSize, transferTime);\r\n }\r\n\r\n return null;\r\n}\r\n\r\nfunction _calcKbRatePerSecond(transferSize, transferTime)\r\n{\r\n if (transferSize > 0 && transferTime > 0)\r\n {\r\n \r\n var millisecondRate = transferSize / transferTime;\r\n\r\n \r\n return (millisecondRate * 1000.0) / 1024.0;\r\n }\r\n\r\n return null;\r\n}\r\n\r\nfunction _getDomainHost(Name)\r\n{\r\n if (Name === \"document\")\r\n {\r\n return document.location.hostname;\r\n }\r\n\r\n if (_isAbsoluteUrl(Name))\r\n {\r\n return _extractHostname(Name);\r\n }\r\n\r\n return document.location.hostname;\r\n}\r\n\r\n\r\nfunction _extractHostname(url)\r\n{\r\n if (url)\r\n {\r\n var element = document.createElement(\"a\");\r\n element.href = url;\r\n\r\n \r\n return element.hostname;\r\n }\r\n\r\n return \"\";\r\n}\r\n\r\nfunction _isAbsoluteUrl(input)\r\n{\r\n var RgExp = new RegExp(\"^(?:[a-z]+:)?//\", \"i\");\r\n if (RgExp.test(input))\r\n {\r\n return true;\r\n }\r\n\r\n return false;\r\n}\r\n\r\nfunction _getTransferTimeAndSize(entry)\r\n{\r\n var transferInfo = {};\r\n var responseTime = _calcTimespan(_getStart(entry), entry.responseEnd);\r\n var size = entry.transferSize;\r\n\r\n if (_isResourcePlt1(entry) !== true)\r\n {\r\n if (size > 0 && responseTime > 0)\r\n {\r\n \r\n transferInfo.TransferSize = size;\r\n transferInfo.TransferTime = responseTime;\r\n }\r\n else\r\n {\r\n transferInfo.TransferSize = null;\r\n transferInfo.TransferTime = null;\r\n }\r\n }\r\n\r\n return transferInfo;\r\n}\r\n\r\nfunction _getStart(entry)\r\n{\r\n var start = entry.responseStart;\r\n\r\n if (entry)\r\n {\r\n start = entry.responseStart;\r\n }\r\n\r\n if (!start)\r\n {\r\n var fetchStart = _getBaseStartTime(entry);\r\n\r\n if (fetchStart > 0)\r\n {\r\n return fetchStart;\r\n }\r\n }\r\n\r\n return start;\r\n}\r\n\r\nfunction _getBaseStartTime(data)\r\n{\r\n if (data && data.fetchStart > 0 && data.fetchStart < Number.MAX_VALUE)\r\n {\r\n return data.fetchStart;\r\n }\r\n\r\n return null;\r\n}\r\n\r\nfunction _getResourceMetrics(response)\r\n{\r\n var metrics = {};\r\n var metricsValues = [];\r\n\r\n if (!response)\r\n {\r\n return metricsValues;\r\n }\r\n\r\n for (var i = 0; i < response.length; i++)\r\n {\r\n var domainHost = _getDomainHost(response[i].name) || \"\";\r\n\r\n if (!metrics[domainHost] && domainHost !== \"\")\r\n {\r\n metrics[domainHost] = _getTransferTimeAndSize(response[i]);\r\n }\r\n }\r\n\r\n for (var val in metrics)\r\n {\r\n if (metrics.hasOwnProperty(val))\r\n {\r\n metricsValues.push(metrics[val]);\r\n }\r\n }\r\n\r\n return metricsValues;\r\n}\r\n\r\nfunction _calcTimespan(start, end)\r\n{\r\n if (!start || !end)\r\n {\r\n return null;\r\n }\r\n\r\n if (end < start)\r\n {\r\n return 0;\r\n }\r\n\r\n return end - start;\r\n}\r\n","module.exports = \"\\n<input type=\\\"hidden\\\" name=\\\"i19\\\" data-bind=\\\"value: timeOnPage\\\" />\";","module.exports = \"<!-- \" + (require(\"js/Core/AccessibleImageControlViewModel\"), \"\") + \" -->\\n\\n<!-- ko if: bannerLogoUrl -->\\n <!-- ko if: svr.cq -->\\n <img id=\\\"bannerLogo\\\" data-bind=\\\"addEventHandlers, attr: { src: bannerLogoUrl, alt: str['STR_Banner_Logo_AltText'] }, externalCss: { 'banner-logo': true }\\\" />\\n <!-- /ko -->\\n <!-- ko if: !svr.cq -->\\n <img id=\\\"bannerLogo\\\" data-bind=\\\"attr: { src: bannerLogoUrl, alt: str['STR_Banner_Logo_AltText'] }, externalCss: { 'banner-logo': true }\\\" />\\n <!-- /ko -->\\n<!-- /ko -->\\n\\n<!-- ko if: !bannerLogoUrl && !isChinaDc && !isCiamUserFlowUx -->\\n <!-- ko component: 'accessible-image-control' -->\\n <img class=\\\"logo\\\" role=\\\"img\\\" pngSrc=\\\"\" + require(\"images/microsoft_logo_white.png\") + \"\\\" svgSrc=\\\"\" + require(\"images/microsoft_logo_white.svg\") + \"\\\" data-bind=\\\"imgSrc, attr: { alt: str['MOBILE_STR_Footer_Microsoft'] }\\\" />\\n <img class=\\\"logo\\\" role=\\\"img\\\" pngSrc=\\\"\" + require(\"images/microsoft_logo.png\") + \"\\\" svgSrc=\\\"\" + require(\"images/microsoft_logo.svg\") + \"\\\" data-bind=\\\"imgSrc, attr: { alt: str['MOBILE_STR_Footer_Microsoft'] }\\\" />\\n <!-- /ko -->\\n<!-- /ko -->\\n\\n<!-- ko if: !bannerLogoUrl && isCiamUserFlowUx && bannerLogoText -->\\n<div id=\\\"bannerLogoText\\\" class=\\\"banner-logo-text\\\" data-bind=\\\"text: bannerLogoText\\\"></div>\\n<!-- /ko -->\";","module.exports = __webpack_public_path__ + \"content/images/microsoft_logo_white_b71098d9cfa668f68191671a1727b9e9.png\";","module.exports = __webpack_public_path__ + \"content/images/microsoft_logo_white_f024dc0422bf3c64a9cb9605a867b798.svg\";","module.exports = __webpack_public_path__ + \"content/images/microsoft_logo_ea19b2112f4dfd8e90b4505ef7dcb4f9.png\";","module.exports = __webpack_public_path__ + \"content/images/microsoft_logo_564db913a7fa0ca42727161c6d031bef.svg\";","module.exports = \"<!-- \" + (require(\"js/Core/AccessibleImageControlViewModel\"), \"\") + \" -->\\n\\n<!-- ko if: svr.cP -->\\n <div class=\\\"subline inc\\\"></div>\\n <div class=\\\"subline dec\\\"></div>\\n<!-- /ko -->\\n<!-- ko ifnot: svr.cP -->\\n <!-- ko if: useCssAnimation -->\\n <div></div><div></div><div></div><div></div><div></div>\\n <!-- /ko -->\\n <!-- ko ifnot: useCssAnimation -->\\n <!-- ko component: 'accessible-image-control' -->\\n <img role=\\\"presentation\\\" src=\\\"\" + require(\"images/marching_ants_white.gif\") + \"\\\" />\\n <img role=\\\"presentation\\\" src=\\\"\" + require(\"images/marching_ants.gif\") + \"\\\" />\\n <!-- /ko -->\\n <!-- /ko -->\\n<!-- /ko -->\";","module.exports = __webpack_public_path__ + \"content/images/marching_ants_white_8257b0707cbe1d0bd2661b80068676fe.gif\";","module.exports = __webpack_public_path__ + \"content/images/marching_ants_986f40b5a9dc7d39ef8396797f61b323.gif\";","var map = {\n\t\"./AppCentipede_Beam.png\": 380,\n\t\"./AppCentipede_Beam.svg\": 381,\n\t\"./AppCentipede_Beam_white.png\": 382,\n\t\"./AppCentipede_Beam_white.svg\": 383,\n\t\"./AppCentipede_Bing.png\": 384,\n\t\"./AppCentipede_Bing.svg\": 385,\n\t\"./AppCentipede_Bing_white.png\": 386,\n\t\"./AppCentipede_Bing_white.svg\": 387,\n\t\"./AppCentipede_Cortana.png\": 388,\n\t\"./AppCentipede_Cortana.svg\": 389,\n\t\"./AppCentipede_Cortana_white.png\": 390,\n\t\"./AppCentipede_Cortana_white.svg\": 391,\n\t\"./AppCentipede_Excel.png\": 392,\n\t\"./AppCentipede_Excel.svg\": 393,\n\t\"./AppCentipede_Excel_white.png\": 394,\n\t\"./AppCentipede_Excel_white.svg\": 395,\n\t\"./AppCentipede_Health.png\": 396,\n\t\"./AppCentipede_Health.svg\": 397,\n\t\"./AppCentipede_Health_white.png\": 398,\n\t\"./AppCentipede_Health_white.svg\": 399,\n\t\"./AppCentipede_MSN.png\": 400,\n\t\"./AppCentipede_MSN.svg\": 401,\n\t\"./AppCentipede_MSN_white.png\": 402,\n\t\"./AppCentipede_MSN_white.svg\": 403,\n\t\"./AppCentipede_Microsoft.png\": 404,\n\t\"./AppCentipede_Microsoft.svg\": 405,\n\t\"./AppCentipede_Microsoft_white.png\": 406,\n\t\"./AppCentipede_Microsoft_white.svg\": 407,\n\t\"./AppCentipede_MileIQ.png\": 408,\n\t\"./AppCentipede_MileIQ.svg\": 409,\n\t\"./AppCentipede_MileIQ_white.png\": 410,\n\t\"./AppCentipede_MileIQ_white.svg\": 411,\n\t\"./AppCentipede_Minecraft.png\": 412,\n\t\"./AppCentipede_Minecraft.svg\": 413,\n\t\"./AppCentipede_Minecraft_white.png\": 414,\n\t\"./AppCentipede_Minecraft_white.svg\": 415,\n\t\"./AppCentipede_Office.png\": 416,\n\t\"./AppCentipede_Office.svg\": 417,\n\t\"./AppCentipede_Office_white.png\": 418,\n\t\"./AppCentipede_Office_white.svg\": 419,\n\t\"./AppCentipede_OneDrive.svg\": 420,\n\t\"./AppCentipede_OneDrive_white.svg\": 421,\n\t\"./AppCentipede_Onedrive.png\": 422,\n\t\"./AppCentipede_Onedrive_white.png\": 423,\n\t\"./AppCentipede_Outlook.png\": 424,\n\t\"./AppCentipede_Outlook.svg\": 425,\n\t\"./AppCentipede_Outlook_white.png\": 426,\n\t\"./AppCentipede_Outlook_white.svg\": 427,\n\t\"./AppCentipede_PowerPoint.png\": 428,\n\t\"./AppCentipede_PowerPoint.svg\": 429,\n\t\"./AppCentipede_PowerPoint_white.png\": 430,\n\t\"./AppCentipede_PowerPoint_white.svg\": 431,\n\t\"./AppCentipede_Skype.png\": 432,\n\t\"./AppCentipede_Skype.svg\": 433,\n\t\"./AppCentipede_SkypeDialer.png\": 434,\n\t\"./AppCentipede_SkypeDialer.svg\": 435,\n\t\"./AppCentipede_SkypeDialer_white.png\": 436,\n\t\"./AppCentipede_SkypeDialer_white.svg\": 437,\n\t\"./AppCentipede_Skype_white.png\": 438,\n\t\"./AppCentipede_Skype_white.svg\": 439,\n\t\"./AppCentipede_Word.png\": 440,\n\t\"./AppCentipede_Word.svg\": 441,\n\t\"./AppCentipede_Word_white.png\": 442,\n\t\"./AppCentipede_Word_white.svg\": 443,\n\t\"./AppCentipede_Xbox.png\": 444,\n\t\"./AppCentipede_Xbox.svg\": 445,\n\t\"./AppCentipede_Xbox_white.png\": 446,\n\t\"./AppCentipede_Xbox_white.svg\": 447\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 379;","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_beam_6480ab9f07799b0087086392b2c2132b.png\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_beam_db428c0efe494476a50358f59de72d00.svg\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_beam_white_2739aa83905a861727d26fa8f6401c10.png\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_beam_white_31b6739ece1da056e24332ec40282885.svg\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_bing_de0949215133bcbd99d0151ec3152dd3.png\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_bing_e60284baea3f4ad80cb69c7b8bcff2ca.svg\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_bing_white_1744b7da24377c04cc991c305e8c2050.png\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_bing_white_ef209fd1cccbabd253115348febaf98f.svg\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_cortana_cab3431d6b69c3d725fa7e31aaea678d.png\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_cortana_f09e94a3276d91d4c79b9873cef34b11.svg\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_cortana_white_1272d4be85f12a748bfc24de5f47c32f.png\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_cortana_white_e366a0344c983a6ed654386534ab81d0.svg\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_excel_6966adc795ed71833d99e2216d4e46e2.png\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_excel_353c85098e98e1057521dc6fe5d70d1c.svg\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_excel_white_e295b930a32ac0b2be7bfed679ac8452.png\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_excel_white_b9229e387c9282a577eb5600a895d504.svg\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_health_cafb5330709130150e8a6c1633bebc36.png\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_health_55d03bf64395784ace46b90356ce1df1.svg\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_health_white_fe75ef9aaa3dd956b1f9a2d4cba33c24.png\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_health_white_01e7ad14f679d29353712ed4c2407300.svg\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_msn_939e2c45eee250ffd6615804d85b0614.png\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_msn_63ce2d326a43455f8548795de5844fb7.svg\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_msn_white_676fee51d2bd254584f73e6db0ff22bc.png\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_msn_white_e44b41007105e24f308ab70c882ce529.svg\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_microsoft_0e3e4bffb28c6dfb20470d2d8fbfa5c4.png\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_microsoft_46f7c723cc3b758905a95d0b2598f99f.svg\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_microsoft_white_596315b39d39ab1d48205d659fc45957.png\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_microsoft_white_f958bc6056dc560ebbe6b380bff3983a.svg\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_mileiq_02070aef77d88b2ed2b34e6d7c3cc0d3.png\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_mileiq_d6c33a42a05b1f10d2f8307713fbb15e.svg\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_mileiq_white_81a587a8af0f713ad8061e9319e2952b.png\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_mileiq_white_348323851b3f87a2c1f32f197c52072f.svg\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_minecraft_fd019657d89397f98f3d4ddfd2bdace5.png\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_minecraft_08438125e3d4b839ae6ab5fb0f95a68f.svg\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_minecraft_white_acea0b1e7f4a2c25f6cba5ecbc26f2e5.png\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_minecraft_white_05483ba9660327ab9caa68d0cbc92092.svg\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_office_03fb8e0ad4992f9a124782ca6a64e77d.png\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_office_2e97325e1829058b420fadda52b7844e.svg\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_office_white_be251fe6ccc55da17b44f07177ec4ff9.png\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_office_white_0bf60bbb022d9ed93095be0cca7ee40a.svg\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_onedrive_3de88cae13106daa1a2e5a6c8932e011.svg\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_onedrive_white_f2319c44f7dd2342c72cc63fd5b9663e.svg\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_onedrive_c6b29811e4ffed286e121e395dc82195.png\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_onedrive_white_ed083beb66a404e7e096b506ad19f356.png\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_outlook_d32f80969310bc924eaaf4239a960ad9.png\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_outlook_77253e9fcc3ee9bfe0688d63025315bc.svg\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_outlook_white_ba06eaf8561ffe8a21326fe6d58f953b.png\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_outlook_white_6beab1dec976905f07eb13aac7561666.svg\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_powerpoint_fbd1d8eba10152e7180e87e4524d7e11.png\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_powerpoint_9bbbad1f64860e5ffd33a1b7ea735ad3.svg\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_powerpoint_white_d42df324d7ae0f5cd666ea83b94078da.png\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_powerpoint_white_ede18787cd7ee71a1ddaf874ef38f4c1.svg\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_skype_4e39845dacf64ef2d02d6ed2428e4237.png\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_skype_2ec6111de856694b50bda798abede78f.svg\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_skypedialer_f47bacf464b9a2faa407c20f3ce5ec17.png\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_skypedialer_1fbb2af9ebf82c70c70796fdda4597dc.svg\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_skypedialer_white_4a09c0798c9d4a4d42dea3c7f487c42b.png\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_skypedialer_white_dfdba6b99e0fb4b5bf71423c0d4c7a7e.svg\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_skype_white_fa6ae89d92407498478dd9f4e98b6d23.png\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_skype_white_a8ef854d33fd75a90465a7056ef5747d.svg\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_word_a8af42542634596a9480d6418829067a.png\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_word_5d417dcd978efa4eed1560d5b5b8c70c.svg\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_word_white_e90fafa4bd9ec5c80f1c932b1bf84fb2.png\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_word_white_e7dcf5cbfb117e77edfa5ddf44249d7e.svg\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_xbox_50a197f53286dec7fcce1e0c12120b4e.png\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_xbox_4ac5e6c33849d1a5347608d4ca673ffe.svg\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_xbox_white_cd9b74027d4362910042c5035b22b96b.png\";","module.exports = __webpack_public_path__ + \"content/images/appcentipede/appcentipede_xbox_white_2c9ffed0cc780dc32c32160b183ee4af.svg\";","module.exports = \"<!-- \" + ((__LAYOUT_TEMPLATES_ENABLED__ || __LAYOUT_TEMPLATES_ROLLOUT__ ? (require(\"js/Core/LightboxTemplateViewModel\"), __IS_OLD_WEBPACK__\r\n ? (require(\"js/Core/VerticalSplitTemplateViewModel\"), \"\")\r\n : \"\") : \"\")) + \" -->\\n\\n<!-- ko ifnot: useLayoutTemplates -->\\n <!-- ko template: { nodes: $componentTemplateNodes, data: $parent } --><!-- /ko -->\\n<!-- /ko -->\\n\\n<!-- ko if: useLayoutTemplates -->\\n <!-- ko withProperties: { '$page': $parent } -->\\n <!-- ko if: isLightboxTemplate() -->\\n <div id=\\\"lightboxTemplateContainer\\\" data-bind=\\\"component: { name: 'lightbox-template', params: { serverData: svr, showHeader: $page.showHeader(), headerLogo: $page.headerLogo() } }, css: { 'provide-min-height': svr.cS }\\\">\\n </div>\\n <!-- /ko -->\\n\\n <!-- ko if: isVerticalSplitTemplate() && isTemplateLoaded() -->\\n <div id=\\\"verticalSplitTemplateContainer\\\" data-bind=\\\"component: { name: 'vertical-split-template', params: { serverData: svr, showHeader: $page.showHeader(), headerLogo: $page.headerLogo() } }, css: { 'provide-min-height': svr.cS }\\\">\\n </div>\\n <!-- /ko -->\\n <!-- /ko -->\\n<!-- /ko -->\";","var ko = require(\"knockout\");\r\nvar Browser = require(\"./BrowserControl\");\r\n\r\nvar w = window;\r\n\r\nfunction LightboxTemplate(params)\r\n{\r\n \r\n var _this = this;\r\n \r\n\r\n \r\n var _serverData = params.serverData;\r\n var _showHeader = params.showHeader;\r\n var _headerLogo = params.headerLogo;\r\n \r\n\r\n \r\n var _hideHeader = _serverData.A5;\r\n \r\n\r\n \r\n _this.showHeader = _showHeader && !_hideHeader;\r\n _this.headerLogo = _headerLogo;\r\n \r\n}\r\n\r\nko.components.register(\"lightbox-template\",\r\n {\r\n viewModel: LightboxTemplate,\r\n template: require(\"html/Shared/Templates/ConvergedLightboxTemplateHtml.html\"),\r\n synchronous: !w.ServerData.A || Browser.Helper.isStackSizeGreaterThan(w.ServerData.A),\r\n enableExtensions: true\r\n });\r\n\r\nmodule.exports = LightboxTemplate;","module.exports = \"<!-- \" + (require(\"js/Core/BackgroundImageControlViewModel\"), require(\"js/Core/EnvironmentBannerControlViewModel\"), require(\"js/Core/ContentControlViewModel\"), require(\"js/Core/FooterControlViewModel\"), \"\") + \" -->\\n\\n<div id=\\\"lightboxBackgroundContainer\\\" data-bind=\\\"css: { 'provide-min-height': svr.cu },\\n component: { name: 'background-image-control',\\n publicMethods: $page.backgroundControlMethods,\\n event: { load: $page.backgroundImageControl_onLoad } }\\\">\\n</div>\\n\\n<!-- ko if: svr.cy -->\\n<div class=\\\"env-banner\\\" data-bind=\\\"component: { name: 'environment-banner-control' }\\\"></div>\\n<!-- /ko -->\\n\\n<!-- ko withProperties: { '$masterPageContext': $parentContext } -->\\n<div class=\\\"outer\\\" data-bind=\\\"css: { 'app': $page.backgroundLogoUrl }\\\">\\n <!-- ko if: showHeader -->\\n <div class=\\\"template-section\\\">\\n <div class=\\\"template-header-container\\\">\\n <div id=\\\"header\\\" data-bind=\\\"externalCss: { 'header': true }\\\">\\n <img id=\\\"headerLogo\\\" role=\\\"img\\\" data-bind=\\\"\\n attr: {\\n src: headerLogo,\\n alt: str['STR_Templates_Header_Logo_AltText'] },\\n externalCss: { 'header-logo': true }\\\" />\\n </div>\\n </div>\\n </div>\\n <!-- /ko -->\\n\\n <div class=\\\"template-section main-section\\\">\\n <div data-bind=\\\"externalCss: { 'middle': true }\\\">\\n <div class=\\\"full-height\\\" data-bind=\\\"component: { name: 'content-control', params: { serverData: svr, isVerticalSplitTemplate: $page.isVerticalSplitTemplate(), hasHeader: showHeader } }\\\"></div>\\n </div>\\n </div>\\n\\n <!-- ko if: $page.paginationControlHelper.showFooterControl -->\\n <div id=\\\"footer\\\" role=\\\"contentinfo\\\" data-bind=\\\"\\n externalCss: {\\n 'footer': true,\\n 'has-background': !$page.useDefaultBackground() && $page.showFooter(),\\n 'background-always-visible': $page.backgroundLogoUrl }\\\">\\n\\n <div data-bind=\\\"component: { name: 'footer-control',\\n publicMethods: $page.footerMethods,\\n params: {\\n serverData: svr,\\n useDefaultBackground: $page.useDefaultBackground(),\\n hasDarkBackground: $page.backgroundLogoUrl(),\\n showLinks: true,\\n showFooter: $page.showFooter(),\\n hideTOU: $page.hideTOU(),\\n termsText: $page.termsText(),\\n termsLink: $page.termsLink(),\\n hidePrivacy: $page.hidePrivacy(),\\n privacyText: $page.privacyText(),\\n privacyLink: $page.privacyLink() },\\n event: {\\n agreementClick: $page.footer_agreementClick,\\n showDebugDetails: $page.toggleDebugDetails_onClick } }\\\">\\n </div>\\n </div>\\n <!-- /ko -->\\n</div>\\n<!-- /ko -->\";","module.exports = \"<div class=\\\"background-image-holder\\\" role=\\\"presentation\\\" data-bind=\\\"css: { app: isAppBranding }, style: { background: backgroundStyle }\\\">\\n <!-- ko if: smallImageUrl -->\\n <div class=\\\"background-image-small\\\" data-bind=\\\"backgroundImage: smallImageUrl()\\\"></div>\\n <!-- /ko -->\\n\\n <!-- ko if: backgroundImageUrl -->\\n <div id=\\\"backgroundImage\\\" role=\\\"img\\\" data-bind=\\\"backgroundImage: backgroundImageUrl(), externalCss: { 'background-image': true }, ariaLabel: str['STR_Background_Image_AltText']\\\"></div>\\n <!-- ko if: useImageMask -->\\n <div data-bind=\\\"externalCss: { 'background-overlay': true }\\\"></div>\\n <!-- /ko -->\\n <!-- /ko -->\\n</div>\";","module.exports = \"<div class=\\\"env-banner-inner\\\" role=\\\"alert\\\" aria-atomic=\\\"true\\\" data-bind=\\\"\\n htmlWithBindings: html['CT_STR_EnvironmentBanner_Text'],\\n childBindings: {\\n 'envBannerNoLink': {\\n css: { 'env-banner-text': true }\\n },\\n 'envBannerLink': {\\n href: svr.urlEnvBannerLink,\\n css: { 'env-banner-link': true }\\n } }\\\">\\n</div>\";","module.exports = \"<!-- \" + (require(\"js/Core/PageLevelTitleControlViewModel\"), require(\"js/Core/DebugDetailsControlViewModel\"), require(\"js/Core/AccessibleImageControlViewModel\"), require(\"js/Core/FedCredButtonsControlViewModel\"), require(\"js/LoginPage/QrCodePinHelpDialogContentControlViewModel\"), \"\") + \" -->\\n\\n<!-- ko withProperties: { '$content': $data } -->\\n<div class= \\\"flex-column\\\">\\n <!-- ko if: $page.paginationControlHelper.showBackgroundLogoHolder -->\\n <div class=\\\"background-logo-holder\\\">\\n <img class=\\\"background-logo\\\" role=\\\"presentation\\\" data-bind=\\\"attr: { src: $page.backgroundLogoUrl }\\\" />\\n </div>\\n <!-- /ko -->\\n\\n <!-- ko if: $page.paginationControlHelper.showPageLevelTitleControl -->\\n <div data-bind=\\\"component: 'page-level-title-control'\\\"></div>\\n <!-- /ko -->\\n\\n <div class=\\\"win-scroll\\\">\\n <div id=\\\"lightbox\\\" data-bind=\\\"\\n animationEnd: $page.paginationControlHelper.animationEnd,\\n externalCss: { 'sign-in-box': true },\\n css: {\\n 'inner': $content.isVerticalSplitTemplate,\\n 'vertical-split-content': $content.isVerticalSplitTemplate,\\n 'app': $page.backgroundLogoUrl,\\n 'wide': $page.paginationControlHelper.useWiderWidth,\\n 'fade-in-lightbox': $page.fadeInLightBox,\\n 'has-popup': $page.showFedCredAndNewSession && ($page.showFedCredButtons() || $page.newSession()),\\n 'transparent-lightbox': $page.backgroundControlMethods() && $page.backgroundControlMethods().useTransparentLightBox,\\n 'lightbox-bottom-margin-debug': $page.showDebugDetails,\\n 'has-header': $content.hasHeader }\\\">\\n\\n <!-- ko template: { nodes: $masterPageContext.$componentTemplateNodes, data: $page } --><!-- /ko -->\\n </div>\\n\\n <!-- ko if: $page.showFedCredAndNewSession -->\\n <!-- ko ifnot: svr.aD -->\\n <!-- ko if: $page.showFedCredButtons -->\\n <div data-bind=\\\"css: { 'app': $page.backgroundLogoUrl }, externalCss: { 'promoted-fed-cred-box': true }\\\">\\n <div class=\\\"promoted-fed-cred-content\\\" data-bind=\\\"css: {\\n 'animate': $page.useCssAnimations && $page.animate(),\\n 'slide-out-next': $page.animate.isSlideOutNext,\\n 'slide-in-next': $page.animate.isSlideInNext,\\n 'slide-out-back': $page.animate.isSlideOutBack,\\n 'slide-in-back': $page.animate.isSlideInBack,\\n 'app': $page.backgroundLogoUrl }\\\">\\n\\n <!-- ko foreach: $page.otherSigninOptions -->\\n <div class=\\\"row tile\\\">\\n <div class=\\\"table\\\" role=\\\"button\\\" tabindex=\\\"0\\\" data-bind=\\\"\\n css: { 'list-item': svr.cP },\\n pressEnter: $page.otherSigninOptionsButton_onClick,\\n click: $page.otherSigninOptionsButton_onClick,\\n ariaLabel: $data.text\\\">\\n\\n <div class=\\\"table-row\\\">\\n <div class=\\\"table-cell tile-img medium\\\">\\n <!-- ko component: 'accessible-image-control' -->\\n <!-- ko if: svr.cq -->\\n <img class=\\\"tile-img medium\\\" role=\\\"presentation\\\" data-bind=\\\"addEventHandlers, attr: { src: $data.lightIconUrl }\\\" />\\n <img class=\\\"tile-img medium\\\" role=\\\"presentation\\\" data-bind=\\\"addEventHandlers, attr: { src: $data.darkIconUrl }\\\" />\\n <!-- /ko -->\\n <!-- ko ifnot: svr.cq -->\\n <img class=\\\"tile-img medium\\\" role=\\\"presentation\\\" data-bind=\\\"attr: { src: $data.lightIconUrl }\\\" />\\n <img class=\\\"tile-img medium\\\" role=\\\"presentation\\\" data-bind=\\\"attr: { src: $data.darkIconUrl }\\\" />\\n <!-- /ko -->\\n <!-- /ko -->\\n </div>\\n <div class=\\\"table-cell text-left\\\" data-bind=\\\"css: { 'content': !svr.cP }\\\">\\n <div data-bind=\\\"\\n text: $data.text,\\n attr: { 'data-test-id': $data.testId }\\\"></div>\\n </div>\\n </div>\\n </div>\\n </div>\\n <!-- /ko -->\\n </div>\\n </div>\\n <!-- /ko -->\\n <!-- /ko -->\\n\\n <!-- ko if: svr.aD -->\\n <!-- ko if: $page.showFedCredButtons -->\\n <div data-bind=\\\"component: { name: 'fed-cred-buttons-control',\\n params: {\\n serverData: svr,\\n fedCredOptions: $page.otherSigninOptions },\\n event: {\\n fedCredButtonClick: $page.otherSigninOptionsButton_onClick } }\\\">\\n </div>\\n <!-- /ko -->\\n\\n <!-- ko if: $page.showSignupFedCredButtons -->\\n <div data-bind=\\\"component: { name: 'fed-cred-buttons-control',\\n params: {\\n serverData: svr,\\n fedCredOptions: $page.otherSignupOptions },\\n event: {\\n fedCredButtonClick: $page.otherSignupOptionsButton_onClick } }\\\">\\n </div>\\n <!-- /ko -->\\n <!-- /ko -->\\n\\n <!-- ko if: svr.fShowQrCodePinOption -->\\n <!-- ko if: $page.showQrCodeSignInButton -->\\n <div data-bind=\\\"component: { name: 'fed-cred-buttons-control',\\n params: {\\n serverData: svr,\\n fedCredOptions: [$page.qrCodeSigninOption] },\\n event: {\\n fedCredButtonClick: $page.qrCodePinSigninButton_onClick,\\n fedCredHelpButtonClick: $page.qrCodePinHelpButton_onClick } }\\\">\\n </div>\\n <div data-bind=\\\"component: { name: 'qr-code-pin-help-dialog-content-control',\\n event: {\\n registerDialog: $page.view_onRegisterDialog,\\n unregisterDialog: $page.view_onUnregisterDialog } }\\\">\\n </div>\\n <!-- /ko -->\\n <!-- /ko -->\\n\\n <!-- ko if: $page.newSession -->\\n <div class=\\\"new-session-popup-v2sso\\\" role=\\\"alert\\\" data-bind=\\\"css: { 'app': $page.backgroundLogoUrl }\\\">\\n <div class=\\\"form-group\\\" id=\\\"NewSessionTitle\\\" data-bind=\\\"text: str['TILE_STR_AsyncTileText_Title']\\\"></div>\\n\\n <div class=\\\"row tile\\\">\\n <div class=\\\"table\\\" id=\\\"newSessionLink\\\" data-bind=\\\"\\n css: { 'list-item': svr.cP },\\n click: $page.newSession_onClick,\\n ariaDescribedBy: 'NewSessionTitle'\\\" tabindex=\\\"0\\\">\\n <div class=\\\"table-row\\\">\\n <div class=\\\"table-cell tile-img\\\">\\n <img class=\\\"tile-img\\\" role=\\\"presentation\\\" pngSrc=\\\"\" + require(\"images/picker_account_msa.png\") + \"\\\"\\n svgSrc=\\\"\" + require(\"images/picker_account_msa.svg\") + \"\\\" data-bind=\\\"imgSrc\\\" />\\n </div>\\n <div class=\\\"table-cell text-left\\\" data-bind=\\\"css: { 'content': !svr.cP }\\\">\\n <div data-bind=\\\"text: $page.newSessionInfo().unsafe_newSessionFullName\\\"></div>\\n\\n <!-- ko if: $page.newSessionInfo().unsafe_newSessionDisplayName -->\\n <div><small data-bind=\\\"text: $page.newSessionInfo().unsafe_newSessionDisplayName\\\"></small></div>\\n <!-- /ko -->\\n\\n <div><small data-bind=\\\"text: str['TILE_STR_Active']\\\"></small></div>\\n </div>\\n </div>\\n </div>\\n </div>\\n </div>\\n <!-- /ko -->\\n <!-- /ko -->\\n\\n <!-- ko if: $page.showDebugDetails -->\\n <div data-bind=\\\"component: { name: 'debug-details-control',\\n publicMethods: $page.debugDetailsMethods,\\n params: {\\n serverData: svr,\\n debugDetails: $page.debugDetails,\\n useWiderWidth: $page.paginationControlHelper.useWiderWidth,\\n isDebugTracingEnabled: $page.isDebugTracingEnabled },\\n event: {\\n closeBanner: $page.closeDebugDetails_onClick,\\n setDebugTracing: $page.setDebugTracing_onClick } }\\\">\\n\\n <!-- ko if: $page.showConditionalAccessDebugDetails -->\\n <div data-bind=\\\"\\n htmlWithBindings: html['CT_STR_AppName'],\\n childBindings: {\\n 'caAppName': { css: {'bold': true} } }\\\">\\n </div>\\n\\n <div data-bind=\\\"\\n htmlWithBindings: html['CT_STR_AppId'],\\n childBindings: {\\n 'caAppId': { css: {'bold': true} } }\\\">\\n </div>\\n\\n <div data-bind=\\\"\\n htmlWithBindings: html['CT_STR_IpAddress'],\\n childBindings: {\\n 'caIpAddress': { css: {'bold': true} } }\\\">\\n </div>\\n\\n <!-- ko if: svr.sIpAddressFromApp -->\\n <div data-bind=\\\"\\n htmlWithBindings: html['CT_STR_IpAddressFromApp'],\\n childBindings: {\\n 'caIpAddressFromApp': { css: {'bold': true} } }\\\">\\n </div>\\n <!-- /ko -->\\n\\n <div data-bind=\\\"\\n htmlWithBindings: html['CT_STR_DeviceId'],\\n childBindings: {\\n 'caDeviceId': { css: {'bold': true} } }\\\">\\n </div>\\n\\n <div data-bind=\\\"\\n htmlWithBindings: html['CT_STR_DevicePlatform'],\\n childBindings: {\\n 'caDevicePlatform': { css: {'bold': true} } }\\\">\\n </div>\\n\\n <div data-bind=\\\"\\n htmlWithBindings: html['CT_STR_DeviceState'],\\n childBindings: {\\n 'caDeviceState': { css: {'bold': true} } }\\\">\\n </div>\\n <!-- /ko -->\\n\\n <!-- ko if: $page.paginationControlHelper.showErrorPageDebugDetails -->\\n <!-- ko if: svr.b2 -->\\n <div>\\n <span class=\\\"bold\\\">App name: </span>\\n <span data-bind=\\\"text: svr.b2\\\"></span>\\n </div>\\n <!-- /ko -->\\n <!-- ko if: svr.DM -->\\n <div>\\n <span class=\\\"bold\\\">Device platform: </span>\\n <span data-bind=\\\"text: svr.DM\\\"></span>\\n </div>\\n <!-- /ko -->\\n <!-- ko if: svr.Dn -->\\n <div>\\n <span class=\\\"bold\\\">Device state: </span>\\n <span data-bind=\\\"text: svr.Dn\\\"></span>\\n </div>\\n <!-- /ko -->\\n <!-- ko if: svr.DL -->\\n <div>\\n <span class=\\\"bold\\\">IP address: </span>\\n <span data-bind=\\\"text: svr.DL\\\"></span>\\n </div>\\n <!-- /ko -->\\n <!-- ko if: svr.Dm -->\\n <div>\\n <span class=\\\"bold\\\">Signed in as: </span>\\n <span data-bind=\\\"text: svr.Dm\\\"></span>\\n </div>\\n <!-- /ko -->\\n <!-- /ko -->\\n\\n </div>\\n <!-- /ko -->\\n </div>\\n</div>\\n<!-- /ko -->\";","var ko = require(\"knockout\");\r\nvar Browser = require(\"./BrowserControl\");\r\n\r\nvar w = window;\r\n\r\nko.components.register(\"page-level-title-control\",\r\n {\r\n template: require(\"html/Shared/Controls/PageLevelTitleControlHtml.html\"),\r\n synchronous: !w.ServerData.A || Browser.Helper.isStackSizeGreaterThan(w.ServerData.A)\r\n });","module.exports = \"<div class=\\\"win-content-header\\\">\\n <div class=\\\"win-body-header\\\">\\n <h1 data-bind=\\\"text: str['CT_STR_Page_Title']\\\"></h1>\\n </div>\\n <div class=\\\"win-body-sub-header\\\" data-bind=\\\"text: str['CT_STR_Page_SubTitle']\\\"></div>\\n</div>\";","\r\nexports.applyExtensions = function (ko)\r\n{\r\n ko.bindingHandlers.copySource =\r\n {\r\n init: function (element, valueAccessor, allBindings, viewModel, bindingContext)\r\n {\r\n var textareaId = ko.unwrap(valueAccessor());\r\n var textarea = document.getElementById(textareaId);\r\n\r\n if (!textarea)\r\n {\r\n textarea = document.createElement(\"textarea\");\r\n textarea.id = textareaId;\r\n document.body.appendChild(textarea);\r\n\r\n ko.bindingHandlers.moveOffScreen.update(\r\n textarea,\r\n function ()\r\n {\r\n return true;\r\n }\r\n );\r\n }\r\n\r\n ko.bindingEvent.subscribe(\r\n element,\r\n \"descendantsComplete\",\r\n function ()\r\n {\r\n textarea.value = element.innerText;\r\n });\r\n\r\n \r\n var innerBindingContext = ko.bindingEvent.startPossiblyAsyncContentBinding(element, bindingContext);\r\n\r\n ko.applyBindingsToDescendants(innerBindingContext, element);\r\n\r\n return { controlsDescendantBindings: true };\r\n }\r\n };\r\n\r\n ko.bindingHandlers.clickToCopy =\r\n {\r\n init: function (element, valueAccessor, allBindings, viewModel, bindingContext)\r\n {\r\n var copyConfig = ko.unwrap(valueAccessor());\r\n var textareaId = copyConfig.textareaId;\r\n var showNotificationObservable = copyConfig.showNotification;\r\n\r\n ko.bindingHandlers.click.init(\r\n element,\r\n function ()\r\n {\r\n return function ()\r\n {\r\n copyToClipboard(textareaId, showNotificationObservable, element);\r\n };\r\n },\r\n allBindings,\r\n viewModel,\r\n bindingContext);\r\n }\r\n };\r\n};\r\n\r\nfunction copyToClipboard(textareaId, showNotificationObservable, element)\r\n{\r\n var textarea = document.getElementById(textareaId);\r\n if (!textarea)\r\n {\r\n return;\r\n }\r\n\r\n textarea.select();\r\n\r\n document.execCommand(\"copy\");\r\n element.focus();\r\n\r\n showCopyNotification(showNotificationObservable);\r\n}\r\n\r\nfunction showCopyNotification(showNotificationObservable)\r\n{\r\n if (showNotificationObservable())\r\n {\r\n showNotificationObservable(false);\r\n }\r\n\r\n setTimeout(function ()\r\n {\r\n showNotificationObservable(true);\r\n }, 0);\r\n}","module.exports = \"<!-- \" + (require(\"js/Core/MarchingAntsControlViewModel\"), require(\"js/Core/AccessibleImageControlViewModel\"), \"\") + \" -->\\n\\n<!-- ko if: showBanner -->\\n<div id=\\\"debugDetailsBanner\\\" class=\\\"debug-details-banner table\\\" data-bind=\\\"css: { 'wide': useWiderWidth }\\\">\\n <div class=\\\"table-row\\\">\\n <div class=\\\"table-cell\\\">\\n <!-- ko if: svr.cf -->\\n <div class=\\\"debug-details-header\\\">\\n <div id=\\\"debugDetailsHeader\\\" class=\\\"bold debug-details-heading-text\\\" role=\\\"heading\\\" aria-level=\\\"2\\\" data-bind=\\\"text: str['STR_Error_Details_Title']\\\"></div>\\n <div data-bind=\\\"text: str['STR_Error_Details_Instruction']\\\"></div>\\n <a id=\\\"idCopyToClipboard\\\" href=\\\"#\\\" role=\\\"button\\\" data-bind=\\\"\\n clickToCopy: { textareaId: 'debugDetailsText', showNotification: showDebugDetailsCopyMessage },\\n text: str['STR_Error_Details_CopyLink'],\\n ariaDescribedBy: 'debugDetailsHeader',\\n ariaLabel: str['STR_Error_Details_CopyLink'],\\n hasFocus: isFocusActivated\\\"></a>\\n <span id=\\\"debugDetailsCopyMessage\\\" class=\\\"debug-details-notification fade-in-lightbox\\\" aria-live=\\\"assertive\\\" data-bind=\\\"visible: showDebugDetailsCopyMessage\\\">\\n\\n <!-- ko component: 'accessible-image-control' -->\\n <img role=\\\"presentation\\\" pngSrc=\\\"\" + require(\"images/check_small_white.png\") + \"\\\" svgSrc=\\\"\" + require(\"images/check_small_white.svg\") + \"\\\" data-bind=\\\"imgSrc\\\" />\\n <img role=\\\"presentation\\\" pngSrc=\\\"\" + require(\"images/check_small.png\") + \"\\\" svgSrc=\\\"\" + require(\"images/check_small.svg\") + \"\\\" data-bind=\\\"imgSrc\\\" />\\n <!-- /ko -->\\n\\n <span role=\\\"alert\\\" data-bind=\\\"\\n text: showDebugDetailsCopyMessage() ? str['STR_Error_Details_Notification'] : null,\\n ariaLabel: str['STR_Error_Details_Notification_ScreenReader']\\\"></span>\\n </span>\\n </div>\\n <!-- /ko -->\\n\\n <div class=\\\"override-ltr\\\" data-bind=\\\"copySource: 'debugDetailsText'\\\">\\n <!-- ko if: debugDetails.errorCode -->\\n <div>\\n <span class=\\\"bold\\\">Error Code: </span>\\n <span data-bind=\\\"text: debugDetails.errorCode\\\"></span>\\n </div>\\n <!-- /ko -->\\n <!-- ko if: svr.sessionId -->\\n <div>\\n <span class=\\\"bold\\\">Request Id: </span>\\n <span data-bind=\\\"text: svr.sessionId\\\"></span>\\n </div>\\n <!-- /ko -->\\n <div>\\n <span class=\\\"bold\\\">Correlation Id: </span>\\n <span data-bind=\\\"text: svr.correlationId\\\"></span>\\n </div>\\n <div>\\n <span class=\\\"bold\\\">Timestamp: </span>\\n <span data-bind=\\\"text: debugDetails.timestamp\\\"></span>\\n </div>\\n <!-- ko if: svr.ao -->\\n <div>\\n <span class=\\\"bold\\\">Message: </span>\\n <span data-bind=\\\"text: unsafe_exceptionMessage\\\"></span>\\n </div>\\n <!-- /ko -->\\n\\n <!-- ko template: { nodes: $componentTemplateNodes, data: $data } --><!-- /ko -->\\n </div>\\n\\n <!-- ko if: svr.urlSetDebugMode -->\\n <div class=\\\"debug-trace-section\\\">\\n <div>\\n <span class=\\\"bold\\\" data-bind=\\\"text: str['STR_Error_Details_Debug_Mode']\\\"></span>\\n <a id=\\\"setDebugMode\\\" role=\\\"button\\\" data-bind=\\\"\\n href: svr.urlSetDebugMode,\\n text: isDebugTracingEnabled() ? str['STR_Error_Details_Debug_Mode_Disable'] : str['STR_Error_Details_Debug_Mode_Enable'],\\n ariaLabel: isDebugTracingEnabled() ? str['STR_Error_Details_Debug_Mode_Disable_AriaLabel'] : str['STR_Error_Details_Debug_Mode_Enable_AriaLabel'],\\n click: setDebugMode_onClick,\\n hasFocus: isFocusActivated() && !svr.cf\\\"></a>\\n </div>\\n <!-- ko if: sending -->\\n <div class=\\\"progress-container-tile\\\">\\n <div class=\\\"progress\\\" role=\\\"progressbar\\\" data-bind=\\\"component: 'marching-ants-control', ariaLabel: str['WF_STR_ProgressText']\\\"></div>\\n </div>\\n <!-- /ko -->\\n <!-- ko if: debugModeError -->\\n <div role=\\\"alert\\\" data-bind=\\\"text: debugModeError, externalCss: { 'error': true }\\\"></div>\\n <!-- /ko -->\\n <div data-bind=\\\"text: str['STR_Error_Details_Debug_Mode_Desc']\\\"></div>\\n </div>\\n <!-- /ko -->\\n </div>\\n <div>\\n <a id=\\\"errorBannerCloseLink\\\" role=\\\"button\\\" href=\\\"#\\\" data-bind=\\\"\\n click: hideBanner_onClick,\\n ariaLabel: str['CT_STR_Error_Details_Close_AltText'],\\n hasFocus: isFocusActivated() && !svr.cf && !svr.urlSetDebugMode\\\">\\n <!-- ko component: 'accessible-image-control' -->\\n <img role=\\\"presentation\\\" pngSrc=\\\"\" + require(\"images/close_white.png\") + \"\\\" svgSrc=\\\"\" + require(\"images/close_white.svg\") + \"\\\" data-bind=\\\"imgSrc, attr: { alt: str['CT_STR_Error_Details_Close_AltText'] }\\\" />\\n <img role=\\\"presentation\\\" pngSrc=\\\"\" + require(\"images/close.png\") + \"\\\" svgSrc=\\\"\" + require(\"images/close.svg\") + \"\\\" data-bind=\\\"imgSrc, attr: { alt: str['CT_STR_Error_Details_Close_AltText'] }\\\" />\\n <!-- /ko -->\\n </a>\\n </div>\\n </div>\\n</div>\\n<!-- /ko -->\";","module.exports = __webpack_public_path__ + \"content/images/check_small_white_7e9965afff0c89a10fc1c0e70ae2a544.png\";","module.exports = __webpack_public_path__ + \"content/images/check_small_white_8962e719a088b7250ec88d8762ad1746.svg\";","module.exports = __webpack_public_path__ + \"content/images/check_small_490de8de96812fad01b54b4209f42df4.png\";","module.exports = __webpack_public_path__ + \"content/images/check_small_48540c930333871c385fcba2c659ccdb.svg\";","module.exports = __webpack_public_path__ + \"content/images/close_white_78e256a7634d924b17cd1f4e94acc4c3.png\";","module.exports = __webpack_public_path__ + \"content/images/close_white_cabd4c7fb677d6094db07f0e34de4027.svg\";","module.exports = __webpack_public_path__ + \"content/images/close_a1b192d1e73683f78bc1a7454617cca4.png\";","module.exports = __webpack_public_path__ + \"content/images/close_790189870c9543725dc3f5a15fb25e46.svg\";","var ko = require(\"knockout\");\r\nvar Browser = require(\"./BrowserControl\");\r\nvar ComponentEvent = require(\"./ComponentEvent\");\r\n\r\nvar w = window;\r\n\r\nfunction FedCredButtonsControl(params)\r\n{\r\n \r\n var _this = this;\r\n \r\n\r\n \r\n var _fedCredOptions = params.fedCredOptions;\r\n \r\n\r\n \r\n _this.onFedCredButtonClick = ComponentEvent.create();\r\n _this.onFedCredHelpButtonClick = ComponentEvent.create();\r\n \r\n\r\n \r\n _this.fedCredOptions = _fedCredOptions || [];\r\n \r\n\r\n \r\n _this.fedCredButton_onClick = function (fedCredButton)\r\n {\r\n _this.onFedCredButtonClick(fedCredButton);\r\n };\r\n\r\n _this.fedCredHelpButton_onClick = function (fedCredButton)\r\n {\r\n _this.onFedCredHelpButtonClick(fedCredButton);\r\n };\r\n \r\n}\r\n\r\nko.components.register(\"fed-cred-buttons-control\",\r\n {\r\n viewModel: FedCredButtonsControl,\r\n template: require(\"html/Shared/Controls/ConvergedFedCredButtonsControlHtml.html\"),\r\n synchronous: !w.ServerData.A || Browser.Helper.isStackSizeGreaterThan(w.ServerData.A),\r\n enableExtensions: true\r\n });\r\n\r\nmodule.exports = FedCredButtonsControl;","module.exports = \"<!-- \" + (require(\"js/Core/AccessibleImageControlViewModel\"), \"\") + \" -->\\n\\n<!-- ko withProperties: { '$fedCredButtonsControl': $data } -->\\n<div data-bind=\\\"css: { 'app': $page.backgroundLogoUrl }, externalCss: { 'promoted-fed-cred-box': true }\\\">\\n <div class=\\\"promoted-fed-cred-content\\\" data-bind=\\\"css: {\\n 'animate': $page.useCssAnimations && $page.animate(),\\n 'slide-out-next': $page.animate.isSlideOutNext,\\n 'slide-in-next': $page.animate.isSlideInNext,\\n 'slide-out-back': $page.animate.isSlideOutBack,\\n 'slide-in-back': $page.animate.isSlideInBack,\\n 'app': $page.backgroundLogoUrl }\\\">\\n\\n <!-- ko ifnot: svr.fIsQrCodePinSupported -->\\n <!-- ko foreach: $fedCredButtonsControl.fedCredOptions -->\\n <div class=\\\"row tile\\\">\\n <div class=\\\"table\\\" role=\\\"button\\\" tabindex=\\\"0\\\" data-bind=\\\"\\n css: { 'list-item': svr.cP },\\n pressEnter: $fedCredButtonsControl.fedCredButton_onClick,\\n click: $fedCredButtonsControl.fedCredButton_onClick,\\n ariaLabel: $data.text\\\">\\n\\n <div class=\\\"table-row\\\">\\n <div class=\\\"table-cell tile-img medium\\\">\\n <!-- ko component: 'accessible-image-control' -->\\n <!-- ko if: svr.cq -->\\n <img class=\\\"tile-img medium\\\" role=\\\"presentation\\\" data-bind=\\\"addEventHandlers, attr: { src: $data.lightIconUrl }\\\" />\\n <img class=\\\"tile-img medium\\\" role=\\\"presentation\\\" data-bind=\\\"addEventHandlers, attr: { src: $data.darkIconUrl }\\\" />\\n <!-- /ko -->\\n <!-- ko ifnot: svr.cq -->\\n <img class=\\\"tile-img medium\\\" role=\\\"presentation\\\" data-bind=\\\"attr: { src: $data.lightIconUrl }\\\" />\\n <img class=\\\"tile-img medium\\\" role=\\\"presentation\\\" data-bind=\\\"attr: { src: $data.darkIconUrl }\\\" />\\n <!-- /ko -->\\n <!-- /ko -->\\n </div>\\n <div class=\\\"table-cell text-left\\\" data-bind=\\\"css: { 'content': !svr.cP }\\\">\\n <div data-bind=\\\"\\n text: $data.text,\\n attr: { 'data-test-id': $data.testId }\\\"></div>\\n </div>\\n </div>\\n </div>\\n </div>\\n <!-- /ko -->\\n <!-- /ko -->\\n\\n <!-- ko if: svr.fEnableQrCodeA11YFixes -->\\n <!-- ko if: svr.fIsQrCodePinSupported -->\\n <!-- ko foreach: $fedCredButtonsControl.fedCredOptions -->\\n <div class=\\\"tile-container\\\" data-bind=\\\"css: { 'binaryChoice list': svr.cP }\\\">\\n <div class=\\\"row tile\\\">\\n <div class=\\\"table\\\" role=\\\"button\\\" tabindex=\\\"0\\\" data-bind=\\\"\\n css: { 'list-item': svr.cP },\\n pressEnter: $fedCredButtonsControl.fedCredButton_onClick,\\n click: $fedCredButtonsControl.fedCredButton_onClick,\\n ariaLabel: $data.text + ' ' + $data.helpText\\\">\\n\\n <div class=\\\"table-row\\\">\\n <div class=\\\"table-cell tile-img medium\\\">\\n <!-- ko component: 'accessible-image-control' -->\\n <!-- ko if: svr.cq -->\\n <img class=\\\"tile-img medium\\\" role=\\\"presentation\\\" data-bind=\\\"addEventHandlers, attr: { src: $data.lightIconUrl }\\\" />\\n <img class=\\\"tile-img medium\\\" role=\\\"presentation\\\" data-bind=\\\"addEventHandlers, attr: { src: $data.darkIconUrl }\\\" />\\n <!-- /ko -->\\n <!-- ko ifnot: svr.cq -->\\n <img class=\\\"tile-img medium\\\" role=\\\"presentation\\\" data-bind=\\\"attr: { src: $data.lightIconUrl }\\\" />\\n <img class=\\\"tile-img medium\\\" role=\\\"presentation\\\" data-bind=\\\"attr: { src: $data.darkIconUrl }\\\" />\\n <!-- /ko -->\\n <!-- /ko -->\\n </div>\\n <div class=\\\"table-cell text-left\\\" data-bind=\\\"css: { 'content': !svr.cP }\\\">\\n <!-- ko if: $data.showPreviewBadge -->\\n <span data-bind=\\\"text: $data.text, attr: { 'data-test-id': $data.testId }\\\"></span>\\n <sup class=\\\"rounded-pill\\\" data-bind=\\\"text: str['CT_STR_QrCodeScan_Button_PreviewBadge_Label']\\\"></sup>\\n <!-- /ko -->\\n <!-- ko ifnot: $data.showPreviewBadge -->\\n <div data-bind=\\\"text: $data.text, attr: { 'data-test-id': $data.testId }\\\"></div>\\n <!-- /ko -->\\n\\n <!-- ko if: $data.showHelpIcon -->\\n <div><small data-bind=\\\"text: $data.helpText\\\"></small></div>\\n <!-- /ko -->\\n </div>\\n </div>\\n </div>\\n </div>\\n <!-- ko if: $data.showHelpIcon -->\\n <div class=\\\"row tile\\\">\\n <div class=\\\"help-button\\\" role=\\\"button\\\" tabindex=\\\"0\\\" data-bind=\\\"\\n click: $fedCredButtonsControl.fedCredHelpButton_onClick,\\n pressEnter: $fedCredButtonsControl.fedCredHelpButton_onClick,\\n ariaLabel: str['CT_STR_QrCodePin_Signin_HelpDescription']\\\">\\n\\n <!-- ko component: 'accessible-image-control' -->\\n <img role=\\\"presentation\\\" pngSrc=\\\"\" + require(\"images/documentation_white.png\") + \"\\\" svgSrc=\\\"\" + require(\"images/documentation_white.svg\") + \"\\\" data-bind=\\\"imgSrc\\\" />\\n <img role=\\\"presentation\\\" pngSrc=\\\"\" + require(\"images/documentation.png\") + \"\\\" svgSrc=\\\"\" + require(\"images/documentation.svg\") + \"\\\" data-bind=\\\"imgSrc\\\" />\\n <!-- /ko -->\\n </div>\\n </div>\\n <!-- /ko -->\\n </div>\\n <!-- /ko -->\\n <!-- /ko -->\\n <!-- /ko -->\\n\\n <!-- ko ifnot: svr.fEnableQrCodeA11YFixes -->\\n <!-- ko if: svr.fIsQrCodePinSupported -->\\n <!-- ko foreach: $fedCredButtonsControl.fedCredOptions -->\\n <div class=\\\"tile-container\\\" data-bind=\\\"css: { 'binaryChoice list': svr.cP }\\\">\\n <div class=\\\"row tile\\\">\\n <div class=\\\"table\\\" role=\\\"button\\\" tabindex=\\\"0\\\" data-bind=\\\"\\n css: { 'list-item': svr.cP },\\n pressEnter: $fedCredButtonsControl.fedCredButton_onClick,\\n click: $fedCredButtonsControl.fedCredButton_onClick,\\n ariaLabel: $data.text\\\">\\n\\n <div class=\\\"table-row\\\">\\n <div class=\\\"table-cell tile-img medium\\\">\\n <!-- ko component: 'accessible-image-control' -->\\n <!-- ko if: svr.cq -->\\n <img class=\\\"tile-img medium\\\" role=\\\"presentation\\\" data-bind=\\\"addEventHandlers, attr: { src: $data.lightIconUrl }\\\" />\\n <img class=\\\"tile-img medium\\\" role=\\\"presentation\\\" data-bind=\\\"addEventHandlers, attr: { src: $data.darkIconUrl }\\\" />\\n <!-- /ko -->\\n <!-- ko ifnot: svr.cq -->\\n <img class=\\\"tile-img medium\\\" role=\\\"presentation\\\" data-bind=\\\"attr: { src: $data.lightIconUrl }\\\" />\\n <img class=\\\"tile-img medium\\\" role=\\\"presentation\\\" data-bind=\\\"attr: { src: $data.darkIconUrl }\\\" />\\n <!-- /ko -->\\n <!-- /ko -->\\n </div>\\n <div class=\\\"table-cell text-left\\\" data-bind=\\\"css: { 'content': !svr.cP }\\\">\\n <!-- ko if: $data.showPreviewBadge -->\\n <span data-bind=\\\"text: $data.text, attr: { 'data-test-id': $data.testId }\\\"></span>\\n <sup class=\\\"rounded-pill\\\" data-bind=\\\"text: str['CT_STR_QrCodeScan_Button_PreviewBadge_Label']\\\"></sup>\\n <!-- /ko -->\\n <!-- ko ifnot: $data.showPreviewBadge -->\\n <div data-bind=\\\"text: $data.text, attr: { 'data-test-id': $data.testId }\\\"></div>\\n <!-- /ko -->\\n\\n <!-- ko if: $data.showHelpIcon -->\\n <div><small data-bind=\\\"text: $data.helpText\\\"></small></div>\\n <!-- /ko -->\\n </div>\\n </div>\\n </div>\\n </div>\\n <!-- ko if: $data.showHelpIcon -->\\n <div class=\\\"row tile\\\">\\n <div class=\\\"help-button\\\" role=\\\"button\\\" tabindex=\\\"0\\\" data-bind=\\\"\\n click: $fedCredButtonsControl.fedCredHelpButton_onClick,\\n pressEnter: $fedCredButtonsControl.fedCredHelpButton_onClick,\\n ariaLabel: $data.text\\\">\\n\\n <!-- ko component: 'accessible-image-control' -->\\n <img role=\\\"presentation\\\" pngSrc=\\\"\" + require(\"images/documentation_white.png\") + \"\\\" svgSrc=\\\"\" + require(\"images/documentation_white.svg\") + \"\\\" data-bind=\\\"imgSrc\\\" />\\n <img role=\\\"presentation\\\" pngSrc=\\\"\" + require(\"images/documentation.png\") + \"\\\" svgSrc=\\\"\" + require(\"images/documentation.svg\") + \"\\\" data-bind=\\\"imgSrc\\\" />\\n <!-- /ko -->\\n </div>\\n </div>\\n <!-- /ko -->\\n </div>\\n <!-- /ko -->\\n <!-- /ko -->\\n <!-- /ko -->\\n\\n </div>\\n</div>\\n<!-- /ko -->\";","var ko = require(\"knockout\");\r\nvar Browser = require(\"../Core/BrowserControl\");\r\nvar ComponentEvent = require(\"../Core/ComponentEvent\");\r\n\r\nvar w = window;\r\n\r\n\r\nfunction QrCodePinHelpDialogContentControl()\r\n{\r\n var _this = this;\r\n\r\n \r\n _this.onRegisterDialog = ComponentEvent.create();\r\n _this.onUnregisterDialog = ComponentEvent.create();\r\n \r\n}\r\n\r\nko.components.register(\"qr-code-pin-help-dialog-content-control\",\r\n {\r\n viewModel: QrCodePinHelpDialogContentControl,\r\n template: require(\"html/LoginPage/Controls/QrCodePinHelpDialogContentControlHtml.html\"),\r\n synchronous: !w.ServerData.A || Browser.Helper.isStackSizeGreaterThan(w.ServerData.A),\r\n enableExtensions: true\r\n });\r\n\r\nmodule.exports = QrCodePinHelpDialogContentControl;","module.exports = \"<!-- \" + (require(\"js/Core/AccessibleImageControlViewModel\"), require(\"js/Core/DialogContentControlViewModel\"), \"\") + \" -->\\n\\n<div data-bind=\\\"component: { name: 'dialog-content-control',\\n params: {\\n dialogId: \" + require('js/Core/Constants').DialogId.QrCodePinHelp + \",\\n data: {\\n labelledBy: 'qrPinDialogTitle',\\n describedBy: 'qrPinDialogDesc' } },\\n event: {\\n registerDialog: onRegisterDialog,\\n unregisterDialog: onUnregisterDialog } }\\\">\\n\\n <div id=\\\"qrPinDialogTitle\\\" class=\\\"row\\\" role=\\\"heading\\\" aria-level=\\\"1\\\" data-bind=\\\"externalCss: { 'title': true }\\\">\\n <!-- ko component: 'accessible-image-control' -->\\n <img role=\\\"presentation\\\" pngSrc=\\\"\" + require(\"images/CredentialOptions/cred_option_qrpin_white.png\") + \"\\\" svgSrc=\\\"\" + require(\"images/CredentialOptions/cred_option_qrpin_white.svg\") + \"\\\" data-bind=\\\"imgSrc\\\" />\\n <img role=\\\"presentation\\\" pngSrc=\\\"\" + require(\"images/CredentialOptions/cred_option_qrpin.png\") + \"\\\" svgSrc=\\\"\" + require(\"images/CredentialOptions/cred_option_qrpin.svg\") + \"\\\" data-bind=\\\"imgSrc\\\" />\\n <!-- /ko -->\\n\\n <span data-bind=\\\"text: str['CT_STR_QrCodePin_Signin_ButtonText']\\\"></span>\\n <sup class=\\\"rounded-pill\\\" data-bind=\\\"text: str['CT_STR_QrCodeScan_Button_PreviewBadge_Label']\\\"></sup>\\n </div>\\n\\n <div id=\\\"qrPinDialogDesc\\\" class=\\\"row text-body\\\" data-bind=\\\"text: str['CT_STR_QrCodePin_InfoDialog_PrivacyMessage']\\\"></div>\\n</div>\";","module.exports = \"<!-- ko if: !hideFooter && (showLinks || impressumLink || showIcpLicense) -->\\n<div id=\\\"footerLinks\\\" class=\\\"footerNode text-secondary\\\" data-bind=\\\"externalCss: { 'footer-links': true }\\\">\\n\\n <!-- ko if: showFooter -->\\n <!-- ko if: !hideTOU -->\\n <a id=\\\"ftrTerms\\\" data-bind=\\\"\\n text: termsText,\\n href: termsLink,\\n click: termsLink_onClick,\\n externalCss: {\\n 'footer-content': true,\\n 'footer-item': true,\\n 'has-background': !useDefaultBackground,\\n 'background-always-visible': hasDarkBackground }\\\"></a>\\n <!-- /ko -->\\n\\n <!-- ko if: !hidePrivacy -->\\n <a id=\\\"ftrPrivacy\\\" data-bind=\\\"\\n text: privacyText,\\n href: privacyLink,\\n click: privacyLink_onClick,\\n externalCss: {\\n 'footer-content': true,\\n 'footer-item': true,\\n 'has-background': !useDefaultBackground,\\n 'background-always-visible': hasDarkBackground }\\\"></a>\\n <!-- /ko -->\\n\\n <!-- ko if: impressumLink -->\\n <a id=\\\"ftrImpressum\\\" data-bind=\\\"\\n text: str['WF_STR_Footer_LinkDisclaimer_Text'],\\n href: impressumLink,\\n click: impressumLink_onClick,\\n externalCss: {\\n 'footer-content': true,\\n 'footer-item': true,\\n 'has-background': !useDefaultBackground,\\n 'background-always-visible': hasDarkBackground }\\\"></a>\\n <!-- /ko -->\\n\\n <!-- ko if: a11yConformeLink -->\\n <a id=\\\"ftrA11yConforme\\\" data-bind=\\\"\\n text: str['WF_STR_Footer_LinkA11yConforme_Text'],\\n href: a11yConformeLink,\\n click: a11yConformeLink_onClick,\\n externalCss: {\\n 'footer-content': true,\\n 'footer-item': true,\\n 'has-background': !useDefaultBackground,\\n 'background-always-visible': hasDarkBackground }\\\"></a>\\n <!-- /ko -->\\n\\n <!-- ko if: showIcpLicense -->\\n <a id=\\\"ftrIcp\\\" href=\\\"#\\\" target=\\\"_blank\\\" data-bind=\\\"\\n text: str['STR_Footer_IcpLicense_Text'],\\n href: icpLink,\\n externalCss: {\\n 'footer-content': true,\\n 'footer-item': true,\\n 'has-background': !useDefaultBackground,\\n 'background-always-visible': hasDarkBackground }\\\"></a>\\n <!-- /ko -->\\n <!-- /ko -->\\n\\n <!-- Set attr binding before hasFocusEx to prevent Narrator from losing focus -->\\n <a id=\\\"moreOptions\\\" href=\\\"#\\\" role=\\\"button\\\" data-bind=\\\"\\n click: moreInfo_onClick,\\n ariaLabel: str['CT_STR_More_Options_Ellipsis_AriaLabel'],\\n attr: { 'aria-expanded': showDebugDetails().toString() },\\n hasFocusEx: focusMoreInfo(),\\n externalCss: {\\n 'footer-content': true,\\n 'footer-item': true,\\n 'debug-item': true,\\n 'has-background': !useDefaultBackground,\\n 'background-always-visible': hasDarkBackground }\\\">...</a>\\n</div>\\n<!-- /ko -->\\n\\n<!-- ko if: svr.cH && showLinks -->\\n <!-- ko if: svr.aa || svr.AN -->\\n <div class=\\\"text-caption\\\" data-bind=\\\"\\n htmlWithBindings: html['CT_STR_Inline_Legal_Services_Message'],\\n childBindings: {\\n 'ftrServices': {\\n click: services_onClick },\\n 'ftrServicesInformation': {\\n click: services_onClick } }\\\"></div>\\n <!-- /ko -->\\n <div class=\\\"text-caption\\\" data-bind=\\\"\\n htmlWithBindings: html['CT_STR_Inline_Legal_Message'],\\n childBindings: {\\n 'ftrNext': {\\n css: 'bold' },\\n 'ftrTerms': {\\n href: termsLink,\\n click: termsLink_onClick },\\n 'ftrPrivacy': {\\n href: privacyLink,\\n click: privacyLink_onClick } }\\\"></div>\\n<!-- /ko -->\";","var Helpers = require(\"./Helpers\");\r\nvar Browser = require(\"./BrowserControl\");\r\n\r\nvar w = window;\r\nvar ObjectHelpers = Helpers.Object;\r\nvar BrowserHelper = Browser.Helper;\r\nvar BrowserHistoryHelper = BrowserHelper.history;\r\n\r\nmodule.exports = function (backCallback, forwardCallback, popStateCallback)\r\n{\r\n var _this = this;\r\n\r\n var c_popState = \"popstate\";\r\n\r\n var _isHtml5HistorySupported = false;\r\n var _backCallback = backCallback;\r\n var _forwardCallback = forwardCallback;\r\n var _popStateCallback = popStateCallback;\r\n var _history = [null];\r\n var _historyIndex = 0;\r\n\r\n _this.dispose = function ()\r\n {\r\n if (_isHtml5HistorySupported)\r\n {\r\n BrowserHelper.removeEventListener(w, c_popState, _window_onPopState);\r\n }\r\n };\r\n\r\n _this.pushState = function (state)\r\n {\r\n _historyIndex++;\r\n _history.splice(_historyIndex, _history.length - _historyIndex, ObjectHelpers.clone(state));\r\n\r\n if (_isHtml5HistorySupported)\r\n {\r\n BrowserHistoryHelper.pushState(_historyIndex, \"\");\r\n }\r\n };\r\n\r\n _this.replaceState = function (state)\r\n {\r\n _history[_historyIndex] = ObjectHelpers.clone(state);\r\n };\r\n\r\n _this.goBack = function ()\r\n {\r\n if (_historyIndex > 0)\r\n {\r\n if (_isHtml5HistorySupported)\r\n {\r\n w.history.back();\r\n }\r\n else\r\n {\r\n _window_onPopState({ state: _historyIndex - 1 });\r\n }\r\n }\r\n };\r\n\r\n _this.getState = function ()\r\n {\r\n \r\n if (_historyIndex > _history.length)\r\n {\r\n _historyIndex = _history.length - 1;\r\n }\r\n else if (_historyIndex < 0)\r\n {\r\n _historyIndex = 0;\r\n }\r\n\r\n if (_history[_historyIndex] === null)\r\n {\r\n return null;\r\n }\r\n\r\n return ObjectHelpers.clone(_history[_historyIndex]);\r\n };\r\n\r\n function _window_onPopState(event)\r\n {\r\n if (!event || typeof event.state === \"undefined\" || event.state === null)\r\n {\r\n return;\r\n }\r\n\r\n var newHistoryIndex = event.state;\r\n if (newHistoryIndex < _historyIndex)\r\n {\r\n _backCallback();\r\n }\r\n else\r\n {\r\n _forwardCallback();\r\n }\r\n\r\n _historyIndex = newHistoryIndex;\r\n _popStateCallback(_this.getState());\r\n }\r\n\r\n (function _initialize()\r\n {\r\n _isHtml5HistorySupported = BrowserHelper.isHistorySupported();\r\n\r\n if (_isHtml5HistorySupported)\r\n {\r\n \r\n BrowserHistoryHelper.replaceState(_historyIndex, \"\");\r\n BrowserHelper.addEventListener(w, c_popState, _window_onPopState);\r\n }\r\n })();\r\n};","module.exports = \"<!-- \" + (require(\"js/Core/IdentityBannerControlViewModel\"), \"\") + \" -->\\n\\n<div data-bind=\\\"css: { 'zero-opacity': hidePaginatedView() }\\\">\\n <!-- ko if: showIdentityBanner() && (sharedData.displayName || svr.G) -->\\n <div data-bind=\\\"css: {\\n 'animate': animate() && animate.animateBanner(),\\n 'slide-out-next': animate.isSlideOutNext(),\\n 'slide-in-next': animate.isSlideInNext(),\\n 'slide-out-back': animate.isSlideOutBack(),\\n 'slide-in-back': animate.isSlideInBack() }\\\">\\n\\n <div data-bind=\\\"component: { name: 'identity-banner-control',\\n params: {\\n userTileUrl: svr.Cf,\\n displayName: sharedData.displayName || svr.G,\\n isBackButtonVisible: isBackButtonVisible(),\\n focusOnBackButton: isBackButtonFocused(),\\n backButtonDescribedBy: backButtonDescribedBy() },\\n event: {\\n backButtonClick: identityBanner_onBackButtonClick } }\\\">\\n </div>\\n </div>\\n <!-- /ko -->\\n\\n <div class=\\\"pagination-view\\\" data-bind=\\\"css: {\\n 'has-identity-banner': showIdentityBanner() && (sharedData.displayName || svr.G),\\n 'zero-opacity': hidePaginatedView.hideSubView(),\\n 'animate': animate(),\\n 'slide-out-next': animate.isSlideOutNext(),\\n 'slide-in-next': animate.isSlideInNext(),\\n 'slide-out-back': animate.isSlideOutBack(),\\n 'slide-in-back': animate.isSlideInBack() }\\\">\\n\\n <!-- ko foreach: views -->\\n <!-- ko if: $parent.currentViewIndex() === $index() -->\\n <!-- ko template: { nodes: [$data], data: $parent } --><!-- /ko -->\\n <!-- /ko -->\\n <!-- /ko -->\\n </div>\\n</div>\";","var ko = require(\"knockout\");\r\nvar Browser = require(\"./BrowserControl\");\r\nvar ComponentEvent = require(\"./ComponentEvent\");\r\n\r\nvar w = window;\r\nvar BrowserHelper = Browser.Helper;\r\n\r\nfunction IdentityBannerControl(params)\r\n{\r\n var _this = this;\r\n\r\n var _displayName = params.displayName;\r\n var _isBackButtonVisible = params.isBackButtonVisible;\r\n var _backButtonId = params.backButtonId;\r\n var _backButtonDescribedBy = params.backButtonDescribedBy;\r\n var _focusOnBackButton = params.focusOnBackButton || false;\r\n\r\n \r\n _this.onBackButtonClick = ComponentEvent.create();\r\n\r\n \r\n _this.unsafe_displayName = null;\r\n _this.isBackButtonVisible = _isBackButtonVisible;\r\n _this.backButtonId = _backButtonId;\r\n _this.backButtonDescribedBy = _backButtonDescribedBy;\r\n _this.focusOnBackButton = _focusOnBackButton;\r\n _this.showLogo = params.showLogo || false;\r\n _this.bannerLogoUrl = params.bannerLogoUrl || \"\";\r\n\r\n \r\n _this.backButton_onClick = function ()\r\n {\r\n _this.onBackButtonClick();\r\n };\r\n\r\n \r\n (function _initialize()\r\n {\r\n _this.unsafe_displayName = BrowserHelper.htmlUnescape(_displayName);\r\n })();\r\n}\r\n\r\nko.components.register(\"identity-banner-control\",\r\n {\r\n viewModel: IdentityBannerControl,\r\n template: require(\"html/Shared/Controls/IdentityBannerControlHtml.html\"),\r\n synchronous: !w.ServerData.A || Browser.Helper.isStackSizeGreaterThan(w.ServerData.A),\r\n enableExtensions: true\r\n });","module.exports = \"<!-- \" + (require(\"js/Core/AccessibleImageControlViewModel\"), \"\") + \" -->\\n\\n<div class=\\\"identityBanner\\\">\\n <!-- ko if: isBackButtonVisible -->\\n <button type=\\\"button\\\" class=\\\"backButton\\\" data-bind=\\\"\\n attr: { 'id': backButtonId || 'idBtn_Back' },\\n ariaLabel: str['CT_HRD_STR_Splitter_Back'],\\n ariaDescribedBy: backButtonDescribedBy,\\n click: backButton_onClick,\\n hasFocus: focusOnBackButton\\\">\\n <!-- ko ifnot: svr.C7 -->\\n <!-- ko component: 'accessible-image-control' -->\\n <img role=\\\"presentation\\\" pngSrc=\\\"\" + require(\"images/arrow_left_white.png\") + \"\\\"\\n svgSrc=\\\"\" + require(\"images/arrow_left_white.svg\") + \"\\\" data-bind=\\\"imgSrc\\\" />\\n <img role=\\\"presentation\\\" pngSrc=\\\"\" + require(\"images/arrow_left.png\") + \"\\\"\\n svgSrc=\\\"\" + require(\"images/arrow_left.svg\") + \"\\\" data-bind=\\\"imgSrc\\\" />\\n <!-- /ko -->\\n <!-- /ko -->\\n\\n <!-- ko if: svr.C7 -->\\n <!-- ko component: 'accessible-image-control' -->\\n <img role=\\\"presentation\\\" pngSrc=\\\"\" + require(\"images/arrow_right_white.png\") + \"\\\"\\n svgSrc=\\\"\" + require(\"images/arrow_right_white.svg\") + \"\\\" data-bind=\\\"imgSrc\\\" />\\n <img role=\\\"presentation\\\" pngSrc=\\\"\" + require(\"images/arrow_right.png\") + \"\\\"\\n svgSrc=\\\"\" + require(\"images/arrow_right.svg\") + \"\\\" data-bind=\\\"imgSrc\\\" />\\n <!-- /ko -->\\n <!-- /ko -->\\n </button>\\n <!-- /ko -->\\n\\n <div id=\\\"displayName\\\" class=\\\"identity\\\" data-bind=\\\"text: unsafe_displayName, attr: { 'title': unsafe_displayName }\\\"></div>\\n</div>\";","module.exports = __webpack_public_path__ + \"content/images/arrow_left_white_3007c55710b3b57c1417b83180a50dbf.png\";","module.exports = __webpack_public_path__ + \"content/images/arrow_left_white_b8d123feb637875a2545c3cd3b241c60.svg\";","module.exports = __webpack_public_path__ + \"content/images/arrow_left_d1229aefd268f350621d48f094122f69.png\";","module.exports = __webpack_public_path__ + \"content/images/arrow_left_43280e0ba671a1d8b5e34f1931c4fe4b.svg\";","module.exports = __webpack_public_path__ + \"content/images/arrow_right_white_102656e2f3f2b89b0e6e5c3d9d0f24f0.png\";","module.exports = __webpack_public_path__ + \"content/images/arrow_right_white_f1c38c69f591d5868143f2df867ac032.svg\";","module.exports = __webpack_public_path__ + \"content/images/arrow_right_4414e80d72df57a93999f9a0da2b489a.png\";","module.exports = __webpack_public_path__ + \"content/images/arrow_right_e5c5f012788e131326af53682ee17b31.svg\";","\r\n\r\nvar ko = require(\"knockout\");\r\nvar Constants = require(\"../Core/Constants\");\r\nvar BrandingHelpers = require(\"../Core/BrandingHelpers\");\r\nvar Browser = require(\"../Core/BrowserControl\");\r\nvar Helpers = require(\"../Core/Helpers\");\r\nvar GetCredentialTypeRequestHelper = require(\"../Core/GetCredentialTypeHelpers\");\r\nvar Promise = require(\"../Core/Promise\");\r\nvar PromiseHelpers = require(\"../Core/PromiseHelpers\");\r\nvar ComponentEvent = require(\"../Core/ComponentEvent\");\r\nvar AsyncValidation = require(\"../Core/AsyncValidationControl\");\r\nvar ApiRequest = require(\"../Core/ApiRequest\");\r\nvar PlaceholderTextbox = require(\"../Core/PlaceholderTextbox\");\r\nvar LoginConstants = require(\"./LoginConstants\");\r\nvar KnockoutExtenders = require(\"../Core/KnockoutExtenders\");\r\nvar Otc = require(\"../Core/OtcRequestControl\");\r\nvar GetOneTimeCodeHelper = require(\"../Core/GetOneTimeCodeHelper\");\r\nvar Fido = require(\"../Core/Fido\");\r\nvar ClientTracingHelper = require(\"../Core/ClientTracingHelper\").getInstance(window.ServerData);\r\nvar ClientTracingConstants = require(\"../Core/ClientTracingConstants\");\r\nvar Host = null;\r\n\r\nif (__IS_WEBWIZARD_ENABLED__ || __REQUIRE_WIZARD_IN_CORE__)\r\n{\r\n if (__REQUIRE_WIZARD_IN_CORE__)\r\n {\r\n Host = require(\"./WizardLoginHost\");\r\n }\r\n else\r\n {\r\n require.ensure([],\r\n function ()\r\n {\r\n Host = require(\"./WizardLoginHost\");\r\n },\r\n \"Wizard\");\r\n }\r\n}\r\nelse if (__IS_CXH_ENABLED__)\r\n{\r\n Host = require(\"./Win10LoginHost\");\r\n}\r\nelse if (__IS_INCLUSIVE_OOBE__)\r\n{\r\n Host = require(\"./InclusiveWin10LoginHost.js\");\r\n}\r\nelse if (__IS_XBOX__)\r\n{\r\n Host = require(\"../Core/XboxHost\");\r\n}\r\n\r\nvar w = window;\r\nvar PaginatedState = Constants.PaginatedState;\r\nvar CredentialType = Constants.CredentialType;\r\nvar ApiErrorCodes = Constants.ApiErrorCodes;\r\nvar BrowserHelper = Browser.Helper;\r\nvar Cookies = Browser.Cookies;\r\nvar QueryString = Browser.QueryString;\r\nvar StringHelpers = Helpers.String;\r\nvar AllowedIdentitiesType = LoginConstants.AllowedIdentitiesType;\r\nvar GctResultAction = GetCredentialTypeRequestHelper.GctResultAction;\r\n\r\nKnockoutExtenders.applyExtenders(ko);\r\n\r\n\r\nfunction LoginPaginatedUsernameView(params)\r\n{\r\n var _this = this;\r\n\r\n \r\n var _serverData = params.serverData;\r\n var _serverError = params.serverError;\r\n var _isInitialView = params.isInitialView;\r\n var _displayName = params.displayName;\r\n var _prefillNames = params.prefillNames;\r\n var _flowTokenParam = params.flowToken;\r\n var _otherIdpRedirectUrl = params.otherIdpRedirectUrl;\r\n var _availableSignupCreds = params.availableSignupCreds || [];\r\n var _customStrings = params.customStrings;\r\n var _isCustomizationFailure = params.isCustomizationFailure;\r\n var _userIdLabel = params.userIdLabel;\r\n var _cantAccessYourAccountText = params.cantAccessYourAccountText;\r\n var _hideAccountResetCredentials = params.hideAccountResetCredentials;\r\n var _accessRecoveryLink = params.accessRecoveryLink;\r\n var _boilerPlateText = params.boilerPlateText;\r\n \r\n\r\n \r\n var _strings = _serverData.str;\r\n var _allowPhone = _serverData.a9 || _serverData.a8;\r\n var _allowSkype = _serverData.AZ;\r\n var _checkWindowsFormat = _serverData.fCheckWindowsUsernameFormat;\r\n var _resetPasswordUrl = _serverData.m;\r\n var _getOneTimeCodeUrl = _serverData.urlGetOneTimeCode;\r\n var _skipZtdUrl = _serverData.a1;\r\n var _originalRequest = _serverData.b;\r\n var _staticTenantBranding = _serverData.staticTenantBranding;\r\n var _allowedIdentities = _serverData.n;\r\n var _appName = _serverData.T;\r\n var _remoteClientIp = _serverData.sRemoteClientIp;\r\n var _remoteAppLocation = _serverData.AT;\r\n var _remoteLoginConfig = _serverData.bR;\r\n var _userRoutingCookieConfig = _serverData.Ay;\r\n var _allowCancel = _serverData.d;\r\n var _isFidoSupportedHint = !!_serverData.Am;\r\n var _checkApiCanary = _serverData.L;\r\n var _linkedInFedUrl = _serverData.w;\r\n var _gitHubFedUrl = _serverData.W;\r\n var _googleFedUrl = _serverData.Ai;\r\n var _facebookFedUrl = _serverData.Ah;\r\n var _otherIdpSignUpUrl = _serverData.aY;\r\n var _isTokenBroker = !!_serverData.N;\r\n var _isPreferAssociate = !!_serverData.R;\r\n var _ztdTenantName = _serverData.Av;\r\n var _promotedFedCredType = _serverData.aG;\r\n var _promotedFedCredTypes = _serverData.arrPromotedFedCredTypes || [];\r\n var _showSignInWithGitHubOnlyOnCredPicker = !!_serverData.bC;\r\n var _showFidoLinkInline = !!_serverData.bc && !_serverData.fIsPasskeySupportEnabled;\r\n var _showOfflineAccountLearnMore = !!_serverData.bA;\r\n var _unauthSessionId = _serverData.J;\r\n var _lcid = _serverData.r;\r\n var _hideOfflineAccountNewTitleString = !!_serverData.Bm;\r\n var _getCredTypeResultFromServer = _serverData.As;\r\n var _signupUrl = _serverData.j;\r\n var _aadSignupUrl = _serverData.aP;\r\n var _recoverUsernameUrl = _serverData.v;\r\n var _siteId = _serverData.i;\r\n var _clientId = _serverData.H;\r\n var _forwardedClientId = _serverData.h;\r\n var _noPaBubbleVersion = _serverData.I;\r\n var _showRemoteConnectLocationPage = _serverData.fShowRemoteConnectLocationPage;\r\n var _isOfflineAccountVisible = _serverData.U;\r\n var _isRestrictedWsi = _serverData.fIsRestrictedWsi;\r\n var _showSignInOptionsAsButton = _serverData.AO;\r\n var _showForgotUsernameLink = _serverData.Ao;\r\n var _enableUserStateFix = _serverData.A1;\r\n var _msaServerLottieId = _serverData.iMsaServerLottieId;\r\n var _oidcDiscoveryEndpointFormatUrl = _serverData.AJ;\r\n var _oobeDisplayServicesConsent = _serverData.aa;\r\n var _oobeDisplayUnifiedConsent = _serverData.AN;\r\n var _showCantAccessAccountLink = _serverData.showCantAccessAccountLink;\r\n var _enableShowPickerCredObservable = !!_serverData.BG;\r\n var _usePromotedFedCredTypesArray = _serverData.aD;\r\n var _externalTrustedRealmFederatedIdps = _serverData.arrExternalTrustedRealmFederatedIdps || [];\r\n var _enableLivePreview = _serverData.fEnableLivePreview;\r\n var _useRemoteConnectDescriptionStrings = _serverData.Ap;\r\n var _samlAndOidcCompatibleUx = _serverData.fSamlAndOidcCompatibleUx;\r\n var _useWebviewFidoCustomProtocol = _serverData.fUseWebviewFidoCustomProtocol;\r\n var _isDFPFingerprintingAllowed = _serverData.fEnableDFPIntegration;\r\n \r\n\r\n \r\n var c_titleStringCustomizationKey = \"SignIn_Title\";\r\n var c_descriptionStringCustomizationKey = \"SignIn_Description\";\r\n var _useApiRequest = !!_getOneTimeCodeUrl;\r\n var _getOneTimeCodeState = {};\r\n var _unsafe_displayNameBrowserPrefill = null;\r\n var _useCredWithoutUsername = false;\r\n var _gctRequestHelper = null;\r\n var _gctResultSharedData = {};\r\n var _gctResultSharedDataForGctShowErrorResult = {};\r\n\r\n var _validationEnabled = ko.observable(false);\r\n var _flowToken = ko.observable(_flowTokenParam).extend({ flowTokenUpdate: _serverData });\r\n \r\n\r\n \r\n _this.onSwitchView = ComponentEvent.create();\r\n _this.onRedirect = ComponentEvent.create();\r\n _this.onUpdateDFPUrl = ComponentEvent.create();\r\n _this.onSetPendingRequest = ComponentEvent.create();\r\n _this.onRegisterDialog = ComponentEvent.create();\r\n _this.onUnregisterDialog = ComponentEvent.create();\r\n _this.onShowDialog = ComponentEvent.create(ClientTracingHelper.getDefaultEventTracingOptions(LoginConstants.ClientTracingEventIds.ComponentEvent_LoginPaginatedUsernameView_onShowDialog, true));\r\n _this.onAgreementClick = ComponentEvent.create(ClientTracingHelper.getDefaultEventTracingOptions(LoginConstants.ClientTracingEventIds.ComponentEvent_LoginPaginatedUsernameView_onAgreementClick, true));\r\n _this.onUpdateAvailableCredsWithoutUsername = ComponentEvent.create();\r\n _this.onRestoreIsRecoveryAttemptPost = ComponentEvent.create();\r\n \r\n\r\n \r\n _this.usernameTextbox = new PlaceholderTextbox(AsyncValidation.errorComputed(_getError));\r\n _this.usernameTextbox.value.extend({ logValue: ClientTracingHelper.getPIITextBoxPropertyLogOption(_this, { eventId: LoginConstants.ClientTracingEventIds.PropertyValue_LoginPaginatedUsernameView_Username }) });\r\n _this.usernameTextbox.error.extend({ logValue: ClientTracingHelper.getPropertyLogOption(_this, { eventId: LoginConstants.ClientTracingEventIds.PropertyValue_LoginPaginatedUsernameView_ClientError }) });\r\n _this.passwordBrowserPrefill = ko.observable();\r\n _this.prefillNames = ko.observableArray();\r\n _this.isRequestPending = ko.observable(false);\r\n _this.isBackButtonVisible = ko.observable(false);\r\n _this.isSecondaryButtonVisible = ko.observable(false);\r\n _this.secondaryButtonText = ko.observable();\r\n _this.showTileLogo = ko.observable(false);\r\n _this.isPlatformAuthenticatorAvailable = ko.observable(false);\r\n _this.fidoLinkText = ko.observable();\r\n _this.hasFido = ko.observable(false);\r\n _this.availableCredsWithoutUsername = ko.observableArray([]);\r\n _this.customTitle = ko.observable(null);\r\n _this.customDescription = ko.observable(null);\r\n _this.tenantBranding = null;\r\n _this.isInitialView = _isInitialView;\r\n _this.pageDescription = null;\r\n _this.unsafe_pageTitle = null;\r\n _this.unsafe_subHeader = null;\r\n _this.showFidoLinkInline = _showFidoLinkInline;\r\n _this.hideCantAccessYourAccount = true;\r\n _this.unsafe_cantAccessYourAccountText = _strings[\"WF_STR_CantAccessAccount_Text\"];\r\n _this.userIdLabel = null;\r\n _this.cantAccessYourAccountText = null;\r\n _this.accessRecoveryLink = null;\r\n _this.boilerPlateText = null;\r\n\r\n if (_enableShowPickerCredObservable)\r\n {\r\n _this.showCredPicker = ko.observable(false);\r\n }\r\n else\r\n {\r\n _this.showCredPicker = false;\r\n }\r\n\r\n ClientTracingHelper.attachViewLoadClientTracingOptions(_this, { eventId: LoginConstants.ClientTracingEventIds.Event_LoginPaginatedUsernameView_onLoad });\r\n _this.isOfflineAccountVisible = _isOfflineAccountVisible;\r\n _this.allowRemoteLogin = false;\r\n\r\n \r\n\r\n \r\n _this.saveSharedData = function (sharedData)\r\n {\r\n if (_enableUserStateFix && sharedData.useCredWithoutUsername)\r\n {\r\n \r\n _useCredWithoutUsername = true;\r\n\r\n \r\n delete sharedData.useCredWithoutUsername;\r\n }\r\n\r\n var getOneTimeCodeResult = _getOneTimeCodeState.result;\r\n var unsafe_displayName = _useCredWithoutUsername ? \"\" : _this.usernameTextbox.value();\r\n\r\n sharedData.flowToken = _flowToken();\r\n \r\n \r\n sharedData.username = StringHelpers.cleanseUsername(unsafe_displayName);\r\n sharedData.displayName = unsafe_displayName;\r\n sharedData.passwordBrowserPrefill = _this.passwordBrowserPrefill();\r\n sharedData.remoteLoginUserCode = getOneTimeCodeResult ? getOneTimeCodeResult.userCode : null;\r\n sharedData.remoteLoginDeviceCode = getOneTimeCodeResult ? getOneTimeCodeResult.deviceCode : null;\r\n sharedData.proofConfirmation = \"\";\r\n sharedData.useEvictedCredentials = false;\r\n sharedData.showCredViewBrandingDesc = false;\r\n sharedData.isSignupPost = false;\r\n\r\n if (_useCredWithoutUsername)\r\n {\r\n sharedData.availableCreds = _this.availableCredsWithoutUsername();\r\n\r\n if (_enableUserStateFix && sharedData.fidoParams)\r\n {\r\n \r\n sharedData.fidoParams.allowList = null;\r\n }\r\n }\r\n\r\n ko.utils.extend(sharedData, _gctResultSharedData);\r\n };\r\n\r\n _this.getState = function ()\r\n {\r\n return { unsafe_displayName: _this.usernameTextbox.value(), gctRequestHelperState: _gctRequestHelper.getState() };\r\n };\r\n\r\n _this.restoreState = function (state)\r\n {\r\n if (state)\r\n {\r\n _gctRequestHelper.restoreState(state.gctRequestHelperState);\r\n _this.usernameTextbox.value(state.unsafe_displayName);\r\n }\r\n };\r\n\r\n _this.setDefaultFocus = function ()\r\n {\r\n _this.usernameTextbox.focused(true);\r\n };\r\n \r\n\r\n \r\n _this.primaryButton_onClick = function ()\r\n {\r\n _validationEnabled(true);\r\n\r\n if (_this.usernameTextbox.error.isBlocking())\r\n {\r\n _this.setDefaultFocus();\r\n return;\r\n }\r\n\r\n var unsafe_displayName = _this.usernameTextbox.value();\r\n\r\n _setUserRoutingCookie(unsafe_displayName);\r\n _setIsRequestPending(true);\r\n\r\n PromiseHelpers.throwUnhandledExceptionOnRejection(\r\n _gctRequestHelper.sendAsync(_otherIdpRedirectUrl, unsafe_displayName, _flowToken()).then(\r\n function (gctResult)\r\n {\r\n _setIsRequestPending(false);\r\n\r\n if (gctResult.flowToken)\r\n {\r\n _flowToken(gctResult.flowToken);\r\n }\r\n\r\n if (_isDFPFingerprintingAllowed && gctResult.sharedData && gctResult.sharedData.V)\r\n {\r\n _this.onUpdateDFPUrl(gctResult.sharedData.V);\r\n }\r\n\r\n switch (gctResult.action)\r\n {\r\n case GctResultAction.ShowError:\r\n _this.usernameTextbox.error.setError(gctResult.error, gctResult.isBlockingError);\r\n _gctResultSharedDataForGctShowErrorResult = ko.utils.extend(gctResult.sharedData, gctResult.viewParams || {});\r\n _this.setDefaultFocus();\r\n break;\r\n\r\n case GctResultAction.SwitchView:\r\n _gctResultSharedData = ko.utils.extend(gctResult.sharedData, gctResult.viewParams || {});\r\n\r\n \r\n if (gctResult.viewId === PaginatedState.RemoteLoginPolling)\r\n {\r\n _this.remoteLogin_onClick();\r\n }\r\n else\r\n {\r\n _this.onSwitchView(gctResult.viewId);\r\n }\r\n break;\r\n\r\n case GctResultAction.Redirect:\r\n _redirect(gctResult);\r\n break;\r\n }\r\n }));\r\n };\r\n\r\n _this.secondaryButton_onClick = function ()\r\n {\r\n if (_showOfflineAccountLearnMore)\r\n {\r\n \r\n if (Host && Host.logEvent)\r\n {\r\n Host.logEvent(\"Identity.OOBE.Login.LearnMoreOfflineAccount.Clicked\");\r\n }\r\n\r\n _this.onSwitchView(PaginatedState.LearnMoreOfflineAccount);\r\n }\r\n else\r\n {\r\n _this.onSwitchView(PaginatedState.Previous);\r\n }\r\n };\r\n\r\n _this.signup_onClick = function ()\r\n {\r\n if (_signupUrl)\r\n {\r\n _redirect(_gctRequestHelper.getSignupRedirectGctResult(_this.usernameTextbox.value()));\r\n }\r\n else\r\n {\r\n _this.onSwitchView(_availableSignupCreds.length > 0\r\n ? PaginatedState.SignupCredentialPicker\r\n : PaginatedState.SignupUsername);\r\n }\r\n };\r\n\r\n _this.aadSignup_onClick = function ()\r\n {\r\n _this.onRedirect(\r\n {\r\n url: QueryString.appendOrReplace(_aadSignupUrl, \"email\", encodeURIComponent(_this.usernameTextbox.value())),\r\n eventOptions:\r\n {\r\n eventId: ClientTracingConstants.EventIds.Redirect_AADSignUpPage\r\n }\r\n });\r\n };\r\n\r\n _this.otherIdpLogin_onClick = function ()\r\n {\r\n _redirect(_gctRequestHelper.getOtherIdpRedirectGctResult(_otherIdpRedirectUrl, _this.usernameTextbox.value()));\r\n };\r\n\r\n _this.sendOtcLink_onClick = function ()\r\n {\r\n PromiseHelpers.throwUnhandledExceptionOnRejection(\r\n _getOneTimeCodeAsync(Otc.Channel.EmailAddress).then(\r\n function (result)\r\n {\r\n if (result.success)\r\n {\r\n _gctResultSharedData = _gctResultSharedDataForGctShowErrorResult;\r\n _this.onSwitchView(PaginatedState.OneTimeCode);\r\n }\r\n }));\r\n };\r\n\r\n _this.recoverUsername_onClick = function ()\r\n {\r\n var recoverUsernameUrl = QueryString.appendOrReplace(_recoverUsernameUrl, \"mn\", encodeURIComponent(_this.usernameTextbox.value()));\r\n _this.onRedirect(\r\n {\r\n url: recoverUsernameUrl,\r\n eventOptions:\r\n {\r\n eventId: ClientTracingConstants.EventIds.Redirect_MSAUserRecoveryPage\r\n }\r\n });\r\n };\r\n\r\n _this.skip_onClick = function ()\r\n {\r\n if (Host && Host.handleOnSkip)\r\n {\r\n Host.handleOnSkip(_serverData);\r\n _setIsRequestPending(true);\r\n }\r\n };\r\n\r\n \r\n _this.skipZtd_onClick = function ()\r\n {\r\n _this.onRedirect(\r\n {\r\n url: _skipZtdUrl,\r\n eventOptions:\r\n {\r\n eventId: ClientTracingConstants.EventIds.Redirect_SkipZeroTouch\r\n }\r\n });\r\n };\r\n\r\n _this.privacy_onClick = function ()\r\n {\r\n _this.onSwitchView(PaginatedState.ViewAgreement);\r\n };\r\n\r\n _this.tou_onClick = function ()\r\n {\r\n _this.onSwitchView(PaginatedState.TermsOfUse);\r\n };\r\n\r\n _this.services_onClick = function ()\r\n {\r\n _this.onSwitchView(PaginatedState.SeeHowDataIsManaged);\r\n };\r\n\r\n _this.footer_agreementClick = function (agreementType)\r\n {\r\n _this.onAgreementClick(agreementType);\r\n };\r\n\r\n _this.remoteLogin_onClick = function ()\r\n {\r\n PromiseHelpers.throwUnhandledExceptionOnRejection(\r\n _getOneTimeCodeAsync(null, Otc.Purpose.XboxRemoteConnect).then(\r\n function (result)\r\n {\r\n if (result.success)\r\n {\r\n _getOneTimeCodeState.result = result;\r\n _this.onSwitchView(PaginatedState.RemoteLoginPolling);\r\n }\r\n }));\r\n };\r\n\r\n _this.learnMore_onClick = function ()\r\n {\r\n _this.onSwitchView(PaginatedState.LearnMore);\r\n };\r\n\r\n _this.cantAccessAccount_onClick = function ()\r\n {\r\n if (_allowedIdentities === AllowedIdentitiesType.Both)\r\n {\r\n _this.onSwitchView(PaginatedState.ResetPasswordSplitter);\r\n }\r\n else\r\n {\r\n _this.onRedirect(\r\n {\r\n url: _resetPasswordUrl,\r\n eventOptions:\r\n {\r\n eventId: ClientTracingConstants.EventIds.Redirect_ResetPasswordPage\r\n }\r\n });\r\n }\r\n };\r\n\r\n _this.switchToFidoCredLink_onClick = function ()\r\n {\r\n if (_enableUserStateFix)\r\n {\r\n _this.noUsernameCredSwitchLink_onSwitchView(PaginatedState.Fido);\r\n }\r\n else\r\n {\r\n _this.onSwitchView(PaginatedState.Fido);\r\n }\r\n };\r\n\r\n _this.noUsernameCredSwitchLink_onSwitchView = function (viewId)\r\n {\r\n _useCredWithoutUsername = true;\r\n\r\n switch (viewId)\r\n {\r\n case PaginatedState.RemoteLoginPolling:\r\n _this.remoteLogin_onClick();\r\n break;\r\n\r\n default:\r\n _this.onSwitchView(viewId);\r\n break;\r\n }\r\n };\r\n\r\n _this.tileLogo_onLoad = function ()\r\n {\r\n _this.showTileLogo(true);\r\n\r\n if (Host && Host.logEvent)\r\n {\r\n Host.logEvent(\"Identity.UsernameView.Branding.TileLogoLoaded\");\r\n }\r\n };\r\n \r\n\r\n \r\n function _getOneTimeCodeAsync(channel, purpose)\r\n {\r\n var getOtcPromise = _useApiRequest\r\n ? _getOneTimeCodeApiRequestAsync(channel)\r\n : _getOneTimeCodeOtcHelperAsync(purpose);\r\n\r\n return getOtcPromise.then(_handleGetOneTimeCodeSuccess, _handleGetOneTimeCodeError);\r\n }\r\n\r\n function _getOneTimeCodeApiRequestAsync(channel)\r\n {\r\n return new Promise(\r\n function (resolve, reject)\r\n {\r\n _setIsRequestPending(true);\r\n\r\n var postData =\r\n {\r\n OriginalRequest: _originalRequest,\r\n FlowToken: _flowToken()\r\n };\r\n\r\n if (channel)\r\n {\r\n postData.Channel = channel;\r\n }\r\n\r\n var apiRequest = new ApiRequest({ checkApiCanary: _checkApiCanary });\r\n apiRequest.Json(\r\n {\r\n url: _getOneTimeCodeUrl,\r\n eventId: ClientTracingConstants.EventIds.Api_GetOneTimeCode\r\n },\r\n postData,\r\n resolve,\r\n reject,\r\n Constants.DefaultRequestTimeout);\r\n });\r\n }\r\n\r\n function _getOneTimeCodeOtcHelperAsync(purpose)\r\n {\r\n return new Promise(\r\n function (resolve, reject)\r\n {\r\n _setIsRequestPending(true);\r\n\r\n var otcParams =\r\n {\r\n purpose: purpose,\r\n flowToken: _flowToken(),\r\n unauthSessionId: _unauthSessionId,\r\n lcid: _lcid,\r\n siteId: _siteId,\r\n clientId: _clientId,\r\n forwardedClientId: _forwardedClientId,\r\n noPaBubbleVersion: _noPaBubbleVersion,\r\n successCallback: resolve,\r\n failureCallback: reject\r\n };\r\n\r\n var getOneTimeCodeHelper = new GetOneTimeCodeHelper(otcParams);\r\n getOneTimeCodeHelper.sendRequest();\r\n });\r\n }\r\n\r\n function _handleGetOneTimeCodeSuccess(result)\r\n {\r\n _setIsRequestPending(false);\r\n\r\n if (!_useApiRequest && result.getResponseJson)\r\n {\r\n result = result.getResponseJson();\r\n }\r\n\r\n var getOtcResult =\r\n {\r\n success: true,\r\n userCode: result.UserCode,\r\n deviceCode: result.DeviceCode || result.SessionLookupKey\r\n };\r\n\r\n return getOtcResult;\r\n }\r\n\r\n function _handleGetOneTimeCodeError(response)\r\n {\r\n _setIsRequestPending(false);\r\n\r\n if (_useApiRequest && response && response.error)\r\n {\r\n switch (response.error.code)\r\n {\r\n case ApiErrorCodes.AuthFailure:\r\n _this.usernameTextbox.error.setNonBlockingError(_strings[\"CT_PWD_STR_Error_FlowTokenExpired\"]);\r\n break;\r\n\r\n default:\r\n _this.usernameTextbox.error.setNonBlockingError(_strings[\"CT_PWD_STR_Error_GetOneTimeCodeError\"]);\r\n break;\r\n }\r\n }\r\n else\r\n {\r\n _this.usernameTextbox.error.setNonBlockingError(_strings[\"CT_PWD_STR_Error_GetOneTimeCodeError\"]);\r\n }\r\n\r\n _this.setDefaultFocus();\r\n\r\n return { success: false };\r\n }\r\n\r\n function _setPrefillData()\r\n {\r\n var subscription;\r\n\r\n if (_displayName)\r\n {\r\n _this.usernameTextbox.value(BrowserHelper.htmlUnescape(_displayName));\r\n return;\r\n }\r\n\r\n if (!_prefillNames || _prefillNames.length === 0)\r\n {\r\n return;\r\n }\r\n\r\n _this.usernameTextbox.value(_prefillNames[0]);\r\n\r\n if (_prefillNames.length > 1)\r\n {\r\n ko.utils.arrayForEach(\r\n _prefillNames,\r\n function (prefillName)\r\n {\r\n _this.prefillNames.push({ text: prefillName, value: prefillName });\r\n });\r\n\r\n _this.prefillNames.push({ text: _strings[\"CT_WPIL_STR_Android_UseDifferentAddress\"], value: null });\r\n\r\n subscription = _this.usernameTextbox.value.subscribe(\r\n function (unsafe_displayName)\r\n {\r\n if (unsafe_displayName === null)\r\n {\r\n _this.prefillNames.removeAll();\r\n subscription.dispose();\r\n\r\n _validationEnabled(false);\r\n _this.usernameTextbox.value(\"\");\r\n _this.usernameTextbox.focused(true);\r\n }\r\n });\r\n }\r\n }\r\n\r\n function _handlePasswordPrefill()\r\n {\r\n _this.usernameTextbox.value.subscribe(\r\n function (unsafe_displayName)\r\n {\r\n if (unsafe_displayName)\r\n {\r\n if (_unsafe_displayNameBrowserPrefill)\r\n {\r\n if (unsafe_displayName.toLowerCase() !== _unsafe_displayNameBrowserPrefill.toLowerCase())\r\n {\r\n \r\n \r\n _this.passwordBrowserPrefill(null);\r\n }\r\n }\r\n else\r\n {\r\n \r\n \r\n \r\n \r\n _unsafe_displayNameBrowserPrefill = unsafe_displayName;\r\n }\r\n }\r\n });\r\n }\r\n\r\n function _getError()\r\n {\r\n if (!_validationEnabled())\r\n {\r\n \r\n \r\n var error = _serverError || null;\r\n _serverError = null;\r\n return error;\r\n }\r\n\r\n return _getClientError();\r\n }\r\n\r\n function _getClientError()\r\n {\r\n var unsafe_username = _this.usernameTextbox.value();\r\n\r\n if (_checkWindowsFormat && unsafe_username && unsafe_username.indexOf(\"\\\\\") > 0)\r\n {\r\n return _strings[\"CT_PWD_STR_Error_InvalidUsername_WindowsFormat\"];\r\n }\r\n else if (!unsafe_username || (!StringHelpers.isEmailAddress(unsafe_username) && (!_allowPhone || !StringHelpers.isPhoneNumber(unsafe_username)) && (!_allowSkype || !StringHelpers.isSkypeName(unsafe_username))))\r\n {\r\n return _strings[\"CT_PWD_STR_Error_InvalidUsername\"];\r\n }\r\n else if (!StringHelpers.isEmailAddress(unsafe_username) && (!_allowSkype || !StringHelpers.isSkypeName(unsafe_username)) && StringHelpers.isPhoneNumber(unsafe_username) && !unsafe_username.match(Constants.Regex.PhoneNumberValidation))\r\n {\r\n \r\n return _strings[\"CT_PWD_STR_Error_InvalidPhoneFormatting\"];\r\n }\r\n\r\n return null;\r\n }\r\n\r\n function _setUserRoutingCookie(unsafe_username)\r\n {\r\n if (_userRoutingCookieConfig && Cookies.isCookieSafeValue(unsafe_username))\r\n {\r\n \r\n \r\n \r\n Cookies.writeWithExpiration(\r\n _userRoutingCookieConfig.name,\r\n unsafe_username,\r\n _userRoutingCookieConfig.secure,\r\n Cookies.getPersistDate(),\r\n _userRoutingCookieConfig.domain,\r\n _userRoutingCookieConfig.path);\r\n }\r\n }\r\n\r\n function _setIsRequestPending(pending)\r\n {\r\n _this.isRequestPending(pending);\r\n _this.onSetPendingRequest(pending);\r\n }\r\n\r\n function _redirect(gctResult)\r\n {\r\n _this.onRedirect(\r\n {\r\n url: gctResult.redirectUrl,\r\n eventOptions:\r\n {\r\n eventId: gctResult.eventId\r\n }\r\n },\r\n gctResult.redirectPostParams,\r\n gctResult.isIdpRedirect);\r\n }\r\n\r\n function _setFidoLinkText()\r\n {\r\n _this.fidoLinkText(_strings[\"CT_PWD_STR_SwitchToFidoCrossPlatform_Link\"]);\r\n\r\n PromiseHelpers.throwUnhandledExceptionOnRejection(\r\n Fido.isPlatformAuthenticatorAvailable(_useWebviewFidoCustomProtocol)\r\n .then(null, function () { return false; })\r\n .then(\r\n function (isPlatformAuthenticatorAvailable)\r\n {\r\n if (isPlatformAuthenticatorAvailable)\r\n {\r\n _this.fidoLinkText(_strings[\"CT_PWD_STR_SwitchToFido_Link\"]);\r\n\r\n _this.isPlatformAuthenticatorAvailable(true);\r\n }\r\n }));\r\n }\r\n\r\n function _initializeWithFidoSupportedResult(isFidoSupported)\r\n {\r\n _this.hasFido(isFidoSupported);\r\n\r\n if (_usePromotedFedCredTypesArray)\r\n {\r\n var isLinkedInPromotedFedCredType = _promotedFedCredTypes.indexOf(CredentialType.LinkedIn) >= 0;\r\n var isGitHubPromotedFedCredType = _promotedFedCredTypes.indexOf(CredentialType.GitHub) >= 0;\r\n var isGooglePromotedFedCredType = _promotedFedCredTypes.indexOf(CredentialType.Google) >= 0;\r\n var isFacebookPromotedFedCredType = _promotedFedCredTypes.indexOf(CredentialType.Facebook) >= 0;\r\n\r\n _this.availableCredsWithoutUsername([].concat(\r\n !_appName && _this.allowRemoteLogin\r\n ? { credType: CredentialType.RemoteLogin } : [],\r\n isFidoSupported\r\n ? { credType: CredentialType.Fido } : [],\r\n _otherIdpRedirectUrl && _otherIdpSignUpUrl\r\n ? { credType: CredentialType.OtherMicrosoftIdpFederation, redirectUrl: _otherIdpRedirectUrl } : [],\r\n _linkedInFedUrl && !_otherIdpSignUpUrl && !isLinkedInPromotedFedCredType\r\n ? { credType: CredentialType.LinkedIn, redirectUrl: _linkedInFedUrl } : [],\r\n _gitHubFedUrl && !_otherIdpSignUpUrl && !isGitHubPromotedFedCredType\r\n ? { credType: CredentialType.GitHub, redirectUrl: _gitHubFedUrl, shownOnlyOnPicker: _showSignInWithGitHubOnlyOnCredPicker } : [],\r\n _googleFedUrl && !isGooglePromotedFedCredType\r\n ? { credType: CredentialType.Google, redirectUrl: _googleFedUrl } : [],\r\n _facebookFedUrl && !isFacebookPromotedFedCredType\r\n ? { credType: CredentialType.Facebook, redirectUrl: _facebookFedUrl } : [],\r\n _isOfflineAccountVisible\r\n ? { credType: CredentialType.OfflineAccount } : []));\r\n\r\n if (!_samlAndOidcCompatibleUx)\r\n {\r\n ko.utils.arrayForEach(\r\n _externalTrustedRealmFederatedIdps,\r\n function (externalIdp)\r\n {\r\n var idpType = externalIdp.IdpType;\r\n\r\n if (_promotedFedCredTypes.indexOf(idpType) < 0)\r\n {\r\n _this.availableCredsWithoutUsername().push({ credType: idpType, redirectUrl: externalIdp.IdpSignInUrl, isExternalFederatedIdp: true });\r\n }\r\n });\r\n }\r\n }\r\n else\r\n {\r\n \r\n _this.availableCredsWithoutUsername([].concat(\r\n !_appName && _this.allowRemoteLogin\r\n ? { credType: CredentialType.RemoteLogin } : [],\r\n isFidoSupported\r\n ? { credType: CredentialType.Fido } : [],\r\n _otherIdpRedirectUrl && _otherIdpSignUpUrl\r\n ? { credType: CredentialType.OtherMicrosoftIdpFederation, redirectUrl: _otherIdpRedirectUrl } : [],\r\n _linkedInFedUrl && !_otherIdpSignUpUrl && _promotedFedCredType !== CredentialType.LinkedIn\r\n ? { credType: CredentialType.LinkedIn, redirectUrl: _linkedInFedUrl } : [],\r\n _gitHubFedUrl && !_otherIdpSignUpUrl && _promotedFedCredType !== CredentialType.GitHub\r\n ? { credType: CredentialType.GitHub, redirectUrl: _gitHubFedUrl, shownOnlyOnPicker: _showSignInWithGitHubOnlyOnCredPicker } : [],\r\n _googleFedUrl\r\n ? { credType: CredentialType.Google, redirectUrl: _googleFedUrl } : [],\r\n _facebookFedUrl\r\n ? { credType: CredentialType.Facebook, redirectUrl: _facebookFedUrl } : [],\r\n _isOfflineAccountVisible\r\n ? { credType: CredentialType.OfflineAccount } : []));\r\n }\r\n\r\n if (_samlAndOidcCompatibleUx)\r\n {\r\n ko.utils.arrayForEach(\r\n _externalTrustedRealmFederatedIdps,\r\n function (externalIdp)\r\n {\r\n if (!externalIdp.Promoted)\r\n {\r\n _this.availableCredsWithoutUsername().push(\r\n {\r\n credType: externalIdp.IdpType,\r\n redirectUrl: externalIdp.IdpSignInUrl,\r\n redirectPostParams: externalIdp.SignInPostParams,\r\n displayName: externalIdp.DisplayName,\r\n isExternalFederatedIdp: true\r\n });\r\n }\r\n });\r\n }\r\n\r\n _this.onUpdateAvailableCredsWithoutUsername(_this.availableCredsWithoutUsername());\r\n\r\n if (isFidoSupported)\r\n {\r\n _setFidoLinkText();\r\n }\r\n }\r\n\r\n (function _initialize()\r\n {\r\n _this.allowRemoteLogin = _remoteLoginConfig && _remoteLoginConfig.allowRemoteLogin;\r\n\r\n _gctRequestHelper = new GetCredentialTypeRequestHelper(_serverData);\r\n\r\n if (_getCredTypeResultFromServer && _getCredTypeResultFromServer.Username)\r\n {\r\n _gctRequestHelper.cacheResponse(_getCredTypeResultFromServer.Username, _getCredTypeResultFromServer);\r\n }\r\n\r\n if (_enableShowPickerCredObservable)\r\n {\r\n PromiseHelpers.throwUnhandledExceptionOnRejection(\r\n BrowserHelper.isFidoSupportedAsync(_isFidoSupportedHint, _useWebviewFidoCustomProtocol)\r\n .then(_initializeWithFidoSupportedResult, function () { _initializeWithFidoSupportedResult(false); })\r\n .then(function ()\r\n {\r\n _this.showCredPicker((_this.availableCredsWithoutUsername().length > 0 || _oidcDiscoveryEndpointFormatUrl || _showForgotUsernameLink || _isOfflineAccountVisible) && !_showSignInOptionsAsButton && !_isRestrictedWsi);\r\n }));\r\n }\r\n else\r\n {\r\n PromiseHelpers.throwUnhandledExceptionOnRejection(\r\n BrowserHelper.isFidoSupportedAsync(_isFidoSupportedHint, _useWebviewFidoCustomProtocol)\r\n .then(_initializeWithFidoSupportedResult, function () { _initializeWithFidoSupportedResult(false); }));\r\n\r\n _this.showCredPicker = (_this.availableCredsWithoutUsername() > 0 || _oidcDiscoveryEndpointFormatUrl || _showForgotUsernameLink || _isOfflineAccountVisible) && !_showSignInOptionsAsButton && !_isRestrictedWsi;\r\n }\r\n\r\n var tenantBranding = BrandingHelpers.loadTenantBranding(_staticTenantBranding);\r\n\r\n if (tenantBranding && tenantBranding.UserIdLabel)\r\n {\r\n tenantBranding.unsafe_userIdLabel = BrowserHelper.htmlUnescape(tenantBranding.UserIdLabel);\r\n }\r\n\r\n _this.tenantBranding = tenantBranding;\r\n\r\n if (!_isCustomizationFailure && _customStrings)\r\n {\r\n require.ensure([],\r\n function ()\r\n {\r\n var StringCustomizationHelper = require(\"../Core/StringCustomizationHelper\");\r\n\r\n _this.customTitle(StringCustomizationHelper.customStringResolver(_customStrings, c_titleStringCustomizationKey));\r\n _this.customDescription(StringCustomizationHelper.customStringResolver(_customStrings, c_descriptionStringCustomizationKey));\r\n },\r\n \"StringCustomizationHelper\");\r\n }\r\n\r\n \r\n if (_ztdTenantName)\r\n {\r\n var unsafe_tenantName = BrowserHelper.htmlUnescape(_ztdTenantName);\r\n\r\n _this.unsafe_pageTitle = StringHelpers.format(_strings[\"CT_Win10_STR_Username_Title_WithOrgDomain\"], unsafe_tenantName);\r\n _this.unsafe_subHeader = StringHelpers.format(_strings[\"CT_Win10_STR_Username_SubHeader_WithOrgDomain\"], unsafe_tenantName);\r\n }\r\n else\r\n {\r\n _this.unsafe_pageTitle = _strings[\"WF_STR_HeaderDefault_Title_With_Brand\"];\r\n _this.unsafe_subHeader = _strings[\"CT_Win10_STR_SignInPage_UsernameLabel\"];\r\n }\r\n\r\n if (_strings[\"WF_STR_Default_Desc\"] && !_showRemoteConnectLocationPage)\r\n {\r\n if (_useRemoteConnectDescriptionStrings)\r\n {\r\n _this.pageDescription = StringHelpers.format(_strings[\"WF_STR_Default_Desc\"], _remoteClientIp || _remoteAppLocation);\r\n }\r\n else\r\n {\r\n _this.pageDescription = StringHelpers.format(_strings[\"WF_STR_Default_Desc\"], _appName, _remoteClientIp || _remoteAppLocation);\r\n }\r\n }\r\n\r\n _setPrefillData();\r\n _handlePasswordPrefill();\r\n\r\n if (Host)\r\n {\r\n if (Host.isBackButtonVisible && Host.handleBackButton)\r\n {\r\n Host.isBackButtonVisible(_serverData, function (isBackButtonVisible)\r\n {\r\n if (isBackButtonVisible)\r\n {\r\n Host.handleBackButton(Host.handleOnFinalBack.bind(Host));\r\n }\r\n else\r\n {\r\n Host.handleBackButton(null);\r\n }\r\n });\r\n }\r\n\r\n if (Host.showKeyboard)\r\n {\r\n Host.showKeyboard(true);\r\n }\r\n\r\n if (Host.logEvent)\r\n {\r\n var hasBoilerPlateText = (tenantBranding && tenantBranding.BoilerPlateText) ? \"1\" : \"0\";\r\n Host.logEvent(\"Identity.UsernameView.Branding.HasBoilerPlateText\", hasBoilerPlateText);\r\n\r\n var hasTileLogo = (tenantBranding && tenantBranding.TileLogo) ? \"1\" : \"0\";\r\n Host.logEvent(\"Identity.UsernameView.Branding.HasTileLogo\", hasTileLogo);\r\n\r\n Host.logEvent(\"Identity.Flight.IsEnabledHideOfflineAccountNewTitleString\", _hideOfflineAccountNewTitleString);\r\n\r\n if (_isTokenBroker)\r\n {\r\n var hostEventName = _isPreferAssociate ? \"MSA.AssociateUpsell.UsernamePageLoad\" : \"MSA.ConnectUpsell.UsernamePageLoad\";\r\n Host.logEvent(hostEventName);\r\n }\r\n\r\n if (!_isOfflineAccountVisible)\r\n {\r\n Host.logEvent(\"Identity.OOBE.Login.OfflineAccountLink.Hidden\");\r\n }\r\n }\r\n\r\n if (Host.showGraphicAnimation && Host.logEvent)\r\n {\r\n \r\n if (!isNaN(_msaServerLottieId))\r\n {\r\n Host.logEvent(\"Identity.OOBE.Login.MsaServerDrivenLottieId\", _msaServerLottieId);\r\n\r\n try\r\n {\r\n var hashedLottieFile = require(\"images/msaServerSignInLottie_\"+_msaServerLottieId+\".json\");\r\n if (hashedLottieFile)\r\n {\r\n var fullUrl;\r\n if (window.location.hostname.toLowerCase() === \"login.live-tst.com\")\r\n {\r\n fullUrl = \"https://\" + window.location.host + hashedLottieFile;\r\n }\r\n else\r\n {\r\n \r\n fullUrl = hashedLottieFile;\r\n }\r\n Host.showGraphicAnimation(fullUrl);\r\n }\r\n }\r\n catch (error)\r\n {\r\n Host.logEvent(\"Identity.OOBE.Login.showGraphicAnimation\", error.message);\r\n }\r\n }\r\n }\r\n }\r\n\r\n \r\n \r\n if (_isInitialView)\r\n {\r\n if (Host && Host.isBackButtonSupportedOnInitialView)\r\n {\r\n Host.isBackButtonSupportedOnInitialView(_serverData,\r\n function (isSupported, useCancelText)\r\n {\r\n _this.isBackButtonVisible(isSupported);\r\n\r\n if (useCancelText)\r\n {\r\n _this.secondaryButtonText(_strings[\"CT_PWD_STR_Cancel_Button\"]);\r\n _this.isSecondaryButtonVisible(true);\r\n }\r\n else if (_showOfflineAccountLearnMore)\r\n {\r\n if (Host.logEvent)\r\n {\r\n Host.logEvent(\"Identity.OOBE.Login.LearnMoreOfflineAccount.Visible\");\r\n }\r\n\r\n _this.secondaryButtonText(_strings[\"CT_Win10_STR_OfflineAccountLearnMore\"]);\r\n _this.isSecondaryButtonVisible(true);\r\n }\r\n });\r\n }\r\n else if (_allowCancel)\r\n {\r\n _this.isBackButtonVisible(true);\r\n _this.isSecondaryButtonVisible(true);\r\n }\r\n\r\n if ((_oobeDisplayServicesConsent || _oobeDisplayUnifiedConsent) && Host && Host.handleOobeMsaConsentDisplayed)\r\n {\r\n Host.handleOobeMsaConsentDisplayed();\r\n }\r\n }\r\n else\r\n {\r\n _this.isBackButtonVisible(true);\r\n _this.isSecondaryButtonVisible(true);\r\n }\r\n\r\n var layoutConfig = BrandingHelpers.getLayoutTemplateConfig(tenantBranding);\r\n\r\n _this.hideCantAccessYourAccount = !_showCantAccessAccountLink || layoutConfig.hideAccountResetCredentials;\r\n\r\n if (tenantBranding.CantAccessYourAccountText)\r\n {\r\n _this.unsafe_cantAccessYourAccountText = BrowserHelper.htmlUnescape(tenantBranding.CantAccessYourAccountText);\r\n }\r\n\r\n _this.accessRecoveryLink = tenantBranding.AccessRecoveryLink;\r\n\r\n if (_enableLivePreview)\r\n {\r\n _this.hideCantAccessYourAccount = _hideAccountResetCredentials;\r\n _this.accessRecoveryLink = _accessRecoveryLink;\r\n _this.userIdLabel = BrowserHelper.htmlUnescape(_userIdLabel());\r\n _this.cantAccessYourAccountText = BrowserHelper.htmlUnescape(_cantAccessYourAccountText());\r\n _this.boilerPlateText = BrowserHelper.htmlUnescape(_boilerPlateText());\r\n }\r\n\r\n if (_isRestrictedWsi)\r\n {\r\n _this.hideCantAccessYourAccount = true;\r\n _this.showFidoLinkInline = false;\r\n }\r\n\r\n \r\n _this.onRestoreIsRecoveryAttemptPost();\r\n })();\r\n \r\n}\r\n\r\nko.components.register(\"login-paginated-username-view\",\r\n {\r\n viewModel: LoginPaginatedUsernameView,\r\n template: require(\"html/LoginPage/LoginPaginatedUsernameViewHtml.html\"),\r\n synchronous: !w.ServerData.A || Browser.Helper.isStackSizeGreaterThan(w.ServerData.A),\r\n enableExtensions: true\r\n });\r\n\r\nmodule.exports = LoginPaginatedUsernameView;","var map = {\n\t\"./msaServerSignInLottie_1.json\": 485,\n\t\"./msaServerSignInLottie_2.json\": 486,\n\t\"./msaServerSignInLottie_3.json\": 487\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 484;","module.exports = __webpack_public_path__ + \"content/images/msaserversigninlottie_1_52461801bec60a67f8c681a65c7e78b3.json\";","module.exports = __webpack_public_path__ + \"content/images/msaserversigninlottie_2_e7e9733ff45e1d0759c5ffcefea32c6d.json\";","module.exports = __webpack_public_path__ + \"content/images/msaserversigninlottie_3_31f7275620c961f494e4cfc6553d1ad7.json\";","module.exports = \"<!-- \" + (require(\"js/Core/FooterControlViewModel\"), require(\"js/Fields/PlaceholderTextboxFieldViewModel\"), require(\"js/Fields/FooterButtonsFieldViewModel\"), require(\"js/LoginPage/CredSwitchLinkControlViewModel\"), require(\"js/LoginPage/HeaderControlViewModel\"), require(\"js/LoginPage/FidoHelpButtonControlViewModel\"), \"\") + \" -->\\n\\n<div data-bind=\\\"component: { name: 'header-control',\\n params: {\\n serverData: svr,\\n title: customTitle() || str['WF_STR_HeaderDefault_Title'],\\n headerDescription: customDescription() } }\\\">\\n</div>\\n\\n<!-- ko if: pageDescription && !svr.CU -->\\n<div class=\\\"row text-body no-margin-top\\\">\\n <div id=\\\"loginDescription\\\" data-bind=\\\"\\n htmlWithBindings: pageDescription,\\n childBindings: {\\n 'appName': { css: { 'bold': true } },\\n 'ipAddress': { css: { 'bold': true } },\\n 'location': { css: { 'bold': true } },\\n 'learnMoreLink': {\\n click: learnMore_onClick,\\n ariaLabel: str['MOBILE_STR_SignIn_MSAcctHelpHeading'],\\n visible: !svr.Cu } }\\\">\\n </div>\\n</div>\\n<!-- /ko -->\\n\\n<div class=\\\"row\\\">\\n <!-- ko if: svr.fEnableAriaLiveUpdates -->\\n <!-- ko if: usernameTextbox.error -->\\n <div role=\\\"alert\\\"\\n aria-live=\\\"assertive\\\"\\n aria-atomic=\\\"true\\\"\\n aria-relevant=\\\"all\\\"\\n class=\\\"col-md-24\\\"\\n id=\\\"usernameError\\\" data-bind=\\\"\\n externalCss: { 'error': true },\\n htmlWithBindings: usernameTextbox.error,\\n childBindings: {\\n 'idA_PWD_SignUp': { href: svr.j, click: signup_onClick },\\n 'aadSignup': { href: svr.aP, click: aadSignup_onClick },\\n 'aadSelfSignup': { click: signup_onClick },\\n 'otherIdpLogin': { href: svr.AI, click: otherIdpLogin_onClick },\\n 'sendOtcLink': { click: sendOtcLink_onClick },\\n 'recoverUsername': { href: svr.v, click: recoverUsername_onClick } }\\\">\\n </div>\\n <!-- /ko -->\\n <!-- /ko -->\\n\\n <!-- ko ifnot: svr.fEnableAriaLiveUpdates -->\\n <div role=\\\"alert\\\" aria-live=\\\"assertive\\\">\\n <!-- ko if: usernameTextbox.error -->\\n <div class=\\\"col-md-24\\\" id=\\\"usernameError\\\" data-bind=\\\"\\n externalCss: { 'error': true },\\n htmlWithBindings: usernameTextbox.error,\\n childBindings: {\\n 'idA_PWD_SignUp': { href: svr.j, click: signup_onClick },\\n 'aadSignup': { href: svr.aP, click: aadSignup_onClick },\\n 'aadSelfSignup': { click: signup_onClick },\\n 'otherIdpLogin': { href: svr.AI, click: otherIdpLogin_onClick },\\n 'sendOtcLink': { click: sendOtcLink_onClick },\\n 'recoverUsername': { href: svr.v, click: recoverUsername_onClick } }\\\">\\n </div>\\n <!-- /ko -->\\n </div>\\n <!-- /ko -->\\n\\n <div class=\\\"form-group col-md-24\\\">\\n <!-- ko if: prefillNames().length > 1 -->\\n <select id=\\\"usernames\\\" class=\\\"win-dropdown form-control\\\"\\n data-bind=\\\"options: prefillNames, optionsText: 'text', optionsValue: 'value', value: usernameTextbox.value, externalCss: { 'has-error': usernameTextbox.error }\\\">\\n </select>\\n <!-- /ko -->\\n\\n <!-- ko ifnot: prefillNames().length > 1 -->\\n <div class=\\\"placeholderContainer\\\" data-bind=\\\"component: { name: 'placeholder-textbox-field',\\n publicMethods: usernameTextbox.placeholderTextboxMethods,\\n params: {\\n serverData: svr,\\n hintText: svr.fEnableLivePreview ? userIdLabel : tenantBranding.unsafe_userIdLabel || str['STR_SSSU_Username_Hint'] || str['CT_PWD_STR_Email_Example'],\\n hintCss: 'placeholder' + (!svr.a9 ? ' ltr_override' : '') },\\n event: {\\n updateFocus: usernameTextbox.textbox_onUpdateFocus } }\\\">\\n\\n <input type=\\\"email\\\" name=\\\"loginfmt\\\" id=\\\"i0116\\\" maxlength=\\\"113\\\" class=\\\"form-control ltr_override\\\" aria-required=\\\"true\\\"\\n data-report-event=\\\"Signin_Email_Phone_Skype\\\" data-report-trigger=\\\"click\\\" data-report-value=\\\"Email_Phone_Skype_Entry\\\"\\n data-bind=\\\"\\n attr: { lang: svr.BA ? null : 'en',\\n autocomplete: svr.fIsUpdatedAutocompleteEnabled ? 'username' : null },\\n externalCss: {\\n 'input': true,\\n 'text-box': true,\\n 'has-error': usernameTextbox.error },\\n ariaLabel: tenantBranding.unsafe_userIdLabel || str['CT_PWD_STR_Username_AriaLabel'],\\n ariaDescribedBy: 'loginHeader' + (pageDescription && !svr.CU ? ' loginDescription usernameError' : ' usernameError'),\\n textInput: usernameTextbox.value,\\n hasFocusEx: usernameTextbox.focused,\\n placeholder: $placeholderText\\\"\\n />\\n\\n <!-- ko if: svr.fIsUpdatedAutocompleteEnabled -->\\n <input name=\\\"passwd\\\" type=\\\"password\\\" id=\\\"i0118\\\" data-bind=\\\"moveOffScreen, textInput: passwordBrowserPrefill\\\" />\\n <!-- /ko -->\\n\\n <!-- ko ifnot: svr.fIsUpdatedAutocompleteEnabled -->\\n <input name=\\\"passwd\\\" type=\\\"password\\\" id=\\\"i0118\\\" autocomplete=\\\"off\\\" data-bind=\\\"moveOffScreen, textInput: passwordBrowserPrefill\\\" />\\n <!-- /ko -->\\n\\n </div>\\n <!-- /ko -->\\n </div>\\n</div>\\n\\n<div data-bind=\\\"css: { 'position-buttons': !tenantBranding.BoilerPlateText && !boilerPlateText }, externalCss: { 'password-reset-links-container': true }\\\">\\n <div class=\\\"row\\\">\\n <div class=\\\"col-md-24\\\">\\n <div class=\\\"text-13\\\">\\n <!-- ko if: svr.A0 && !svr.Al && !svr.Bd -->\\n <!-- ko if: svr.An -->\\n <div class=\\\"form-group\\\">\\n <a id=\\\"signup\\\" data-bind=\\\"\\n text: str['STR_SSSU_Signup_Link'],\\n href: svr.j || '#',\\n click: signup_onClick\\\"></a>\\n </div>\\n <!-- /ko -->\\n\\n <!-- ko ifnot: svr.An -->\\n <div class=\\\"form-group\\\" data-bind=\\\"\\n htmlWithBindings: html['WF_STR_SignUpLink_Text'],\\n childBindings: {\\n 'signup': {\\n href: svr.j || '#',\\n ariaLabel: svr.j ? str['WF_STR_SignupLink_AriaLabel_Text'] : str['WF_STR_SignupLink_AriaLabel_Generic_Text'],\\n click: signup_onClick } }\\\">\\n </div>\\n <!-- /ko -->\\n <!-- /ko -->\\n\\n <!-- ko ifnot: hideCantAccessYourAccount -->\\n <div class=\\\"form-group\\\">\\n <a id=\\\"cantAccessAccount\\\" name=\\\"cannotAccessAccount\\\" data-bind=\\\"\\n text: svr.fEnableLivePreview ? cantAccessYourAccountText : unsafe_cantAccessYourAccountText,\\n click: accessRecoveryLink ? null : cantAccessAccount_onClick,\\n attr: { target: accessRecoveryLink && '_blank' },\\n href: accessRecoveryLink || '#'\\\"></a>\\n </div>\\n <!-- /ko -->\\n\\n <!-- ko if: showFidoLinkInline && hasFido() && (availableCredsWithoutUsername().length >= 2 || svr.Ao || isOfflineAccountVisible) -->\\n <div class=\\\"form-group\\\">\\n <a id=\\\"idA_PWD_SwitchToFido\\\" name=\\\"switchToFido\\\" href=\\\"#\\\" data-bind=\\\"\\n text: fidoLinkText,\\n click: switchToFidoCredLink_onClick\\\"></a>\\n\\n <!-- ko component: { name: 'fido-help-button-control',\\n params: {\\n isPlatformAuthenticatorAvailable: isPlatformAuthenticatorAvailable() },\\n event: {\\n registerDialog: onRegisterDialog,\\n unregisterDialog: onUnregisterDialog,\\n showDialog: onShowDialog } } -->\\n <!-- /ko -->\\n </div>\\n <!-- /ko -->\\n\\n <!-- ko if: svr.BG -->\\n <!-- ko if: showCredPicker() -->\\n <div class=\\\"form-group\\\" data-bind=\\\"\\n component: { name: 'cred-switch-link-control',\\n params: {\\n serverData: svr,\\n availableCreds: availableCredsWithoutUsername(),\\n showForgotUsername: svr.Ao },\\n event: {\\n switchView: noUsernameCredSwitchLink_onSwitchView,\\n redirect: onRedirect,\\n registerDialog: onRegisterDialog,\\n unregisterDialog: onUnregisterDialog,\\n showDialog: onShowDialog } }\\\">\\n </div>\\n <!-- /ko -->\\n <!-- /ko -->\\n\\n <!-- ko ifnot: svr.BG -->\\n <!-- ko if: showCredPicker -->\\n <div class=\\\"form-group\\\" data-bind=\\\"\\n component: { name: 'cred-switch-link-control',\\n params: {\\n serverData: svr,\\n availableCreds: availableCredsWithoutUsername(),\\n showForgotUsername: svr.Ao },\\n event: {\\n switchView: noUsernameCredSwitchLink_onSwitchView,\\n redirect: onRedirect,\\n registerDialog: onRegisterDialog,\\n unregisterDialog: onUnregisterDialog,\\n showDialog: onShowDialog } }\\\">\\n </div>\\n <!-- /ko -->\\n <!-- /ko -->\\n\\n <!-- ko if: svr.a1 -->\\n <div class=\\\"form-group\\\">\\n <a id=\\\"idSkipZtdLink\\\" name=\\\"ztdChangeAccount\\\" href=\\\"#\\\" data-bind=\\\"\\n text: str['CT_Win10_STR_ChangeAccount'],\\n click: skipZtd_onClick\\\"></a>\\n </div>\\n <!-- /ko -->\\n </div>\\n </div>\\n </div>\\n</div>\\n\\n<!-- ko if: svr.cH -->\\n<div data-bind=\\\"component: { name: 'footer-control',\\n params: {\\n serverData: svr,\\n showLinks: true,\\n hideFooter: true },\\n event: {\\n switchView: onSwitchView,\\n agreementClick: footer_agreementClick } }\\\">\\n</div>\\n<!-- /ko -->\\n\\n<div class=\\\"win-button-pin-bottom\\\" data-bind=\\\"css : { 'boilerplate-button-bottom': tenantBranding.BoilerPlateText || boilerPlateText }\\\">\\n <div class=\\\"row\\\" data-bind=\\\"css: { 'move-buttons': tenantBranding.BoilerPlateText || boilerPlateText }\\\">\\n <div data-bind=\\\"component: { name: 'footer-buttons-field',\\n params: {\\n serverData: svr,\\n isPrimaryButtonEnabled: !isRequestPending(),\\n isPrimaryButtonVisible: svr.e,\\n isSecondaryButtonEnabled: true,\\n isSecondaryButtonVisible: svr.e && isSecondaryButtonVisible(),\\n secondaryButtonText: secondaryButtonText() },\\n event: {\\n primaryButtonClick: primaryButton_onClick,\\n secondaryButtonClick: secondaryButton_onClick } }\\\">\\n </div>\\n </div>\\n</div>\\n\\n<!-- ko if: tenantBranding.BoilerPlateText || boilerPlateText -->\\n<div id=\\\"idBoilerPlateText\\\" class=\\\"wrap-content\\\" data-bind=\\\"\\n htmlWithMods: svr.fEnableLivePreview ? boilerPlateText : tenantBranding.BoilerPlateText,\\n htmlMods: { filterLinks: svr.q },\\n css: { 'transparent-lightbox': tenantBranding.UseTransparentLightBox },\\n externalCss: { 'boilerplate-text': true }\\\"></div>\\n<!-- /ko -->\";","module.exports = \"<!-- ko withProperties: { '$placeholderText': placeholderText } -->\\n <!-- ko template: { nodes: $componentTemplateNodes, data: $parent } --><!-- /ko -->\\n<!-- /ko -->\\n<!-- ko ifnot: usePlaceholderAttribute -->\\n<div class=\\\"placeholderInnerContainer\\\" data-bind=\\\"visible: placeholderVisible, click: placeholder_onClick\\\">\\n <div class=\\\"placeholder\\\" aria-hidden=\\\"true\\\" data-bind=\\\"text: hintText, css: hintCss\\\"></div>\\n</div>\\n<!-- /ko -->\";","module.exports = \"<!-- \" + (require(\"js/LoginPage/FidoHelpButtonControlViewModel\"), \"\") + \" -->\\n\\n<div class=\\\"form-group\\\">\\n <!-- ko if: showSwitchToCredPickerLink -->\\n <a id=\\\"idA_PWD_SwitchToCredPicker\\\" href=\\\"#\\\" data-bind=\\\"\\n text: isUserKnown ? str['CT_PWD_STR_SwitchToCredPicker_Link'] : str['CT_PWD_STR_SwitchToCredPicker_Link_NoUser'],\\n ariaDescribedBy: ariaDescribedBy,\\n click: switchToCredPicker_onClick,\\n hasFocusEx: setFocus\\\"></a>\\n <!-- /ko -->\\n\\n <!-- ko if: credentialCount === 1 && !(showForgotUsername || selectedCredShownOnlyOnPicker) -->\\n <!-- ko ifnot: hideCredSwitchLink -->\\n <a href=\\\"#\\\" data-bind=\\\"\\n attr: { 'id': switchToCredId },\\n text: switchToCredText,\\n ariaDescribedBy: ariaDescribedBy,\\n click: switchToCred_onClick,\\n hasFocusEx: !showSwitchToCredPickerLink && setFocus\\\"></a>\\n <!-- /ko -->\\n\\n <!-- ko if: displayHelp && selectedCredType === \" + require('js/Core/Constants').CredentialType.Fido + \" -->\\n <!-- ko component: { name: 'fido-help-button-control',\\n params: {\\n isPlatformAuthenticatorAvailable: isPlatformAuthenticatorAvailable() },\\n event: {\\n registerDialog: onRegisterDialog,\\n unregisterDialog: onUnregisterDialog,\\n showDialog: onShowDialog } } -->\\n <!-- /ko -->\\n <!-- /ko -->\\n <!-- /ko -->\\n\\n <!-- ko if: credentialCount === 0 && showForgotUsername -->\\n <a id=\\\"forgotUsername\\\" data-bind=\\\"\\n href: svr.v,\\n text: str['WF_STR_ForgotUsernameLink_Text'],\\n ariaDescribedBy: ariaDescribedBy,\\n hasFocusEx: !showSwitchToCredPickerLink && setFocus\\\"></a>\\n <!-- /ko -->\\n</div>\\n\\n<!-- ko if: credLinkError -->\\n<div class=\\\"row\\\">\\n <div class=\\\"col-md-24 alert-margin-bottom\\\" role=\\\"alert\\\" aria-live=\\\"assertive\\\" data-bind=\\\"text: credLinkError, externalCss: { 'error': true }\\\"></div>\\n</div>\\n<!-- /ko -->\";","module.exports = \"<!-- \" + (require(\"js/Core/AccessibleImageControlViewModel\"), require(\"js/LoginPage/FidoHelpDialogContentControlViewModel\"), \"\") + \" -->\\n\\n<span class=\\\"help-button\\\" role=\\\"button\\\" tabindex=\\\"0\\\" data-bind=\\\"\\n click: fidoHelp_onClick,\\n pressEnter: fidoHelp_onClick,\\n hasFocus: hasFocus,\\n ariaLabel: isPlatformAuthenticatorAvailable ? str['CT_STR_CredentialPicker_Help_Desc_Fido'] : str['CT_STR_CredentialPicker_Help_Desc_FidoCrossPlatform']\\\">\\n\\n <!-- ko component: 'accessible-image-control' -->\\n <img role=\\\"presentation\\\" pngSrc=\\\"\" + require(\"images/documentation_white.png\") + \"\\\" svgSrc=\\\"\" + require(\"images/documentation_white.svg\") + \"\\\" data-bind=\\\"imgSrc\\\" />\\n <img role=\\\"presentation\\\" pngSrc=\\\"\" + require(\"images/documentation.png\") + \"\\\" svgSrc=\\\"\" + require(\"images/documentation.svg\") + \"\\\" data-bind=\\\"imgSrc\\\" />\\n <!-- /ko -->\\n</span>\\n\\n<div data-bind=\\\"component: { name: 'fido-help-dialog-content-control',\\n params: {\\n isPlatformAuthenticatorAvailable: isPlatformAuthenticatorAvailable },\\n event: {\\n registerDialog: onRegisterDialog,\\n unregisterDialog: onUnregisterDialog } }\\\">\\n</div>\";","module.exports = \"<!-- \" + (require(\"js/Core/AccessibleImageControlViewModel\"), require(\"js/Core/DialogContentControlViewModel\"), \"\") + \" -->\\n\\n<div data-bind=\\\"component: { name: 'dialog-content-control',\\n params: {\\n dialogId: \" + require('js/Core/Constants').DialogId.FidoHelp + \",\\n data: {\\n labelledBy: 'fidoDialogTitle',\\n describedBy: 'fidoDialogDesc fidoDialogDesc2',\\n primaryButtonPreventTabbing: { direction: 'down' },\\n isPlatformAuthenticatorAvailable: isPlatformAuthenticatorAvailable } },\\n event: {\\n registerDialog: onRegisterDialog,\\n unregisterDialog: onUnregisterDialog } }\\\">\\n\\n <!-- ko ifnot: svr.fIsPasskeySupportEnabled -->\\n <div id=\\\"fidoDialogTitle\\\" class=\\\"row\\\" role=\\\"heading\\\" aria-level=\\\"1\\\" data-bind=\\\"externalCss: { 'title': true }\\\">\\n <!-- ko component: 'accessible-image-control' -->\\n <img role=\\\"presentation\\\" pngSrc=\\\"\" + require(\"images/CredentialOptions/cred_option_fido_white.png\") + \"\\\" svgSrc=\\\"\" + require(\"images/CredentialOptions/cred_option_fido_white.svg\") + \"\\\" data-bind=\\\"imgSrc\\\" />\\n <img role=\\\"presentation\\\" pngSrc=\\\"\" + require(\"images/CredentialOptions/cred_option_fido.png\") + \"\\\" svgSrc=\\\"\" + require(\"images/CredentialOptions/cred_option_fido.svg\") + \"\\\" data-bind=\\\"imgSrc\\\" />\\n <!-- /ko -->\\n\\n <span data-bind=\\\"text: isPlatformAuthenticatorAvailable ? str['CT_PWD_STR_SwitchToFido_Link'] : str['CT_PWD_STR_SwitchToFidoCrossPlatform_Link']\\\"></span>\\n </div>\\n\\n <div id=\\\"fidoDialogDesc\\\" class=\\\"row text-body no-margin-top\\\" data-bind=\\\"\\n text: isPlatformAuthenticatorAvailable ? str['CT_STR_FidoDialog_Desc'] : str['CT_STR_FidoDialog_Desc_CrossPlatform']\\\">\\n </div>\\n <!-- /ko -->\\n\\n <!-- ko if: svr.fIsPasskeySupportEnabled -->\\n <div id=\\\"fidoDialogTitle\\\" class=\\\"row\\\" role=\\\"heading\\\" aria-level=\\\"1\\\" data-bind=\\\"externalCss: { 'title': true }\\\">\\n <!-- ko component: 'accessible-image-control' -->\\n <img role=\\\"presentation\\\" pngSrc=\\\"\" + require(\"images/CredentialOptions/cred_option_passkey_white.png\") + \"\\\" svgSrc=\\\"\" + require(\"images/CredentialOptions/cred_option_passkey_white.svg\") + \"\\\" data-bind=\\\"imgSrc\\\" />\\n <img role=\\\"presentation\\\" pngSrc=\\\"\" + require(\"images/CredentialOptions/cred_option_passkey.png\") + \"\\\" svgSrc=\\\"\" + require(\"images/CredentialOptions/cred_option_passkey.svg\") + \"\\\" data-bind=\\\"imgSrc\\\" />\\n <!-- /ko -->\\n\\n <span data-bind=\\\"text: str['CT_STR_CredentialPicker_Option_Passkey']\\\"></span>\\n </div>\\n\\n <div id=\\\"fidoDialogDesc\\\" class=\\\"row text-body no-margin-top\\\" data-bind=\\\"\\n text: str['CT_STR_PasskeyDialog_Desc']\\\">\\n </div>\\n <!-- /ko -->\\n\\n <!-- ko if: !svr.l && svr.D4 && !svr.q-->\\n <div id=\\\"fidoDialogDesc2\\\" class=\\\"row text-body\\\" data-bind=\\\"\\n htmlWithBindings: html['CT_STR_FidoDialog_Desc2'],\\n childBindings: {\\n 'fidoHelpLink': {\\n href: svr.D4,\\n preventTabbing: { direction: 'up' },\\n attr: { 'target': '_blank' } } }\\\">\\n </div>\\n <!-- /ko -->\\n</div>\";","module.exports = \"<div>\\n <div class=\\\"row\\\" id=\\\"loginHeader\\\" data-bind=\\\"externalCss: { 'title': true }\\\">\\n <div role=\\\"heading\\\" aria-level=\\\"1\\\" data-bind=\\\"text: title\\\"></div>\\n <!-- ko if: isSubtitleVisible -->\\n <div data-bind=\\\"text: subtitle || str['WF_STR_App_Title'], externalCss: { 'subtitle': true }\\\"></div>\\n <!-- /ko -->\\n </div>\\n\\n <!-- ko if: headerDescription -->\\n <div id=\\\"loginHeaderDescription\\\" class=\\\"form-group\\\" data-bind=\\\"text: headerDescription, externalCss: { 'header-description': true }\\\"></div>\\n <!-- /ko -->\\n</div>\";","var ko = require(\"knockout\");\r\nvar Browser = require(\"../Core/BrowserControl\");\r\nvar ComponentEvent = require(\"../Core/ComponentEvent\");\r\nvar Constants = require(\"../Core/Constants\");\r\n\r\nvar w = window;\r\nvar PaginatedState = Constants.PaginatedState;\r\n\r\nfunction SeeHowDataIsManagedViewModel(params)\r\n{\r\n var _this = this;\r\n\r\n \r\n var _serverData = params.serverData;\r\n \r\n\r\n \r\n var _oobeServicesInformationLinkUrl = _serverData.Cd;\r\n \r\n\r\n \r\n _this.onSwitchView = ComponentEvent.create();\r\n \r\n\r\n \r\n _this.serverData = _serverData;\r\n _this.iFrameReady = ko.observable(false);\r\n \r\n\r\n \r\n _this.iFrameTarget = function ()\r\n {\r\n return _oobeServicesInformationLinkUrl;\r\n };\r\n\r\n \r\n _this.saveSharedData = function () {};\r\n _this.getState = function () { return null; };\r\n _this.restoreState = function () {};\r\n \r\n\r\n \r\n _this.secondaryButton_onClick = function ()\r\n {\r\n _this.onSwitchView(PaginatedState.Previous);\r\n };\r\n \r\n\r\n \r\n \r\n \r\n \r\n _this.iframeMessage = function (ev)\r\n {\r\n var expectedOrigin = new URL(_oobeServicesInformationLinkUrl).origin;\r\n \r\n if (ev.origin === expectedOrigin)\r\n {\r\n var oIFrame = document.getElementById(\"sdxiframe\");\r\n if (oIFrame)\r\n {\r\n oIFrame.style.height = ev.data;\r\n oIFrame.style.setProperty(\"visibility\", \"visible\");\r\n }\r\n \r\n _this.iFrameReady(true);\r\n }\r\n };\r\n\r\n (function initialize()\r\n {\r\n window.addEventListener(\"message\", _this.iframeMessage, false);\r\n })();\r\n \r\n}\r\n\r\nko.components.register(\"see-how-data-is-managed-view\",\r\n {\r\n viewModel: SeeHowDataIsManagedViewModel,\r\n template: require(\"html/LoginPage/SeeHowDataIsManagedHtml.html\"),\r\n synchronous: !w.ServerData.A || Browser.Helper.isStackSizeGreaterThan(w.ServerData.A),\r\n enableExtensions: true\r\n });\r\n\r\nmodule.exports = SeeHowDataIsManagedViewModel;","module.exports = \"<!-- \" + (require(\"js/Core/MarchingAntsControlViewModel\"), require(\"js/Fields/FooterButtonsFieldViewModel\"), \"\") + \" -->\\n\\n<div class=\\\"section\\\">\\n <!-- ko ifnot: iFrameReady() -->\\n <div class=\\\"row progress-container\\\">\\n <div class=\\\"progress\\\" role=\\\"alert\\\" tabindex=\\\"-1\\\"\\n data-bind=\\\"component: 'marching-ants-control', ariaLabel: str['WF_STR_ProgressText']\\\"></div>\\n </div>\\n <!-- /ko -->\\n <div id=\\\"sdxcontainer\\\">\\n <iframe id=\\\"sdxiframe\\\" data-bind=\\\"attr: { src: iFrameTarget() }\\\"></iframe>\\n </div>\\n\\n <div class=\\\"win-button-pin-bottom\\\">\\n <div class=\\\"row\\\">\\n <div data-bind=\\\"component: { name: 'footer-buttons-field',\\n params: {\\n serverData: svr,\\n isPrimaryButtonVisible: false,\\n isSecondaryButtonVisible: true,\\n focusOnSecondaryButton: true },\\n event: {\\n secondaryButtonClick: secondaryButton_onClick } }\\\">\\n </div>\\n </div>\\n </div>\\n</div>\";","\r\n\r\nvar ko = require(\"knockout\");\r\n\r\nvar Browser = require(\"../Core/BrowserControl\");\r\nvar ComponentEvent = require(\"../Core/ComponentEvent\");\r\nvar Constants = require(\"../Core/Constants\");\r\n\r\nvar w = window;\r\nvar PaginatedState = Constants.PaginatedState;\r\nvar Host = null;\r\n\r\nif (__IS_CXH_ENABLED__)\r\n{\r\n Host = require(\"../LoginPage/Win10LoginHost\");\r\n}\r\n\r\nfunction MoreInfoViewModel(params)\r\n{\r\n \r\n var _this = this;\r\n \r\n\r\n \r\n var _serverData = params.serverData;\r\n var _isInitialView = params.isInitialView;\r\n var _moreInfoTitle = params.moreInfoTitle;\r\n var _moreInfo = params.moreInfo;\r\n var _showErrorText = !!params.showErrorText;\r\n \r\n\r\n \r\n var _showButtons = _serverData.e;\r\n var _allowCancel = _serverData.d;\r\n \r\n\r\n \r\n _this.onSwitchView = ComponentEvent.create();\r\n _this.onSetBackButtonState = ComponentEvent.create();\r\n \r\n\r\n \r\n _this.moreInfoTitle = _moreInfoTitle;\r\n _this.moreInfo = _moreInfo;\r\n _this.showErrorText = _showErrorText;\r\n \r\n\r\n \r\n _this.saveSharedData = function ()\r\n {\r\n };\r\n\r\n _this.getState = function ()\r\n {\r\n };\r\n\r\n _this.restoreState = function ()\r\n {\r\n };\r\n \r\n\r\n \r\n _this.secondaryButton_onClick = function ()\r\n {\r\n if (Host && Host.handleOnFinalBack && _isInitialView)\r\n {\r\n Host.handleOnFinalBack(_serverData);\r\n }\r\n else\r\n {\r\n _this.onSwitchView(PaginatedState.Previous);\r\n }\r\n };\r\n \r\n\r\n \r\n (function _initialize()\r\n {\r\n _this.onSetBackButtonState(_showButtons && (!_isInitialView || _allowCancel) );\r\n\r\n if (Host && Host.handleBackButton)\r\n {\r\n Host.handleBackButton(_this.secondaryButton_onClick.bind(_this));\r\n }\r\n })();\r\n \r\n}\r\n\r\nko.components.register(\"more-info-view\",\r\n {\r\n viewModel: MoreInfoViewModel,\r\n template: require(\"html/Shared/Views/ConvergedMoreInfoViewHtml.html\"),\r\n synchronous: !w.ServerData.A || Browser.Helper.isStackSizeGreaterThan(w.ServerData.A),\r\n enableExtensions: true\r\n });\r\n\r\nmodule.exports = MoreInfoViewModel;","module.exports = \"<!-- \" + (require(\"js/Fields/FooterButtonsFieldViewModel\"), \"\") + \" -->\\n\\n<!-- ko if: moreInfoTitle -->\\n<div id=\\\"moreInfoHeader\\\" class=\\\"row\\\" role=\\\"heading\\\" aria-level=\\\"1\\\" data-bind=\\\"text: moreInfoTitle, externalCss: { 'title': true }\\\"></div>\\n<!-- /ko -->\\n\\n<div class=\\\"row text-body\\\">\\n <div id=\\\"moreInfoText\\\" class=\\\"text-block-body overflow-hidden\\\" data-bind=\\\"text: moreInfo, externalCss: { 'error': showErrorText }\\\"></div>\\n</div>\\n\\n<div class=\\\"row\\\">\\n <div data-bind=\\\"component: { name: 'footer-buttons-field',\\n params: {\\n serverData: svr,\\n isPrimaryButtonVisible: false,\\n isSecondaryButtonVisible: true,\\n focusOnSecondaryButton: true,\\n secondaryButtonDescribedBy: 'moreInfoHeader moreInfoText' },\\n event: {\\n secondaryButtonClick: secondaryButton_onClick } }\\\">\\n </div>\\n</div>\";"],"sourceRoot":""}