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

Macron recusou teste de covid antes de ver Putin por temer roubo do DNA dele, dizem fontes

7.fev.2022 - O presidente francês Emmanuel Macron participa de uma coletiva de imprensa conjunta com o presidente russo Vladimir Putin em Moscou - Sergei Guneyev/Sputnik/AFP
7.fev.2022 - O presidente francês Emmanuel Macron participa de uma coletiva de imprensa conjunta com o presidente russo Vladimir Putin em Moscou Imagem: Sergei Guneyev/Sputnik/AFP

Michel Rose

Da Reuters

11/02/2022 09h59Atualizada em 11/02/2022 10h17

O presidente francês, Emmanuel Macron, recusou um pedido do Kremlin para que ele fizesse um teste russo para detecção de covid-19 quando chegou para uma reunião com o presidente russo, Vladimir Putin, nesta semana, para evitar que a Rússia se apossasse de seu DNA, disseram à Reuters duas fontes na comitiva de Macron.

Por isso, o chefe de Estado francês foi mantido à distância do líder russo durante longas conversas sobre a crise na Ucrânia em Moscou.

Eles foram fotografados em extremidades opostas de uma mesa tão longa que provocou comentários satíricos nas mídias sociais e especulações, inclusive de diplomatas, de que Putin poderia estar usando isso para enviar uma mensagem.

Mas duas fontes que têm conhecimento do protocolo de saúde do presidente francês disseram à Reuters que Macron teve que fazer uma escolha: aceitar um teste de PCR feito pelas autoridades russas e ter permissão para se aproximar de Putin ou recusar e ter que cumprir normas sociais de distanciamento mais rigorosas.

"Sabíamos muito bem que isso significava nenhum aperto de mão e aquela mesa longa. Mas não podíamos aceitar que eles colocassem as mãos no DNA do presidente", disse uma das fontes à Reuters, referindo-se a preocupações de segurança se o líder francês fosse testado por médicos russos.

O porta-voz do Kremlin, Dmitry Peskov, confirmou que Macron recusou o teste e disse que a Rússia não tinha problemas com isso, mas significava que era necessária uma distância de 6 metros de Putin para proteger a saúde do líder do Kremlin.

"Não há política nisso, não interfere nas negociações de forma alguma", afirmou ele.

Uma segunda fonte na comitiva de Macron disse que ele fez um teste de PCR francês antes da partida e um teste de antígeno feito por seu próprio médico quando já estava na Rússia.

"Os russos nos disseram que Putin precisava ser mantido em uma bolha de saúde rigorosa", declarou a segunda fonte.

O gabinete de Macron disse que o protocolo de saúde russo "não nos parece aceitável ou compatível com nossas restrições diárias", referindo-se ao tempo que seria necessário para aguardar os resultados.

(Reportagem adicional de Dmitry Antonov)