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

Thurar e Deja? Saiba por que os brothers estão invertendo nomes no 'BBB 22'

BBB 22: Paulo André já intitulou Jade de "Deja" e Arthur de "Thurar" - Reprodução/Globoplay
BBB 22: Paulo André já intitulou Jade de "Deja" e Arthur de "Thurar" Imagem: Reprodução/Globoplay

Larissa Couto

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

10/03/2022 04h00Atualizada em 10/03/2022 06h31

Paulo André virou assunto nas redes sociais após distribuir apelidos aos seus amigos no "BBB 22" (TV Globo). O atleta olímpico está chamando os confinados pelo nome ao contrário, como, por exemplo, Arthur que virou "Thurar".

Os fãs logo questionaram o motivo da brincadeira e muitos apontaram que seria uma gíria das ruas do Rio de Janeiro.

Outros repercutiram o fato de Arthur ter entrado na "modinha" e estar chamando Jade de "Deja".

Mas, afinal, como isso tudo começou?

De acordo com Tiago Medeiros, historiador formado pela UFBA, membro participante do curso de educação das relações étnico raciais pela mesma instituição, historicamente o dialeto foi desenvolvido nos anos 1960 para driblar a ditadura militar.

"As palavras invertidas fazem parte do 'Gualín do TTK', praticado no Palácio do Catete que abrigou governantes como Getúlio Vargas, por exemplo, localizado no bairro do Catete no Rio de Janeiro", informou em entrevista ao Splash.

Medeiros disse que ainda hoje o dialeto é mantido no bairro carioca e foi recentemente abordado em um minidocumentário do rapper Felipe Ret, lançado em agosto de 2021. Há também uma música de Ret e outros rappers intitulada "Tributo ao TTK" que também exemplifica essa prática.

O historiador explicou que o participante Paulo André já demonstrou ser adepto ao rap e, a partir daí, encontra-se a relação dele com o trabalho do rapper.

"As gírias de jargões são fortes elementos de identidade e geram sentimento de pertença e afeto. O 'P.A' sugere mais um elemento dialético de afeto. Quando ele se refere a algumas pessoas assim, podemos ver o sentimento de pertencimento dele para com essas pessoas", explicou o historiador.

"Não temos como afirmar que o Paulo André tenha total convicção das origens dessa forma de se referir, mas ele sendo um irador do rap certamente se banhou nas referências do TTK para se comunicar com os seus aliados no programa", finalizou.

Confira abaixo o mini documentário:

Após saída de Jade Picon do 'BBB 22', quem é o favorito para vencer o jogo?

Enquete encerrada

Total de 59398 votos
44,37%
Reprodução/Playplus