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

Itamaraty reitera a chanceler russo pedido de cessar-fogo na Ucrânia

Do UOL, em Brasília e São Paulo

17/04/2023 13h36Atualizada em 17/04/2023 18h11

O ministro das Relações Exteriores, Mauro Vieira, se encontrou hoje com o chanceler russo, Serguei Lavrov, e afirmou ter insistido na posição brasileira de paz e cessar-fogo imediato na Ucrânia.

O que aconteceu

Mauro Vieira disse que renovou os pedidos de "solução pacífica" para o conflito, recordando as manifestações do presidente Lula, que defende a mediação de um grupo de países amigos para realizar as negociações entre Rússia e Ucrânia.

O russo também se reunirá às 15h com o presidente Lula em Brasília.

Lula tem defendido que um grupo de países que não estão envolvidos no conflito com a Ucrânia, incluindo Brasil e China, mediem as negociações para o fim do conflito. Ele também defendeu recentemente que os EUA parem de "incentivar a guerra".

O brasileiro disse esperar "boa vontade" dos presidentes da Rússia e da Ucrânia, Vladimir Putin e Volodymyr Zelensky, para manter a paz no mundo.

Ontem, Lula voltou a responsabilizar também a Ucrânia pelo conflito com a Rússia: "O presidente Putin não toma a iniciativa de parar. Zelensky não toma a iniciativa de parar. A Europa e os Estados Unidos continuam contribuindo para a continuação [continuidade] desta guerra. Temos que sentar à mesa e dizer para eles: 'Basta'", disse.

Em sua declaração, o diplomata russo disse que as negociações com o governo brasileiro foram "cordiais" e que a Rússia entende a posição do Brasil em relação à guerra.

Lavrov disse estar levando em consideração os apelos brasileiros, mas pontuou: "Precisamos resolver de forma duradoura e não imediata". "Estamos falando sobre várias questões muito importantes, as visões de Brasil e Rússia são únicas em relação aos acontecimentos na Rússia", disse Lavrov.

"Também estamos atingindo uma ordem mundial mais justa, mais correta e baseando no direito. Nisso nós temos uma visão de mundo multipolar, onde estamos levando em consideração vários países, não só poucos", seguiu.

Mauro Vieira também defendeu a posição brasileira de não aplicar sanções unilaterais contra o país. "Tais medidas, além de não contarem com a aprovação do Conselho de Segurança das Nações Unidas, teriam impacto negativo nas economias de todo mundo, em especial países em desenvolvimento", disse. Os outros temas da conversa entre os dois diplomatas foram parcerias no setor de energia, agricultura e tecnologia.

Reiterei nossa posição em favor de um cessar-fogo imediato, de respeito ao direito humanitário, de uma solução negociada para uma paz duradoura."
Mauro Vieira, ministro das Relações Exteriores

Nós estamos agradecidos à parte brasileira, entendendo a parte nessa situação, agradecendo a contribuição de solução desse conflito e problema, e estamos levando em consideração. Precisamos resolver de forma duradoura e não imediata."
Serguei Lavrov, ministro russo