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

Marcel Rizzo

Covid ameaça, e Fifa corre para evitar WO no Mundial de Clubes

Gianni Infantino, presidente da Fifa, e que adiou o Mundial de Clubes para fevereiro - VCG/VCG via Getty Images
Gianni Infantino, presidente da Fifa, e que adiou o Mundial de Clubes para fevereiro Imagem: VCG/VCG via Getty Images

Colunista do UOL

19/11/2020 04h00

A Fifa avalia aumentar o limite de inscritos para o Mundial de Clubes que será disputado de 1º a 11 de fevereiro de 2021, no Qatar. O evento é referente a 2020 depois de ser adiado de dezembro por causa da pandemia. Sete clubes participarão, incluindo o campeão da Libertadores que será definido em 30 de janeiro.

O receio de que jogadores contaminados com a covid-19 possam desfalcar os times dias antes ou mesmo durante o torneio faz com que a entidade analise a possibilidade de mudar a regra do torneio, que desde a primeira edição do atual formato (2005) permite a inscrição de 23 jogadores, três deles goleiros. Há receio de que surtos possam causar até WOs (perda por não comparecimento ou não ter o mínimo de sete atletas disponíveis).

Há duas alternativas sendo estudadas: limite com 35 ou 40 atletas. Há questão de logística envolvida, já que seria preciso diminuir o número de oficiais, que incluem membros da comissão técnica, diretores e convidados com direito a credencial, hoje limitado a 32. A Fifa quer aumentar o número de atletas, mas encolher a de oficiais para evitar delegações enormes que não fariam sentido já que a intenção é evitar riscos de contaminação.

O regulamento já prevê que uma lista provisória seja enviada à Fifa semanas antes da competição com 35 jogadores. É desse documento que saem os 23 que de fato são inscritos, por isso há quem defenda que a entidade libere esses 35 atletas para participarem dos jogos e que seja feita uma única lista.

Outra possibilidade seria manter 23 inscritos, mas deixar 12 ou até 17 "reservas", que viajassem com a delegação e substituíssem qualquer jogador que precisasse ser afastado por causa de suspeita ou confirmação de covid-19. Uma definição deve ocorrer nas próximas semanas.

O campeão da Libertadores vai ser decidido em 30 de janeiro, na final única do Maracanã, e já viajará a Doha para disputar a competição da Fifa — a estreia do campeão sul-americano será dia 7 de fevereiro, contra time a ser definido.

Caso seja um brasileiro, a CBF deverá ter problemas porque esse time perderá ao menos duas rodadas da reta final da Série A, a 33ª e a 34ª e, se chegar à final do Mundial em 11 de fevereiro, provavelmente também a 35ª que será disputada no dia 13. Seis times brasileiros estão nas oitavas de final da Libertadores com chance de ir ao Qatar: Flamengo, Palmeiras, Inter, Grêmio, Santos e Athletico.

Mas não é só isso: a final da Copa do Brasil está programada para os dias 3 e 10 de fevereiro, ou seja, bem no meio do Mundial. Caso o campeão da Libertadores seja brasileiro e também esteja na decisão do torneio mata-mata da CBF, a confederação brasileira terá que modificar as datas de sua competição.

As datas, como mostrou o blog, foram acertadas depois que a Fifa consultou as confederações sobre quando cada torneio continental acabará. O último será a Libertadores. Por enquanto somente dois dos sete times participantes já estão classificados para o torneio, que tem o mesmo regulamento desde 2005: o Bayern de Munique, campeão europeu, e o Al-Duhail, vencedor do Campeonato Qatariano e que vai representar o país-sede.

A Concacaf (Confederação das Américas do Norte, Central e Caribe) avisou que terminará seu torneio, que foi paralisado em março nas quartas de final, em uma "bolha", como fizeram a Uefa na Liga dos Campeões e a NBA — uma sede fixa. O vencedor sairá em dezembro, igual a Ásia (que também definirá sua competição em locais fixos).

A África conhecerá seu campeão continental em 27 de novembro, com a final entre Zamalek (Egito) e Al-Ahly (também do Egito). Há dúvida sobre qual será o representante da Oceania, já que a confederação local cancelou definitivamente sua Liga dos Campeões, que ainda estava na fase de quartas de final. Haverá, portanto, uma indicação com critério a ser definido.

A edição 2020 seria a última no formato atual, com sete participantes, dando espaço para o super Mundial projetado pela Fifa, com 24 clubes, que seria em 2021 na China, mas já adiado por causa da pandemia do coronavírus. Este torneio não tem qualquer previsão de data, avisou recentemente o presidente da Fifa, Gianni Infantino.