<!DOCTYPE html>
<html lang="en">
<head>
    <title>__TITLE__</title>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="robots" content="noindex, follow">
    <style>
        __CSS__
    </style>
</head>
<body>


<div class="" id="root">
<div class="" id="block"><div id="the-bg" class="block-bg"></div> <div class="block">
<h2 id="action">Verifying your browser...</h2>
<p class="nor">__DOMAIN__ is protected by BitFire RASP.  <br>
</p>
<p class="nor muted">Reference ID <i>__UUID__</i></p>
<a href="/"> <button type="button" id="home" disabled="disabled" onclick="window.location='/';">Back To Homepage</button> </a>
</div> </div>
<div id="attribute"><p>
    <span> Powered by: <a href="https://bitfire.co" target="_blank" style="color: #fff;">BitFire</a></span>
    <span> Photo by: <a href="https://www.pexels.com/@joshsorenson/" rel="nofollow ugc" target="_blank" style="color: #fff;">@joshsorenson</a> </span>
</p></div>
</div>
<script nonce="__NONCE__">

// detect infinite cache loop and break out...
if (window.localStorage && window.location.href.indexOf("_cache_break") == -1) {
    let ctr = localStorage.getItem('bitfire_count');
    if (ctr) {
        let when = localStorage.getItem('bitfire_time');
        if ((Date.now() - when) > 1000 * 60 * 5) {
            ctr = 0;
        } else {
            ctr = parseInt(ctr);
        }
        ctr++;
    } else {
        ctr = 1;
    }
    localStorage.setItem('bitfire_count', ctr);
    localStorage.setItem('bitfire_time', Date.now());
    if (ctr > 1) {
        let temp = new URL(window.location.href);
        temp.searchParams.set('_cache_break', (Math.random() + 1).toString(36).substring(5));
        window.location = temp.href;
        window.redirected = true;
    }
}

function xhr(params) {
    if (!window.redirected) {
        window.setTimeout(function() {
        const form = document.createElement('form'); form.method = "POST"; form.action = window.location.href;
        for (const key in params) { if (params.hasOwnProperty(key)) {
        const hiddenField = document.createElement('input');
        hiddenField.type = 'hidden'; hiddenField.name = key;
        hiddenField.value = params[key]; form.appendChild(hiddenField);
        } } document.body.appendChild(form); form.submit(); 
        }, 50);
    }

    /*
    if (navigator.sendBeacon) {
        let data = new FormData();
        data.append('fingerprint', __FINGERPRINT__);
        data.append('fingerprint2', __FINGERPRINT2__);
        data.append('browser', '__BROWSER__');
        data.append('type', 'verify');
        data.append('style', 'req2');
        data.append('ver', '__VER__');
        navigator.sendBeacon("https://bitfire.co/ray.php", data);
    }
    */
}

window.setTimeout(function(){ document.getElementById("action").innerText = "Loading your site..."; }, 2000);
window.setTimeout(function(){ document.getElementById("home").removeAttribute("disabled"); }, 3500);

__JS__


</script>
</body>
</html>
