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

Bombeiros retiram 2 corpos de crianças na Muzema; número de mortos vai a 22

O casal Jefferson Trajano e Carla Batista e os filhos Enzo e Arthur - Reprodução/Facebook/Jeferson Trajano
O casal Jefferson Trajano e Carla Batista e os filhos Enzo e Arthur Imagem: Reprodução/Facebook/Jeferson Trajano

Marcela Leite

Do UOL, em São Paulo

20/04/2019 18h29Atualizada em 20/04/2019 19h27

Os corpos de duas crianças foram retirados hoje dos escombros do desabamento de dois prédios na comunidade da Muzema, na zona oeste do Rio de Janeiro, ocorrido em 12 de abril. Com isso, o número de mortos sobe para 22. Uma pessoa ainda está desaparecida.

Os dois meninos encontrados hoje e levados ao Instituto Médico Legal são Enzo, 6, e Arthur, 4. Eles são filhos de Jefferson Trajano, 29, e Carla Batista, mortos na tragédia e encontrados na última quinta-feira (18), segundo Aílson Ferreira, primo de Jefferson. O velório da família deve acontecer na próxima segunda (22).

De acordo com Ailson, Carla fez aniversário na sexta (12), dia da tragédia, e ganharia uma festa surpresa do marido. "Eu e o Jefferson falávamos nisso, mas terminei o domingo rezando para vê-los de novo", afirmou.

A família morava havia poucos meses no térreo de um dos prédios que caiu, conta o irmão de Jefferson, Jandir Trajano. O casal veio da Paraíba há 20 anos e comemorava a compra do novo imóvel e a saída do aluguel.

"Meu irmão estava dormindo no restaurante em que trabalhava por causa das chuvas, mas no dia 11 decidiu ir com a família para casa", disse Jandir. O restaurante a que ele se refere era do casal e fica no bairro Gardênia Azul, vizinho da comunidade.

Balanço das buscas

Desde o início das buscas, os corpos encontrados em meio aos escombros são de quatro homens adultos, nove mulheres, seis menores de idade do sexo masculino e um do sexo feminino.

Dos dez feridos resgatados, dois deles chegaram a ser socorridos para hospitais, mas não resistiram aos ferimentos e morreram.

As buscas entraram no nono dia, com mais de cem militares acompanhados de cães farejadores. São usados helicópteros, ambulâncias, drone e viaturas de recolhimento de cadáveres para ajudar na operação.

A comunidade fica em uma região controlada por milícias, que seriam inclusive responsáveis pela venda dos apartamentos irregulares e cobrança de mensalidades dos moradores.

A Justiça expediu três ordens de prisão temporária (de 30 dias) sob acusação de homicídio com dolo eventual. José Bezerra de Lima, o Zé do Rolo, Renato Siqueira Ribeiro e Rafael Gomes da Costa são considerados foragidos. O trio foi responsável por construir e comercializar as unidades que ruíram, de acordo com as investigações.

Medo de moradores da Muzema de se exporem atrapalha trabalho da polícia

redetv