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

Esse conteúdo é antigo

Doria confirma liberação de insumos para produção da CoronaVac

Doria anuncia que 3.000 litros de IFA devem chegar ao Brasil até 20 de abril - Sergio Andrade/Governo do Estado de São Paulo
Doria anuncia que 3.000 litros de IFA devem chegar ao Brasil até 20 de abril Imagem: Sergio Andrade/Governo do Estado de São Paulo

Do UOL, em São Paulo

08/04/2021 13h10Atualizada em 08/04/2021 15h26

O governador de São Paulo, João Doria (PSDB), disse hoje que o estado receberá 3.000 litros de insumos para a produção da CoronaVac, vacina contra a covid-19 desenvolvida pelo Instituto Butantan em parceria com a farmacêutica Sinovac. O material recebido será utilizado para produzir cinco milhões de doses do imunizante e é a primeira remessa de IFA (Ingrediente Farmacêutico Ativo) prevista para o mês de abril.

O anúncio ocorre um dia após o Butantan anunciar a paralisação temporária do envase da CoronaVac por conta do atraso da chegada do IFA.

De acordo com a istração estadual, a matéria-prima, vinda da China, teve o embarque autorizado ontem e deve chegar ao Brasil até o dia 20 de abril, permitindo com que o Butantan complete a entrega de 46 milhões de doses para o PNI (Programa Nacional de Imunizações) até o final do mês.

"Tivemos a boa notícia ontem da autorização do embarque de mais três mil litros dos insumos do IFA para a produção da vacina do Butantan aqui nas instalações do instituto em São Paulo.", disse João Doria em vídeo na tarde de hoje.

Essa nova remessa dos insumos vai ser utilizada para o processamento de mais cinco milhões de doses da vacina. O Instituto informa que, no momento, mais de 3 milhões de doses de vacina estão no processo de inspeção de controle de qualidade, e serão entregues até o dia 19 de abril.

Dessa forma, com a chegada dos insumos, o Butantan poderá retomar o envase da CoronaVac, que ontem foi suspenso.

Mais 3 milhões na próxima semana

Além do embarque dos insumos que foi autorizado ontem, o Instituto Butantan espera que mais três mil litros do IFA sejam liberados na próxima semana.

"Essa autorização da China é importante, 3.000 litros, mas esperamos já para a próxima semana uma nova autorização de três mil litros adicionais. Com isso vamos cumprir integralmente nossos compromissos com o povo brasileiro no sentido de fornecimento dessa vacina.", disse Dimas Covas.

Com esses 6.000 litros que devem ser recebidos até a próxima semana, serão produzidos dez milhões de doses da vacina do Butantan em parceria com a Sinovac.

O cronograma de entrega da CoronaVac para o Ministério da Saúde para distribuição no Programa Nacional de Imunização será mantido, e não haverá atraso dos compromissos firmados

Desde janeiro, o Instituto Butantan já disponibilizou 38,2 milhões de doses ao PNI. A CoronaVac corresponde a cerca de 80% das doses da vacina contra a covid-19 aplicadas no Brasil até o momento.