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

Flamengo

Fla se reúne com Olympique, e retorno de Gerson fica mais longe no momento

Olympique não tem aceito proposta do Flamengo e reluta em baixar valores por Gerson - Bruna Prado/UOL
Olympique não tem aceito proposta do Flamengo e reluta em baixar valores por Gerson Imagem: Bruna Prado/UOL

Do UOL, no Rio de Janeiro (RJ)

23/11/2022 19h54

Apesar da expectativa da torcida, o retorno de Gerson ao Flamengo está mais longe na atual avaliação da diretoria. Marcos Braz, vice-presidente de Futebol, esteve reunido com representantes do Olympique de Marseille, clube francês que detém os direitos do jogador, para mais uma etapa nas negociações, mas valores são obstáculos para um acordo.

O Rubro-Negro fez um pedido para que pudessem comprar entre 50% e 60% dos direitos, mas os ses só aceitam vender os 80% que têm — os outros 20% são justamente do Fla. O Olympique colocou à mesa ainda um pedido de algo em torno de 20 milhões de euros, cerca de R$ 112 milhões, na cotação atual. A informação foi publicada, primeiramente, pelo "ge" e confirmada pelo UOL Esporte.

Gerson chegou ao Rio de Janeiro no último dia 12 e, na ocasião, Marcão, pai e empresário do volante, indicava que não seria uma tratativa fácil, mas demonstrava otimismo em final feliz.

"As coisas não são fáceis para fazer uma operação como essa, um jogador que tem contrato. Não é fácil, mas acredito que vamos à frente porque, com todo respeito ao Olympique de Marseille, hoje a vontade do Gerson é ser feliz. Sendo feliz como? Atuando no clube que ele ama (...) Não é uma operação fácil, mas acho que vamos conseguir. Temos contrato, ainda três anos, com o clube francês, mas vai se resolver", disse, ao canal Paparazzo Rubro-Negro.

No dia anterior, Bruno Spindel, diretor executivo de Futebol do clube da Gávea, havia adotado um tom cauteloso ao falar sobre a negociação.

"É um desejo do Flamengo, é um desejo acho que do atleta também, e tem uma conversa no momento com o Olympique, mas é uma negociação extremamente difícil, muito difícil mesmo. Foi uma transferência de um valor elevadíssimo. É um atleta de uma realidade importante no mercado europeu e, obviamente, é uma negociação muito, muito difícil, mesmo", apontou, ao sair do arbitral da Ferj que definiu as diretrizes do Carioca de 2023.

No último dia 15, em entrevista à Espn, o presidente do Flamengo, Rodolfo Landim, também foi reticente quanto a um acerto:

"Nessas primeiras conversas existe uma distância muito grande do limite que a gente estaria disposto a chegar e o que o Olympique está exigindo. Óbvio que nos interessa, excelente jogador, é rubro-negro, tem vontade de ficar no Flamengo. Não tenho dúvida que pelo lado do jogador as coisas caminhariam muito rápida, mas o problema é que tem um terceiro, que, até o momento, está tornando essa chegada se não impossível, mas muito, muito difícil", concluiu.

Em contato breve por Whatsapp hoje (23), um dirigente rubro-negro foi sucinto ao UOL Esporte em relação à dificuldade do negócio:

"É o que falo há dias...".

Flamengo