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

Caso Marielle

Miliciano investigado por assassinato de Marielle morre em confronto na BA

Ex-PM Adriano Magalhães da Nóbrega - Reprodução/Polícia Civil
Ex-PM Adriano Magalhães da Nóbrega Imagem: Reprodução/Polícia Civil

Alexandre Santos

Colaboração para o UOL, em Salvador

09/02/2020 10h45Atualizada em 09/02/2020 16h12

O ex-policial militar do Rio de Janeiro Adriano Magalhães da Nóbrega, acusado de comandar a milícia de Rio das Pedras, zona oeste da capital fluminense, foi morto na manhã de hoje em um confronto com forças de segurança da Bahia.

Ex-capitão do Bope (Batalhão de Operações Especiais), Adriano já foi investigado por suspeita de envolvimento nas mortes da vereadora Marielle Franco e do motorista Anderson Gomes. A linha de investigação, no entanto, não evoluiu. Em depoimento à Polícia Civil do Rio de Janeiro em agosto de 2018, disse "não se recordar ao certo" onde estava na noite de 14 de março daquele ano —data em que a vereadora e seu motorista foram mortos.

Segundo a SSP (Secretaria da Segurança Pública da Bahia), Adriano estava escondido em uma propriedade na zona rural na cidade de Esplanada (a 160 km de Salvador).

No momento do cumprimento do mandado de prisão, ele teria reagido com disparos de arma de fogo e foi alvejado. De acordo com a SSP, o ex-PM chegou a ser socorrido para um hospital da região.

Segundo a polícia, Adriano portava uma pistola austríaca calibre 9mm —além dela, foram encontradas duas espingardas e um revólver. Investigadores que participaram da operação também encontraram no imóvel 13 aparelhos celulares, que estavam escondidos em diferentes cômodos da casa.

O caso foi registrado no Draco (Departamento de Repressão e Combate ao Crime Organizado) da Bahia.

A formalização da ocorrência, contudo, foi reada para as equipes da Polícia Civil fluminense, que deu apoio com informações acerca das investigações.

Polícia encontrou quatro armas e 13 celulares na casa em que Adriano Magalhães da Nóbrega estava escondido - Divulgação/SSP-BA - Divulgação/SSP-BA
Polícia encontrou quatro armas e 13 celulares na casa em que Adriano Magalhães da Nóbrega estava escondido
Imagem: Divulgação/SSP-BA

Monitorado na Bahia

Ele ou a ser monitorado por equipes do SI (Serviço de Investigação) da SSP baiana após informações de que ele teria buscado esconderijo na Bahia.

"Procuramos sempre apoiar as polícias dos outros estados e, desta vez, priorizamos o caso por ser de relevância nacional. Buscamos efetuar a prisão, mas o procurado preferiu reagir atirando", disse o secretário da SSP-BA, Maurício Teles Barbosa.

Polícia analisa vídeos de supostos milicianos de Rio das Pedras

bandrio

Expulso da PM e amizade com Flávio Bolsonaro

Capitão Adriano entrou para a PM fluminense no ano de 1996. Quatro anos depois, concluiu o curso de operações especiais do Bope.

Na corporação, fez amizade com Fabrício de Queiroz, que trabalhou como assessor do senador Flávio Bolsonaro (sem partido-RJ), quando este foi deputado estadual. Anos depois, Queiroz indicou a mãe e a mulher de Capitão Adriano para trabalhar no gabinete do filho mais velho do presidente da República, Jair Bolsonaro.

Segundo o MP (Ministério Público) do Rio de Janeiro, Queiroz usou contas bancárias controladas por Adriano para lavar parte dos recursos obtidos em um suposto esquema de "rachadinha" no antigo gabinete de Flávio Bolsonaro na Alerj (Assembleia Legislativa do Rio).

Adriano chegou a ser homenageado por Flávio Bolsonaro com a Medalha Tiradentes, a mais alta honraria da Assembleia Legislativa. Era o ano de 2005, e ele estava preso sob acusação de cometer homicídio.

Nessa mesma época, o ex-"caveira" (membro do Bope) começou a atuar como segurança para familiares do falecido bicheiro Valdomiro Paes Garcia, o Maninho. No serviço irregular, que resultou em sua expulsão da PM decidida pela Justiça do Rio no ano de 2014, ele se envolveu na disputa fratricida pelo espólio do contraventor.

De acordo com testemunhos incluídos nos autos da investigação interna conduzida pela PM do Rio, obtidos pelo UOL, Capitão Adriano participou de ao menos oito homicídios entre os anos de 2006 e 2009, a mando do contraventor José Luiz de Barros Lopes. Conhecido como Zé Personal, ele era casado com uma filha de Maninho.

"Em geral, as vítimas desses assassinos têm alguma relação com o crime e a polícia faz vista grossa. Adriano não é o primeiro a prestar esse tipo de serviço. Outros policiais já fizeram o mesmo e praticamente todos tiveram o mesmo fim: a morte", afirmou um delegado da Polícia Civil do Rio, que pediu para não ser identificado.

A ficha de serviços mostra que Capitão Adriano recebeu treinamento de elite durante sua trajetória como PM. Entre os cursos em que se formou, estão os de sniper (atirador de elite), operações táticas especiais e segurança especial para autoridades.

Caso Marielle