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

Rio planeja Réveillon, mas tem dívida de R$ 4 milhões de festa de Crivella

Festa da virada de 2019 para 2020, em Copacabana - Alex Ferro/Riotur
Festa da virada de 2019 para 2020, em Copacabana Imagem: Alex Ferro/Riotur

Ruben Berta

Do UOL, no Rio

16/08/2021 04h00

Enquanto planeja um Réveillon para 3 milhões de pessoas na cidade do Rio de Janeiro, a gestão de Eduardo Paes (PSD) carrega uma dívida milionária da última festa, da virada de 2019 para 2020, adquirida pelo ex-prefeito Marcelo Crivella (Republicanos).

A Riotur (Empresa de Turismo do Rio) deve R$ 4,1 milhões à SR Promoções Culturais, mais conhecida como SRCOM, responsável pelo Réveillon na praia de Copacabana há 13 anos.

A Riotur informou ao UOL que não há negociação em andamento para a quitação do valor. Mas afirmou que, "este ano, é outra festa, outro Réveillon, outra gestão".

Em julho do ano ado, sob a gestão Crivella, a Riotur assinou um documento reconhecendo dever R$ 8,1 milhões à empresa, mas metade desse valor ainda resta a ser pago, segundo levantamento feito pelo gabinete da vereadora Teresa Bergher (Cidadania), a pedido do UOL.

A empresa diz que "é inegável que sofreu impactos não só pelo porte da dívida, como também, e especialmente, pelo momento que atravessa o segmento de entretenimento". Ainda assim, a empresa participará da concorrência aberta pela prefeitura no início deste mês.

Prefeitura pode bancar evento

No ano ado, mesmo com altos índices de casos de covid-19 e sem vacina, Crivella tentou fazer uma festa de Réveillon. A SRCOM chegou a elaborar uma espécie de evento virtual, que seria transmitido via redes sociais.

Faltando duas semanas para a virada, o ex-prefeito decidiu cancelar tudo "em favor da segurança".

Agora, apesar dos problemas na entrega de vacinas e do avanço da variante delta do coronavírus, a Riotur decidiu se antecipar na programação da festa. A depender do cenário da pandemia, o prefeito Eduardo Paes (PSD) diz contudo que a festa pode ser cancelada.

Os interessados terão até 6 de setembro para enviar suas propostas. Haverá duas seleções: uma para patrocinadores e outra para a organização do evento.

Caso não surjam interessados em bancar o Réveillon, a Riotur —presidida por Daniela Maia, irmã do deputado Rodrigo Maia (sem partido)— disse que não está descartada a hipótese de o evento ser custeado com recursos públicos.

Estão previstas festas em dez bairros, mas o grande foco é a praia de Copacabana, com estimativa de público de 2 milhões de pessoas.

Para a escolha, é exigido que o coordenador do projeto tenha em seu currículo "vasta experiência em eventos de grande porte, principalmente em espetáculos ao ar livre, com público superior a 200 mil pessoas".

Com isso, é grande a chance de que mais uma vez a SRCOM seja a responsável pela festa. Há 13 anos à frente do evento, a empresa tem como seu principal nome o cenógrafo Abel Gomes.

A Riotur negou que a exigência possa limitar a concorrência para a festa de Copacabana. "Garantir que haja currículo demonstra o cuidado na realização de uma festa do porte do Réveillon de Copacabana. Vale dizer que nos outros palcos não há a mesma exigência."

Atração de renome internacional em Copacabana

Desde 2009, a Prefeitura do Rio desembolsou R$ 29,6 milhões para a SRCOM. Paes gastou R$ 6,1 milhões com a empresa em 2009, 2010 e 2012. Já sob Crivella, foram R$ 23,5 milhões em 2018, 2019 e 2020.

Nos anos em que não houve gastos públicos, o município conseguiu patrocínio para festa. Além de dever R$ 4,1 milhões relativos ao último Réveillon de Copacabana, a prefeitura ainda tem que pagar à SRCOM R$ 826 mil por apoio artístico no Carnaval do ano ado.

Em Copacabana, a empresa que vencer a concorrência ficará responsável por três palcos, estrutura de captação de imagens para os telões, contratação de artistas —obrigatoriamente uma atração de renome internacional—, além da esquematização da queima de fogos.

Está previsto que a festa comece às 17h de 31 de dezembro e só termine às 4h de 1º de janeiro.

Festa terá área VIP

Uma curiosidade é que uma das obrigações da vencedora será a montagem de uma área VIP, com capacidade para 500 convidados da prefeitura e 300 dos patrocinadores.

"O serviço de catering deverá conter canapés frios e quentes, mini-porções, prato quente para jantar, bebidas alcoólicas e não alcoólicas. O cardápio deverá ser previamente aprovado pela Riotur. Incluir área reservada para convidados em frente ao palco", diz o caderno de encargos, que estabelece as regras para o evento.

Tudo isso, no entanto, pode não se transformar em realidade se a vacinação não evoluir como esperado e os casos de covid-19 se mantiverem num patamar alto.

"A festa está condicionada às determinações estabelecidas pelos órgãos competentes, no combate à covid, ante a responsabilidade social, inclusive com a impossibilidade de realização do evento", diz o próprio caderno de encargos.