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

Esse conteúdo é antigo

Fachin pauta julgamento sobre plano de redução da letalidade policial

Ministro Edson Fachin colocou tema de letalidade policial na pauta do STF após operação da Polícia Civil deixar ao menos 25 mortos no Jacarezinho, na zona norte do Rio - Felipe Sampaio/STF
Ministro Edson Fachin colocou tema de letalidade policial na pauta do STF após operação da Polícia Civil deixar ao menos 25 mortos no Jacarezinho, na zona norte do Rio Imagem: Felipe Sampaio/STF

Paulo Roberto Netto

06/05/2021 17h09Atualizada em 06/05/2021 17h55

O ministro Edson Fachin, do Supremo Tribunal Federal, pautou para o próximo dia 21 o julgamento de recurso do PSB sobre a elaboração de um plano de redução da letalidade policial. O ministro colocou o tema em discussão no plenário virtual da Corte após operação da Polícia Civil deixar ao menos 25 mortos no Jacarezinho, na zona norte do Rio, na manhã desta quinta-feira, 6.

O PSB pede ao Supremo que determine ao governo do Rio a elaboração de um plano para reduzir mortes em ações policiais, além de suspender o sigilo de todos os protocolos de atuação policial no Estado. A legenda também busca a prioridade de tramitação das investigações do Ministério Público em casos de vítimas adolescentes.

O plenário do STF determinou no ano ado a suspensão das operações policiais em comunidades do Rio durante a pandemia, referendando liminar proferida por Fachin em junho sobre o assunto. A decisão fixou que as incursões só poderiam ser realizadas em casos excepcionais, com acompanhamento do Ministério Público.

Na ocasião, o julgamento ocorreu após o assassinato de João Pedro Mattos, de 14 anos, morto com um tiro nas costas dentro de casa no Complexo do Salgueiro, em São Gonçalo. Outro adolescente, João Vitor Gomes da Rocha, 18, foi morto durante uma operação policial na Cidade de Deus, zona oeste da capital, durante a distribuição de cestas básicas.

Fachin argumentou em agosto que as operações policiais realizadas em locais de grande aglomeração "ficam ainda mais arriscadas e fragilizam a já baixa ability (prestação de contas) que deveria pautar a atuação de todos os agentes públicos".

O ministro pautou o recurso do PSB após operação deixar ao menos 25 mortos na manhã desta quinta na favela do Jacarezinho, na zona norte do Rio. A incursão policial foi motivada para apurar suposto aliciamento de menores e sequestro de trens da SuperVia pelo Comando Vermelho.

De acordo com a plataforma Fogo Cruzado, que conta com vasta base de dados sobre tiroteios no Rio, a operação de hoje foi a que teve o maior número de mortes desde 2016, quando começou a série histórica. Em 2021 a organização já registrou 30 casos em que três ou mais pessoas foram mortas a tiros em uma mesma situação no Grande Rio.