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

Tragédia em Brumadinho

Vale diz querer estabelecer 'novo pacto' com a sociedade brasileira

Adriano Machado/Reuters
Imagem: Adriano Machado/Reuters

Mariana Durão e Vinicius Neder

No Rio

24/09/2019 14h22

A mineradora Vale quer estabelecer um novo pacto com a sociedade brasileira após o acidente com a barragem de rejeitos minerais em Brumadinho (MG), em janeiro último, afirmou nesta terça-feira, 24, o diretor financeiro e de relações com investidores da companhia, Luciano Siani. O executivo reconheceu que confiança é algo que leva tempo para ser reconstruída e disse que a Vale está elevando os fatores de segurança nas barragens.

"Queremos estabelecer um novo pacto com a sociedade brasileira", afirmou Siani, em discurso no FT Commodities Americas Summit, promovido pelo jornal Financial Times, no Rio.

Em sua fala, o diretor da Vale respondeu perguntas formuladas por um editor do jornal, que começou questionando sobre o acidente em Brumadinho.

Segundo Siani, a mineradora está fazendo "tudo o que pode" para mitigar e compensar os danos em Brumadinho. O diretor citou avanços de engenharia, no monitoramento do risco e na segurança das barragens, na governança, e na gestão de riscos.

Com isso, o objetivo da Vale é "construir um legado" para o Brasil e o setor minerador, construindo uma mineração "diferente", "muito melhor" do que a atual, disse Siani, que classificou o rompimento da barragem em Brumadinho como um ponto de virada, como foi o vazamento do navio Exxon Valdez em 1989, que levou a mudanças nas práticas da petroleira americana.

Questionado especificamente sobre o que a Vale tinha aprendido com o rompimento de uma barragem em Mariana (MG), numa mina da Samarco, da qual a companhia era sócia, Siani respondeu que houve evolução nas práticas de segurança da companhia, mas que, agora, será preciso fazer uma "revolução", em vez de apenas uma evolução.

"Confiança leva tempo para reconstruir", afirmou Siani, demonstrando confiança de que a Vale conseguirá retomar a confiança do público em suas operações.

Tragédia em Brumadinho