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

Arrascaeta abre o jogo sobre pubalgia e não descarta cirurgia

Arrascaeta durante treino do Flamengo - Reprodução/Marcelo Cortes/Flamengo
Arrascaeta durante treino do Flamengo Imagem: Reprodução/Marcelo Cortes/Flamengo

Colaboração para o UOL, em São Paulo

25/10/2022 12h21

Classificação e Jogos

Destaque do Flamengo na campanha do título da Copa do Brasil - torneio do qual foi eleito o melhor jogador -, Arrascaeta itiu que "está sofrendo um pouco" nos últimos jogos por conta de uma pubalgia.

O meia uruguaio não descarta a possibilidade de ter que ar por uma cirurgia para cuidar do problema de maneira mais efetiva. No entanto, o meio-campista não pretende ficar longe dos gramados antes dos compromissos de 2022 - final da Copa Libertadores da América, pelo Flamengo, e Copa do Mundo, pela seleção uruguaia.

"[A questão da pubalgia] é complicada. A gente sempre quer dar o melhor. Às vezes atrapalha porque eu estou sempre em campo, então há um desgaste físico. Mas tem muito tempo que eu venho lidando com isso. Estou sofrendo um pouco, mas estamos jogando jogos importantes, semifinal de Libertadores, final da Copa do Brasil e eu não queria ficar de fora", disse o meio-campista em entrevista à "ESPN".

"Estamos tentando levar da melhor forma até o fim do ano, ver como vai ficar a situação. Obviamente, eu faço um trabalho forte de fisioterapia no clube e em casa. Tudo buscando o melhor para o time e para minha saúde. E também tenho o desejo de ir para a Copa com o Uruguai. Vamos ver o que vai ser melhor depois das férias. Se vou voltar 100%, sem problemas ou se vou ter que ar por alguma cirurgia", completou Arrascaeta.

Decisão e convocação

Um dos grandes desafios da temporada de Arrascaeta é no próximo sábado (29), quando o Flamengo encara o Athletico Paranaense, na decisão da Copa Libertadores da América. O jogo, que será em Guayaquil, no Equador, começa às 17h (de Brasília)

Na última sexta-feira (21), a seleção uruguaia divulgou a lista de pré-convocados para a Copa do Mundo. Arrascaeta está entre os 55 escolhidos pelo treinador Diego Alonso. O Uruguai está no Grupo H, ao lado de Portugal, Gana e Coreia do Sul.

Flamengo