;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

exclusivo

Carro de Renan teve sete multas por excesso de velocidade em sete meses

Do UOL, em São Paulo

27/07/2022 04h00

O carro do zagueiro Renan Victor da Silva, que atropelou e matou um motociclista em Bragança Paulista, acumulou nove multas, sendo sete por excesso de velocidade, de outubro de 2021 a abril de 2022. A informação é de um relatório do Departamento Nacional de Trânsito ao qual o UOL Esporte teve o.

Depois do acidente, na manhã da última sexta-feira (22), o jogador, que tem contrato com o Palmeiras e está emprestado ao Red Bull Bragantino, ficou preso por um dia e saiu da cadeia após se comprometer a pagar fiança de R$ 242,4 mil. Segundo o relatório do Denatran, das sete multas de velocidade do Honda Civic registrado no nome do atleta, três foram aplicadas de madrugada. Pelo relatório, não é possível saber se Renan ou outro motorista estava conduzindo o carro no momento das infrações.

Ao atropelar o motociclista Eliezer Pena, por volta das 6h30 da manhã depois de voltar de uma festa, o jogador estava com a habilitação suspensa - justamente por cometer uma infração grave, de acordo com a Polícia Civil. Procurada, a defesa de Renan disse que não iria comentar o assunto.

A polícia tem 25 dias para concluir o inquérito, mas em uma análise preliminar indicou que o jogador infringiu o artigo 302 do Código de Trânsito Brasileiro, que descreve o homicídio culposo na direção de veículo automotor. Ele poderá responder em liberdade.

Das sete multas por excesso de velocidade registradas no carro de Renan, em quatro o condutor ultraou em até 20% o limite da via. Em outras três, o condutor dirigia entre 20% e 50% além do limite permitido. As infrações foram registradas em vários pontos da cidade como na Avenida Marquês de São Vicente, na Avenida Francisco Matarazzo, na Marginal Tietê, na Avenida Engenheiro Caetano Álvares e Avenida Consolação, em Carapicuíba. As outras duas multas do carro foram por furar a lei do rodízio, que limita a circulação de veículos na cidade de São Paulo.

Rogério Filócomo, o promotor que cuidará do processo do jogador, afirmou em entrevista ao UOL Esporte que o histórico de infrações de Renan será fundamental para a definição da denúncia que o Ministério Público fará à Justiça. "Vou pedir à autoridade policial para levantar isso oficialmente. Já mostra uma tendência de que ele abusava da direção, que o excesso de velocidade, a direção perigosa, não foram um fato isolado. É claro que vamos pôr na balança na hora de decidir", afirmou o promotor, que tem 24 anos de experiência no MP.

"O Renan praticou o crime como homem e ele vai responder como homem", afirmou o promotor. "Ele tem todos os direitos assegurados por lei dentro do processo penal, mas o MP vai procurar todas as responsabilidades dele dentro do processo penal."