{"id":2554,"date":"2025-05-13T00:49:14","date_gmt":"2025-05-13T04:49:14","guid":{"rendered":"https:\/\/w3.cndc.bo\/?page_id=2554"},"modified":"2025-12-23T03:14:11","modified_gmt":"2025-12-23T07:14:11","slug":"evolucion-de-la-demanda","status":"publish","type":"page","link":"https:\/\/w3.cndc.bo\/index.php\/evolucion-de-la-demanda\/","title":{"rendered":"Evoluci\u00f3n de la Demanda"},"content":{"rendered":"<p>[et_pb_section fb_built=\u00bb1&#8243; admin_label=\u00bbHeader\u00bb _builder_version=\u00bb4.20.0&#8243; _module_preset=\u00bbdefault\u00bb custom_margin=\u00bb||23px|||\u00bb custom_padding=\u00bb||4px|||\u00bb collapsed=\u00bbon\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_row _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb border_color_all=\u00bb#00bfff\u00bb border_width_left=\u00bb15px\u00bb border_color_left=\u00bb#0C71C3&#8243; global_colors_info=\u00bb{}\u00bb][et_pb_column type=\u00bb4_4&#8243; _builder_version=\u00bb4.20.0&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_text _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bb22f05caf-5850-4a03-adb3-f98c0671a146&#8243; custom_margin=\u00bb|||25px|false|false\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n<h2>Evoluci\u00f3n de la Demanda<\/h2>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=\u00bb1_4,3_4&#8243; use_custom_gutter=\u00bbon\u00bb gutter_width=\u00bb1&#8243; _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb width=\u00bb90%\u00bb min_height=\u00bb100%\u00bb height=\u00bb100%\u00bb custom_margin=\u00bb|||180px|false|false\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_column type=\u00bb1_4&#8243; _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_code _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb custom_margin=\u00bb0px||0px|60px|true|false\u00bb hover_enabled=\u00bb0&#8243; locked=\u00bboff\u00bb global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;] <pee class=\"fecha-cndc\" data-api=\"https:\/\/backend.cndc.bo\/api\/last_date_category_6_simple.php\">Cargando fecha&#8230;<\/pee><!-- [et_pb_line_break_holder] --><script><!-- [et_pb_line_break_holder] -->document.addEventListener(\"DOMContentLoaded\", function () {<!-- [et_pb_line_break_holder] -->  document.querySelectorAll('.fecha-cndc').forEach(el => {<!-- [et_pb_line_break_holder] -->    fetch(el.dataset.api)<!-- [et_pb_line_break_holder] -->      .then(res => res.text())<!-- [et_pb_line_break_holder] -->      .then(date => el.textContent = date.trim())<!-- [et_pb_line_break_holder] -->      .catch(() => el.textContent = \"Fecha no disponible\");<!-- [et_pb_line_break_holder] -->  });<!-- [et_pb_line_break_holder] -->});<!-- [et_pb_line_break_holder] --><\/script>[\/et_pb_code][et_pb_code _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb hover_enabled=\u00bb0&#8243; global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<style><!-- [et_pb_line_break_holder] -->.menu-cndc h3 {<!-- [et_pb_line_break_holder] -->  font-size: 17px;<!-- [et_pb_line_break_holder] -->  color: #0c71c3;<!-- [et_pb_line_break_holder] -->  font-weight: normal;<!-- [et_pb_line_break_holder] -->  margin-left: 40px;<!-- [et_pb_line_break_holder] -->  padding-left: 15px;<!-- [et_pb_line_break_holder] -->  border-left: 2px solid #C1C3C3;<!-- [et_pb_line_break_holder] -->  cursor: pointer;<!-- [et_pb_line_break_holder] -->  transition: all 0.3s ease;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->.menu-cndc h3:hover {<!-- [et_pb_line_break_holder] -->  font-size: 18px;<!-- [et_pb_line_break_holder] -->  border-left-color: #083169;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->.menu-cndc h3.activo {<!-- [et_pb_line_break_holder] -->  font-weight: bold;<!-- [et_pb_line_break_holder] -->  font-size: 18px;<!-- [et_pb_line_break_holder] -->  color: #083169;<!-- [et_pb_line_break_holder] -->  border-left-color: #083169;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><\/style>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<div class=\"menu-cndc\"><!-- [et_pb_line_break_holder] -->  <\/p>\n<h3 id=\"menu1\" class=\"activo\"<!-- [et_pb_line_break_holder] -->      onclick=\u00bbcargarIframe(&#8216;https:\/\/backend.cndc.bo\/media\/archivos\/boletindiario\/gendia{yyyymmdd}.htm&#8217;,&#8217;menu1&#8242;)\u00bb><!-- [et_pb_line_break_holder] -->    Generaci\u00f3n \u00faltimos 12 meses<!-- [et_pb_line_break_holder] -->  <\/h3>\n<p><!-- [et_pb_line_break_holder] -->  <\/p>\n<h3 id=\"menu2\"<!-- [et_pb_line_break_holder] -->      onclick=\u00bbcargarIframe(&#8216;https:\/\/backend.cndc.bo\/media\/archivos\/boletindiario\/demcons{yyyymmdd}.htm&#8217;,&#8217;menu2&#8242;)\u00bb><!-- [et_pb_line_break_holder] -->    Demanda \u00faltimos 12 meses<!-- [et_pb_line_break_holder] -->  <\/h3>\n<p><!-- [et_pb_line_break_holder] -->  <\/p>\n<h3 id=\"menu3\"<!-- [et_pb_line_break_holder] -->      onclick=\u00bbcargarIframe(&#8216;https:\/\/backend.cndc.bo\/media\/archivos\/boletindiario\/maxcons{yyyymmdd}.htm&#8217;,&#8217;menu3&#8242;)\u00bb><!-- [et_pb_line_break_holder] -->    M\u00e1xima \u00faltimos 12 meses<!-- [et_pb_line_break_holder] -->  <\/h3>\n<p><!-- [et_pb_line_break_holder] -->  <\/p>\n<h3 id=\"menu4\"<!-- [et_pb_line_break_holder] -->      onclick=\u00bbcargarIframe(&#8216;https:\/\/backend.cndc.bo\/media\/archivos\/boletindiario\/evodemdia.php&#8217;,&#8217;menu4&#8242;)\u00bb><!-- [et_pb_line_break_holder] -->    Evoluci\u00f3n de la Demanda Diaria<!-- [et_pb_line_break_holder] -->  <\/h3>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] -->[\/et_pb_code][\/et_pb_column][et_pb_column type=\u00bb3_4&#8243; _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_code _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb min_height=\u00bb100vh\u00bb height=\u00bb100vh\u00bb max_height=\u00bb100vh\u00bb custom_padding=\u00bb|100px|||false|false\u00bb hover_enabled=\u00bb0&#8243; global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<div id=\"contenedor-iframe\" style=\"width:100%; height:100vh; border:1px solid #ccc; position:relative;\"><!-- [et_pb_line_break_holder] -->  <iframe id=\"visor-cndc\" style=\"width:100%; height:100%; border:none;\"><\/iframe><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <!-- Overlay de estado con loader + skeleton --><!-- [et_pb_line_break_holder] -->  <\/p>\n<div id=\"msg-cndc\" class=\"cndc-overlay\" style=\"position:absolute; inset:0; display:flex; flex-direction:column; gap:14px; align-items:center; justify-content:center; padding:16px; text-align:center; background:#fff; font-family:Arial,sans-serif;\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"cndc-topbar\">\n<div class=\"cndc-topbar-fill\"><\/div>\n<\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"cndc-skeleton\" aria-hidden=\"true\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"sk-block sk-title\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"sk-block\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"sk-block\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"sk-block sk-wide\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"cndc-spinner\" aria-label=\"Cargando\" role=\"status\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div style=\"color:#333;\">Cargando\u2026<\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<style><!-- [et_pb_line_break_holder] -->\/* Spinner circular *\/<!-- [et_pb_line_break_holder] -->.cndc-spinner {<!-- [et_pb_line_break_holder] -->  width: 36px; height: 36px;<!-- [et_pb_line_break_holder] -->  border: 3px solid rgba(0,0,0,0.12);<!-- [et_pb_line_break_holder] -->  border-top-color: #0c71c3;<!-- [et_pb_line_break_holder] -->  border-radius: 50%;<!-- [et_pb_line_break_holder] -->  animation: cndc-spin 0.9s linear infinite;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->@keyframes cndc-spin { to { transform: rotate(360deg); } }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/* Barra indeterminada animada arriba *\/<!-- [et_pb_line_break_holder] -->.cndc-topbar { position:absolute; top:0; left:0; width:100%; height:3px; overflow:hidden; background:rgba(0,0,0,0.05); }<!-- [et_pb_line_break_holder] -->.cndc-topbar-fill { width:30%; height:100%; background:#0c71c3; animation:cndc-slide 1.2s ease-in-out infinite; }<!-- [et_pb_line_break_holder] -->@keyframes cndc-slide { 0%{transform:translateX(-100%);} 50%{transform:translateX(60%);} 100%{transform:translateX(200%);} }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/* Skeleton shimmer *\/<!-- [et_pb_line_break_holder] -->.cndc-skeleton { width:min(780px, 92%); display:flex; flex-direction:column; gap:10px; margin-top:10px; }<!-- [et_pb_line_break_holder] -->.sk-block {<!-- [et_pb_line_break_holder] -->  height:14px;<!-- [et_pb_line_break_holder] -->  border-radius:8px;<!-- [et_pb_line_break_holder] -->  background: linear-gradient(90deg, #eee 25%, #e6e6e6 37%, #eee 63%);<!-- [et_pb_line_break_holder] -->  background-size: 400% 100%;<!-- [et_pb_line_break_holder] -->  animation: cndc-shimmer 1.3s ease-in-out infinite;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->.sk-title { height:20px; width:60%; margin:0 auto 4px auto; }<!-- [et_pb_line_break_holder] -->.sk-wide { width:92%; margin:0 auto; height:14px; }<!-- [et_pb_line_break_holder] -->.cndc-skeleton .sk-block:not(.sk-title):not(.sk-wide) { width:80%; margin:0 auto; }<!-- [et_pb_line_break_holder] -->@keyframes cndc-shimmer { 0% { background-position: 100% 0; } 100% { background-position: 0 0; } }<!-- [et_pb_line_break_holder] --><\/style>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><script><!-- [et_pb_line_break_holder] -->(() => {<!-- [et_pb_line_break_holder] -->  const iframe = document.getElementById('visor-cndc');<!-- [et_pb_line_break_holder] -->  const msg = document.getElementById('msg-cndc');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/\/ API de la categor\u00eda 6<!-- [et_pb_line_break_holder] -->  const apiFecha = 'https:\/\/backend.cndc.bo\/api\/last_date_category_6_simple.php';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/* ---------- Intro de 1 segundo ---------- *\/<!-- [et_pb_line_break_holder] -->  let introUntil = 0;<!-- [et_pb_line_break_holder] -->  function startIntro(){<!-- [et_pb_line_break_holder] -->    introUntil = performance.now() + 1000; \/\/ 1s<!-- [et_pb_line_break_holder] -->    showMessage('intro');<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  function waitIntro(){<!-- [et_pb_line_break_holder] -->    const ms = introUntil - performance.now();<!-- [et_pb_line_break_holder] -->    return ms > 0 ? new Promise(r => setTimeout(r, ms)) : Promise.resolve();<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  function showMessage(content) {<!-- [et_pb_line_break_holder] -->    msg.style.display = 'flex';<!-- [et_pb_line_break_holder] -->    if (content === 'intro') {<!-- [et_pb_line_break_holder] -->      msg.innerHTML = `<!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"cndc-topbar\">\n<div class=\"cndc-topbar-fill\"><\/div>\n<\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"cndc-skeleton\" aria-hidden=\"true\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"sk-block sk-title\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"sk-block\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"sk-block\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"sk-block sk-wide\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"cndc-spinner\" aria-label=\"Cargando\" role=\"status\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div style=\"color:#333;\">Cargando... espere por favor...<\/div>\n<p><!-- [et_pb_line_break_holder] -->      `;<!-- [et_pb_line_break_holder] -->    } else if (content === 'loading') {<!-- [et_pb_line_break_holder] -->      msg.innerHTML = `<!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"cndc-topbar\">\n<div class=\"cndc-topbar-fill\"><\/div>\n<\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"cndc-skeleton\" aria-hidden=\"true\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"sk-block sk-title\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"sk-block\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"sk-block\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"sk-block sk-wide\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"cndc-spinner\" aria-label=\"Cargando\" role=\"status\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div style=\"color:#333;\">Cargando\u2026<\/div>\n<p><!-- [et_pb_line_break_holder] -->      `;<!-- [et_pb_line_break_holder] -->    } else {<!-- [et_pb_line_break_holder] -->      msg.innerHTML = `<\/p>\n<div style=\"max-width:760px; line-height:1.5; color:#333;\">${content}<\/div>\n<p>`;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  function hideMessage() { msg.style.display = 'none'; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/\/ Parse fecha \u2192 dd, mm, yyyy, ddmmaa y yyyymmdd<!-- [et_pb_line_break_holder] -->  async function fetchUltimaFecha() {<!-- [et_pb_line_break_holder] -->    const r = await fetch(apiFecha);<!-- [et_pb_line_break_holder] -->    let raw = (await r.text()).trim();<!-- [et_pb_line_break_holder] -->    if (raw.includes(',')) raw = raw.split(',').slice(1).join(',').trim();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    let m = raw.match(\/^(\\d{4})-(\\d{2})-(\\d{2})$\/);<!-- [et_pb_line_break_holder] -->    if (m) {<!-- [et_pb_line_break_holder] -->      const yyyy = m[1], mm = m[2], dd = m[3];<!-- [et_pb_line_break_holder] -->      return { dd, mm, yyyy, ddmmaa: `${dd}${mm}${yyyy.slice(2)}`, yyyymmdd: `${yyyy}${mm}${dd}` };<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    const meses = {<!-- [et_pb_line_break_holder] -->      'enero':'01','febrero':'02','marzo':'03','abril':'04','mayo':'05','junio':'06',<!-- [et_pb_line_break_holder] -->      'julio':'07','agosto':'08','septiembre':'09','setiembre':'09','octubre':'10',<!-- [et_pb_line_break_holder] -->      'noviembre':'11','diciembre':'12'<!-- [et_pb_line_break_holder] -->    };<!-- [et_pb_line_break_holder] -->    const norm = raw.toLowerCase().normalize('NFD').replace(\/[\\u0300-\\u036f]\/g,'').replace(\/\\s+\/g,' ').trim();<!-- [et_pb_line_break_holder] -->    m = norm.match(\/^(\\d{1,2})\\s+de\\s+([a-z\u00f1]+)\\s+de\\s+(\\d{4})$\/i);<!-- [et_pb_line_break_holder] -->    if (m) {<!-- [et_pb_line_break_holder] -->      const dd = String(m[1]).padStart(2,'0');<!-- [et_pb_line_break_holder] -->      const mm = meses[m[2]];<!-- [et_pb_line_break_holder] -->      const yyyy = m[3];<!-- [et_pb_line_break_holder] -->      if (!mm) throw new Error('Mes no reconocido: ' + m[2]);<!-- [et_pb_line_break_holder] -->      return { dd, mm, yyyy, ddmmaa: `${dd}${mm}${yyyy.slice(2)}`, yyyymmdd: `${yyyy}${mm}${dd}` };<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    throw new Error('Formato de fecha inesperado');<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/\/ Reemplaza placeholders y extrae archivo<!-- [et_pb_line_break_holder] -->  async function resolveUrl(url) {<!-- [et_pb_line_break_holder] -->    let infoFecha = null;<!-- [et_pb_line_break_holder] -->    if (url.includes('{ddmmaa}') || url.includes('{yyyymmdd}')) {<!-- [et_pb_line_break_holder] -->      infoFecha = await fetchUltimaFecha();<!-- [et_pb_line_break_holder] -->      url = url.replaceAll('{ddmmaa}', infoFecha.ddmmaa)<!-- [et_pb_line_break_holder] -->               .replaceAll('{yyyymmdd}', infoFecha.yyyymmdd);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    let archivo = null;<!-- [et_pb_line_break_holder] -->    try {<!-- [et_pb_line_break_holder] -->      const u = new URL(url);<!-- [et_pb_line_break_holder] -->      const f = u.searchParams.get('f');<!-- [et_pb_line_break_holder] -->      archivo = f || u.pathname.split('\/').pop();<!-- [et_pb_line_break_holder] -->    } catch {<!-- [et_pb_line_break_holder] -->      const m = url.match(\/[?&]f=([^&#]+)\/i);<!-- [et_pb_line_break_holder] -->      archivo = m ? decodeURIComponent(m[1]) : (url.split('\/').pop() || null);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    return { url, archivo, infoFecha };<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  async function headExists(url) {<!-- [et_pb_line_break_holder] -->    try {<!-- [et_pb_line_break_holder] -->      const r = await fetch(url, { method: 'HEAD' });<!-- [et_pb_line_break_holder] -->      return { verificable: true, ok: r.ok };<!-- [et_pb_line_break_holder] -->    } catch {<!-- [et_pb_line_break_holder] -->      return { verificable: false, ok: true };<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  async function loadUrl(url) {<!-- [et_pb_line_break_holder] -->    \/\/ Espera a que se cumpla la intro de 1s ANTES de pasar al estado \"loading\"<!-- [et_pb_line_break_holder] -->    await waitIntro();<!-- [et_pb_line_break_holder] -->    showMessage('loading');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    let timeoutId = null;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    try {<!-- [et_pb_line_break_holder] -->      const { url: finalUrl, archivo, infoFecha } = await resolveUrl(url);<!-- [et_pb_line_break_holder] -->      const { verificable, ok } = await headExists(finalUrl);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      if (verificable && !ok) {<!-- [et_pb_line_break_holder] -->        const fechaLegible = infoFecha ? `${infoFecha.dd}\/${infoFecha.mm}\/${infoFecha.yyyy}` : '\u2014';<!-- [et_pb_line_break_holder] -->        showMessage(`<!-- [et_pb_line_break_holder] -->          <\/p>\n<h3 style=\"margin:0 0 8px; color:#B00020;\">No se encontr\u00f3 el recurso solicitado<\/h3>\n<p><!-- [et_pb_line_break_holder] -->          <pee style=\"margin:0 0 8px;\">Intentamos cargar: <strong>${archivo || '(desconocido)'}<\/strong><\/pee><!-- [et_pb_line_break_holder] -->          ${infoFecha ? `<pee style=\"margin:0 0 12px;\">Fecha consultada: <strong>${fechaLegible}<\/strong><\/pee>` : ''}<!-- [et_pb_line_break_holder] -->          <pee style=\"margin:0;\"><!-- [et_pb_line_break_holder] -->            <a href=\"${finalUrl}\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"color:#0c71c3; text-decoration:underline;\">Abrir directamente<\/a><!-- [et_pb_line_break_holder] -->          <\/pee><!-- [et_pb_line_break_holder] -->        `);<!-- [et_pb_line_break_holder] -->        return;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      iframe.src = finalUrl;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const onLoad = async () => {<!-- [et_pb_line_break_holder] -->        await waitIntro(); \/\/ si carga antes de cumplir 1s, espera<!-- [et_pb_line_break_holder] -->        hideMessage();<!-- [et_pb_line_break_holder] -->        iframe.removeEventListener('load', onLoad);<!-- [et_pb_line_break_holder] -->        if (timeoutId) clearTimeout(timeoutId);<!-- [et_pb_line_break_holder] -->      };<!-- [et_pb_line_break_holder] -->      iframe.addEventListener('load', onLoad);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      \/\/ Fallback si demora<!-- [et_pb_line_break_holder] -->      timeoutId = setTimeout(async () => {<!-- [et_pb_line_break_holder] -->        await waitIntro();<!-- [et_pb_line_break_holder] -->        showMessage(`<!-- [et_pb_line_break_holder] -->          <\/p>\n<h3 style=\"margin:0 0 8px; color:#B00020;\">Tardando m\u00e1s de lo normal<\/h3>\n<p><!-- [et_pb_line_break_holder] -->          <pee style=\"margin:0 0 12px;\"><!-- [et_pb_line_break_holder] -->            Intentamos cargar: <strong>${archivo || '(desconocido)'}<\/strong>.<!-- [et_pb_line_break_holder] -->            Puede que a\u00fan no est\u00e9 publicado o el servidor est\u00e9 lento.<!-- [et_pb_line_break_holder] -->          <\/pee><!-- [et_pb_line_break_holder] -->          <pee style=\"margin:0;\"><!-- [et_pb_line_break_holder] -->            <a href=\"${finalUrl}\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"color:#0c71c3; text-decoration:underline;\">Abrir directamente<\/a><!-- [et_pb_line_break_holder] -->             | <!-- [et_pb_line_break_holder] -->            <a href=\"#\" onclick=\"location.reload(); return false;\" style=\"text-decoration:underline;\">Reintentar<\/a><!-- [et_pb_line_break_holder] -->          <\/pee><!-- [et_pb_line_break_holder] -->        `);<!-- [et_pb_line_break_holder] -->      }, 8000);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    } catch (err) {<!-- [et_pb_line_break_holder] -->      await waitIntro();<!-- [et_pb_line_break_holder] -->      showMessage(`<!-- [et_pb_line_break_holder] -->        <\/p>\n<h3 style=\"margin:0 0 8px; color:#B00020;\">Error al preparar el visor<\/h3>\n<p><!-- [et_pb_line_break_holder] -->        <pee style=\"margin:0;\">${(err && err.message) ? err.message : 'Error desconocido.'}<\/pee><!-- [et_pb_line_break_holder] -->      `);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/\/ Exponer para el men\u00fa externo (intro 1s en cada cambio)<!-- [et_pb_line_break_holder] -->  window.cargarIframe = async function (url, id) {<!-- [et_pb_line_break_holder] -->    if (id) {<!-- [et_pb_line_break_holder] -->      document.querySelectorAll('.menu-cndc h3.activo').forEach(el => el.classList.remove('activo'));<!-- [et_pb_line_break_holder] -->      document.getElementById(id)?.classList.add('activo');<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    startIntro();        \/\/ \u2190 Intro de 1s<!-- [et_pb_line_break_holder] -->    await loadUrl(url);  \/\/ respeta la intro con waitIntro()<!-- [et_pb_line_break_holder] -->  };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/\/ Carga inicial por defecto (con intro)<!-- [et_pb_line_break_holder] -->  document.addEventListener('DOMContentLoaded', () => {<!-- [et_pb_line_break_holder] -->    startIntro(); \/\/ \u2190 Intro 1s al iniciar<!-- [et_pb_line_break_holder] -->    const defaultUrl = 'https:\/\/backend.cndc.bo\/media\/archivos\/boletindiario\/gendia{yyyymmdd}.htm';<!-- [et_pb_line_break_holder] -->    loadUrl(defaultUrl);<!-- [et_pb_line_break_holder] -->  });<!-- [et_pb_line_break_holder] -->})();<!-- [et_pb_line_break_holder] --><\/script><!-- [et_pb_line_break_holder] -->[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Evoluci\u00f3n de la Demanda<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"class_list":["post-2554","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/w3.cndc.bo\/index.php\/wp-json\/wp\/v2\/pages\/2554","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/w3.cndc.bo\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/w3.cndc.bo\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/w3.cndc.bo\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/w3.cndc.bo\/index.php\/wp-json\/wp\/v2\/comments?post=2554"}],"version-history":[{"count":14,"href":"https:\/\/w3.cndc.bo\/index.php\/wp-json\/wp\/v2\/pages\/2554\/revisions"}],"predecessor-version":[{"id":6083,"href":"https:\/\/w3.cndc.bo\/index.php\/wp-json\/wp\/v2\/pages\/2554\/revisions\/6083"}],"wp:attachment":[{"href":"https:\/\/w3.cndc.bo\/index.php\/wp-json\/wp\/v2\/media?parent=2554"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}