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

São Paulo

São Paulo define prioridades na temporada após nova decisão com Palmeiras

Rogério Ceni, treinador do São Paulo, no clássico contra o Palmeiras, pelo Brasileirão - Marcello Zambrana/AGIF
Rogério Ceni, treinador do São Paulo, no clássico contra o Palmeiras, pelo Brasileirão Imagem: Marcello Zambrana/AGIF

Brunno Carvalho

Do UOL, em São Paulo

23/06/2022 04h00

O peso do clássico nas oitavas de final da Copa do Brasil faz o São Paulo planejar as prioridades para o restante da temporada. Num calendário apertado, a equipe de Rogério Ceni deve ter mudanças contra o Palmeiras, em relação ao time que foi derrotado pelo rival, na segunda-feira (20) pelo Brasileirão. O Choque-Rei desta noite ocorre novamente no Morumbi, às 20h (de Brasília).

E por que este questionamento? A dúvida é quantas mudanças Ceni fará. Na entrevista coletiva depois da derrota por 2 a 1, o treinador transferiu a responsabilidade para a diretoria. Ele já disse publicamente, mais de uma vez, que sua prioridade é o Campeonato Brasileiro.

"O grupo todo estava aqui hoje [segunda-feira]. Ninguém ficou fora dos jogadores de linha e não tem ninguém para voltar. Quer arriscar tudo na quinta [na Copa do Brasil]? Vamos arriscar. Podemos perder alguém por lesão? Podemos. Mas aí estaríamos cansados contra o Juventude [pelo Brasileirão]. Temos que fazer escolhas. O que a direção topar, vamos lá", disse Ceni.

A diretoria do São Paulo mantém o discurso de que não interfere nas escalações de Rogério Ceni. Ainda assim, uma eliminação precoce na Copa do Brasil impactaria diretamente no planejamento da gestão de Julio Casares para 2022.

No orçamento aprovado pelo conselho deliberativo, a diretoria colocou como meta chegar às quartas de final da Copa do Brasil. Uma queda precoce na competição representaria R$ 3,9 milhões a menos em premiações aos cofres do São Paulo, que vive grave crise financeira, com dívidas beirando os R$ 650 milhões.

Os recentes tropeços no Brasileirão também fizeram com que o São Paulo se distanciasse de sua meta no torneio. O orçamento do clube prevê a classificação direta para a Libertadores, o que significaria terminar entre os seis primeiros. Atualmente, a equipe do Morumbi está na nona colocação, com 18 pontos, mesmo número do Fluminense, sexto colocado.

Mesmo que decida poupar contra o Palmeiras, pensando no jogo diante do Juventude, domingo (26), Rogério Ceni terá que se virar com as mesmas opções que teve na segunda-feira. O São Paulo continua com nove desfalques, sendo oito no departamento médico - o lateral João Moreira está à serviço da seleção portuguesa sub-18.

"Se tiver que colocar tudo de novo, vamos colocar tudo de novo, pois é clássico, jogo grande. Já temos pendurados para o jogo com o Juventude. Vamos ver amanhã [terça-feira, dia da reapresentação", prosseguiu Ceni.

Um provável São Paulo para a partida é: Jandrei; Diego Costa, Arboleda, Léo; Rafinha, Igor Gomes, Gabriel Neves, Rodrigo Nestor, Welington; Luciano (Patrick) e Calleri.

São Paulo e Palmeiras se enfrentam às 20h (de Brasília) de hoje (23), pelo primeiro jogo das oitavas de final da Copa do Brasil. A volta está marcada para o dia 14 de julho, no Allianz Parque.

São Paulo