;(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();
})();
Deputado estadual Douglas Garcia, de SP, é investigado por divulgação de dossiê
Em processo, Garcia diz que Eduardo Bolsonaro remeteu lista à Embaixada dos EUA
Juiz afirma que Garcia não apresenta provas de que pessoas listadas representem ameaça
No dossiê, há nomes de jornalistas e professores, com indicação de escolas e telefones
O dossiê que a Justiça diz ter sido elaborado pelo deputado estadual Douglas Garcia (PTB-SP) contra antifascistas cita dois jornalistas, seis radialistas e pelo menos 70 professores.
A coluna teve o à listagem, anexada a um dos processos movidos contra o deputado Garcia. O texto, com cerca de mil nomes, cita um repórter de uma rádio de Araraquara (SP), e um jornalista que trabalha no sindicato dos metalúrgicos de São José dos Campos (SP).
A relação traz ainda nomes de seis radialistas, um dos quais da rádio Eldorado FM, empresa do Grupo Estado, que edita o jornal "O Estado de S. Paulo". O documento é diferente do relatório do Ministério da Justiça, revelado pelo UOL, que listou 579 servidores e professores a favor do antifascismo.
O dossiê traz ainda informações pessoais de pelo menos 70 professores, identificando, inclusive, o endereço das escolas em que eles podem ser encontrados e os seus telefones.
Garcia foi condenado a indenizar uma mulher que teve seu nome e dados particulares inseridos neste dossiê, entre pessoas às quais o deputado chama de "terroristas".
O deputado estadual Douglas Garcia (PTB-SP)
Imagem: Divulgação/AlespDeputado não apresenta provas, afirma juiz
Na sua decisão, o juiz Guilherme Ferreira da Cruz, da 45ª Vara Cível Central da Capital, disse que Garcia não apresentou prova alguma de que as pessoas relacionadas na lista são violentas, criminosas ou terroristas. "A elaboração de dossiês não se relaciona com o exercício normal e regular do mandato legislativo, cujo titular deve se mostrar à sociedade prudente e equilibrado", afirmou o juiz, que o condenou a pagar uma indenização de R$ 20 mil.
O fascismo foi um sistema político totalitário, ultranacionalista, caracterizado pela concentração do poder nas mãos de um único líder, pelo uso da violência e pelo controle dos meios de comunicação de massa. O regime fascista mais conhecido foi o de Benito Mussolini, na Itália, derrubado na Segunda Guerra Mundial.
Ao incluir o nome de um agente de turismo na listagem de pessoas contrárias ao fascismo, o dossiê apresenta como "prova" contra o rapaz um livro, a biografia do guerrilheiro comunista Carlos Marighella, escrita pelo jornalista Mário Magalhães.
Uma outra pessoa é apresentada no dossiê segurando uma placa em homenagem à vereadora Marielle Franco, assassinada no Rio de Janeiro em 2018. Camisetas com a fotografia do ex-presidente Lula e posts com a suástica cortada por um X vermelho, demonstrando rejeição ao nazismo, também são exibidos ao lado do nome de citados no dossiê.
Garcia mencionou dossiê em suas redes sociais
Garcia chegou a publicar um vídeo em suas redes sociais falando sobre a lista. "Vocês acharam que eu estava brincando, né? Tá aqui, ó: um dossiê. Mais ou menos 1.000 pessoas. Foto, nome e sobrenome dos autodenominados antifas".
No vídeo, ele mostra imagens borradas dos citados, mas é possível comparar fotografias com as do dossiê anexado ao processo judicial.
Procurado pela coluna, Douglas Garcia e Eduardo Bolsonaro não responderam aos questionamentos enviados para os seus emails.
À Justiça, Garcia negou que tivesse participado da elaboração e da divulgação do dossiê, mas itiu que o encaminhou para autoridades. Ele pretende recorrer da decisão judicial.
ID: {{comments.info.id}}
URL: {{comments.info.url}}
Ocorreu um erro ao carregar os comentários.
Por favor, tente novamente mais tarde.
{{comments.total}} Comentário
{{comments.total}} Comentários
Seja o primeiro a comentar
Essa discussão está encerrada
Não é possivel enviar novos comentários.
Essa área é exclusiva para você, , ler e comentar.
Só s do UOL podem comentar
Ainda não é ? Assine já.
Se você já é do UOL, faça seu .
O autor da mensagem, e não o UOL, é o responsável pelo comentário. Reserve um tempo para ler as Regras de Uso para comentários.