/*! ATOOnline 2023-11-24, Copyright (c) 2023 Australian Taxation Office */ window.atoPreCheckTool={constants:{result:{pass:'OK',fail:'!',warning:'!'},test:{webBrowser:{requirement:"",support:'

Some functionality may not work as expected using your current browser.

Refer to our list of supported browsers.

',supportBlocked:'

Your browser is not supported.

Update to one of our supported browsers.

'},javascript:{requirement:"Enabled",support:"Update your browser settings or try another browser."},cookies:{requirement:"Enabled",support:"Update your browser settings or try another browser."},internetSpeed:{requirement:"Download ≥ 0.5Mbps",support:"Your experience may be impacted and some pages may fail to load.",minSpeedThresholdMbit:.5,fileSizeBytes:1048576,testFile:"./test1.bin",testFileFullPath:"/misc/SPA/systemrequirementscheck/ui/anonymous/test1.bin"}},browserMin:{"microsoft edge":">=112",firefox:">=102",chrome:">=112",safari:">=14"},webviewMinimum:"14.0.0",browserMinMobile:{chrome:">=112",safari:">=14"},browserBlocked:{ie:">11"},emptyValue:' —
empty cell
',spinner:''},speedTest:function(r,s,o){var i=this;r&&(document.getElementById(r).innerHTML=i.constants.spinner);var a=(new Date).getTime(),e=new XMLHttpRequest;e.open("GET",i.getSpeedTestUrl()),e.onload=function(){if(200<=this.status&&this.status<400){var e=(new Date).getTime()-a,t=Math.round(8*i.constants.test.internetSpeed.fileSizeBytes/(e/1e3)),n=t/1e6;console.log(e+" ms "+t+" bits per second "+n+" MBit"),window.ato.preCheck.result.speed=n>i.constants.test.internetSpeed.minSpeedThresholdMbit,window.ato.preCheck.meta.speedTestString=n+" Mbit",window.ato.preCheck.meta.speedTestDateTime=(new Date).toISOString(),r&&(document.getElementById(r).innerHTML=""),s&&s.call(i)}else console.log("speedtest failed"),window.ato.preCheck.result.speed=!1,window.ato.preCheck.result.speedTestMbit="failed to run speed test",r&&(document.getElementById(r).innerHTML=""),s&&s.call(i);o&&o.call(i)},e.send()},testJavascriptSupport:function(){return window.ato.preCheck.result.javascript=!0},testCookieSupport:function(){return window.ato.preCheck.result.cookies=navigator.cookieEnabled,window.ato.preCheck.result.cookies},getFriendlyName:function(e){return e?(e=e.replace("_"," ").replace("mobile","Mobile"))[0].toUpperCase()+e.substring(1):"Unknown browser"},detectBrowserFromUserAgent:function(){var e=new RegExp(/.*\((.*?)\).*\(.*\).*/,"i").exec(window.navigator.userAgent);return e&&e.length?e[1]:"Unknown"},detectOddBrowsers:function(e){if("safari"===e.name&&-1!==e.os.toLowerCase().indexOf("android")&&window.navigator.userAgent.indexOf("Chrome")){e.name="Chrome",e.mobile=!0;var t=new RegExp(/.*Chrome\/([0123456789\.]*) .*/,"i").exec(window.navigator.userAgent);t&&t.length&&(e.version=t[1],e.versionNumber=Number(t[1].split(".")[0]))}if("crios"===e.name){e.name="Chrome",e.mobile=!0;var n=new RegExp(/.*CriOS\/([0123456789\.]*) .*/,"i").exec(window.navigator.userAgent);n&&n.length&&(e.version=n[1],e.versionNumber=Number(n[1].split(".")[0]))}},browserDetectWithFixes:function(){var e=bowser210.getParser(window.navigator.userAgent),t=e.getOS(),n=e.getBrowserVersion()||"";0