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

Leo & Bruno? Baby & Jennifer? Marcos & Belutti explicam nomes e apelidos

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

05/06/2022 04h00

O "Sai da Caixa" está de volta ao Canal UOL. A terceira temporada conta com uma grande novidade: Luiza Possi no comando — fora os 10 convidados inéditos. A cantora vai fazer todos eles saírem da caixa com canções diferentes de seus repertórios habituais, além de comandar conversas divertidas e cheias de revelações. E, para começar, dois convidados de peso para a estreia: Marcos & Belutti. Ou seria Leonardo & Bruno? Calma que a gente explica.

Sai da Caixa - Reinaldo Canato / UOL - Reinaldo Canato / UOL
Sai da Caixa: Luiza Possi recebe Marcos & Belutti na terceira temporada do programa
Imagem: Reinaldo Canato / UOL

Há 13 anos atrás, quando os dois amigos se juntaram para começar a dupla sertaneja que acordaria, alguns anos depois, muita gente no domingo de manhã, um desafio já existia: definir o nome artístico.

Foi quando Leonardo —- instantes antes de virar Marcos, contou com a ajudinha do Bruno, da dupla com Marrone para apresentação de um empresário. Juntos, e com a participação de Edson, da dupla Hudson, eles se batizaram novamente.

"O Edson falou 'Marco e Belutti' e soou legal, porém era muito italiano, não ia dar certo. Aí a gente falou 'Marcos e Belutti' é legal", relembrou o ex-Leonardo.

Léo já tinha o Victor & Leo. Já tinha o cantor Leonardo, eu ia ter que me explicar sempre. Contou, o agora Marcos

Belutti também foi rebatizado — de forma mais leve, mas foi. "Profissionalmente eu era Bruno Belutti, aí tiraram o meu Bruno", brincou o cantor relembrando um alerta do amigo: "Bruno já tem eu", disse o parceiro de Marrone.

Um cara da zoeira

Com novos nomes definidos, não pensem que acabou. Na intimidade, o parceiro de Belutti não é chamado nem pelo nome de batismo, nem pelo nome artístico, mas sim por Jennifer.

O nome veio depois de que Belutti viu um meme na internet: "Eu sou um cara muito da zoeira, se você chamar ele de qualquer nome, ele responde", brincou revelando que também chama sua dupla de baby.

Quando eu era moleque na escola, me davam muitos apelidos. Eu aprendi que se eu ficasse puto com aquilo, só ia aumentar. Eu nunca liguei, podiam me chamar do que fosse. Marcos

Sai da Caixa: Luiza Possi estreia 3º temporada recebendo Marcos & Belutti

A primeira e a segunda temporada do 'Sai da Caixa' foram apresentadas por Tiago Abravanel. O ator, cantor e ex-BBB recebeu em sua casa convidados que soltaram a voz nos mais diversos ritmos, como Salgadinho, Gustavo Mioto, Pocah e Samuel Rosa.

Você pode assistir a toda a programação do Canal UOL aqui