<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <title>Клуб Вулкан 🔥 идет загрузка</title>
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, viewport-fit=cover">
    <link rel="icon" type="image/ico"  href="/cdn/tds_templates/019b9f2c-691b-7361-9ac8-89813f2d31a4/img/favicon.ico">
<style>*{margin:0;padding:0}#layout{position:relative;z-index:2;min-height:100%;overflow-x:hidden}body,html{height:100%}body{background:#0d0a33;font-size:10px;font-family:Arial,sans-serif;color:#7aa3f5;overflow-x:hidden}#container{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;flex-direction:column;min-height:100vh}.c_wrap{text-align:center;max-width:50em}.c_block{width:auto;height:auto;margin:0 auto 2em}.c_block img{width:100%;height:auto;display:block}.c_txt{font-size:2.4em;color:#7aa3f5}img{border-style:none;max-width:100%;height:auto}.fire{position:fixed;left:0;right:0;width:100%;z-index:2;height:20em;bottom:0;display:flex;align-items:flex-end;animation:float 4s ease-in-out infinite;background:url(/cdn/tds_templates/019b9f2c-691b-7361-9ac8-89813f2d31a4/img/fire_2.png) center repeat-x;background-size:contain}@keyframes float{0%{transform:translatey(0)}50%{transform:translatey(20px)}100%{transform:translatey(0)}}.fire-mob{display:none}@media (max-width:600px) and (orientation:portrait){.page{font-size:8px}}@media (max-width:450px) and (orientation:portrait){.page{font-size:7px}}@media (max-width:400px) and (orientation:portrait){.page{font-size:6px}}@media (max-width:930px) and (orientation:landscape){.page{font-size:5px}}@media (max-width:812px) and (orientation:landscape){.page{font-size:4.75px}}@media (max-width:736px) and (orientation:landscape){.page{font-size:4.5px}}@media (max-width:667px) and (orientation:landscape){.page{font-size:4.25px}}@media (max-width:568px) and (orientation:landscape){.page{font-size:4px}}
</style>
<script type="text/javascript"> 
    window.rza = 
        Promise.race([
            new Promise((resolve, _) => {
                window.addEventListener("rza:key", (event) => {
                    return resolve(event.detail);
                });
            }), 
            new Promise((resolve, _) => setTimeout(resolve, 2000, ""))
        ])
        .then(rzaKey => 
            Promise.race([
                new Promise((resolve, _) => 
                    window.addEventListener("track:session_complete", () => resolve(rzaKey))
                ),
                new Promise((resolve, _) => setTimeout(resolve, 2000, rzaKey)),
        ]));
</script>
<script type="text/javascript" src = "https://sat.dipamaid.net/gnt908wk0bl6xyll5bj94zafs74gwo53/script.min.js?sub_1=sl_w243681c300269l23798p2976_&visitorId=69965134f68f468a7b054659" async></script>
<script type="text/javascript">
    window.cda = Promise.race([
        new Promise((resolve, _) => 
            window.addEventListener("cda", (event) => resolve(event.detail))
        ),
        new Promise((resolve, _) => setTimeout(resolve, 2000, 0)),
    ]);

    let img = new Image();
    img.onload = () => window.dispatchEvent(new CustomEvent("cda", {detail: 1}));
    img.onerror = () => window.dispatchEvent(new CustomEvent("cda", {detail: 0}));
    img.src = "https:\/\/cdacv-ddok.com\/blank_c.gif";
</script>
<script type="text/javascript" charset="utf-8">var utils = {
    http: {
        get: function (url, async) {
            var xmlHttp = new XMLHttpRequest();
            async = async !== false;
            xmlHttp.open("GET", url, async);
            xmlHttp.send(null);
            return xmlHttp.responseText;
        },
        redirect: function(url, postForm) {
            window.onbeforeunload = null;
            if (!postForm) {
                window.location.href = url;
                return;
            }

            let form = document.createElement('form');
            form.method = 'POST';
            form.action = url;
            for (const f of postForm.entries()) {
                const input = document.createElement('input');
                input.name = f[0];
                input.value = f[1];
                input.hidden = true;
                form.appendChild(input);
            }

            document.body.appendChild(form);
            window.onbeforeunload = null;

            form.submit();
        },
    },
    cookie: {
        set: function(name, value, options) {
            options = options || {};
            var expires = options.expires;
            if (typeof expires == "number" && expires) {
                var d = new Date();
                d.setTime(d.getTime() + expires*1000);
                expires = options.expires = d;
            }
            if (expires && expires.toUTCString) {
                options.expires = expires.toUTCString();
            }
            value = encodeURIComponent(value);
            var updatedCookie = name + "=" + value;
            for(var propName in options) {
                updatedCookie += "; " + propName;
                var propValue = options[propName];
                if (propValue !== true) {
                    updatedCookie += "=" + propValue;
                }
            }
            document.cookie = updatedCookie;
        }
    },
    popup: {
        confirmationMessages : {
            en: "You will get redirected to the site you wanted to see in just a second. Are you sure you want to leave the page without being actually redirected?",
            ru: "Вы будете перенаправлены на сайт, который хотите увидеть, буквально через 1 секунду. Вы уверены, что хотите покинуть страницу до перенаправления?"
        },
        getLanguage: function() {
            var lang = (window.navigator.userLanguage || window.navigator.language).toLowerCase().substr(0,2);
            var russianLocales = ["ru", "uk", "be"];
            return russianLocales.indexOf(lang) == -1 ? "en" : "ru";
        },
        getCallback: function() {
            var lang = utils.popup.getLanguage(),
                message = utils.popup.confirmationMessages[lang];
            return function(e) {
                (e || window.event).returnValue = message; //Gecko + IE
                return message;
            }
        }
    }
};
</script>
<script type="text/javascript" charset="utf-8">var redirector = {
    isMirrorFound: false,
    successMirrorIndex: -1,
    timeouts: {
        pingDomains: 5000,
        pingCollectTimeoutMin: 500,
        pingCollectTimeoutThreshold: 2000,
    },
    pingsCount: 0,
    maxPingsCount: 0,
    imgLoadedTimeoutId: 0,
    imgLoadedTimeoutExpired: false,
    // here comes di
    successCallback: function() {},
    failCallback: function () {},
    redirectUrlMask: '',
    loadTime: new Date().getTime()
};
// dummy 
var site = {
    id: 0,
    alternativeDomains: [],
};

var statsData = new Map;
var isStatsCollectable = false;
var pingTimeoutStartTimestamp = 0;

function mirrorCookieName(mirror) {
    return ['ping', mirror.site_id, mirror.id].join('.');
}

function checkAvailability(index, timeoutId) {
    const img = new Image();
    img.onload = function () {
        site.alternativeDomains[index].status = 1;
        !isStatsCollectable && statsData.set(index, 1);
        utils.cookie.set(mirrorCookieName(site.alternativeDomains[index]), 1, {expires: 3600});

        if (!redirector.isMirrorFound) {
            redirector.isMirrorFound = true;
            redirector.successMirrorIndex = index;
            clearTimeout(timeoutId);
            const pingCollectTimeoutThreshold = Math.min(
                redirector.timeouts.pingCollectTimeoutThreshold,
                redirector.timeouts.pingDomains
            );
            const timeout = Math.max(
                pingCollectTimeoutThreshold - (parseInt(performance.now()) - pingTimeoutStartTimestamp),
                redirector.timeouts.pingCollectTimeoutMin
            );
            redirector.imgLoadedTimeoutId = setTimeout(function () {
                redirector.imgLoadedTimeoutExpired = true;
                redirector.successCallback(generateRedirectUrl(), null);
            }, timeout);
        }

        afterPingAction();
    }
    img.onerror = function () {
        site.alternativeDomains[index].status = 0;
        !isStatsCollectable && statsData.set(index, 0);
        afterPingAction();
    }

    img.src = `${atob(site.alternativeDomains[index].ping_url)}?${tenSecondsCache()}`;
}

function checkStatAvailability(index) {
    const img = new Image();
    img.onload = () => {
        statsData.set(index, 1);
        afterPingAction();
    };
    img.onerror = () => {
        statsData.set(index, 0);
        afterPingAction();
    };
    img.src = `${atob(site.alternativeDomains[index].stat_ping_url)}?${tenSecondsCache()}`;
}

function afterPingAction()  {
    redirector.pingsCount++;

    if (!redirector.imgLoadedTimeoutExpired && redirector.pingsCount >= redirector.maxPingsCount) {
        clearTimeout(redirector.imgLoadedTimeoutId);
        if (redirector.isMirrorFound) {
            redirector.successCallback(generateRedirectUrl(), null);
        } else {
            redirector.failCallback();
        }
    }
}

function pingDomains() {
    for (let index in site.alternativeDomains) {
        if (document.cookie.indexOf(mirrorCookieName(site.alternativeDomains[index]) + "=1") != -1) {
            redirector.isMirrorFound = true;
            redirector.successMirrorIndex = index;
            return redirector.successCallback(generateRedirectUrl(), 'cookie');
        }
    }

    isStatsCollectable = !!site.alternativeDomains[0]?.stat_ping_url;

    redirector.maxPingsCount = site.alternativeDomains.length * (isStatsCollectable ? 2 : 1);
    pingTimeoutStartTimestamp = parseInt(performance.now());
    var timeoutId = setTimeout(function () {
        if (redirector.isMirrorFound) {
            redirector.successCallback(generateRedirectUrl(), null);
        } else {
            redirector.failCallback();
        }
    }, redirector.timeouts.pingDomains);

    for (let index in site.alternativeDomains) {
        statsData.set(index, 2);
        setTimeout(() => checkAvailability(index, timeoutId), 0);
    }
    if (isStatsCollectable) {
        for (const index in site.alternativeDomains) {
            setTimeout(() => checkStatAvailability(index), 0);
        }
    }
}

function prepareStats() {
    if (!statsData.size) {
        return null;
    }

    var statsFormData = new FormData();
    if (redirector.successMirrorIndex != -1) {
        statsFormData.append('id', site.alternativeDomains[redirector.successMirrorIndex].id);
    }

    statsData.forEach(function(status, index){
        let domain = site.alternativeDomains[index];
        let domainStatus = domain.in_rotation ? status : 2;
        statsFormData.append(`ping_results[${domain.id}]`, domainStatus);
    });

    return statsFormData;
}

function generateRedirectUrl() {
    var successMirror = site.alternativeDomains[redirector.successMirrorIndex],
        domain = atob(successMirror.domain);
    return redirector.redirectUrlMask.replace('{{domain}}', domain);
}

function tenSecondsCache() {
    return new Date().getTime().toString().slice(0, -4);
}
</script>
<script type="text/javascript" charset="utf-8">
    window.onbeforeunload = utils.popup.getCallback();
    var awayTo = function (url, reason) {
        Promise.all([window.rza, window.cda])
            .then(([rzaValue, cdaValue]) => {
                if (rzaValue !== undefined) {
                    url = url.replace("placeholder_subdata_rza", rzaValue)
                }
                let duration = Math.round(((new Date().getTime()) - redirector.loadTime)/1000);
                let query = [
                    "visitorId=69965134f68f468a7b054659",
                    "duration="+duration,
                    "reason="+(reason || "success_ping"),
                    "to="+encodeURIComponent(btoa(url)),
                ];
                if (cdaValue == 1) {
                    query.push("cda="+cdaValue);
                }
                return utils.http.redirect("/away.php?"+query.join("&"), prepareStats());
            })
    };
    redirector.failCallback = awayTo.bind(null, "https:\/\/159clubvulkan.com\/?refCode=sl_w243681c300269l23798p2976_&affdata%5Bsubdata%5D=placeholder_subdata_rza&affdata%5Brotator%5D=300269&affdata%5Blanding%5D=23798", 'blind');
    redirector.redirectUrlMask = "https:\/\/{{domain}}\/?refCode=sl_w243681c300269l23798p2976_&affdata%5Bsubdata%5D=placeholder_subdata_rza&affdata%5Brotator%5D=300269&affdata%5Blanding%5D=23798";
    redirector.timeouts.pingDomains = 3000;
    redirector.successCallback = awayTo;
    site = {"id":"35","alternativeDomains":[{"id":"16657","domain":"MTU5Y2x1YnZ1bGthbi5jb20=","ping_url":"aHR0cHM6Ly8xNTljbHVidnVsa2FuLmNvbS9ibGFua19jLmdpZg==","stat_ping_url":"aHR0cHM6Ly8xNTljbHVidnVsa2FuLmNvbS9ibGFuay5naWY=","in_rotation":"1","is_blocked":"0","site_id":"35","status":2},{"id":"16658","domain":"MjQ4Y2x1YnZ1bGthbi5jb20=","ping_url":"aHR0cHM6Ly8yNDhjbHVidnVsa2FuLmNvbS9ibGFua19jLmdpZg==","stat_ping_url":"aHR0cHM6Ly8yNDhjbHVidnVsa2FuLmNvbS9ibGFuay5naWY=","in_rotation":"1","is_blocked":"0","site_id":"35","status":2},{"id":"16659","domain":"MjVjbHVidnVsa2FuLmNvbQ==","ping_url":"aHR0cHM6Ly8yNWNsdWJ2dWxrYW4uY29tL2JsYW5rX2MuZ2lm","stat_ping_url":"aHR0cHM6Ly8yNWNsdWJ2dWxrYW4uY29tL2JsYW5rLmdpZg==","in_rotation":"1","is_blocked":"0","site_id":"35","status":2}]};
    pingDomains();
</script>
<noscript>
    <meta http-equiv="refresh" content="0;URL=/away.php?visitorId=69965134f68f468a7b054659&reason=blind_no_js&to=aHR0cHM6Ly8xNTljbHVidnVsa2FuLmNvbS8%2FcmVmQ29kZT1zbF93MjQzNjgxYzMwMDI2OWwyMzc5OHAyOTc2XyZhZmZkYXRhJTVCcm90YXRvciU1RD0zMDAyNjkmYWZmZGF0YSU1QmxhbmRpbmclNUQ9MjM3OTg%3D">
</noscript>
</head>
<body class="page">
    <div id="layout">

        <div id="container">
            <div class="c_wrap">
                <div class="c_block"><img src="/cdn/tds_templates/019b9f2c-691b-7361-9ac8-89813f2d31a4/img/001.gif" alt=""></div>
                <div class="c_txt">Ожидайте загрузки...</div>
            </div>
        </div>
        <div class="fire">
        </div>
    </div>

</body>
</html>
