<?php
declare(strict_types=1);
// Generated exact public routes. Never resolve a filename supplied by a request.
$routes = [
    '/' => 'index.html',
    '/tarjetas-metalicas/' => 'tarjetas-metalicas/index.html',
    '/tarjetas-a-color/' => 'tarjetas-a-color/index.html',
    '/como-funciona/' => 'como-funciona/index.html',
    '/empresas/' => 'empresas/index.html',
    '/ayuda/' => 'ayuda/index.html',
    '/guias/' => 'guias/index.html',
    '/guias/grabado-o-color/' => 'guias/grabado-o-color/index.html',
    '/guias/disenar-tu-tarjeta/' => 'guias/disenar-tu-tarjeta/index.html',
    '/envios/' => 'envios/index.html',
    '/terminos/' => 'terminos/index.html',
    '/cambios/' => 'cambios/index.html',
    '/privacidad/' => 'privacidad/index.html',
    '/lanzamiento/' => 'lanzamiento/index.html',
    '/us/' => 'us/index.html',
    '/us/contact/' => 'us/contact/index.html',
    '/funciones/' => 'funciones/index.html',
    '/mini-crm/' => 'mini-crm/index.html',
    '/intercambio-de-contactos/' => 'intercambio-de-contactos/index.html',
    '/tarjeta-digital/' => 'tarjeta-digital/index.html',
    '/estadisticas/' => 'estadisticas/index.html',
    '/guias/seguimiento-de-contactos/' => 'guias/seguimiento-de-contactos/index.html',
    '/robots.txt' => 'robots.txt',
    '/llms.txt' => 'llms.txt',
    '/sitemap.xml' => 'sitemap.xml',
];
$path=explode('?',(string)($_SERVER['REQUEST_URI']??''),2)[0];
$method=$_SERVER['REQUEST_METHOD']??'';
if(!in_array($method,['GET','HEAD'],true)){http_response_code(405);header('Allow: GET, HEAD');exit;}
if(!isset($routes[$path])){http_response_code(404);exit;}
parse_str((string)($_SERVER['QUERY_STRING']??''),$query);
foreach(array_keys($query) as $key)if(str_starts_with((string)$key,'nova_')||in_array($key,['rp','taller'],true)){http_response_code(404);exit;}
$root=realpath(__DIR__);
$file=realpath($root.'/'.$routes[$path]);
if($file===false||!str_starts_with($file,$root.DIRECTORY_SEPARATOR)||!is_file($file)){http_response_code(404);exit;}
$type=pathinfo($file,PATHINFO_EXTENSION);
$types=['html'=>'text/html; charset=UTF-8','txt'=>'text/plain; charset=UTF-8','xml'=>'application/xml; charset=UTF-8'];
if(!isset($types[$type])){http_response_code(404);exit;}
header('Content-Type: '.$types[$type]);
header('Content-Length: '.filesize($file));
header('Cache-Control: private, no-store');
header('X-LSC-Radar: 1');
if($method==='GET')readfile($file);
if(function_exists('litespeed_finish_request'))litespeed_finish_request();
elseif(function_exists('fastcgi_finish_request'))fastcgi_finish_request();
else {@ob_end_flush();@flush();}
// Logging is optional: missing modules, cache or DB must never replace the page.
@ini_set('display_errors','0');error_reporting(0);
try {
    $module='/home/u997145576/lsc-observability/current/core.php';
    if(is_file($module)){require_once $module;lscRadarLog($_SERVER,$path,200,lscRadarDir());}
} catch(Throwable $e) {error_log('[LSC radar] collection unavailable');}
