POLITICA
El juicio por los gasoductos adjudicados a Odebrecht quedó a un paso del veredicto

El Tribunal Oral Federal N° 2 fijó el martes 23 de junio la audiencia de últimas palabras de los imputados en el juicio por presuntas irregularidades en la licitación de las obras de segunda ampliación de los gasoductos Transportadora Gas del Norte (TGN) y Transportadora Gas del Sur (TGS), adjudicadas a la constructora brasileña Odebrecht entre 2006 y 2008.
Una vez finalizada esa instancia, el tribunal anunciará durante la misma jornada el horario en que dará a conocer el veredicto.
El proceso tiene su origen en investigaciones iniciadas hace casi dos décadas a partir de la causa por sobornos de la empresa sueca Skanska.
La causa investiga el presunto direccionamiento en la contratación de las obras. Según la acusación fiscal, el entonces ministro de Planificación Federal, Julio De Vido, habría creado el marco normativo necesario y delegado facultades en funcionarios del área de Energía para confeccionar un procedimiento “a medida” de Odebrecht.
Entre las medidas adoptadas se incluyó la creación de fondos fiduciarios para financiar las ampliaciones, con aportes obligatorios de los grandes usuarios de gas, y una reglamentación que permitía al adjudicatario seleccionar proveedores de bienes y servicios según su propio criterio.
El fiscal federal Diego Luciani sostuvo que todo el proceso se enmarcó en la declaración de emergencia económica y energética vigente en ese período.
Luciani aseguró que hubo un “un claro e inadmisible direccionamiento hacia la empresa Odebrecht, en una contratación pública de enorme envergadura. Estamos hablando de la ampliación de capacidad de transporte de gas de la República Argentina entre los años 2006 y 2008; estamos hablando de una inversión del Estado argentino que supera los 2.300 millones de dólares”.
“Se organizó este desvío negocial al amparo de una compleja ingeniería burocrática. Esto, en definitiva, permitió a los acusados sortear controles ineludibles e indispensables para una obra pública de la magnitud de lo que implica obviamente la ampliación de la red troncal de gasoductos de un país”, aseguró el fiscal.
Los imputados son Julio De Vido, el exsecretario de Energía, Daniel Cameron, el exsubsecretario de Combustibles, Cristian Folgar, el exvicepresidente de CAMMESA, Luis Beuret y el exsubgerente de esa compañía, Julio Armando Bragulat.
La fiscalía solicitó cuatro años de prisión para De Vido y Cameron, tres años y seis meses para Folgar y Beuret, y la absolución de Bragulat por considerar que no se acreditó su participación en los hechos.
Durante los alegatos, las defensas reclamaron la absolución de todos los acusados. La defensa de De Vido cuestionó lo que calificaron como “retórica fiscal estigmatizante” y afirmaron que las decisiones se adoptaron dentro del marco normativo vigente en un contexto de emergencia energética.
Los representantes de Cameron y Folgar sostuvieron que no se probaron sobreprecios, sobornos ni un direccionamiento efectivo de las contrataciones. La defensa de Beuret argumentó que su asistido se limitó a cumplir instrucciones de la Secretaría de Energía para garantizar el abastecimiento de gas destinado a la generación eléctrica, mientras que la de Bragulat planteó la falta de elementos que justifiquen su inclusión en la causa.
El juicio oral, que tramita ante el TOF 2, ingresa así en su etapa final. El tribunal deberá resolver si las conductas investigadas configuran el delito de negociaciones incompatibles con el ejercicio de la función pública o si, como sostienen las defensas, se respetaron los procedimientos legales aplicables en un período de crisis energética declarado por el Estado.
Odebrecht, juicio, Justicia
POLITICA
Natalio Mema se posiciona para suceder a Cornejo y busca gobernar Mendoza en 2027

Natalio Mema comenzó a posicionarse para la elección de 2027. El ministro de Gobierno, Infraestructura y Desarrollo Territorial de Mendoza confirmó que busca convertirse en una alternativa para la gobernación y reconoció que trabaja para suceder a Alfredo Cornejo, quien no podrá aspirar a un nuevo mandato.
“Estoy en ese posicionamiento”, afirmó en Infobae al Regreso, y explicó que su estrategia consiste en mostrar su gestión y su forma de gobernar mientras espera la definición del oficialismo. “Hoy me está tocando gobernar, por lo tanto, lo que estoy haciendo es mostrar bien mi forma, mi gestión, lo que vengo haciendo y preparándome para el año que viene”, señaló.
Mema aclaró que todavía no existe una candidatura definida y que son varios los dirigentes que buscan instalarse dentro del oficialismo provincial. “Falta para la definición electoral, pero sí, obviamente que quiero ser una alternativa”, sostuvo.
El ministro, que se define como “radical de origen”, integra la administración mendocina desde hace años y ocupó distintas responsabilidades antes de llegar a su actual cargo. En ese recorrido pasó por áreas vinculadas con transporte, agua y saneamiento y distribución eléctrica. “Desde los 31 años asumí un cargo de ministro”, recordó.
La sucesión de Cornejo y el acuerdo con La Libertad Avanza
La definición del candidato oficialista estará atravesada también por la relación con La Libertad Avanza. Mema confirmó que existen conversaciones para alcanzar un acuerdo electoral de cara a 2027 y recordó que ambos espacios ya habían logrado un entendimiento en las últimas elecciones legislativas.
“Estamos tratando de llegar al año que viene con un acuerdo, lo venimos conversando”, explicó. Para el funcionario, la alternativa de conformar un frente común permitiría ordenar la competencia porque ambos sectores comparten parte del electorado mendocino. “Lo más ordenado sería llegar en un frente común y ponernos de acuerdo ahí”, sostuvo.
De todos modos, Mendoza mantiene vigentes las PASO y las elecciones desdobladas, por lo que Mema no descartó una competencia entre los distintos espacios. “Está esa herramienta también para utilizar”, señaló.
Obras y rutas: la apuesta de Mendoza por la infraestructura
La infraestructura es uno de los principales ejes de la gestión de Mema. El ministro destacó que Mendoza decidió utilizar recursos propios para intervenir rutas nacionales ante la menor ejecución de obra pública por parte de la Nación.

“Fuimos los primeros en que dijimos: ‘Vamos a empezar a hacer obras sobre rutas nacionales’”, contó. Según precisó, la provincia interviene actualmente casi 480 kilómetros de rutas con fondos propios, en trabajos que comenzaron hace dos años.
Mema vinculó esa capacidad de inversión con el ordenamiento de las cuentas provinciales y planteó que la infraestructura es un componente directo del costo de producción. “El costo argentino no es solamente el fiscal, el tributario, también es de infraestructura, llegar al puerto”, sostuvo.
La distancia respecto de los principales centros de consumo y los puertos es, según explicó, uno de los problemas que enfrenta Mendoza. Por eso, consideró que las obras viales pueden mejorar la competitividad de las empresas locales: “Invertir en rutas, invertir en mejoras, en eso baja el costo de la producción”.
Cobre, Vaca Muerta y energías renovables
La minería, los hidrocarburos y las energías renovables forman parte de la estrategia provincial para ampliar la matriz productiva. Mema resumió el potencial mendocino al señalar que la provincia combina producción agrícola, minería y una parte de Vaca Muerta.
“Tenemos tierras irrigadas en el medio de un desierto, tenemos minería y tenemos la lengua norte de Vaca Muerta”, enumeró.

El cobre aparece como uno de los principales proyectos. Mema reconoció que la actividad había generado rechazo en parte de la población, pero sostuvo que la provincia avanzó con regulaciones para generar mayor seguridad. “Hemos ido generando las políticas públicas que generen alguna seguridad en la población, porque había un rechazo”, explicó.
El ministro aseguró que Mendoza está próxima a convertirse en la primera provincia argentina en producir cobre y destacó el potencial exportador del sector al compararlo con Chile.
En materia energética, también resaltó el parque solar de YPF y afirmó que fue el primer proyecto alcanzado por el Régimen de Incentivo para Grandes Inversiones (RIGI). Según sostuvo, además, se trata del parque solar más grande de Argentina.
El impacto económico y el empleo público
Mema reconoció que la caída del consumo tiene impacto sobre las cuentas provinciales porque afecta tanto la recaudación de impuestos locales como los recursos provenientes de la coparticipación.
“Tenemos un impacto en la recaudación. La caída del consumo impacta también en la recaudación, no solamente de los tributos provinciales, sino también de la coparticipación”, explicó.
Sobre el empleo estatal, defendió la estructura provincial y señaló que existe poco margen para reducir personal porque la mayoría de los trabajadores cumple funciones esenciales. “En Mendoza el 97% de los empleados públicos son policías, penitenciarios, médicos, docentes, enfermeros”, detalló.
Mientras el oficialismo define quién competirá por la sucesión de Cornejo y avanza en las conversaciones con La Libertad Avanza, Mema busca instalar su nombre a partir de la gestión que encabeza. La candidatura todavía no está definida, pero el ministro ya explicitó su objetivo de cara a 2027: “Quiero ser una alternativa”.
–
Infobae te acompaña cada día en YouTube con entrevistas, análisis y la información más destacada, en un formato cercano y dinámico.
• De 7 a 9: Infobae al Amanecer: Nacho Giron, Luciana Rubinska y Belén Escobar.
• De 9 a 12: Infobae a las Nueve: Gonzalo Sánchez, Tatiana Schapiro, Ramón Indart y Cecilia Boufflet.
• De 12 a 15: Infobae al Mediodia: Maru Duffard, Andrei Serbin Pont, Fede Mayol y Facundo Kablan.
• De 15 a 18: Infobae a la Tarde: Manu Jove, Maia Jastreblansky y Paula Guardia Bourdin; rotan en la semana Marcos Shaw, Lara López Calvo y Tomás Trapé.
• De 18 a 21: Infobae al Regreso: Gonzalo Aziz, Diego Iglesias, Malena de los Ríos y Matías Barbería; rotan en la semana Gustavo Lazzari, Martín Tetaz y Mica Mendelevich
Seguinos en nuestro canal de YouTube @infobae.
natalio mema
POLITICA
La campaña se calienta, la economía se congela

Dicen que no están en campaña, pero siguen los manuales clásicos de los postulantes presidenciales argentinos al pie de la letra y hasta le prestan sus rostros a las caricaturas que los ilustran.
Javier Milei y Axel Kicillof anticiparon de hecho sus postulaciones en la semana mundial de Nueva York con la presentación ante la sociedad financiera, económica y política internacional. Una instalación prematura que tiene efectos y profundiza situaciones en la realidad local.
“Para la mayoría de los inversores el año ya se cerró respecto de la Argentina. Ahora queda esperar y ver, hasta que se disipe la incertidumbre electoral. Nadie, razonablemente, va a ampliar sus carteras en el país e incluso pueden llevarlos a un nivel un poco menor de exposición local”. La frase le pertenece al responsable de un importante fondo de inversiones que desde Manhattan opera en el país, y es la misma, con apenas algunos matices diferenciadores, que las que pronuncian colegas suyos de Estados Unidos y agentes locales hacen para pintar el actual escenario local y su proyección para los próximos meses.
El alza del riesgo país (más de 40% en un mes) y la errática performance de los bonos argentinos y de las acciones de las compañías nacionales encuentra en ese panorama una parte significativa de la explicación, aun cuando también influye el volátil contexto internacional, que afecta incluso a los papeles de deuda de otras economías más estables.
La preocupación por el impacto de la economía real en la decisión del voto de los argentinos es un elemento que empieza a ponerse sobre la mesa internacional.
El aumento, un poco por encima de lo previsto, del índice de pobreza difundido ayer, que rompió la tendencia decreciente sostenida durante un año y medio, sumó inquietud. El intento del Gobierno por relativizarlo no fue un buen ansiolítico. Más cuando los números de la actividad no dan señales para asegurar que no se estará técnicamente en recesión cuando se difunda el próximo indicador.
Ninguna de esas prevenciones de los que apuestan su dinero debería extrañar si se tiene en cuenta que lejos de minimizar el factor de riesgo electoral Milei lo maximizó durante la visita de tres días a la capital financiera mundial. Y encima volvió a correr el arco, hacia 2028, respecto de la fecha en la que podría percibirse por todos el éxito palpable de sus medidas. Sin quererlo, fortaleció las dudas sobre lo que sucederá con la economía personal el año próximo.
“Anda un imbécil acá en Nueva York hablando y eso justamente hace que nuestro riesgo país suba”, dijo el presidente en alusión al gobernador bonaerense. Lo afirmó en una de las primeras actividades de su agenda, que además de su participación en la asamblea anual de las Naciones Unidas, incluyó disertaciones económicas, la ya rutinaria recepción de un premio por su adscripción sin matices a Israel y encuentros con banqueros, agentes financieros y ejecutivos de grandes empresas, que, según expresiones mayoritarias, salieron conformes de las reuniones.
Todo sin aportar muchas novedades y sin apartarse del repertorio ya conocido del libertario, incluidas la reiteración de sus fobias hacia los periodistas, sus opositores y todos sus contradictores.
Apenas si desilusionó un poco a algunos de los que lo miran como referente al ausentarse sin aviso de una exclusiva reunión con ejecutivos de grandes empresas, que había organizado la titula del Consejo de las Américas, Susan Segal. “Estaba cansado y muy dolorido de la espalda después de un día muy intenso, así que cuando iba camino de la reunión decidió cambiar el rumbo e irse al hotel”, explicó una fuente muy allegada a Milei.
De todas maneras, el contexto había cambiado respecto de sus anteriores presentaciones, ahora con el calendario y el clima electoral ya instalado. Y en tal escenario pareció desoír uno de los más remanidas máximas de los manuales de campaña. Esa que desaconseja a los aspirantes a una reelección potenciar a los rivales, y sobre todo, en economías frágiles, subrayar los riesgos extremos que podría producir un posible cambio radical de rumbo. Es lo que hizo Milei.
Como si hubiera equivocado el auditorio, el presidente libertario les dijo a los inversores -alérgicos a la incertidumbre que sigue generando un país históricamente pendular- lo que les dice a los votantes argentinos para que si no es por convicción y entusiasmo lo voten por espanto a cualquier otra opción.
Contrapunto electoral
Kicillof le devolvió atenciones y criticó con dureza las políticas de Milei, como para contrarrestar la profusa publicidad oficialista de los éxitos económicos y sociales (comprobables o muy discutibles, da igual) de la actual administración desplegada en estos días por el Presidente, el ministro de economía, Luis Caputo, y el embajador argentino ante la Casa Blanca, Alec Oxenford, en los diversos atriles y micrófonos por los que pasaron.
Aunque en su primer viaje de exhibición como precandidato el gobernador procuró desarmar prejuicios, bajar prevenciones y mostrarse moderado, razonable, contrario a la emisión descontrolada y buen pagador ante acreedores y potenciales prestamistas e inversores, no dejó de reafirmar posiciones y enrolamientos conocidos.
Subrayó las zonas oscuras de la realidad local y cuestionó la situación no solo de la microeconomía sino que también cuestionó los fundamentos de la estabilidad macroeconómica y su sustentabilidad. En ese sentido, negó que la suba del riesgo se debiera a la posibilidad de que él fuera Presidente sino a “las dificultades que habrá para afrontar los exigentes vencimientos de deuda del año próximo”. Todo muy en clave argentina, con un estetoscopio en cada país para auscultar el impacto entre propios y ajenos, entre nacionales e internacionales.
“No sólo no hay un milagro económico en la Argentina, sino que estamos sufriendo una verdadera catástrofe: se han perdido miles de empleos, cierran empresas todos los días, caen los salarios y empeora día a día la calidad de vida de nuestro pueblo”, dijo Kicillof.
Lo afirmó en una reunión con dos referentes internacionales socialdemócratas, como el alcalde de Nueva York, Zohran Mamdani y el presidente del gobierno español, Pedro Sánchez, que lejos están de figurar en el álbum de favoritos de los dueños del dinero y más lejos aún de mostrarlo a Kicillof en plan aperturista y de ampliación de fronteras político-ideológica.
Contra las opiniones críticas, los colaboradores de Kicillof se jactaron de ese encuentro: “Esa foto lo pone en la escena mundial como par de dos figuras internacionales. Ese lugar lo ocupa él y no otro. Y reafirma su perfil”. Otra vez la vista estaba puesta en la Argentina.
De todas maneras, los kicillofistas consideraron positiva la primera incursión destinada a derribar fantasmas en campo visitante.
“No fue mala su visita y hasta podría decirse que fue bastante buena, pero todavía falta mucho para que genere confianza y despeje el temor a un regreso del populismo irresponsable. Sus definiciones son todavía muy vagas, tanto que evitó no solo exponer un programa de gobierno sino que ni siquiera habló de medidas concretas si llegara a la presidencia porque, dijo, todavía ni siquiera es candidato”, afirmó un inversor que participó de las reuniones en las que habló Kicillof. Otros dos ejecutivos coincidieron con esa afirmación.
Kirchnerista sin querer
Los movimientos en Nueva York del gobernador nocandidato parecieron confirmar que el sendero por el que se mueve es muy estrecho y él no parece dispuesto, al menos por ahora, a arriesgarse a ampliarlo, aún a costa de quedar en offside. Como cuando acusó a una periodista de tenderle “una emboscada” por haberle preguntado e insistido sobre su posición respecto de las acciones militares de Israel en Gaza.
Para explicar en clave local esas dificultades y la forma cautelosa (o poco nítida) en que se comporta todavía Kicillof un agudo dirigente peronista afirma que “el gran problema de Axel es que los únicos que no lo consideran kirchnerista son los kirchneristas y él no se atreve a desmentir a unos ni a otros”.
La vuelta al país después de su baño neoyorquino y tras la avant premiére del lanzamiento de su proyecto nacional (sin animarse a anunciar su candidatura) probablemente lo obligue a algunas definiciones.
El tribunal que enfrenta el gobernador ahora es un poco más amplio. Además de los votantes probables o potenciales y los poderes reales argentinos, también empiezan a juzgarlo los grandes tomadores de decisiones políticas y económicas extranjeros.
Al mismo tiempo, los fiscales y francotiradores del cristicamporismo y del massismo agazapado afinan acusaciones y puntería en una extraña (o no tanto) coincidencia con el oficialismo libertario.
La reinstalación del planteo de “Cristina libre”, como premisa del kirchnerismo y la metralla de críticas acusaciones que le lanzaron la muy camporista Mayra Mendoza y Facundo Tignanelli, brazo ejecutor de Máximo Kirchner en la provincia de Buenos Aires, durante la semana previa al acto proselitista del gobernador fueron apenas unas muestras gratis de un stock destinado a intentar que se someta a la jefatura (ajada) de la expresidenta.
Milei y Kicillof, de todas maneras, son por ahora los dos únicos productos que aparecen en las góndolas electorales con chances de ser adquiridos en la elección presidencial de 2027. El péndulo argentino, otra vez, en movimiento.
Sin embargo, sobran las incógnitas, sobre todo para los tomadores de decisiones económicas. Ninguno tiene asegurado el triunfo. Ni siquiera Milei que es el que mejor posicionado aparece, luego de amesetarse su caída. Pero todos siguen teniendo mucho más rechazo que aprobaciones.
Así es como los últimos movimientos independentistas de Patricia Bullrich adquirieron más densidad que otros anteriores de su larga carrera política, siempre en hogares (partidarios) de tránsito. La repetición y el contexto le dieron otra reverberación.
“La idea de la continuidad con cambio, que puede expresar Patricia empieza abrir expectativas entre muchos que bancan el rumbo, sobre todo económico del Gobierno, pero quieren otras formas, otra construcción y un nuevo equipo, sobre todo en la mesa chica. Para muchos ya hubo suficiente de destrucción, excentricidad e intolerancia. Pero su candidatura, por ahora, no es probable, mientras Milei mantenga las chances e ser elegido”, explica un consultor, cuyas estudios contratan el Gobierno, excambiemitas no mileístas y grandes empresas.
Los candidatos outsiders por ahora no solo no levantan vuelo, sino que ni siquiera empezaron a carretear. De todas maneras, la campaña se aceleró y empezó a calentarse en Nueva York, como para que la economía se enfríe un poco más. Nadie quiere arriesgar.
Claudio Jacquelin,Conforme a
POLITICA
Uno por uno, cómo votaron los senadores los cambios en la ley de Zonas Frías

${status}
`;
}
function createCard(item, borderColor) {
const card = document.createElement(«div»);
card.className = «vs2__card»;
const fotoWrap = document.createElement(«div»);
fotoWrap.className = «vs2__foto»;
if (borderColor) {
fotoWrap.style.borderColor = borderColor;
} else {
fotoWrap.style.opacity = «0.3»;
fotoWrap.style.border = «none»;
}
const img = document.createElement(«img»);
img.loading = «lazy»;
img.decoding = «async»;
img.alt = «foto-senador»;
img.src = » + (item.url_foto || «»);
img.addEventListener(«error», () => {
img.style.opacity = «0.35»;
}, {
once: true
});
fotoWrap.appendChild(img);
const nombre = document.createElement(«p»);
nombre.className = «vs2__nombre»;
nombre.textContent = String(item.nombres || «»).toLowerCase();
const apellido = document.createElement(«p»);
apellido.className = «vs2__apellido»;
apellido.textContent = String(item.apellido || «»).toLowerCase();
const bloque = document.createElement(«span»);
bloque.className = «vs2__bloque»;
bloque.textContent = String(item.bloque || «»);
card.appendChild(fotoWrap);
card.appendChild(nombre);
card.appendChild(apellido);
card.appendChild(bloque);
return card;
}
function seatClass(kind) {
if (kind === «AFIRMATIVO») return «vs2__seat–afirmativo»;
if (kind === «NEGATIVO») return «vs2__seat–negativo»;
if (kind === «ABSTENCIÓN») return «vs2__seat–abstencion»;
if (kind === «AUSENTE») return «vs2__seat–ausente»;
return «vs2__seat–empty»;
}
function hemicicloParams(which) {
if (which === «big») {
return {
centerX: 300,
baseY: 450,
rows: 5,
seatsPerRow: [21, 18, 16, 11, 6],
verticalOffset: 2,
radiusStart: 300,
radiusStep: 55
};
}
return {
centerX: 300,
baseY: 450,
rows: 5,
seatsPerRow: [21, 18, 16, 12, 7],
verticalOffset: 0,
radiusStart: 170,
radiusStep: 30
};
}
function computeRowSeatCounts(seatsPerRow, totals) {
const totalSeats = seatsPerRow.reduce((a, b) => a + b, 0);
return seatsPerRow.map(seatsInRow => {
const exact = {
AFIRMATIVO: (totals.AFIRMATIVO / totalSeats) * seatsInRow,
NEGATIVO: (totals.NEGATIVO / totalSeats) * seatsInRow,
«ABSTENCIÓN»: (totals[«ABSTENCIÓN»] / totalSeats) * seatsInRow,
AUSENTE: (totals.AUSENTE / totalSeats) * seatsInRow
};
const floor = {
AFIRMATIVO: Math.floor(exact.AFIRMATIVO),
NEGATIVO: Math.floor(exact.NEGATIVO),
«ABSTENCIÓN»: Math.floor(exact[«ABSTENCIÓN»]),
AUSENTE: Math.floor(exact.AUSENTE)
};
let assigned = floor.AFIRMATIVO + floor.NEGATIVO + floor[«ABSTENCIÓN»] + floor.AUSENTE;
let diff = seatsInRow – assigned;
const rems = [{
k: «AFIRMATIVO»,
r: exact.AFIRMATIVO – floor.AFIRMATIVO
},
{
k: «NEGATIVO»,
r: exact.NEGATIVO – floor.NEGATIVO
},
{
k: «ABSTENCIÓN»,
r: exact[«ABSTENCIÓN»] – floor[«ABSTENCIÓN»]
},
{
k: «AUSENTE»,
r: exact.AUSENTE – floor.AUSENTE
},
].sort((a, b) => b.r – a.r);
while (diff > 0) {
for (const it of rems) {
if (diff <= 0) break;
floor[it.k] += 1;
diff–;
}
}
return floor;
});
}
function renderHemiciclo(which, totals) {
const el = byRole(which === «big» ? «hemiciclo-big» : «hemiciclo-small»);
if (!el) return;
el.innerHTML = «»;
const p = hemicicloParams(which);
let rowSeatCounts = computeRowSeatCounts(p.seatsPerRow, totals);
const maxSeatsInRow = p.seatsPerRow[0];
for (let col = 0; col < maxSeatsInRow; col++) {
for (let row = 0; row < p.rows; row++) {
if (col >= p.seatsPerRow[row]) continue;
const seatsInThisRow = p.seatsPerRow[row];
const radius = p.radiusStart – row * (p.radiusStep – p.verticalOffset);
const angleRange = Math.PI;
const angleStep = (seatsInThisRow > 1) ? angleRange / (seatsInThisRow – 1) : 0;
const angle = (Math.PI – angleRange) / 2 + col * angleStep;
const x = p.centerX + radius * Math.cos(angle);
const y = p.baseY – radius * Math.sin(angle);
let kind = «EMPTY»;
if (rowSeatCounts[row].AFIRMATIVO > 0) {
kind = «AFIRMATIVO»;
rowSeatCounts[row].AFIRMATIVO–;
} else if (rowSeatCounts[row].NEGATIVO > 0) {
kind = «NEGATIVO»;
rowSeatCounts[row].NEGATIVO–;
} else if (rowSeatCounts[row][«ABSTENCIÓN»] > 0) {
kind = «ABSTENCIÓN»;
rowSeatCounts[row][«ABSTENCIÓN»]–;
} else if (rowSeatCounts[row].AUSENTE > 0) {
kind = «AUSENTE»;
rowSeatCounts[row].AUSENTE–;
}
const seat = document.createElement(«div»);
seat.className = «vs2__seat » + seatClass(kind);
seat.style.left = x + «px»;
seat.style.top = y + «px»;
el.appendChild(seat);
}
}
}
function populateFilters(data) {
const selProv = byRole(«select-provincia»);
const selBloq = byRole(«select-bloque»);
if (!selProv || !selBloq) return;
const provSet = new Set();
const bloqSet = new Map(); // bloque -> full
data.forEach(r => {
if (r.provincia) provSet.add(r.provincia);
if (r.bloque) bloqSet.set(r.bloque, r.bloque_full || r.bloque);
});
Array.from(provSet).sort().forEach(p => {
const opt = document.createElement(«option»);
opt.value = p;
opt.textContent = p;
selProv.appendChild(opt);
});
Array.from(bloqSet.entries())
.sort((a, b) => String(a[0]).localeCompare(String(b[0])))
.forEach(([code, full]) => {
const opt = document.createElement(«option»);
opt.value = code;
opt.textContent = `${full} (${code})`;
selBloq.appendChild(opt);
});
}
function renderFiltered(data, field, value, targetEl) {
targetEl.innerHTML = «»;
const rows = data.filter(r => value === «all» || r[field] === value);
const order = [«AFIRMATIVO», «NEGATIVO», «ABSTENCIÓN», «AUSENTE»];
const colorBy = {
AFIRMATIVO: «#00A377»,
NEGATIVO: «#c90808»,
«ABSTENCIÓN»: «#444″,
AUSENTE: null
};
order.forEach(voto => {
rows.filter(r => normalizeVoto(r.voto) === voto).forEach(r => {
targetEl.appendChild(createCard(r, colorBy[voto]));
});
});
}
function wireUI(data) {
// toggles
$$(‘[data-role=»section»], [data-role=»filter-provincia»], [data-role=»filter-bloque»]’).forEach(sec => {
const btn = sec.querySelector(‘[data-role=»toggle»]’);
if (!btn) return;
btn.addEventListener(«click», () => {
const open = sec.getAttribute(«data-open») !== «true»;
openPanel(sec, open);
});
});
// abrir por defecto secciones principales, y dejar filtros cerrados
$$(‘[data-role=»section»]’).forEach(sec => openPanel(sec, true));
$$(‘[data-role=»filter-provincia»], [data-role=»filter-bloque»]’).forEach(sec => openPanel(sec, false));
// go top
const goTop = byRole(«go-top»);
if (goTop) {
goTop.addEventListener(«click», () => root.scrollIntoView({
behavior: «smooth»
}));
const obs = new IntersectionObserver((entries) => {
entries.forEach(e => {
goTop.style.display = e.isIntersecting ? «block» : «none»;
});
}, {
threshold: 0.1
});
obs.observe(root);
}
// filtros
const selProv = byRole(«select-provincia»);
const selBloq = byRole(«select-bloque»);
const provOut = byRole(«provincia-results»);
const bloqOut = byRole(«bloque-results»);
if (selProv && provOut) {
selProv.addEventListener(«change», (e) => {
renderFiltered(data, «provincia», e.target.value, provOut);
const sec = byRole(«filter-provincia»);
if (sec) openPanel(sec, true);
});
}
if (selBloq && bloqOut) {
selBloq.addEventListener(«change», (e) => {
renderFiltered(data, «bloque», e.target.value, bloqOut);
const sec = byRole(«filter-bloque»);
if (sec) openPanel(sec, true);
});
}
}
async function init() {
setLoaded(false);
const csvUrl = root.dataset.csvUrl;
if (!csvUrl) {
const summary = byRole(«summary»);
if (summary) summary.innerHTML = `
Error: falta data-csv-url
`;
return;
}
try {
const Papa = await ensurePapa();
Papa.parse(csvUrl, {
download: true,
header: true,
skipEmptyLines: true,
complete: function(res) {
const data = (res && res.data) ? res.data : [];
// panels por voto
const panelByVote = {};
$$(‘[data-role=»section»]’).forEach(sec => {
const voto = sec.getAttribute(«data-voto»);
const panel = sec.querySelector(‘[data-role=»panel»]’);
if (voto && panel) panelByVote[voto] = panel;
});
const counts = {
AFIRMATIVO: 0,
NEGATIVO: 0,
«ABSTENCIÓN»: 0,
AUSENTE: 0
};
const colorBy = {
AFIRMATIVO: «#00A377»,
NEGATIVO: «#c90808»,
«ABSTENCIÓN»: «#444″,
AUSENTE: null
};
data.forEach(row => {
const voto = normalizeVoto(row.voto);
if (!counts.hasOwnProperty(voto)) return;
counts[voto]++;
const panel = panelByVote[voto];
if (panel) {
panel.appendChild(createCard(row, colorBy[voto]));
}
});
// counts en UI
$$(‘[data-role=»count»]’).forEach(el => {
const k = el.getAttribute(«data-kind»);
if (k && counts.hasOwnProperty(k)) el.textContent = String(counts[k]);
});
// hemiciclo + summary
renderHemiciclo(«big», counts);
renderHemiciclo(«small», counts);
renderSummary(counts);
// filtros + ui
populateFilters(data);
wireUI(data);
setLoaded(true);
// recalcular heights en secciones abiertas
$$(‘[data-role=»section»]’).forEach(sec => openPanel(sec, true));
}
});
} catch (err) {
console.error(err);
const summary = byRole(«summary»);
if (summary) {
summary.innerHTML = `
Error: ${escapeHtml(err.message || err)}
`;
}
}
}
init();
})();
POLITICA3 días agoRadiografía del ajuste: Los flancos más criticados de la gestión de Javier Milei entre recortes sociales, crisis previsional y salarios de miseria
INTERNACIONAL3 días agoGabriela Margall, escritora: “Se puede vivir de la literatura si uno tiene disciplina, se compromete y entiende que a veces hay momentos buenos y a veces no tanto”
POLITICA3 días agoEl Senado se encamina a una dura pelea por dos lugares en el Consejo de la Magistratura y el rol de Villarruel podría ser decisivo



















