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

Alvo de denúncias, vereador do Rio somou 1 mês preso por indisciplina na PM

Reprodução/YouTube
Imagem: Reprodução/YouTube

Lola Ferreira e Ruben Berta

Do UOL, no Rio

28/03/2022 18h41

O vereador do Rio de Janeiro Gabriel Monteiro (PSD) ficou nacionalmente conhecido ontem, após denúncias de assédio moral e sexual de cinco funcionários. Antes, ele era youtuber e policial militar, visto como indisciplinado na corporação.

A indisciplina de Monteiro rendeu ao menos 30 dias de detenção, somados, nos quase 5 anos em que esteve na PM. Eleito com 60.326 votos em 2020, ele fez parte do MBL (Movimento Brasil Livre) e acumulou seguidores no YouTube ao expor a rotina como policial militar.

Ontem, a reportagem do Fantástico, da TV Globo, apontou manipulação em alguns dos vídeos do canal de Monteiro no YouTube -- hoje com 6,2 milhões de inscritos e média de 500 mil visualizações. Em sua conta no Twitter, Monteiro afirma que "o Fantástico mentiu muito".

O programa ouviu uma mulher que teve relações sexuais com o vereador. Segundo ela, que não foi identificada, o início da relação foi consentida, mas o ato evoluiu para estupro, porque ela diz que ele não parou quando ela pediu.

Em entrevista ao Morning Show, da rede Jovem Pan, Monteiro afirmou que gravou, com consentimento, o ato sexual com a mulher que o acusa de estupro. O vereador diz que vai exibir o que chamou de "provas cabais" às autoridades.

Além disso, o MPRJ (Ministério Público do Rio de Janeiro) vai instaurar um inquérito civil contra o vereador por um outro caso, que envolve o uso da imagem de uma criança em um de seus vídeos, após o Fantástico revelar que ele orientou a fala dela. Nas imagens em questão, a criança aparece agradecendo ao vereador por ele ter pago uma refeição para ela.

Indisciplina marcou carreira na PM

Gabriel Monteiro deixou a Polícia Militar após ser eleito, por impossibilidade de tirar a licença do tempo de mandato. Antes, contudo, marcou sua ficha na corporação com faltas e detenção.

Monteiro começou seu curso para soldados em 2015. Poucos meses depois, a primeira desobediência aconteceu quando descumpriu ordem para participação em um treinamento para a formatura.

O vereador faltou à própria formatura e já ingressou na Polícia Militar com quatro dias de detenção.

De acordo com informações obtidas via Lei de o à Informação, Monteiro faltou mais vezes no período em que esteve escalado para operações na Rocinha, zona sul do Rio. Somou três faltas e a maior punição entre elas foi de seis dias de detenção.

Em agosto de 2019, o vereador respondeu a um processo de "transgressão disciplinar de natureza grave", por desobedecer o coronel Marcos Paes, chefe da segurança da Câmara Municipal do Rio de Janeiro, quando entrou no local para gravar um vídeo.

No curso das investigações, a PM definiu Monteiro da seguinte forma:

  • Demonstra conduta incorreta e irregular;
  • Deprecia a corporação;
  • Desrespeita seus superiores hierárquicos;
  • Ineficiente para o exercício da função;
  • Descompromisso com o serviço policial militar.

O episódio mais midiático envolvendo Monteiro e a Polícia Militar envolveu o coronel da reserva da PM Íbis Souza Pereira, assessor parlamentar da deputada estadual Renata Souza (PSOL).

Em 2020, o vereador se ou por um estudante de Direito para conseguir uma entrevista. Ao encontrar Íbis, Monteiro gravou um vídeo em que relacionava a criminalidade em um complexo de favelas do Rio ao partido político.

Monteiro também questionou como Íbis entrava em um local "coração do Comando Vermelho", uma facção criminosa, sem ser retaliado.

O ato foi considerado outra "transgressão disciplinar de natureza grave" e, mais uma vez, Monteiro teve seu porte de arma revogado e foi levado à comissão de revisão disciplinar. O vereador não foi expulso da corporação, mas a Justiça o condenou a pagar 40 salários mínimos ao coronel.

Monteiro saiu da PM com ao menos 16 punições e 70 faltas disciplinares.

Atividade tímida na Câmara do Rio

Monteiro assina 12 projetos de lei nos seus primeiros 15 meses como vereador do Rio de Janeiro. Nove destes são de autoria única, entre eles:

  • Criação da "Rua do Grau", para motociclistas praticarem manobras
  • Disponibilização de livro de reclamações nas unidades públicas de saúde e outras providências
  • Suspensão da cobrança de pedágio em caso de serviço lento
  • Perdão de multas e autuações contra a pandemia
  • Retirada de radares de velocidade em "áreas de risco"

Sua única lei aprovada é a 7037/2021, que torna nula a contratação e nomeação em alguns cargos para condenados por crime sexual infantil.

A atividade parlamentar de Monteiro é concentrada em informações sobre serviços públicos e funcionários, principalmente na área da saúde. Outra atividade com extensa dedicação de Monteiro é o pedido de moção. Já foram 108 propostas de moção de aplauso e reconhecimento, sendo ao menos 90 para policiais.

ado em gabinetes políticos

Antes de entrar para a PM, Monteiro foi lotado no gabinete do ex-deputado estadual Armando José (PSB). O youtuber teve cargo entre agosto e outubro de 2014.

Dias antes de ele ser nomeado como funcionário na Alerj, sua mãe deixou um cargo de assessora que tinha no gabinete do então deputado estadual Marcos Soares (à época no PR). Ela havia sido nomeada pela primeira vez em outubro de 2013.

Marcos Soares e Armando José faziam parte da bancada evangélica no Rio de Janeiro.