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

Moradores denunciam 'execução' de suspeito em quarto de criança, diz OAB

Lola Ferreira

Do UOL, no Rio

06/05/2021 18h06

A Comissão de Direitos Humanos da OAB/RJ foi à comunidade do Jacarezinho, na zona norte do Rio, na tarde de hoje para averiguar denúncias de violações durante a operação policial que deixou ao menos 25 mortos. Moradores relataram a integrantes da comissão que policiais mataram um homem dentro do quarto de uma menina.

De acordo com os moradores da casa, um homem entrou no local durante perseguição. Em seguida, policiais entraram no imóvel e o encontraram dentro do quarto da criança. Os cinco moradores ficaram todos na sala e ouviram os disparos que mataram o homem. "A família relatou pra gente que ele já entrou na casa ferido e desarmado", afirmou Rodrigo Mondego, integrante da comissão.

Nas imagens feitas pela comissão e pelo advogado Joel Luiz Costa, é possível ver o lençol cor-de-rosa ensanguentado e muito sangue no chão do quarto.

Junto à OAB/RJ estiveram também no Jacarezinho a Defensoria Pública do Rio de Janeiro, o Instituto de Defesa da População Negra e a Comissão de Direitos Humanos da Alerj (Assembleia Legislativa do Rio de Janeiro).

Outras denúncias de violações dão conta de homens sendo mortos pela polícia depois de estarem rendidos. Um morador que preferiu não se identificar afirma que viu um homem, de costas e também desarmado, ser assassinado por policiais.

O que diz a Polícia Civil

Em entrevista coletiva, delegados da Polícia Civil do Rio defenderam a operação, a mais letal da história do Rio, e destacaram a morte de um policial durante a ação. Eles negaram as denúncias de "execução" relatadas pela comissão da OAB.

"A única execução que houve na operação foi do policial, infelizmente. Ele foi executado friamente pelos traficantes. As outras mortes foram de traficantes que atentaram contra a vida dos policiais. Houve resposta e acabaram sendo neutralizados", afirmou o delegado Felipe Cury, diretor do DGPE (Departamento-Geral de Polícia Especializada).

"O sangue desse policial que faleceu em prol da sociedade de alguma forma está nas mãos desse ativismo judicial", afirmou o delegado Rodrigo Oliveira, subsecretário de Planejamento e Integração Operacional da Polícia Civil.

O STF (Supremo Tribunal Federal) restringiu no ano ado as operações policiais durante a pandemia no Rio. A decisão determinou que operações fossem restritas a casos excepcionais, informadas e acompanhadas pelo Ministério Público.

A OAB/RJ afirma que irá acompanhar o inquérito policial.

Durante a operação, moradores também relataram medo de helicópteros policiais. Imagens mostraram atiradores com fuzis em uma aeronave. A operação impediu que moradores circulassem e saíssem para trabalhar.