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

Carolina Brígido

REPORTAGEM

Texto que relata acontecimentos, baseado em fatos e dados observados ou verificados diretamente pelo jornalista ou obtidos pelo o a fontes jornalísticas reconhecidas e confiáveis.

STF deve adiar caso do marco temporal e deixar decisão para o Congresso

Colunista do UOL

31/08/2021 07h00

Não é de hoje que o STF (Supremo Tribunal Federal) decidiu se esquivar de definir as regras de demarcação de terras indígenas. O processo sobre o assunto chegou à Corte em 2016 e, depois de uma série de adiamentos, terá o julgamento retomado amanhã. Nos bastidores do Supremo, ministros apostam que haverá pedido de vista - o que vai postergar a decisão mais uma vez para um futuro indefinido.

Entre se indispor com as minorias e contrariar o governo Bolsonaro, o STF prefere lavar as mãos. Ao não decidir o tema, deixa o destino dos povos indígenas à mercê do Congresso Nacional. A omissão do Supremo resultará em prejuízo para os indígenas, já que os parlamentares não têm muita disposição para defender esse setor da sociedade.

Até agora, apenas o ministro Edson Fachin, relator do processo, votou. Ele defendeu o interesse dos indígenas. Entre os ministros, há os que concordam com Fachin. Mas outra ala, defensora do agronegócio, promete discordar do relator. O ime, porém, não deve ir muito adiante. O pedido de vista deve chegar antes de se formar maioria para qualquer dos lados.

Enquanto isso, tramitam projetos no Congresso Nacional sobre o assunto. Sem a decisão do STF, os parlamentares devem acelerar as discussões. Nesse contexto, mesmo sem decidir, o tribunal estará colaborando para a derrocada dos indígenas.

A discussão central é em torno da tese do marco temporal, segundo a qual os indígenas só podem reivindicar terras onde estavam fisicamente presentes na data de promulgação da Constituição Federal - ou seja, em 5 de outubro de 1988.

Em junho, a CCJ (Comissão de Constituição e Justiça) da Câmara dos Deputados aprovou um projeto de lei com a fixação do marco temporal para a demarcação de terras indígenas. A consequência prática é diminuir o tamanho do território reservado para os índios no país. O projeto ainda será analisado pelo Senado.

No STF, a tramitação é mais lenta. O julgamento foi interrompido em junho do ano ado, quando o ministro Alexandre de Moraes pediu vista. Apenas Fachin tinha votado. A votação foi remarcada para junho deste ano. Houve novo adiamento. A votação será retomada amanhã.

Há dias, povos indígenas fazem manifestações na Praça dos Três Poderes em prol da causa. Por meio de um telão, assistem cada minuto do julgamento no Supremo. Pelo visto, o esforço terá sido em vão.