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

Política e cautela encaminham escalação de primeira árbitra na Copa

Stéphanie Frappart foi a primeira mulher a apitar uma partida na Liga dos Campeões - JEAN-FRANCOIS MONIER/AFP
Stéphanie Frappart foi a primeira mulher a apitar uma partida na Liga dos Campeões Imagem: JEAN-FRANCOIS MONIER/AFP

Do UOL, em Doha

30/11/2022 04h00

Classificação e Jogos

A Copa do Qatar-2022 terá uma arbitragem histórica no jogo entre Alemanha e Costa Rica: a sa Stéphanie Frappart será a primeira mulher a comandar um jogo de Copa do Mundo. Houve uma mistura de política e cautela para preparar o caminho para este fato inédito justamente em um país onde os direitos femininos são s.

Além de Frappart, a brasileira Neuza Back e a mexicana Karen Diaz Medina formarão, como assistentes, o trio para a partida decisiva da fase de grupos.

Como contexto, o presidente da Fifa, Gianni Infantino, tem um discurso de inclusão e aumento de diversidade no futebol. Tanto que sua secretária-geral é a Fatma Samoura, a primeira mulher na função, ainda que ela exerça papel longe do protagonista na istração.

O dirigente esteve ainda mais pressionado por defender direitos humanos por causa do histórico do Qatar, que reprime a comunidade LGBTQIA+ e reduz direito das mulheres. Em um discurso longo, em sua entrevista coletiva, ele disse que se sentia gay e depois, mulher.

Ao mesmo tempo, a escalação dos árbitros está nas mãos do comitê de arbitragem da Fifa, chefiado pelo italiano Pierluigi Colina, com seu braço direito Massimo Busacca. Ambos são conservadores nas escalas no sentido de procurar árbitros mais experientes. Ou seja, usam juízes já bastante testados em competições grandes.

Stéphane Frappart já apitou em jogos de competições como a Champions League, eliminatórias da Copa e Liga das Nações. Só que foram poucas partidas nestes campeonatos: a Uefa escalou em jogos iniciais do torneio de clubes, entre eles um do Real Madrid. Além disso, dirigiu a Supercopa. Também comandou partidas de times grandes da Liga das Nações na Europa, como Alemanha e Espanha.

Na França, tem apitado jogos da Ligue 1, primeira divisão, além de partidas decisivas no âmbito nacional.

Mas, se comparamos com o currículo dos árbitros brasileiros, Wilton Pereira Sampaio e Rapahel Claus têm um maior quantidade de jogos de Libertadores, eliminatórias de Copa e partidas do campeonato nacional.

Deste balanço entre política e cautela, a arbitragem da Fifa optou por usar Frappart na terceira rodada, sendo uma das últimas escaladas. Mas isso lhe deu tempo para sentir a Copa do Mundo atuando como quarta árbitra em outros confrontos. E agora tem a chance de marcar seu nome na história do futebol.

O UOL News Copa fala sobre a definição do mata-mata no Mundial, a aposta de Tite nos reservas, o tratamento dos brasileiros lesionados e mais notícias da Copa do Mundo. Confira: