;(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

Brasileirão - 2023

Justiça do Rio revoga pedido de prisão temporária de chefes de organizadas

Briga de torcidas antes de Flamengo e Vasco jogarem no Maracanã - Reprodução/Twitter
Briga de torcidas antes de Flamengo e Vasco jogarem no Maracanã Imagem: Reprodução/Twitter

Alexandre Araújo

Do UOL, no Rio de Janeiro (RJ)

04/05/2023 08h30

O Tribunal de Justiça do Rio de Janeiro revogou o pedido de prisão temporária de quatro presidentes de torcidas organizadas de clubes cariocas.

Anderson Azevedo Dias, presidente da Young Flu

Fabiano de Souza Marques, da Força Jovem do Vasco

Bruno da Silva Paulino, da Torcida Jovem do Flamengo

Anderson Clemente da Silva, presidente da Raça Rubro-Negra

O que aconteceu

No documento, assinado pela juíza Alessandra da Rocha Lima Roidis, aponta-se que "inexiste prova de materialidade do crime de homicídio, bem como indícios mínimos de autoria que justifiquem a necessidade da medida cautelar".

"Após quase dois meses saiu uma decisão judicial favorável a esses dirigentes. (...) Essas pessoas tiveram a vida interrompidas por dois meses por uma denúncia vazia, com o único objetivo de criminalizar as torcidas", disse o deputado estadual Carlos Minc (PSB), em vídeo.

Os quatro tinham tido prisão temporária decretada em março, respondendo pelos crimes de organização criminosa, lesão corporal grave e tentativa de homicídio.

O inquérito foi instaurado para apurar e identificar os possíveis autores das brigas entre organizadas antes de Flamengo x Vasco, pela Taça Guanabara.

À época, a decisão quanto à prisão e a urgência do pedido foram justificados pela Justiça por conta do primeiro jogo da semifinal do Carioca, entre o time rubro-negro e o cruz-maltino, que aconteceria naquela mesma noite.

Os quatro presidentes das torcidas chegaram a ser considerados foragidos.

Ainda na ocasião, verificou-se que a Delegacia de Homicídios da Capital (DHC) investigava se a morte de Bruno Macedo dos Santos, de 34 anos, que era torcedor do Vasco, tinha relação com o tráfico de drogas.

O caso

Integrantes de torcidas organizadas de Flamengo e Vasco entraram em confronto antes do clássico pela Taça Guanabara. A Polícia Militar suspendeu a Raça e a Jovem, do Flamengo, e a Força Jovem, do Vasco, por 90 dias. Posteriormente, o Tribunal de Justiça do Rio de Janeiro ampliou a punição por tempo indeterminado.

Dias depois, a PM colocou em vigor as medidas de afastamento que o Ministério Público do Rio de Janeiro havia determinado anteriormente às discussões do novo termo de ajustamento de conduta (TAC), que acontece depois da aprovação do Projeto de Lei que previa a anistia das organizadas.

Young Flu, do Fluminense, e Fúria Jovem, do Botafogo, também estão proibidas de frequentar praças esportivas. O Ministério Público do Rio indicou avaliar um pedido à Justiça para clássicos com torcida única. A ideia, porém, não ganhou aderência junto a outros órgãos envolvidos nas partidas.

O Governo do Rio de Janeiro apontou que envolvidos em briga de torcida serão enquadrados como "organização criminosa".