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

Policial penal que matou petista se envolveu em duas confusões em 16 meses

O policial penal federal Jorge José da Rocha Guaranho, que matou a tiros o guarda municipal Marcelo Arruda - Arquivo pessoal
O policial penal federal Jorge José da Rocha Guaranho, que matou a tiros o guarda municipal Marcelo Arruda Imagem: Arquivo pessoal

Herculano Barreto Filho

Do UOL, em São Paulo

12/07/2022 12h13

O policial penal federal Jorge José da Rocha Guaranho, que matou a tiros o guarda municipal Marcelo Arruda enquanto a vítima comemorava o aniversário de 50 anos com uma festa temática do PT alusiva ao ex-presidente Luiz Inácio Lula da Silva no sábado (9) em Foz do Iguaçu (PR), se envolveu em duas confusões anteriores em um intervalo de apenas 16 meses.

Em junho de 2018, ele precisou ser algemado e detido após insultar policiais militares durante uma abordagem no Rio de Janeiro. Em outubro do ano seguinte, o policial penal se desentendeu com seguranças de uma festa na cidade de Capanema (PR), a 118 km do seu local de trabalho, na penitenciária federal de Catanduvas.

Procurada pelo UOL, a advogada Andreza Dolato Inácio disse que não está mais à frente do caso. A reportagem não localizou os novos defensores de Guaranho.

Segundo boletim de ocorrência registrado em 24 de junho de 2018, ele começou a ofender os policiais militares acionados para uma ocorrência em Guapimirim, região metropolitana da capital fluminense.

"Jorge Guaranho se aproximou dos policiais militares, identificou-se como ex-PM e atual policial federal. Em seguida, ou a ofender o capitão da PM, xingando-o de 'oficial de merda, capitão de merda', e chamou o sargento de 'praça baba-ovo e praça de merda', e mandou que fossem embora do local", diz a ocorrência.

Em seguida, foi algemado e levado para uma delegacia. De acordo com o relato de testemunhas, o policial penal federal estaria alcoolizado. Um processo, aberto pelo crime de desacato, foi arquivado pela Justiça do Paraná.

Guaranho, que trabalhou por dois anos como PM no Rio de Janeiro, deixou a corporação após ar em concurso público para atuar como policial penal federal.

Extravio de carregador de pistola

Procurada pelo UOL, a PM-RJ (Polícia Militar do Rio de Janeiro) informou que não há registros de conduta violenta no período em que ele esteve na instituição.

Já o Depen (Departamento Penitenciário Nacional) esclareceu que Guaranho chegou a responder a uma sindicância interna por causa do episódio. Mas a apuração foi arquivada porque o episódio foi considerado "ato da vida privada" do servidor.

Em 2019, Guaranho respondeu a outra sindicância por extravio de carregador de pistola, equipamento que deve ser acautelado nas unidades prisionais. "O servidor ressarciu a istração pública e recebeu a penalidade de advertência", informou o Depen, em nota.

Confusão em festa no Paraná

Na madrugada de 27 de outubro de 2019, o policial penal federal se envolveu em um novo desentendimento, desta vez em uma festa em Capanema (PR).

Após a confusão, Guaranho disse aos seguranças do local que era policial. Mas se recusou a mostrar a documentação para se identificar.

Eram 2h40 quando a Polícia Militar foi acionada. Guaranho então minimizou o tumulto, dizendo que tinha sido apenas um mal-entendido. Uma representante da equipe de segurança da festa não quis apresentar denúncia. Com isso, foi feito apenas um registro produzido pelos policiais que foram ao local.

Como foi a ação

Apoiador do presidente Jair Bolsonaro (PL), Guaranho foi de carro à entrada da festa onde o guarda municipal Marcelo Arruda comemorava o aniversário com uma festa temática sobre o PT. Segundo testemunhas, a esposa dele estava com a filha de 3 meses no banco de trás.

De acordo com a investigação, ele reproduzia uma música em som alto em alusão a Bolsonaro e começou a insultar os integrantes da festa. A ação, flagrada em vídeo, mostra o momento em que Arruda aparenta jogar algo em direção ao veículo.

O bolsonarista então reage, mostrando a arma. O policial penal deixou o local e retornou sozinho depois de cerca de 20 minutos. As imagens mostram o momento em que ele volta ao local e dá dois disparos em direção ao interior da festa.

Um vídeo interno registra Arruda mancando após ter sido atingido na perna. Guaranho então se aproxima, atira na direção da vítima e se afasta. Mas é atingido pelos tiros dados pelo guarda municipal, que reagiu. No chão, o policial penal foi agredido com chutes na cabeça dados por um dos integrantes da festa.

Como estão as investigações

Oito pessoas já foram ouvidas pela Polícia Civil do Paraná. A reconstituição do crime deverá ser feita nos próximos dias. Entre elas, testemunhas e parentes de Guaranho.

O caso está sendo investigado pela Divisão de Homicídios e Proteção à Pessoa (DHPP), sediada na capital Curitiba. Foi criada uma força-tarefa com agentes da especializada "para garantir celeridade na apuração dos fatos", informou a Secretaria da Segurança Pública do Paraná.

A previsão é de que o inquérito seja concluído dentro de uma semana.