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

Jamil Chade

REPORTAGEM

Texto que relata acontecimentos, baseado em fatos e dados observados ou verificados diretamente pelo jornalista ou obtidos pelo o a fontes jornalísticas reconhecidas e confiáveis.

Vacinas da OMS para o Brasil devem ficar para maio

Tedros Adhanom Ghebreyesus, diretor-geral da OMS (Organização Mundial da Saúde) - Fabrice COFFRINI / POOL / AFP
Tedros Adhanom Ghebreyesus, diretor-geral da OMS (Organização Mundial da Saúde) Imagem: Fabrice COFFRINI / POOL / AFP

Colunista do UOL

28/04/2021 05h36

Receba os novos posts desta coluna no seu e-mail

Email inválido

Resumo da notícia

  • Previsão de entrega ainda em abril fica comprometida e agência espera poder realizar envios no começo de maio
  • Brasil recebeu apenas 1,2 milhão de doses da entidade, das 42 milhões que comprou
  • Crise na índia abalou mercado mundial de vacinas e obrigou OMS a repensar cronogramas

A aliança mundial de vacinas criada pela OMS - a Covax - dificilmente conseguirá enviar doses para o Brasil ainda nos últimos dias de abril e a esperança dos organizadores do programa é de que a próxima remessa possa ocorrer no começo de maio. Não existe ainda uma data e a agência ainda aguarda uma resposta definitiva por parte da AstraZeneca.

Desde março, senadores brasileiros, governadores e mesmo o governo vêm pedindo para que a OMS antecipe vacinas que já tinham sido contratadas pelo país, por meio da Covax. Em reuniões, a agência chegou a dizer que tentaria estabelecer um cronograma pelo qual 4 milhões de doses seriam enviadas em abril e outras 4 milhões em maio. Além desse volume, o Brasil já recebeu 1,2 milhão em março.

O governo de Jair Bolsonaro, que inicialmente se recusou a fazer parte da aliança de vacinas, encomendou 42 milhões de doses da Covax. Inicialmente, a OMS chegou a falar de uma entrega que poderia variar entre 10 milhões e 14 milhões de doses até junho e o restante no segundo semestre.

Apesar das dificuldades, negociadores brasileiros ouviram promessas por parte da agência internacional de que fariam "o impossível" para ajudar o Brasil diante do elevado número de mortes no país.

Mas a escassez global e a crise indiana, uma vez mais, dificultam a implementação da iniciativa. Com 2,3 milhões de novos casos de contaminação, a Índia ará semanas sem poder exportar vacinas.

A OMS dependia em grande parte das doses do Serum Institute para abastecer principalmente os países mais pobres do mundo.

A previsão inicial da OMS era de que poderia entregar 240 milhões de doses até o final de maio aos países em desenvolvimento. O plano já havia sido revisto para apenas 145 milhões e, ainda assim, o montante é agora alvo de dúvidas.

Por enquanto, a agência conseguiu despachar 49 milhões de doses e, com a Índia tendo vacinado apenas 2% de sua população com duas doses, a previsão é de que o "black-out" de vacinas do país dure pelo menos mais um ou dois meses.

A vacina da Covax destinada ao Brasil vem de uma fábrica na Coreia do Sul, que também produz doses da AstraZeneca. Mas com o fim do abastecimento da Índia para dezenas de países, parte da produção de outros locais poderá ter de ser repartida para atender principalmente os locais que não contam com acordos bilaterais com as empresas multinacionais.

A previsão é de que não haverá uma nova entrega de vacinas ao Brasil nesta semana e que a próxima leva ocorra apenas na primeira semana de maio.

A crise indiana, porém, também tem sido uma oportunidade usada pela China para tentar ocupar espaço. Nesta terça-feira, numa reunião entre países asiáticos, o chanceler de Pequim, Wang Yi, declarou que estava disposto a suprir o mercado regional com vacinas.

No encontro, países como Paquistão e Bangladesh se queixaram da interrupção de exportações dos indianos, colocando em questão a aposta do primeiro-ministro Narendra Modi de usar a crise para ampliar a influência indiana na Ásia e se apresentar como uma alternativa real ao poder chinês.