<?php
/*
THINGS TO CHANGE BEFORE OBFUSCATION
1> Remove all Script comments
haversineDistance --> hD
lat1 --> Oxbaeaf
lon1 --> Oxcaedf
lat2 --> Oxdcafe
lon2 --> Oxfceba
dLat --> Oxfabc
dLon --> Oxedcfa
distanceInFeet --> dIF
distanceInMeters --> dIM
metersToFeet --> mTF
lat_azs --> gTnXbYvJpWzLuKkQaShFjDdNwVtMcJrHbYoZiKlgvWqPpXsZfHuArLkTjBqVvCzYfWnmNKgSxOeIaMwDqRlAzGvFjYwvRkTpHsNfCmXoLlVbJqKdUzAeZwTtPqMbVxG
lon_azs --> gTnXbYvJpWzLuKkOaShFjDdNwVtMcJrHbYoZiKlgvWqPpXsZfHuArLkTjBqVvCzYfWnmNKgSxOeIaMwDqRlAzGvFjYwvRkTpHsNfCmXoLlVbJqKdUzAeZwTtPqMbVxG
num1_azs --> gTnXbYvJpWzLuKkOaShFjDdNwVtMcJrHbYoZiKlgvWqPpXsZfHuArLkTjBqVvCzYfWmnNKgSxOeIaMwDqRlAzGvFjYwvRkTpHsNfCmXoLlVbJqKdVzAeZwTtPqMbVxG
num2_azs --> gTnXbYvJpWzLuKkOaShFjDdNwVtMcJrHbYoZiKlqvWqPpXsZfHuArLkTjBqVvCzYfWmnNKgSxOeIaMwDqRlAzGvFjYvwRkTpHsNfCmXoLlVbJqKdVzAeZwTtPqMbVxG
num3_azs --> gTnXbYvJpWzLuKkOaShFjDdNwVtMeJrHbYoZiKlqvWqPpXsZfHuArLkTjBqVvCzYfWmnNKgSxOeIaMwDqRlAzGvFjYvwRkTpHsNfCmXoLlVbJqKdVzAeZwTtPqMbVxG
num4_azs --> gTnXbYvJpWzLuKkOaShFjDdNwVtMcJrHbYoZiKlgvWqPpXsZfHuArLkTjBqVvCzYfWnmNKgSxOeIaMwDqRlAzGvFjYwvRkTpHsNfCmXoLlVbJqKdVzAeZwTtPqMbVxG

*/

// Function to generate a 20-character alphanumeric string
function generateAlphanumericCode($length = 20) {
    $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; // Define the allowed characters
    $code = '';
    for ($i = 0; $i < $length; $i++) {
        $code .= $characters[random_int(0, strlen($characters) - 1)]; // Randomly pick a character from the allowed set
    }
    return $code;
}

// Function to generate a unique filename if the file already exists
function generateUniqueCode($length = 20) {
    $timeout_dir = 'timeout/';
    do {
        // Generate the alphanumeric code
        $generated_code = generateAlphanumericCode($length);
        // Check if a file with this name already exists
        $file_path = $timeout_dir . $generated_code . '.txt';
    } while (file_exists($file_path)); // Keep generating until the file doesn't exist
    
    return $generated_code;
}

// GENERATE CODE FOR GPS COORDINATE PROCESSING
$generated_code = generateUniqueCode();

// Set the file path in the 'timeout' folder using the generated code as the filename
$file_path = 'timeout/' . $generated_code . '.txt'; // File name will be the generated code with .txt extension

// Save the generated code to the file
file_put_contents($file_path, $generated_code);


// GENERATE CODE FOR SOLUTION WEB PAGE ACCESS
$generated_code2 = generateUniqueCode();

// Set the file path in the 'timeout' folder using the generated code as the filename
$file_path = 'timeout/' . $generated_code2 . '.txt'; // File name will be the generated code with .txt extension

// Save the generated code to the file
file_put_contents($file_path, $generated_code2);
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>REVERSE CACHE</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <style>
        /* Style for the refresh button */
        #refreshButton {
            display: block;
            width: 200px;
            margin: 20px auto;
            padding: 10px;
            background-color: green;
            color: white;
            text-align: center;
            border: none;
            border-radius: 5px;
            font-size: 16px;
            cursor: pointer;
        }

        #refreshButton:hover {
            background-color: darkgreen;
        }

        /* Style for the GPS read error message */
        #distance.gps-read-error {
            color: red; /* Make text red for the "GPS READ ERROR" message */
        }
    </style>
</head>
<body>

    <?php if ($troubleshooting >= 2) { echo('<p><strong>North Coordinates:</strong> <span id="adjustedLat"></span></p>'); } ?>
    <?php if ($troubleshooting >= 2) { echo('<p><strong>North Coordinates:</strong> <span id="adjustedLon"></span></p>'); } ?>
    <?php // if ($troubleshooting >= 2) { echo('<p><strong>North Coordinates:</strong> <span id="lat_azs"></span></p>'); } ?>
    <?php // if ($troubleshooting >= 2) { echo('<p><strong>West Coordinates:</strong> <span id="lon_azs"></span></p>'); } ?>
    <p><strong>Distance to Target:</strong> <span id="distance">READING GPS</span></p> <!-- Default text is READING GPS -->
    <?php if ($troubleshooting >= 1) { echo('<p><strong>GPS Accuracy:</strong> <span id="accuracy"></span> feet</p>'); } ?>

    <script>
        var generatedCode = '<?= $generated_code ?>';
        var generatedCode2 = '<?= $generated_code2 ?>';
var _0x289ae8=_0x114e;(function(_0x12922f,_0x3143e5){var _0x4fc3bd=_0x114e,_0x3ec171=_0x12922f();while(!![]){try{var _0x426cb8=-parseInt(_0x4fc3bd(0xe4))/0x1*(-parseInt(_0x4fc3bd(0xc2))/0x2)+parseInt(_0x4fc3bd(0xd5))/0x3+parseInt(_0x4fc3bd(0xe7))/0x4+-parseInt(_0x4fc3bd(0xbd))/0x5+parseInt(_0x4fc3bd(0xdf))/0x6+-parseInt(_0x4fc3bd(0xe5))/0x7*(-parseInt(_0x4fc3bd(0xc5))/0x8)+-parseInt(_0x4fc3bd(0xda))/0x9*(parseInt(_0x4fc3bd(0xd2))/0xa);if(_0x426cb8===_0x3143e5)break;else _0x3ec171['push'](_0x3ec171['shift']());}catch(_0x4fe617){_0x3ec171['push'](_0x3ec171['shift']());}}}(_0x46ec,0x221f6));function hD(_0x4242ef,_0x3dbb63,_0x41b53b,_0x365840){var _0xa7ebb1=_0x114e;const _0x50a644=0x18e3,_0x45d02d=(_0x41b53b-_0x4242ef)*Math['PI']/0xb4,_0x52d623=(_0x365840-_0x3dbb63)*Math['PI']/0xb4,_0x556e13=Math[_0xa7ebb1(0xdd)](_0x45d02d/0x2)*Math[_0xa7ebb1(0xdd)](_0x45d02d/0x2)+Math[_0xa7ebb1(0xd8)](_0x4242ef*Math['PI']/0xb4)*Math[_0xa7ebb1(0xd8)](_0x41b53b*Math['PI']/0xb4)*Math['sin'](_0x52d623/0x2)*Math[_0xa7ebb1(0xdd)](_0x52d623/0x2),_0x4cfb2c=0x2*Math['atan2'](Math[_0xa7ebb1(0xc0)](_0x556e13),Math[_0xa7ebb1(0xc0)](0x1-_0x556e13)),_0x43cc30=_0x50a644*_0x4cfb2c*0x3e8,_0x1eff84=_0x43cc30*3.28084;return _0x1eff84;}function _0x114e(_0x5b42d6,_0x26a9f4){var _0x46ecd6=_0x46ec();return _0x114e=function(_0x114e58,_0x5a5fd7){_0x114e58=_0x114e58-0xbb;var _0x4f6ab5=_0x46ecd6[_0x114e58];return _0x4f6ab5;},_0x114e(_0x5b42d6,_0x26a9f4);}function metersToFeet(_0x5e52de){return _0x5e52de*3.28084;}$(document)[_0x289ae8(0xe0)](function(){var _0x16ccf9=_0x289ae8;$(_0x16ccf9(0xd4))[_0x16ccf9(0xcc)](_0x16ccf9(0xea),!![]),$[_0x16ccf9(0xe6)]({'url':'S1get_data.php?passcode='+generatedCode,'type':'GET','success':function(_0x34a4f9){var _0x3abd04=_0x16ccf9,_0x263541=JSON[_0x3abd04(0xc1)](_0x34a4f9);$(_0x3abd04(0xc9))[_0x3abd04(0xd9)](_0x263541['gTnXbYvJpWzLuKkQaShFjDdNwVtMcJrHbYoZiKlgvWqPpXsZfHuArLkTjBqVvCzYfWnmNKgSxOeIaMwDqRlAzGvFjYwvRkTpHsNfCmXoLlVbJqKdUzAeZwTtPqMbVxG']),$(_0x3abd04(0xce))[_0x3abd04(0xd9)](_0x263541[_0x3abd04(0xd3)]),$(_0x3abd04(0xd7))[_0x3abd04(0xd9)](_0x263541[_0x3abd04(0xe9)]),$('#gTnXbYvJpWzLuKkOaShFjDdNwVtMcJrHbYoZiKlqvWqPpXsZfHuArLkTjBqVvCzYfWmnNKgSxOeIaMwDqRlAzGvFjYvwRkTpHsNfCmXoLlVbJqKdVzAeZwTtPqMbVxG')[_0x3abd04(0xd9)](_0x263541[_0x3abd04(0xbb)]),$('#gTnXbYvJpWzLuKkOaShFjDdNwVtMeJrHbYoZiKlqvWqPpXsZfHuArLkTjBqVvCzYfWmnNKgSxOeIaMwDqRlAzGvFjYvwRkTpHsNfCmXoLlVbJqKdVzAeZwTtPqMbVxG')[_0x3abd04(0xd9)](_0x263541[_0x3abd04(0xbf)]),$(_0x3abd04(0xd6))[_0x3abd04(0xd9)](_0x263541['gTnXbYvJpWzLuKkOaShFjDdNwVtMcJrHbYoZiKlgvWqPpXsZfHuArLkTjBqVvCzYfWnmNKgSxOeIaMwDqRlAzGvFjYwvRkTpHsNfCmXoLlVbJqKdVzAeZwTtPqMbVxG']);var _0x5a3a7e=(_0x263541['gTnXbYvJpWzLuKkQaShFjDdNwVtMcJrHbYoZiKlgvWqPpXsZfHuArLkTjBqVvCzYfWnmNKgSxOeIaMwDqRlAzGvFjYwvRkTpHsNfCmXoLlVbJqKdUzAeZwTtPqMbVxG']-_0x263541[_0x3abd04(0xbc)]+_0x263541[_0x3abd04(0xbf)]-_0x263541[_0x3abd04(0xbb)])/0xf4240,_0x2e0713=(_0x263541[_0x3abd04(0xd3)]-_0x263541['gTnXbYvJpWzLuKkOaShFjDdNwVtMcJrHbYoZiKlqvWqPpXsZfHuArLkTjBqVvCzYfWmnNKgSxOeIaMwDqRlAzGvFjYvwRkTpHsNfCmXoLlVbJqKdVzAeZwTtPqMbVxG']+_0x263541['gTnXbYvJpWzLuKkOaShFjDdNwVtMcJrHbYoZiKlgvWqPpXsZfHuArLkTjBqVvCzYfWmnNKgSxOeIaMwDqRlAzGvFjYwvRkTpHsNfCmXoLlVbJqKdVzAeZwTtPqMbVxG']-_0x263541['gTnXbYvJpWzLuKkOaShFjDdNwVtMcJrHbYoZiKlgvWqPpXsZfHuArLkTjBqVvCzYfWnmNKgSxOeIaMwDqRlAzGvFjYwvRkTpHsNfCmXoLlVbJqKdVzAeZwTtPqMbVxG'])/0xf4240;$(_0x3abd04(0xe3))[_0x3abd04(0xd9)](_0x5a3a7e),$('#adjustedLon')['text'](_0x2e0713),navigator['geolocation']?navigator[_0x3abd04(0xe2)][_0x3abd04(0xc6)](function(_0x35b766){var _0x86e961=_0x3abd04,_0x4b609c=_0x35b766['coords']['latitude'],_0xe37e8f=_0x35b766['coords']['longitude'],_0x37ed55=_0x35b766['coords']['accuracy'],_0x160b04=metersToFeet(_0x37ed55);if(_0x160b04<0x3||_0x160b04>0xc8)$('#distance')[_0x86e961(0xd9)]('GPS\x20READ\x20ERROR')[_0x86e961(0xc4)](_0x86e961(0xeb));else{var _0x542c9f=hD(_0x4b609c,_0xe37e8f,_0x5a3a7e,_0x2e0713);$(_0x86e961(0xcb))['text'](_0x542c9f[_0x86e961(0xd1)](0x2)+_0x86e961(0xbe))[_0x86e961(0xc7)](_0x86e961(0xeb));}$(_0x86e961(0xd0))[_0x86e961(0xd9)](_0x160b04[_0x86e961(0xd1)](0x2)),_0x160b04>=0x3&&_0x160b04<=0xc8&&_0x542c9f<=0x28?window[_0x86e961(0xe8)][_0x86e961(0xcd)]=_0x86e961(0xcf)+generatedCode2:window[_0x86e961(0xe8)][_0x86e961(0xcd)]=_0x86e961(0xdb)+generatedCode2+_0x86e961(0xdc)+_0x542c9f,setTimeout(function(){var _0x55a28e=_0x86e961;$('#refreshButton')[_0x55a28e(0xcc)](_0x55a28e(0xea),![]);},0x3e8);},function(_0x17e905){var _0x390e22=_0x3abd04;alert('Error\x20getting\x20location:\x20'+_0x17e905[_0x390e22(0xc3)]),$('#refreshButton')['prop'](_0x390e22(0xea),![]);},{'enableHighAccuracy':!![],'timeout':0x2328,'maximumAge':0x0}):(alert(_0x3abd04(0xc8)),$('#refreshButton')[_0x3abd04(0xcc)]('disabled',![]));},'error':function(){var _0x130c6a=_0x16ccf9;alert(_0x130c6a(0xde)),$(_0x130c6a(0xd4))[_0x130c6a(0xcc)]('disabled',![]);}});function _0x3920ec(){var _0x31fb4b=_0x16ccf9;location[_0x31fb4b(0xca)](!![]);}$('#refreshButton')[_0x16ccf9(0xe1)](function(){_0x3920ec();});});function _0x46ec(){var _0x1479c5=['98cqlKPI','ajax','655076DWaFvm','location','gTnXbYvJpWzLuKkOaShFjDdNwVtMcJrHbYoZiKlgvWqPpXsZfHuArLkTjBqVvCzYfWmnNKgSxOeIaMwDqRlAzGvFjYwvRkTpHsNfCmXoLlVbJqKdVzAeZwTtPqMbVxG','disabled','gps-read-error','gTnXbYvJpWzLuKkOaShFjDdNwVtMcJrHbYoZiKlqvWqPpXsZfHuArLkTjBqVvCzYfWmnNKgSxOeIaMwDqRlAzGvFjYvwRkTpHsNfCmXoLlVbJqKdVzAeZwTtPqMbVxG','gTnXbYvJpWzLuKkOaShFjDdNwVtMcJrHbYoZiKlgvWqPpXsZfHuArLkTjBqVvCzYfWnmNKgSxOeIaMwDqRlAzGvFjYwvRkTpHsNfCmXoLlVbJqKdVzAeZwTtPqMbVxG','1122225bpuQgR','\x20feet','gTnXbYvJpWzLuKkOaShFjDdNwVtMeJrHbYoZiKlqvWqPpXsZfHuArLkTjBqVvCzYfWmnNKgSxOeIaMwDqRlAzGvFjYvwRkTpHsNfCmXoLlVbJqKdVzAeZwTtPqMbVxG','sqrt','parse','172xtucwK','message','addClass','91024kItPkt','getCurrentPosition','removeClass','Geolocation\x20is\x20not\x20supported\x20by\x20this\x20browser.','#gTnXbYvJpWzLuKkQaShFjDdNwVtMcJrHbYoZiKlgvWqPpXsZfHuArLkTjBqVvCzYfWnmNKgSxOeIaMwDqRlAzGvFjYwvRkTpHsNfCmXoLlVbJqKdUzAeZwTtPqMbVxG','reload','#distance','prop','href','#gTnXbYvJpWzLuKkOaShFjDdNwVtMcJrHbYoZiKlgvWqPpXsZfHuArLkTjBqVvCzYfWnmNKgSxOeIaMwDqRlAzGvFjYwvRkTpHsNfCmXoLlVbJqKdUzAeZwTtPqMbVxG','play.php?arrived=','#accuracy','toFixed','1664390wdftGk','gTnXbYvJpWzLuKkOaShFjDdNwVtMcJrHbYoZiKlgvWqPpXsZfHuArLkTjBqVvCzYfWnmNKgSxOeIaMwDqRlAzGvFjYwvRkTpHsNfCmXoLlVbJqKdUzAeZwTtPqMbVxG','#refreshButton','266526YbyDBU','#gTnXbYvJpWzLuKkOaShFjDdNwVtMcJrHbYoZiKlgvWqPpXsZfHuArLkTjBqVvCzYfWnmNKgSxOeIaMwDqRlAzGvFjYwvRkTpHsNfCmXoLlVbJqKdVzAeZwTtPqMbVxG','#gTnXbYvJpWzLuKkOaShFjDdNwVtMcJrHbYoZiKlgvWqPpXsZfHuArLkTjBqVvCzYfWmnNKgSxOeIaMwDqRlAzGvFjYwvRkTpHsNfCmXoLlVbJqKdVzAeZwTtPqMbVxG','cos','text','9FeYSAF','play.php?passcode=','&distance=','sin','Error\x20with\x20the\x20AJAX\x20request','192870bJaTYk','ready','click','geolocation','#adjustedLat','1007IRpRxb'];_0x46ec=function(){return _0x1479c5;};return _0x46ec();}
    </script>

    <!-- Green New GPS Reading button -->
    <button id="refreshButton">New GPS Reading</button>
</body>
</html>
