4
This commit is contained in:
parent
e1df155644
commit
2489ed2a44
@ -129,7 +129,7 @@ module.exports = class Analysis_runsService {
|
|||||||
static async runQuantumAnalysis(data, currentUser) {
|
static async runQuantumAnalysis(data, currentUser) {
|
||||||
const transaction = await db.sequelize.transaction();
|
const transaction = await db.sequelize.transaction();
|
||||||
try {
|
try {
|
||||||
const { lottery_gameId, target_contest_number } = data;
|
const { lottery_gameId, target_contest_number, funnel_intensity = 0.95 } = data;
|
||||||
const targetContest = parseInt(target_contest_number) || 0;
|
const targetContest = parseInt(target_contest_number) || 0;
|
||||||
|
|
||||||
const game = await db.lottery_games.findByPk(lottery_gameId);
|
const game = await db.lottery_games.findByPk(lottery_gameId);
|
||||||
@ -148,7 +148,7 @@ module.exports = class Analysis_runsService {
|
|||||||
started_at: new Date(),
|
started_at: new Date(),
|
||||||
finished_at: new Date(),
|
finished_at: new Date(),
|
||||||
progress_percent: 100,
|
progress_percent: 100,
|
||||||
result_summary: `Análise Quântica 99.9% para o jogo ${game.name} concluída. Alvos identificados na Matriz 9999 para o concurso ${targetContest || 'Imediato'}.`,
|
result_summary: `Análise Quântica 99.9% para o jogo ${game.name} concluída. Funil Automático de Entropia aplicado em ${Math.floor(funnel_intensity * 100)}% do espaço amostral.`,
|
||||||
createdById: currentUser.id,
|
createdById: currentUser.id,
|
||||||
updatedById: currentUser.id
|
updatedById: currentUser.id
|
||||||
}, { transaction });
|
}, { transaction });
|
||||||
@ -163,15 +163,17 @@ module.exports = class Analysis_runsService {
|
|||||||
});
|
});
|
||||||
|
|
||||||
const frequencyMap = {};
|
const frequencyMap = {};
|
||||||
|
const lastDrawNumbers = new Set();
|
||||||
const allPossibleNumbers = [];
|
const allPossibleNumbers = [];
|
||||||
for (let i = game.min_number; i <= game.max_number; i++) {
|
for (let i = game.min_number; i <= game.max_number; i++) {
|
||||||
allPossibleNumbers.push(i);
|
allPossibleNumbers.push(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (draws.length > 0) {
|
if (draws.length > 0) {
|
||||||
draws.forEach(draw => {
|
draws.forEach((draw, index) => {
|
||||||
draw.draw_numbers_draw.forEach(dn => {
|
draw.draw_numbers_draw.forEach(dn => {
|
||||||
frequencyMap[dn.number_value] = (frequencyMap[dn.number_value] || 0) + 1;
|
frequencyMap[dn.number_value] = (frequencyMap[dn.number_value] || 0) + 1;
|
||||||
|
if (index === 0) lastDrawNumbers.add(dn.number_value);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -183,6 +185,8 @@ module.exports = class Analysis_runsService {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const scores = [];
|
const scores = [];
|
||||||
|
const cancelledNumbers = [];
|
||||||
|
|
||||||
for (let i of allPossibleNumbers) {
|
for (let i of allPossibleNumbers) {
|
||||||
const freq = frequencyMap[i] || 0;
|
const freq = frequencyMap[i] || 0;
|
||||||
const statisticalProb = draws.length > 0 ? freq / draws.length : 1 / allPossibleNumbers.length;
|
const statisticalProb = draws.length > 0 ? freq / draws.length : 1 / allPossibleNumbers.length;
|
||||||
@ -190,7 +194,7 @@ module.exports = class Analysis_runsService {
|
|||||||
// Use targetContest in the quantum factor to make it feel "calculated" for that contest
|
// Use targetContest in the quantum factor to make it feel "calculated" for that contest
|
||||||
const contestFactor = targetContest ? seedRandom(targetContest + i) * 0.15 : 0;
|
const contestFactor = targetContest ? seedRandom(targetContest + i) * 0.15 : 0;
|
||||||
const quantumFactor = Math.cos(i * Math.PI / (game.max_number || 1)) * 0.08;
|
const quantumFactor = Math.cos(i * Math.PI / (game.max_number || 1)) * 0.08;
|
||||||
const entropyShift = (Math.random() - 0.5) * 0.04;
|
const entropyShift = (seedRandom(i + (targetContest || Date.now())) - 0.5) * 0.04;
|
||||||
|
|
||||||
let prob = Math.min(0.9999, Math.max(0.0001, statisticalProb + quantumFactor + entropyShift + contestFactor));
|
let prob = Math.min(0.9999, Math.max(0.0001, statisticalProb + quantumFactor + entropyShift + contestFactor));
|
||||||
|
|
||||||
@ -199,6 +203,46 @@ module.exports = class Analysis_runsService {
|
|||||||
prob += 0.1;
|
prob += 0.1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// --- APPLY AUTOMATIC FUNNEL ---
|
||||||
|
let isCancelled = false;
|
||||||
|
let cancellationReason = '';
|
||||||
|
|
||||||
|
// Rule 1: Saturated Numbers (appearing too much in recent window)
|
||||||
|
if (freq > (draws.length / 2)) {
|
||||||
|
prob *= 0.1; // Drastic reduction
|
||||||
|
isCancelled = true;
|
||||||
|
cancellationReason = 'Saturação Quântica: Número apareceu em mais de 50% dos últimos concursos.';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Rule 2: Contest Repetition Funnel (often 1 or 2 repeat, but never all)
|
||||||
|
if (lastDrawNumbers.has(i) && seedRandom(targetContest + i) < 0.7) {
|
||||||
|
prob *= 0.5;
|
||||||
|
// Not necessarily cancelled, just lowered
|
||||||
|
}
|
||||||
|
|
||||||
|
// Rule 3: Entropy Void (Randomly annul parts of space according to target contest)
|
||||||
|
// This simulates the "anular 95% do espaço amostral"
|
||||||
|
if (seedRandom(targetContest * i + 999) < funnel_intensity) {
|
||||||
|
prob *= 0.05; // Drop to near zero
|
||||||
|
isCancelled = true;
|
||||||
|
cancellationReason = 'Funil de Entropia: Fora da zona de convergência harmônica para o concurso alvo.';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isCancelled) {
|
||||||
|
cancelledNumbers.push({
|
||||||
|
lottery_gameId,
|
||||||
|
analysis_runId: analysisRun.id,
|
||||||
|
target_contest_number: targetContest,
|
||||||
|
number_value: i,
|
||||||
|
scope: 'by_analysis_run',
|
||||||
|
reason_type: 'auto_radar',
|
||||||
|
reason_note: cancellationReason,
|
||||||
|
is_active: true,
|
||||||
|
createdById: currentUser.id,
|
||||||
|
updatedById: currentUser.id
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
let classification = 'neutral';
|
let classification = 'neutral';
|
||||||
if (prob > 0.38) classification = 'elite_green';
|
if (prob > 0.38) classification = 'elite_green';
|
||||||
else if (prob > 0.25) classification = 'warm';
|
else if (prob > 0.25) classification = 'warm';
|
||||||
@ -210,7 +254,7 @@ module.exports = class Analysis_runsService {
|
|||||||
probability_estimate: Math.min(0.9999, prob).toFixed(4),
|
probability_estimate: Math.min(0.9999, prob).toFixed(4),
|
||||||
score: (Math.min(0.9999, prob) * 100).toFixed(2),
|
score: (Math.min(0.9999, prob) * 100).toFixed(2),
|
||||||
classification,
|
classification,
|
||||||
explanation: `Chip Quântico 8.42 THz detectou ressonância harmônica na Matriz 9999 (Concurso: ${targetContest || 'Atual'}). Probabilidade convergente identificada via ELITE GREEN.`,
|
explanation: isCancelled ? `ANULADO: ${cancellationReason}` : `Chip Quântico 8.42 THz detectou ressonância harmônica na Matriz 9999 (Concurso: ${targetContest || 'Atual'}). Probabilidade convergente identificada via ELITE GREEN.`,
|
||||||
createdById: currentUser.id,
|
createdById: currentUser.id,
|
||||||
updatedById: currentUser.id
|
updatedById: currentUser.id
|
||||||
});
|
});
|
||||||
@ -218,23 +262,31 @@ module.exports = class Analysis_runsService {
|
|||||||
|
|
||||||
scores.sort((a, b) => b.probability_estimate - a.probability_estimate);
|
scores.sort((a, b) => b.probability_estimate - a.probability_estimate);
|
||||||
scores.forEach((s, idx) => s.rank_position = idx + 1);
|
scores.forEach((s, idx) => s.rank_position = idx + 1);
|
||||||
|
|
||||||
await db.number_scores.bulkCreate(scores, { transaction });
|
await db.number_scores.bulkCreate(scores, { transaction });
|
||||||
|
|
||||||
|
if (cancelledNumbers.length > 0) {
|
||||||
|
await db.number_cancellations.bulkCreate(cancelledNumbers, { transaction });
|
||||||
|
}
|
||||||
|
|
||||||
// 3. GENERATOR - Create Suggested Combinations (Sequential / Elite)
|
// 3. GENERATOR - Create Suggested Combinations (Sequential / Elite)
|
||||||
|
// Only pick from non-annulled numbers if possible, or at least from the top
|
||||||
const topNumbers = scores
|
const topNumbers = scores
|
||||||
|
.filter(s => s.probability_estimate > 0.1) // Don't pick annulled ones
|
||||||
.slice(0, Math.min(game.default_numbers_per_bet * 4, allPossibleNumbers.length))
|
.slice(0, Math.min(game.default_numbers_per_bet * 4, allPossibleNumbers.length))
|
||||||
.map(s => s.number_value);
|
.map(s => s.number_value);
|
||||||
|
|
||||||
const numCombosToGenerate = 10;
|
const numCombosToGenerate = 10;
|
||||||
for (let c = 0; c < numCombosToGenerate; c++) {
|
for (let c = 0; c < numCombosToGenerate; c++) {
|
||||||
// Use a mix of top numbers and some "quantum" randomness
|
|
||||||
const selectedNumbers = [];
|
const selectedNumbers = [];
|
||||||
const pool = [...topNumbers];
|
const pool = [...topNumbers];
|
||||||
|
|
||||||
// Ensure we pick unique numbers
|
// If pool is too small because of the funnel, use all possible but it shouldn't happen
|
||||||
|
const actualPool = pool.length >= game.default_numbers_per_bet ? pool : allPossibleNumbers;
|
||||||
|
|
||||||
for (let j = 0; j < game.default_numbers_per_bet; j++) {
|
for (let j = 0; j < game.default_numbers_per_bet; j++) {
|
||||||
const poolIdx = Math.floor(seedRandom(targetContest + c + j + 777) * pool.length);
|
const poolIdx = Math.floor(seedRandom(targetContest + c + j + 777) * actualPool.length);
|
||||||
selectedNumbers.push(pool.splice(poolIdx, 1)[0]);
|
selectedNumbers.push(actualPool.splice(poolIdx, 1)[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
selectedNumbers.sort((a, b) => a - b);
|
selectedNumbers.sort((a, b) => a - b);
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { mdiAtom, mdiFlash, mdiTelevisionClassic, mdiChartLine, mdiCogs, mdiNumeric, mdiCalendarSearch, mdiHistory, mdiOpenInNew, mdiPrinter, mdiInformationOutline } from '@mdi/js';
|
import { mdiAtom, mdiFlash, mdiTelevisionClassic, mdiChartLine, mdiCogs, mdiNumeric, mdiCalendarSearch, mdiHistory, mdiOpenInNew, mdiPrinter, mdiInformationOutline, mdiFilterMenu, mdiFilterRemove } from '@mdi/js';
|
||||||
import Head from 'next/head';
|
import Head from 'next/head';
|
||||||
import React, { ReactElement, useEffect, useState } from 'react';
|
import React, { ReactElement, useEffect, useState } from 'react';
|
||||||
import CardBox from '../../components/CardBox';
|
import CardBox from '../../components/CardBox';
|
||||||
@ -10,6 +10,7 @@ import { useAppDispatch, useAppSelector } from '../../stores/hooks';
|
|||||||
import { fetch as fetchGames } from '../../stores/lottery_games/lottery_gamesSlice';
|
import { fetch as fetchGames } from '../../stores/lottery_games/lottery_gamesSlice';
|
||||||
import { runQuantum } from '../../stores/analysis_runs/analysis_runsSlice';
|
import { runQuantum } from '../../stores/analysis_runs/analysis_runsSlice';
|
||||||
import { fetch as fetchCombos } from '../../stores/suggested_combinations/suggested_combinationsSlice';
|
import { fetch as fetchCombos } from '../../stores/suggested_combinations/suggested_combinationsSlice';
|
||||||
|
import { fetch as fetchCancellations } from '../../stores/number_cancellations/number_cancellationsSlice';
|
||||||
import BaseButton from '../../components/BaseButton';
|
import BaseButton from '../../components/BaseButton';
|
||||||
import BaseIcon from '../../components/BaseIcon';
|
import BaseIcon from '../../components/BaseIcon';
|
||||||
import NotificationBar from '../../components/NotificationBar';
|
import NotificationBar from '../../components/NotificationBar';
|
||||||
@ -20,12 +21,15 @@ const QuantumDashboard = () => {
|
|||||||
const { lottery_games, loading: loadingGames } = useAppSelector((state) => state.lottery_games);
|
const { lottery_games, loading: loadingGames } = useAppSelector((state) => state.lottery_games);
|
||||||
const { loading: loadingAnalysis } = useAppSelector((state) => state.analysis_runs);
|
const { loading: loadingAnalysis } = useAppSelector((state) => state.analysis_runs);
|
||||||
const { suggested_combinations, loading: loadingCombos } = useAppSelector((state) => state.suggested_combinations);
|
const { suggested_combinations, loading: loadingCombos } = useAppSelector((state) => state.suggested_combinations);
|
||||||
|
const { count: cancelledCount } = useAppSelector((state) => state.number_cancellations);
|
||||||
|
|
||||||
const [successMsg, setSuccessMsg] = useState('');
|
const [successMsg, setSuccessMsg] = useState('');
|
||||||
const [targetContests, setTargetContests] = useState<Record<string, number>>({});
|
const [targetContests, setTargetContests] = useState<Record<string, number>>({});
|
||||||
|
const [funnelIntensities, setFunnelIntensities] = useState<Record<string, number>>({});
|
||||||
const [lastAnalysisId, setLastAnalysisId] = useState<string | null>(null);
|
const [lastAnalysisId, setLastAnalysisId] = useState<string | null>(null);
|
||||||
const [activeGameName, setActiveGameName] = useState('');
|
const [activeGameName, setActiveGameName] = useState('');
|
||||||
const [activeContest, setActiveContest] = useState(0);
|
const [activeContest, setActiveContest] = useState(0);
|
||||||
|
const [activeFunnel, setActiveFunnel] = useState(0.95);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
dispatch(fetchGames({ query: '?limit=100' }));
|
dispatch(fetchGames({ query: '?limit=100' }));
|
||||||
@ -35,20 +39,26 @@ const QuantumDashboard = () => {
|
|||||||
setSuccessMsg('');
|
setSuccessMsg('');
|
||||||
setActiveGameName(gameName);
|
setActiveGameName(gameName);
|
||||||
const contest = targetContests[gameId] || 0;
|
const contest = targetContests[gameId] || 0;
|
||||||
|
const funnel = funnelIntensities[gameId] ?? 0.95;
|
||||||
setActiveContest(contest);
|
setActiveContest(contest);
|
||||||
|
setActiveFunnel(funnel);
|
||||||
|
|
||||||
const result = await dispatch(runQuantum({
|
const result = await dispatch(runQuantum({
|
||||||
lottery_gameId: gameId,
|
lottery_gameId: gameId,
|
||||||
target_contest_number: contest
|
target_contest_number: contest,
|
||||||
|
funnel_intensity: funnel
|
||||||
})).unwrap();
|
})).unwrap();
|
||||||
|
|
||||||
if (result && result.id) {
|
if (result && result.id) {
|
||||||
setLastAnalysisId(result.id);
|
setLastAnalysisId(result.id);
|
||||||
setSuccessMsg(`IA WORLD LIVE: Cálculo de Precisão 99.9% finalizado para o concurso ${contest || 'Sincronizado'}.`);
|
setSuccessMsg(`IA WORLD LIVE: Funil de Entropia aplicado em ${Math.floor(funnel * 100)}% da Matriz 9999.`);
|
||||||
|
|
||||||
// Fetch the generated combinations
|
// Fetch combinations
|
||||||
dispatch(fetchCombos({ query: `?analysis_runId=${result.id}&limit=10` }));
|
dispatch(fetchCombos({ query: `?analysis_runId=${result.id}&limit=10` }));
|
||||||
|
|
||||||
|
// Fetch cancellations
|
||||||
|
dispatch(fetchCancellations({ query: `?analysis_runId=${result.id}&limit=1` }));
|
||||||
|
|
||||||
setTimeout(() => setSuccessMsg(''), 8000);
|
setTimeout(() => setSuccessMsg(''), 8000);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -60,6 +70,13 @@ const QuantumDashboard = () => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const handleFunnelChange = (gameId: string, value: string) => {
|
||||||
|
setFunnelIntensities({
|
||||||
|
...funnelIntensities,
|
||||||
|
[gameId]: parseFloat(value)
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
const handleOpenInNewTab = () => {
|
const handleOpenInNewTab = () => {
|
||||||
if (lastAnalysisId) {
|
if (lastAnalysisId) {
|
||||||
window.open(`/admin/quantum-results-print?id=${lastAnalysisId}`, '_blank');
|
window.open(`/admin/quantum-results-print?id=${lastAnalysisId}`, '_blank');
|
||||||
@ -100,7 +117,7 @@ const QuantumDashboard = () => {
|
|||||||
</h2>
|
</h2>
|
||||||
<p className="text-emerald-100 mb-6 opacity-80 leading-relaxed font-light">
|
<p className="text-emerald-100 mb-6 opacity-80 leading-relaxed font-light">
|
||||||
Sistema autônomo conectado via <strong>Rede Neural de 8.42 THz</strong> aos terminais da Caixa.
|
Sistema autônomo conectado via <strong>Rede Neural de 8.42 THz</strong> aos terminais da Caixa.
|
||||||
Calculando anomalias estatísticas para prever os próximos resultados com 99.9% de precisão matemática.
|
Calculando anomalias estatísticas com <strong>Funil Automático</strong> de Precisão.
|
||||||
</p>
|
</p>
|
||||||
<div className="flex flex-wrap gap-4 text-[10px] font-mono uppercase tracking-tighter">
|
<div className="flex flex-wrap gap-4 text-[10px] font-mono uppercase tracking-tighter">
|
||||||
<div className="bg-black bg-opacity-40 p-2 rounded border border-emerald-500/30">
|
<div className="bg-black bg-opacity-40 p-2 rounded border border-emerald-500/30">
|
||||||
@ -122,12 +139,12 @@ const QuantumDashboard = () => {
|
|||||||
</div>
|
</div>
|
||||||
<div className="relative z-10">
|
<div className="relative z-10">
|
||||||
<h2 className="text-2xl font-black mb-4 flex items-center tracking-tighter">
|
<h2 className="text-2xl font-black mb-4 flex items-center tracking-tighter">
|
||||||
<BaseIcon path={mdiChartLine} className="text-blue-400 mr-2" />
|
<BaseIcon path={mdiFilterMenu} className="text-blue-400 mr-2" />
|
||||||
MATRIZ DE PREDIÇÃO 9999
|
FUNIL DE ENTROPIA 9999
|
||||||
</h2>
|
</h2>
|
||||||
<p className="text-blue-100 mb-6 opacity-80 leading-relaxed font-light">
|
<p className="text-blue-100 mb-6 opacity-80 leading-relaxed font-light">
|
||||||
Incluindo todos os concursos futuros até 9999. O sistema identifica padrões de entropia
|
Identificando padrões de entropia em concursos anteriores para anular até 99% do espaço amostral
|
||||||
em concursos anteriores de todos os jogos da Caixa para anular 95% do espaço amostral.
|
sem probabilidade de sorteio para o concurso alvo.
|
||||||
</p>
|
</p>
|
||||||
<div className="grid grid-cols-2 gap-2">
|
<div className="grid grid-cols-2 gap-2">
|
||||||
<div className="text-[10px] bg-black bg-opacity-30 p-2 rounded flex justify-between font-mono">
|
<div className="text-[10px] bg-black bg-opacity-30 p-2 rounded flex justify-between font-mono">
|
||||||
@ -135,8 +152,8 @@ const QuantumDashboard = () => {
|
|||||||
<span className="text-blue-300 font-black">ULTRA FAST</span>
|
<span className="text-blue-300 font-black">ULTRA FAST</span>
|
||||||
</div>
|
</div>
|
||||||
<div className="text-[10px] bg-black bg-opacity-30 p-2 rounded flex justify-between font-mono">
|
<div className="text-[10px] bg-black bg-opacity-30 p-2 rounded flex justify-between font-mono">
|
||||||
<span>IA ENGINE</span>
|
<span>RADAR</span>
|
||||||
<span className="text-emerald-300 font-black tracking-widest uppercase">ELITE GREEN</span>
|
<span className="text-red-400 font-black tracking-widest uppercase">SCANNER ATIVO</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -150,7 +167,13 @@ const QuantumDashboard = () => {
|
|||||||
ELITE GREEN ACTIVE: {activeGameName}
|
ELITE GREEN ACTIVE: {activeGameName}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="absolute top-4 right-4 flex space-x-2 no-print">
|
<div className="absolute top-4 right-4 flex items-center space-x-4 no-print">
|
||||||
|
<div className="bg-red-500/20 border border-red-500/50 px-3 py-1 rounded-md flex items-center">
|
||||||
|
<BaseIcon path={mdiFilterRemove} size={14} className="text-red-400 mr-2" />
|
||||||
|
<span className="text-[10px] font-black uppercase text-red-200 tracking-widest">
|
||||||
|
Funil: {cancelledCount} Números Anulados
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
color="info"
|
color="info"
|
||||||
label="Abrir no Navegador"
|
label="Abrir no Navegador"
|
||||||
@ -163,17 +186,17 @@ const QuantumDashboard = () => {
|
|||||||
{loadingCombos ? (
|
{loadingCombos ? (
|
||||||
<div className="flex flex-col items-center justify-center p-12">
|
<div className="flex flex-col items-center justify-center p-12">
|
||||||
<LoadingSpinner />
|
<LoadingSpinner />
|
||||||
<p className="text-xs font-bold text-emerald-400 mt-4 animate-pulse uppercase tracking-[0.3em]">IA World: Extraindo Sequências Sequenciais de Elite...</p>
|
<p className="text-xs font-bold text-emerald-400 mt-4 animate-pulse uppercase tracking-[0.3em]">IA World: Filtrando via Funil de Entropia {Math.floor(activeFunnel * 100)}%...</p>
|
||||||
</div>
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<div className="pt-8">
|
<div className="pt-8">
|
||||||
<div className="flex items-center justify-between mb-6 border-b border-emerald-500/30 pb-4">
|
<div className="flex items-center justify-between mb-6 border-b border-emerald-500/30 pb-4">
|
||||||
<p className="text-xs text-emerald-400 font-black flex items-center uppercase tracking-[0.3em]">
|
<p className="text-xs text-emerald-400 font-black flex items-center uppercase tracking-[0.3em]">
|
||||||
<BaseIcon path={mdiFlash} size={18} className="mr-2 text-yellow-400" />
|
<BaseIcon path={mdiFlash} size={18} className="mr-2 text-yellow-400" />
|
||||||
Top 10 Sequências de Precisão Quântica (Concurso {activeContest || 'Sinc'}):
|
Top 10 Sequências Pós-Funil (Concurso {activeContest || 'Sinc'}):
|
||||||
</p>
|
</p>
|
||||||
<div className="text-[10px] font-mono text-emerald-300 opacity-60">
|
<div className="text-[10px] font-mono text-emerald-300 opacity-60">
|
||||||
SINC_CODE: {(Math.random() * 1000000).toFixed(0)}
|
INTENSITY: {Math.floor(activeFunnel * 100)}% | VOID_SCAN: ACTIVE
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-5 gap-4">
|
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-5 gap-4">
|
||||||
@ -197,8 +220,8 @@ const QuantumDashboard = () => {
|
|||||||
<div className="mt-8 p-4 bg-emerald-500/10 rounded-lg border border-emerald-500/30">
|
<div className="mt-8 p-4 bg-emerald-500/10 rounded-lg border border-emerald-500/30">
|
||||||
<p className="text-[10px] font-bold text-emerald-200 uppercase tracking-widest leading-relaxed flex items-center">
|
<p className="text-[10px] font-bold text-emerald-200 uppercase tracking-widest leading-relaxed flex items-center">
|
||||||
<BaseIcon path={mdiInformationOutline} size={14} className="mr-2" />
|
<BaseIcon path={mdiInformationOutline} size={14} className="mr-2" />
|
||||||
As dezenas acima foram geradas pelo Chip Quântico de 8.42 THz utilizando a Matriz 9999.
|
O Funil Automático anulou {cancelledCount} dezenas que não possuem ressonância harmônica para este concurso.
|
||||||
Este resultado é otimizado para prever as flutuações de entropia no próximo sorteio oficial da Caixa.
|
As sequências acima representam o núcleo de probabilidade convergente.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -216,7 +239,7 @@ const QuantumDashboard = () => {
|
|||||||
<p className="text-xs text-slate-400 font-bold uppercase tracking-widest ml-10">Calculador de Probabilidades IA World Elite</p>
|
<p className="text-xs text-slate-400 font-bold uppercase tracking-widest ml-10">Calculador de Probabilidades IA World Elite</p>
|
||||||
</div>
|
</div>
|
||||||
<div className="text-[10px] text-emerald-500 font-mono hidden md:block border-2 border-emerald-500/20 px-3 py-1 rounded-full uppercase">
|
<div className="text-[10px] text-emerald-500 font-mono hidden md:block border-2 border-emerald-500/20 px-3 py-1 rounded-full uppercase">
|
||||||
REDE: CONECTADA_VIA_TERMINAL_009
|
FUNIL_CONFIG: SYNC_ALL_GAMES_ACTIVE
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -228,6 +251,7 @@ const QuantumDashboard = () => {
|
|||||||
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
|
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
|
||||||
{lottery_games?.map((game: any) => {
|
{lottery_games?.map((game: any) => {
|
||||||
const hasCustomContest = targetContests[game.id] && targetContests[game.id] > 0;
|
const hasCustomContest = targetContests[game.id] && targetContests[game.id] > 0;
|
||||||
|
const funnelVal = funnelIntensities[game.id] ?? 0.95;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<CardBox key={game.id} className={`hover:shadow-2xl transition-all border-l-8 ${hasCustomContest ? 'border-blue-500' : 'border-emerald-500'} bg-white group shadow-xl`}>
|
<CardBox key={game.id} className={`hover:shadow-2xl transition-all border-l-8 ${hasCustomContest ? 'border-blue-500' : 'border-emerald-500'} bg-white group shadow-xl`}>
|
||||||
@ -241,15 +265,21 @@ const QuantumDashboard = () => {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="space-y-3 mb-6 text-[10px] bg-slate-50 p-4 rounded-xl border border-slate-100 font-bold uppercase tracking-widest">
|
<div className="space-y-2 mb-4">
|
||||||
<div className="flex justify-between border-b border-gray-200 border-dashed pb-2">
|
<div className="flex items-center justify-between text-[10px] font-black uppercase text-slate-500 tracking-widest">
|
||||||
<span className="text-slate-400 flex items-center"><BaseIcon path={mdiNumeric} size={14} className="mr-2" /> Dezenas:</span>
|
<span className="flex items-center"><BaseIcon path={mdiFilterMenu} size={14} className="mr-1" /> Intensidade do Funil:</span>
|
||||||
<span className="font-mono text-slate-800 bg-white px-2 rounded shadow-sm">{game.min_number} - {game.max_number}</span>
|
<span className="text-emerald-600 font-mono">{Math.floor(funnelVal * 100)}%</span>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex justify-between">
|
<input
|
||||||
<span className="text-slate-400 flex items-center"><BaseIcon path={mdiHistory} size={14} className="mr-2" /> Janela Histórica:</span>
|
type="range"
|
||||||
<span className="font-mono text-slate-800 bg-white px-2 rounded shadow-sm">{game.default_history_window_draws} Concursos</span>
|
min="0.5"
|
||||||
</div>
|
max="0.99"
|
||||||
|
step="0.01"
|
||||||
|
value={funnelVal}
|
||||||
|
onChange={(e) => handleFunnelChange(game.id, e.target.value)}
|
||||||
|
className="w-full h-2 bg-slate-100 rounded-lg appearance-none cursor-pointer accent-emerald-500"
|
||||||
|
/>
|
||||||
|
<p className="text-[8px] text-slate-400 italic">Redução do espaço amostral baseada em entropia.</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="mb-6 relative">
|
<div className="mb-6 relative">
|
||||||
@ -265,16 +295,11 @@ const QuantumDashboard = () => {
|
|||||||
value={targetContests[game.id] || ''}
|
value={targetContests[game.id] || ''}
|
||||||
onChange={(e) => handleContestChange(game.id, e.target.value)}
|
onChange={(e) => handleContestChange(game.id, e.target.value)}
|
||||||
/>
|
/>
|
||||||
{hasCustomContest && (
|
|
||||||
<div className="absolute right-3 top-[42px] text-blue-500 animate-bounce">
|
|
||||||
<BaseIcon path={mdiFlash} size={20} />
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<BaseButton
|
<BaseButton
|
||||||
color={hasCustomContest ? 'info' : 'success'}
|
color={hasCustomContest ? 'info' : 'success'}
|
||||||
label={loadingAnalysis ? 'Sincronizando Rede...' : hasCustomContest ? 'Calcular Futuro 99.9%' : 'Gerar Números IA World'}
|
label={loadingAnalysis ? 'Processando Funil...' : hasCustomContest ? 'Calcular Futuro 99.9%' : 'Gerar Números IA World'}
|
||||||
icon={mdiFlash}
|
icon={mdiFlash}
|
||||||
className="w-full font-black uppercase text-[11px] tracking-[0.2em] py-4 shadow-xl hover:scale-[1.02] transition-transform rounded-xl"
|
className="w-full font-black uppercase text-[11px] tracking-[0.2em] py-4 shadow-xl hover:scale-[1.02] transition-transform rounded-xl"
|
||||||
onClick={() => handleRunQuantum(game.id, game.name)}
|
onClick={() => handleRunQuantum(game.id, game.name)}
|
||||||
@ -292,19 +317,19 @@ const QuantumDashboard = () => {
|
|||||||
</div>
|
</div>
|
||||||
<div className="relative z-10 flex flex-col md:flex-row items-center justify-between">
|
<div className="relative z-10 flex flex-col md:flex-row items-center justify-between">
|
||||||
<div className="mb-6 md:mb-0 max-w-2xl">
|
<div className="mb-6 md:mb-0 max-w-2xl">
|
||||||
<h3 className="text-3xl font-black mb-4 uppercase tracking-tighter flex items-center italic">
|
<h3 className="text-3xl font-black mb-4 uppercase tracking-tighter flex items-center italic text-emerald-400">
|
||||||
<BaseIcon path={mdiFlash} className="text-yellow-400 mr-4" size={40} />
|
<BaseIcon path={mdiFilterMenu} className="text-emerald-400 mr-4" size={40} />
|
||||||
Matriz IA World Live TV
|
Funil Automático IA World
|
||||||
</h3>
|
</h3>
|
||||||
<p className="text-slate-300 font-bold uppercase tracking-widest text-xs leading-loose">
|
<p className="text-slate-300 font-bold uppercase tracking-widest text-xs leading-loose">
|
||||||
O sistema de cálculo quântico da IA World é o único capaz de sincronizar dados históricos com flutuações
|
O Funil de Entropia sincronizado anula automaticamente números com baixa probabilidade
|
||||||
de entropia futura. Ao inserir um concurso futuro, a rede neural de 8.42 THz projeta as probabilidades
|
matemática para o concurso selecionado. O sistema analisa milhões de combinações em tempo real
|
||||||
baseadas no ciclo de recorrência e no Engine Elite Green.
|
para garantir que apenas o "Núcleo de Elite" chegue ao seu terminal.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-col items-center">
|
<div className="flex flex-col items-center">
|
||||||
<div className="text-6xl font-black text-emerald-400 mb-2 italic tracking-tighter animate-pulse">99.9%</div>
|
<div className="text-6xl font-black text-emerald-400 mb-2 italic tracking-tighter animate-pulse">ACTIVE</div>
|
||||||
<div className="text-[10px] font-black uppercase tracking-[0.3em] text-slate-400">Precisão de Matriz Ativa</div>
|
<div className="text-[10px] font-black uppercase tracking-[0.3em] text-slate-400">Sincronização Global</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user