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

Esse conteúdo é antigo

MP investigará vereador gaúcho que deu declarações xenófobas contra baianos

Vereador Sandro Fantinel - Divulgação / Bianca Prezzi
Vereador Sandro Fantinel Imagem: Divulgação / Bianca Prezzi

Colaboração para o UOL, em Brasília

01/03/2023 16h07Atualizada em 01/03/2023 16h25

O Ministério Público do Rio Grande do Sul abrirá investigação civil e criminal contra o vereador Sandro Fantinel, de Caxias do Sul (RS).

O que aconteceu

  • Ele fez declarações xenófobas contra baianos. Ao discursar na tribuna da Câmara de Caxias do Sul, ele disse que empresas e produtores rurais deveriam contratar funcionários "limpos" para a colheita da uva, e não deveriam buscar "aquela gente lá de cima".
  • O político referia-se a trabalhadores resgatados em situação de escravidão na serra gaúcho. Eles foram resgatados na quarta-feira (22) em situação análoga à escravidão.
  • Ainda em sua fala, o parlamentar orientou a contratação de argentinos. "São limpos, trabalhadores, corretos, cumprem o horário, mantém a casa limpa, e no dia de embora ainda agradecem o patrão pelo serviço prestado e pelo dinheiro que receberam", disse.
  • A Polícia Civil de Caxias do Sul (RS) também abriu um inquérito para apurar a conduta do vereador
  • Segundo o MPT (Ministério Público do Trabalho), foram 192 homens resgatados com idades entre 18 e 57 anos.

Brigada Militar investiga policiais

A informação foi confirmada pelo governador Eduardo Leite (PSDB-RS). "Vamos tomar todas as ações para dar as devidas responsabilizações e garantir a partir de orientação a produtores de diversos setores que situações como essa não se repitam", disse.

Hoje, Leite afirmou que acompanha as apurações do caso. "Ele [Sandro Fantinel] arcará com as consequências por uma fala absurda, abjeta, nojenta e que terá as devidas consequências no âmbito judicial", disse, em referência ao vereador.

Os trabalhadores resgatados trabalhavam para a empresa Oliveira & Santana, que presta serviços terceirizados para vinícolas de Bento Gonçalves, como Aurora, Santon e Garibaldi. As três dizem que não tinham conhecimento da situação relatada pelos trabalhadores e que repudiam violações de direitos humanos.

Vereador minimiza situação

Fantinel disse que subia à tribuna para prestar solidariedade aos empresários e produtores rurais. Segundo o vereador, sua verdadeira intenção, ao subir na tribuna, era alertar para possíveis fraudes, quando trabalhadores inventariam más condições de trabalho.

"Eu toquei no nome dos baianos porque o processo que está correndo em Bento Gonçalves foi com os baianos. Se tivesse sido com os mineiros, eu teria falado sobre mineiros. Não tenho nada contra os baianos, pelo contrário. Tive nas praias de lá, é maravilhoso", disse ele.

O partido Patriota expulsou hoje Fantinel. Mesmo expulso do partido, o vereador pode seguir no cargo. Esse foi o entendimento do TSE (Tribunal Superior Eleitoral) ao julgar casos semelhantes.