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

Equipes de resgate já recuperaram 34 corpos de avião da AirAsia

Bancoc

04/01/2015 10h53

As equipes de resgate já recuperaram 34 corpos de pessoas que estavam no avião da AirAsia que caiu há uma semana no mar da Indonésia, onde o tempo ruim e as fortes correntes dificultam as tarefas de busca, informaram, neste domingo (4), as autoridades locais.

Os legistas identificaram neste domingo (4) os corpos de uma aeromoça de 24 anos, e de dois ageiros, de 30 e 10 anos, que se somam a uma ageira que foi identificada e enterrada na quinta-feira ada, segundo o canal de televisão “Channel News Ásia”.

Os serviços de emergência tentaram sem sucesso recuperar cinco grandes objetos localizados com radares, um deles hoje, a cerca de 30 metros de profundidade no mar de Java.

O tempo ruim e os fortes correntes dificultaram as tarefas dos mergulhadores e dos submarinos não tripulados, que ainda não conseguiram chegar aos destroços para confirmar se pertencem ao avião, no qual viajavam 162 pessoas.

Acredita-se que parte dos viajantes do Airbus possam estar presos nos assentos destes destroços, que medem entre sete e 10 metros de comprimento.

Cerca de 27 embarcações e 20 aeronaves de diversos países participaram neste domingo (4) das operações de busca e resgate de vítimas e das caixas-pretas do avião da AirAsia, indicou a Agência Nacional de Busca e Resgate da Indonésia.

Em um relatório, a Agência Indonésia de Meteorologia, Climatologia e Geofísica (BMKG) afirmou no último sábado (3) que a causa mais provável do acidente foi uma falha no motor causada por formação de gelo ao atravessar uma nuvem, embora as autoridades ainda busquem as caixas-pretas para explicar o ocorrido.

Uma das caixas, que na realidade são de cor laranja, armazena a conversa na cabine, e a outra os dados de voo.

Nos últimos dias, as autoridades indonésias revelaram várias irregularidades no voo QZ8501, mas sem relacioná-las diretamente ao acidente.

Na quarta-feira ada (31), um documento da agência de meteorologia revelou que o voo decolou em 28 de dezembro sem ter recebido o boletim climatológico do serviço de meteorologia, segundo o jornal “The Jakarta Post”.

Sunu Widyatmoki, diretor da AirAsia Indonésia, filial do grupo malaio AirAsia, negou as alegações.

“A AirAsia Indonésia considera com muito cuidado os relatórios meteorológicos da BMKG antes de cada voo”, disse Sunu.

Enquanto as famílias estão concentradas em recuperar os corpos de seus seres queridos, as consequências do acidente afetaram ageiros de outros voos da AirAsia.

Vários ageiros de um voo da companhia em Surabaia se negaram a embarcar em um segundo avião após o primeiro precisar abortar uma decolagem por problemas em um motor, neste domingo (4). A companhia aérea reembolsou o dinheiro das agens para os viajantes que decidiram não voar.

O voo QZ8501 decolou da cidade de Surabaia, na ilha de Java, em 28 de dezembro, e tinha previsto aterrissar duas horas depois em Cingapura, mas caiu no mar de Java após 40 minutos de voo.

O avião transportava 155 indonésios, três sul-coreanos, um britânico, um francês, um malaio e um cingapuriano , entre 155 ageiros e uma tripulação de sete membros.

No dia do acidente havia formações de “cumulus nimbus”, nuvens em forma de espiral com ar quente e úmido que geram fortes chuvas e raios.

O piloto chamou a torre de controle na Indonésia quando sobrevoava o mar de Java pelo sul de Bornéu e solicitou permissão para virar à esquerda e subir desde 32 mil pés de altitude (9,76 quilômetros) até os 38 mil (11,59 quilômetros) para fugir de uma tempestade.

A torre de controle aprovou a virada no momento, mas quando minutos depois chamou o piloto para aprovar uma subida para somente 34 mil pés, o avião tinha sumido.

O piloto, com mais de 23 mil horas de voo, seis mil delas com a AirAsia, não teve tempo de ativar o sinal de alarme.