@vlci/cdmvalencia_ahir 9.0.0 → 10.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/js/inicio.js +1 -1
- package/dist/js/inicio.js.map +1 -1
- package/package.json +1 -1
package/dist/js/inicio.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.inicio=t():e.inicio=t()}(self,()=>(()=>{var e={725(e){var t;self,t=()=>(()=>{"use strict";const e={d:(t,a)=>{for(var n in a)e.o(a,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:a[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}};let t={};e.r(t),e.d(t,{MONTHS_YEAR:()=>o,MONTHS_YEAR_SHORT:()=>r,TEXTS_COMMON:()=>i,THRESHOLDS:()=>xe,addPointInteger:()=>v,buildCamarasTrafico:()=>Ie,buildTableCalidadAire:()=>$e,calculateMaxYAxis:()=>I,calculatePentahoPath:()=>Le,calculateXAxisStart:()=>T,capitalizarTexto:()=>D,checkAllGroupsCollapsed:()=>Ae,configureDataBar:()=>k,configureDataGaugeCommon:()=>B,configureDataGaugeMonthCommon:()=>R,configureDataLine:()=>V,configureDataValidate:()=>Ge,configureLinesChartValidates:()=>Ue,convertDateToInteger:()=>g,convertISODateToEUDate:()=>b,convertToLanguageSelectorDateRange:()=>me,convertToTableTreeView:()=>Ee,downloadCSVTable:()=>Me,downloadPDFTable:()=>De,formatCellMultiplesLines:()=>be,formatDayMonthYear:()=>d,formatMilMillionEuros:()=>P,formatMonthAnyo:()=>c,formatName:()=>M,formatNameHeaderColumn:()=>ge,formatRoundTooltip:()=>F,formatShortMonthShortYear:()=>m,formatShortMonthYear:()=>u,formatToMillions:()=>S,formatToTons:()=>E,formatTooltip:()=>w,formatTooltipPie:()=>O,formatTrimestre:()=>f,formatWithPrefix:()=>A,getEnvironment:()=>_e,getMaxFieldNumberFromData:()=>J,getMonth:()=>n,getMonthList:()=>p,getSelectCommonOptions:()=>ie,getSelectTwoColumnsOptions:()=>se,initBarChart:()=>Be,initBarChartComparationMonth:()=>ke,initChart:()=>$,initContractAllGroups:()=>Ce,initElement:()=>N,initElementsByClass:()=>x,initExpandAllGroups:()=>Ne,initStackedBarChart:()=>Pe,initStackedBarChartMonthSeries:()=>je,initTable:()=>ye,initValueDefaultDate:()=>de,initialCalls:()=>Te,loadIframeOnClickEvent:()=>We,printDataChart:()=>_,printDataInHTMLElements:()=>q,printEchart:()=>Y,printNoDataChart:()=>L,resetFilter:()=>re,resetFilterAndUpdate:()=>he,resetFilterDate:()=>ce,resetFilterDates:()=>le,resetFilterToDefault:()=>fe,resultsetWithFields:()=>W,selectConfigDatasource:()=>ne,selectConfigDatasourceAllValue:()=>oe,selectFilterAll:()=>te,selectFilterNumItemsDefault:()=>pe,selectValueDefaultInFilter:()=>ue,separateDayMonthYearToSlash:()=>s,splitDataset:()=>U,subtractOneDay:()=>h,subtractOneMonth:()=>y,traverseRows:()=>Se,updateDomElement:()=>G,updateObject:()=>H,updateStackedBarOptions:()=>Ye}),new Map([["1","Enero"],["2","Febrero"],["3","Marzo"],["4","Abril"],["5","Mayo"],["6","Junio"],["7","Julio"],["8","Agosto"],["9","Septiembre"],["10","Octubre"],["11","Noviembre"],["12","Diciembre"]]),new Map([["1","Gener"],["2","Febrer"],["3","Març"],["4","Abril"],["5","Maig"],["6","Juny"],["7","Juliol"],["8","Agost"],["9","Setembre"],["10","Octubre"],["11","Novembre"],["12","Desembre"]]);const a={"01":"Enero","02":"Febrero","03":"Marzo","04":"Abril","05":"Mayo","06":"Junio","07":"Julio","08":"Agosto","09":"Septiembre",10:"Octubre",11:"Noviembre",12:"Diciembre"};function n(e){return{1:"Gen",2:"Feb",3:"Mar",4:"Abr",5:"Mai",6:"Jun",7:"Jul",8:"Ago",9:"Sep",10:"Oct",11:"Nov",12:"Des"}[parseInt(e.toString(),10)]}const o={es_ES:new Map([["1","Enero"],["2","Febrero"],["3","Marzo"],["4","Abril"],["5","Mayo"],["6","Junio"],["7","Julio"],["8","Agosto"],["9","Septiembre"],["10","Octubre"],["11","Noviembre"],["12","Diciembre"]]),ca_ES:new Map([["1","Gener"],["2","Febrer"],["3","Març"],["4","Abril"],["5","Maig"],["6","Juny"],["7","Juliol"],["8","Agost"],["9","Setembre"],["10","Octubre"],["11","Novembre"],["12","Desembre"]])},r={es_ES:new Map([["1","Ene"],["2","Feb"],["3","Mar"],["4","Abr"],["5","May"],["6","Jun"],["7","Jul"],["8","Ago"],["9","Sep"],["10","Oct"],["11","Nov"],["12","Dic"]]),ca_ES:new Map([["1","Gen"],["2","Feb"],["3","Mar"],["4","Abr"],["5","Mai"],["6","Jun"],["7","Jul"],["8","Ago"],["9","Set"],["10","Oct"],["11","Nov"],["12","Des"]])},i={es_ES:new Map([["last_update","Última actualización"]]),ca_ES:new Map([["last_update","Última actualització"]])};function s(e){return`${e.substring(6,8)}/${e.substring(4,6)}/${e.substring(0,4)}`}function l(e){return[e.substring(0,4),a[e.substring(4,6)]]}function c(e){const[t,a]=l(e);return`${a} ${t}`}function d(e){const[t,n,o]=function(e){return[e.substring(0,4),a[e.substring(4,6)],e.substring(6,8)]}(e);return`${o} ${n} ${t}`}function u(e){const[t,a]=l(e);return`${a.substring(0,3)} ${t}`}function m(e){const[t,a]=l(e);return`${a.substring(0,3)} '${t.substring(2,4)}`}function f(e){const[t,a]=e.split("-");return`${parseFloat(a)/3}T ${t}`}function p(){const e=o.es_ES;return Array.from(e.values()).map(e=>e.slice(0,3))}function h(e){const t=Math.floor(e/1e4),a=new Date(t,e%1e4/100-1,e%100);return a.setDate(a.getDate()-1),`${a.getFullYear()}${(a.getMonth()+1).toString().padStart(2,"0")}${a.getDate().toString().padStart(2,"0")}`}function y(e){const t=new Date(Math.floor(e/100),e%100-1,0);return`${t.getFullYear()}${(t.getMonth()+1).toString().padStart(2,"0")}`}function g(e){return"string"==typeof e?parseInt(e.replace("-",""),10):e}function b(e){if(!e||"string"!=typeof e)return"";const[t,a,n]=e.split("-");return`${n}/${a}/${t}`}function v(e,t=2){let a=navigator.language||navigator.userLanguage;a=a.length<=2?`${a}-${a.toUpperCase()}`:a;const n={minimumFractionDigits:0,maximumFractionDigits:t};return"es-ES"===a?e.toLocaleString("de-DE",n):e.toLocaleString(a,n)}function S(e){const t=1e6;return e>=t?e/t+"M":e.toString()}function E(e){return e>=1e3?e/1e3+" Tn":e.toString()}function A(e){let t,a;return e>=1e6?(t=e/1e6,a="G"):e>=1e3?(t=e/1e3,a="M"):(t=e,a="k"),{value:Math.round(100*t)/100,prefix:a}}function M(e,t=29){if(e.length>=t){const a=e.split(" ");let n="",o="";return a.forEach(e=>{`${n} ${e}`.length<=t?n+=(n?" ":"")+e:(o+=`${n}\n`,n=e)}),o+=n,o}return e}function D(e){return e.includes("N/D")?e:e.toLowerCase().replace(/(^|\s|[.,;:!?¡¿(){}[\]])([^\s])/gu,(e,t,a)=>t+a[0].toUpperCase())}function C(e,t,a,n){return new Promise(o=>{document.body.addEventListener(e,()=>{const e=t();e?o(a(e)):(console.error(n),o(null))},{once:!0})})}function N(e,t,a="MainContentLoadedCustom"){const n=document.getElementById(e);return n?Promise.resolve(t(n)):C(a,()=>document.getElementById(e),e=>t(e),`El elemento con ID ${e} aún no está disponible después del evento.`)}function x(e,t,a="MainContentLoadedCustom"){const n=document.getElementsByClassName(e);return n&&0!==n.length?Promise.resolve(Array.from(n).map(e=>t(e))):C(a,()=>{const t=document.getElementsByClassName(e);return t.length>0?Array.from(t):null},e=>e.map(e=>t(e)),`No se encontraron elementos con la clase ${e} después del evento.`)}function $(e,t){return N(e,e=>{const a=echarts.init(e);a.setOption(t,!0),window.addEventListener("resize",()=>{null!=a&&void 0!==a&&a.resize()});const n=document.getElementById("main-content");return n&&(n.addEventListener("shown.bs.collapse",()=>{a.resize()}),n.addEventListener("hidden.bs.collapse",()=>{a.resize()})),a})}function L(e,t){const a=e?document.querySelector(e):null,n=t?document.querySelector(t):null;a&&(a.hidden=!0),n&&(n.style.background="url('./build/images/nodata1.png') no-repeat top center",n.hidden=!1)}function _(e,t){const a=e?document.querySelector(e):null,n=t?document.querySelector(t):null;a&&(a.hidden=!0),n&&(n.style.background="#ffffff",n.hidden=!1)}function w(e,t=!1,a=!0,n=""){let o=`<p style="font-weight: 500;color: #565656;">${e[0].name}</p>`;return e.forEach(e=>{const r=t?Math.round(e.data):e.data,i=a?`<div style="font-weight: 400;color: #666;">${s=e.color,`<span style="display:inline-block;margin-right:5px;border-radius:10px;width:9px;height:9px;font-weight: 500;background-color:${s}"></span>`} ${e.seriesName}: \n <span style="float: right; margin-left:20px;font-weight: 600;color: #565656;">\n ${e.data?`${v(r)} ${n}`:"-"}\n </span>\n </div>`:`<div>\n <span style="font-weight: 600;color: #565656;">${e.data?`${v(r)} ${n}`:"-"}\n </span>\n </div>`;var s;o+=i}),o}function T(e){return 100*(e-120)/e}function I(e,t){const a=Math.max(...e);return a+(t-a%t)}function O(e,t=!1){const a=`<span style="display:inline-block;margin-right:5px;border-radius:10px;width:9px;height:9px;background-color:${e.color}"></span>`,n=t?`${e.percent}%`:v(e.value);return`<div> ${a} ${e.name} <span style="float: right; margin-left:20px;font-weight: 600;color: #333;"> ${n} </span></div>`}function F(e,t){let a=`${e.name} : `;return a+=`<span style="font-weight:500">${v(Math.round(e.value))}</span>`,t&&(a+=`<span> (${e.percent}%)</span>`),e.marker+a}function P(e){const t=1e6,a=Number(e);return a>=0&&a<t?`${v(a)} €`:a>=t?`${v(a/t)} M €`:"-"}function Y(e,t,a){return 0===e.length?(L(`#${t}`,`#${a}`),!1):(_(`#${a}`,`#${t}`),!0)}function j(e,t,a=1){const n=Math.max(...e.map(e=>e[t]))*a;return 5e3*Math.ceil(n/5e3)}function B(e,t,a,n=30,o=15,r=30,i=-70,s=70,l=3){const c=j(e,t.data,1.1),d=s,u=a.slice(),m=[];let f=o,p=r,h=i;for(let a=0;a<e.length;a+=1)m.push({value:e[a][t.data],name:M(String(e[a][t.type]).replace(/\[.*?\]/g,"")),color:u.shift(),title:{offsetCenter:[`${String(h)}%`,`${String(f)}%`],fontFamily:"Montserrat",fontSize:n},detail:{offsetCenter:[`${String(h)}%`,`${String(p)}%`],fontFamily:"Montserrat",width:"33%",formatter:e=>v(Math.round(e))}}),h+=d,(a+1)%l===0&&(p+=r,f+=2*o,h=i);return[c,m]}function R(e,t,a,o=0){return[j(t,a.data,1),e=>function(e,t,a){const o=v(Math.round(t)),r=n(e[a][0]),i=e[a][1],s=`\n${r} ${i} : ${o}`,l=`${o}\n${r} ${i}`;return window.innerWidth<=1710?s:l}(t,e,o),[{value:t[o][a.data]}]]}function z(e,t){const{resultset:a}={resultset:e},n=new Set,o=new Set,r=a.map(([e,a,r])=>{const i=t?Math.round(r):r;return n.add(e),o.add(a),{day:a,type:e,value:i}}),i=Array.from(o.values()),s=Array.from(n.values());return s.sort((e,t)=>e.toLowerCase().localeCompare(t.toLowerCase(),"es",{ignorePunctuation:!0})),[s.map(e=>{const t=r.filter(t=>t.type===e).map(({day:t,value:a})=>[t,e,a]),a=i.map(e=>{const a=t.find(([t])=>t===e);return a?a[2]:null});return{name:e,data:a}}),s,o]}function V(e,t=[],a=!1){const[n,o,r]=z(e,a);return n.forEach(e=>{e.type="line",e.symbol="circle",e.symbolSize=6,e.smooth=.1,t.length>0&&(e.color=t.shift())}),[n,r,o]}function k(e,t,a=!1){const[n,o,r]=z(e,a);return n.forEach(e=>{e.type="bar",e.color=t.shift(),e.smooth=!1}),[n,r,o]}function W(e){const{resultset:t,metadata:a}=e,n=[];return t.forEach(e=>{const t={};e.forEach((e,n)=>{t[a[n].colName]=e}),n.push(t)}),n}function H(e,t){const a={...e};return Object.keys(t).forEach(n=>{Object.prototype.hasOwnProperty.call(t,n)&&("series"===n&&Array.isArray(t[n])?a[n]=t[n].map((t,a)=>({...Array.isArray(e[n])&&e[n][a]||{},...t})):"object"!=typeof t[n]||null===t[n]||Array.isArray(t[n])?e[n]!==t[n]&&(a[n]=t[n]):a[n]=H(e[n]||{},t[n]))}),a}function q(e,t){const a=()=>{e.forEach(e=>{e.id in t&&Object.entries(t[e.id]).forEach(a=>{const n=a[0],o=a[1];"object"==typeof o?o.className?document.querySelector(o.className).className=e[n]:o.element&&o.format&&(document.querySelector(o.element).textContent=t[e.id][n].format(e[n])):document.querySelector(o).textContent=e[n]})})};try{a()}catch(e){document.body.addEventListener("MainContentLoadedCustom",()=>{a()})}}function J(e,t){const a=W(e),n=[];let o=null;return a.forEach(e=>{const a=e[t];"number"!=typeof a||Number.isNaN(a)||n.push(a)}),n.length>0&&(o=Math.max(...n)),o}function G(e,t){const a=document.querySelector(e);a?a.textContent=t:console.warn(`Elemento ${e} no encontrado en el DOM`)}function U(e,t=!0){const a={Cont:[],Mob:[]};return e.forEach(e=>{"is-res-001-kgs-contenidors"===e[0]&&"total"===e[1]&&(t?a.Cont.push([e[3],e[4],e[2]]):a.Cont.push([e[3],e[2]])),"Mobles"===e[1]&&(t?a.Mob.push([e[3],e[4],e[2]]):a.Mob.push([e[3],e[2]]))}),a}const X=["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],Z=["Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic"],K=["Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado"],Q=["Dom","Lun","Mar","Mié","Juv","Vie","Sáb"],ee=["Do","Lu","Ma","Mi","Ju","Vi","Sá"];function te(e){const t=e.resultset.map(e=>e[0]);return this.dashboard.fireChange(this.parameter,t),e}function ae(e){for(const t of e)if(Array.isArray(t)){if(!ae(t))return!1}else if("All"!==t)return!1;return!0}function ne(e,t,a,n){return ae(t)?(e.queryDefinition.dataAccessId=a,e.dashboard.setParameter(e.parameter,["All"])):e.queryDefinition.dataAccessId=n,!0}function oe(e){return e.dashboard.setParameter(e.parameter,["All"]),!0}function re(e){e.forEach(e=>{Dashboards.fireChange(e,["All"])})}function ie(e="Todos"){return{input:{root:{id:"All"},indexes:{id:0,label:0}},component:{Root:{strings:{isDisabled:"No disponible",allItems:e,noItems:"Ninguno",btnApply:"Aceptar",btnCancel:"Cancelar"}},Group:{Strings:{allItems:"Todos",noItems:"Ninguno",btnApply:"Aceptar",btnCancel:"Cancelar"}}}}}function se(e="Todos"){const t=ie(e);return t.input.indexes.id=1,t.input.indexes.label=0,t}function le(e,t,a,n){const o=Dashboards.getParameterValue(a),r=Dashboards.getParameterValue(n);return Dashboards.fireChange(e,[o]),Dashboards.fireChange(t,[r]),!0}function ce(e,t){const a=Dashboards.getParameterValue(t);return Dashboards.fireChange(e,[a]),!0}function de(e,t){Dashboards.fireChange(t,e.resultset[0][0])}function ue(e,t){const a=Dashboards.getParameterValue(t),n=e.parameter;""!==a&&e.dashboard.setParameter(n,[a])}function me(e){e.regional.es={monthNames:X,abbreviatedMonthNames:Z,dayNames:K,abbreviatedDayNames:Q,dayNamesMin:ee,weekHeader:"Sm",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.setDefaults(e.regional.es)}function fe(e,t){const a=Dashboards.getParameterValue(t);return Dashboards.fireChange(e,Array.isArray(a)?a:[a]),!0}function pe(e,t,a,n=0){const o=e.resultset.slice(0,a).map(e=>e[n]);return Dashboards.setParameter(t,o),e}function he(e,t,a){const n=Array.isArray(t)?t:[t];Dashboards.fireChange(e,n);const o=Dashboards.getComponent(a);o&&o.update()}function ye(e,t){return N(e,e=>new Tabulator(e,t))}function ge(e,t){let a=e.getValue();return a.length>t&&(a=`${a.substr(0,t)}<br>${a.substr(t)}`),a}function be(e,t){const a=e.getValue().split(" ");let n="",o="";return a.forEach(e=>{(o+e).length<=t?o+=`${e} `:(n+=`${o}<br>`,o=`${e} `)}),n+=`${o}<br>`,n}function ve(e,t){"expand"===t?e.treeExpand():e.treeCollapse();const a=e.getTreeChildren();a.length>0&&a.forEach(e=>{e.getTreeChildren().length>0&&ve(e,t)})}function Se(e,t){e.getRows().forEach(e=>{e.getTreeChildren().length>0&&ve(e,t)})}function Ee(e,t,a,n){const o=[];return Object.keys(e).forEach(r=>{if(Object.prototype.hasOwnProperty.call(e,r)){const i=e[r],s={[t]:i[0],_children:[]};i.shift(),i.forEach((e,o)=>{const r={[t]:a[o],[n]:e};s._children.push(r)}),o.push(s)}}),o}function Ae(e){let t=!0;return e.getGroups().forEach(e=>{e._group.visible&&(t=!1)}),t}function Me(e,t,a){const n=document.getElementById(a),o=n.cloneNode(!0);n.parentNode.replaceChild(o,n),o.addEventListener("click",()=>{e.download("csv",`${t}.csv`,{delimiter:";",bom:!0})})}function De(e,t,a){const n=document.getElementById(a),o=n.cloneNode(!0);n.parentNode.replaceChild(o,n),o.addEventListener("click",()=>{const a=e.getRows().map(e=>e.getData()),n=e.getColumns(),o={};n.forEach((e,t)=>{const n=e.getField();n&&a.every(e=>{const t=e[n];return null==t||/^-?\d+([.,]\d+)?$/.test(t.toString().trim())})&&(o[t]={halign:"right"})}),e.download("pdf",`${t}.pdf`,{title:t,rowCalcStyles:{fontSize:8,fontStyle:"bold"},autoTable:{styles:{fontSize:8,lineWidth:.1,lineColor:[200,200,200]},headStyles:{halign:"center"},columnStyles:o}})})}function Ce(e,t,a){const n=document.getElementById(a);n&&n.addEventListener("click",()=>{e.setGroupStartOpen(!1),e.setData(t)})}function Ne(e,t,a){const n=document.getElementById(a);n&&n.addEventListener("click",()=>{e.setGroupStartOpen(!0),e.setData(t)})}const xe={SO2:[100,200,350,500,750,751],NO2:[40,90,120,230,340,341],O3:[50,100,130,240,380,381],PM10:[20,40,50,100,150,151],PM25:[10,20,25,50,75,76]};function $e(e){const t=[],a={0:"b",1:"a",2:"d",3:"m",4:"mm",5:"em",6:"",7:"nd"};function n(e,t,n){const o=document.createElement("td");if(o.setAttribute("id",e),null!=t){o.innerHTML=t;const e=function(e,t){let n;return void 0===t?n=6:"ND"===t?n=7:(n=5,e.forEach((e,a)=>{t<=e&&5===n&&(n=a)})),a[n]}(n,t);o.classList.add(e)}return o}return e.forEach(e=>{const a=e;"noData"===a.operationalstatus&&(a.so2value="ND",a.no2value="ND",a.o3value="ND",a.pm10value="ND",a.pm25value="ND");const o=document.createElement("tr"),r=document.createElement("td");r.innerHTML=a.address,o.appendChild(r),o.appendChild(n(`${a.entityid}_so2`,a.so2value,xe.SO2)),o.appendChild(n(`${a.entityid}_no2`,a.no2value,xe.NO2)),o.appendChild(n(`${a.entityid}_o3`,a.o3value,xe.O3)),o.appendChild(n(`${a.entityid}_pm10`,a.pm10value,xe.PM10)),o.appendChild(n(`${a.entityid}_pm25`,a.pm25value,xe.PM25)),t.push(o)}),t}function Le(e){document.location=`${document.documentURI.split("%3A")[0]}%3A${document.documentURI.split("%3A")[1]}%3A${document.documentURI.split("%3A")[2]}%3A${document.documentURI.split("%3A")[3]}%3A${e}`}function _e(){const e=window.location.href;let t="";return t=e.includes("localhost")?"local":e.includes("sc_valencia_pre")?"PRE":"PRO",t}function we(e,t){document.querySelectorAll(`[${e}]`).forEach(a=>{!function(e,t,a){const n=t;if(e){const t=new XMLHttpRequest;t.onreadystatechange=function(){4===this.readyState&&(200===this.status&&(n.innerHTML=this.responseText,a&&a()),404===this.status&&(n.innerHTML="No se ha podido cargar correctamente."))},t.open("GET",e,!0),t.send()}}(a.getAttribute(e),a,t)})}function Te(e){window.realDashboardsInit=Dashboards.init,Dashboards.init=function(){console.warn("Dashboards.init bloqueado temporalmente")},we("include-html-cabecera",function(){!function(){const e=_e();"PRO"!==e&&(document.title+=` (${e})`)}(),function(){const e=_e();"PRO"!==e&&(document.querySelector("nav").querySelectorAll("span")[1].textContent+=` (${e})`)}()}),we("include-html-menu"),we("include-html-main-container",function(){document.body.dispatchEvent(new Event("MainContentLoadedCustom")),function(){const e=document.querySelector("body");e.classList.remove("inicio"),e.classList.add(document.documentURI.split("%3A")[4].match(/(.*?).wcdf/)[1])}(),e&&e()}),we("include-html-copyright"),function(e="MainContentLoadedCustom"){document.body.addEventListener(e,()=>{try{Dashboards.init=window.realDashboardsInit,Dashboards.init()}catch(e){console.warn("No se pudo restaurar Dashboards.init; la función original no está disponible.")}},{once:!0})}()}function Ie(e,t,a,n,o,r){let i=!1,s=!1;const l=document.querySelector(e),c=document.querySelector(t),d=()=>{"undefined"!=typeof Liferay&&"ca-ES"===Liferay.ThemeDisplay.getBCP47LanguageId()?(l&&l.setAttribute("src","https://camaras.valencia.es/camaras/ocimovil.html?camara=1&lang=cas"),c&&c.setAttribute("src","https://camaras.valencia.es/camaras/ocimovil.html?lang=cas")):(l&&l.setAttribute("src","https://camaras.valencia.es/camaras/ocimovil.html?camara=1&lang=val"),c&&c.setAttribute("src","https://camaras.valencia.es/camaras/ocimovil.html?lang=val"))};function u(e=!0){const t=document.querySelector(a);e?(l&&(l.src="about:blank"),c&&(c.src="about:blank"),t.classList.add("blur"),s=!0):(t.classList.remove("blur"),d(),s=!1)}const m=e=>{new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&(s||d(),i||(i=!0,window.setTimeout(u,r)))})}).observe(e)};!function(){const{userAgent:e}=navigator;return/iPad|iPhone|iPod|Macintosh/.test(e)&&!window.MSStream}()?(l&&(l.setAttribute("sandbox","allow-scripts"),m(l)),c&&(c.setAttribute("sandbox","allow-scripts"),m(c)),document.querySelector(o).addEventListener("click",()=>{u(!1),window.setTimeout(u,r)})):document.querySelectorAll(n)[0].style.display="none"}const Oe={grid:{containLabel:!0},title:{left:"center",top:"0",textStyle:{fontSize:15,fontFamily:"Montserrat",fontWeight:500,color:"#666"}},legend:{orient:"horizontal",bottom:"0",left:"center",width:"100%",textStyle:{fontSize:11,fontFamily:"Montserrat",fontWeight:400,color:"#666"}},toolbox:{show:!0,right:"0",top:"0",feature:{restore:{textStyle:{fontSize:6,fontFamily:"Montserrat",fontWeight:300}},saveAsImage:{textStyle:{fontSize:6,fontFamily:"Montserrat",fontWeight:300}}},emphasis:{iconStyle:{borderColor:"#ffcd00",textFill:"#666"}}},tooltip:{textStyle:{fontFamily:"Montserrat",fontSize:12}},xAxis:[{type:"category",axisLabel:{show:!0,interval:0,textStyle:{fontFamily:"Montserrat",fontSize:11}},data:[]}],yAxis:[{type:"value",alignTicks:!0,position:"right",axisLabel:{textStyle:{fontSize:10,fontFamily:"Montserrat",fontWeight:400},formatter:e=>`${e}%`}},{type:"value",position:"left",axisLabel:{textStyle:{fontSize:10,fontFamily:"Montserrat",fontWeight:400},formatter:e=>`${S(e)}€`}}]},Fe=(e,t)=>{t.sort((e,t)=>parseInt(e.anyo)-parseInt(t.anyo));const a={};t.forEach(t=>{const n=t[1],o=t[0];o!==e.seriesName||a[n]||(a[n]=0),o===e.seriesName&&(a[n]+=t[2])});let n=`<p>${e.seriesName}</p>`;for(const[t,o]of Object.entries(a))n+=`<div>${e.marker} ${t}: <span style="float: right; margin-left:20px;font-weight: 600;">${v(o)}</span></div>`;return n};function Pe(e,t,a=void 0,n=void 0){const o=null===n?void 0:n,r=new Set(t.map(e=>e[1]));let i;const s={title:{text:"SIN TITULO",left:"center",top:"top",textStyle:{fontSize:20,fontFamily:"Montserrat",fontWeight:600,color:"#666"}},tooltip:{axisPointer:{type:"shadow"},trigger:"item",formatter:e=>Fe(e,t),textStyle:{fontFamily:"Montserrat"},position(e,t,a,n,o){const r={},i=o.contentSize[1]/2,s=o.viewSize[1],l=e[1];return l<i?r.top=10:l+i>s?r.bottom=10:r.top=l-i,e[0]<o.viewSize[0]/2?r.left=e[0]+20:r.right=o.viewSize[0]-e[0]+20,r}},legend:{padding:40,textStyle:{fontFamily:"Montserrat"}},grid:{left:"3%",right:"4%",bottom:"3%",containLabel:!0},xAxis:{type:"value",splitNumber:10,name:"SIN NOMBRE",nameLocation:"start",nameTextStyle:{fontWeight:"bold",fontFamily:"Montserrat",color:"#666",padding:-40},axisLabel:{margin:5,textStyle:{fontFamily:"Montserrat"},formatter:e=>v(e)},splitLine:{lineStyle:{color:"#DDD"}}},yAxis:{type:"category",data:Array.from(r),axisLabel:{textStyle:{fontFamily:"Montserrat"}}},series:(()=>{const e={name:"SIN NOMBRE",type:"bar",stack:"total",label:{show:!0,fontFamily:"Montserrat",fontSize:10,formatter:e=>v(Math.round(e.value))},itemStyle:void 0,emphasis:{focus:"series"},data:void 0};o&&o.itemStyle&&Array.isArray(o.itemStyle.borderColor)&&(i=[...o.itemStyle.borderColor],delete o.itemStyle.borderColor);const a=function(e){return e.reduce((e,t)=>{const a=t[0];return e[a]||(e[a]=[]),e[a].push(t),e},{})}(t),n=Object.keys(a);r.forEach(e=>{n.forEach(t=>{void 0===a[t].find(t=>t[1]===e)&&(a[t].push([a[t][0][0],e,void 0]),a[t].sort())})});const s=[];return Object.keys(a).forEach(t=>{i&&(e.itemStyle={borderColor:i.shift()}),e.name=t,e.data=a[t].map(e=>e[2]);let n={};n=void 0!==o?H(e,o):e,s.push({...n})}),s})(),toolbox:{show:!0,feature:{restore:{title:"Restablir"},saveAsImage:{title:"Desar"}},right:50}};let l={};l=void 0!==a?H(s,a):s,$(e,l)}function Ye(e){let t={};return t=H(Oe,e),t}function je(e,t,a={},o={}){let r={};r=H(a,{color:["#81B1CC","#ABD9EA","#C2EEF9","#F9E2AF","#F9C780","#FDAE61","#F46D43","#FDAE61","#F9E2AF","#C2EEF9","#ABD9EA","#81B1CC"],yAxis:{data:function(){const e=new Set;return t.forEach(t=>{e.add(t[1])}),Array.from(e).sort((e,t)=>e-t)}()}});const i={itemStyle:{borderWidth:2,borderColor:["#448DAD","#89CADB","#A0DEE8","#F4D28C","#F4B569","#F79646","#F25930","#F79646","#F4D28C","#A0DEE8","#89CADB","#448DAD"]}},s=null===o?i:H(o,i),l=t;l.forEach((e,t)=>{l[t][0]=n(e[0])}),Pe(e,l,r,s)}function Be(e,t=void 0){const a={title:{text:"SIN TITULO",left:"center",top:"top",padding:50,textStyle:{fontSize:14,fontFamily:"Montserrat",fontWeight:400,color:"#333"}},legend:{show:!1},grid:{top:"30%",bottom:"5%",left:"8%",right:"8%"},xAxis:{type:"value",show:!1},yAxis:{show:!1,type:"category"},tooltip:{show:!0,textStyle:{fontFamily:"Montserrat",fontWeight:"600"},appendToBody:!0,formatter:e=>F(e,!1)},series:[{type:"bar",showBackground:!0}]};let n={};n=void 0!==t?H(a,t):a,$(e,n)}function Re(e){return Math.max(...e.map(e=>Number(e[0])))}function ze(e){const t=e.filter(t=>Number(t[0])===Re(e)),a=Array.from({length:12},()=>0);return t.forEach(([e,t,n])=>{const o=parseInt(t,10)-1;a[o]=n}),a}function Ve(e){const t=e.filter(t=>Number(t[0])===Re(e)-1),a=Array.from({length:12},()=>0);return t.forEach(([e,t,n])=>{const o=parseInt(t,10)-1;a[o]=n}),a}function ke(e,t,a=void 0){const n=Re(t).toString(),o=(Re(t)-1).toString();Be(e,H({title:{left:"center",top:"-12%",textStyle:{fontSize:15,fontFamily:"Montserrat"}},legend:{top:"10%",show:!0,data:[o,n],textStyle:{fontFamily:"Montserrat"}},grid:{bottom:"8%",top:"20%",right:"2%"},xAxis:[{type:"category",data:p(),interval:0,margin:10,axisLabel:{textStyle:{fontSize:10,fontFamily:"Montserrat",fontWeight:400}}}],yAxis:[{type:"value",axisLabel:{formatter:e=>e.toLocaleString("es-ES"),textStyle:{fontSize:10,fontFamily:"Montserrat",fontWeight:400}}}],series:[{name:o,type:"bar",data:Ve(t)},{name:n,type:"bar",barGap:0,data:ze(t)}]},a))}function We(e,t,a){const n=document.querySelector(t),o=document.querySelector(e);let r=!1;o.addEventListener("click",()=>{!1===r&&(r=!0,n.setAttribute("src","about:blank"),n.setAttribute("src",a),n.onload=()=>{r=!1})}),o.disabled=!1}const He="id",qe="fecha",Je="value";function Ge(e,t,a,n,o="es_ES"){const[r,i]=function(e,t,a){const n=[],o=[];return e.forEach(e=>{t.includes(`${e[He]}`)?n.push(`${e[qe]}`):a.includes(`${e[He]}`)&&o.push(`${e[qe]}`)}),[n.map(e=>[e,0]),o.map(e=>[e,0])]}(e,a,n);let s="es_ES"==o?"Datos sin validar":"Dades sense validar";0===i.length&&(s="");const l={name:"Datos validados",type:"line",data:[...r,i[0]],lineStyle:{color:"#00A9A0",width:4},showSymbol:!1,tooltip:{show:!1}};let c="",d="";if(0===i.length){const t=e[e.length-1].fecha;c=t,d=t}else c=i[0][0],d=i[i.length-1][0];return[...t,l,{name:"Datos NO validados",type:"line",data:i,lineStyle:{color:"#80D4CF",width:4},showSymbol:!1,tooltip:{show:!1},markArea:{silent:!0,itemStyle:{opacity:.6,color:"#eee"},tooltip:{show:!1},label:{color:"#333",fontStyle:"normal",fontWeight:"400",fontFamily:"Montserrat",fontSize:11},data:[[{name:s,xAxis:c,yAxis:0},{name:"end",xAxis:d,yAxis:Math.max(...e.filter(e=>null!==e[Je]).map(e=>parseInt(`${e[Je]}`,10)))}]]}}]}function Ue(e,t,a=void 0){$(e,H({grid:{left:"2.5%",right:"5%",bottom:"70",top:"150",containLabel:!0},title:{left:"center",top:"top",textStyle:{fontSize:20,fontFamily:"Montserrat",fontWeight:600,color:"#666"}},legend:{type:"plain",top:"50",width:"98%",textStyle:{fontFamily:"Montserrat"}},tooltip:{trigger:"axis",show:!0,formatter:e=>w(e),textStyle:{fontFamily:"Montserrat"}},xAxis:{type:"category",boundaryGap:!1,splitLine:{show:!1},axisLabel:{textStyle:{fontSize:10,fontFamily:"Montserrat",color:"#666"}}},yAxis:{type:"value",nameLocation:"end",nameGap:"0",nameTextStyle:{fontFamily:"Montserrat",fontWeight:"500",padding:[-25,0,0,-48],margin:0,align:"left",verticalAlign:"top",width:"auto"},scale:!0,splitNumber:"6",axisLabel:{margin:10,textStyle:{fontSize:10,fontFamily:"Montserrat",color:"#666"}}},dataZoom:{end:100,borderColor:"#eee",fillerColor:"rgba(0,0,0,.05)",textStyle:{fontSize:10,fontFamily:"Montserrat",color:"#333",textBorderColor:"#fff",textBorderWidth:3,fontWeight:"600"},selectedDataBackground:{lineStyle:{color:"#333"},areaStyle:{color:"#ffcd00"}},dataBackground:{backgroundColor:"rgba(0,0,0,1)",lineStyle:{color:"#333"},areaStyle:{color:"rgba(0,0,0,0.5)"}},handleStyle:{color:"rgba(0,0,0,0.2)"},moveHandleStyle:{color:"rgba(0,0,0,0.3)"},emphasis:{handleStyle:{color:"rgba(255,205,0,1)"},moveHandleStyle:{color:"rgba(255,205,0,1)"}}},toolbox:{feature:{restore:{title:"Restablir"},saveAsImage:{title:"Desar"}},right:"1%",top:"0%"},series:t},a))}return t})(),e.exports=t()}};const t={};function a(n){const o=t[n];if(void 0!==o)return o.exports;const r=t[n]={exports:{}};return e[n](r,r.exports,a),r.exports}a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.r=e=>{Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};let n={};return(()=>{"use strict";a.r(n),a.d(n,{callesCongestionadas:()=>f,callesCortadas:()=>m,countAlertasDeRuido:()=>O,echartIncidenciasPorEstadoPie:()=>E,echartIntervencionesTotalesPie:()=>S,emt:()=>B,initializeUI:()=>j,intervencionesPoliciales:()=>v,medioambienteAlertasDiarias:()=>_,medioambienteAlertasHorarias:()=>L,medioambienteClima:()=>C,medioambienteEstadoCalidadAire:()=>x,sensoresRuido:()=>I,setFechaDatos:()=>F,setToken:()=>P,top3IncidenciasPorTipologia:()=>A,traficoAccesosCiudad:()=>M,traficoAccesosCiudadDetalle:()=>D});var e=a(725);const t=e=>!Number.isNaN(Number(e)),o=(e,a=!0)=>{const n=e;if(!t(n.textContent))return;if(n.classList.add((e=>{const t=Number(e.trim());return 0===t?null:t>0?"pos":"neg"})(e.textContent)),n.textContent=(e=>{return t=e.textContent,Number(t.trim())>0?e.textContent:e.textContent.replace("-","");var t})(e),!a)return;const o=document.createElement("span");o.textContent="%",e.append(o)},r=(e,t,a,n=!1)=>{if(!Array.isArray(e)||0===e.length)return;const{idPrefijo:r,camposLeft:i,camposVariacion:s}=a;t.innerHTML="";const l=i[1]?e[0][i[1].campo]:0;e.forEach((e,c)=>{const d=c+1,u=document.createElement("li");u.id=`${r}-${d}`,u.className="list-item";const m=document.createElement("div");m.className="datos";const f=((e,t,a,n)=>{const o=document.createElement("div");return o.className="left",t.forEach(t=>{const r=document.createElement("div");let i;if(r.className=t.clase,r.id=`${a}-${n}-${t.idSufijo}`,"campo"in t?(i=e[t.campo],t.format&&(i=t.format(i))):"texto"in t&&(i=t.texto),r.textContent=i,t.span){const e=document.createElement("span");e.textContent=t.span,r.append(e)}o.append(r)}),o})(e,i,r,d),p=((e,t,a,n)=>{const r=document.createElement("div");return r.className="changes",t.forEach(t=>{let i=!0;"aplicarEstilosVariacion"in t&&(i=t.aplicarEstilosVariacion);let s=!0;"mostrarPorcentaje"in t&&(s=t.mostrarPorcentaje),r.append(((e,t,a,n="value",r=!0,i=!0)=>{const s=document.createElement("div");if(s.className="mini",e){const t=document.createElement("div");t.className="label",t.textContent=e,s.append(t)}const l=document.createElement("div");return l.id=a,l.classList.add(n),l.textContent=t,r&&o(l,i),s.append(l),s})(t.label,e[t.campo],`${a}-${n}-${t.idSufijo}`,t.clase,i,s))}),r})(e,s,r,d);if(m.append(f,p),a.extra){const t=a.extra(e,d);t&&u.append(t)}if(u.append(m),n){const t=((e,t)=>{const a=document.createElement("div");return a.className="progress",a.style.width=100*e/t+"%",a})(e[i[1].campo],l);u.append(t)}t.append(u)})},i={YYYYMMDD:({yyyy:e,mm:t,dd:a})=>`${e}${t}${a}`,"YYYY-MM-DD":({yyyy:e,mm:t,dd:a})=>`${e}-${t}-${a}`,"DD-MM-YYYY":({yyyy:e,mm:t,dd:a})=>`${a}-${t}-${e}`};function s(e,t,a="fecha"){const n=function(e){const t=new Date;return t.setDate(t.getDate()-1),(i[e]||i.YYYYMMDD)((a=t,{yyyy:String(a.getFullYear()),mm:String(a.getMonth()+1).padStart(2,"0"),dd:String(a.getDate()).padStart(2,"0")}));var a}(t);return e.some(e=>e[a]===n)}function l(e){e&&e.classList.add("hidden")}function c(e){l(document.getElementById(e))}function d(e,t){l(e.querySelector(t))}function u(e,t){const a=document.createElement("p");a.textContent=t,e.appendChild(a)}function m(t){const a={"TOTAL CALLES CORTADAS":{num_ayer:{element:"#calles-cortadas-num",format:e=>Number(e).toLocaleString("de-DE")},diferencia_dia_anterior:"#calles-cortadas-num-ayer",diferencia_semana_anterior:"#calles-cortadas-num-semana-prev"}},n=document.getElementById("calles-cortadas-trafico"),r=(0,e.resultsetWithFields)(t);if(!s(r,"YYYY-MM-DD"))return d(n,".indicador"),d(n,".mapa"),void u(n,"No hay datos de calles cortadas de ayer.");(0,e.printDataInHTMLElements)(r,a);const i=document.getElementById("calles-cortadas-num-ayer");o(i,!1);const l=document.getElementById("calles-cortadas-num-semana-prev");o(l,!1)}function f(t){const a=(0,e.resultsetWithFields)(t).sort((e,t)=>t.minutos_ayer-e.minutos_ayer),n=s(a,"YYYY-MM-DD"),o=document.getElementById("calles-congestionadas-trafico"),i=o.querySelector(":scope > ul"),c=o.querySelector(":scope > p");return n&&function(e){return e.some(e=>"Ayer no hubo calles congestionadas"===e.id)}(a)?(l(c),void u(o,"Ayer no hubo calles congestionadas.")):n?(r(a,i,{idPrefijo:"calle-cong",camposLeft:[{texto:"AYER",clase:"label",idSufijo:"label"},{campo:"minutos_ayer",clase:"number",idSufijo:"minutos",format:e=>e.toLocaleString("de-DE"),span:"min."}],camposVariacion:[{label:"COMPARACIÓN vs ANTEAYER",campo:"variacion_dia_anterior",idSufijo:"var-dia"},{label:"vs SEMANA PASADA",campo:"variacion_semana_anterior",idSufijo:"var-semana"}],extra:(e,t)=>{const a=document.createElement("div");return a.className="name",a.id=`calle-cong-${t}-nombre`,a.textContent=e.id,a}}),void i.querySelectorAll('[id$="var-dia"], [id$="var-semana"]').forEach(e=>{"Sin congestión"===e.textContent.trim()&&e.classList.add("no-congestion")})):(l(c),l(i),void u(o,"No hay datos de congestión de calles de ayer."))}const p={es_ES:new Map([["download","Descargar"],["intervenciones_totales","INTERVENCIONES TOTALES"],["intervenciones","intervenciones"],["tipologia_nivel","TIPOLOGÍA NIVEL"],["incidencias","incidencias"],["incidencias_totales","INCIDENCIAS TOTALES"]]),ca_ES:new Map([["download","Desar"],["intervenciones_totales","INTERVENCIONS TOTALS"],["intervenciones","intervencions"],["tipologia_nivel","TIPOLOGIA NIVELL"],["incidencias","incidències"],["incidencias_totales","INCIDÈNCIES TOTALS"]])},h={es_ES:new Map([["alerta","Alerta"],["aviso","Aviso"],["preaviso","Preaviso"],["avisos_diarios","Promedio diario del día anterior > {umbral} µg/m³ en 2 o más estaciones."],["avisos_horarios","Promedio horario > {umbral} µg/m³ durante 2 horas consecutivas en 2 o más estaciones"]]),ca_ES:new Map([["alerta","Alerta"],["aviso","Avís"],["preaviso","Preavís"],["avisos_diarios","Mitjana diària del dia anterior > {umbral} µg/m³ en 2 o més estacions."],["avisos_horarios","Mitjana horària > {umbral} µg/m³ durant 2 hores consecutives en 2 o més estacions"]])},y={naranjaPalido:"#F1AB86",tealPalido:"#48A9A6",amarilloPalido:"#ffbf69",azulPalido:"#4BA3C3",cranberryPalido:"#e56b6f",marinoPalido:"#284B63",naranja:"#F96E46",teal:"#307473",amarillo:"#F6AE2D",azulCeruleo:"#05668d",cranberry:"#A23E48",marino:"#0B3948",verdeClaro:"#6a9c81",tealApagado:"#7AA8A7"},g={color:Object.values(y),grid:{left:"1%",right:"1%",bottom:"2%",top:"20%",containLabel:!0},title:{show:!1,text:p.es_ES.get("intervenciones_totales"),subtext:`${p.es_ES.get("tipologia_nivel")} 1`,left:"center",top:"0",itemGap:5,textStyle:{fontSize:15,fontFamily:"Montserrat",fontWeight:500,color:"#666"},subtextStyle:{fontFamily:"Montserrat",fontSize:12,fontWeight:400,color:"#666",width:"100%"}},legend:{orient:"vertical",top:"middle",left:"right",selectedMode:!1,textStyle:{fontSize:"11",fontFamily:"Montserrat",fontWeight:"400",color:"#333"}},toolbox:{show:!1,right:"0",top:"0",emphasis:{iconStyle:{borderColor:"#ffcd00",textFill:"#666"}},feature:{saveAsImage:{title:p.es_ES.get("download"),textStyle:{fontSize:6,fontFamily:"Montserrat",fontWeight:300}}}},tooltip:{trigger:"item",confine:!0,textStyle:{fontFamily:"Montserrat",fontSize:12,fontWeight:"500"},formatter:t=>`<b style="color: #666;">${(0,e.capitalizarTexto)(t.name)}</b><br />${(0,e.addPointInteger)(t.value)} ${p.es_ES.get("intervenciones")}`},series:[{type:"pie",radius:["0","80%"],center:["23%","50%"],startAngle:0,data:[],label:{show:!0,position:"inside",formatter:"{c0}",distanceToLabelLine:0,textStyle:{fontFamily:"Varela Round",fontSize:15,lineHeight:18}},labelLine:{show:!1,length:10},emphasis:{itemStyle:{shadowBlur:10,shadowOffsetX:0,shadowColor:"rgba(0, 0, 0, 0.5)"}}}]},b={color:[y.cranberryPalido,y.tealApagado],grid:{left:"0",right:"0",bottom:"0",top:"0",containLabel:!0},title:{show:!1},legend:{show:!1},toolbox:{show:!1},tooltip:{trigger:"item",confine:!0,textStyle:{fontFamily:"Montserrat",fontSize:12,fontWeight:"500"},formatter:t=>`<b style="color: #666;">${(0,e.capitalizarTexto)(t.name)}</b><br />${(0,e.addPointInteger)(t.value)} ${p.es_ES.get("incidencias")}`},series:[{type:"pie",radius:["0","80%"],center:["40%","50%"],startAngle:0,data:[],itemStyle:{borderWidth:1,borderColor:y.cranberryPalido},label:{show:!0,position:"inside",formatter:"{c0}",distanceToLabelLine:0,textStyle:{fontFamily:"Varela Round",fontSize:15,lineHeight:18}},labelLine:{show:!1},emphasis:{itemStyle:{shadowBlur:10,shadowOffsetX:0,shadowColor:"rgba(0, 0, 0, 0.5)"}}}]};function v(t){const a={"TOTAL INTERVENCIONES":{num_ayer:{element:"#interv-pol-total",format:e=>Number(e).toLocaleString("de-DE")},variacion_dia_anterior:"#interv-pol-var-dia",variacion_semana_anterior:"#interv-pol-var-semana"}},n=(0,e.resultsetWithFields)(t);if(!s(n,"YYYYMMDD")){const e=document.getElementById("intervenciones-policiales");return d(e,".indicador"),d(e,".intervenciones-policiales-detalle"),void u(e,"No hay datos de intervenciones de ayer.")}(0,e.printDataInHTMLElements)(n,a);const r=document.getElementById("interv-pol-var-dia");o(r);const i=document.getElementById("interv-pol-var-semana");o(i)}function S(t,a){const n=JSON.parse(JSON.stringify(g));n.series[0].label.formatter=g.series[0].label.formatter,n.tooltip.formatter=g.tooltip.formatter;const o="chart-intervenciones-ayer",r="no-data-intervenciones-ayer",i=(0,e.resultsetWithFields)(a);if(!s(i,"YYYYMMDD"))return;0===i.length?(0,e.printNoDataChart)(`#${o}`,`#${r}`):(0,e.printDataChart)(`#${r}`,`#${o}`);const l=i.filter(e=>"TOTAL INTERVENCIONES"!==e.id).map(e=>({name:e.id,value:Number(e.num_ayer)}));n.series[0].data=l,(0,e.initChart)(o,n)}function E(t){const a=JSON.parse(JSON.stringify(b));a.series[0].label.formatter=b.series[0].label.formatter,a.tooltip.formatter=b.tooltip.formatter;const n="chart-incid-ciudadanas-estado-ayer",o="no-data-incid-ciudadanas-estado-ayer",i=(0,e.resultsetWithFields)(t);0===i.length?(0,e.printNoDataChart)(`#${n}`,`#${o}`):(0,e.printDataChart)(`#${o}`,`#${n}`);const l=i.map(e=>({name:e.id,value:Number(e.num_incidencias_ayer)}));a.series[0].data=l,(0,e.initChart)(n,a);const d=document.getElementById("list-incidencias-ciudadanas-estado").querySelector("ul"),m=s(i,"YYYY-MM-DD"),f=l.some(e=>e.value>0),p=document.getElementById("incidencias-ciudadanas-estados-main");return m&&!f?(c("incidencias-ciudadanas-estado"),void function(e){const t=document.createElement("p");t.textContent="Ayer no hubo incidencias.",e.querySelector("h3").insertAdjacentElement("afterend",t)}(p)):m?void r(i,d,{idPrefijo:"estado-incidencia",camposLeft:[{campo:"id",clase:"value",idSufijo:"estado"}],camposVariacion:[{label:"COMPARACIÓN vs ANTEAYER",campo:"diferencia_dia_anterior",idSufijo:"var-dia",mostrarPorcentaje:!1},{label:"vs SEMANA PASADA",campo:"diferencia_semana_anterior",idSufijo:"var-semana",mostrarPorcentaje:!1}]}):(c("incidencias-ciudadanas-estado"),void u(p,"No hay datos de incidencias registradas de ayer."))}function A(t){const a=(0,e.resultsetWithFields)(t),n=document.getElementById("incid-ciudadanas-tipologia-top-3").querySelector("ul"),o=s(a,"YYYY-MM-DD"),i=a.some(e=>Number(e.num_incidencias_ayer)>0);(!o||i)&&o?r(a,n,{idPrefijo:"tipo-incidencia",camposLeft:[{campo:"id",clase:"name",idSufijo:"tipologia"}],camposVariacion:[{campo:"num_incidencias_ayer",idSufijo:"num",clase:"number",aplicarEstilosVariacion:!1},{campo:"diferencia_dia_anterior",idSufijo:"var-dia",mostrarPorcentaje:!1},{campo:"diferencia_semana_anterior",idSufijo:"var-semana",mostrarPorcentaje:!1}]}):c("incidencias-ciudadanas-tipologia")}function M(t){const a=document.getElementById("accesos-trafico"),n={"TOTAL VEHICULOS/HORA EN EL DIA":{veh_ayer:{element:"#accesos-traf-vehiculos",format:e=>Number(e).toLocaleString("de-DE")},variacion_dia_anterior:"#accesos-traf-var-dia",variacion_semana_anterior:"#accesos-traf-var-semana"}},r=(0,e.resultsetWithFields)(t);if(!s(r,"YYYY-MM-DD"))return d(a,".datos.big"),void u(a,"No hay datos de los vehículos que accedieron a la ciudad de ayer.");(0,e.printDataInHTMLElements)(r,n);const i=document.getElementById("accesos-traf-var-dia");o(i);const l=document.getElementById("accesos-traf-var-semana");o(l)}function D(t){const a=(0,e.resultsetWithFields)(t),n=document.getElementById("accesos-trafico-detalle"),o=document.getElementById("accesos-trafico-detalle-lista");if(!a||0===a.length)return void u(n,"No hay datos disponibles.");if(!s(a,"YYYY-MM-DD"))return void u(n,"No hay datos de vehículos en las vías de acceso de ayer.");const i=a.filter(e=>"TOTAL VEHICULOS/HORA EN EL DIA"!==e.id).sort((e,t)=>t.veh_ayer-e.veh_ayer);r(i,o,{idPrefijo:"acceso",camposLeft:[{campo:"id",clase:"name",idSufijo:"nombre"},{campo:"veh_ayer",clase:"number",idSufijo:"vehiculos",format:e=>e.toLocaleString("de-DE")}],camposVariacion:[{label:"COMPARACIÓN vs ANTEAYER",campo:"variacion_dia_anterior",idSufijo:"var-dia"},{label:"vs SEMANA PASADA",campo:"variacion_semana_anterior",idSufijo:"var-semana"}]},!0)}function C(a){const n=(0,e.resultsetWithFields)(a),o=document.getElementById("sensores-clima"),r=o.querySelector("ul");if(r.innerHTML="",!n||0===n.length)return void u(o,"No hay datos disponibles.");if(!s(n,"YYYY-MM-DD"))return void u(o,"No hay datos de clima de ayer.");const i=n[0],l=[{id:"clima-temp-media",campoBbdd:"temperatura_media",label:"Temperatura",unidad:"°"},{id:"clima-temp-maxima",campoBbdd:"temperatura_maxima",label:"Máx.",unidad:"°"},{id:"clima-temp-minima",campoBbdd:"temperatura_minima",label:"Mín.",unidad:"°"},{id:"clima-humedad-media",campoBbdd:"humedad_media",label:"Humedad",unidad:"%"},{id:"clima-precip-acumulada",campoBbdd:"precipitacion_acumulada",label:"Precipitación acumulada",unidad:"mm"},{id:"clima-vel-viento-media",campoBbdd:"velocidad_viento_media",label:"Velocidad del viento",unidad:"km/h"}],[c,d]=[l.slice(0,3),l.slice(3,6)],m=document.createElement("ul");m.className="list",m.id="temp";const f=document.createElement("ul");function p(e,a){e.forEach(({id:e,campoBbdd:n,label:o,unidad:r})=>{const s=document.createElement("li");s.id=e;const l=document.createElement("div");l.className="label",l.textContent=o;const c=document.createElement("div");var d;c.className="value",c.textContent=(d=i[n],t(d)?Number(d).toLocaleString("es-ES"):d);const u=document.createElement("div");u.className="medida",u.textContent=r,s.append(l,c,u),a.appendChild(s)})}f.className="list",p(c,m),p(d,f),r.appendChild(m),r.appendChild(f)}const N=new Map([["NO2alerta",400],["NO2aviso",200],["NO2preaviso",180],["PM10aviso",80],["PM10preaviso",50]]);function x(t){const a=["Extremadamente Desfavorable","Muy Desfavorable","Desfavorable","Regular","Razonablemente Buena","Buena"],n=(0,e.resultsetWithFields)(t);if(!s(n,"YYYY-MM-DD")){const e=document.getElementById("calidad-aire");return c("sensores-calidad-aire"),void u(e,"No hay datos de calidad del aire de ayer.")}const o=n.map(e=>{const t=a.indexOf(e.calidad_ambiental_ciudad),n=-1!==t?"aire-"+(6-t):"";return{...e,calidad_ambiental_ciudad_clase:n}});(0,e.printDataInHTMLElements)(o,{"ESTADO CALIDAD AIRE":{calidad_ambiental_ciudad:{element:"#estado-calidad-aire",format:e=>e},calidad_ambiental_ciudad_clase:{className:"#estado-calidad-aire"}}})}const $=(e,t,a,n)=>{const o=document.createElement("p");o.className=e;const r=document.createElement("strong");return r.textContent=`${h.es_ES.get(e)} ${t}:`,o.appendChild(r),o.append(`${h.es_ES.get(a).replace("{umbral}",N.get(n))}`),o};function L(t){const a=(0,e.resultsetWithFields)(t),n=document.getElementById("alertas-contaminantes-est-aire");if(!a||0===a.length)return;n.classList.remove("hidden");const o=a[0],r="avisos_horarios",i="NO2";o.cant_alertas>1&&n.appendChild($("alerta",i,r,"NO2alerta")),o.cant_avisos>1&&n.appendChild($("aviso",i,r,"NO2aviso")),o.cant_preavisos>1&&n.appendChild($("preaviso",i,r,"NO2preaviso"))}function _(t){const a=(0,e.resultsetWithFields)(t),n=document.getElementById("alertas-contaminantes-est-aire");if(!a||0===a.length)return;n.classList.remove("hidden");const o=a[0],r="avisos_diarios",i="PM10";o.cant_avisos>1&&n.appendChild($("aviso",i,r,"PM10aviso")),o.cant_preavisos>1&&n.appendChild($("preaviso",i,r,"PM10preaviso"))}const w={hayAlertasDeRuido:!1};function T(e){const t=document.getElementById("sensores-ruido");if(!t)return;d(t,":scope > p"),c("tabla-sensores-ruido");let a=document.getElementById("mensaje-sin-datos-ruido");a||(a=document.createElement("p"),a.id="mensaje-sin-datos-ruido",t.appendChild(a)),a.textContent=e}function I(t,a){const n=(0,e.resultsetWithFields)(t),o=s(n,"YYYY-MM-DD"),r=w.hayAlertasDeRuido;o?!o||r?(function(e,t){function a(e){const t=document.createElement("td");return t.id=e,t.textContent=0,t}[...new Set(t.map(e=>e.areaserved))].forEach(t=>{const n=`estacion-${t.toLowerCase()}`;if(document.getElementById(n))return;const o=document.createElement("tr");o.id=n;const r=a(`${n}-nombre`);r.textContent=t,o.appendChild(r),o.appendChild(a(`${n}-cant-manana`)),o.appendChild(a(`${n}-cant-tarde`)),o.appendChild(a(`${n}-cant-noche`)),e.appendChild(o)})}(document.querySelector("#tabla-sensores-ruido > tbody"),n),function(e,t){const a=e.reduce((e,t)=>(e[t.areaserved]=(e[t.areaserved]||0)+1,e),{});Object.entries(a).forEach(([e,a])=>{const n=`estacion-${e.toLowerCase()}-cant-${t}`,o=document.getElementById(n);o&&(o.textContent=a)})}(n,a)):T("Ayer no hubo alertas de superación de ruido."):T("No hay datos de alertas de superación de ruido de ayer.")}function O(t){var a;a=(0,e.resultsetWithFields)(t)[0].total_alertas>0,w.hayAlertasDeRuido=Boolean(a)}function F(){const t=new Date;t.setDate(t.getDate()-1);const a=[String(t.getDate()).padStart(2,"0"),String(t.getMonth()+1).padStart(2,"0"),t.getFullYear()].join("/");(0,e.initElement)("fecha-datos",e=>{e.textContent=a})}function P(t){const a=(0,e.resultsetWithFields)(t)[0].token;if(!a)throw new Error("No se pudo obtener el token desde base de datos");!function(e){try{document.querySelector("#if-estados-trafico").setAttribute("src",`https://geoportal.valencia.es/portal/apps/webappviewer/index.html?id=fdcb9a8cbde94431a72f6b45f4c96185&mobileBreakPoint=300&token=${e}`)}catch(e){console.error("No se pudo cargar el token, y por tanto, no se han podido mostrar el mapa. Error:",e)}}(a)}function Y(e){return e instanceof HTMLButtonElement}function j(){(0,e.initElementsByClass)("guia",e=>{Y(e)&&e.addEventListener("click",()=>{document.body.classList.add("historia")})}),(0,e.initElementsByClass)("info",e=>{Y(e)&&e.addEventListener("click",()=>{document.body.classList.remove("historia")})})}function B(t){const a=document.getElementById("viajeros-emt"),n=document.getElementById("viajeros-emt-franjas-lista"),i=(0,e.resultsetWithFields)(t);if(!Array.isArray(i)||0===i.length||!s(i,"YYYY-MM-DD"))return d(a,".datos.big"),d(a,".list"),n&&(n.innerHTML=""),void u(a,"No hay datos de ayer.");const l=i[0].viajeros_ayer;if(null==l||""===l||Number.isNaN(Number(l)))return d(a,".datos.big"),d(a,".list"),n&&(n.innerHTML=""),void u(a,"No hay datos de los viajeros totales de la EMT.");const c={"VIAJEROS TOTALES EMT":{viajeros_ayer:{element:"#viajeros-emt-total",format:e=>Number(e).toLocaleString("de-DE")},variacion_dia_anterior:"#viajeros-emt-var-dia",variacion_semana_anterior:"#viajeros-emt-var-semana"}};(0,e.printDataInHTMLElements)(i,c);const m={"VIAJEROS EMT MANANA":"AYER POR LA MAÑANA","VIAJEROS EMT TARDE":"AYER POR LA TARDE","VIAJEROS EMT NOCHE":"AYER POR LA NOCHE"},f=i.filter(e=>"VIAJEROS TOTALES EMT"!==e.id).map(e=>({...e,name:m[e.id]||e.name})).sort((e,t)=>{const a={"VIAJEROS EMT MANANA":1,"VIAJEROS EMT TARDE":2,"VIAJEROS EMT NOCHE":3};return a[e.id]-a[t.id]});r(f,n,{idPrefijo:"viajeros-emt",camposLeft:[{campo:"name",clase:"label franja-label",idSufijo:"nombre"},{campo:"viajeros_ayer",clase:"number",idSufijo:"viajeros",format:e=>null==e||""===e||Number.isNaN(Number(e))?"No hay datos":Number(e).toLocaleString("de-DE")},{campo:"franja_horaria",clase:"muted small",idSufijo:"franja"}],camposVariacion:[{label:"COMPARACIÓN vs ANTEAYER",campo:"variacion_dia_anterior",idSufijo:"var-dia",aplicarEstilosVariacion:!1},{label:"vs SEMANA PASADA",campo:"variacion_semana_anterior",idSufijo:"var-semana",aplicarEstilosVariacion:!1}]},!1),a.querySelectorAll('[id$="var-dia"], [id$="var-semana"]').forEach(e=>(e=>{const t=e,a=t.textContent.trim();if(t.classList.remove("pos","neg","sin-datos"),""===a||"null"===a||"NaN"===a)return t.textContent="No hay datos",void t.classList.add("sin-datos");o(t)})(e))}})(),n})());
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.inicio=t():e.inicio=t()}(self,()=>(()=>{var e={725(e){var t;self,t=()=>(()=>{"use strict";const e={d:(t,a)=>{for(var n in a)e.o(a,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:a[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}};let t={};e.r(t),e.d(t,{MONTHS_YEAR:()=>o,MONTHS_YEAR_SHORT:()=>r,TEXTS_COMMON:()=>i,THRESHOLDS:()=>xe,addPointInteger:()=>v,buildCamarasTrafico:()=>Ie,buildTableCalidadAire:()=>$e,calculateMaxYAxis:()=>I,calculatePentahoPath:()=>Le,calculateXAxisStart:()=>T,capitalizarTexto:()=>D,checkAllGroupsCollapsed:()=>Ae,configureDataBar:()=>k,configureDataGaugeCommon:()=>B,configureDataGaugeMonthCommon:()=>R,configureDataLine:()=>V,configureDataValidate:()=>Ge,configureLinesChartValidates:()=>Ue,convertDateToInteger:()=>g,convertISODateToEUDate:()=>b,convertToLanguageSelectorDateRange:()=>me,convertToTableTreeView:()=>Ee,downloadCSVTable:()=>Me,downloadPDFTable:()=>De,formatCellMultiplesLines:()=>be,formatDayMonthYear:()=>d,formatMilMillionEuros:()=>P,formatMonthAnyo:()=>c,formatName:()=>M,formatNameHeaderColumn:()=>ge,formatRoundTooltip:()=>F,formatShortMonthShortYear:()=>m,formatShortMonthYear:()=>u,formatToMillions:()=>S,formatToTons:()=>E,formatTooltip:()=>w,formatTooltipPie:()=>O,formatTrimestre:()=>f,formatWithPrefix:()=>A,getEnvironment:()=>_e,getMaxFieldNumberFromData:()=>J,getMonth:()=>n,getMonthList:()=>p,getSelectCommonOptions:()=>ie,getSelectTwoColumnsOptions:()=>se,initBarChart:()=>Be,initBarChartComparationMonth:()=>ke,initChart:()=>$,initContractAllGroups:()=>Ce,initElement:()=>N,initElementsByClass:()=>x,initExpandAllGroups:()=>Ne,initStackedBarChart:()=>Pe,initStackedBarChartMonthSeries:()=>je,initTable:()=>ye,initValueDefaultDate:()=>de,initialCalls:()=>Te,loadIframeOnClickEvent:()=>We,printDataChart:()=>_,printDataInHTMLElements:()=>q,printEchart:()=>Y,printNoDataChart:()=>L,resetFilter:()=>re,resetFilterAndUpdate:()=>he,resetFilterDate:()=>ce,resetFilterDates:()=>le,resetFilterToDefault:()=>fe,resultsetWithFields:()=>W,selectConfigDatasource:()=>ne,selectConfigDatasourceAllValue:()=>oe,selectFilterAll:()=>te,selectFilterNumItemsDefault:()=>pe,selectValueDefaultInFilter:()=>ue,separateDayMonthYearToSlash:()=>s,splitDataset:()=>U,subtractOneDay:()=>h,subtractOneMonth:()=>y,traverseRows:()=>Se,updateDomElement:()=>G,updateObject:()=>H,updateStackedBarOptions:()=>Ye}),new Map([["1","Enero"],["2","Febrero"],["3","Marzo"],["4","Abril"],["5","Mayo"],["6","Junio"],["7","Julio"],["8","Agosto"],["9","Septiembre"],["10","Octubre"],["11","Noviembre"],["12","Diciembre"]]),new Map([["1","Gener"],["2","Febrer"],["3","Març"],["4","Abril"],["5","Maig"],["6","Juny"],["7","Juliol"],["8","Agost"],["9","Setembre"],["10","Octubre"],["11","Novembre"],["12","Desembre"]]);const a={"01":"Enero","02":"Febrero","03":"Marzo","04":"Abril","05":"Mayo","06":"Junio","07":"Julio","08":"Agosto","09":"Septiembre",10:"Octubre",11:"Noviembre",12:"Diciembre"};function n(e){return{1:"Gen",2:"Feb",3:"Mar",4:"Abr",5:"Mai",6:"Jun",7:"Jul",8:"Ago",9:"Sep",10:"Oct",11:"Nov",12:"Des"}[parseInt(e.toString(),10)]}const o={es_ES:new Map([["1","Enero"],["2","Febrero"],["3","Marzo"],["4","Abril"],["5","Mayo"],["6","Junio"],["7","Julio"],["8","Agosto"],["9","Septiembre"],["10","Octubre"],["11","Noviembre"],["12","Diciembre"]]),ca_ES:new Map([["1","Gener"],["2","Febrer"],["3","Març"],["4","Abril"],["5","Maig"],["6","Juny"],["7","Juliol"],["8","Agost"],["9","Setembre"],["10","Octubre"],["11","Novembre"],["12","Desembre"]])},r={es_ES:new Map([["1","Ene"],["2","Feb"],["3","Mar"],["4","Abr"],["5","May"],["6","Jun"],["7","Jul"],["8","Ago"],["9","Sep"],["10","Oct"],["11","Nov"],["12","Dic"]]),ca_ES:new Map([["1","Gen"],["2","Feb"],["3","Mar"],["4","Abr"],["5","Mai"],["6","Jun"],["7","Jul"],["8","Ago"],["9","Set"],["10","Oct"],["11","Nov"],["12","Des"]])},i={es_ES:new Map([["last_update","Última actualización"]]),ca_ES:new Map([["last_update","Última actualització"]])};function s(e){return`${e.substring(6,8)}/${e.substring(4,6)}/${e.substring(0,4)}`}function l(e){return[e.substring(0,4),a[e.substring(4,6)]]}function c(e){const[t,a]=l(e);return`${a} ${t}`}function d(e){const[t,n,o]=function(e){return[e.substring(0,4),a[e.substring(4,6)],e.substring(6,8)]}(e);return`${o} ${n} ${t}`}function u(e){const[t,a]=l(e);return`${a.substring(0,3)} ${t}`}function m(e){const[t,a]=l(e);return`${a.substring(0,3)} '${t.substring(2,4)}`}function f(e){const[t,a]=e.split("-");return`${parseFloat(a)/3}T ${t}`}function p(){const e=o.es_ES;return Array.from(e.values()).map(e=>e.slice(0,3))}function h(e){const t=Math.floor(e/1e4),a=new Date(t,e%1e4/100-1,e%100);return a.setDate(a.getDate()-1),`${a.getFullYear()}${(a.getMonth()+1).toString().padStart(2,"0")}${a.getDate().toString().padStart(2,"0")}`}function y(e){const t=new Date(Math.floor(e/100),e%100-1,0);return`${t.getFullYear()}${(t.getMonth()+1).toString().padStart(2,"0")}`}function g(e){return"string"==typeof e?parseInt(e.replace("-",""),10):e}function b(e){if(!e||"string"!=typeof e)return"";const[t,a,n]=e.split("-");return`${n}/${a}/${t}`}function v(e,t=2){let a=navigator.language||navigator.userLanguage;a=a.length<=2?`${a}-${a.toUpperCase()}`:a;const n={minimumFractionDigits:0,maximumFractionDigits:t};return"es-ES"===a?e.toLocaleString("de-DE",n):e.toLocaleString(a,n)}function S(e){const t=1e6;return e>=t?e/t+"M":e.toString()}function E(e){return e>=1e3?e/1e3+" Tn":e.toString()}function A(e){let t,a;return e>=1e6?(t=e/1e6,a="G"):e>=1e3?(t=e/1e3,a="M"):(t=e,a="k"),{value:Math.round(100*t)/100,prefix:a}}function M(e,t=29){if(e.length>=t){const a=e.split(" ");let n="",o="";return a.forEach(e=>{`${n} ${e}`.length<=t?n+=(n?" ":"")+e:(o+=`${n}\n`,n=e)}),o+=n,o}return e}function D(e){return e.includes("N/D")?e:e.toLowerCase().replace(/(^|\s|[.,;:!?¡¿(){}[\]])([^\s])/gu,(e,t,a)=>t+a[0].toUpperCase())}function C(e,t,a,n){return new Promise(o=>{document.body.addEventListener(e,()=>{const e=t();e?o(a(e)):(console.error(n),o(null))},{once:!0})})}function N(e,t,a="MainContentLoadedCustom"){const n=document.getElementById(e);return n?Promise.resolve(t(n)):C(a,()=>document.getElementById(e),e=>t(e),`El elemento con ID ${e} aún no está disponible después del evento.`)}function x(e,t,a="MainContentLoadedCustom"){const n=document.getElementsByClassName(e);return n&&0!==n.length?Promise.resolve(Array.from(n).map(e=>t(e))):C(a,()=>{const t=document.getElementsByClassName(e);return t.length>0?Array.from(t):null},e=>e.map(e=>t(e)),`No se encontraron elementos con la clase ${e} después del evento.`)}function $(e,t){return N(e,e=>{const a=echarts.init(e);a.setOption(t,!0),window.addEventListener("resize",()=>{null!=a&&void 0!==a&&a.resize()});const n=document.getElementById("main-content");return n&&(n.addEventListener("shown.bs.collapse",()=>{a.resize()}),n.addEventListener("hidden.bs.collapse",()=>{a.resize()})),a})}function L(e,t){const a=e?document.querySelector(e):null,n=t?document.querySelector(t):null;a&&(a.hidden=!0),n&&(n.style.background="url('./build/images/nodata1.png') no-repeat top center",n.hidden=!1)}function _(e,t){const a=e?document.querySelector(e):null,n=t?document.querySelector(t):null;a&&(a.hidden=!0),n&&(n.style.background="#ffffff",n.hidden=!1)}function w(e,t=!1,a=!0,n=""){let o=`<p style="font-weight: 500;color: #565656;">${e[0].name}</p>`;return e.forEach(e=>{const r=t?Math.round(e.data):e.data,i=a?`<div style="font-weight: 400;color: #666;">${s=e.color,`<span style="display:inline-block;margin-right:5px;border-radius:10px;width:9px;height:9px;font-weight: 500;background-color:${s}"></span>`} ${e.seriesName}: \n <span style="float: right; margin-left:20px;font-weight: 600;color: #565656;">\n ${e.data?`${v(r)} ${n}`:"-"}\n </span>\n </div>`:`<div>\n <span style="font-weight: 600;color: #565656;">${e.data?`${v(r)} ${n}`:"-"}\n </span>\n </div>`;var s;o+=i}),o}function T(e){return 100*(e-120)/e}function I(e,t){const a=Math.max(...e);return a+(t-a%t)}function O(e,t=!1){const a=`<span style="display:inline-block;margin-right:5px;border-radius:10px;width:9px;height:9px;background-color:${e.color}"></span>`,n=t?`${e.percent}%`:v(e.value);return`<div> ${a} ${e.name} <span style="float: right; margin-left:20px;font-weight: 600;color: #333;"> ${n} </span></div>`}function F(e,t){let a=`${e.name} : `;return a+=`<span style="font-weight:500">${v(Math.round(e.value))}</span>`,t&&(a+=`<span> (${e.percent}%)</span>`),e.marker+a}function P(e){const t=1e6,a=Number(e);return a>=0&&a<t?`${v(a)} €`:a>=t?`${v(a/t)} M €`:"-"}function Y(e,t,a){return 0===e.length?(L(`#${t}`,`#${a}`),!1):(_(`#${a}`,`#${t}`),!0)}function j(e,t,a=1){const n=Math.max(...e.map(e=>e[t]))*a;return 5e3*Math.ceil(n/5e3)}function B(e,t,a,n=30,o=15,r=30,i=-70,s=70,l=3){const c=j(e,t.data,1.1),d=s,u=a.slice(),m=[];let f=o,p=r,h=i;for(let a=0;a<e.length;a+=1)m.push({value:e[a][t.data],name:M(String(e[a][t.type]).replace(/\[.*?\]/g,"")),color:u.shift(),title:{offsetCenter:[`${String(h)}%`,`${String(f)}%`],fontFamily:"Montserrat",fontSize:n},detail:{offsetCenter:[`${String(h)}%`,`${String(p)}%`],fontFamily:"Montserrat",width:"33%",formatter:e=>v(Math.round(e))}}),h+=d,(a+1)%l===0&&(p+=r,f+=2*o,h=i);return[c,m]}function R(e,t,a,o=0){return[j(t,a.data,1),e=>function(e,t,a){const o=v(Math.round(t)),r=n(e[a][0]),i=e[a][1],s=`\n${r} ${i} : ${o}`,l=`${o}\n${r} ${i}`;return window.innerWidth<=1710?s:l}(t,e,o),[{value:t[o][a.data]}]]}function z(e,t){const{resultset:a}={resultset:e},n=new Set,o=new Set,r=a.map(([e,a,r])=>{const i=t?Math.round(r):r;return n.add(e),o.add(a),{day:a,type:e,value:i}}),i=Array.from(o.values()),s=Array.from(n.values());return s.sort((e,t)=>e.toLowerCase().localeCompare(t.toLowerCase(),"es",{ignorePunctuation:!0})),[s.map(e=>{const t=r.filter(t=>t.type===e).map(({day:t,value:a})=>[t,e,a]),a=i.map(e=>{const a=t.find(([t])=>t===e);return a?a[2]:null});return{name:e,data:a}}),s,o]}function V(e,t=[],a=!1){const[n,o,r]=z(e,a);return n.forEach(e=>{e.type="line",e.symbol="circle",e.symbolSize=6,e.smooth=.1,t.length>0&&(e.color=t.shift())}),[n,r,o]}function k(e,t,a=!1){const[n,o,r]=z(e,a);return n.forEach(e=>{e.type="bar",e.color=t.shift(),e.smooth=!1}),[n,r,o]}function W(e){const{resultset:t,metadata:a}=e,n=[];return t.forEach(e=>{const t={};e.forEach((e,n)=>{t[a[n].colName]=e}),n.push(t)}),n}function H(e,t){const a={...e};return Object.keys(t).forEach(n=>{Object.prototype.hasOwnProperty.call(t,n)&&("series"===n&&Array.isArray(t[n])?a[n]=t[n].map((t,a)=>({...Array.isArray(e[n])&&e[n][a]||{},...t})):"object"!=typeof t[n]||null===t[n]||Array.isArray(t[n])?e[n]!==t[n]&&(a[n]=t[n]):a[n]=H(e[n]||{},t[n]))}),a}function q(e,t){const a=()=>{e.forEach(e=>{e.id in t&&Object.entries(t[e.id]).forEach(a=>{const n=a[0],o=a[1];"object"==typeof o?o.className?document.querySelector(o.className).className=e[n]:o.element&&o.format&&(document.querySelector(o.element).textContent=t[e.id][n].format(e[n])):document.querySelector(o).textContent=e[n]})})};try{a()}catch(e){document.body.addEventListener("MainContentLoadedCustom",()=>{a()})}}function J(e,t){const a=W(e),n=[];let o=null;return a.forEach(e=>{const a=e[t];"number"!=typeof a||Number.isNaN(a)||n.push(a)}),n.length>0&&(o=Math.max(...n)),o}function G(e,t){const a=document.querySelector(e);a?a.textContent=t:console.warn(`Elemento ${e} no encontrado en el DOM`)}function U(e,t=!0){const a={Cont:[],Mob:[]};return e.forEach(e=>{"is-res-001-kgs-contenidors"===e[0]&&"total"===e[1]&&(t?a.Cont.push([e[3],e[4],e[2]]):a.Cont.push([e[3],e[2]])),"Mobles"===e[1]&&(t?a.Mob.push([e[3],e[4],e[2]]):a.Mob.push([e[3],e[2]]))}),a}const X=["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],Z=["Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic"],K=["Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado"],Q=["Dom","Lun","Mar","Mié","Juv","Vie","Sáb"],ee=["Do","Lu","Ma","Mi","Ju","Vi","Sá"];function te(e){const t=e.resultset.map(e=>e[0]);return this.dashboard.fireChange(this.parameter,t),e}function ae(e){for(const t of e)if(Array.isArray(t)){if(!ae(t))return!1}else if("All"!==t)return!1;return!0}function ne(e,t,a,n){return ae(t)?(e.queryDefinition.dataAccessId=a,e.dashboard.setParameter(e.parameter,["All"])):e.queryDefinition.dataAccessId=n,!0}function oe(e){return e.dashboard.setParameter(e.parameter,["All"]),!0}function re(e){e.forEach(e=>{Dashboards.fireChange(e,["All"])})}function ie(e="Todos"){return{input:{root:{id:"All"},indexes:{id:0,label:0}},component:{Root:{strings:{isDisabled:"No disponible",allItems:e,noItems:"Ninguno",btnApply:"Aceptar",btnCancel:"Cancelar"}},Group:{Strings:{allItems:"Todos",noItems:"Ninguno",btnApply:"Aceptar",btnCancel:"Cancelar"}}}}}function se(e="Todos"){const t=ie(e);return t.input.indexes.id=1,t.input.indexes.label=0,t}function le(e,t,a,n){const o=Dashboards.getParameterValue(a),r=Dashboards.getParameterValue(n);return Dashboards.fireChange(e,[o]),Dashboards.fireChange(t,[r]),!0}function ce(e,t){const a=Dashboards.getParameterValue(t);return Dashboards.fireChange(e,[a]),!0}function de(e,t){Dashboards.fireChange(t,e.resultset[0][0])}function ue(e,t){const a=Dashboards.getParameterValue(t),n=e.parameter;""!==a&&e.dashboard.setParameter(n,[a])}function me(e){e.regional.es={monthNames:X,abbreviatedMonthNames:Z,dayNames:K,abbreviatedDayNames:Q,dayNamesMin:ee,weekHeader:"Sm",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.setDefaults(e.regional.es)}function fe(e,t){const a=Dashboards.getParameterValue(t);return Dashboards.fireChange(e,Array.isArray(a)?a:[a]),!0}function pe(e,t,a,n=0){const o=e.resultset.slice(0,a).map(e=>e[n]);return Dashboards.setParameter(t,o),e}function he(e,t,a){const n=Array.isArray(t)?t:[t];Dashboards.fireChange(e,n);const o=Dashboards.getComponent(a);o&&o.update()}function ye(e,t){return N(e,e=>new Tabulator(e,t))}function ge(e,t){let a=e.getValue();return a.length>t&&(a=`${a.substr(0,t)}<br>${a.substr(t)}`),a}function be(e,t){const a=e.getValue().split(" ");let n="",o="";return a.forEach(e=>{(o+e).length<=t?o+=`${e} `:(n+=`${o}<br>`,o=`${e} `)}),n+=`${o}<br>`,n}function ve(e,t){"expand"===t?e.treeExpand():e.treeCollapse();const a=e.getTreeChildren();a.length>0&&a.forEach(e=>{e.getTreeChildren().length>0&&ve(e,t)})}function Se(e,t){e.getRows().forEach(e=>{e.getTreeChildren().length>0&&ve(e,t)})}function Ee(e,t,a,n){const o=[];return Object.keys(e).forEach(r=>{if(Object.prototype.hasOwnProperty.call(e,r)){const i=e[r],s={[t]:i[0],_children:[]};i.shift(),i.forEach((e,o)=>{const r={[t]:a[o],[n]:e};s._children.push(r)}),o.push(s)}}),o}function Ae(e){let t=!0;return e.getGroups().forEach(e=>{e._group.visible&&(t=!1)}),t}function Me(e,t,a){const n=document.getElementById(a),o=n.cloneNode(!0);n.parentNode.replaceChild(o,n),o.addEventListener("click",()=>{e.download("csv",`${t}.csv`,{delimiter:";",bom:!0})})}function De(e,t,a){const n=document.getElementById(a),o=n.cloneNode(!0);n.parentNode.replaceChild(o,n),o.addEventListener("click",()=>{const a=e.getRows().map(e=>e.getData()),n=e.getColumns(),o={};n.forEach((e,t)=>{const n=e.getField();n&&a.every(e=>{const t=e[n];return null==t||/^-?\d+([.,]\d+)?$/.test(t.toString().trim())})&&(o[t]={halign:"right"})}),e.download("pdf",`${t}.pdf`,{title:t,rowCalcStyles:{fontSize:8,fontStyle:"bold"},autoTable:{styles:{fontSize:8,lineWidth:.1,lineColor:[200,200,200]},headStyles:{halign:"center"},columnStyles:o}})})}function Ce(e,t,a){const n=document.getElementById(a);n&&n.addEventListener("click",()=>{e.setGroupStartOpen(!1),e.setData(t)})}function Ne(e,t,a){const n=document.getElementById(a);n&&n.addEventListener("click",()=>{e.setGroupStartOpen(!0),e.setData(t)})}const xe={SO2:[100,200,350,500,750,751],NO2:[40,90,120,230,340,341],O3:[50,100,130,240,380,381],PM10:[20,40,50,100,150,151],PM25:[10,20,25,50,75,76]};function $e(e){const t=[],a={0:"b",1:"a",2:"d",3:"m",4:"mm",5:"em",6:"",7:"nd"};function n(e,t,n){const o=document.createElement("td");if(o.setAttribute("id",e),null!=t){o.innerHTML=t;const e=function(e,t){let n;return void 0===t?n=6:"ND"===t?n=7:(n=5,e.forEach((e,a)=>{t<=e&&5===n&&(n=a)})),a[n]}(n,t);o.classList.add(e)}return o}return e.forEach(e=>{const a=e;"noData"===a.operationalstatus&&(a.so2value="ND",a.no2value="ND",a.o3value="ND",a.pm10value="ND",a.pm25value="ND");const o=document.createElement("tr"),r=document.createElement("td");r.innerHTML=a.address,o.appendChild(r),o.appendChild(n(`${a.entityid}_so2`,a.so2value,xe.SO2)),o.appendChild(n(`${a.entityid}_no2`,a.no2value,xe.NO2)),o.appendChild(n(`${a.entityid}_o3`,a.o3value,xe.O3)),o.appendChild(n(`${a.entityid}_pm10`,a.pm10value,xe.PM10)),o.appendChild(n(`${a.entityid}_pm25`,a.pm25value,xe.PM25)),t.push(o)}),t}function Le(e){document.location=`${document.documentURI.split("%3A")[0]}%3A${document.documentURI.split("%3A")[1]}%3A${document.documentURI.split("%3A")[2]}%3A${document.documentURI.split("%3A")[3]}%3A${e}`}function _e(){const e=window.location.href;let t="";return t=e.includes("localhost")?"local":e.includes("sc_valencia_pre")?"PRE":"PRO",t}function we(e,t){document.querySelectorAll(`[${e}]`).forEach(a=>{!function(e,t,a){const n=t;if(e){const t=new XMLHttpRequest;t.onreadystatechange=function(){4===this.readyState&&(200===this.status&&(n.innerHTML=this.responseText,a&&a()),404===this.status&&(n.innerHTML="No se ha podido cargar correctamente."))},t.open("GET",e,!0),t.send()}}(a.getAttribute(e),a,t)})}function Te(e){window.realDashboardsInit=Dashboards.init,Dashboards.init=function(){console.warn("Dashboards.init bloqueado temporalmente")},we("include-html-cabecera",function(){!function(){const e=_e();"PRO"!==e&&(document.title+=` (${e})`)}(),function(){const e=_e();"PRO"!==e&&(document.querySelector("nav").querySelectorAll("span")[1].textContent+=` (${e})`)}()}),we("include-html-menu"),we("include-html-main-container",function(){document.body.dispatchEvent(new Event("MainContentLoadedCustom")),function(){const e=document.querySelector("body");e.classList.remove("inicio"),e.classList.add(document.documentURI.split("%3A")[4].match(/(.*?).wcdf/)[1])}(),e&&e()}),we("include-html-copyright"),function(e="MainContentLoadedCustom"){document.body.addEventListener(e,()=>{try{Dashboards.init=window.realDashboardsInit,Dashboards.init()}catch(e){console.warn("No se pudo restaurar Dashboards.init; la función original no está disponible.")}},{once:!0})}()}function Ie(e,t,a,n,o,r){let i=!1,s=!1;const l=document.querySelector(e),c=document.querySelector(t),d=()=>{"undefined"!=typeof Liferay&&"ca-ES"===Liferay.ThemeDisplay.getBCP47LanguageId()?(l&&l.setAttribute("src","https://camaras.valencia.es/camaras/ocimovil.html?camara=1&lang=cas"),c&&c.setAttribute("src","https://camaras.valencia.es/camaras/ocimovil.html?lang=cas")):(l&&l.setAttribute("src","https://camaras.valencia.es/camaras/ocimovil.html?camara=1&lang=val"),c&&c.setAttribute("src","https://camaras.valencia.es/camaras/ocimovil.html?lang=val"))};function u(e=!0){const t=document.querySelector(a);e?(l&&(l.src="about:blank"),c&&(c.src="about:blank"),t.classList.add("blur"),s=!0):(t.classList.remove("blur"),d(),s=!1)}const m=e=>{new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&(s||d(),i||(i=!0,window.setTimeout(u,r)))})}).observe(e)};!function(){const{userAgent:e}=navigator;return/iPad|iPhone|iPod|Macintosh/.test(e)&&!window.MSStream}()?(l&&(l.setAttribute("sandbox","allow-scripts"),m(l)),c&&(c.setAttribute("sandbox","allow-scripts"),m(c)),document.querySelector(o).addEventListener("click",()=>{u(!1),window.setTimeout(u,r)})):document.querySelectorAll(n)[0].style.display="none"}const Oe={grid:{containLabel:!0},title:{left:"center",top:"0",textStyle:{fontSize:15,fontFamily:"Montserrat",fontWeight:500,color:"#666"}},legend:{orient:"horizontal",bottom:"0",left:"center",width:"100%",textStyle:{fontSize:11,fontFamily:"Montserrat",fontWeight:400,color:"#666"}},toolbox:{show:!0,right:"0",top:"0",feature:{restore:{textStyle:{fontSize:6,fontFamily:"Montserrat",fontWeight:300}},saveAsImage:{textStyle:{fontSize:6,fontFamily:"Montserrat",fontWeight:300}}},emphasis:{iconStyle:{borderColor:"#ffcd00",textFill:"#666"}}},tooltip:{textStyle:{fontFamily:"Montserrat",fontSize:12}},xAxis:[{type:"category",axisLabel:{show:!0,interval:0,textStyle:{fontFamily:"Montserrat",fontSize:11}},data:[]}],yAxis:[{type:"value",alignTicks:!0,position:"right",axisLabel:{textStyle:{fontSize:10,fontFamily:"Montserrat",fontWeight:400},formatter:e=>`${e}%`}},{type:"value",position:"left",axisLabel:{textStyle:{fontSize:10,fontFamily:"Montserrat",fontWeight:400},formatter:e=>`${S(e)}€`}}]},Fe=(e,t)=>{t.sort((e,t)=>parseInt(e.anyo)-parseInt(t.anyo));const a={};t.forEach(t=>{const n=t[1],o=t[0];o!==e.seriesName||a[n]||(a[n]=0),o===e.seriesName&&(a[n]+=t[2])});let n=`<p>${e.seriesName}</p>`;for(const[t,o]of Object.entries(a))n+=`<div>${e.marker} ${t}: <span style="float: right; margin-left:20px;font-weight: 600;">${v(o)}</span></div>`;return n};function Pe(e,t,a=void 0,n=void 0){const o=null===n?void 0:n,r=new Set(t.map(e=>e[1]));let i;const s={title:{text:"SIN TITULO",left:"center",top:"top",textStyle:{fontSize:20,fontFamily:"Montserrat",fontWeight:600,color:"#666"}},tooltip:{axisPointer:{type:"shadow"},trigger:"item",formatter:e=>Fe(e,t),textStyle:{fontFamily:"Montserrat"},position(e,t,a,n,o){const r={},i=o.contentSize[1]/2,s=o.viewSize[1],l=e[1];return l<i?r.top=10:l+i>s?r.bottom=10:r.top=l-i,e[0]<o.viewSize[0]/2?r.left=e[0]+20:r.right=o.viewSize[0]-e[0]+20,r}},legend:{padding:40,textStyle:{fontFamily:"Montserrat"}},grid:{left:"3%",right:"4%",bottom:"3%",containLabel:!0},xAxis:{type:"value",splitNumber:10,name:"SIN NOMBRE",nameLocation:"start",nameTextStyle:{fontWeight:"bold",fontFamily:"Montserrat",color:"#666",padding:-40},axisLabel:{margin:5,textStyle:{fontFamily:"Montserrat"},formatter:e=>v(e)},splitLine:{lineStyle:{color:"#DDD"}}},yAxis:{type:"category",data:Array.from(r),axisLabel:{textStyle:{fontFamily:"Montserrat"}}},series:(()=>{const e={name:"SIN NOMBRE",type:"bar",stack:"total",label:{show:!0,fontFamily:"Montserrat",fontSize:10,formatter:e=>v(Math.round(e.value))},itemStyle:void 0,emphasis:{focus:"series"},data:void 0};o&&o.itemStyle&&Array.isArray(o.itemStyle.borderColor)&&(i=[...o.itemStyle.borderColor],delete o.itemStyle.borderColor);const a=function(e){return e.reduce((e,t)=>{const a=t[0];return e[a]||(e[a]=[]),e[a].push(t),e},{})}(t),n=Object.keys(a);r.forEach(e=>{n.forEach(t=>{void 0===a[t].find(t=>t[1]===e)&&(a[t].push([a[t][0][0],e,void 0]),a[t].sort())})});const s=[];return Object.keys(a).forEach(t=>{i&&(e.itemStyle={borderColor:i.shift()}),e.name=t,e.data=a[t].map(e=>e[2]);let n={};n=void 0!==o?H(e,o):e,s.push({...n})}),s})(),toolbox:{show:!0,feature:{restore:{title:"Restablir"},saveAsImage:{title:"Desar"}},right:50}};let l={};l=void 0!==a?H(s,a):s,$(e,l)}function Ye(e){let t={};return t=H(Oe,e),t}function je(e,t,a={},o={}){let r={};r=H(a,{color:["#81B1CC","#ABD9EA","#C2EEF9","#F9E2AF","#F9C780","#FDAE61","#F46D43","#FDAE61","#F9E2AF","#C2EEF9","#ABD9EA","#81B1CC"],yAxis:{data:function(){const e=new Set;return t.forEach(t=>{e.add(t[1])}),Array.from(e).sort((e,t)=>e-t)}()}});const i={itemStyle:{borderWidth:2,borderColor:["#448DAD","#89CADB","#A0DEE8","#F4D28C","#F4B569","#F79646","#F25930","#F79646","#F4D28C","#A0DEE8","#89CADB","#448DAD"]}},s=null===o?i:H(o,i),l=t;l.forEach((e,t)=>{l[t][0]=n(e[0])}),Pe(e,l,r,s)}function Be(e,t=void 0){const a={title:{text:"SIN TITULO",left:"center",top:"top",padding:50,textStyle:{fontSize:14,fontFamily:"Montserrat",fontWeight:400,color:"#333"}},legend:{show:!1},grid:{top:"30%",bottom:"5%",left:"8%",right:"8%"},xAxis:{type:"value",show:!1},yAxis:{show:!1,type:"category"},tooltip:{show:!0,textStyle:{fontFamily:"Montserrat",fontWeight:"600"},appendToBody:!0,formatter:e=>F(e,!1)},series:[{type:"bar",showBackground:!0}]};let n={};n=void 0!==t?H(a,t):a,$(e,n)}function Re(e){return Math.max(...e.map(e=>Number(e[0])))}function ze(e){const t=e.filter(t=>Number(t[0])===Re(e)),a=Array.from({length:12},()=>0);return t.forEach(([e,t,n])=>{const o=parseInt(t,10)-1;a[o]=n}),a}function Ve(e){const t=e.filter(t=>Number(t[0])===Re(e)-1),a=Array.from({length:12},()=>0);return t.forEach(([e,t,n])=>{const o=parseInt(t,10)-1;a[o]=n}),a}function ke(e,t,a=void 0){const n=Re(t).toString(),o=(Re(t)-1).toString();Be(e,H({title:{left:"center",top:"-12%",textStyle:{fontSize:15,fontFamily:"Montserrat"}},legend:{top:"10%",show:!0,data:[o,n],textStyle:{fontFamily:"Montserrat"}},grid:{bottom:"8%",top:"20%",right:"2%"},xAxis:[{type:"category",data:p(),interval:0,margin:10,axisLabel:{textStyle:{fontSize:10,fontFamily:"Montserrat",fontWeight:400}}}],yAxis:[{type:"value",axisLabel:{formatter:e=>e.toLocaleString("es-ES"),textStyle:{fontSize:10,fontFamily:"Montserrat",fontWeight:400}}}],series:[{name:o,type:"bar",data:Ve(t)},{name:n,type:"bar",barGap:0,data:ze(t)}]},a))}function We(e,t,a){const n=document.querySelector(t),o=document.querySelector(e);let r=!1;o.addEventListener("click",()=>{!1===r&&(r=!0,n.setAttribute("src","about:blank"),n.setAttribute("src",a),n.onload=()=>{r=!1})}),o.disabled=!1}const He="id",qe="fecha",Je="value";function Ge(e,t,a,n,o="es_ES"){const[r,i]=function(e,t,a){const n=[],o=[];return e.forEach(e=>{t.includes(`${e[He]}`)?n.push(`${e[qe]}`):a.includes(`${e[He]}`)&&o.push(`${e[qe]}`)}),[n.map(e=>[e,0]),o.map(e=>[e,0])]}(e,a,n);let s="es_ES"==o?"Datos sin validar":"Dades sense validar";0===i.length&&(s="");const l={name:"Datos validados",type:"line",data:[...r,i[0]],lineStyle:{color:"#00A9A0",width:4},showSymbol:!1,tooltip:{show:!1}};let c="",d="";if(0===i.length){const t=e[e.length-1].fecha;c=t,d=t}else c=i[0][0],d=i[i.length-1][0];return[...t,l,{name:"Datos NO validados",type:"line",data:i,lineStyle:{color:"#80D4CF",width:4},showSymbol:!1,tooltip:{show:!1},markArea:{silent:!0,itemStyle:{opacity:.6,color:"#eee"},tooltip:{show:!1},label:{color:"#333",fontStyle:"normal",fontWeight:"400",fontFamily:"Montserrat",fontSize:11},data:[[{name:s,xAxis:c,yAxis:0},{name:"end",xAxis:d,yAxis:Math.max(...e.filter(e=>null!==e[Je]).map(e=>parseInt(`${e[Je]}`,10)))}]]}}]}function Ue(e,t,a=void 0){$(e,H({grid:{left:"2.5%",right:"5%",bottom:"70",top:"150",containLabel:!0},title:{left:"center",top:"top",textStyle:{fontSize:20,fontFamily:"Montserrat",fontWeight:600,color:"#666"}},legend:{type:"plain",top:"50",width:"98%",textStyle:{fontFamily:"Montserrat"}},tooltip:{trigger:"axis",show:!0,formatter:e=>w(e),textStyle:{fontFamily:"Montserrat"}},xAxis:{type:"category",boundaryGap:!1,splitLine:{show:!1},axisLabel:{textStyle:{fontSize:10,fontFamily:"Montserrat",color:"#666"}}},yAxis:{type:"value",nameLocation:"end",nameGap:"0",nameTextStyle:{fontFamily:"Montserrat",fontWeight:"500",padding:[-25,0,0,-48],margin:0,align:"left",verticalAlign:"top",width:"auto"},scale:!0,splitNumber:"6",axisLabel:{margin:10,textStyle:{fontSize:10,fontFamily:"Montserrat",color:"#666"}}},dataZoom:{end:100,borderColor:"#eee",fillerColor:"rgba(0,0,0,.05)",textStyle:{fontSize:10,fontFamily:"Montserrat",color:"#333",textBorderColor:"#fff",textBorderWidth:3,fontWeight:"600"},selectedDataBackground:{lineStyle:{color:"#333"},areaStyle:{color:"#ffcd00"}},dataBackground:{backgroundColor:"rgba(0,0,0,1)",lineStyle:{color:"#333"},areaStyle:{color:"rgba(0,0,0,0.5)"}},handleStyle:{color:"rgba(0,0,0,0.2)"},moveHandleStyle:{color:"rgba(0,0,0,0.3)"},emphasis:{handleStyle:{color:"rgba(255,205,0,1)"},moveHandleStyle:{color:"rgba(255,205,0,1)"}}},toolbox:{feature:{restore:{title:"Restablir"},saveAsImage:{title:"Desar"}},right:"1%",top:"0%"},series:t},a))}return t})(),e.exports=t()}};const t={};function a(n){const o=t[n];if(void 0!==o)return o.exports;const r=t[n]={exports:{}};return e[n](r,r.exports,a),r.exports}a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.r=e=>{Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};let n={};return(()=>{"use strict";a.r(n),a.d(n,{callesCongestionadas:()=>p,callesCortadas:()=>f,countAlertasDeRuido:()=>F,echartIncidenciasPorEstadoPie:()=>A,echartIntervencionesTotalesPie:()=>E,emt:()=>R,initializeUI:()=>B,intervencionesPoliciales:()=>S,medioambienteAlertasDiarias:()=>w,medioambienteAlertasHorarias:()=>_,medioambienteClima:()=>N,medioambienteEstadoCalidadAire:()=>$,sensoresRuido:()=>O,setFechaDatos:()=>P,setToken:()=>Y,top3IncidenciasPorTipologia:()=>M,traficoAccesosCiudad:()=>D,traficoAccesosCiudadDetalle:()=>C});var e=a(725);const t=e=>!Number.isNaN(Number(e)),o=(e,a=!0)=>{const n=e;if(!t(n.textContent))return;if(n.classList.add((e=>{const t=Number(e.trim());return 0===t?null:t>0?"pos":"neg"})(e.textContent)),n.textContent=(e=>{return t=e.textContent,Number(t.trim())>0?e.textContent:e.textContent.replace("-","");var t})(e),!a)return;const o=document.createElement("span");o.textContent="%",e.append(o)},r=(e,t,a,n=!1)=>{if(!Array.isArray(e)||0===e.length)return;const{idPrefijo:r,camposLeft:i,camposVariacion:s}=a;t.innerHTML="";const l=i[1]?e[0][i[1].campo]:0;e.forEach((e,c)=>{const d=c+1,u=document.createElement("li");u.id=`${r}-${d}`,u.className="list-item";const m=document.createElement("div");m.className="datos";const f=((e,t,a,n)=>{const o=document.createElement("div");return o.className="left",t.forEach(t=>{const r=document.createElement("div");let i;if(r.className=t.clase,r.id=`${a}-${n}-${t.idSufijo}`,"campo"in t?(i=e[t.campo],t.format&&(i=t.format(i))):"texto"in t&&(i=t.texto),r.textContent=i,t.span){const e=document.createElement("span");e.textContent=t.span,r.append(e)}o.append(r)}),o})(e,i,r,d),p=((e,t,a,n)=>{const r=document.createElement("div");return r.className="changes",t.forEach(t=>{let i=!0;"aplicarEstilosVariacion"in t&&(i=t.aplicarEstilosVariacion);let s=!0;"mostrarPorcentaje"in t&&(s=t.mostrarPorcentaje),r.append(((e,t,a,n="value",r=!0,i=!0)=>{const s=document.createElement("div");if(s.className="mini",e){const t=document.createElement("div");t.className="label",t.textContent=e,s.append(t)}const l=document.createElement("div");return l.id=a,l.classList.add(n),l.textContent=t,r&&o(l,i),s.append(l),s})(t.label,e[t.campo],`${a}-${n}-${t.idSufijo}`,t.clase,i,s))}),r})(e,s,r,d);if(m.append(f,p),a.extra){const t=a.extra(e,d);t&&u.append(t)}if(u.append(m),n){const t=((e,t)=>{const a=document.createElement("div");return a.className="progress",a.style.width=100*e/t+"%",a})(e[i[1].campo],l);u.append(t)}t.append(u)})},i={YYYYMMDD:({yyyy:e,mm:t,dd:a})=>`${e}${t}${a}`,"YYYY-MM-DD":({yyyy:e,mm:t,dd:a})=>`${e}-${t}-${a}`,"DD-MM-YYYY":({yyyy:e,mm:t,dd:a})=>`${a}-${t}-${e}`,"DD/MM/YYYY":({yyyy:e,mm:t,dd:a})=>`${a}/${t}/${e}`};function s(e){const t=new Date;return t.setDate(t.getDate()-1),(i[e]||i.YYYYMMDD)((a=t,{yyyy:String(a.getFullYear()),mm:String(a.getMonth()+1).padStart(2,"0"),dd:String(a.getDate()).padStart(2,"0")}));var a}function l(e,t,a="fecha"){const n=s(t);return e.some(e=>e[a]===n)}function c(e){e&&e.classList.add("hidden")}function d(e){c(document.getElementById(e))}function u(e,t){c(e.querySelector(t))}function m(e,t){const a=document.createElement("p");a.textContent=t,e.appendChild(a)}function f(t){const a={"TOTAL CALLES CORTADAS":{num_ayer:{element:"#calles-cortadas-num",format:e=>Number(e).toLocaleString("de-DE")},diferencia_dia_anterior:"#calles-cortadas-num-ayer",diferencia_semana_anterior:"#calles-cortadas-num-semana-prev"}},n=document.getElementById("calles-cortadas-trafico"),r=(0,e.resultsetWithFields)(t);if(!l(r,"YYYY-MM-DD"))return u(n,".indicador"),u(n,".mapa"),void m(n,"No hay datos de calles cortadas de ayer.");(0,e.printDataInHTMLElements)(r,a);const i=document.getElementById("calles-cortadas-num-ayer");o(i,!1);const s=document.getElementById("calles-cortadas-num-semana-prev");o(s,!1)}function p(t){const a=(0,e.resultsetWithFields)(t).sort((e,t)=>t.minutos_ayer-e.minutos_ayer),n=l(a,"YYYY-MM-DD"),o=document.getElementById("calles-congestionadas-trafico"),i=o.querySelector(":scope > ul"),s=o.querySelector(":scope > p");return n&&function(e){return e.some(e=>"Ayer no hubo calles congestionadas"===e.id)}(a)?(c(s),void m(o,"Ayer no hubo calles congestionadas.")):n?(r(a,i,{idPrefijo:"calle-cong",camposLeft:[{texto:"AYER",clase:"label",idSufijo:"label"},{campo:"minutos_ayer",clase:"number",idSufijo:"minutos",format:e=>e.toLocaleString("de-DE"),span:"min."}],camposVariacion:[{label:"COMPARACIÓN vs ANTEAYER",campo:"variacion_dia_anterior",idSufijo:"var-dia"},{label:"vs SEMANA PASADA",campo:"variacion_semana_anterior",idSufijo:"var-semana"}],extra:(e,t)=>{const a=document.createElement("div");return a.className="name",a.id=`calle-cong-${t}-nombre`,a.textContent=e.id,a}}),void i.querySelectorAll('[id$="var-dia"], [id$="var-semana"]').forEach(e=>{"Sin congestión"===e.textContent.trim()&&e.classList.add("no-congestion")})):(c(s),c(i),void m(o,"No hay datos de congestión de calles de ayer."))}const h={es_ES:new Map([["download","Descargar"],["intervenciones_totales","INTERVENCIONES TOTALES"],["intervenciones","intervenciones"],["tipologia_nivel","TIPOLOGÍA NIVEL"],["incidencias","incidencias"],["incidencias_totales","INCIDENCIAS TOTALES"]]),ca_ES:new Map([["download","Desar"],["intervenciones_totales","INTERVENCIONS TOTALS"],["intervenciones","intervencions"],["tipologia_nivel","TIPOLOGIA NIVELL"],["incidencias","incidències"],["incidencias_totales","INCIDÈNCIES TOTALS"]])},y={es_ES:new Map([["alerta","Alerta"],["aviso","Aviso"],["preaviso","Preaviso"],["avisos_diarios","Promedio diario del día anterior > {umbral} µg/m³ en 2 o más estaciones."],["avisos_horarios","Promedio horario > {umbral} µg/m³ durante 2 horas consecutivas en 2 o más estaciones"]]),ca_ES:new Map([["alerta","Alerta"],["aviso","Avís"],["preaviso","Preavís"],["avisos_diarios","Mitjana diària del dia anterior > {umbral} µg/m³ en 2 o més estacions."],["avisos_horarios","Mitjana horària > {umbral} µg/m³ durant 2 hores consecutives en 2 o més estacions"]])},g={naranjaPalido:"#F1AB86",tealPalido:"#48A9A6",amarilloPalido:"#ffbf69",azulPalido:"#4BA3C3",cranberryPalido:"#e56b6f",marinoPalido:"#284B63",naranja:"#F96E46",teal:"#307473",amarillo:"#F6AE2D",azulCeruleo:"#05668d",cranberry:"#A23E48",marino:"#0B3948",verdeClaro:"#6a9c81",tealApagado:"#7AA8A7"},b={color:Object.values(g),grid:{left:"1%",right:"1%",bottom:"2%",top:"20%",containLabel:!0},title:{show:!1,text:h.es_ES.get("intervenciones_totales"),subtext:`${h.es_ES.get("tipologia_nivel")} 1`,left:"center",top:"0",itemGap:5,textStyle:{fontSize:15,fontFamily:"Montserrat",fontWeight:500,color:"#666"},subtextStyle:{fontFamily:"Montserrat",fontSize:12,fontWeight:400,color:"#666",width:"100%"}},legend:{orient:"vertical",top:"middle",left:"right",selectedMode:!1,textStyle:{fontSize:"11",fontFamily:"Montserrat",fontWeight:"400",color:"#333"}},toolbox:{show:!1,right:"0",top:"0",emphasis:{iconStyle:{borderColor:"#ffcd00",textFill:"#666"}},feature:{saveAsImage:{title:h.es_ES.get("download"),textStyle:{fontSize:6,fontFamily:"Montserrat",fontWeight:300}}}},tooltip:{trigger:"item",confine:!0,textStyle:{fontFamily:"Montserrat",fontSize:12,fontWeight:"500"},formatter:t=>`<b style="color: #666;">${(0,e.capitalizarTexto)(t.name)}</b><br />${(0,e.addPointInteger)(t.value)} ${h.es_ES.get("intervenciones")}`},series:[{type:"pie",radius:["0","80%"],center:["23%","50%"],startAngle:0,data:[],label:{show:!0,position:"inside",formatter:"{c0}",distanceToLabelLine:0,textStyle:{fontFamily:"Varela Round",fontSize:15,lineHeight:18}},labelLine:{show:!1,length:10},emphasis:{itemStyle:{shadowBlur:10,shadowOffsetX:0,shadowColor:"rgba(0, 0, 0, 0.5)"}}}]},v={color:[g.cranberryPalido,g.tealApagado],grid:{left:"0",right:"0",bottom:"0",top:"0",containLabel:!0},title:{show:!1},legend:{show:!1},toolbox:{show:!1},tooltip:{trigger:"item",confine:!0,textStyle:{fontFamily:"Montserrat",fontSize:12,fontWeight:"500"},formatter:t=>`<b style="color: #666;">${(0,e.capitalizarTexto)(t.name)}</b><br />${(0,e.addPointInteger)(t.value)} ${h.es_ES.get("incidencias")}`},series:[{type:"pie",radius:["0","80%"],center:["40%","50%"],startAngle:0,data:[],itemStyle:{borderWidth:1,borderColor:g.cranberryPalido},label:{show:!0,position:"inside",formatter:"{c0}",distanceToLabelLine:0,textStyle:{fontFamily:"Varela Round",fontSize:15,lineHeight:18}},labelLine:{show:!1},emphasis:{itemStyle:{shadowBlur:10,shadowOffsetX:0,shadowColor:"rgba(0, 0, 0, 0.5)"}}}]};function S(t){const a={"TOTAL INTERVENCIONES":{num_ayer:{element:"#interv-pol-total",format:e=>Number(e).toLocaleString("de-DE")},variacion_dia_anterior:"#interv-pol-var-dia",variacion_semana_anterior:"#interv-pol-var-semana"}},n=(0,e.resultsetWithFields)(t);if(!l(n,"YYYYMMDD")){const e=document.getElementById("intervenciones-policiales");return u(e,".indicador"),u(e,".intervenciones-policiales-detalle"),void m(e,"No hay datos de intervenciones de ayer.")}(0,e.printDataInHTMLElements)(n,a);const r=document.getElementById("interv-pol-var-dia");o(r);const i=document.getElementById("interv-pol-var-semana");o(i)}function E(t,a){const n=JSON.parse(JSON.stringify(b));n.series[0].label.formatter=b.series[0].label.formatter,n.tooltip.formatter=b.tooltip.formatter;const o="chart-intervenciones-ayer",r="no-data-intervenciones-ayer",i=(0,e.resultsetWithFields)(a);if(!l(i,"YYYYMMDD"))return;0===i.length?(0,e.printNoDataChart)(`#${o}`,`#${r}`):(0,e.printDataChart)(`#${r}`,`#${o}`);const s=i.filter(e=>"TOTAL INTERVENCIONES"!==e.id).map(e=>({name:e.id,value:Number(e.num_ayer)}));n.series[0].data=s,(0,e.initChart)(o,n)}function A(t){const a=JSON.parse(JSON.stringify(v));a.series[0].label.formatter=v.series[0].label.formatter,a.tooltip.formatter=v.tooltip.formatter;const n="chart-incid-ciudadanas-estado-ayer",o="no-data-incid-ciudadanas-estado-ayer",i=(0,e.resultsetWithFields)(t);0===i.length?(0,e.printNoDataChart)(`#${n}`,`#${o}`):(0,e.printDataChart)(`#${o}`,`#${n}`);const s=i.map(e=>({name:e.id,value:Number(e.num_incidencias_ayer)}));a.series[0].data=s,(0,e.initChart)(n,a);const c=document.getElementById("list-incidencias-ciudadanas-estado").querySelector("ul"),u=l(i,"YYYY-MM-DD"),f=s.some(e=>e.value>0),p=document.getElementById("incidencias-ciudadanas-estados-main");return u&&!f?(d("incidencias-ciudadanas-estado"),void function(e){const t=document.createElement("p");t.textContent="Ayer no hubo incidencias.",e.querySelector("h3").insertAdjacentElement("afterend",t)}(p)):u?void r(i,c,{idPrefijo:"estado-incidencia",camposLeft:[{campo:"id",clase:"value",idSufijo:"estado"}],camposVariacion:[{label:"COMPARACIÓN vs ANTEAYER",campo:"diferencia_dia_anterior",idSufijo:"var-dia",mostrarPorcentaje:!1},{label:"vs SEMANA PASADA",campo:"diferencia_semana_anterior",idSufijo:"var-semana",mostrarPorcentaje:!1}]}):(d("incidencias-ciudadanas-estado"),void m(p,"No hay datos de incidencias registradas de ayer."))}function M(t){const a=(0,e.resultsetWithFields)(t),n=document.getElementById("incid-ciudadanas-tipologia-top-3").querySelector("ul"),o=l(a,"YYYY-MM-DD"),i=a.some(e=>Number(e.num_incidencias_ayer)>0);(!o||i)&&o?r(a,n,{idPrefijo:"tipo-incidencia",camposLeft:[{campo:"id",clase:"name",idSufijo:"tipologia"}],camposVariacion:[{campo:"num_incidencias_ayer",idSufijo:"num",clase:"number",aplicarEstilosVariacion:!1},{campo:"diferencia_dia_anterior",idSufijo:"var-dia",mostrarPorcentaje:!1},{campo:"diferencia_semana_anterior",idSufijo:"var-semana",mostrarPorcentaje:!1}]}):d("incidencias-ciudadanas-tipologia")}function D(t){const a=document.getElementById("accesos-trafico"),n={"TOTAL VEHICULOS/HORA EN EL DIA":{veh_ayer:{element:"#accesos-traf-vehiculos",format:e=>Number(e).toLocaleString("de-DE")},variacion_dia_anterior:"#accesos-traf-var-dia",variacion_semana_anterior:"#accesos-traf-var-semana"}},r=(0,e.resultsetWithFields)(t);if(!l(r,"YYYY-MM-DD"))return u(a,".datos.big"),void m(a,"No hay datos de los vehículos que accedieron a la ciudad de ayer.");(0,e.printDataInHTMLElements)(r,n);const i=document.getElementById("accesos-traf-var-dia");o(i);const s=document.getElementById("accesos-traf-var-semana");o(s)}function C(t){const a=(0,e.resultsetWithFields)(t),n=document.getElementById("accesos-trafico-detalle"),o=document.getElementById("accesos-trafico-detalle-lista");if(!a||0===a.length)return void m(n,"No hay datos disponibles.");if(!l(a,"YYYY-MM-DD"))return void m(n,"No hay datos de vehículos en las vías de acceso de ayer.");const i=a.filter(e=>"TOTAL VEHICULOS/HORA EN EL DIA"!==e.id).sort((e,t)=>t.veh_ayer-e.veh_ayer);r(i,o,{idPrefijo:"acceso",camposLeft:[{campo:"id",clase:"name",idSufijo:"nombre"},{campo:"veh_ayer",clase:"number",idSufijo:"vehiculos",format:e=>e.toLocaleString("de-DE")}],camposVariacion:[{label:"COMPARACIÓN vs ANTEAYER",campo:"variacion_dia_anterior",idSufijo:"var-dia"},{label:"vs SEMANA PASADA",campo:"variacion_semana_anterior",idSufijo:"var-semana"}]},!0)}function N(a){const n=(0,e.resultsetWithFields)(a),o=document.getElementById("sensores-clima"),r=o.querySelector("ul");if(r.innerHTML="",!n||0===n.length)return void m(o,"No hay datos disponibles.");if(!l(n,"YYYY-MM-DD"))return void m(o,"No hay datos de clima de ayer.");const i=n[0],s=[{id:"clima-temp-media",campoBbdd:"temperatura_media",label:"Temperatura",unidad:"°"},{id:"clima-temp-maxima",campoBbdd:"temperatura_maxima",label:"Máx.",unidad:"°"},{id:"clima-temp-minima",campoBbdd:"temperatura_minima",label:"Mín.",unidad:"°"},{id:"clima-humedad-media",campoBbdd:"humedad_media",label:"Humedad",unidad:"%"},{id:"clima-precip-acumulada",campoBbdd:"precipitacion_acumulada",label:"Precipitación acumulada",unidad:"mm"},{id:"clima-vel-viento-media",campoBbdd:"velocidad_viento_media",label:"Velocidad del viento",unidad:"km/h"}],[c,d]=[s.slice(0,3),s.slice(3,6)],u=document.createElement("ul");u.className="list",u.id="temp";const f=document.createElement("ul");function p(e,a){e.forEach(({id:e,campoBbdd:n,label:o,unidad:r})=>{const s=document.createElement("li");s.id=e;const l=document.createElement("div");l.className="label",l.textContent=o;const c=document.createElement("div");var d;c.className="value",c.textContent=(d=i[n],t(d)?Number(d).toLocaleString("es-ES"):d);const u=document.createElement("div");u.className="medida",u.textContent=r,s.append(l,c,u),a.appendChild(s)})}f.className="list",p(c,u),p(d,f),r.appendChild(u),r.appendChild(f)}const x=new Map([["NO2alerta",400],["NO2aviso",200],["NO2preaviso",180],["PM10aviso",80],["PM10preaviso",50]]);function $(t){const a=["Extremadamente Desfavorable","Muy Desfavorable","Desfavorable","Regular","Razonablemente Buena","Buena"],n=(0,e.resultsetWithFields)(t);if(!l(n,"YYYY-MM-DD")){const e=document.getElementById("calidad-aire");return d("sensores-calidad-aire"),void m(e,"No hay datos de calidad del aire de ayer.")}const o=n.map(e=>{const t=a.indexOf(e.calidad_ambiental_ciudad),n=-1!==t?"aire-"+(6-t):"";return{...e,calidad_ambiental_ciudad_clase:n}});(0,e.printDataInHTMLElements)(o,{"ESTADO CALIDAD AIRE":{calidad_ambiental_ciudad:{element:"#estado-calidad-aire",format:e=>e},calidad_ambiental_ciudad_clase:{className:"#estado-calidad-aire"}}})}const L=(e,t,a,n)=>{const o=document.createElement("p");o.className=e;const r=document.createElement("strong");return r.textContent=`${y.es_ES.get(e)} ${t}:`,o.appendChild(r),o.append(`${y.es_ES.get(a).replace("{umbral}",x.get(n))}`),o};function _(t){const a=(0,e.resultsetWithFields)(t),n=document.getElementById("alertas-contaminantes-est-aire");if(!a||0===a.length)return;n.classList.remove("hidden");const o=a[0],r="avisos_horarios",i="NO2";o.cant_alertas>1&&n.appendChild(L("alerta",i,r,"NO2alerta")),o.cant_avisos>1&&n.appendChild(L("aviso",i,r,"NO2aviso")),o.cant_preavisos>1&&n.appendChild(L("preaviso",i,r,"NO2preaviso"))}function w(t){const a=(0,e.resultsetWithFields)(t),n=document.getElementById("alertas-contaminantes-est-aire");if(!a||0===a.length)return;n.classList.remove("hidden");const o=a[0],r="avisos_diarios",i="PM10";o.cant_avisos>1&&n.appendChild(L("aviso",i,r,"PM10aviso")),o.cant_preavisos>1&&n.appendChild(L("preaviso",i,r,"PM10preaviso"))}const T={hayAlertasDeRuido:!1};function I(e){const t=document.getElementById("sensores-ruido");if(!t)return;u(t,":scope > p"),d("tabla-sensores-ruido");let a=document.getElementById("mensaje-sin-datos-ruido");a||(a=document.createElement("p"),a.id="mensaje-sin-datos-ruido",t.appendChild(a)),a.textContent=e}function O(t,a){const n=(0,e.resultsetWithFields)(t),o=l(n,"YYYY-MM-DD"),r=T.hayAlertasDeRuido;o?!o||r?(function(e,t){function a(e){const t=document.createElement("td");return t.id=e,t.textContent=0,t}[...new Set(t.map(e=>e.areaserved))].forEach(t=>{const n=`estacion-${t.toLowerCase()}`;if(document.getElementById(n))return;const o=document.createElement("tr");o.id=n;const r=a(`${n}-nombre`);r.textContent=t,o.appendChild(r),o.appendChild(a(`${n}-cant-manana`)),o.appendChild(a(`${n}-cant-tarde`)),o.appendChild(a(`${n}-cant-noche`)),e.appendChild(o)})}(document.querySelector("#tabla-sensores-ruido > tbody"),n),function(e,t){const a=e.reduce((e,t)=>(e[t.areaserved]=(e[t.areaserved]||0)+1,e),{});Object.entries(a).forEach(([e,a])=>{const n=`estacion-${e.toLowerCase()}-cant-${t}`,o=document.getElementById(n);o&&(o.textContent=a)})}(n,a)):I("Ayer no hubo alertas de superación de ruido."):I("No hay datos de alertas de superación de ruido de ayer.")}function F(t){var a;a=(0,e.resultsetWithFields)(t)[0].total_alertas>0,T.hayAlertasDeRuido=Boolean(a)}function P(){const t=s("DD/MM/YYYY");(0,e.initElement)("fecha-datos",e=>{e.textContent=t})}function Y(t){const a=(0,e.resultsetWithFields)(t)[0].token;if(!a)throw new Error("No se pudo obtener el token desde base de datos");!function(e){try{document.querySelector("#if-estados-trafico").setAttribute("src",`https://geoportal.valencia.es/portal/apps/webappviewer/index.html?id=fdcb9a8cbde94431a72f6b45f4c96185&mobileBreakPoint=300&token=${e}`)}catch(e){console.error("No se pudo cargar el token, y por tanto, no se han podido mostrar el mapa. Error:",e)}}(a)}function j(e){return e instanceof HTMLButtonElement}function B(){(0,e.initElementsByClass)("guia",e=>{j(e)&&e.addEventListener("click",()=>{document.body.classList.add("historia")})}),(0,e.initElementsByClass)("info",e=>{j(e)&&e.addEventListener("click",()=>{document.body.classList.remove("historia")})})}function R(t){const a=document.getElementById("viajeros-emt"),n=document.getElementById("viajeros-emt-franjas-lista"),i=(0,e.resultsetWithFields)(t);if(!Array.isArray(i)||0===i.length||!l(i,"YYYY-MM-DD"))return u(a,".datos.big"),u(a,".list"),n&&(n.innerHTML=""),void m(a,"No hay datos de ayer.");const s=i[0].viajeros_ayer;if(null==s||""===s||Number.isNaN(Number(s)))return u(a,".datos.big"),u(a,".list"),n&&(n.innerHTML=""),void m(a,"No hay datos de los viajeros totales de la EMT.");const c={"VIAJEROS TOTALES EMT":{viajeros_ayer:{element:"#viajeros-emt-total",format:e=>Number(e).toLocaleString("de-DE")},variacion_dia_anterior:"#viajeros-emt-var-dia",variacion_semana_anterior:"#viajeros-emt-var-semana"}};(0,e.printDataInHTMLElements)(i,c);const d={"VIAJEROS EMT MANANA":"AYER POR LA MAÑANA","VIAJEROS EMT TARDE":"AYER POR LA TARDE","VIAJEROS EMT NOCHE":"AYER POR LA NOCHE"},f=i.filter(e=>"VIAJEROS TOTALES EMT"!==e.id).map(e=>({...e,name:d[e.id]||e.name})).sort((e,t)=>{const a={"VIAJEROS EMT MANANA":1,"VIAJEROS EMT TARDE":2,"VIAJEROS EMT NOCHE":3};return a[e.id]-a[t.id]});r(f,n,{idPrefijo:"viajeros-emt",camposLeft:[{campo:"name",clase:"label franja-label",idSufijo:"nombre"},{campo:"viajeros_ayer",clase:"number",idSufijo:"viajeros",format:e=>null==e||""===e||Number.isNaN(Number(e))?"No hay datos":Number(e).toLocaleString("de-DE")},{campo:"franja_horaria",clase:"muted small",idSufijo:"franja"}],camposVariacion:[{label:"COMPARACIÓN vs ANTEAYER",campo:"variacion_dia_anterior",idSufijo:"var-dia",aplicarEstilosVariacion:!1},{label:"vs SEMANA PASADA",campo:"variacion_semana_anterior",idSufijo:"var-semana",aplicarEstilosVariacion:!1}]},!1),a.querySelectorAll('[id$="var-dia"], [id$="var-semana"]').forEach(e=>(e=>{const t=e,a=t.textContent.trim();if(t.classList.remove("pos","neg","sin-datos"),""===a||"null"===a||"NaN"===a)return t.textContent="No hay datos",void t.classList.add("sin-datos");o(t)})(e))}})(),n})());
|
|
2
2
|
//# sourceMappingURL=inicio.js.map
|
package/dist/js/inicio.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inicio.js","mappings":"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","sources":["webpack://@vlci/cdmvalencia_ahir/webpack/universalModuleDefinition","webpack://@vlci/cdmvalencia_ahir/./node_modules/@vlci/vlcishared/dist/js/vlcishared.js","webpack://@vlci/cdmvalencia_ahir/webpack/bootstrap","webpack://@vlci/cdmvalencia_ahir/webpack/runtime/define property getters","webpack://@vlci/cdmvalencia_ahir/webpack/runtime/hasOwnProperty shorthand","webpack://@vlci/cdmvalencia_ahir/webpack/runtime/make namespace object","webpack://@vlci/cdmvalencia_ahir/./src/inicio/utils/numbers.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/utils/format.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/utils/variacion.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/utils/date.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/utils/data.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/utils/elements.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/estado-trafico.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/utils/texts.js","webpack://@vlci/cdmvalencia_ahir/./src/style/colors.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/options-charts.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/intervenciones-policiales.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/incidencias-ciudadanas.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/trafico-accesos-ciudad.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/medioambiente-clima.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/utils/config.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/medioambiente-calidad-aire.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/sensores-ruido.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/fecha.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/mapa-geoportal-estados-trafico.js","webpack://@vlci/cdmvalencia_ahir/./src/events/button-events.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/ui.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/emt.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"inicio\"] = factory();\n\telse\n\t\troot[\"inicio\"] = factory();\n})(self, () => {\nreturn ","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.vlcishared=e():t.vlcishared=e()}(self,()=>(()=>{\"use strict\";const t={d:(e,n)=>{for(var o in n)t.o(n,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:n[o]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})}};let e={};t.r(e),t.d(e,{MONTHS_YEAR:()=>r,MONTHS_YEAR_SHORT:()=>a,TEXTS_COMMON:()=>i,THRESHOLDS:()=>wt,addPointInteger:()=>S,buildCamarasTrafico:()=>Tt,buildTableCalidadAire:()=>$t,calculateMaxYAxis:()=>T,calculatePentahoPath:()=>Ft,calculateXAxisStart:()=>O,capitalizarTexto:()=>E,checkAllGroupsCollapsed:()=>At,configureDataBar:()=>W,configureDataGaugeCommon:()=>_,configureDataGaugeMonthCommon:()=>R,configureDataLine:()=>J,configureDataValidate:()=>Ut,configureLinesChartValidates:()=>Yt,convertDateToInteger:()=>g,convertISODateToEUDate:()=>b,convertToLanguageSelectorDateRange:()=>ft,convertToTableTreeView:()=>vt,downloadCSVTable:()=>Dt,downloadPDFTable:()=>Et,formatCellMultiplesLines:()=>bt,formatDayMonthYear:()=>u,formatMilMillionEuros:()=>P,formatMonthAnyo:()=>c,formatName:()=>D,formatNameHeaderColumn:()=>gt,formatRoundTooltip:()=>z,formatShortMonthShortYear:()=>f,formatShortMonthYear:()=>d,formatToMillions:()=>M,formatToTons:()=>v,formatTooltip:()=>L,formatTooltipPie:()=>I,formatTrimestre:()=>m,formatWithPrefix:()=>A,getEnvironment:()=>Nt,getMaxFieldNumberFromData:()=>H,getMonth:()=>o,getMonthList:()=>p,getSelectCommonOptions:()=>it,getSelectTwoColumnsOptions:()=>st,initBarChart:()=>_t,initBarChartComparationMonth:()=>Wt,initChart:()=>$,initContractAllGroups:()=>xt,initElement:()=>C,initElementsByClass:()=>w,initExpandAllGroups:()=>Ct,initStackedBarChart:()=>Pt,initStackedBarChartMonthSeries:()=>Bt,initTable:()=>yt,initValueDefaultDate:()=>ut,initialCalls:()=>Ot,loadIframeOnClickEvent:()=>jt,printDataChart:()=>N,printDataInHTMLElements:()=>V,printEchart:()=>k,printNoDataChart:()=>F,resetFilter:()=>at,resetFilterAndUpdate:()=>ht,resetFilterDate:()=>ct,resetFilterDates:()=>lt,resetFilterToDefault:()=>mt,resultsetWithFields:()=>j,selectConfigDatasource:()=>ot,selectConfigDatasourceAllValue:()=>rt,selectFilterAll:()=>et,selectFilterNumItemsDefault:()=>pt,selectValueDefaultInFilter:()=>dt,separateDayMonthYearToSlash:()=>s,splitDataset:()=>Y,subtractOneDay:()=>h,subtractOneMonth:()=>y,traverseRows:()=>Mt,updateDomElement:()=>U,updateObject:()=>G,updateStackedBarOptions:()=>kt}),new Map([[\"1\",\"Enero\"],[\"2\",\"Febrero\"],[\"3\",\"Marzo\"],[\"4\",\"Abril\"],[\"5\",\"Mayo\"],[\"6\",\"Junio\"],[\"7\",\"Julio\"],[\"8\",\"Agosto\"],[\"9\",\"Septiembre\"],[\"10\",\"Octubre\"],[\"11\",\"Noviembre\"],[\"12\",\"Diciembre\"]]),new Map([[\"1\",\"Gener\"],[\"2\",\"Febrer\"],[\"3\",\"Març\"],[\"4\",\"Abril\"],[\"5\",\"Maig\"],[\"6\",\"Juny\"],[\"7\",\"Juliol\"],[\"8\",\"Agost\"],[\"9\",\"Setembre\"],[\"10\",\"Octubre\"],[\"11\",\"Novembre\"],[\"12\",\"Desembre\"]]);const n={\"01\":\"Enero\",\"02\":\"Febrero\",\"03\":\"Marzo\",\"04\":\"Abril\",\"05\":\"Mayo\",\"06\":\"Junio\",\"07\":\"Julio\",\"08\":\"Agosto\",\"09\":\"Septiembre\",10:\"Octubre\",11:\"Noviembre\",12:\"Diciembre\"};function o(t){return{1:\"Gen\",2:\"Feb\",3:\"Mar\",4:\"Abr\",5:\"Mai\",6:\"Jun\",7:\"Jul\",8:\"Ago\",9:\"Sep\",10:\"Oct\",11:\"Nov\",12:\"Des\"}[parseInt(t.toString(),10)]}const r={es_ES:new Map([[\"1\",\"Enero\"],[\"2\",\"Febrero\"],[\"3\",\"Marzo\"],[\"4\",\"Abril\"],[\"5\",\"Mayo\"],[\"6\",\"Junio\"],[\"7\",\"Julio\"],[\"8\",\"Agosto\"],[\"9\",\"Septiembre\"],[\"10\",\"Octubre\"],[\"11\",\"Noviembre\"],[\"12\",\"Diciembre\"]]),ca_ES:new Map([[\"1\",\"Gener\"],[\"2\",\"Febrer\"],[\"3\",\"Març\"],[\"4\",\"Abril\"],[\"5\",\"Maig\"],[\"6\",\"Juny\"],[\"7\",\"Juliol\"],[\"8\",\"Agost\"],[\"9\",\"Setembre\"],[\"10\",\"Octubre\"],[\"11\",\"Novembre\"],[\"12\",\"Desembre\"]])},a={es_ES:new Map([[\"1\",\"Ene\"],[\"2\",\"Feb\"],[\"3\",\"Mar\"],[\"4\",\"Abr\"],[\"5\",\"May\"],[\"6\",\"Jun\"],[\"7\",\"Jul\"],[\"8\",\"Ago\"],[\"9\",\"Sep\"],[\"10\",\"Oct\"],[\"11\",\"Nov\"],[\"12\",\"Dic\"]]),ca_ES:new Map([[\"1\",\"Gen\"],[\"2\",\"Feb\"],[\"3\",\"Mar\"],[\"4\",\"Abr\"],[\"5\",\"Mai\"],[\"6\",\"Jun\"],[\"7\",\"Jul\"],[\"8\",\"Ago\"],[\"9\",\"Set\"],[\"10\",\"Oct\"],[\"11\",\"Nov\"],[\"12\",\"Des\"]])},i={es_ES:new Map([[\"last_update\",\"Última actualización\"]]),ca_ES:new Map([[\"last_update\",\"Última actualització\"]])};function s(t){return`${t.substring(6,8)}/${t.substring(4,6)}/${t.substring(0,4)}`}function l(t){return[t.substring(0,4),n[t.substring(4,6)]]}function c(t){const[e,n]=l(t);return`${n} ${e}`}function u(t){const[e,o,r]=function(t){return[t.substring(0,4),n[t.substring(4,6)],t.substring(6,8)]}(t);return`${r} ${o} ${e}`}function d(t){const[e,n]=l(t);return`${n.substring(0,3)} ${e}`}function f(t){const[e,n]=l(t);return`${n.substring(0,3)} '${e.substring(2,4)}`}function m(t){const[e,n]=t.split(\"-\");return`${parseFloat(n)/3}T ${e}`}function p(){const t=r.es_ES;return Array.from(t.values()).map(t=>t.slice(0,3))}function h(t){const e=Math.floor(t/1e4),n=new Date(e,t%1e4/100-1,t%100);return n.setDate(n.getDate()-1),`${n.getFullYear()}${(n.getMonth()+1).toString().padStart(2,\"0\")}${n.getDate().toString().padStart(2,\"0\")}`}function y(t){const e=new Date(Math.floor(t/100),t%100-1,0);return`${e.getFullYear()}${(e.getMonth()+1).toString().padStart(2,\"0\")}`}function g(t){return\"string\"==typeof t?parseInt(t.replace(\"-\",\"\"),10):t}function b(t){if(!t||\"string\"!=typeof t)return\"\";const[e,n,o]=t.split(\"-\");return`${o}/${n}/${e}`}function S(t,e=2){let n=navigator.language||navigator.userLanguage;n=n.length<=2?`${n}-${n.toUpperCase()}`:n;const o={minimumFractionDigits:0,maximumFractionDigits:e};return\"es-ES\"===n?t.toLocaleString(\"de-DE\",o):t.toLocaleString(n,o)}function M(t){const e=1e6;return t>=e?t/e+\"M\":t.toString()}function v(t){return t>=1e3?t/1e3+\" Tn\":t.toString()}function A(t){let e,n;return t>=1e6?(e=t/1e6,n=\"G\"):t>=1e3?(e=t/1e3,n=\"M\"):(e=t,n=\"k\"),{value:Math.round(100*e)/100,prefix:n}}function D(t,e=29){if(t.length>=e){const n=t.split(\" \");let o=\"\",r=\"\";return n.forEach(t=>{`${o} ${t}`.length<=e?o+=(o?\" \":\"\")+t:(r+=`${o}\\n`,o=t)}),r+=o,r}return t}function E(t){return t.includes(\"N/D\")?t:t.toLowerCase().replace(/(^|\\s|[.,;:!?¡¿(){}[\\]])([^\\s])/gu,(t,e,n)=>e+n[0].toUpperCase())}function x(t,e,n,o){return new Promise(r=>{document.body.addEventListener(t,()=>{const t=e();t?r(n(t)):(console.error(o),r(null))},{once:!0})})}function C(t,e,n=\"MainContentLoadedCustom\"){const o=document.getElementById(t);return o?Promise.resolve(e(o)):x(n,()=>document.getElementById(t),t=>e(t),`El elemento con ID ${t} aún no está disponible después del evento.`)}function w(t,e,n=\"MainContentLoadedCustom\"){const o=document.getElementsByClassName(t);return o&&0!==o.length?Promise.resolve(Array.from(o).map(t=>e(t))):x(n,()=>{const e=document.getElementsByClassName(t);return e.length>0?Array.from(e):null},t=>t.map(t=>e(t)),`No se encontraron elementos con la clase ${t} después del evento.`)}function $(t,e){return C(t,t=>{const n=echarts.init(t);n.setOption(e,!0),window.addEventListener(\"resize\",()=>{null!=n&&void 0!==n&&n.resize()});const o=document.getElementById(\"main-content\");return o&&(o.addEventListener(\"shown.bs.collapse\",()=>{n.resize()}),o.addEventListener(\"hidden.bs.collapse\",()=>{n.resize()})),n})}function F(t,e){const n=t?document.querySelector(t):null,o=e?document.querySelector(e):null;n&&(n.hidden=!0),o&&(o.style.background=\"url('./build/images/nodata1.png') no-repeat top center\",o.hidden=!1)}function N(t,e){const n=t?document.querySelector(t):null,o=e?document.querySelector(e):null;n&&(n.hidden=!0),o&&(o.style.background=\"#ffffff\",o.hidden=!1)}function L(t,e=!1,n=!0,o=\"\"){let r=`<p style=\"font-weight: 500;color: #565656;\">${t[0].name}</p>`;return t.forEach(t=>{const a=e?Math.round(t.data):t.data,i=n?`<div style=\"font-weight: 400;color: #666;\">${s=t.color,`<span style=\"display:inline-block;margin-right:5px;border-radius:10px;width:9px;height:9px;font-weight: 500;background-color:${s}\"></span>`} ${t.seriesName}: \\n <span style=\"float: right; margin-left:20px;font-weight: 600;color: #565656;\">\\n ${t.data?`${S(a)} ${o}`:\"-\"}\\n </span>\\n </div>`:`<div>\\n <span style=\"font-weight: 600;color: #565656;\">${t.data?`${S(a)} ${o}`:\"-\"}\\n </span>\\n </div>`;var s;r+=i}),r}function O(t){return 100*(t-120)/t}function T(t,e){const n=Math.max(...t);return n+(e-n%e)}function I(t,e=!1){const n=`<span style=\"display:inline-block;margin-right:5px;border-radius:10px;width:9px;height:9px;background-color:${t.color}\"></span>`,o=e?`${t.percent}%`:S(t.value);return`<div> ${n} ${t.name} <span style=\"float: right; margin-left:20px;font-weight: 600;color: #333;\"> ${o} </span></div>`}function z(t,e){let n=`${t.name} : `;return n+=`<span style=\"font-weight:500\">${S(Math.round(t.value))}</span>`,e&&(n+=`<span> (${t.percent}%)</span>`),t.marker+n}function P(t){const e=1e6,n=Number(t);return n>=0&&n<e?`${S(n)} €`:n>=e?`${S(n/e)} M €`:\"-\"}function k(t,e,n){return 0===t.length?(F(`#${e}`,`#${n}`),!1):(N(`#${n}`,`#${e}`),!0)}function B(t,e,n=1){const o=Math.max(...t.map(t=>t[e]))*n;return 5e3*Math.ceil(o/5e3)}function _(t,e,n,o=30,r=15,a=30,i=-70,s=70,l=3){const c=B(t,e.data,1.1),u=s,d=n.slice(),f=[];let m=r,p=a,h=i;for(let n=0;n<t.length;n+=1)f.push({value:t[n][e.data],name:D(String(t[n][e.type]).replace(/\\[.*?\\]/g,\"\")),color:d.shift(),title:{offsetCenter:[`${String(h)}%`,`${String(m)}%`],fontFamily:\"Montserrat\",fontSize:o},detail:{offsetCenter:[`${String(h)}%`,`${String(p)}%`],fontFamily:\"Montserrat\",width:\"33%\",formatter:t=>S(Math.round(t))}}),h+=u,(n+1)%l===0&&(p+=a,m+=2*r,h=i);return[c,f]}function R(t,e,n,r=0){return[B(e,n.data,1),t=>function(t,e,n){const r=S(Math.round(e)),a=o(t[n][0]),i=t[n][1],s=`\\n${a} ${i} : ${r}`,l=`${r}\\n${a} ${i}`;return window.innerWidth<=1710?s:l}(e,t,r),[{value:e[r][n.data]}]]}function q(t,e){const{resultset:n}={resultset:t},o=new Set,r=new Set,a=n.map(([t,n,a])=>{const i=e?Math.round(a):a;return o.add(t),r.add(n),{day:n,type:t,value:i}}),i=Array.from(r.values()),s=Array.from(o.values());return s.sort((t,e)=>t.toLowerCase().localeCompare(e.toLowerCase(),\"es\",{ignorePunctuation:!0})),[s.map(t=>{const e=a.filter(e=>e.type===t).map(({day:e,value:n})=>[e,t,n]),n=i.map(t=>{const n=e.find(([e])=>e===t);return n?n[2]:null});return{name:t,data:n}}),s,r]}function J(t,e=[],n=!1){const[o,r,a]=q(t,n);return o.forEach(t=>{t.type=\"line\",t.symbol=\"circle\",t.symbolSize=6,t.smooth=.1,e.length>0&&(t.color=e.shift())}),[o,a,r]}function W(t,e,n=!1){const[o,r,a]=q(t,n);return o.forEach(t=>{t.type=\"bar\",t.color=e.shift(),t.smooth=!1}),[o,a,r]}function j(t){const{resultset:e,metadata:n}=t,o=[];return e.forEach(t=>{const e={};t.forEach((t,o)=>{e[n[o].colName]=t}),o.push(e)}),o}function G(t,e){const n={...t};return Object.keys(e).forEach(o=>{Object.prototype.hasOwnProperty.call(e,o)&&(\"series\"===o&&Array.isArray(e[o])?n[o]=e[o].map((e,n)=>({...Array.isArray(t[o])&&t[o][n]||{},...e})):\"object\"!=typeof e[o]||null===e[o]||Array.isArray(e[o])?t[o]!==e[o]&&(n[o]=e[o]):n[o]=G(t[o]||{},e[o]))}),n}function V(t,e){const n=()=>{t.forEach(t=>{t.id in e&&Object.entries(e[t.id]).forEach(n=>{const o=n[0],r=n[1];\"object\"==typeof r?r.className?document.querySelector(r.className).className=t[o]:r.element&&r.format&&(document.querySelector(r.element).textContent=e[t.id][o].format(t[o])):document.querySelector(r).textContent=t[o]})})};try{n()}catch(t){document.body.addEventListener(\"MainContentLoadedCustom\",()=>{n()})}}function H(t,e){const n=j(t),o=[];let r=null;return n.forEach(t=>{const n=t[e];\"number\"!=typeof n||Number.isNaN(n)||o.push(n)}),o.length>0&&(r=Math.max(...o)),r}function U(t,e){const n=document.querySelector(t);n?n.textContent=e:console.warn(`Elemento ${t} no encontrado en el DOM`)}function Y(t,e=!0){const n={Cont:[],Mob:[]};return t.forEach(t=>{\"is-res-001-kgs-contenidors\"===t[0]&&\"total\"===t[1]&&(e?n.Cont.push([t[3],t[4],t[2]]):n.Cont.push([t[3],t[2]])),\"Mobles\"===t[1]&&(e?n.Mob.push([t[3],t[4],t[2]]):n.Mob.push([t[3],t[2]]))}),n}const X=[\"Enero\",\"Febrero\",\"Marzo\",\"Abril\",\"Mayo\",\"Junio\",\"Julio\",\"Agosto\",\"Septiembre\",\"Octubre\",\"Noviembre\",\"Diciembre\"],Z=[\"Ene\",\"Feb\",\"Mar\",\"Abr\",\"May\",\"Jun\",\"Jul\",\"Ago\",\"Sep\",\"Oct\",\"Nov\",\"Dic\"],K=[\"Domingo\",\"Lunes\",\"Martes\",\"Miércoles\",\"Jueves\",\"Viernes\",\"Sábado\"],Q=[\"Dom\",\"Lun\",\"Mar\",\"Mié\",\"Juv\",\"Vie\",\"Sáb\"],tt=[\"Do\",\"Lu\",\"Ma\",\"Mi\",\"Ju\",\"Vi\",\"Sá\"];function et(t){const e=t.resultset.map(t=>t[0]);return this.dashboard.fireChange(this.parameter,e),t}function nt(t){for(const e of t)if(Array.isArray(e)){if(!nt(e))return!1}else if(\"All\"!==e)return!1;return!0}function ot(t,e,n,o){return nt(e)?(t.queryDefinition.dataAccessId=n,t.dashboard.setParameter(t.parameter,[\"All\"])):t.queryDefinition.dataAccessId=o,!0}function rt(t){return t.dashboard.setParameter(t.parameter,[\"All\"]),!0}function at(t){t.forEach(t=>{Dashboards.fireChange(t,[\"All\"])})}function it(t=\"Todos\"){return{input:{root:{id:\"All\"},indexes:{id:0,label:0}},component:{Root:{strings:{isDisabled:\"No disponible\",allItems:t,noItems:\"Ninguno\",btnApply:\"Aceptar\",btnCancel:\"Cancelar\"}},Group:{Strings:{allItems:\"Todos\",noItems:\"Ninguno\",btnApply:\"Aceptar\",btnCancel:\"Cancelar\"}}}}}function st(t=\"Todos\"){const e=it(t);return e.input.indexes.id=1,e.input.indexes.label=0,e}function lt(t,e,n,o){const r=Dashboards.getParameterValue(n),a=Dashboards.getParameterValue(o);return Dashboards.fireChange(t,[r]),Dashboards.fireChange(e,[a]),!0}function ct(t,e){const n=Dashboards.getParameterValue(e);return Dashboards.fireChange(t,[n]),!0}function ut(t,e){Dashboards.fireChange(e,t.resultset[0][0])}function dt(t,e){const n=Dashboards.getParameterValue(e),o=t.parameter;\"\"!==n&&t.dashboard.setParameter(o,[n])}function ft(t){t.regional.es={monthNames:X,abbreviatedMonthNames:Z,dayNames:K,abbreviatedDayNames:Q,dayNamesMin:tt,weekHeader:\"Sm\",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:\"\"},t.setDefaults(t.regional.es)}function mt(t,e){const n=Dashboards.getParameterValue(e);return Dashboards.fireChange(t,Array.isArray(n)?n:[n]),!0}function pt(t,e,n,o=0){const r=t.resultset.slice(0,n).map(t=>t[o]);return Dashboards.setParameter(e,r),t}function ht(t,e,n){const o=Array.isArray(e)?e:[e];Dashboards.fireChange(t,o);const r=Dashboards.getComponent(n);r&&r.update()}function yt(t,e){return C(t,t=>new Tabulator(t,e))}function gt(t,e){let n=t.getValue();return n.length>e&&(n=`${n.substr(0,e)}<br>${n.substr(e)}`),n}function bt(t,e){const n=t.getValue().split(\" \");let o=\"\",r=\"\";return n.forEach(t=>{(r+t).length<=e?r+=`${t} `:(o+=`${r}<br>`,r=`${t} `)}),o+=`${r}<br>`,o}function St(t,e){\"expand\"===e?t.treeExpand():t.treeCollapse();const n=t.getTreeChildren();n.length>0&&n.forEach(t=>{t.getTreeChildren().length>0&&St(t,e)})}function Mt(t,e){t.getRows().forEach(t=>{t.getTreeChildren().length>0&&St(t,e)})}function vt(t,e,n,o){const r=[];return Object.keys(t).forEach(a=>{if(Object.prototype.hasOwnProperty.call(t,a)){const i=t[a],s={[e]:i[0],_children:[]};i.shift(),i.forEach((t,r)=>{const a={[e]:n[r],[o]:t};s._children.push(a)}),r.push(s)}}),r}function At(t){let e=!0;return t.getGroups().forEach(t=>{t._group.visible&&(e=!1)}),e}function Dt(t,e,n){const o=document.getElementById(n),r=o.cloneNode(!0);o.parentNode.replaceChild(r,o),r.addEventListener(\"click\",()=>{t.download(\"csv\",`${e}.csv`,{delimiter:\";\",bom:!0})})}function Et(t,e,n){const o=document.getElementById(n),r=o.cloneNode(!0);o.parentNode.replaceChild(r,o),r.addEventListener(\"click\",()=>{const n=t.getRows().map(t=>t.getData()),o=t.getColumns(),r={};o.forEach((t,e)=>{const o=t.getField();o&&n.every(t=>{const e=t[o];return null==e||/^-?\\d+([.,]\\d+)?$/.test(e.toString().trim())})&&(r[e]={halign:\"right\"})}),t.download(\"pdf\",`${e}.pdf`,{title:e,rowCalcStyles:{fontSize:8,fontStyle:\"bold\"},autoTable:{styles:{fontSize:8,lineWidth:.1,lineColor:[200,200,200]},headStyles:{halign:\"center\"},columnStyles:r}})})}function xt(t,e,n){const o=document.getElementById(n);o&&o.addEventListener(\"click\",()=>{t.setGroupStartOpen(!1),t.setData(e)})}function Ct(t,e,n){const o=document.getElementById(n);o&&o.addEventListener(\"click\",()=>{t.setGroupStartOpen(!0),t.setData(e)})}const wt={SO2:[100,200,350,500,750,751],NO2:[40,90,120,230,340,341],O3:[50,100,130,240,380,381],PM10:[20,40,50,100,150,151],PM25:[10,20,25,50,75,76]};function $t(t){const e=[],n={0:\"b\",1:\"a\",2:\"d\",3:\"m\",4:\"mm\",5:\"em\",6:\"\",7:\"nd\"};function o(t,e,o){const r=document.createElement(\"td\");if(r.setAttribute(\"id\",t),null!=e){r.innerHTML=e;const t=function(t,e){let o;return void 0===e?o=6:\"ND\"===e?o=7:(o=5,t.forEach((t,n)=>{e<=t&&5===o&&(o=n)})),n[o]}(o,e);r.classList.add(t)}return r}return t.forEach(t=>{const n=t;\"noData\"===n.operationalstatus&&(n.so2value=\"ND\",n.no2value=\"ND\",n.o3value=\"ND\",n.pm10value=\"ND\",n.pm25value=\"ND\");const r=document.createElement(\"tr\"),a=document.createElement(\"td\");a.innerHTML=n.address,r.appendChild(a),r.appendChild(o(`${n.entityid}_so2`,n.so2value,wt.SO2)),r.appendChild(o(`${n.entityid}_no2`,n.no2value,wt.NO2)),r.appendChild(o(`${n.entityid}_o3`,n.o3value,wt.O3)),r.appendChild(o(`${n.entityid}_pm10`,n.pm10value,wt.PM10)),r.appendChild(o(`${n.entityid}_pm25`,n.pm25value,wt.PM25)),e.push(r)}),e}function Ft(t){document.location=`${document.documentURI.split(\"%3A\")[0]}%3A${document.documentURI.split(\"%3A\")[1]}%3A${document.documentURI.split(\"%3A\")[2]}%3A${document.documentURI.split(\"%3A\")[3]}%3A${t}`}function Nt(){const t=window.location.href;let e=\"\";return e=t.includes(\"localhost\")?\"local\":t.includes(\"sc_valencia_pre\")?\"PRE\":\"PRO\",e}function Lt(t,e){document.querySelectorAll(`[${t}]`).forEach(n=>{!function(t,e,n){const o=e;if(t){const e=new XMLHttpRequest;e.onreadystatechange=function(){4===this.readyState&&(200===this.status&&(o.innerHTML=this.responseText,n&&n()),404===this.status&&(o.innerHTML=\"No se ha podido cargar correctamente.\"))},e.open(\"GET\",t,!0),e.send()}}(n.getAttribute(t),n,e)})}function Ot(t){window.realDashboardsInit=Dashboards.init,Dashboards.init=function(){console.warn(\"Dashboards.init bloqueado temporalmente\")},Lt(\"include-html-cabecera\",function(){!function(){const t=Nt();\"PRO\"!==t&&(document.title+=` (${t})`)}(),function(){const t=Nt();\"PRO\"!==t&&(document.querySelector(\"nav\").querySelectorAll(\"span\")[1].textContent+=` (${t})`)}()}),Lt(\"include-html-menu\"),Lt(\"include-html-main-container\",function(){document.body.dispatchEvent(new Event(\"MainContentLoadedCustom\")),function(){const t=document.querySelector(\"body\");t.classList.remove(\"inicio\"),t.classList.add(document.documentURI.split(\"%3A\")[4].match(/(.*?).wcdf/)[1])}(),t&&t()}),Lt(\"include-html-copyright\"),function(t=\"MainContentLoadedCustom\"){document.body.addEventListener(t,()=>{try{Dashboards.init=window.realDashboardsInit,Dashboards.init()}catch(t){console.warn(\"No se pudo restaurar Dashboards.init; la función original no está disponible.\")}},{once:!0})}()}function Tt(t,e,n,o,r,a){let i=!1,s=!1;const l=document.querySelector(t),c=document.querySelector(e),u=()=>{\"undefined\"!=typeof Liferay&&\"ca-ES\"===Liferay.ThemeDisplay.getBCP47LanguageId()?(l&&l.setAttribute(\"src\",\"https://camaras.valencia.es/camaras/ocimovil.html?camara=1&lang=cas\"),c&&c.setAttribute(\"src\",\"https://camaras.valencia.es/camaras/ocimovil.html?lang=cas\")):(l&&l.setAttribute(\"src\",\"https://camaras.valencia.es/camaras/ocimovil.html?camara=1&lang=val\"),c&&c.setAttribute(\"src\",\"https://camaras.valencia.es/camaras/ocimovil.html?lang=val\"))};function d(t=!0){const e=document.querySelector(n);t?(l&&(l.src=\"about:blank\"),c&&(c.src=\"about:blank\"),e.classList.add(\"blur\"),s=!0):(e.classList.remove(\"blur\"),u(),s=!1)}const f=t=>{new IntersectionObserver(t=>{t.forEach(t=>{t.isIntersecting&&(s||u(),i||(i=!0,window.setTimeout(d,a)))})}).observe(t)};!function(){const{userAgent:t}=navigator;return/iPad|iPhone|iPod|Macintosh/.test(t)&&!window.MSStream}()?(l&&(l.setAttribute(\"sandbox\",\"allow-scripts\"),f(l)),c&&(c.setAttribute(\"sandbox\",\"allow-scripts\"),f(c)),document.querySelector(r).addEventListener(\"click\",()=>{d(!1),window.setTimeout(d,a)})):document.querySelectorAll(o)[0].style.display=\"none\"}const It={grid:{containLabel:!0},title:{left:\"center\",top:\"0\",textStyle:{fontSize:15,fontFamily:\"Montserrat\",fontWeight:500,color:\"#666\"}},legend:{orient:\"horizontal\",bottom:\"0\",left:\"center\",width:\"100%\",textStyle:{fontSize:11,fontFamily:\"Montserrat\",fontWeight:400,color:\"#666\"}},toolbox:{show:!0,right:\"0\",top:\"0\",feature:{restore:{textStyle:{fontSize:6,fontFamily:\"Montserrat\",fontWeight:300}},saveAsImage:{textStyle:{fontSize:6,fontFamily:\"Montserrat\",fontWeight:300}}},emphasis:{iconStyle:{borderColor:\"#ffcd00\",textFill:\"#666\"}}},tooltip:{textStyle:{fontFamily:\"Montserrat\",fontSize:12}},xAxis:[{type:\"category\",axisLabel:{show:!0,interval:0,textStyle:{fontFamily:\"Montserrat\",fontSize:11}},data:[]}],yAxis:[{type:\"value\",alignTicks:!0,position:\"right\",axisLabel:{textStyle:{fontSize:10,fontFamily:\"Montserrat\",fontWeight:400},formatter:t=>`${t}%`}},{type:\"value\",position:\"left\",axisLabel:{textStyle:{fontSize:10,fontFamily:\"Montserrat\",fontWeight:400},formatter:t=>`${M(t)}€`}}]},zt=(t,e)=>{e.sort((t,e)=>parseInt(t.anyo)-parseInt(e.anyo));const n={};e.forEach(e=>{const o=e[1],r=e[0];r!==t.seriesName||n[o]||(n[o]=0),r===t.seriesName&&(n[o]+=e[2])});let o=`<p>${t.seriesName}</p>`;for(const[e,r]of Object.entries(n))o+=`<div>${t.marker} ${e}: <span style=\"float: right; margin-left:20px;font-weight: 600;\">${S(r)}</span></div>`;return o};function Pt(t,e,n=void 0,o=void 0){const r=null===o?void 0:o,a=new Set(e.map(t=>t[1]));let i;const s={title:{text:\"SIN TITULO\",left:\"center\",top:\"top\",textStyle:{fontSize:20,fontFamily:\"Montserrat\",fontWeight:600,color:\"#666\"}},tooltip:{axisPointer:{type:\"shadow\"},trigger:\"item\",formatter:t=>zt(t,e),textStyle:{fontFamily:\"Montserrat\"},position(t,e,n,o,r){const a={},i=r.contentSize[1]/2,s=r.viewSize[1],l=t[1];return l<i?a.top=10:l+i>s?a.bottom=10:a.top=l-i,t[0]<r.viewSize[0]/2?a.left=t[0]+20:a.right=r.viewSize[0]-t[0]+20,a}},legend:{padding:40,textStyle:{fontFamily:\"Montserrat\"}},grid:{left:\"3%\",right:\"4%\",bottom:\"3%\",containLabel:!0},xAxis:{type:\"value\",splitNumber:10,name:\"SIN NOMBRE\",nameLocation:\"start\",nameTextStyle:{fontWeight:\"bold\",fontFamily:\"Montserrat\",color:\"#666\",padding:-40},axisLabel:{margin:5,textStyle:{fontFamily:\"Montserrat\"},formatter:t=>S(t)},splitLine:{lineStyle:{color:\"#DDD\"}}},yAxis:{type:\"category\",data:Array.from(a),axisLabel:{textStyle:{fontFamily:\"Montserrat\"}}},series:(()=>{const t={name:\"SIN NOMBRE\",type:\"bar\",stack:\"total\",label:{show:!0,fontFamily:\"Montserrat\",fontSize:10,formatter:t=>S(Math.round(t.value))},itemStyle:void 0,emphasis:{focus:\"series\"},data:void 0};r&&r.itemStyle&&Array.isArray(r.itemStyle.borderColor)&&(i=[...r.itemStyle.borderColor],delete r.itemStyle.borderColor);const n=function(t){return t.reduce((t,e)=>{const n=e[0];return t[n]||(t[n]=[]),t[n].push(e),t},{})}(e),o=Object.keys(n);a.forEach(t=>{o.forEach(e=>{void 0===n[e].find(e=>e[1]===t)&&(n[e].push([n[e][0][0],t,void 0]),n[e].sort())})});const s=[];return Object.keys(n).forEach(e=>{i&&(t.itemStyle={borderColor:i.shift()}),t.name=e,t.data=n[e].map(t=>t[2]);let o={};o=void 0!==r?G(t,r):t,s.push({...o})}),s})(),toolbox:{show:!0,feature:{restore:{title:\"Restablir\"},saveAsImage:{title:\"Desar\"}},right:50}};let l={};l=void 0!==n?G(s,n):s,$(t,l)}function kt(t){let e={};return e=G(It,t),e}function Bt(t,e,n={},r={}){let a={};a=G(n,{color:[\"#81B1CC\",\"#ABD9EA\",\"#C2EEF9\",\"#F9E2AF\",\"#F9C780\",\"#FDAE61\",\"#F46D43\",\"#FDAE61\",\"#F9E2AF\",\"#C2EEF9\",\"#ABD9EA\",\"#81B1CC\"],yAxis:{data:function(){const t=new Set;return e.forEach(e=>{t.add(e[1])}),Array.from(t).sort((t,e)=>t-e)}()}});const i={itemStyle:{borderWidth:2,borderColor:[\"#448DAD\",\"#89CADB\",\"#A0DEE8\",\"#F4D28C\",\"#F4B569\",\"#F79646\",\"#F25930\",\"#F79646\",\"#F4D28C\",\"#A0DEE8\",\"#89CADB\",\"#448DAD\"]}},s=null===r?i:G(r,i),l=e;l.forEach((t,e)=>{l[e][0]=o(t[0])}),Pt(t,l,a,s)}function _t(t,e=void 0){const n={title:{text:\"SIN TITULO\",left:\"center\",top:\"top\",padding:50,textStyle:{fontSize:14,fontFamily:\"Montserrat\",fontWeight:400,color:\"#333\"}},legend:{show:!1},grid:{top:\"30%\",bottom:\"5%\",left:\"8%\",right:\"8%\"},xAxis:{type:\"value\",show:!1},yAxis:{show:!1,type:\"category\"},tooltip:{show:!0,textStyle:{fontFamily:\"Montserrat\",fontWeight:\"600\"},appendToBody:!0,formatter:t=>z(t,!1)},series:[{type:\"bar\",showBackground:!0}]};let o={};o=void 0!==e?G(n,e):n,$(t,o)}function Rt(t){return Math.max(...t.map(t=>Number(t[0])))}function qt(t){const e=t.filter(e=>Number(e[0])===Rt(t)),n=Array.from({length:12},()=>0);return e.forEach(([t,e,o])=>{const r=parseInt(e,10)-1;n[r]=o}),n}function Jt(t){const e=t.filter(e=>Number(e[0])===Rt(t)-1),n=Array.from({length:12},()=>0);return e.forEach(([t,e,o])=>{const r=parseInt(e,10)-1;n[r]=o}),n}function Wt(t,e,n=void 0){const o=Rt(e).toString(),r=(Rt(e)-1).toString();_t(t,G({title:{left:\"center\",top:\"-12%\",textStyle:{fontSize:15,fontFamily:\"Montserrat\"}},legend:{top:\"10%\",show:!0,data:[r,o],textStyle:{fontFamily:\"Montserrat\"}},grid:{bottom:\"8%\",top:\"20%\",right:\"2%\"},xAxis:[{type:\"category\",data:p(),interval:0,margin:10,axisLabel:{textStyle:{fontSize:10,fontFamily:\"Montserrat\",fontWeight:400}}}],yAxis:[{type:\"value\",axisLabel:{formatter:t=>t.toLocaleString(\"es-ES\"),textStyle:{fontSize:10,fontFamily:\"Montserrat\",fontWeight:400}}}],series:[{name:r,type:\"bar\",data:Jt(e)},{name:o,type:\"bar\",barGap:0,data:qt(e)}]},n))}function jt(t,e,n){const o=document.querySelector(e),r=document.querySelector(t);let a=!1;r.addEventListener(\"click\",()=>{!1===a&&(a=!0,o.setAttribute(\"src\",\"about:blank\"),o.setAttribute(\"src\",n),o.onload=()=>{a=!1})}),r.disabled=!1}const Gt=\"id\",Vt=\"fecha\",Ht=\"value\";function Ut(t,e,n,o,r=\"es_ES\"){const[a,i]=function(t,e,n){const o=[],r=[];return t.forEach(t=>{e.includes(`${t[Gt]}`)?o.push(`${t[Vt]}`):n.includes(`${t[Gt]}`)&&r.push(`${t[Vt]}`)}),[o.map(t=>[t,0]),r.map(t=>[t,0])]}(t,n,o);let s=\"es_ES\"==r?\"Datos sin validar\":\"Dades sense validar\";0===i.length&&(s=\"\");const l={name:\"Datos validados\",type:\"line\",data:[...a,i[0]],lineStyle:{color:\"#00A9A0\",width:4},showSymbol:!1,tooltip:{show:!1}};let c=\"\",u=\"\";if(0===i.length){const e=t[t.length-1].fecha;c=e,u=e}else c=i[0][0],u=i[i.length-1][0];return[...e,l,{name:\"Datos NO validados\",type:\"line\",data:i,lineStyle:{color:\"#80D4CF\",width:4},showSymbol:!1,tooltip:{show:!1},markArea:{silent:!0,itemStyle:{opacity:.6,color:\"#eee\"},tooltip:{show:!1},label:{color:\"#333\",fontStyle:\"normal\",fontWeight:\"400\",fontFamily:\"Montserrat\",fontSize:11},data:[[{name:s,xAxis:c,yAxis:0},{name:\"end\",xAxis:u,yAxis:Math.max(...t.filter(t=>null!==t[Ht]).map(t=>parseInt(`${t[Ht]}`,10)))}]]}}]}function Yt(t,e,n=void 0){$(t,G({grid:{left:\"2.5%\",right:\"5%\",bottom:\"70\",top:\"150\",containLabel:!0},title:{left:\"center\",top:\"top\",textStyle:{fontSize:20,fontFamily:\"Montserrat\",fontWeight:600,color:\"#666\"}},legend:{type:\"plain\",top:\"50\",width:\"98%\",textStyle:{fontFamily:\"Montserrat\"}},tooltip:{trigger:\"axis\",show:!0,formatter:t=>L(t),textStyle:{fontFamily:\"Montserrat\"}},xAxis:{type:\"category\",boundaryGap:!1,splitLine:{show:!1},axisLabel:{textStyle:{fontSize:10,fontFamily:\"Montserrat\",color:\"#666\"}}},yAxis:{type:\"value\",nameLocation:\"end\",nameGap:\"0\",nameTextStyle:{fontFamily:\"Montserrat\",fontWeight:\"500\",padding:[-25,0,0,-48],margin:0,align:\"left\",verticalAlign:\"top\",width:\"auto\"},scale:!0,splitNumber:\"6\",axisLabel:{margin:10,textStyle:{fontSize:10,fontFamily:\"Montserrat\",color:\"#666\"}}},dataZoom:{end:100,borderColor:\"#eee\",fillerColor:\"rgba(0,0,0,.05)\",textStyle:{fontSize:10,fontFamily:\"Montserrat\",color:\"#333\",textBorderColor:\"#fff\",textBorderWidth:3,fontWeight:\"600\"},selectedDataBackground:{lineStyle:{color:\"#333\"},areaStyle:{color:\"#ffcd00\"}},dataBackground:{backgroundColor:\"rgba(0,0,0,1)\",lineStyle:{color:\"#333\"},areaStyle:{color:\"rgba(0,0,0,0.5)\"}},handleStyle:{color:\"rgba(0,0,0,0.2)\"},moveHandleStyle:{color:\"rgba(0,0,0,0.3)\"},emphasis:{handleStyle:{color:\"rgba(255,205,0,1)\"},moveHandleStyle:{color:\"rgba(255,205,0,1)\"}}},toolbox:{feature:{restore:{title:\"Restablir\"},saveAsImage:{title:\"Desar\"}},right:\"1%\",top:\"0%\"},series:e},n))}return e})());\n//# sourceMappingURL=vlcishared.js.map","// The module cache\nconst __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tconst cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tconst module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter/value functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop));","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export const esNumber = (valor) => !Number.isNaN(Number(valor));\n\nexport const esPositivo = (valor) => Number(valor.trim()) > 0;","import { esNumber, esPositivo } from './numbers';\n\nexport const quitarSigno = (elemento) =>\n esPositivo(elemento.textContent)\n ? elemento.textContent\n : elemento.textContent.replace('-', '');\n\nexport const obtenerClaseVariacion = (valor) => {\n const num = Number(valor.trim());\n if (num === 0) return null;\n return num > 0 ? 'pos' : 'neg';\n};\n\nexport const aplicarEstilosVariacion = (elemento, porcentaje = true) => {\n const el = elemento;\n if (!esNumber(el.textContent)) return;\n\n el.classList.add(obtenerClaseVariacion(elemento.textContent));\n el.textContent = quitarSigno(elemento);\n\n if (!porcentaje) return;\n\n const porcentajeEl = document.createElement('span');\n porcentajeEl.textContent = '%';\n\n elemento.append(porcentajeEl);\n};\n","import { aplicarEstilosVariacion } from './format';\n\nexport const crearBloqueLeft = (item, camposLeft, idPrefijo, numId) => {\n const divLeft = document.createElement('div');\n divLeft.className = 'left';\n\n camposLeft.forEach((el) => {\n const div = document.createElement('div');\n div.className = el.clase;\n div.id = `${idPrefijo}-${numId}-${el.idSufijo}`;\n\n let valor;\n if ('campo' in el) {\n valor = item[el.campo];\n if (el.format) valor = el.format(valor);\n } else if ('texto' in el) {\n valor = el.texto;\n }\n\n div.textContent = valor;\n\n if (el.span) {\n const span = document.createElement('span');\n span.textContent = el.span;\n div.append(span);\n }\n\n divLeft.append(div);\n });\n\n return divLeft;\n};\n\nexport const crearBloqueVariacion = (\n label,\n valor,\n id,\n clase = 'value',\n aplicarEstilos = true,\n mostrarPorcentaje = true,\n) => {\n const contenedor = document.createElement('div');\n contenedor.className = 'mini';\n\n if (label) {\n const labelEl = document.createElement('div');\n labelEl.className = 'label';\n labelEl.textContent = label;\n contenedor.append(labelEl);\n }\n\n const valueEl = document.createElement('div');\n valueEl.id = id;\n valueEl.classList.add(clase);\n\n valueEl.textContent = valor;\n if (aplicarEstilos)\n aplicarEstilosVariacion(valueEl, mostrarPorcentaje);\n\n contenedor.append(valueEl);\n return contenedor;\n};\n\nexport const crearBloqueChanges = (item, camposVariacion, idPrefijo, numId) => {\n const divChanges = document.createElement('div');\n divChanges.className = 'changes';\n\n camposVariacion.forEach((cambio) => {\n let aplicarEstilos = true;\n if ('aplicarEstilosVariacion' in cambio)\n aplicarEstilos = cambio.aplicarEstilosVariacion;\n\n let mostrarPorcentaje = true;\n if ('mostrarPorcentaje' in cambio)\n mostrarPorcentaje = cambio.mostrarPorcentaje;\n\n divChanges.append(\n crearBloqueVariacion(\n cambio.label,\n item[cambio.campo],\n `${idPrefijo}-${numId}-${cambio.idSufijo}`,\n cambio.clase,\n aplicarEstilos,\n mostrarPorcentaje,\n ),\n );\n });\n\n return divChanges;\n};\n\nexport const crearProgresoVariacion = (valorActual, mayorValor) => {\n const divProgreso = document.createElement('div');\n divProgreso.className = 'progress';\n divProgreso.style.width = `${(valorActual * 100) / mayorValor}%`;\n return divProgreso;\n};\n\n/**\n * Crea una lista de ítems HTML a partir de datos dinámicos.\n *\n * @param {Array<Object>} datos - Lista de datos a renderizar.\n * @param {HTMLElement} contenedorLista - Elemento UL donde se insertan los LI.\n * @param {Object} config - Configuración de los campos.\n * @param {string} config.prefijoId - Prefijo para los IDs de cada fila.\n * @param {Array<Object>} config.camposLeft - Campos que aparecen en la columna izquierda.\n * @param {Array<Object>} config.camposVariacion - Variaciones que aparecen en la derecha.\n * @param {Function} [config.renderExtra] - Renderiza contenido extra encima de `.datos`.\n * @param {Bool} mostrarProgreso - Muestra una barra de progreso (opcional).\n *\n * Ejemplo de config.camposLeft:\n * config = {\n * idPrefijo: 'acceso', // prefijo de IDs de cada fila\n * camposLeft: [\n * { campo: 'id' / texto: 'AYER', clase: 'name', idSufijo: 'nombre'},\n * {\n * campo: 'veh_ayer',\n * clase: 'number',\n * idSufijo: 'veh-ayer',\n * format: v => v.toLocaleString('de-DE') // opcional,\n * span: '.min' // opcional,\n * }\n * ],\n * camposVariacion: [\n * { label: 'COMPARACIÓN vs ANTEAYER', campo: 'variacion_dia_anterior', idSufijo: 'var-dia', clase: 'value', mostrarPorcentaje: false},\n * { label: 'vs SEMANA PASADA', campo: 'variacion_semana_anterior', idSufijo: 'var-semana', clase: 'value', aplicarEstilosVariacion: false}\n * ],\n * extra: (item) => HTMLElement // opcional\n * }\n */\nexport const crearWidgetVariacion = (\n datos,\n contenedor,\n config,\n mostrarProgreso = false,\n) => {\n if (!Array.isArray(datos) || datos.length === 0) return;\n\n const { idPrefijo, camposLeft, camposVariacion } = config;\n\n // eslint-disable-next-line no-param-reassign\n contenedor.innerHTML = '';\n\n const mayorValor = camposLeft[1] ? datos[0][camposLeft[1].campo] : 0;\n\n datos.forEach((item, i) => {\n const numId = i + 1;\n\n const listItem = document.createElement('li');\n listItem.id = `${idPrefijo}-${numId}`;\n listItem.className = 'list-item';\n\n const divDatos = document.createElement('div');\n divDatos.className = 'datos';\n\n const divLeft = crearBloqueLeft(item, camposLeft, idPrefijo, numId);\n const divChanges = crearBloqueChanges(\n item,\n camposVariacion,\n idPrefijo,\n numId,\n );\n\n divDatos.append(divLeft, divChanges);\n\n if (config.extra) {\n const extra = config.extra(item, numId);\n if (extra) listItem.append(extra);\n }\n\n listItem.append(divDatos);\n\n if (mostrarProgreso) {\n const divProgreso = crearProgresoVariacion(\n item[camposLeft[1].campo],\n mayorValor,\n );\n listItem.append(divProgreso);\n }\n\n contenedor.append(listItem);\n });\n};\n","const FORMATEADORES = {\n YYYYMMDD: ({ yyyy, mm, dd }) => `${yyyy}${mm}${dd}`,\n 'YYYY-MM-DD': ({ yyyy, mm, dd }) => `${yyyy}-${mm}-${dd}`,\n 'DD-MM-YYYY': ({ yyyy, mm, dd }) => `${dd}-${mm}-${yyyy}`,\n};\n\nfunction descomponerFecha(fecha) {\n const yyyy = String(fecha.getFullYear());\n const mm = String(fecha.getMonth() + 1).padStart(2, '0');\n const dd = String(fecha.getDate()).padStart(2, '0');\n return { yyyy, mm, dd };\n}\n\nexport function obtenerFechaAyer(formatoFecha) {\n const ayer = new Date();\n ayer.setDate(ayer.getDate() - 1);\n\n const formatear = FORMATEADORES[formatoFecha] || FORMATEADORES.YYYYMMDD;\n return formatear(descomponerFecha(ayer));\n}\n","import { obtenerFechaAyer } from './date';\n\nexport function existenDatosDeAyer(\n dataWithFields,\n formatoFecha,\n nombreCampoFecha = 'fecha',\n) {\n const fechaAyer = obtenerFechaAyer(formatoFecha);\n return dataWithFields.some((fila) => fila[nombreCampoFecha] === fechaAyer);\n}\n\nexport function existeFilaConValor(dataWithFields, filaABuscar, valor) {\n return dataWithFields.some((fila) => fila[filaABuscar] === valor);\n}\n","export function ocultarElemento(elemento) {\n if (elemento) {\n elemento.classList.add('hidden');\n }\n}\n\nexport function ocultarElementoPorId(idElemento) {\n const elemento = document.getElementById(idElemento);\n ocultarElemento(elemento);\n}\n\nexport function ocultarElementoPorClase(contenedor, clase) {\n const elemento = contenedor.querySelector(clase);\n ocultarElemento(elemento);\n}\n\nexport function mostrarMensajeNoDatos(contenedor, textoMensaje) {\n const elementoMensaje = document.createElement('p');\n elementoMensaje.textContent = textoMensaje;\n contenedor.appendChild(elementoMensaje);\n}\n\nexport function mostrarMensajeNoDatosAdyacenteAElemento(contenedor, textoMensaje, elemento) {\n const elementoMensaje = document.createElement('p');\n elementoMensaje.textContent = textoMensaje;\n\n const elementoAdyacente = contenedor.querySelector(elemento);\n\n elementoAdyacente.insertAdjacentElement('afterend', elementoMensaje);\n}","import { printDataInHTMLElements, resultsetWithFields } from 'vlcishared';\nimport { aplicarEstilosVariacion } from './utils/format';\nimport { crearWidgetVariacion } from './utils/variacion';\nimport { existeFilaConValor, existenDatosDeAyer } from './utils/data';\nimport {\n ocultarElementoPorClase,\n mostrarMensajeNoDatos,\n ocultarElemento,\n} from './utils/elements';\n\nexport function callesCortadas(data) {\n const dataConfig = {\n 'TOTAL CALLES CORTADAS': {\n num_ayer: {\n element: '#calles-cortadas-num',\n format: (value) => Number(value).toLocaleString('de-DE'),\n },\n diferencia_dia_anterior: '#calles-cortadas-num-ayer',\n diferencia_semana_anterior: '#calles-cortadas-num-semana-prev',\n },\n };\n\n const contenedor = document.getElementById('calles-cortadas-trafico');\n\n const dataWithFields = resultsetWithFields(data);\n\n if (!existenDatosDeAyer(dataWithFields, 'YYYY-MM-DD')) {\n ocultarElementoPorClase(contenedor, '.indicador');\n ocultarElementoPorClase(contenedor, '.mapa');\n\n mostrarMensajeNoDatos(\n contenedor,\n 'No hay datos de calles cortadas de ayer.',\n );\n\n return;\n }\n\n printDataInHTMLElements(dataWithFields, dataConfig);\n\n const elementVarDia = document.getElementById('calles-cortadas-num-ayer');\n aplicarEstilosVariacion(elementVarDia, false);\n\n const elementVarSem = document.getElementById(\n 'calles-cortadas-num-semana-prev',\n );\n aplicarEstilosVariacion(elementVarSem, false);\n}\n\nexport function callesCongestionadas(data) {\n const dataWithFields = resultsetWithFields(data).sort(\n (a, b) => b.minutos_ayer - a.minutos_ayer,\n );\n\n const existenDatosDeCongestionAyer = existenDatosDeAyer(\n dataWithFields,\n 'YYYY-MM-DD',\n );\n\n const contenedor = document.getElementById('calles-congestionadas-trafico');\n\n const contenedorLista = contenedor.querySelector(':scope > ul');\n\n const descripcion = contenedor.querySelector(':scope > p');\n\n if (\n existenDatosDeCongestionAyer &&\n existeFilaConValor(\n dataWithFields,\n 'id',\n 'Ayer no hubo calles congestionadas',\n )\n ) {\n ocultarElemento(descripcion);\n mostrarMensajeNoDatos(contenedor, 'Ayer no hubo calles congestionadas.');\n\n return;\n }\n\n if (!existenDatosDeCongestionAyer) {\n ocultarElemento(descripcion);\n ocultarElemento(contenedorLista);\n\n mostrarMensajeNoDatos(\n contenedor,\n 'No hay datos de congestión de calles de ayer.',\n );\n\n return;\n }\n\n const configWidget = {\n idPrefijo: 'calle-cong',\n camposLeft: [\n {\n texto: 'AYER',\n clase: 'label',\n idSufijo: 'label',\n },\n {\n campo: 'minutos_ayer',\n clase: 'number',\n idSufijo: 'minutos',\n format: (v) => v.toLocaleString('de-DE'),\n span: 'min.',\n },\n ],\n camposVariacion: [\n {\n label: 'COMPARACIÓN vs ANTEAYER',\n campo: 'variacion_dia_anterior',\n idSufijo: 'var-dia',\n },\n {\n label: 'vs SEMANA PASADA',\n campo: 'variacion_semana_anterior',\n idSufijo: 'var-semana',\n },\n ],\n extra: (item, numId) => {\n const divNombre = document.createElement('div');\n divNombre.className = 'name';\n divNombre.id = `calle-cong-${numId}-nombre`;\n divNombre.textContent = item.id;\n return divNombre;\n },\n };\n\n crearWidgetVariacion(dataWithFields, contenedorLista, configWidget);\n\n const variaciones = contenedorLista.querySelectorAll(\n '[id$=\"var-dia\"], [id$=\"var-semana\"]',\n );\n\n variaciones.forEach((el) => {\n if (el.textContent.trim() === 'Sin congestión') {\n el.classList.add('no-congestion');\n }\n });\n}\n","export const TEXTS_SEGURIDAD = {\n es_ES: new Map([\n ['download', 'Descargar'],\n ['intervenciones_totales', 'INTERVENCIONES TOTALES'],\n ['intervenciones', 'intervenciones'],\n ['tipologia_nivel', 'TIPOLOGÍA NIVEL'],\n ['incidencias', 'incidencias'],\n ['incidencias_totales', 'INCIDENCIAS TOTALES'],\n ]),\n ca_ES: new Map([\n ['download', 'Desar'],\n ['intervenciones_totales', 'INTERVENCIONS TOTALS'],\n ['intervenciones', 'intervencions'],\n ['tipologia_nivel', 'TIPOLOGIA NIVELL'],\n ['incidencias', 'incidències'],\n ['incidencias_totales', 'INCIDÈNCIES TOTALS'],\n ]),\n};\n\nexport const TEXTS_MEDIOAMBIENTE = {\n es_ES: new Map([\n ['alerta', 'Alerta'],\n ['aviso', 'Aviso'],\n ['preaviso', 'Preaviso'],\n [\n 'avisos_diarios',\n 'Promedio diario del día anterior > {umbral} µg/m³ en 2 o más estaciones.',\n ],\n [\n 'avisos_horarios',\n 'Promedio horario > {umbral} µg/m³ durante 2 horas consecutivas en 2 o más estaciones',\n ],\n ]),\n ca_ES: new Map([\n ['alerta', 'Alerta'],\n ['aviso', 'Avís'],\n ['preaviso', 'Preavís'],\n [\n 'avisos_diarios',\n 'Mitjana diària del dia anterior > {umbral} µg/m³ en 2 o més estacions.',\n ],\n [\n 'avisos_horarios',\n 'Mitjana horària > {umbral} µg/m³ durant 2 hores consecutives en 2 o més estacions',\n ],\n ]),\n};\n","export const COLORS = {\n naranjaPalido: '#F1AB86',\n tealPalido: '#48A9A6',\n amarilloPalido: '#ffbf69',\n azulPalido: '#4BA3C3',\n cranberryPalido: '#e56b6f',\n marinoPalido: '#284B63',\n naranja: '#F96E46',\n teal: '#307473',\n amarillo: '#F6AE2D',\n azulCeruleo: '#05668d',\n cranberry: '#A23E48',\n marino: '#0B3948',\n verdeClaro: '#6a9c81',\n tealApagado: '#7AA8A7',\n};\n","import { addPointInteger, capitalizarTexto } from 'vlcishared';\nimport { TEXTS_SEGURIDAD } from './utils/texts';\nimport { DEFAULT_LANGUAGE } from '../common-language';\nimport { COLORS } from '../style/colors';\n\n// Gráfica sección seguridad ciudadana | Tarta de Intervenciones totales Nivel 1\nexport const OPTIONS_INTERVENCIONES_PIE = {\n color: Object.values(COLORS),\n grid: {\n left: '1%',\n right: '1%',\n bottom: '2%',\n top: '20%',\n containLabel: true,\n },\n title: {\n show: false,\n text: TEXTS_SEGURIDAD[DEFAULT_LANGUAGE].get('intervenciones_totales'),\n subtext: `${TEXTS_SEGURIDAD[DEFAULT_LANGUAGE].get('tipologia_nivel')} 1`,\n left: 'center',\n top: '0',\n itemGap: 5,\n textStyle: {\n fontSize: 15,\n fontFamily: 'Montserrat',\n fontWeight: 500,\n color: '#666',\n },\n subtextStyle: {\n fontFamily: 'Montserrat',\n fontSize: 12,\n fontWeight: 400,\n color: '#666',\n width: '100%',\n },\n },\n legend: {\n orient: 'vertical',\n top: 'middle',\n left: 'right',\n selectedMode: false,\n textStyle: {\n fontSize: '11',\n fontFamily: 'Montserrat',\n fontWeight: '400',\n color: '#333',\n },\n },\n toolbox: {\n show: false,\n right: '0',\n top: '0',\n emphasis: {\n iconStyle: {\n borderColor: '#ffcd00',\n textFill: '#666',\n },\n },\n feature: {\n saveAsImage: {\n title: TEXTS_SEGURIDAD[DEFAULT_LANGUAGE].get('download'),\n textStyle: {\n fontSize: 6,\n fontFamily: 'Montserrat',\n fontWeight: 300,\n },\n },\n },\n },\n tooltip: {\n trigger: 'item',\n confine: true,\n textStyle: {\n fontFamily: 'Montserrat',\n fontSize: 12,\n fontWeight: '500',\n },\n formatter(param) {\n return (\n `<b style=\"color: #666;\">${capitalizarTexto(param.name)}</b><br />` +\n `${addPointInteger(param.value)} ${TEXTS_SEGURIDAD[\n DEFAULT_LANGUAGE\n ].get('intervenciones')}`\n );\n },\n },\n series: [\n {\n type: 'pie',\n radius: ['0', '80%'],\n center: ['23%', '50%'],\n startAngle: 0,\n data: [],\n label: {\n show: true,\n position: 'inside',\n formatter: '{c0}',\n distanceToLabelLine: 0,\n textStyle: {\n fontFamily: 'Varela Round',\n fontSize: 15,\n lineHeight: 18,\n },\n },\n labelLine: {\n show: false,\n length: 10,\n },\n emphasis: {\n itemStyle: {\n shadowBlur: 10,\n shadowOffsetX: 0,\n shadowColor: 'rgba(0, 0, 0, 0.5)',\n },\n },\n },\n ],\n};\n\n// Gráfica sección incidencias ciudadanas | Tarta de Intervenciones por estado Nivel 1\nexport const OPTIONS_INCIDENCIAS_PIE = {\n color: [COLORS.cranberryPalido, COLORS.tealApagado],\n grid: {\n left: '0',\n right: '0',\n bottom: '0',\n top: '0',\n containLabel: true,\n },\n title: { show: false },\n legend: { show: false },\n toolbox: { show: false },\n tooltip: {\n trigger: 'item',\n confine: true,\n textStyle: {\n fontFamily: 'Montserrat',\n fontSize: 12,\n fontWeight: '500',\n },\n formatter(param) {\n return (\n `<b style=\"color: #666;\">${capitalizarTexto(param.name)}</b><br />` +\n `${addPointInteger(param.value)} ${TEXTS_SEGURIDAD[\n DEFAULT_LANGUAGE\n ].get('incidencias')}`\n );\n },\n },\n series: [\n {\n type: 'pie',\n radius: ['0', '80%'],\n center: ['40%', '50%'],\n startAngle: 0,\n data: [],\n itemStyle: {\n borderWidth: 1,\n borderColor: COLORS.cranberryPalido,\n },\n label: {\n show: true,\n position: 'inside',\n formatter: '{c0}',\n distanceToLabelLine: 0,\n textStyle: {\n fontFamily: 'Varela Round',\n fontSize: 15,\n lineHeight: 18,\n },\n },\n labelLine: { show: false },\n emphasis: {\n itemStyle: {\n shadowBlur: 10,\n shadowOffsetX: 0,\n shadowColor: 'rgba(0, 0, 0, 0.5)',\n },\n },\n },\n ],\n};\n","import {\n initChart,\n printDataChart,\n printDataInHTMLElements,\n printNoDataChart,\n resultsetWithFields,\n} from 'vlcishared';\nimport { OPTIONS_INTERVENCIONES_PIE as options } from './options-charts';\nimport { aplicarEstilosVariacion } from './utils/format';\nimport { existenDatosDeAyer } from './utils/data';\nimport {\n mostrarMensajeNoDatos,\n ocultarElementoPorClase,\n} from './utils/elements';\n\nexport function intervencionesPoliciales(data) {\n const dataConfig = {\n 'TOTAL INTERVENCIONES': {\n num_ayer: {\n element: '#interv-pol-total',\n format: (value) => Number(value).toLocaleString('de-DE'),\n },\n variacion_dia_anterior: '#interv-pol-var-dia',\n variacion_semana_anterior: '#interv-pol-var-semana',\n },\n };\n\n const dataWithFields = resultsetWithFields(data);\n\n if (!existenDatosDeAyer(dataWithFields, 'YYYYMMDD')) {\n const contenedor = document.getElementById('intervenciones-policiales');\n\n ocultarElementoPorClase(contenedor, '.indicador');\n ocultarElementoPorClase(contenedor, '.intervenciones-policiales-detalle');\n\n mostrarMensajeNoDatos(contenedor, 'No hay datos de intervenciones de ayer.');\n\n return;\n }\n\n printDataInHTMLElements(dataWithFields, dataConfig);\n\n const elementVarDia = document.getElementById('interv-pol-var-dia');\n aplicarEstilosVariacion(elementVarDia);\n\n const elementVarSem = document.getElementById('interv-pol-var-semana');\n aplicarEstilosVariacion(elementVarSem);\n}\n\nexport function echartIntervencionesTotalesPie(vis, data) {\n const chartOptions = JSON.parse(JSON.stringify(options));\n chartOptions.series[0].label.formatter = options.series[0].label.formatter;\n chartOptions.tooltip.formatter = options.tooltip.formatter;\n\n const idChart = 'chart-intervenciones-ayer';\n const idNoData = 'no-data-intervenciones-ayer';\n\n const dataWithFields = resultsetWithFields(data);\n\n if (!existenDatosDeAyer(dataWithFields, 'YYYYMMDD')) {\n return;\n }\n\n if (dataWithFields.length === 0) {\n printNoDataChart(`#${idChart}`, `#${idNoData}`);\n } else {\n printDataChart(`#${idNoData}`, `#${idChart}`);\n }\n\n const datos = dataWithFields\n .filter((dato) => dato.id !== 'TOTAL INTERVENCIONES')\n .map((dato) => ({\n name: dato.id,\n value: Number(dato.num_ayer),\n }));\n\n chartOptions.series[0].data = datos;\n\n initChart(idChart, chartOptions);\n}\n","import {\n initChart,\n printDataChart,\n printNoDataChart,\n resultsetWithFields,\n} from 'vlcishared';\nimport { crearWidgetVariacion } from './utils/variacion';\nimport { OPTIONS_INCIDENCIAS_PIE as options } from './options-charts';\nimport { existenDatosDeAyer } from './utils/data';\nimport { ocultarElementoPorId, mostrarMensajeNoDatos, mostrarMensajeNoDatosAdyacenteAElemento } from './utils/elements';\n\nexport function echartIncidenciasPorEstadoPie(data) {\n const chartOptions = JSON.parse(JSON.stringify(options));\n chartOptions.series[0].label.formatter = options.series[0].label.formatter;\n chartOptions.tooltip.formatter = options.tooltip.formatter;\n\n const idChart = 'chart-incid-ciudadanas-estado-ayer';\n const idNoData = 'no-data-incid-ciudadanas-estado-ayer';\n\n const dataWithFields = resultsetWithFields(data);\n\n if (dataWithFields.length === 0) {\n printNoDataChart(`#${idChart}`, `#${idNoData}`);\n } else {\n printDataChart(`#${idNoData}`, `#${idChart}`);\n }\n\n const datos = dataWithFields.map((dato) => ({\n name: dato.id,\n value: Number(dato.num_incidencias_ayer),\n }));\n\n chartOptions.series[0].data = datos;\n\n initChart(idChart, chartOptions);\n\n const contenedor = document.getElementById(\n 'list-incidencias-ciudadanas-estado',\n );\n const contenedorLista = contenedor.querySelector('ul');\n\n const hayDatosAyer = existenDatosDeAyer(dataWithFields, 'YYYY-MM-DD');\n const existenIncidenciasAyer = datos.some(dato => dato.value > 0);\n const contenedorIncidenciasCiudadanas = document.getElementById(\n 'incidencias-ciudadanas-estados-main',\n );\n\n if (hayDatosAyer && !existenIncidenciasAyer) {\n ocultarElementoPorId('incidencias-ciudadanas-estado');\n\n mostrarMensajeNoDatosAdyacenteAElemento(\n contenedorIncidenciasCiudadanas,\n 'Ayer no hubo incidencias.',\n 'h3'\n );\n return;\n }\n\n if (!hayDatosAyer) {\n ocultarElementoPorId('incidencias-ciudadanas-estado');\n\n mostrarMensajeNoDatos(\n contenedorIncidenciasCiudadanas,\n 'No hay datos de incidencias registradas de ayer.',\n );\n return;\n }\n\n const configWidget = {\n idPrefijo: 'estado-incidencia',\n camposLeft: [\n {\n campo: 'id',\n clase: 'value',\n idSufijo: 'estado',\n },\n ],\n camposVariacion: [\n {\n label: 'COMPARACIÓN vs ANTEAYER',\n campo: 'diferencia_dia_anterior',\n idSufijo: 'var-dia',\n mostrarPorcentaje: false,\n },\n {\n label: 'vs SEMANA PASADA',\n campo: 'diferencia_semana_anterior',\n idSufijo: 'var-semana',\n mostrarPorcentaje: false,\n },\n ],\n };\n\n crearWidgetVariacion(dataWithFields, contenedorLista, configWidget);\n}\n\nexport function top3IncidenciasPorTipologia(data) {\n const dataWithFields = resultsetWithFields(data);\n const contenedor = document.getElementById(\n 'incid-ciudadanas-tipologia-top-3',\n );\n const contenedorLista = contenedor.querySelector('ul');\n\n const hayDatosAyer = existenDatosDeAyer(dataWithFields, 'YYYY-MM-DD');\n const existenIncidenciasAyer = dataWithFields.some(dato => Number(dato.num_incidencias_ayer) > 0);\n\n if (hayDatosAyer && !existenIncidenciasAyer) {\n ocultarElementoPorId('incidencias-ciudadanas-tipologia');\n return;\n }\n\n if (!hayDatosAyer) {\n ocultarElementoPorId('incidencias-ciudadanas-tipologia');\n\n return;\n }\n\n const configWidget = {\n idPrefijo: 'tipo-incidencia',\n camposLeft: [\n {\n campo: 'id',\n clase: 'name',\n idSufijo: 'tipologia',\n },\n ],\n camposVariacion: [\n {\n campo: 'num_incidencias_ayer',\n idSufijo: 'num',\n clase: 'number',\n aplicarEstilosVariacion: false,\n },\n {\n campo: 'diferencia_dia_anterior',\n idSufijo: 'var-dia',\n mostrarPorcentaje: false,\n },\n {\n campo: 'diferencia_semana_anterior',\n idSufijo: 'var-semana',\n mostrarPorcentaje: false,\n },\n ],\n };\n\n crearWidgetVariacion(dataWithFields, contenedorLista, configWidget);\n}\n","import { printDataInHTMLElements, resultsetWithFields } from 'vlcishared';\nimport { aplicarEstilosVariacion } from './utils/format';\nimport { crearWidgetVariacion } from './utils/variacion';\nimport { existenDatosDeAyer } from './utils/data';\nimport {\n mostrarMensajeNoDatos,\n ocultarElementoPorClase,\n} from './utils/elements';\n\nexport function traficoAccesosCiudad(data) {\n const contenedor = document.getElementById('accesos-trafico');\n const dataConfig = {\n 'TOTAL VEHICULOS/HORA EN EL DIA': {\n veh_ayer: {\n element: '#accesos-traf-vehiculos',\n format: (value) => Number(value).toLocaleString('de-DE'),\n },\n variacion_dia_anterior: '#accesos-traf-var-dia',\n variacion_semana_anterior: '#accesos-traf-var-semana',\n },\n };\n\n const dataWithFields = resultsetWithFields(data);\n\n if (!existenDatosDeAyer(dataWithFields, 'YYYY-MM-DD')) {\n ocultarElementoPorClase(contenedor, '.datos.big');\n\n mostrarMensajeNoDatos(\n contenedor,\n 'No hay datos de los vehículos que accedieron a la ciudad de ayer.',\n );\n\n return;\n }\n\n printDataInHTMLElements(dataWithFields, dataConfig);\n\n const elementVarDia = document.getElementById('accesos-traf-var-dia');\n aplicarEstilosVariacion(elementVarDia);\n const elementVarSem = document.getElementById('accesos-traf-var-semana');\n aplicarEstilosVariacion(elementVarSem);\n}\n\nexport function traficoAccesosCiudadDetalle(data) {\n const dataWithFields = resultsetWithFields(data);\n const contenedor = document.getElementById('accesos-trafico-detalle');\n const contenedorLista = document.getElementById(\n 'accesos-trafico-detalle-lista',\n );\n\n if (!dataWithFields || dataWithFields.length === 0) {\n mostrarMensajeNoDatos(contenedor, 'No hay datos disponibles.');\n return;\n }\n\n if (!existenDatosDeAyer(dataWithFields, 'YYYY-MM-DD')) {\n mostrarMensajeNoDatos(\n contenedor,\n 'No hay datos de vehículos en las vías de acceso de ayer.',\n );\n return;\n }\n\n const accesosFiltrados = dataWithFields\n .filter((a) => a.id !== 'TOTAL VEHICULOS/HORA EN EL DIA')\n .sort((a, b) => b.veh_ayer - a.veh_ayer);\n\n const configWidget = {\n idPrefijo: 'acceso',\n camposLeft: [\n {\n campo: 'id',\n clase: 'name',\n idSufijo: 'nombre',\n },\n {\n campo: 'veh_ayer',\n clase: 'number',\n idSufijo: 'vehiculos',\n format: (v) => v.toLocaleString('de-DE'),\n },\n ],\n camposVariacion: [\n {\n label: 'COMPARACIÓN vs ANTEAYER',\n campo: 'variacion_dia_anterior',\n idSufijo: 'var-dia',\n },\n {\n label: 'vs SEMANA PASADA',\n campo: 'variacion_semana_anterior',\n idSufijo: 'var-semana',\n },\n ],\n };\n\n crearWidgetVariacion(accesosFiltrados, contenedorLista, configWidget, true);\n}\n","import { resultsetWithFields } from 'vlcishared';\nimport { esNumber } from './utils/numbers';\nimport { existenDatosDeAyer } from './utils/data';\nimport { mostrarMensajeNoDatos } from './utils/elements';\n\nexport function medioambienteClima(data) {\n const dataWithFields = resultsetWithFields(data);\n const contenedor = document.getElementById('sensores-clima');\n const ul = contenedor.querySelector('ul');\n ul.innerHTML = '';\n\n if (!dataWithFields || dataWithFields.length === 0) {\n mostrarMensajeNoDatos(contenedor, 'No hay datos disponibles.');\n return;\n }\n\n if (!existenDatosDeAyer(dataWithFields, 'YYYY-MM-DD')) {\n mostrarMensajeNoDatos(contenedor, 'No hay datos de clima de ayer.');\n return;\n }\n\n const fila = dataWithFields[0];\n\n const campos = [\n {\n id: 'clima-temp-media',\n campoBbdd: 'temperatura_media',\n label: 'Temperatura',\n unidad: '°',\n },\n {\n id: 'clima-temp-maxima',\n campoBbdd: 'temperatura_maxima',\n label: 'Máx.',\n unidad: '°',\n },\n {\n id: 'clima-temp-minima',\n campoBbdd: 'temperatura_minima',\n label: 'Mín.',\n unidad: '°',\n },\n {\n id: 'clima-humedad-media',\n campoBbdd: 'humedad_media',\n label: 'Humedad',\n unidad: '%',\n },\n {\n id: 'clima-precip-acumulada',\n campoBbdd: 'precipitacion_acumulada',\n label: 'Precipitación acumulada',\n unidad: 'mm',\n },\n {\n id: 'clima-vel-viento-media',\n campoBbdd: 'velocidad_viento_media',\n label: 'Velocidad del viento',\n unidad: 'km/h',\n },\n ];\n\n const formatNumber = (value) =>\n esNumber(value) ? Number(value).toLocaleString('es-ES') : value;\n\n const [primeraMitad, segundaMitad] = [campos.slice(0, 3), campos.slice(3, 6)];\n\n const ul1 = document.createElement('ul');\n ul1.className = 'list';\n ul1.id = 'temp';\n\n const ul2 = document.createElement('ul');\n ul2.className = 'list';\n\n function renderLista(listaCampos, listaUl) {\n listaCampos.forEach(({ id, campoBbdd, label, unidad }) => {\n const li = document.createElement('li');\n li.id = id;\n\n const divLabel = document.createElement('div');\n divLabel.className = 'label';\n divLabel.textContent = label;\n\n const divValue = document.createElement('div');\n divValue.className = 'value';\n divValue.textContent = formatNumber(fila[campoBbdd]);\n\n const divUnidad = document.createElement('div');\n divUnidad.className = 'medida';\n divUnidad.textContent = unidad;\n\n li.append(divLabel, divValue, divUnidad);\n listaUl.appendChild(li);\n });\n }\n\n renderLista(primeraMitad, ul1);\n renderLista(segundaMitad, ul2);\n\n ul.appendChild(ul1);\n ul.appendChild(ul2);\n}\n","export const CONFIG_MEDIOAMBIENTE = new Map([\n ['NO2alerta', 400],\n ['NO2aviso', 200],\n ['NO2preaviso', 180],\n ['PM10aviso', 80],\n ['PM10preaviso', 50],\n]);\n","import { printDataInHTMLElements, resultsetWithFields } from 'vlcishared';\nimport { TEXTS_MEDIOAMBIENTE } from './utils/texts';\nimport { CONFIG_MEDIOAMBIENTE } from './utils/config';\nimport { DEFAULT_LANGUAGE } from '../common-language';\nimport { existenDatosDeAyer } from './utils/data';\nimport { mostrarMensajeNoDatos, ocultarElementoPorId } from './utils/elements';\n\nexport function medioambienteEstadoCalidadAire(data) {\n const estados = [\n 'Extremadamente Desfavorable',\n 'Muy Desfavorable',\n 'Desfavorable',\n 'Regular',\n 'Razonablemente Buena',\n 'Buena',\n ];\n\n const dataConfig = {\n 'ESTADO CALIDAD AIRE': {\n calidad_ambiental_ciudad: {\n element: '#estado-calidad-aire',\n format: (value) => value,\n },\n calidad_ambiental_ciudad_clase: {\n className: '#estado-calidad-aire',\n },\n },\n };\n\n const dataWithFields = resultsetWithFields(data);\n\n if (!existenDatosDeAyer(dataWithFields, 'YYYY-MM-DD')) {\n const contenedor = document.getElementById('calidad-aire');\n\n ocultarElementoPorId('sensores-calidad-aire');\n\n mostrarMensajeNoDatos(\n contenedor,\n 'No hay datos de calidad del aire de ayer.',\n );\n\n return;\n }\n\n const adaptedData = dataWithFields.map((item) => {\n const index = estados.indexOf(item.calidad_ambiental_ciudad);\n const clase = index !== -1 ? `aire-${6 - index}` : '';\n return {\n ...item,\n calidad_ambiental_ciudad_clase: clase,\n };\n });\n\n printDataInHTMLElements(adaptedData, dataConfig);\n}\n\nconst crearLinea = (tipo, contaminante, claveTexto, claveUmbral) => {\n const p = document.createElement('p');\n p.className = tipo;\n\n const strong = document.createElement('strong');\n strong.textContent = `${TEXTS_MEDIOAMBIENTE[DEFAULT_LANGUAGE].get(\n tipo,\n )} ${contaminante}:`;\n\n p.appendChild(strong);\n p.append(\n `${TEXTS_MEDIOAMBIENTE[DEFAULT_LANGUAGE].get(claveTexto).replace(\n '{umbral}',\n CONFIG_MEDIOAMBIENTE.get(claveUmbral),\n )}`,\n );\n\n return p;\n};\n\nexport function medioambienteAlertasHorarias(data) {\n const dataWithFields = resultsetWithFields(data);\n const contenedor = document.getElementById('alertas-contaminantes-est-aire');\n\n if (!dataWithFields || dataWithFields.length === 0) return;\n\n contenedor.classList.remove('hidden');\n const datos = dataWithFields[0];\n const claveTexto = 'avisos_horarios';\n const contaminante = 'NO2';\n\n if (datos.cant_alertas > 1)\n contenedor.appendChild(\n crearLinea('alerta', contaminante, claveTexto, 'NO2alerta'),\n );\n\n if (datos.cant_avisos > 1)\n contenedor.appendChild(\n crearLinea('aviso', contaminante, claveTexto, 'NO2aviso'),\n );\n\n if (datos.cant_preavisos > 1)\n contenedor.appendChild(\n crearLinea('preaviso', contaminante, claveTexto, 'NO2preaviso'),\n );\n}\n\nexport function medioambienteAlertasDiarias(data) {\n const dataWithFields = resultsetWithFields(data);\n\n const contenedor = document.getElementById('alertas-contaminantes-est-aire');\n if (!dataWithFields || dataWithFields.length === 0) return;\n\n contenedor.classList.remove('hidden');\n const datos = dataWithFields[0];\n const claveTexto = 'avisos_diarios';\n const contaminante = 'PM10';\n\n if (datos.cant_avisos > 1)\n contenedor.appendChild(\n crearLinea('aviso', contaminante, claveTexto, 'PM10aviso'),\n );\n\n if (datos.cant_preavisos > 1)\n contenedor.appendChild(\n crearLinea('preaviso', contaminante, claveTexto, 'PM10preaviso'),\n );\n}\n","import { resultsetWithFields } from 'vlcishared';\nimport { existenDatosDeAyer } from './utils/data';\nimport {\n ocultarElementoPorClase,\n ocultarElementoPorId,\n} from './utils/elements';\n\nconst hayAlertasDeRuido = { hayAlertasDeRuido: false };\n\nfunction getHayAlertasDeRuido() {\n return hayAlertasDeRuido.hayAlertasDeRuido;\n}\n\nfunction setHayAlertasDeRuido(valor) {\n hayAlertasDeRuido.hayAlertasDeRuido = Boolean(valor);\n}\n\nfunction mostrarEstadoSinDatosRuido(textoMensaje) {\n const contenedor = document.getElementById('sensores-ruido');\n if (!contenedor) return;\n\n ocultarElementoPorClase(contenedor, ':scope > p');\n\n ocultarElementoPorId('tabla-sensores-ruido');\n\n let mensaje = document.getElementById('mensaje-sin-datos-ruido');\n if (!mensaje) {\n mensaje = document.createElement('p');\n mensaje.id = 'mensaje-sin-datos-ruido';\n contenedor.appendChild(mensaje);\n }\n\n mensaje.textContent = textoMensaje;\n}\n\nfunction buildTableSensoresRuido(tbody, resultset) {\n function createTd(idName) {\n const td = document.createElement('td');\n td.id = idName;\n td.textContent = 0;\n return td;\n }\n\n const estaciones = [...new Set(resultset.map((item) => item.areaserved))];\n\n estaciones.forEach((estacion) => {\n const id = `estacion-${estacion.toLowerCase()}`;\n\n if (document.getElementById(id)) return;\n\n const tr = document.createElement('tr');\n tr.id = id;\n\n const tdNombre = createTd(`${id}-nombre`);\n tdNombre.textContent = estacion;\n tr.appendChild(tdNombre);\n\n tr.appendChild(createTd(`${id}-cant-manana`));\n tr.appendChild(createTd(`${id}-cant-tarde`));\n tr.appendChild(createTd(`${id}-cant-noche`));\n\n tbody.appendChild(tr);\n });\n}\n\nexport function fillTableSensoresRuido(resultset, tiempo) {\n const cantidadesEstacion = resultset.reduce((acc, item) => {\n acc[item.areaserved] = (acc[item.areaserved] || 0) + 1;\n return acc;\n }, {});\n\n Object.entries(cantidadesEstacion).forEach(([estacion, count]) => {\n const id = `estacion-${estacion.toLowerCase()}-cant-${tiempo}`;\n const td = document.getElementById(id);\n if (td) td.textContent = count;\n });\n}\n\nexport function sensoresRuido(data, tiempo) {\n const dataWithFields = resultsetWithFields(data);\n\n const existenDatosAyer = existenDatosDeAyer(dataWithFields, 'YYYY-MM-DD');\n\n const existenAlertasDeRuido = getHayAlertasDeRuido();\n\n if (!existenDatosAyer) {\n mostrarEstadoSinDatosRuido(\n 'No hay datos de alertas de superación de ruido de ayer.',\n );\n return;\n }\n\n if (existenDatosAyer && !existenAlertasDeRuido) {\n mostrarEstadoSinDatosRuido('Ayer no hubo alertas de superación de ruido.');\n return;\n }\n\n const tbody = document.querySelector('#tabla-sensores-ruido > tbody');\n\n buildTableSensoresRuido(tbody, dataWithFields);\n fillTableSensoresRuido(dataWithFields, tiempo);\n}\n\nexport function countAlertasDeRuido(data) {\n const dataWithFields = resultsetWithFields(data);\n const alertasRuido = dataWithFields[0].total_alertas;\n\n if (alertasRuido > 0) {\n setHayAlertasDeRuido(true);\n } else {\n setHayAlertasDeRuido(false);\n }\n}\n","import { initElement } from 'vlcishared';\n\nexport function setFechaDatos() {\n const fechaDatos = new Date();\n fechaDatos.setDate(fechaDatos.getDate() - 1);\n\n const fechaFormateada = [\n String(fechaDatos.getDate()).padStart(2, '0'),\n String(fechaDatos.getMonth() + 1).padStart(2, '0'),\n fechaDatos.getFullYear(),\n ].join('/');\n\n initElement('fecha-datos', (el) => {\n // eslint-disable-next-line no-param-reassign\n el.textContent = fechaFormateada;\n });\n}\n","import { resultsetWithFields } from 'vlcishared';\n\nexport function setToken(data) {\n const resultSet = resultsetWithFields(data);\n const token = resultSet[0].token;\n if (!token) {\n throw new Error('No se pudo obtener el token desde base de datos');\n }\n mostrarMapaEstadosTrafico(token);\n}\n\nfunction mostrarMapaEstadosTrafico(token) {\n\n const URL_GEOPORTAL =\n 'https://geoportal.valencia.es/portal/apps/webappviewer/index.html?id=fdcb9a8cbde94431a72f6b45f4c96185&mobileBreakPoint=300';\n\n try {\n const iframeMapaEstadosTrafico = document.querySelector(\n '#if-estados-trafico',\n );\n\n iframeMapaEstadosTrafico.setAttribute(\n 'src',\n `${URL_GEOPORTAL}&token=${token}`,\n );\n } catch (error) {\n console.error(\n 'No se pudo cargar el token, y por tanto, no se han podido mostrar el mapa. Error:',\n error,\n );\n }\n}\n","import { initElementsByClass } from 'vlcishared';\n\nfunction isButton(element) {\n return element instanceof HTMLButtonElement;\n}\n\nexport function initGuiaButtons() {\n initElementsByClass('guia', (element) => {\n if (!isButton(element)) return;\n\n element.addEventListener('click', () => {\n document.body.classList.add('historia');\n });\n });\n}\n\nexport function initInfoButtons() {\n initElementsByClass('info', (element) => {\n if (!isButton(element)) return;\n\n element.addEventListener('click', () => {\n document.body.classList.remove('historia');\n });\n });\n}\n","import { initGuiaButtons, initInfoButtons } from '../events/button-events';\n\nexport function initializeUI() {\n initGuiaButtons();\n initInfoButtons();\n}\n","import { printDataInHTMLElements, resultsetWithFields } from 'vlcishared';\nimport { aplicarEstilosVariacion } from './utils/format';\nimport { crearWidgetVariacion } from './utils/variacion';\nimport { existenDatosDeAyer } from './utils/data';\nimport {\n mostrarMensajeNoDatos,\n ocultarElementoPorClase,\n} from './utils/elements';\n\nexport function emt(data) {\n const contenedor = document.getElementById('viajeros-emt');\n const contenedorLista = document.getElementById('viajeros-emt-franjas-lista');\n\n const dataWithFields = resultsetWithFields(data);\n\n if (\n !Array.isArray(dataWithFields) ||\n dataWithFields.length === 0 ||\n !existenDatosDeAyer(dataWithFields, 'YYYY-MM-DD')\n ) {\n ocultarElementoPorClase(contenedor, '.datos.big');\n ocultarElementoPorClase(contenedor, '.list');\n\n if (contenedorLista) {\n contenedorLista.innerHTML = '';\n }\n mostrarMensajeNoDatos(contenedor, 'No hay datos de ayer.');\n\n return;\n }\n\n const validateData = dataWithFields[0]['viajeros_ayer'];\n\n if (\n validateData === null ||\n validateData === undefined ||\n validateData === '' ||\n Number.isNaN(Number(validateData))\n ) {\n ocultarElementoPorClase(contenedor, '.datos.big');\n ocultarElementoPorClase(contenedor, '.list');\n\n if (contenedorLista) {\n contenedorLista.innerHTML = '';\n }\n\n mostrarMensajeNoDatos(\n contenedor,\n 'No hay datos de los viajeros totales de la EMT.',\n );\n\n return;\n }\n\n const dataConfig = {\n 'VIAJEROS TOTALES EMT': {\n viajeros_ayer: {\n element: '#viajeros-emt-total',\n format: (value) => Number(value).toLocaleString('de-DE'),\n },\n variacion_dia_anterior: '#viajeros-emt-var-dia',\n variacion_semana_anterior: '#viajeros-emt-var-semana',\n },\n };\n\n printDataInHTMLElements(dataWithFields, dataConfig);\n\n const nombreFranja = {\n 'VIAJEROS EMT MANANA': 'AYER POR LA MAÑANA',\n 'VIAJEROS EMT TARDE': 'AYER POR LA TARDE',\n 'VIAJEROS EMT NOCHE': 'AYER POR LA NOCHE',\n };\n\n const viajerosFiltrados = dataWithFields\n .filter((item) => item.id !== 'VIAJEROS TOTALES EMT')\n .map((item) => ({\n ...item,\n name: nombreFranja[item.id] || item.name,\n }))\n .sort((a, b) => {\n const orden = {\n 'VIAJEROS EMT MANANA': 1,\n 'VIAJEROS EMT TARDE': 2,\n 'VIAJEROS EMT NOCHE': 3,\n };\n\n return orden[a.id] - orden[b.id];\n });\n\n const configWidget = {\n idPrefijo: 'viajeros-emt',\n\n camposLeft: [\n {\n campo: 'name',\n clase: 'label franja-label',\n idSufijo: 'nombre',\n },\n {\n campo: 'viajeros_ayer',\n clase: 'number',\n idSufijo: 'viajeros',\n format: (value) => {\n if (\n value === null ||\n value === undefined ||\n value === '' ||\n Number.isNaN(Number(value))\n ) {\n return 'No hay datos';\n }\n\n return Number(value).toLocaleString('de-DE');\n },\n },\n {\n campo: 'franja_horaria',\n clase: 'muted small',\n idSufijo: 'franja',\n },\n ],\n\n camposVariacion: [\n {\n label: 'COMPARACIÓN vs ANTEAYER',\n campo: 'variacion_dia_anterior',\n idSufijo: 'var-dia',\n aplicarEstilosVariacion: false,\n },\n {\n label: 'vs SEMANA PASADA',\n campo: 'variacion_semana_anterior',\n idSufijo: 'var-semana',\n aplicarEstilosVariacion: false,\n },\n ],\n };\n\n const pintarVariacionEmt = (el) => {\n const elemento = el;\n const value = elemento.textContent.trim();\n\n elemento.classList.remove('pos', 'neg', 'sin-datos');\n\n if (value === '' || value === 'null' || value === 'NaN') {\n elemento.textContent = 'No hay datos';\n elemento.classList.add('sin-datos');\n return;\n }\n\n aplicarEstilosVariacion(elemento);\n };\n\n crearWidgetVariacion(viajerosFiltrados, contenedorLista, configWidget, false);\n\n contenedor\n .querySelectorAll('[id$=\"var-dia\"], [id$=\"var-semana\"]')\n .forEach((el) => pintarVariacionEmt(el));\n}\n"],"names":["root","factory","exports","module","define","amd","self","e","t","d","n","o","Object","defineProperty","enumerable","get","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value","MONTHS_YEAR","MONTHS_YEAR_SHORT","a","TEXTS_COMMON","i","THRESHOLDS","wt","addPointInteger","S","buildCamarasTrafico","Tt","buildTableCalidadAire","$t","calculateMaxYAxis","T","calculatePentahoPath","Ft","calculateXAxisStart","O","capitalizarTexto","E","checkAllGroupsCollapsed","At","configureDataBar","W","configureDataGaugeCommon","_","configureDataGaugeMonthCommon","R","configureDataLine","J","configureDataValidate","Ut","configureLinesChartValidates","Yt","convertDateToInteger","g","convertISODateToEUDate","b","convertToLanguageSelectorDateRange","ft","convertToTableTreeView","vt","downloadCSVTable","Dt","downloadPDFTable","Et","formatCellMultiplesLines","bt","formatDayMonthYear","u","formatMilMillionEuros","P","formatMonthAnyo","c","formatName","D","formatNameHeaderColumn","gt","formatRoundTooltip","z","formatShortMonthShortYear","f","formatShortMonthYear","formatToMillions","M","formatToTons","v","formatTooltip","L","formatTooltipPie","I","formatTrimestre","m","formatWithPrefix","A","getEnvironment","Nt","getMaxFieldNumberFromData","H","getMonth","getMonthList","p","getSelectCommonOptions","it","getSelectTwoColumnsOptions","st","initBarChart","_t","initBarChartComparationMonth","Wt","initChart","$","initContractAllGroups","xt","initElement","C","initElementsByClass","w","initExpandAllGroups","Ct","initStackedBarChart","Pt","initStackedBarChartMonthSeries","Bt","initTable","yt","initValueDefaultDate","ut","initialCalls","Ot","loadIframeOnClickEvent","jt","printDataChart","N","printDataInHTMLElements","V","printEchart","k","printNoDataChart","F","resetFilter","at","resetFilterAndUpdate","ht","resetFilterDate","ct","resetFilterDates","lt","resetFilterToDefault","mt","resultsetWithFields","j","selectConfigDatasource","ot","selectConfigDatasourceAllValue","rt","selectFilterAll","et","selectFilterNumItemsDefault","pt","selectValueDefaultInFilter","dt","separateDayMonthYearToSlash","s","splitDataset","Y","subtractOneDay","h","subtractOneMonth","y","traverseRows","Mt","updateDomElement","U","updateObject","G","updateStackedBarOptions","kt","Map","parseInt","toString","es_ES","ca_ES","substring","l","split","parseFloat","Array","from","values","map","slice","Math","floor","Date","setDate","getDate","getFullYear","padStart","replace","navigator","language","userLanguage","length","toUpperCase","minimumFractionDigits","maximumFractionDigits","toLocaleString","round","prefix","forEach","includes","toLowerCase","x","Promise","document","body","addEventListener","console","error","once","getElementById","resolve","getElementsByClassName","echarts","init","setOption","window","resize","querySelector","hidden","style","background","name","data","color","seriesName","max","percent","marker","Number","B","ceil","push","String","type","shift","title","offsetCenter","fontFamily","fontSize","detail","width","formatter","innerWidth","q","resultset","Set","add","day","sort","localeCompare","ignorePunctuation","filter","find","symbol","symbolSize","smooth","metadata","colName","keys","isArray","id","entries","className","element","format","textContent","isNaN","warn","Cont","Mob","X","Z","K","Q","tt","this","dashboard","fireChange","parameter","nt","queryDefinition","dataAccessId","setParameter","Dashboards","input","indexes","label","component","Root","strings","isDisabled","allItems","noItems","btnApply","btnCancel","Group","Strings","getParameterValue","regional","es","monthNames","abbreviatedMonthNames","dayNames","abbreviatedDayNames","dayNamesMin","weekHeader","firstDay","isRTL","showMonthAfterYear","yearSuffix","setDefaults","getComponent","update","Tabulator","getValue","substr","St","treeExpand","treeCollapse","getTreeChildren","getRows","_children","getGroups","_group","visible","cloneNode","parentNode","replaceChild","download","delimiter","bom","getData","getColumns","getField","every","test","trim","halign","rowCalcStyles","fontStyle","autoTable","styles","lineWidth","lineColor","headStyles","columnStyles","setGroupStartOpen","setData","SO2","NO2","O3","PM10","PM25","createElement","setAttribute","innerHTML","classList","operationalstatus","so2value","no2value","o3value","pm10value","pm25value","address","appendChild","entityid","location","documentURI","href","Lt","querySelectorAll","XMLHttpRequest","onreadystatechange","readyState","status","responseText","open","send","getAttribute","realDashboardsInit","dispatchEvent","Event","remove","match","Liferay","ThemeDisplay","getBCP47LanguageId","src","IntersectionObserver","isIntersecting","setTimeout","observe","userAgent","MSStream","display","It","grid","containLabel","left","top","textStyle","fontWeight","legend","orient","bottom","toolbox","show","right","feature","restore","saveAsImage","emphasis","iconStyle","borderColor","textFill","tooltip","xAxis","axisLabel","interval","yAxis","alignTicks","position","zt","anyo","text","axisPointer","trigger","contentSize","viewSize","padding","splitNumber","nameLocation","nameTextStyle","margin","splitLine","lineStyle","series","stack","itemStyle","focus","reduce","borderWidth","appendToBody","showBackground","Rt","qt","Jt","barGap","onload","disabled","Gt","Vt","Ht","showSymbol","fecha","markArea","silent","opacity","boundaryGap","nameGap","align","verticalAlign","scale","dataZoom","end","fillerColor","textBorderColor","textBorderWidth","selectedDataBackground","areaStyle","dataBackground","backgroundColor","handleStyle","moveHandleStyle","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","definition","key","obj","prop","esNumber","valor","aplicarEstilosVariacion","elemento","porcentaje","el","num","obtenerClaseVariacion","esPositivo","quitarSigno","porcentajeEl","append","crearWidgetVariacion","datos","contenedor","config","mostrarProgreso","idPrefijo","camposLeft","camposVariacion","mayorValor","campo","item","numId","listItem","divDatos","divLeft","div","clase","idSufijo","texto","span","crearBloqueLeft","divChanges","cambio","aplicarEstilos","mostrarPorcentaje","labelEl","valueEl","crearBloqueVariacion","crearBloqueChanges","extra","divProgreso","valorActual","crearProgresoVariacion","FORMATEADORES","YYYYMMDD","yyyy","mm","dd","existenDatosDeAyer","dataWithFields","formatoFecha","nombreCampoFecha","fechaAyer","ayer","obtenerFechaAyer","some","fila","ocultarElemento","ocultarElementoPorId","idElemento","ocultarElementoPorClase","mostrarMensajeNoDatos","textoMensaje","elementoMensaje","callesCortadas","dataConfig","num_ayer","diferencia_dia_anterior","diferencia_semana_anterior","vlcishared","elementVarDia","elementVarSem","callesCongestionadas","minutos_ayer","existenDatosDeCongestionAyer","contenedorLista","descripcion","existeFilaConValor","divNombre","TEXTS_SEGURIDAD","TEXTS_MEDIOAMBIENTE","COLORS","naranjaPalido","tealPalido","amarilloPalido","azulPalido","cranberryPalido","marinoPalido","naranja","teal","amarillo","azulCeruleo","cranberry","marino","verdeClaro","tealApagado","OPTIONS_INTERVENCIONES_PIE","subtext","itemGap","subtextStyle","selectedMode","confine","param","radius","center","startAngle","distanceToLabelLine","lineHeight","labelLine","shadowBlur","shadowOffsetX","shadowColor","OPTIONS_INCIDENCIAS_PIE","intervencionesPoliciales","variacion_dia_anterior","variacion_semana_anterior","echartIntervencionesTotalesPie","vis","chartOptions","JSON","parse","stringify","idChart","idNoData","dato","echartIncidenciasPorEstadoPie","num_incidencias_ayer","hayDatosAyer","existenIncidenciasAyer","contenedorIncidenciasCiudadanas","insertAdjacentElement","mostrarMensajeNoDatosAdyacenteAElemento","top3IncidenciasPorTipologia","traficoAccesosCiudad","veh_ayer","traficoAccesosCiudadDetalle","accesosFiltrados","medioambienteClima","ul","campos","campoBbdd","unidad","primeraMitad","segundaMitad","ul1","ul2","renderLista","listaCampos","listaUl","li","divLabel","divValue","divUnidad","CONFIG_MEDIOAMBIENTE","medioambienteEstadoCalidadAire","estados","adaptedData","index","indexOf","calidad_ambiental_ciudad","calidad_ambiental_ciudad_clase","crearLinea","tipo","contaminante","claveTexto","claveUmbral","strong","medioambienteAlertasHorarias","cant_alertas","cant_avisos","cant_preavisos","medioambienteAlertasDiarias","hayAlertasDeRuido","mostrarEstadoSinDatosRuido","mensaje","sensoresRuido","tiempo","existenDatosAyer","existenAlertasDeRuido","tbody","createTd","idName","td","areaserved","estacion","tr","tdNombre","buildTableSensoresRuido","cantidadesEstacion","acc","count","fillTableSensoresRuido","countAlertasDeRuido","total_alertas","Boolean","setFechaDatos","fechaDatos","fechaFormateada","join","setToken","token","Error","mostrarMapaEstadosTrafico","isButton","HTMLButtonElement","initializeUI","emt","validateData","viajeros_ayer","nombreFranja","viajerosFiltrados","orden","pintarVariacionEmt"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"inicio.js","mappings":"CAAA,SAAAA,EAAAC,GACA,iBAAAC,SAAA,iBAAAC,OACAA,OAAAD,QAAAD,IACA,mBAAAG,QAAAA,OAAAC,IACAD,OAAA,GAAAH,GACA,iBAAAC,QACAA,QAAA,OAAAD,IAEAD,EAAA,OAAAC,GACC,CATD,CASCK,KAAA,I,oBCTD,IAAAC,EAAwMD,KAAxMC,EAAwM,UAAgB,aAAa,MAAAC,EAAA,CAASC,EAAA,CAAAF,EAAAG,KAAU,QAAAC,KAAAD,EAAAF,EAAAG,EAAAD,EAAAC,KAAAH,EAAAG,EAAAJ,EAAAI,IAAAC,OAAAC,eAAAN,EAAAI,EAAA,CAA+DG,YAAA,EAAAC,IAAAL,EAAAC,MAAyBA,EAAA,CAAAH,EAAAD,IAAAK,OAAAI,UAAAC,eAAAC,KAAAV,EAAAD,GAAAY,EAAAX,IAA0DI,OAAAC,eAAAL,EAAAY,OAAAC,YAAA,CAA4CC,MAAA,WAAeV,OAAAC,eAAAL,EAAA,cAAwCc,OAAA,MAAa,IAAAf,EAAA,GAASC,EAAAW,EAAAZ,GAAAC,EAAAC,EAAAF,EAAA,CAAcgB,YAAA,IAAAJ,EAAAK,kBAAA,IAAAC,EAAAC,aAAA,IAAAC,EAAAC,WAAA,IAAAC,GAAAC,gBAAA,IAAAC,EAAAC,oBAAA,IAAAC,GAAAC,sBAAA,IAAAC,GAAAC,kBAAA,IAAAC,EAAAC,qBAAA,IAAAC,GAAAC,oBAAA,IAAAC,EAAAC,iBAAA,IAAAC,EAAAC,wBAAA,IAAAC,GAAAC,iBAAA,IAAAC,EAAAC,yBAAA,IAAAC,EAAAC,8BAAA,IAAAC,EAAAC,kBAAA,IAAAC,EAAAC,sBAAA,IAAAC,GAAAC,6BAAA,IAAAC,GAAAC,qBAAA,IAAAC,EAAAC,uBAAA,IAAAC,EAAAC,mCAAA,IAAAC,GAAAC,uBAAA,IAAAC,GAAAC,iBAAA,IAAAC,GAAAC,iBAAA,IAAAC,GAAAC,yBAAA,IAAAC,GAAAC,mBAAA,IAAAC,EAAAC,sBAAA,IAAAC,EAAAC,gBAAA,IAAAC,EAAAC,WAAA,IAAAC,EAAAC,uBAAA,IAAAC,GAAAC,mBAAA,IAAAC,EAAAC,0BAAA,IAAAC,EAAAC,qBAAA,IAAA7E,EAAA8E,iBAAA,IAAAC,EAAAC,aAAA,IAAAC,EAAAC,cAAA,IAAAC,EAAAC,iBAAA,IAAAC,EAAAC,gBAAA,IAAAC,EAAAC,iBAAA,IAAAC,EAAAC,eAAA,IAAAC,GAAAC,0BAAA,IAAAC,EAAAC,SAAA,IAAA5F,EAAA6F,aAAA,IAAAC,EAAAC,uBAAA,IAAAC,GAAAC,2BAAA,IAAAC,GAAAC,aAAA,IAAAC,GAAAC,6BAAA,IAAAC,GAAAC,UAAA,IAAAC,EAAAC,sBAAA,IAAAC,GAAAC,YAAA,IAAAC,EAAAC,oBAAA,IAAAC,EAAAC,oBAAA,IAAAC,GAAAC,oBAAA,IAAAC,GAAAC,+BAAA,IAAAC,GAAAC,UAAA,IAAAC,GAAAC,qBAAA,IAAAC,GAAAC,aAAA,IAAAC,GAAAC,uBAAA,IAAAC,GAAAC,eAAA,IAAAC,EAAAC,wBAAA,IAAAC,EAAAC,YAAA,IAAAC,EAAAC,iBAAA,IAAAC,EAAAC,YAAA,IAAAC,GAAAC,qBAAA,IAAAC,GAAAC,gBAAA,IAAAC,GAAAC,iBAAA,IAAAC,GAAAC,qBAAA,IAAAC,GAAAC,oBAAA,IAAAC,EAAAC,uBAAA,IAAAC,GAAAC,+BAAA,IAAAC,GAAAC,gBAAA,IAAAC,GAAAC,4BAAA,IAAAC,GAAAC,2BAAA,IAAAC,GAAAC,4BAAA,IAAAC,EAAAC,aAAA,IAAAC,EAAAC,eAAA,IAAAC,EAAAC,iBAAA,IAAAC,EAAAC,aAAA,IAAAC,GAAAC,iBAAA,IAAAC,EAAAC,aAAA,IAAAC,EAAAC,wBAAA,IAAAC,KAAsiE,IAAAC,IAAA,mMAAAA,IAAA,wLAAyY,MAAA5K,EAAA,CAAS,wKAAwK,SAAAC,EAAAH,GAAc,OAAO,oGAAmG+K,SAAA/K,EAAAgL,WAAA,KAA4B,MAAArK,EAAA,CAASsK,MAAA,IAAAH,IAAA,+LAAAI,MAAA,IAAAJ,IAAA,yLAAmZ7J,EAAA,CAAIgK,MAAA,IAAAH,IAAA,sJAAAI,MAAA,IAAAJ,IAAA,uJAAwU3J,EAAA,CAAI8J,MAAA,IAAAH,IAAA,0CAAAI,MAAA,IAAAJ,IAAA,2CAAiH,SAAAf,EAAA/J,GAAc,SAASA,EAAAmL,UAAA,QAAoBnL,EAAAmL,UAAA,QAAoBnL,EAAAmL,UAAA,MAAiB,CAAE,SAAAC,EAAApL,GAAc,OAAAA,EAAAmL,UAAA,KAAAjL,EAAAF,EAAAmL,UAAA,OAA6C,SAAA9G,EAAArE,GAAc,MAAAD,EAAAG,GAAAkL,EAAApL,GAAgB,SAASE,KAAKH,GAAE,CAAE,SAAAkE,EAAAjE,GAAc,MAAAD,EAAAI,EAAAQ,GAAA,SAAAX,GAAyB,OAAAA,EAAAmL,UAAA,KAAAjL,EAAAF,EAAAmL,UAAA,MAAAnL,EAAAmL,UAAA,MAAzB,CAAuFnL,GAAI,SAASW,KAAKR,KAAKJ,GAAE,CAAE,SAAAE,EAAAD,GAAc,MAAAD,EAAAG,GAAAkL,EAAApL,GAAgB,SAASE,EAAAiL,UAAA,QAAoBpL,GAAE,CAAE,SAAA8E,EAAA7E,GAAc,MAAAD,EAAAG,GAAAkL,EAAApL,GAAgB,SAASE,EAAAiL,UAAA,SAAqBpL,EAAAoL,UAAA,MAAiB,CAAE,SAAA3F,EAAAxF,GAAc,MAAAD,EAAAG,GAAAF,EAAAqL,MAAA,KAAwB,SAASC,WAAApL,GAAA,MAAoBH,GAAE,CAAE,SAAAkG,IAAa,MAAAjG,EAAAW,EAAAsK,MAAgB,OAAAM,MAAAC,KAAAxL,EAAAyL,UAAAC,IAAA1L,GAAAA,EAAA2L,MAAA,MAAmD,SAAAxB,EAAAnK,GAAc,MAAAD,EAAA6L,KAAAC,MAAA7L,EAAA,KAAAE,EAAA,IAAA4L,KAAA/L,EAAAC,EAAA,UAAAA,EAAA,KAA0D,OAAAE,EAAA6L,QAAA7L,EAAA8L,UAAA,MAAmC9L,EAAA+L,iBAAkB/L,EAAA6F,WAAA,GAAAiF,WAAAkB,SAAA,SAA8ChM,EAAA8L,UAAAhB,WAAAkB,SAAA,QAAuC,CAAE,SAAA7B,EAAArK,GAAc,MAAAD,EAAA,IAAA+L,KAAAF,KAAAC,MAAA7L,EAAA,KAAAA,EAAA,SAA8C,SAASD,EAAAkM,iBAAkBlM,EAAAgG,WAAA,GAAAiF,WAAAkB,SAAA,QAA4C,CAAE,SAAA/I,EAAAnD,GAAc,uBAAAA,EAAA+K,SAAA/K,EAAAmM,QAAA,YAAAnM,CAAA,CAA0D,SAAAqD,EAAArD,GAAc,IAAAA,GAAA,iBAAAA,EAAA,SAAmC,MAAAD,EAAAG,EAAAC,GAAAH,EAAAqL,MAAA,KAA0B,SAASlL,KAAKD,KAAKH,GAAE,CAAE,SAAAwB,EAAAvB,EAAAD,EAAA,GAAkB,IAAAG,EAAAkM,UAAAC,UAAAD,UAAAE,aAAiDpM,EAAAA,EAAAqM,QAAA,KAAiBrM,KAAKA,EAAAsM,gBAAgBtM,EAAI,MAAAC,EAAA,CAASsM,sBAAA,EAAAC,sBAAA3M,GAAiD,gBAAAG,EAAAF,EAAA2M,eAAA,QAAAxM,GAAAH,EAAA2M,eAAAzM,EAAAC,EAAA,CAAoE,SAAA6E,EAAAhF,GAAc,MAAAD,EAAA,IAAY,OAAAC,GAAAD,EAAAC,EAAAD,EAAA,IAAAC,EAAAgL,UAAA,CAAiC,SAAA9F,EAAAlF,GAAc,OAAAA,GAAA,IAAAA,EAAA,UAAAA,EAAAgL,UAAA,CAAuC,SAAAtF,EAAA1F,GAAc,IAAAD,EAAAG,EAAQ,OAAAF,GAAA,KAAAD,EAAAC,EAAA,IAAAE,EAAA,KAAAF,GAAA,KAAAD,EAAAC,EAAA,IAAAE,EAAA,MAAAH,EAAAC,EAAAE,EAAA,MAAkEY,MAAA8K,KAAAgB,MAAA,IAAA7M,GAAA,IAAA8M,OAAA3M,EAAA,CAAsC,SAAAqE,EAAAvE,EAAAD,EAAA,IAAmB,GAAAC,EAAAuM,QAAAxM,EAAA,CAAgB,MAAAG,EAAAF,EAAAqL,MAAA,KAAqB,IAAAlL,EAAA,GAAAQ,EAAA,GAAc,OAAAT,EAAA4M,QAAA9M,IAAqB,GAAGG,KAAKH,IAAEuM,QAAAxM,EAAAI,IAAAA,EAAA,QAAAH,GAAAW,GAAA,GAAmCR,MAAEA,EAAAH,KAASW,GAAAR,EAAAQ,CAAA,CAAS,OAAAX,CAAA,CAAS,SAAAmC,EAAAnC,GAAc,OAAAA,EAAA+M,SAAA,OAAA/M,EAAAA,EAAAgN,cAAAb,QAAA,oCAAuE,CAAAnM,EAAAD,EAAAG,IAAAH,EAAAG,EAAA,GAAAsM,cAAA,CAA+C,SAAAS,EAAAjN,EAAAD,EAAAG,EAAAC,GAAoB,WAAA+M,QAAAvM,IAAuBwM,SAAAC,KAAAC,iBAAArN,EAAA,KAAsC,MAAAA,EAAAD,IAAYC,EAAAW,EAAAT,EAAAF,KAAAsN,QAAAC,MAAApN,GAAAQ,EAAA,QAAqC,CAAE6M,MAAA,KAAU,CAAE,SAAAzG,EAAA/G,EAAAD,EAAAG,EAAA,2BAA4C,MAAAC,EAAAgN,SAAAM,eAAAzN,GAAmC,OAAAG,EAAA+M,QAAAQ,QAAA3N,EAAAI,IAAA8M,EAAA/M,EAAA,IAAAiN,SAAAM,eAAAzN,GAAAA,GAAAD,EAAAC,GAAA,sBAAgGA,+CAAG,CAA6C,SAAAiH,EAAAjH,EAAAD,EAAAG,EAAA,2BAA4C,MAAAC,EAAAgN,SAAAQ,uBAAA3N,GAA2C,OAAAG,GAAA,IAAAA,EAAAoM,OAAAW,QAAAQ,QAAAnC,MAAAC,KAAArL,GAAAuL,IAAA1L,GAAAD,EAAAC,KAAAiN,EAAA/M,EAAA,KAA4E,MAAAH,EAAAoN,SAAAQ,uBAAA3N,GAA2C,OAAAD,EAAAwM,OAAA,EAAAhB,MAAAC,KAAAzL,GAAA,MAAqCC,GAAAA,EAAA0L,IAAA1L,GAAAD,EAAAC,IAAA,4CAA+DA,wBAAG,CAAsB,SAAA2G,EAAA3G,EAAAD,GAAgB,OAAAgH,EAAA/G,EAAAA,IAAe,MAAAE,EAAA0N,QAAAC,KAAA7N,GAAwBE,EAAA4N,UAAA/N,GAAA,GAAAgO,OAAAV,iBAAA,cAAwD,MAAAnN,QAAA,IAAAA,GAAAA,EAAA8N,WAAkC,MAAA7N,EAAAgN,SAAAM,eAAA,gBAAgD,OAAAtN,IAAAA,EAAAkN,iBAAA,yBAAuDnN,EAAA8N,WAAW7N,EAAAkN,iBAAA,0BAA+CnN,EAAA8N,YAAW9N,GAAK,CAAE,SAAAqI,EAAAvI,EAAAD,GAAgB,MAAAG,EAAAF,EAAAmN,SAAAc,cAAAjO,GAAA,KAAAG,EAAAJ,EAAAoN,SAAAc,cAAAlO,GAAA,KAA4EG,IAAAA,EAAAgO,QAAA,GAAA/N,IAAAA,EAAAgO,MAAAC,WAAA,yDAAAjO,EAAA+N,QAAA,GAA8G,SAAAjG,EAAAjI,EAAAD,GAAgB,MAAAG,EAAAF,EAAAmN,SAAAc,cAAAjO,GAAA,KAAAG,EAAAJ,EAAAoN,SAAAc,cAAAlO,GAAA,KAA4EG,IAAAA,EAAAgO,QAAA,GAAA/N,IAAAA,EAAAgO,MAAAC,WAAA,UAAAjO,EAAA+N,QAAA,GAA+D,SAAA9I,EAAApF,EAAAD,GAAA,EAAAG,GAAA,EAAAC,EAAA,IAA6B,IAAAQ,EAAA,+CAAqDX,EAAA,GAAAqO,WAAgB,OAAArO,EAAA8M,QAAA9M,IAAqB,MAAAiB,EAAAlB,EAAA6L,KAAAgB,MAAA5M,EAAAsO,MAAAtO,EAAAsO,KAAAnN,EAAAjB,EAAA,8CAAsF6J,EAAA/J,EAAAuO,MAAA,gIAA0IxE,gBAAgB/J,EAAAwO,mHAAqHxO,EAAAsO,KAAA,GAAU/M,EAAAN,MAAQd,IAAE,yCAAM,mEAAwGH,EAAAsO,KAAA,GAAU/M,EAAAN,MAAQd,IAAE,yCAA2C,IAAA4J,EAAMpJ,GAAAQ,IAAKR,CAAA,CAAI,SAAAsB,EAAAjC,GAAc,YAAAA,EAAA,KAAAA,CAAA,CAAqB,SAAA6B,EAAA7B,EAAAD,GAAgB,MAAAG,EAAA0L,KAAA6C,OAAAzO,GAAuB,OAAAE,GAAAH,EAAAG,EAAAH,EAAA,CAAiB,SAAAuF,EAAAtF,EAAAD,GAAA,GAAmB,MAAAG,EAAA,+GAAuHF,EAAAuO,iBAAQpO,EAAAJ,EAAA,GAAkBC,EAAA0O,WAAUnN,EAAAvB,EAAAc,OAAc,eAAeZ,KAAKF,EAAAqO,oFAAsFlO,iBAAG,CAAe,SAAAwE,EAAA3E,EAAAD,GAAgB,IAAAG,EAAA,GAASF,EAAAqO,UAAY,OAAAnO,GAAA,iCAA2CqB,EAAAqK,KAAAgB,MAAA5M,EAAAc,iBAAuBf,IAAAG,GAAA,WAA2BF,EAAA0O,oBAAU1O,EAAA2O,OAAAzO,CAAA,CAAuB,SAAAiE,EAAAnE,GAAc,MAAAD,EAAA,IAAAG,EAAA0O,OAAA5O,GAAwB,OAAAE,GAAA,GAAAA,EAAAH,EAAA,GAAoBwB,EAAArB,OAAMA,GAAAH,EAAA,GAAWwB,EAAArB,EAAAH,SAAQ,IAAS,SAAAsI,EAAArI,EAAAD,EAAAG,GAAkB,WAAAF,EAAAuM,QAAAhE,EAAA,IAA2BxI,IAAE,IAAMG,MAAE,IAAA+H,EAAA,IAAc/H,IAAE,IAAMH,MAAE,GAAO,SAAA8O,EAAA7O,EAAAD,EAAAG,EAAA,GAAoB,MAAAC,EAAAyL,KAAA6C,OAAAzO,EAAA0L,IAAA1L,GAAAA,EAAAD,KAAAG,EAAsC,WAAA0L,KAAAkD,KAAA3O,EAAA,KAA4B,SAAAsC,EAAAzC,EAAAD,EAAAG,EAAAC,EAAA,GAAAQ,EAAA,GAAAM,EAAA,GAAAE,GAAA,GAAA4I,EAAA,GAAAqB,EAAA,GAAgD,MAAA/G,EAAAwK,EAAA7O,EAAAD,EAAAuO,KAAA,KAAArK,EAAA8F,EAAA9J,EAAAC,EAAAyL,QAAA9G,EAAA,GAA6C,IAAAW,EAAA7E,EAAAsF,EAAAhF,EAAAkJ,EAAAhJ,EAAgB,QAAAjB,EAAA,EAAYA,EAAAF,EAAAuM,OAAWrM,GAAA,EAAA2E,EAAAkK,KAAA,CAAajO,MAAAd,EAAAE,GAAAH,EAAAuO,MAAAD,KAAA9J,EAAAyK,OAAAhP,EAAAE,GAAAH,EAAAkP,OAAA9C,QAAA,gBAAAoC,MAAAtO,EAAAiP,QAAAC,MAAA,CAA8FC,aAAA,IAAiBJ,OAAA7E,MAAU,GAAM6E,OAAAxJ,OAAU6J,WAAA,aAAAC,SAAAnP,GAAuCoP,OAAA,CAASH,aAAA,IAAiBJ,OAAA7E,MAAU,GAAM6E,OAAA/I,OAAUoJ,WAAA,aAAAG,MAAA,MAAAC,UAAAzP,GAAAuB,EAAAqK,KAAAgB,MAAA5M,OAAuEmK,GAAAlG,GAAA/D,EAAA,GAAAkL,IAAA,IAAAnF,GAAAhF,EAAAuE,GAAA,EAAA7E,EAAAwJ,EAAAhJ,GAAsC,OAAAkD,EAAAQ,EAAA,CAAY,SAAAlC,EAAA3C,EAAAD,EAAAG,EAAAS,EAAA,GAAsB,OAAAkO,EAAA9O,EAAAG,EAAAoO,KAAA,GAAAtO,GAAA,SAAAA,EAAAD,EAAAG,GAAwC,MAAAS,EAAAY,EAAAqK,KAAAgB,MAAA7M,IAAAkB,EAAAd,EAAAH,EAAAE,GAAA,IAAAiB,EAAAnB,EAAAE,GAAA,GAAA6J,EAAA,KAAuD9I,KAAKE,OAAOR,IAAEyK,EAAA,GAAOzK,MAAMM,KAAKE,IAAI,OAAA4M,OAAA2B,YAAA,KAAA3F,EAAAqB,CAAA,CAAnI,CAAsKrL,EAAAC,EAAAW,GAAA,EAAUG,MAAAf,EAAAY,GAAAT,EAAAoO,QAAmB,CAAG,SAAAqB,EAAA3P,EAAAD,GAAgB,MAAM6P,UAAA1P,GAAY,CAAE0P,UAAA5P,GAAYG,EAAA,IAAA0P,IAAAlP,EAAA,IAAAkP,IAAA5O,EAAAf,EAAAwL,IAAA,EAAA1L,EAAAE,EAAAe,MAAyC,MAAAE,EAAApB,EAAA6L,KAAAgB,MAAA3L,GAAAA,EAA0B,OAAAd,EAAA2P,IAAA9P,GAAAW,EAAAmP,IAAA5P,GAAA,CAA0B6P,IAAA7P,EAAA+O,KAAAjP,EAAAc,MAAAK,KAAsBA,EAAAoK,MAAAC,KAAA7K,EAAA8K,UAAA1B,EAAAwB,MAAAC,KAAArL,EAAAsL,UAAoD,OAAA1B,EAAAiG,KAAA,CAAAhQ,EAAAD,IAAAC,EAAAgN,cAAAiD,cAAAlQ,EAAAiN,cAAA,MAAyEkD,mBAAA,KAAqB,CAAAnG,EAAA2B,IAAA1L,IAAc,MAAAD,EAAAkB,EAAAkP,OAAApQ,GAAAA,EAAAkP,OAAAjP,GAAA0L,IAAA,EAAsCqE,IAAAhQ,EAAAe,MAAAZ,KAAc,CAAAH,EAAAC,EAAAE,IAAAA,EAAAiB,EAAAuK,IAAA1L,IAAwB,MAAAE,EAAAH,EAAAqQ,KAAA,EAAArQ,KAAAA,IAAAC,GAA6B,OAAAE,EAAAA,EAAA,UAAqB,OAAOmO,KAAArO,EAAAsO,KAAApO,KAAe6J,EAAApJ,EAAA,CAAO,SAAAkC,EAAA7C,EAAAD,EAAA,GAAAG,GAAA,GAAwB,MAAAC,EAAAQ,EAAAM,GAAA0O,EAAA3P,EAAAE,GAAoB,OAAAC,EAAA2M,QAAA9M,IAAqBA,EAAAiP,KAAA,OAAAjP,EAAAqQ,OAAA,SAAArQ,EAAAsQ,WAAA,EAAAtQ,EAAAuQ,OAAA,GAAAxQ,EAAAwM,OAAA,IAAAvM,EAAAuO,MAAAxO,EAAAmP,WAA2F,CAAA/O,EAAAc,EAAAN,EAAA,CAAU,SAAA4B,EAAAvC,EAAAD,EAAAG,GAAA,GAAqB,MAAAC,EAAAQ,EAAAM,GAAA0O,EAAA3P,EAAAE,GAAoB,OAAAC,EAAA2M,QAAA9M,IAAqBA,EAAAiP,KAAA,MAAAjP,EAAAuO,MAAAxO,EAAAmP,QAAAlP,EAAAuQ,QAAA,IAA2C,CAAApQ,EAAAc,EAAAN,EAAA,CAAU,SAAAwI,EAAAnJ,GAAc,MAAM4P,UAAA7P,EAAAyQ,SAAAtQ,GAAuBF,EAAAG,EAAA,GAAQ,OAAAJ,EAAA+M,QAAA9M,IAAqB,MAAAD,EAAA,GAAWC,EAAA8M,QAAA,CAAA9M,EAAAG,KAAkBJ,EAAAG,EAAAC,GAAAsQ,SAAAzQ,IAAkBG,EAAA4O,KAAAhP,KAAYI,CAAA,CAAI,SAAAwK,EAAA3K,EAAAD,GAAgB,MAAAG,EAAA,IAASF,GAAM,OAAAI,OAAAsQ,KAAA3Q,GAAA+M,QAAA3M,IAAkCC,OAAAI,UAAAC,eAAAC,KAAAX,EAAAI,KAAA,WAAAA,GAAAoL,MAAAoF,QAAA5Q,EAAAI,IAAAD,EAAAC,GAAAJ,EAAAI,GAAAuL,IAAA,CAAA3L,EAAAG,KAAA,IAAqGqL,MAAAoF,QAAA3Q,EAAAG,KAAAH,EAAAG,GAAAD,IAAA,MAAmCH,KAAM,iBAAAA,EAAAI,IAAA,OAAAJ,EAAAI,IAAAoL,MAAAoF,QAAA5Q,EAAAI,IAAAH,EAAAG,KAAAJ,EAAAI,KAAAD,EAAAC,GAAAJ,EAAAI,IAAAD,EAAAC,GAAAwK,EAAA3K,EAAAG,IAAA,GAAmGJ,EAAAI,OAAQD,CAAA,CAAI,SAAAiI,EAAAnI,EAAAD,GAAgB,MAAAG,EAAA,KAAaF,EAAA8M,QAAA9M,IAAcA,EAAA4Q,MAAA7Q,GAAAK,OAAAyQ,QAAA9Q,EAAAC,EAAA4Q,KAAA9D,QAAA5M,IAA+C,MAAAC,EAAAD,EAAA,GAAAS,EAAAT,EAAA,GAAoB,iBAAAS,EAAAA,EAAAmQ,UAAA3D,SAAAc,cAAAtN,EAAAmQ,WAAAA,UAAA9Q,EAAAG,GAAAQ,EAAAoQ,SAAApQ,EAAAqQ,SAAA7D,SAAAc,cAAAtN,EAAAoQ,SAAAE,YAAAlR,EAAAC,EAAA4Q,IAAAzQ,GAAA6Q,OAAAhR,EAAAG,KAAAgN,SAAAc,cAAAtN,GAAAsQ,YAAAjR,EAAAG,QAA+N,IAAID,GAAA,CAAI,MAAAF,GAASmN,SAAAC,KAAAC,iBAAA,+BAA8DnN,KAAI,EAAG,SAAA4F,EAAA9F,EAAAD,GAAgB,MAAAG,EAAAiJ,EAAAnJ,GAAAG,EAAA,GAAkB,IAAAQ,EAAA,KAAW,OAAAT,EAAA4M,QAAA9M,IAAqB,MAAAE,EAAAF,EAAAD,GAAa,iBAAAG,GAAA0O,OAAAsC,MAAAhR,IAAAC,EAAA4O,KAAA7O,KAA+CC,EAAAoM,OAAA,IAAA5L,EAAAiL,KAAA6C,OAAAtO,IAAAQ,CAAA,CAAmC,SAAA8J,EAAAzK,EAAAD,GAAgB,MAAAG,EAAAiN,SAAAc,cAAAjO,GAAkCE,EAAAA,EAAA+Q,YAAAlR,EAAAuN,QAAA6D,KAAA,YAA2CnR,4BAAG,CAA0B,SAAAiK,EAAAjK,EAAAD,GAAA,GAAmB,MAAAG,EAAA,CAASkR,KAAA,GAAAC,IAAA,IAAgB,OAAArR,EAAA8M,QAAA9M,IAAqB,+BAAAA,EAAA,cAAAA,EAAA,KAAAD,EAAAG,EAAAkR,KAAArC,KAAA,CAAA/O,EAAA,GAAAA,EAAA,GAAAA,EAAA,KAAAE,EAAAkR,KAAArC,KAAA,CAAA/O,EAAA,GAAAA,EAAA,iBAAAA,EAAA,KAAAD,EAAAG,EAAAmR,IAAAtC,KAAA,CAAA/O,EAAA,GAAAA,EAAA,GAAAA,EAAA,KAAAE,EAAAmR,IAAAtC,KAAA,CAAA/O,EAAA,GAAAA,EAAA,QAA0LE,CAAA,CAAI,MAAAoR,EAAA,mHAAAC,EAAA,0EAAAC,EAAA,qEAAAC,EAAA,4CAAAC,GAAA,qCAAoW,SAAAjI,GAAAzJ,GAAe,MAAAD,EAAAC,EAAA4P,UAAAlE,IAAA1L,GAAAA,EAAA,IAAiC,OAAA2R,KAAAC,UAAAC,WAAAF,KAAAG,UAAA/R,GAAAC,CAAA,CAAqD,SAAA+R,GAAA/R,GAAe,UAAAD,KAAAC,EAAA,GAAAuL,MAAAoF,QAAA5Q,IAAsC,IAAAgS,GAAAhS,GAAA,cAAmB,WAAAA,EAAA,SAA2B,SAAS,SAAAsJ,GAAArJ,EAAAD,EAAAG,EAAAC,GAAqB,OAAA4R,GAAAhS,IAAAC,EAAAgS,gBAAAC,aAAA/R,EAAAF,EAAA4R,UAAAM,aAAAlS,EAAA8R,UAAA,UAAA9R,EAAAgS,gBAAAC,aAAA9R,GAAA,EAAkI,SAAAoJ,GAAAvJ,GAAe,OAAAA,EAAA4R,UAAAM,aAAAlS,EAAA8R,UAAA,YAAwD,SAAArJ,GAAAzI,GAAeA,EAAA8M,QAAA9M,IAAcmS,WAAAN,WAAA7R,EAAA,UAAiC,CAAE,SAAAmG,GAAAnG,EAAA,SAAuB,OAAOoS,MAAA,CAAO5S,KAAA,CAAMoR,GAAA,OAASyB,QAAA,CAAUzB,GAAA,EAAA0B,MAAA,IAAcC,UAAA,CAAYC,KAAA,CAAMC,QAAA,CAASC,WAAA,gBAAAC,SAAA3S,EAAA4S,QAAA,UAAAC,SAAA,UAAAC,UAAA,aAAiGC,MAAA,CAAQC,QAAA,CAASL,SAAA,QAAAC,QAAA,UAAAC,SAAA,UAAAC,UAAA,eAA+E,SAAAzM,GAAArG,EAAA,SAAuB,MAAAD,EAAAoG,GAAAnG,GAAc,OAAAD,EAAAqS,MAAAC,QAAAzB,GAAA,EAAA7Q,EAAAqS,MAAAC,QAAAC,MAAA,EAAAvS,CAAA,CAAsD,SAAAgJ,GAAA/I,EAAAD,EAAAG,EAAAC,GAAqB,MAAAQ,EAAAwR,WAAAc,kBAAA/S,GAAAe,EAAAkR,WAAAc,kBAAA9S,GAA0E,OAAAgS,WAAAN,WAAA7R,EAAA,CAAAW,IAAAwR,WAAAN,WAAA9R,EAAA,CAAAkB,KAAA,EAAoE,SAAA4H,GAAA7I,EAAAD,GAAiB,MAAAG,EAAAiS,WAAAc,kBAAAlT,GAAwC,OAAAoS,WAAAN,WAAA7R,EAAA,CAAAE,KAAA,EAAuC,SAAAyH,GAAA3H,EAAAD,GAAiBoS,WAAAN,WAAA9R,EAAAC,EAAA4P,UAAA,OAA2C,SAAA/F,GAAA7J,EAAAD,GAAiB,MAAAG,EAAAiS,WAAAc,kBAAAlT,GAAAI,EAAAH,EAAA8R,UAAsD,KAAA5R,GAAAF,EAAA4R,UAAAM,aAAA/R,EAAA,CAAAD,GAAA,CAAwC,SAAAqD,GAAAvD,GAAeA,EAAAkT,SAAAC,GAAA,CAAeC,WAAA9B,EAAA+B,sBAAA9B,EAAA+B,SAAA9B,EAAA+B,oBAAA9B,EAAA+B,YAAA9B,GAAA+B,WAAA,KAAAC,SAAA,EAAAC,OAAA,EAAAC,oBAAA,EAAAC,WAAA,IAA6J7T,EAAA8T,YAAA9T,EAAAkT,SAAAC,GAAA,CAA8B,SAAAlK,GAAAjJ,EAAAD,GAAiB,MAAAG,EAAAiS,WAAAc,kBAAAlT,GAAwC,OAAAoS,WAAAN,WAAA7R,EAAAuL,MAAAoF,QAAAzQ,GAAAA,EAAA,CAAAA,KAAA,EAA0D,SAAAyJ,GAAA3J,EAAAD,EAAAG,EAAAC,EAAA,GAAuB,MAAAQ,EAAAX,EAAA4P,UAAAjE,MAAA,EAAAzL,GAAAwL,IAAA1L,GAAAA,EAAAG,IAA4C,OAAAgS,WAAAD,aAAAnS,EAAAY,GAAAX,CAAA,CAAsC,SAAA2I,GAAA3I,EAAAD,EAAAG,GAAmB,MAAAC,EAAAoL,MAAAoF,QAAA5Q,GAAAA,EAAA,CAAAA,GAA+BoS,WAAAN,WAAA7R,EAAAG,GAA2B,MAAAQ,EAAAwR,WAAA4B,aAAA7T,GAAmCS,GAAAA,EAAAqT,QAAA,CAAc,SAAAvM,GAAAzH,EAAAD,GAAiB,OAAAgH,EAAA/G,EAAAA,GAAA,IAAAiU,UAAAjU,EAAAD,GAAA,CAAkC,SAAA0E,GAAAzE,EAAAD,GAAiB,IAAAG,EAAAF,EAAAkU,WAAmB,OAAAhU,EAAAqM,OAAAxM,IAAAG,EAAA,GAAyBA,EAAAiU,OAAA,EAAApU,SAAoBG,EAAAiU,OAAApU,MAAYG,CAAA,CAAK,SAAA6D,GAAA/D,EAAAD,GAAiB,MAAAG,EAAAF,EAAAkU,WAAA7I,MAAA,KAAgC,IAAAlL,EAAA,GAAAQ,EAAA,GAAc,OAAAT,EAAA4M,QAAA9M,KAAqBW,EAAAX,GAAAuM,QAAAxM,EAAAY,GAAA,GAAsBX,MAAGG,GAAA,GAASQ,QAAEA,EAAA,GAAWX,QAAMG,GAAA,GAAQQ,QAAER,CAAA,CAAQ,SAAAiU,GAAApU,EAAAD,GAAiB,WAAAA,EAAAC,EAAAqU,aAAArU,EAAAsU,eAA6C,MAAApU,EAAAF,EAAAuU,kBAA4BrU,EAAAqM,OAAA,GAAArM,EAAA4M,QAAA9M,IAA0BA,EAAAuU,kBAAAhI,OAAA,GAAA6H,GAAApU,EAAAD,IAAsC,CAAE,SAAAwK,GAAAvK,EAAAD,GAAiBC,EAAAwU,UAAA1H,QAAA9M,IAAwBA,EAAAuU,kBAAAhI,OAAA,GAAA6H,GAAApU,EAAAD,IAAsC,CAAE,SAAA0D,GAAAzD,EAAAD,EAAAG,EAAAC,GAAqB,MAAAQ,EAAA,GAAW,OAAAP,OAAAsQ,KAAA1Q,GAAA8M,QAAA7L,IAAkC,GAAAb,OAAAI,UAAAC,eAAAC,KAAAV,EAAAiB,GAAA,CAA8C,MAAAE,EAAAnB,EAAAiB,GAAA8I,EAAA,CAAgBhK,CAAAA,GAAAoB,EAAA,GAAAsT,UAAA,IAAuBtT,EAAA+N,QAAA/N,EAAA2L,QAAA,CAAA9M,EAAAW,KAA4B,MAAAM,EAAA,CAASlB,CAAAA,GAAAG,EAAAS,GAAAR,CAAAA,GAAAH,GAAgB+J,EAAA0K,UAAA1F,KAAA9N,KAAoBN,EAAAoO,KAAAhF,EAAA,IAAapJ,CAAA,CAAI,SAAA0B,GAAArC,GAAe,IAAAD,GAAA,EAAS,OAAAC,EAAA0U,YAAA5H,QAAA9M,IAAiCA,EAAA2U,OAAAC,UAAA7U,GAAA,KAAyBA,CAAA,CAAI,SAAA4D,GAAA3D,EAAAD,EAAAG,GAAmB,MAAAC,EAAAgN,SAAAM,eAAAvN,GAAAS,EAAAR,EAAA0U,WAAA,GAAqD1U,EAAA2U,WAAAC,aAAApU,EAAAR,GAAAQ,EAAA0M,iBAAA,aAA+DrN,EAAAgV,SAAA,SAAoBjV,QAAE,CAAOkV,UAAA,IAAYC,KAAA,KAAW,CAAE,SAAArR,GAAA7D,EAAAD,EAAAG,GAAmB,MAAAC,EAAAgN,SAAAM,eAAAvN,GAAAS,EAAAR,EAAA0U,WAAA,GAAqD1U,EAAA2U,WAAAC,aAAApU,EAAAR,GAAAQ,EAAA0M,iBAAA,aAA+D,MAAAnN,EAAAF,EAAAwU,UAAA9I,IAAA1L,GAAAA,EAAAmV,WAAAhV,EAAAH,EAAAoV,aAAAzU,EAAA,GAA8DR,EAAA2M,QAAA,CAAA9M,EAAAD,KAAkB,MAAAI,EAAAH,EAAAqV,WAAqBlV,GAAAD,EAAAoV,MAAAtV,IAAe,MAAAD,EAAAC,EAAAG,GAAa,aAAAJ,GAAA,oBAAAwV,KAAAxV,EAAAiL,WAAAwK,YAA8D7U,EAAAZ,GAAA,CAAU0V,OAAA,YAAiBzV,EAAAgV,SAAA,SAAsBjV,QAAE,CAAOoP,MAAApP,EAAA2V,cAAA,CAAuBpG,SAAA,EAAAqG,UAAA,QAA4BC,UAAA,CAAYC,OAAA,CAAQvG,SAAA,EAAAwG,UAAA,GAAAC,UAAA,eAAgDC,WAAA,CAAaP,OAAA,UAAgBQ,aAAAtV,MAAmB,CAAE,SAAAkG,GAAA7G,EAAAD,EAAAG,GAAmB,MAAAC,EAAAgN,SAAAM,eAAAvN,GAAmCC,GAAAA,EAAAkN,iBAAA,aAAmCrN,EAAAkW,mBAAA,GAAAlW,EAAAmW,QAAApW,IAAqC,CAAE,SAAAoH,GAAAnH,EAAAD,EAAAG,GAAmB,MAAAC,EAAAgN,SAAAM,eAAAvN,GAAmCC,GAAAA,EAAAkN,iBAAA,aAAmCrN,EAAAkW,mBAAA,GAAAlW,EAAAmW,QAAApW,IAAqC,CAAE,MAAAsB,GAAA,CAAU+U,IAAA,0BAAAC,IAAA,wBAAAC,GAAA,yBAAAC,KAAA,uBAAAC,KAAA,qBAA4I,SAAA7U,GAAA3B,GAAe,MAAAD,EAAA,GAAAG,EAAA,CAAc,mDAAmD,SAAAC,EAAAH,EAAAD,EAAAI,GAAkB,MAAAQ,EAAAwM,SAAAsJ,cAAA,MAAqC,GAAA9V,EAAA+V,aAAA,KAAA1W,GAAA,MAAAD,EAAA,CAAmCY,EAAAgW,UAAA5W,EAAc,MAAAC,EAAA,SAAAA,EAAAD,GAAsB,IAAAI,EAAM,gBAAAJ,EAAAI,EAAA,SAAAJ,EAAAI,EAAA,GAAAA,EAAA,EAAAH,EAAA8M,QAAA,CAAA9M,EAAAE,KAA0DH,GAAAC,GAAA,IAAAG,IAAAA,EAAAD,MAAmBA,EAAAC,EAAA,CAAzG,CAAiHA,EAAAJ,GAAMY,EAAAiW,UAAA9G,IAAA9P,EAAA,CAAmB,OAAAW,CAAA,CAAS,OAAAX,EAAA8M,QAAA9M,IAAqB,MAAAE,EAAAF,EAAU,WAAAE,EAAA2W,oBAAA3W,EAAA4W,SAAA,KAAA5W,EAAA6W,SAAA,KAAA7W,EAAA8W,QAAA,KAAA9W,EAAA+W,UAAA,KAAA/W,EAAAgX,UAAA,MAAmH,MAAAvW,EAAAwM,SAAAsJ,cAAA,MAAAxV,EAAAkM,SAAAsJ,cAAA,MAAoExV,EAAA0V,UAAAzW,EAAAiX,QAAAxW,EAAAyW,YAAAnW,GAAAN,EAAAyW,YAAAjX,EAAA,GAA0DD,EAAAmX,eAAWnX,EAAA4W,SAAAzV,GAAA+U,MAAAzV,EAAAyW,YAAAjX,EAAA,GAA6CD,EAAAmX,eAAWnX,EAAA6W,SAAA1V,GAAAgV,MAAA1V,EAAAyW,YAAAjX,EAAA,GAA6CD,EAAAmX,cAAWnX,EAAA8W,QAAA3V,GAAAiV,KAAA3V,EAAAyW,YAAAjX,EAAA,GAA0CD,EAAAmX,gBAAWnX,EAAA+W,UAAA5V,GAAAkV,OAAA5V,EAAAyW,YAAAjX,EAAA,GAAgDD,EAAAmX,gBAAWnX,EAAAgX,UAAA7V,GAAAmV,OAAAzW,EAAAgP,KAAApO,KAAuCZ,CAAA,CAAI,SAAAgC,GAAA/B,GAAemN,SAAAmK,SAAA,GAAqBnK,SAAAoK,YAAAlM,MAAA,eAA0C8B,SAAAoK,YAAAlM,MAAA,eAA0C8B,SAAAoK,YAAAlM,MAAA,eAA0C8B,SAAAoK,YAAAlM,MAAA,eAA0CrL,GAAE,CAAE,SAAA4F,KAAc,MAAA5F,EAAA+N,OAAAuJ,SAAAE,KAA6B,IAAAzX,EAAA,GAAS,OAAAA,EAAAC,EAAA+M,SAAA,qBAAA/M,EAAA+M,SAAA,+BAAAhN,CAAA,CAAqF,SAAA0X,GAAAzX,EAAAD,GAAiBoN,SAAAuK,iBAAA,IAA8B1X,MAAE8M,QAAA5M,KAAgB,SAAAF,EAAAD,EAAAG,GAAiB,MAAAC,EAAAJ,EAAU,GAAAC,EAAA,CAAM,MAAAD,EAAA,IAAA4X,eAA2B5X,EAAA6X,mBAAA,WAAgC,IAAAjG,KAAAkG,aAAA,MAAAlG,KAAAmG,SAAA3X,EAAAwW,UAAAhF,KAAAoG,aAAA7X,GAAAA,KAAA,MAAAyR,KAAAmG,SAAA3X,EAAAwW,UAAA,2CAA0J5W,EAAAiY,KAAA,MAAAhY,GAAA,GAAAD,EAAAkY,MAAA,EAAtP,CAAoR/X,EAAAgY,aAAAlY,GAAAE,EAAAH,IAAwB,CAAE,SAAA8H,GAAA7H,GAAe+N,OAAAoK,mBAAAhG,WAAAtE,KAAAsE,WAAAtE,KAAA,WAAqEP,QAAA6D,KAAA,4CAAwDsG,GAAA,oCAAuC,WAAY,MAAAzX,EAAA4F,KAAa,QAAA5F,IAAAmN,SAAAgC,OAAA,KAAiCnP,KAAE,CAA5D,GAAgE,WAAc,MAAAA,EAAA4F,KAAa,QAAA5F,IAAAmN,SAAAc,cAAA,OAAAyJ,iBAAA,WAAAzG,aAAA,QAA2FjR,KAAE,CAAxH,EAA4H,GAAGyX,GAAA,qBAAAA,GAAA,yCAAsEtK,SAAAC,KAAAgL,cAAA,IAAAC,MAAA,uCAA6E,MAAArY,EAAAmN,SAAAc,cAAA,QAAuCjO,EAAA4W,UAAA0B,OAAA,UAAAtY,EAAA4W,UAAA9G,IAAA3C,SAAAoK,YAAAlM,MAAA,UAAAkN,MAAA,kBAApH,GAA8NvY,GAAAA,GAAA,GAAUyX,GAAA,mCAAAzX,EAAA,2BAAqEmN,SAAAC,KAAAC,iBAAArN,EAAA,KAAsC,IAAImS,WAAAtE,KAAAE,OAAAoK,mBAAAhG,WAAAtE,MAAA,CAA4D,MAAA7N,GAASsN,QAAA6D,KAAA,gFAAoD,GAA2C,CAAE3D,MAAA,GAAQ,CAA7R,EAA+R,CAAG,SAAA/L,GAAAzB,EAAAD,EAAAG,EAAAC,EAAAQ,EAAAM,GAAyB,IAAAE,GAAA,EAAA4I,GAAA,EAAc,MAAAqB,EAAA+B,SAAAc,cAAAjO,GAAAqE,EAAA8I,SAAAc,cAAAlO,GAAAkE,EAAA,KAAqE,oBAAAuU,SAAA,UAAAA,QAAAC,aAAAC,sBAAAtN,GAAAA,EAAAsL,aAAA,6EAAArS,GAAAA,EAAAqS,aAAA,sEAAAtL,GAAAA,EAAAsL,aAAA,6EAAArS,GAAAA,EAAAqS,aAAA,sEAAgc,SAAAzW,EAAAD,GAAA,GAAiB,MAAAD,EAAAoN,SAAAc,cAAA/N,GAAkCF,GAAAoL,IAAAA,EAAAuN,IAAA,eAAAtU,IAAAA,EAAAsU,IAAA,eAAA5Y,EAAA6W,UAAA9G,IAAA,QAAA/F,GAAA,IAAAhK,EAAA6W,UAAA0B,OAAA,QAAArU,IAAA8F,GAAA,GAAyH,MAAAlF,EAAA7E,IAAY,IAAA4Y,qBAAA5Y,IAA6BA,EAAA8M,QAAA9M,IAAcA,EAAA6Y,iBAAA9O,GAAA9F,IAAA9C,IAAAA,GAAA,EAAA4M,OAAA+K,WAAA7Y,EAAAgB,SAA8D8X,QAAA/Y,KAAc,WAAY,MAAMgZ,UAAAhZ,GAAYoM,UAAW,mCAAAmJ,KAAAvV,KAAA+N,OAAAkL,QAAA,CAAzC,IAAsG7N,IAAAA,EAAAsL,aAAA,2BAAA7R,EAAAuG,IAAA/G,IAAAA,EAAAqS,aAAA,2BAAA7R,EAAAR,IAAA8I,SAAAc,cAAAtN,GAAA0M,iBAAA,aAAoKpN,GAAA,GAAA8N,OAAA+K,WAAA7Y,EAAAgB,MAA6BkM,SAAAuK,iBAAAvX,GAAA,GAAAgO,MAAA+K,QAAA,OAAwD,MAAAC,GAAA,CAAUC,KAAA,CAAMC,cAAA,GAAgBlK,MAAA,CAAQmK,KAAA,SAAAC,IAAA,IAAAC,UAAA,CAAiClK,SAAA,GAAAD,WAAA,aAAAoK,WAAA,IAAAlL,MAAA,SAAiEmL,OAAA,CAASC,OAAA,aAAAC,OAAA,IAAAN,KAAA,SAAA9J,MAAA,OAAAgK,UAAA,CAAqElK,SAAA,GAAAD,WAAA,aAAAoK,WAAA,IAAAlL,MAAA,SAAiEsL,QAAA,CAAUC,MAAA,EAAAC,MAAA,IAAAR,IAAA,IAAAS,QAAA,CAAmCC,QAAA,CAAST,UAAA,CAAWlK,SAAA,EAAAD,WAAA,aAAAoK,WAAA,MAAmDS,YAAA,CAAcV,UAAA,CAAWlK,SAAA,EAAAD,WAAA,aAAAoK,WAAA,OAAoDU,SAAA,CAAWC,UAAA,CAAWC,YAAA,UAAAC,SAAA,UAAwCC,QAAA,CAAUf,UAAA,CAAWnK,WAAA,aAAAC,SAAA,KAAqCkL,MAAA,EAASvL,KAAA,WAAAwL,UAAA,CAA2BX,MAAA,EAAAY,SAAA,EAAAlB,UAAA,CAA8BnK,WAAA,aAAAC,SAAA,KAAqChB,KAAA,KAASqM,MAAA,EAAU1L,KAAA,QAAA2L,YAAA,EAAAC,SAAA,QAAAJ,UAAA,CAAuDjB,UAAA,CAAWlK,SAAA,GAAAD,WAAA,aAAAoK,WAAA,KAAmDhK,UAAAzP,GAAA,GAAiBA,OAAM,CAAEiP,KAAA,QAAA4L,SAAA,OAAAJ,UAAA,CAAwCjB,UAAA,CAAWlK,SAAA,GAAAD,WAAA,aAAAoK,WAAA,KAAmDhK,UAAAzP,GAAA,GAAiBgF,EAAAhF,UAAW8a,GAAA,CAAA9a,EAAAD,KAAYA,EAAAiQ,KAAA,CAAAhQ,EAAAD,IAAAgL,SAAA/K,EAAA+a,MAAAhQ,SAAAhL,EAAAgb,OAAiD,MAAA7a,EAAA,GAAWH,EAAA+M,QAAA/M,IAAc,MAAAI,EAAAJ,EAAA,GAAAY,EAAAZ,EAAA,GAAoBY,IAAAX,EAAAwO,YAAAtO,EAAAC,KAAAD,EAAAC,GAAA,GAAAQ,IAAAX,EAAAwO,aAAAtO,EAAAC,IAAAJ,EAAA,MAAkE,IAAAI,EAAA,MAAYH,EAAAwO,iBAAmB,UAAAzO,EAAAY,KAAAP,OAAAyQ,QAAA3Q,GAAAC,GAAA,QAA8CH,EAAA2O,UAAY5O,qEAAqEwB,EAAAZ,kBAAoB,OAAAR,GAAU,SAAAkH,GAAArH,EAAAD,EAAAG,OAAA,EAAAC,OAAA,GAAmC,MAAAQ,EAAA,OAAAR,OAAA,EAAAA,EAAAc,EAAA,IAAA4O,IAAA9P,EAAA2L,IAAA1L,GAAAA,EAAA,KAAoD,IAAAmB,EAAM,MAAA4I,EAAA,CAASoF,MAAA,CAAO6L,KAAA,aAAA1B,KAAA,SAAAC,IAAA,MAAAC,UAAA,CAAqDlK,SAAA,GAAAD,WAAA,aAAAoK,WAAA,IAAAlL,MAAA,SAAiEgM,QAAA,CAAUU,YAAA,CAAahM,KAAA,UAAciM,QAAA,OAAAzL,UAAAzP,GAAA8a,GAAA9a,EAAAD,GAAAyZ,UAAA,CAAgDnK,WAAA,cAAwB,QAAAwL,CAAA7a,EAAAD,EAAAG,EAAAC,EAAAQ,GAAqB,MAAAM,EAAA,GAAUE,EAAAR,EAAAwa,YAAA,KAAApR,EAAApJ,EAAAya,SAAA,GAAAhQ,EAAApL,EAAA,GAA6C,OAAAoL,EAAAjK,EAAAF,EAAAsY,IAAA,GAAAnO,EAAAjK,EAAA4I,EAAA9I,EAAA2Y,OAAA,GAAA3Y,EAAAsY,IAAAnO,EAAAjK,EAAAnB,EAAA,GAAAW,EAAAya,SAAA,KAAAna,EAAAqY,KAAAtZ,EAAA,MAAAiB,EAAA8Y,MAAApZ,EAAAya,SAAA,GAAApb,EAAA,MAAAiB,CAAA,GAAqHyY,OAAA,CAAS2B,QAAA,GAAA7B,UAAA,CAAsBnK,WAAA,eAAyB+J,KAAA,CAAOE,KAAA,KAAAS,MAAA,KAAAH,OAAA,KAAAP,cAAA,GAAiDmB,MAAA,CAAQvL,KAAA,QAAAqM,YAAA,GAAAjN,KAAA,aAAAkN,aAAA,QAAAC,cAAA,CAAkF/B,WAAA,OAAApK,WAAA,aAAAd,MAAA,OAAA8M,SAAA,IAAmEZ,UAAA,CAAYgB,OAAA,EAAAjC,UAAA,CAAoBnK,WAAA,cAAwBI,UAAAzP,GAAAuB,EAAAvB,IAAmB0b,UAAA,CAAYC,UAAA,CAAWpN,MAAA,UAAeoM,MAAA,CAAQ1L,KAAA,WAAAX,KAAA/C,MAAAC,KAAAvK,GAAAwZ,UAAA,CAA8CjB,UAAA,CAAWnK,WAAA,gBAA0BuM,OAAA,MAAc,MAAA5b,EAAA,CAASqO,KAAA,aAAAY,KAAA,MAAA4M,MAAA,QAAAvJ,MAAA,CAAkDwH,MAAA,EAAAzK,WAAA,aAAAC,SAAA,GAAAG,UAAAzP,GAAAuB,EAAAqK,KAAAgB,MAAA5M,EAAAc,SAAgFgb,eAAA,EAAA3B,SAAA,CAA4B4B,MAAA,UAAezN,UAAA,GAAc3N,GAAAA,EAAAmb,WAAAvQ,MAAAoF,QAAAhQ,EAAAmb,UAAAzB,eAAAlZ,EAAA,IAAAR,EAAAmb,UAAAzB,oBAAA1Z,EAAAmb,UAAAzB,aAAwH,MAAAna,EAAA,SAAAF,GAAoB,OAAAA,EAAAgc,OAAA,CAAAhc,EAAAD,KAAwB,MAAAG,EAAAH,EAAA,GAAa,OAAAC,EAAAE,KAAAF,EAAAE,GAAA,IAAAF,EAAAE,GAAA6O,KAAAhP,GAAAC,GAAsC,GAAG,CAAlG,CAAoGD,GAAAI,EAAAC,OAAAsQ,KAAAxQ,GAAqBe,EAAA6L,QAAA9M,IAAcG,EAAA2M,QAAA/M,SAAc,IAAAG,EAAAH,GAAAqQ,KAAArQ,GAAAA,EAAA,KAAAC,KAAAE,EAAAH,GAAAgP,KAAA,CAAA7O,EAAAH,GAAA,MAAAC,OAAA,IAAAE,EAAAH,GAAAiQ,YAAoF,MAAAjG,EAAA,GAAW,OAAA3J,OAAAsQ,KAAAxQ,GAAA4M,QAAA/M,IAAkCoB,IAAAnB,EAAA8b,UAAA,CAAiBzB,YAAAlZ,EAAA+N,UAAsBlP,EAAAqO,KAAAtO,EAAAC,EAAAsO,KAAApO,EAAAH,GAAA2L,IAAA1L,GAAAA,EAAA,IAAoC,IAAAG,EAAA,GAASA,OAAA,IAAAQ,EAAAgK,EAAA3K,EAAAW,GAAAX,EAAA+J,EAAAgF,KAAA,IAA8B5O,MAAO4J,CAAI,EAA7tB,GAA6tB8P,QAAA,CAAaC,MAAA,EAAAE,QAAA,CAAiBC,QAAA,CAAS9K,MAAA,aAAkB+K,YAAA,CAAc/K,MAAA,UAAe4K,MAAA,KAAY,IAAA3O,EAAA,GAASA,OAAA,IAAAlL,EAAAyK,EAAAZ,EAAA7J,GAAA6J,EAAApD,EAAA3G,EAAAoL,EAAA,CAA6B,SAAAP,GAAA7K,GAAe,IAAAD,EAAA,GAAS,OAAAA,EAAA4K,EAAAwO,GAAAnZ,GAAAD,CAAA,CAAmB,SAAAwH,GAAAvH,EAAAD,EAAAG,EAAA,GAAoBS,EAAA,IAAO,IAAAM,EAAA,GAASA,EAAA0J,EAAAzK,EAAA,CAAOqO,MAAA,0HAAAoM,MAAA,CAAuIrM,KAAA,WAAgB,MAAAtO,EAAA,IAAA6P,IAAgB,OAAA9P,EAAA+M,QAAA/M,IAAqBC,EAAA8P,IAAA/P,EAAA,MAAYwL,MAAAC,KAAAxL,GAAAgQ,KAAA,CAAAhQ,EAAAD,IAAAC,EAAAD,EAAA,CAAjE,MAAwG,MAAAoB,EAAA,CAAS2a,UAAA,CAAWG,YAAA,EAAA5B,YAAA,4HAAqJtQ,EAAA,OAAApJ,EAAAQ,EAAAwJ,EAAAhK,EAAAQ,GAAAiK,EAAArL,EAAyBqL,EAAA0B,QAAA,CAAA9M,EAAAD,KAAkBqL,EAAArL,GAAA,GAAAI,EAAAH,EAAA,MAAgBqH,GAAArH,EAAAoL,EAAAnK,EAAA8I,EAAA,CAAc,SAAAxD,GAAAvG,EAAAD,OAAA,GAAwB,MAAAG,EAAA,CAASiP,MAAA,CAAO6L,KAAA,aAAA1B,KAAA,SAAAC,IAAA,MAAA8B,QAAA,GAAA7B,UAAA,CAAgElK,SAAA,GAAAD,WAAA,aAAAoK,WAAA,IAAAlL,MAAA,SAAiEmL,OAAA,CAASI,MAAA,GAAQV,KAAA,CAAOG,IAAA,MAAAK,OAAA,KAAAN,KAAA,KAAAS,MAAA,MAA2CS,MAAA,CAAQvL,KAAA,QAAA6K,MAAA,GAAqBa,MAAA,CAAQb,MAAA,EAAA7K,KAAA,YAAwBsL,QAAA,CAAUT,MAAA,EAAAN,UAAA,CAAmBnK,WAAA,aAAAoK,WAAA,OAAyCyC,cAAA,EAAAzM,UAAAzP,GAAA2E,EAAA3E,GAAA,IAAsC4b,OAAA,EAAU3M,KAAA,MAAAkN,gBAAA,KAAgC,IAAAhc,EAAA,GAASA,OAAA,IAAAJ,EAAA4K,EAAAzK,EAAAH,GAAAG,EAAAyG,EAAA3G,EAAAG,EAAA,CAA6B,SAAAic,GAAApc,GAAe,OAAA4L,KAAA6C,OAAAzO,EAAA0L,IAAA1L,GAAA4O,OAAA5O,EAAA,MAA2C,SAAAqc,GAAArc,GAAe,MAAAD,EAAAC,EAAAmQ,OAAApQ,GAAA6O,OAAA7O,EAAA,MAAAqc,GAAApc,IAAAE,EAAAqL,MAAAC,KAAA,CAAwDe,OAAA,IAAU,OAAQ,OAAAxM,EAAA+M,QAAA,EAAA9M,EAAAD,EAAAI,MAA6B,MAAAQ,EAAAoK,SAAAhL,EAAA,MAAyBG,EAAAS,GAAAR,IAAOD,CAAA,CAAI,SAAAoc,GAAAtc,GAAe,MAAAD,EAAAC,EAAAmQ,OAAApQ,GAAA6O,OAAA7O,EAAA,MAAAqc,GAAApc,GAAA,GAAAE,EAAAqL,MAAAC,KAAA,CAA0De,OAAA,IAAU,OAAQ,OAAAxM,EAAA+M,QAAA,EAAA9M,EAAAD,EAAAI,MAA6B,MAAAQ,EAAAoK,SAAAhL,EAAA,MAAyBG,EAAAS,GAAAR,IAAOD,CAAA,CAAI,SAAAuG,GAAAzG,EAAAD,EAAAG,OAAA,GAA0B,MAAAC,EAAAic,GAAArc,GAAAiL,WAAArK,GAAAyb,GAAArc,GAAA,GAAAiL,WAAgDzE,GAAAvG,EAAA2K,EAAA,CAAQwE,MAAA,CAAOmK,KAAA,SAAAC,IAAA,OAAAC,UAAA,CAAoClK,SAAA,GAAAD,WAAA,eAAqCqK,OAAA,CAASH,IAAA,MAAAO,MAAA,EAAAxL,KAAA,CAAA3N,EAAAR,GAAAqZ,UAAA,CAAwCnK,WAAA,eAAyB+J,KAAA,CAAOQ,OAAA,KAAAL,IAAA,MAAAQ,MAAA,MAAiCS,MAAA,EAASvL,KAAA,WAAAX,KAAArI,IAAAyU,SAAA,EAAAe,OAAA,GAAAhB,UAAA,CAAyDjB,UAAA,CAAWlK,SAAA,GAAAD,WAAA,aAAAoK,WAAA,QAAqDkB,MAAA,EAAU1L,KAAA,QAAAwL,UAAA,CAAwBhL,UAAAzP,GAAAA,EAAA2M,eAAA,SAAA6M,UAAA,CAAkDlK,SAAA,GAAAD,WAAA,aAAAoK,WAAA,QAAqDmC,OAAA,EAAWvN,KAAA1N,EAAAsO,KAAA,MAAAX,KAAAgO,GAAAvc,IAA6B,CAAEsO,KAAAlO,EAAA8O,KAAA,MAAAsN,OAAA,EAAAjO,KAAA+N,GAAAtc,MAAwCG,GAAA,CAAK,SAAA6H,GAAA/H,EAAAD,EAAAG,GAAmB,MAAAC,EAAAgN,SAAAc,cAAAlO,GAAAY,EAAAwM,SAAAc,cAAAjO,GAA8D,IAAAiB,GAAA,EAASN,EAAA0M,iBAAA,cAAgC,IAAApM,IAAAA,GAAA,EAAAd,EAAAuW,aAAA,qBAAAvW,EAAAuW,aAAA,MAAAxW,GAAAC,EAAAqc,OAAA,KAAwFvb,GAAA,MAAON,EAAA8b,UAAA,EAAgB,MAAAC,GAAA,KAAAC,GAAA,QAAAC,GAAA,QAAoC,SAAA7Z,GAAA/C,EAAAD,EAAAG,EAAAC,EAAAQ,EAAA,SAA+B,MAAAM,EAAAE,GAAA,SAAAnB,EAAAD,EAAAG,GAA2B,MAAAC,EAAA,GAAAQ,EAAA,GAAgB,OAAAX,EAAA8M,QAAA9M,IAAqBD,EAAAgN,SAAA,GAAc/M,EAAA0c,OAAMvc,EAAA4O,KAAA,GAAa/O,EAAA2c,OAAMzc,EAAA6M,SAAA,GAAiB/M,EAAA0c,QAAM/b,EAAAoO,KAAA,GAAc/O,EAAA2c,SAAS,CAAAxc,EAAAuL,IAAA1L,GAAA,CAAAA,EAAA,IAAAW,EAAA+K,IAAA1L,GAAA,CAAAA,EAAA,KAArJ,CAAyLA,EAAAE,EAAAC,GAAQ,IAAA4J,EAAA,SAAApJ,EAAA,0CAA2D,IAAAQ,EAAAoL,SAAAxC,EAAA,IAAqB,MAAAqB,EAAA,CAASiD,KAAA,kBAAAY,KAAA,OAAAX,KAAA,IAAArN,EAAAE,EAAA,IAAAwa,UAAA,CAA+DpN,MAAA,UAAAiB,MAAA,GAAwBqN,YAAA,EAAAtC,QAAA,CAAwBT,MAAA,IAAU,IAAAzV,EAAA,GAAAJ,EAAA,GAAc,OAAA9C,EAAAoL,OAAA,CAAiB,MAAAxM,EAAAC,EAAAA,EAAAuM,OAAA,GAAAuQ,MAA4BzY,EAAAtE,EAAAkE,EAAAlE,CAAA,MAAQsE,EAAAlD,EAAA,MAAA8C,EAAA9C,EAAAA,EAAAoL,OAAA,MAAkC,UAAAxM,EAAAqL,EAAA,CAAeiD,KAAA,qBAAAY,KAAA,OAAAX,KAAAnN,EAAAwa,UAAA,CAAwDpN,MAAA,UAAAiB,MAAA,GAAwBqN,YAAA,EAAAtC,QAAA,CAAwBT,MAAA,GAAQiD,SAAA,CAAWC,QAAA,EAAAlB,UAAA,CAAqBmB,QAAA,GAAA1O,MAAA,QAAwBgM,QAAA,CAAUT,MAAA,GAAQxH,MAAA,CAAQ/D,MAAA,OAAAoH,UAAA,SAAA8D,WAAA,MAAApK,WAAA,aAAAC,SAAA,IAAqFhB,KAAA,GAASD,KAAAtE,EAAAyQ,MAAAnW,EAAAsW,MAAA,GAAuB,CAAEtM,KAAA,MAAAmM,MAAAvW,EAAA0W,MAAA/O,KAAA6C,OAAAzO,EAAAmQ,OAAAnQ,GAAA,OAAAA,EAAA4c,KAAAlR,IAAA1L,GAAA+K,SAAA,GAAkF/K,EAAA4c,MAAM,WAAY,CAAE,SAAA3Z,GAAAjD,EAAAD,EAAAG,OAAA,GAA0ByG,EAAA3G,EAAA2K,EAAA,CAAOyO,KAAA,CAAME,KAAA,OAAAS,MAAA,KAAAH,OAAA,KAAAL,IAAA,MAAAF,cAAA,GAA6DlK,MAAA,CAAQmK,KAAA,SAAAC,IAAA,MAAAC,UAAA,CAAmClK,SAAA,GAAAD,WAAA,aAAAoK,WAAA,IAAAlL,MAAA,SAAiEmL,OAAA,CAASzK,KAAA,QAAAsK,IAAA,KAAA/J,MAAA,MAAAgK,UAAA,CAA6CnK,WAAA,eAAyBkL,QAAA,CAAUW,QAAA,OAAApB,MAAA,EAAArK,UAAAzP,GAAAoF,EAAApF,GAAAwZ,UAAA,CAAoDnK,WAAA,eAAyBmL,MAAA,CAAQvL,KAAA,WAAAiO,aAAA,EAAAxB,UAAA,CAA0C5B,MAAA,GAAQW,UAAA,CAAYjB,UAAA,CAAWlK,SAAA,GAAAD,WAAA,aAAAd,MAAA,UAAmDoM,MAAA,CAAQ1L,KAAA,QAAAsM,aAAA,MAAA4B,QAAA,IAAA3B,cAAA,CAA2DnM,WAAA,aAAAoK,WAAA,MAAA4B,QAAA,cAAAI,OAAA,EAAA2B,MAAA,OAAAC,cAAA,MAAA7N,MAAA,QAAsH8N,OAAA,EAAAhC,YAAA,IAAAb,UAAA,CAAqCgB,OAAA,GAAAjC,UAAA,CAAqBlK,SAAA,GAAAD,WAAA,aAAAd,MAAA,UAAmDgP,SAAA,CAAWC,IAAA,IAAAnD,YAAA,OAAAoD,YAAA,kBAAAjE,UAAA,CAAoElK,SAAA,GAAAD,WAAA,aAAAd,MAAA,OAAAmP,gBAAA,OAAAC,gBAAA,EAAAlE,WAAA,OAA2GmE,uBAAA,CAAyBjC,UAAA,CAAWpN,MAAA,QAAasP,UAAA,CAAYtP,MAAA,YAAiBuP,eAAA,CAAiBC,gBAAA,gBAAApC,UAAA,CAA2CpN,MAAA,QAAasP,UAAA,CAAYtP,MAAA,oBAAyByP,YAAA,CAAczP,MAAA,mBAAwB0P,gBAAA,CAAkB1P,MAAA,mBAAwB4L,SAAA,CAAW6D,YAAA,CAAazP,MAAA,qBAA0B0P,gBAAA,CAAkB1P,MAAA,uBAA4BsL,QAAA,CAAUG,QAAA,CAASC,QAAA,CAAS9K,MAAA,aAAkB+K,YAAA,CAAc/K,MAAA,UAAe4K,MAAA,KAAAR,IAAA,MAAqBqC,OAAA7b,GAAUG,GAAA,CAAK,OAAAH,CAAS,EAAlg2B,GAAxIJ,EAAAD,QAAAK,G,GCChE,MAAAme,EAAA,GAGA,SAAAC,EAAAC,GAEA,MAAAC,EAAAH,EAAAE,GACA,QAAAE,IAAAD,EACA,OAAAA,EAAA3e,QAGA,MAAAC,EAAAue,EAAAE,GAAA,CAGA1e,QAAA,IAOA,OAHA6e,EAAAH,GAAAze,EAAAA,EAAAD,QAAAye,GAGAxe,EAAAD,OACA,CCrBAye,EAAAle,EAAA,CAAAP,EAAA8e,KACA,QAAAC,KAAAD,EACAL,EAAAhe,EAAAqe,EAAAC,KAAAN,EAAAhe,EAAAT,EAAA+e,IACAre,OAAAC,eAAAX,EAAA+e,EAAA,CAAyCne,YAAA,EAAAC,IAAAie,EAAAC,MCJzCN,EAAAhe,EAAA,CAAAue,EAAAC,IAAAve,OAAAI,UAAAC,eAAAC,KAAAge,EAAAC,GCCAR,EAAAxd,EAAAjB,IACAU,OAAAC,eAAAX,EAAAkB,OAAAC,YAAA,CAAsDC,MAAA,WACtDV,OAAAC,eAAAX,EAAA,cAAgDoB,OAAA,K,uiBCHzC,MAAA8d,EAAAC,IAAAjQ,OAAAsC,MAAAtC,OAAAiQ,ICaAC,EAAA,CAAAC,EAAAC,GAAA,KACP,MAAAC,EAAAF,EACA,IAAOH,EAAQK,EAAAhO,aAAA,OAKf,GAHAgO,EAAArI,UAAA9G,IAVO,CAAA+O,IACP,MAAAK,EAAAtQ,OAAAiQ,EAAArJ,QACA,WAAA0J,EAAA,KACAA,EAAA,eAOAC,CAAAJ,EAAA9N,cACAgO,EAAAhO,YAhBO,CAAA8N,IACLK,ODDKP,ECCKE,EAAA9N,YDDLrC,OAAAiQ,EAAArJ,QAAA,ECEPuJ,EAAA9N,YACA8N,EAAA9N,YAAA9E,QAAA,QDHO,IAAA0S,GCgBPQ,CAAAN,IAEAC,EAAA,OAEA,MAAAM,EAAAnS,SAAAsJ,cAAA,QACA6I,EAAArO,YAAA,IAEA8N,EAAAQ,OAAAD,ICyGOE,EAAA,CACPC,EACAC,EACAC,EACAC,GAAA,KAEA,IAAArU,MAAAoF,QAAA8O,IAAA,IAAAA,EAAAlT,OAAA,OAEA,MAAAsT,UAAUA,EAAAC,WAAAA,EAAAC,gBAAAA,GAAyCJ,EAGnDD,EAAA/I,UAAA,GAEA,MAAAqJ,EAAAF,EAAA,GAAAL,EAAA,GAAAK,EAAA,GAAAG,OAAA,EAEAR,EAAA3S,QAAA,CAAAoT,EAAA/e,KACA,MAAAgf,EAAAhf,EAAA,EAEAif,EAAAjT,SAAAsJ,cAAA,MACA2J,EAAAxP,GAAA,GAAqBiP,KAAaM,IAClCC,EAAAtP,UAAA,YAEA,MAAAuP,EAAAlT,SAAAsJ,cAAA,OACA4J,EAAAvP,UAAA,QAEA,MAAAwP,EAzJO,EAAAJ,EAAAJ,EAAAD,EAAAM,KACP,MAAAG,EAAAnT,SAAAsJ,cAAA,OA2BA,OA1BA6J,EAAAxP,UAAA,OAEAgP,EAAAhT,QAAAmS,IACA,MAAAsB,EAAApT,SAAAsJ,cAAA,OAIA,IAAAoI,EAUA,GAbA0B,EAAAzP,UAAAmO,EAAAuB,MACAD,EAAA3P,GAAA,GAAgBiP,KAAaM,KAASlB,EAAAwB,WAGtC,UAAAxB,GACAJ,EAAAqB,EAAAjB,EAAAgB,OACAhB,EAAAjO,SAAA6N,EAAAI,EAAAjO,OAAA6N,KACM,UAAAI,IACNJ,EAAAI,EAAAyB,OAGAH,EAAAtP,YAAA4N,EAEAI,EAAA0B,KAAA,CACA,MAAAA,EAAAxT,SAAAsJ,cAAA,QACAkK,EAAA1P,YAAAgO,EAAA0B,KACAJ,EAAAhB,OAAAoB,EACA,CAEAL,EAAAf,OAAAgB,KAGAD,GA6HAM,CAAAV,EAAAJ,EAAAD,EAAAM,GACAU,EA7FO,EAAAX,EAAAH,EAAAF,EAAAM,KACP,MAAAU,EAAA1T,SAAAsJ,cAAA,OAwBA,OAvBAoK,EAAA/P,UAAA,UAEAiP,EAAAjT,QAAAgU,IACA,IAAAC,GAAA,EACA,4BAAAD,IACAC,EAAAD,EAAAhC,yBAEA,IAAAkC,GAAA,EACA,sBAAAF,IACAE,EAAAF,EAAAE,mBAEAH,EAAAtB,OA3CO,EACPjN,EACAuM,EACAjO,EACA4P,EAAA,QACAO,GAAA,EACAC,GAAA,KAEA,MAAAtB,EAAAvS,SAAAsJ,cAAA,OAGA,GAFAiJ,EAAA5O,UAAA,OAEAwB,EAAA,CACA,MAAA2O,EAAA9T,SAAAsJ,cAAA,OACAwK,EAAAnQ,UAAA,QACAmQ,EAAAhQ,YAAAqB,EACAoN,EAAAH,OAAA0B,EACA,CAEA,MAAAC,EAAA/T,SAAAsJ,cAAA,OASA,OARAyK,EAAAtQ,GAAAA,EACAsQ,EAAAtK,UAAA9G,IAAA0Q,GAEAU,EAAAjQ,YAAA4N,EACAkC,GACIjC,EAAuBoC,EAAAF,GAE3BtB,EAAAH,OAAA2B,GACAxB,GAiBAyB,CACAL,EAAAxO,MACA4N,EAAAY,EAAAb,OACA,GAAWJ,KAAaM,KAASW,EAAAL,WACjCK,EAAAN,MACAO,EACAC,MAKAH,GAoEAO,CACAlB,EACAH,EACAF,EACAM,GAKA,GAFAE,EAAAd,OAAAe,EAAAO,GAEAlB,EAAA0B,MAAA,CACA,MAAAA,EAAA1B,EAAA0B,MAAAnB,EAAAC,GACAkB,GAAAjB,EAAAb,OAAA8B,EACA,CAIA,GAFAjB,EAAAb,OAAAc,GAEAT,EAAA,CACA,MAAA0B,EAlFO,EAAAC,EAAAvB,KACP,MAAAsB,EAAAnU,SAAAsJ,cAAA,OAGA,OAFA6K,EAAAxQ,UAAA,WACAwQ,EAAAnT,MAAAqB,MAA+B,IAAA+R,EAAAvB,EAA/B,IACAsB,GA8EAE,CACAtB,EAAAJ,EAAA,GAAAG,OACAD,GAEAI,EAAAb,OAAA+B,EACA,CAEA5B,EAAAH,OAAAa,MCpLAqB,EAAA,CACAC,SAAA,EAAeC,OAAAC,KAAAC,QAAc,GAAQF,IAAOC,IAAKC,IACjD,eAAmBF,OAAAC,KAAAC,QAAc,GAAQF,KAAQC,KAAMC,IACvD,eAAmBF,OAAAC,KAAAC,QAAc,GAAQA,KAAMD,KAAMD,IACrD,eAAmBA,OAAAC,KAAAC,QAAc,GAAQA,KAAMD,KAAMD,KAU9C,SAAAG,EAAAC,GACP,MAAAC,EAAA,IAAAlW,KAIA,OAHAkW,EAAAjW,QAAAiW,EAAAhW,UAAA,IAEAyV,EAAAM,IAAAN,EAAAC,WAXA5E,EAYAkF,EARA,CAAWL,KAHX3S,OAAA8N,EAAA7Q,eAGW2V,GAFX5S,OAAA8N,EAAA/W,WAAA,GAAAmG,SAAA,OAEW2V,GADX7S,OAAA8N,EAAA9Q,WAAAE,SAAA,UAHA,IAAA4Q,CAaA,CClBO,SAAAmF,EACPC,EACAH,EACAI,EAAA,SAEA,MAAAC,EAAoBN,EAAgBC,GACpC,OAAAG,EAAAG,KAAAC,GAAAA,EAAAH,KAAAC,EACA,CCTO,SAAAG,EAAAxD,GACPA,GACAA,EAAAnI,UAAA9G,IAAA,SAEA,CAEO,SAAA0S,EAAAC,GAEPF,EADApV,SAAAM,eAAAgV,GAEA,CAEO,SAAAC,EAAAhD,EAAAc,GAEP+B,EADA7C,EAAAzR,cAAAuS,GAEA,CAEO,SAAAmC,EAAAjD,EAAAkD,GACP,MAAAC,EAAA1V,SAAAsJ,cAAA,KACAoM,EAAA5R,YAAA2R,EACAlD,EAAAtI,YAAAyL,EACA,CCVO,SAAAC,EAAAxU,GACP,MAAAyU,EAAA,CACA,yBACAC,SAAA,CACAjS,QAAA,uBACAC,OAAAlQ,GAAA8N,OAAA9N,GAAA6L,eAAA,UAEAsW,wBAAA,4BACAC,2BAAA,qCAIAxD,EAAAvS,SAAAM,eAAA,2BAEAyU,GAAyB,EAAAiB,EAAAja,qBAAmBoF,GAE5C,IAAO2T,EAAkBC,EAAA,cASzB,OARIQ,EAAuBhD,EAAA,cACvBgD,EAAuBhD,EAAA,cAEvBiD,EACJjD,EACA,6CAME,EAAAyD,EAAAjb,yBAAuBga,EAAAa,GAEzB,MAAAK,EAAAjW,SAAAM,eAAA,4BACEqR,EAAuBsE,GAAA,GAEzB,MAAAC,EAAAlW,SAAAM,eACA,mCAEEqR,EAAuBuE,GAAA,EACzB,CAEO,SAAAC,EAAAhV,GACP,MAAA4T,GAAyB,EAAAiB,EAAAja,qBAAmBoF,GAAA0B,KAC5C,CAAA/O,EAAAoC,IAAAA,EAAAkgB,aAAAtiB,EAAAsiB,cAGAC,EAAuCvB,EACvCC,EACA,cAGAxC,EAAAvS,SAAAM,eAAA,iCAEAgW,EAAA/D,EAAAzR,cAAA,eAEAyV,EAAAhE,EAAAzR,cAAA,cAEA,OACAuV,GFvDO,SAAAtB,GACP,OAAAA,EAAAG,KAAAC,GE0DA,uCF1DAA,EAAA,GACA,CEsDIqB,CACJzB,IAKIK,EAAemB,QACff,EAAqBjD,EAAA,wCAKzB8D,GAiDEhE,EAAoB0C,EAAAuB,EArCtB,CACA5D,UAAA,aACAC,WAAA,CACA,CACAY,MAAA,OACAF,MAAA,QACAC,SAAA,SAEA,CACAR,MAAA,eACAO,MAAA,SACAC,SAAA,UACAzP,OAAA9L,GAAAA,EAAAyH,eAAA,SACAgU,KAAA,SAGAZ,gBAAA,CACA,CACAzN,MAAA,0BACA2N,MAAA,yBACAQ,SAAA,WAEA,CACAnO,MAAA,mBACA2N,MAAA,4BACAQ,SAAA,eAGAY,MAAA,CAAAnB,EAAAC,KACA,MAAAyD,EAAAzW,SAAAsJ,cAAA,OAIA,OAHAmN,EAAA9S,UAAA,OACA8S,EAAAhT,GAAA,cAAmCuP,WACnCyD,EAAA3S,YAAAiP,EAAAtP,GACAgT,UAMAH,EAAA/L,iBACA,uCAGA5K,QAAAmS,IACA,mBAAAA,EAAAhO,YAAAuE,QACAyJ,EAAArI,UAAA9G,IAAA,qBAxDIyS,EAAemB,GACfnB,EAAekB,QAEfd,EACJjD,EACA,iDAsDA,CC3IO,MAAAmE,EAAA,CACP5Y,MAAA,IAAAH,IAAA,CACA,yBACA,oDACA,oCACA,sCACA,8BACA,gDAEAI,MAAA,IAAAJ,IAAA,CACA,qBACA,kDACA,mCACA,uCACA,8BACA,gDAIOgZ,EAAA,CACP7Y,MAAA,IAAAH,IAAA,CACA,oBACA,kBACA,wBACA,CACA,iBACA,4EAEA,CACA,kBACA,0FAGAI,MAAA,IAAAJ,IAAA,CACA,oBACA,iBACA,uBACA,CACA,iBACA,0EAEA,CACA,kBACA,wFC3COiZ,EAAA,CACPC,cAAA,UACAC,WAAA,UACAC,eAAA,UACAC,WAAA,UACAC,gBAAA,UACAC,aAAA,UACAC,QAAA,UACAC,KAAA,UACAC,SAAA,UACAC,YAAA,UACAC,UAAA,UACAC,OAAA,UACAC,WAAA,UACAC,YAAA,WCROC,EAAA,CACPvW,MAAAnO,OAAAqL,OAAuBsY,GACvB3K,KAAA,CACAE,KAAA,KACAS,MAAA,KACAH,OAAA,KACAL,IAAA,MACAF,cAAA,GAEAlK,MAAA,CACA2K,MAAA,EACAkB,KAAU6I,EAAgC,MAAAtjB,IAAA,0BAC1CwkB,QAAA,GAAgBlB,EAAgC,MAAAtjB,IAAA,uBAChD+Y,KAAA,SACAC,IAAA,IACAyL,QAAA,EACAxL,UAAA,CACAlK,SAAA,GACAD,WAAA,aACAoK,WAAA,IACAlL,MAAA,QAEA0W,aAAA,CACA5V,WAAA,aACAC,SAAA,GACAmK,WAAA,IACAlL,MAAA,OACAiB,MAAA,SAGAkK,OAAA,CACAC,OAAA,WACAJ,IAAA,SACAD,KAAA,QACA4L,cAAA,EACA1L,UAAA,CACAlK,SAAA,KACAD,WAAA,aACAoK,WAAA,MACAlL,MAAA,SAGAsL,QAAA,CACAC,MAAA,EACAC,MAAA,IACAR,IAAA,IACAY,SAAA,CACAC,UAAA,CACAC,YAAA,UACAC,SAAA,SAGAN,QAAA,CACAE,YAAA,CACA/K,MAAe0U,EAAgC,MAAAtjB,IAAA,YAC/CiZ,UAAA,CACAlK,SAAA,EACAD,WAAA,aACAoK,WAAA,QAKAc,QAAA,CACAW,QAAA,OACAiK,SAAA,EACA3L,UAAA,CACAnK,WAAA,aACAC,SAAA,GACAmK,WAAA,OAEAhK,UAAA2V,GAEA,4BAAmC,EAAAjC,EAAAjhB,kBAAgBkjB,EAAA/W,mBACxC,EAAA8U,EAAA7hB,iBAAe8jB,EAAAtkB,UAAiB+iB,EAE3C,MAAAtjB,IAAA,qBAIAqb,OAAA,CACA,CACA3M,KAAA,MACAoW,OAAA,YACAC,OAAA,cACAC,WAAA,EACAjX,KAAA,GACAgE,MAAA,CACAwH,MAAA,EACAe,SAAA,SACApL,UAAA,OACA+V,oBAAA,EACAhM,UAAA,CACAnK,WAAA,eACAC,SAAA,GACAmW,WAAA,KAGAC,UAAA,CACA5L,MAAA,EACAvN,OAAA,IAEA4N,SAAA,CACA2B,UAAA,CACA6J,WAAA,GACAC,cAAA,EACAC,YAAA,0BAQOC,EAAA,CACPvX,MAAA,CAAUwV,EAAMK,gBAAkBL,EAAMc,aACxCzL,KAAA,CACAE,KAAA,IACAS,MAAA,IACAH,OAAA,IACAL,IAAA,IACAF,cAAA,GAEAlK,MAAA,CAAW2K,MAAA,GACXJ,OAAA,CAAYI,MAAA,GACZD,QAAA,CAAaC,MAAA,GACbS,QAAA,CACAW,QAAA,OACAiK,SAAA,EACA3L,UAAA,CACAnK,WAAA,aACAC,SAAA,GACAmK,WAAA,OAEAhK,UAAA2V,GAEA,4BAAmC,EAAAjC,EAAAjhB,kBAAgBkjB,EAAA/W,mBACxC,EAAA8U,EAAA7hB,iBAAe8jB,EAAAtkB,UAAiB+iB,EAE3C,MAAAtjB,IAAA,kBAIAqb,OAAA,CACA,CACA3M,KAAA,MACAoW,OAAA,YACAC,OAAA,cACAC,WAAA,EACAjX,KAAA,GACAwN,UAAA,CACAG,YAAA,EACA5B,YAAqB0J,EAAMK,iBAE3B9R,MAAA,CACAwH,MAAA,EACAe,SAAA,SACApL,UAAA,OACA+V,oBAAA,EACAhM,UAAA,CACAnK,WAAA,eACAC,SAAA,GACAmW,WAAA,KAGAC,UAAA,CAAmB5L,MAAA,GACnBK,SAAA,CACA2B,UAAA,CACA6J,WAAA,GACAC,cAAA,EACAC,YAAA,0BCjKO,SAAAE,EAAAzX,GACP,MAAAyU,EAAA,CACA,wBACAC,SAAA,CACAjS,QAAA,oBACAC,OAAAlQ,GAAA8N,OAAA9N,GAAA6L,eAAA,UAEAqZ,uBAAA,sBACAC,0BAAA,2BAIA/D,GAAyB,EAAAiB,EAAAja,qBAAmBoF,GAE5C,IAAO2T,EAAkBC,EAAA,aACzB,MAAAxC,EAAAvS,SAAAM,eAAA,6BAOA,OALIiV,EAAuBhD,EAAA,cACvBgD,EAAuBhD,EAAA,2CAEvBiD,EAAqBjD,EAAA,0CAGzB,EAEE,EAAAyD,EAAAjb,yBAAuBga,EAAAa,GAEzB,MAAAK,EAAAjW,SAAAM,eAAA,sBACEqR,EAAuBsE,GAEzB,MAAAC,EAAAlW,SAAAM,eAAA,yBACEqR,EAAuBuE,EACzB,CAEO,SAAA6C,EAAAC,EAAA7X,GACP,MAAA8X,EAAAC,KAAAC,MAAAD,KAAAE,UAAiDzB,IACjDsB,EAAAxK,OAAA,GAAAtJ,MAAA7C,UAA2CqV,EAAOlJ,OAAA,GAAAtJ,MAAA7C,UAClD2W,EAAA7L,QAAA9K,UAAmCqV,EAAOvK,QAAA9K,UAE1C,MAAA+W,EAAA,4BACAC,EAAA,8BAEAvE,GAAyB,EAAAiB,EAAAja,qBAAmBoF,GAE5C,IAAO2T,EAAkBC,EAAA,YACzB,OAGA,IAAAA,EAAA3V,QACI,EAAA4W,EAAA7a,kBAAgB,IAAKke,IAAQ,IAAOC,MAEpC,EAAAtD,EAAAnb,gBAAc,IAAKye,IAAS,IAAOD,KAGvC,MAAA/G,EAAAyC,EACA/R,OAAAuW,GAAA,yBAAAA,EAAA9V,IACAlF,IAAAgb,IAAA,CACArY,KAAAqY,EAAA9V,GACA9P,MAAA8N,OAAA8X,EAAA1D,aAGAoD,EAAAxK,OAAA,GAAAtN,KAAAmR,GAEE,EAAA0D,EAAAzc,WAAS8f,EAAAJ,EACX,CCpEO,SAAAO,EAAArY,GACP,MAAA8X,EAAAC,KAAAC,MAAAD,KAAAE,UAAiDT,IACjDM,EAAAxK,OAAA,GAAAtJ,MAAA7C,UAA2CqW,EAAOlK,OAAA,GAAAtJ,MAAA7C,UAClD2W,EAAA7L,QAAA9K,UAAmCqW,EAAOvL,QAAA9K,UAE1C,MAAA+W,EAAA,qCACAC,EAAA,uCAEAvE,GAAyB,EAAAiB,EAAAja,qBAAmBoF,GAE5C,IAAA4T,EAAA3V,QACI,EAAA4W,EAAA7a,kBAAgB,IAAKke,IAAQ,IAAOC,MAEpC,EAAAtD,EAAAnb,gBAAc,IAAKye,IAAS,IAAOD,KAGvC,MAAA/G,EAAAyC,EAAAxW,IAAAgb,IAAA,CACArY,KAAAqY,EAAA9V,GACA9P,MAAA8N,OAAA8X,EAAAE,yBAGAR,EAAAxK,OAAA,GAAAtN,KAAAmR,GAEE,EAAA0D,EAAAzc,WAAS8f,EAAAJ,GAEX,MAGA3C,EAHAtW,SAAAM,eACA,sCAEAQ,cAAA,MAEA4Y,EAAuB5E,EAAkBC,EAAA,cACzC4E,EAAArH,EAAA4C,KAAAqE,GAAAA,EAAA5lB,MAAA,GACAimB,EAAA5Z,SAAAM,eACA,uCAGA,OAAAoZ,IAAAC,GACItE,EAAoB,sCN1BjB,SAAA9C,GACP,MAAAmD,EAAA1V,SAAAsJ,cAAA,KACAoM,EAAA5R,YM4BA,4BN1BAyO,EAAAzR,cM2BA,MNzBA+Y,sBAAA,WAAAnE,EACA,CMqBIoE,CACJF,IAOAF,OAmCErH,EAAoB0C,EAAAuB,EAzBtB,CACA5D,UAAA,oBACAC,WAAA,CACA,CACAG,MAAA,KACAO,MAAA,QACAC,SAAA,WAGAV,gBAAA,CACA,CACAzN,MAAA,0BACA2N,MAAA,0BACAQ,SAAA,UACAO,mBAAA,GAEA,CACA1O,MAAA,mBACA2N,MAAA,6BACAQ,SAAA,aACAO,mBAAA,OA7BIwB,EAAoB,sCAEpBG,EACJoE,EACA,oDA+BA,CAEO,SAAAG,EAAA5Y,GACP,MAAA4T,GAAyB,EAAAiB,EAAAja,qBAAmBoF,GAI5CmV,EAHAtW,SAAAM,eACA,oCAEAQ,cAAA,MAEA4Y,EAAuB5E,EAAkBC,EAAA,cACzC4E,EAAA5E,EAAAG,KAAAqE,GAAA9X,OAAA8X,EAAAE,sBAAA,KAEAC,GAAAC,IAKAD,EAmCErH,EAAoB0C,EAAAuB,EA7BtB,CACA5D,UAAA,kBACAC,WAAA,CACA,CACAG,MAAA,KACAO,MAAA,OACAC,SAAA,cAGAV,gBAAA,CACA,CACAE,MAAA,uBACAQ,SAAA,MACAD,MAAA,SACA1B,yBAAA,GAEA,CACAmB,MAAA,0BACAQ,SAAA,UACAO,mBAAA,GAEA,CACAf,MAAA,6BACAQ,SAAA,aACAO,mBAAA,MAlCIwB,EAAoB,mCAwCxB,CC1IO,SAAA2E,EAAA7Y,GACP,MAAAoR,EAAAvS,SAAAM,eAAA,mBACAsV,EAAA,CACA,kCACAqE,SAAA,CACArW,QAAA,0BACAC,OAAAlQ,GAAA8N,OAAA9N,GAAA6L,eAAA,UAEAqZ,uBAAA,wBACAC,0BAAA,6BAIA/D,GAAyB,EAAAiB,EAAAja,qBAAmBoF,GAE5C,IAAO2T,EAAkBC,EAAA,cAQzB,OAPIQ,EAAuBhD,EAAA,mBAEvBiD,EACJjD,EACA,sEAME,EAAAyD,EAAAjb,yBAAuBga,EAAAa,GAEzB,MAAAK,EAAAjW,SAAAM,eAAA,wBACEqR,EAAuBsE,GACzB,MAAAC,EAAAlW,SAAAM,eAAA,2BACEqR,EAAuBuE,EACzB,CAEO,SAAAgE,EAAA/Y,GACP,MAAA4T,GAAyB,EAAAiB,EAAAja,qBAAmBoF,GAC5CoR,EAAAvS,SAAAM,eAAA,2BACAgW,EAAAtW,SAAAM,eACA,iCAGA,IAAAyU,GAAA,IAAAA,EAAA3V,OAEA,YADIoW,EAAqBjD,EAAA,6BAIzB,IAAOuC,EAAkBC,EAAA,cAKzB,YAJIS,EACJjD,EACA,4DAKA,MAAA4H,EAAApF,EACA/R,OAAAlP,GAAA,mCAAAA,EAAA2P,IACAZ,KAAA,CAAA/O,EAAAoC,IAAAA,EAAA+jB,SAAAnmB,EAAAmmB,UA+BE5H,EAAoB8H,EAAA7D,EA7BtB,CACA5D,UAAA,SACAC,WAAA,CACA,CACAG,MAAA,KACAO,MAAA,OACAC,SAAA,UAEA,CACAR,MAAA,WACAO,MAAA,SACAC,SAAA,YACAzP,OAAA9L,GAAAA,EAAAyH,eAAA,WAGAoT,gBAAA,CACA,CACAzN,MAAA,0BACA2N,MAAA,yBACAQ,SAAA,WAEA,CACAnO,MAAA,mBACA2N,MAAA,4BACAQ,SAAA,iBAKsB,EACtB,CC5FO,SAAA8G,EAAAjZ,GACP,MAAA4T,GAAyB,EAAAiB,EAAAja,qBAAmBoF,GAC5CoR,EAAAvS,SAAAM,eAAA,kBACA+Z,EAAA9H,EAAAzR,cAAA,MAGA,GAFAuZ,EAAA7Q,UAAA,IAEAuL,GAAA,IAAAA,EAAA3V,OAEA,YADIoW,EAAqBjD,EAAA,6BAIzB,IAAOuC,EAAkBC,EAAA,cAEzB,YADIS,EAAqBjD,EAAA,kCAIzB,MAAA4C,EAAAJ,EAAA,GAEAuF,EAAA,CACA,CACA7W,GAAA,mBACA8W,UAAA,oBACApV,MAAA,cACAqV,OAAA,KAEA,CACA/W,GAAA,oBACA8W,UAAA,qBACApV,MAAA,OACAqV,OAAA,KAEA,CACA/W,GAAA,oBACA8W,UAAA,qBACApV,MAAA,OACAqV,OAAA,KAEA,CACA/W,GAAA,sBACA8W,UAAA,gBACApV,MAAA,UACAqV,OAAA,KAEA,CACA/W,GAAA,yBACA8W,UAAA,0BACApV,MAAA,0BACAqV,OAAA,MAEA,CACA/W,GAAA,yBACA8W,UAAA,yBACApV,MAAA,uBACAqV,OAAA,UAOAC,EAAAC,GAAA,CAAAJ,EAAA9b,MAAA,KAAA8b,EAAA9b,MAAA,MAEAmc,EAAA3a,SAAAsJ,cAAA,MACAqR,EAAAhX,UAAA,OACAgX,EAAAlX,GAAA,OAEA,MAAAmX,EAAA5a,SAAAsJ,cAAA,MAGA,SAAAuR,EAAAC,EAAAC,GACAD,EAAAnb,QAAA,EAA2B8D,KAAA8W,YAAApV,QAAAqV,aAC3B,MAAAQ,EAAAhb,SAAAsJ,cAAA,MACA0R,EAAAvX,GAAAA,EAEA,MAAAwX,EAAAjb,SAAAsJ,cAAA,OACA2R,EAAAtX,UAAA,QACAsX,EAAAnX,YAAAqB,EAEA,MAAA+V,EAAAlb,SAAAsJ,cAAA,OArBA,IAAA3V,EAsBAunB,EAAAvX,UAAA,QACAuX,EAAApX,aAvBAnQ,EAuBAwhB,EAAAoF,GAtBI9I,EAAQ9d,GAAA8N,OAAA9N,GAAA6L,eAAA,SAAA7L,GAwBZ,MAAAwnB,EAAAnb,SAAAsJ,cAAA,OACA6R,EAAAxX,UAAA,SACAwX,EAAArX,YAAA0W,EAEAQ,EAAA5I,OAAA6I,EAAAC,EAAAC,GACAJ,EAAA9Q,YAAA+Q,IAEA,CAtBAJ,EAAAjX,UAAA,OAwBAkX,EAAAJ,EAAAE,GACAE,EAAAH,EAAAE,GAEAP,EAAApQ,YAAA0Q,GACAN,EAAApQ,YAAA2Q,EACA,CCrGO,MAAAQ,EAAA,IAAAzd,IAAA,CACP,kBACA,iBACA,oBACA,iBACA,sBCEO,SAAA0d,EAAAla,GACP,MAAAma,EAAA,CACA,8BACA,mBACA,eACA,UACA,uBACA,SAeAvG,GAAyB,EAAAiB,EAAAja,qBAAmBoF,GAE5C,IAAO2T,EAAkBC,EAAA,eACzB,MAAAxC,EAAAvS,SAAAM,eAAA,gBASA,OAPI+U,EAAoB,8BAEpBG,EACJjD,EACA,4CAIA,CAEA,MAAAgJ,EAAAxG,EAAAxW,IAAAwU,IACA,MAAAyI,EAAAF,EAAAG,QAAA1I,EAAA2I,0BACArI,GAAA,IAAAmI,EAAA,SAAyC,EAAAA,GAAU,GACnD,UACAzI,EACA4I,+BAAAtI,MAIE,EAAA2C,EAAAjb,yBAAuBwgB,EApCzB,CACA,uBACAG,yBAAA,CACA9X,QAAA,uBACAC,OAAAlQ,GAAAA,GAEAgoB,+BAAA,CACAhY,UAAA,0BA8BA,CAEA,MAAAiY,EAAA,CAAAC,EAAAC,EAAAC,EAAAC,KACA,MAAAljB,EAAAkH,SAAAsJ,cAAA,KACAxQ,EAAA6K,UAAAkY,EAEA,MAAAI,EAAAjc,SAAAsJ,cAAA,UAaA,OAZA2S,EAAAnY,YAAA,GAA0B6S,EAAoC,MAAAvjB,IAC9DyoB,MACOC,KAEPhjB,EAAAmR,YAAAgS,GACAnjB,EAAAsZ,OACA,GAAOuE,EAAoC,MAAAvjB,IAAA2oB,GAAA/c,QAC3C,WACMoc,EAAoBhoB,IAAA4oB,OAI1BljB,GAGO,SAAAojB,EAAA/a,GACP,MAAA4T,GAAyB,EAAAiB,EAAAja,qBAAmBoF,GAC5CoR,EAAAvS,SAAAM,eAAA,kCAEA,IAAAyU,GAAA,IAAAA,EAAA3V,OAAA,OAEAmT,EAAA9I,UAAA0B,OAAA,UACA,MAAAmH,EAAAyC,EAAA,GACAgH,EAAA,kBACAD,EAAA,MAEAxJ,EAAA6J,aAAA,GACA5J,EAAAtI,YACA2R,EAAA,SAAAE,EAAAC,EAAA,cAGAzJ,EAAA8J,YAAA,GACA7J,EAAAtI,YACA2R,EAAA,QAAAE,EAAAC,EAAA,aAGAzJ,EAAA+J,eAAA,GACA9J,EAAAtI,YACA2R,EAAA,WAAAE,EAAAC,EAAA,eAEA,CAEO,SAAAO,EAAAnb,GACP,MAAA4T,GAAyB,EAAAiB,EAAAja,qBAAmBoF,GAE5CoR,EAAAvS,SAAAM,eAAA,kCACA,IAAAyU,GAAA,IAAAA,EAAA3V,OAAA,OAEAmT,EAAA9I,UAAA0B,OAAA,UACA,MAAAmH,EAAAyC,EAAA,GACAgH,EAAA,iBACAD,EAAA,OAEAxJ,EAAA8J,YAAA,GACA7J,EAAAtI,YACA2R,EAAA,QAAAE,EAAAC,EAAA,cAGAzJ,EAAA+J,eAAA,GACA9J,EAAAtI,YACA2R,EAAA,WAAAE,EAAAC,EAAA,gBAEA,CCpHA,MAAAQ,EAAA,CAA4BA,mBAAA,GAU5B,SAAAC,EAAA/G,GACA,MAAAlD,EAAAvS,SAAAM,eAAA,kBACA,IAAAiS,EAAA,OAEEgD,EAAuBhD,EAAA,cAEvB8C,EAAoB,wBAEtB,IAAAoH,EAAAzc,SAAAM,eAAA,2BACAmc,IACAA,EAAAzc,SAAAsJ,cAAA,KACAmT,EAAAhZ,GAAA,0BACA8O,EAAAtI,YAAAwS,IAGAA,EAAA3Y,YAAA2R,CACA,CA6CO,SAAAiH,EAAAvb,EAAAwb,GACP,MAAA5H,GAAyB,EAAAiB,EAAAja,qBAAmBoF,GAE5Cyb,EAA2B9H,EAAkBC,EAAA,cAE7C8H,EAzEAN,EAAAA,kBA2EAK,GAOAA,GAAAC,GAzDA,SAAAC,EAAAra,GACA,SAAAsa,EAAAC,GACA,MAAAC,EAAAjd,SAAAsJ,cAAA,MAGA,OAFA2T,EAAAxZ,GAAAuZ,EACAC,EAAAnZ,YAAA,EACAmZ,CACA,CAEA,QAAAva,IAAAD,EAAAlE,IAAAwU,GAAAA,EAAAmK,cAEAvd,QAAAwd,IACA,MAAA1Z,EAAA,YAA2B0Z,EAAAtd,gBAE3B,GAAAG,SAAAM,eAAAmD,GAAA,OAEA,MAAA2Z,EAAApd,SAAAsJ,cAAA,MACA8T,EAAA3Z,GAAAA,EAEA,MAAA4Z,EAAAN,EAAA,GAAiCtZ,YACjC4Z,EAAAvZ,YAAAqZ,EACAC,EAAAnT,YAAAoT,GAEAD,EAAAnT,YAAA8S,EAAA,GAA+BtZ,kBAC/B2Z,EAAAnT,YAAA8S,EAAA,GAA+BtZ,iBAC/B2Z,EAAAnT,YAAA8S,EAAA,GAA+BtZ,iBAE/BqZ,EAAA7S,YAAAmT,IAEA,CAoCAE,CAFAtd,SAAAc,cAAA,iCAEAiU,GAlCO,SAAAtS,EAAAka,GACP,MAAAY,EAAA9a,EAAAoM,OAAA,CAAA2O,EAAAzK,KACAyK,EAAAzK,EAAAmK,aAAAM,EAAAzK,EAAAmK,aAAA,KACAM,GACG,IAEHvqB,OAAAyQ,QAAA6Z,GAAA5d,QAAA,EAAAwd,EAAAM,MACA,MAAAha,EAAA,YAA2B0Z,EAAAtd,sBAA+B8c,IAC1DM,EAAAjd,SAAAM,eAAAmD,GACAwZ,IAAAA,EAAAnZ,YAAA2Z,IAEA,CAwBAC,CAAA3I,EAAA4H,IAPAH,EAAA,gDAPAA,EACA,0DAcA,CAEO,SAAAmB,EAAAxc,GA1FP,IAAAuQ,KA2FyB,EAAAsE,EAAAja,qBAAmBoF,GAC5C,GAAAyc,cAEA,EA7FArB,EAAAA,kBAAAsB,QAAAnM,EAkGA,CC7GO,SAAAoM,IACP,MAAAC,EAAqBpJ,EAAgB,eAEnC,EAAAqB,EAAArc,aAAW,cAAAmY,IAEbA,EAAAhO,YAAAia,GAEA,CCRO,SAAAC,EAAA7c,GACP,MACA8c,GADoB,EAAAjI,EAAAja,qBAAmBoF,GACvC,GAAA8c,MACA,IAAAA,EACA,UAAAC,MAAA,oDAKA,SAAAD,GAKA,IACAje,SAAAc,cACA,uBAGAyI,aACA,MACA,oIAAgC0U,IAEhC,CAAI,MAAA7d,GACJD,QAAAC,MACA,oFACAA,EAEA,CACA,CAvBA+d,CAAAF,EACA,CCPA,SAAAG,EAAAxa,GACA,OAAAA,aAAAya,iBACA,CCFO,SAAAC,KDKL,EAAAtI,EAAAnc,qBAAmB,OAAA+J,IACrBwa,EAAAxa,IAEAA,EAAA1D,iBAAA,aACAF,SAAAC,KAAAwJ,UAAA9G,IAAA,iBAME,EAAAqT,EAAAnc,qBAAmB,OAAA+J,IACrBwa,EAAAxa,IAEAA,EAAA1D,iBAAA,aACAF,SAAAC,KAAAwJ,UAAA0B,OAAA,eChBA,CCIO,SAAAoT,EAAApd,GACP,MAAAoR,EAAAvS,SAAAM,eAAA,gBACAgW,EAAAtW,SAAAM,eAAA,8BAEAyU,GAAyB,EAAAiB,EAAAja,qBAAmBoF,GAE5C,IACA/C,MAAAoF,QAAAuR,IACA,IAAAA,EAAA3V,SACK0V,EAAkBC,EAAA,cAUvB,OARIQ,EAAuBhD,EAAA,cACvBgD,EAAuBhD,EAAA,SAE3B+D,IACAA,EAAA9M,UAAA,SAEIgM,EAAqBjD,EAAA,yBAKzB,MAAAiM,EAAAzJ,EAAA,iBAEA,GACAyJ,SAEA,KAAAA,GACA/c,OAAAsC,MAAAtC,OAAA+c,IAcA,OAZIjJ,EAAuBhD,EAAA,cACvBgD,EAAuBhD,EAAA,SAE3B+D,IACAA,EAAA9M,UAAA,SAGIgM,EACJjD,EACA,mDAMA,MAAAqD,EAAA,CACA,wBACA6I,cAAA,CACA7a,QAAA,sBACAC,OAAAlQ,GAAA8N,OAAA9N,GAAA6L,eAAA,UAEAqZ,uBAAA,wBACAC,0BAAA,8BAIE,EAAA9C,EAAAjb,yBAAuBga,EAAAa,GAEzB,MAAA8I,EAAA,CACA,2CACA,yCACA,0CAGAC,EAAA5J,EACA/R,OAAA+P,GAAA,yBAAAA,EAAAtP,IACAlF,IAAAwU,IAAA,IACAA,EACA7R,KAAAwd,EAAA3L,EAAAtP,KAAAsP,EAAA7R,QAEA2B,KAAA,CAAA/O,EAAAoC,KACA,MAAA0oB,EAAA,CACA,wBACA,uBACA,wBAGA,OAAAA,EAAA9qB,EAAA2P,IAAAmb,EAAA1oB,EAAAuN,MAmEE4O,EAAoBsM,EAAArI,EAhEtB,CACA5D,UAAA,eAEAC,WAAA,CACA,CACAG,MAAA,OACAO,MAAA,qBACAC,SAAA,UAEA,CACAR,MAAA,gBACAO,MAAA,SACAC,SAAA,WACAzP,OAAAlQ,GAEAA,SAEA,KAAAA,GACA8N,OAAAsC,MAAAtC,OAAA9N,IAEA,eAGA8N,OAAA9N,GAAA6L,eAAA,UAGA,CACAsT,MAAA,iBACAO,MAAA,cACAC,SAAA,WAIAV,gBAAA,CACA,CACAzN,MAAA,0BACA2N,MAAA,yBACAQ,SAAA,UACA3B,yBAAA,GAEA,CACAxM,MAAA,mBACA2N,MAAA,4BACAQ,SAAA,aACA3B,yBAAA,MAoBsB,GAEtBY,EACAhI,iBAAA,uCACA5K,QAAAmS,GAnBA,CAAAA,IACA,MAAAF,EAAAE,EACAne,EAAAie,EAAA9N,YAAAuE,OAIA,GAFAuJ,EAAAnI,UAAA0B,OAAA,yBAEA,KAAAxX,GAAA,SAAAA,GAAA,QAAAA,EAGA,OAFAie,EAAA9N,YAAA,oBACA8N,EAAAnI,UAAA9G,IAAA,aAIIgP,EAAuBC,IAO3BiN,CAAA/M,GACA,C","sources":["webpack://@vlci/cdmvalencia_ahir/webpack/universalModuleDefinition","webpack://@vlci/cdmvalencia_ahir/./node_modules/@vlci/vlcishared/dist/js/vlcishared.js","webpack://@vlci/cdmvalencia_ahir/webpack/bootstrap","webpack://@vlci/cdmvalencia_ahir/webpack/runtime/define property getters","webpack://@vlci/cdmvalencia_ahir/webpack/runtime/hasOwnProperty shorthand","webpack://@vlci/cdmvalencia_ahir/webpack/runtime/make namespace object","webpack://@vlci/cdmvalencia_ahir/./src/inicio/utils/numbers.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/utils/format.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/utils/variacion.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/utils/date.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/utils/data.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/utils/elements.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/estado-trafico.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/utils/texts.js","webpack://@vlci/cdmvalencia_ahir/./src/style/colors.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/options-charts.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/intervenciones-policiales.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/incidencias-ciudadanas.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/trafico-accesos-ciudad.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/medioambiente-clima.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/utils/config.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/medioambiente-calidad-aire.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/sensores-ruido.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/fecha.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/mapa-geoportal-estados-trafico.js","webpack://@vlci/cdmvalencia_ahir/./src/events/button-events.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/ui.js","webpack://@vlci/cdmvalencia_ahir/./src/inicio/emt.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"inicio\"] = factory();\n\telse\n\t\troot[\"inicio\"] = factory();\n})(self, () => {\nreturn ","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.vlcishared=e():t.vlcishared=e()}(self,()=>(()=>{\"use strict\";const t={d:(e,n)=>{for(var o in n)t.o(n,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:n[o]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})}};let e={};t.r(e),t.d(e,{MONTHS_YEAR:()=>r,MONTHS_YEAR_SHORT:()=>a,TEXTS_COMMON:()=>i,THRESHOLDS:()=>wt,addPointInteger:()=>S,buildCamarasTrafico:()=>Tt,buildTableCalidadAire:()=>$t,calculateMaxYAxis:()=>T,calculatePentahoPath:()=>Ft,calculateXAxisStart:()=>O,capitalizarTexto:()=>E,checkAllGroupsCollapsed:()=>At,configureDataBar:()=>W,configureDataGaugeCommon:()=>_,configureDataGaugeMonthCommon:()=>R,configureDataLine:()=>J,configureDataValidate:()=>Ut,configureLinesChartValidates:()=>Yt,convertDateToInteger:()=>g,convertISODateToEUDate:()=>b,convertToLanguageSelectorDateRange:()=>ft,convertToTableTreeView:()=>vt,downloadCSVTable:()=>Dt,downloadPDFTable:()=>Et,formatCellMultiplesLines:()=>bt,formatDayMonthYear:()=>u,formatMilMillionEuros:()=>P,formatMonthAnyo:()=>c,formatName:()=>D,formatNameHeaderColumn:()=>gt,formatRoundTooltip:()=>z,formatShortMonthShortYear:()=>f,formatShortMonthYear:()=>d,formatToMillions:()=>M,formatToTons:()=>v,formatTooltip:()=>L,formatTooltipPie:()=>I,formatTrimestre:()=>m,formatWithPrefix:()=>A,getEnvironment:()=>Nt,getMaxFieldNumberFromData:()=>H,getMonth:()=>o,getMonthList:()=>p,getSelectCommonOptions:()=>it,getSelectTwoColumnsOptions:()=>st,initBarChart:()=>_t,initBarChartComparationMonth:()=>Wt,initChart:()=>$,initContractAllGroups:()=>xt,initElement:()=>C,initElementsByClass:()=>w,initExpandAllGroups:()=>Ct,initStackedBarChart:()=>Pt,initStackedBarChartMonthSeries:()=>Bt,initTable:()=>yt,initValueDefaultDate:()=>ut,initialCalls:()=>Ot,loadIframeOnClickEvent:()=>jt,printDataChart:()=>N,printDataInHTMLElements:()=>V,printEchart:()=>k,printNoDataChart:()=>F,resetFilter:()=>at,resetFilterAndUpdate:()=>ht,resetFilterDate:()=>ct,resetFilterDates:()=>lt,resetFilterToDefault:()=>mt,resultsetWithFields:()=>j,selectConfigDatasource:()=>ot,selectConfigDatasourceAllValue:()=>rt,selectFilterAll:()=>et,selectFilterNumItemsDefault:()=>pt,selectValueDefaultInFilter:()=>dt,separateDayMonthYearToSlash:()=>s,splitDataset:()=>Y,subtractOneDay:()=>h,subtractOneMonth:()=>y,traverseRows:()=>Mt,updateDomElement:()=>U,updateObject:()=>G,updateStackedBarOptions:()=>kt}),new Map([[\"1\",\"Enero\"],[\"2\",\"Febrero\"],[\"3\",\"Marzo\"],[\"4\",\"Abril\"],[\"5\",\"Mayo\"],[\"6\",\"Junio\"],[\"7\",\"Julio\"],[\"8\",\"Agosto\"],[\"9\",\"Septiembre\"],[\"10\",\"Octubre\"],[\"11\",\"Noviembre\"],[\"12\",\"Diciembre\"]]),new Map([[\"1\",\"Gener\"],[\"2\",\"Febrer\"],[\"3\",\"Març\"],[\"4\",\"Abril\"],[\"5\",\"Maig\"],[\"6\",\"Juny\"],[\"7\",\"Juliol\"],[\"8\",\"Agost\"],[\"9\",\"Setembre\"],[\"10\",\"Octubre\"],[\"11\",\"Novembre\"],[\"12\",\"Desembre\"]]);const n={\"01\":\"Enero\",\"02\":\"Febrero\",\"03\":\"Marzo\",\"04\":\"Abril\",\"05\":\"Mayo\",\"06\":\"Junio\",\"07\":\"Julio\",\"08\":\"Agosto\",\"09\":\"Septiembre\",10:\"Octubre\",11:\"Noviembre\",12:\"Diciembre\"};function o(t){return{1:\"Gen\",2:\"Feb\",3:\"Mar\",4:\"Abr\",5:\"Mai\",6:\"Jun\",7:\"Jul\",8:\"Ago\",9:\"Sep\",10:\"Oct\",11:\"Nov\",12:\"Des\"}[parseInt(t.toString(),10)]}const r={es_ES:new Map([[\"1\",\"Enero\"],[\"2\",\"Febrero\"],[\"3\",\"Marzo\"],[\"4\",\"Abril\"],[\"5\",\"Mayo\"],[\"6\",\"Junio\"],[\"7\",\"Julio\"],[\"8\",\"Agosto\"],[\"9\",\"Septiembre\"],[\"10\",\"Octubre\"],[\"11\",\"Noviembre\"],[\"12\",\"Diciembre\"]]),ca_ES:new Map([[\"1\",\"Gener\"],[\"2\",\"Febrer\"],[\"3\",\"Març\"],[\"4\",\"Abril\"],[\"5\",\"Maig\"],[\"6\",\"Juny\"],[\"7\",\"Juliol\"],[\"8\",\"Agost\"],[\"9\",\"Setembre\"],[\"10\",\"Octubre\"],[\"11\",\"Novembre\"],[\"12\",\"Desembre\"]])},a={es_ES:new Map([[\"1\",\"Ene\"],[\"2\",\"Feb\"],[\"3\",\"Mar\"],[\"4\",\"Abr\"],[\"5\",\"May\"],[\"6\",\"Jun\"],[\"7\",\"Jul\"],[\"8\",\"Ago\"],[\"9\",\"Sep\"],[\"10\",\"Oct\"],[\"11\",\"Nov\"],[\"12\",\"Dic\"]]),ca_ES:new Map([[\"1\",\"Gen\"],[\"2\",\"Feb\"],[\"3\",\"Mar\"],[\"4\",\"Abr\"],[\"5\",\"Mai\"],[\"6\",\"Jun\"],[\"7\",\"Jul\"],[\"8\",\"Ago\"],[\"9\",\"Set\"],[\"10\",\"Oct\"],[\"11\",\"Nov\"],[\"12\",\"Des\"]])},i={es_ES:new Map([[\"last_update\",\"Última actualización\"]]),ca_ES:new Map([[\"last_update\",\"Última actualització\"]])};function s(t){return`${t.substring(6,8)}/${t.substring(4,6)}/${t.substring(0,4)}`}function l(t){return[t.substring(0,4),n[t.substring(4,6)]]}function c(t){const[e,n]=l(t);return`${n} ${e}`}function u(t){const[e,o,r]=function(t){return[t.substring(0,4),n[t.substring(4,6)],t.substring(6,8)]}(t);return`${r} ${o} ${e}`}function d(t){const[e,n]=l(t);return`${n.substring(0,3)} ${e}`}function f(t){const[e,n]=l(t);return`${n.substring(0,3)} '${e.substring(2,4)}`}function m(t){const[e,n]=t.split(\"-\");return`${parseFloat(n)/3}T ${e}`}function p(){const t=r.es_ES;return Array.from(t.values()).map(t=>t.slice(0,3))}function h(t){const e=Math.floor(t/1e4),n=new Date(e,t%1e4/100-1,t%100);return n.setDate(n.getDate()-1),`${n.getFullYear()}${(n.getMonth()+1).toString().padStart(2,\"0\")}${n.getDate().toString().padStart(2,\"0\")}`}function y(t){const e=new Date(Math.floor(t/100),t%100-1,0);return`${e.getFullYear()}${(e.getMonth()+1).toString().padStart(2,\"0\")}`}function g(t){return\"string\"==typeof t?parseInt(t.replace(\"-\",\"\"),10):t}function b(t){if(!t||\"string\"!=typeof t)return\"\";const[e,n,o]=t.split(\"-\");return`${o}/${n}/${e}`}function S(t,e=2){let n=navigator.language||navigator.userLanguage;n=n.length<=2?`${n}-${n.toUpperCase()}`:n;const o={minimumFractionDigits:0,maximumFractionDigits:e};return\"es-ES\"===n?t.toLocaleString(\"de-DE\",o):t.toLocaleString(n,o)}function M(t){const e=1e6;return t>=e?t/e+\"M\":t.toString()}function v(t){return t>=1e3?t/1e3+\" Tn\":t.toString()}function A(t){let e,n;return t>=1e6?(e=t/1e6,n=\"G\"):t>=1e3?(e=t/1e3,n=\"M\"):(e=t,n=\"k\"),{value:Math.round(100*e)/100,prefix:n}}function D(t,e=29){if(t.length>=e){const n=t.split(\" \");let o=\"\",r=\"\";return n.forEach(t=>{`${o} ${t}`.length<=e?o+=(o?\" \":\"\")+t:(r+=`${o}\\n`,o=t)}),r+=o,r}return t}function E(t){return t.includes(\"N/D\")?t:t.toLowerCase().replace(/(^|\\s|[.,;:!?¡¿(){}[\\]])([^\\s])/gu,(t,e,n)=>e+n[0].toUpperCase())}function x(t,e,n,o){return new Promise(r=>{document.body.addEventListener(t,()=>{const t=e();t?r(n(t)):(console.error(o),r(null))},{once:!0})})}function C(t,e,n=\"MainContentLoadedCustom\"){const o=document.getElementById(t);return o?Promise.resolve(e(o)):x(n,()=>document.getElementById(t),t=>e(t),`El elemento con ID ${t} aún no está disponible después del evento.`)}function w(t,e,n=\"MainContentLoadedCustom\"){const o=document.getElementsByClassName(t);return o&&0!==o.length?Promise.resolve(Array.from(o).map(t=>e(t))):x(n,()=>{const e=document.getElementsByClassName(t);return e.length>0?Array.from(e):null},t=>t.map(t=>e(t)),`No se encontraron elementos con la clase ${t} después del evento.`)}function $(t,e){return C(t,t=>{const n=echarts.init(t);n.setOption(e,!0),window.addEventListener(\"resize\",()=>{null!=n&&void 0!==n&&n.resize()});const o=document.getElementById(\"main-content\");return o&&(o.addEventListener(\"shown.bs.collapse\",()=>{n.resize()}),o.addEventListener(\"hidden.bs.collapse\",()=>{n.resize()})),n})}function F(t,e){const n=t?document.querySelector(t):null,o=e?document.querySelector(e):null;n&&(n.hidden=!0),o&&(o.style.background=\"url('./build/images/nodata1.png') no-repeat top center\",o.hidden=!1)}function N(t,e){const n=t?document.querySelector(t):null,o=e?document.querySelector(e):null;n&&(n.hidden=!0),o&&(o.style.background=\"#ffffff\",o.hidden=!1)}function L(t,e=!1,n=!0,o=\"\"){let r=`<p style=\"font-weight: 500;color: #565656;\">${t[0].name}</p>`;return t.forEach(t=>{const a=e?Math.round(t.data):t.data,i=n?`<div style=\"font-weight: 400;color: #666;\">${s=t.color,`<span style=\"display:inline-block;margin-right:5px;border-radius:10px;width:9px;height:9px;font-weight: 500;background-color:${s}\"></span>`} ${t.seriesName}: \\n <span style=\"float: right; margin-left:20px;font-weight: 600;color: #565656;\">\\n ${t.data?`${S(a)} ${o}`:\"-\"}\\n </span>\\n </div>`:`<div>\\n <span style=\"font-weight: 600;color: #565656;\">${t.data?`${S(a)} ${o}`:\"-\"}\\n </span>\\n </div>`;var s;r+=i}),r}function O(t){return 100*(t-120)/t}function T(t,e){const n=Math.max(...t);return n+(e-n%e)}function I(t,e=!1){const n=`<span style=\"display:inline-block;margin-right:5px;border-radius:10px;width:9px;height:9px;background-color:${t.color}\"></span>`,o=e?`${t.percent}%`:S(t.value);return`<div> ${n} ${t.name} <span style=\"float: right; margin-left:20px;font-weight: 600;color: #333;\"> ${o} </span></div>`}function z(t,e){let n=`${t.name} : `;return n+=`<span style=\"font-weight:500\">${S(Math.round(t.value))}</span>`,e&&(n+=`<span> (${t.percent}%)</span>`),t.marker+n}function P(t){const e=1e6,n=Number(t);return n>=0&&n<e?`${S(n)} €`:n>=e?`${S(n/e)} M €`:\"-\"}function k(t,e,n){return 0===t.length?(F(`#${e}`,`#${n}`),!1):(N(`#${n}`,`#${e}`),!0)}function B(t,e,n=1){const o=Math.max(...t.map(t=>t[e]))*n;return 5e3*Math.ceil(o/5e3)}function _(t,e,n,o=30,r=15,a=30,i=-70,s=70,l=3){const c=B(t,e.data,1.1),u=s,d=n.slice(),f=[];let m=r,p=a,h=i;for(let n=0;n<t.length;n+=1)f.push({value:t[n][e.data],name:D(String(t[n][e.type]).replace(/\\[.*?\\]/g,\"\")),color:d.shift(),title:{offsetCenter:[`${String(h)}%`,`${String(m)}%`],fontFamily:\"Montserrat\",fontSize:o},detail:{offsetCenter:[`${String(h)}%`,`${String(p)}%`],fontFamily:\"Montserrat\",width:\"33%\",formatter:t=>S(Math.round(t))}}),h+=u,(n+1)%l===0&&(p+=a,m+=2*r,h=i);return[c,f]}function R(t,e,n,r=0){return[B(e,n.data,1),t=>function(t,e,n){const r=S(Math.round(e)),a=o(t[n][0]),i=t[n][1],s=`\\n${a} ${i} : ${r}`,l=`${r}\\n${a} ${i}`;return window.innerWidth<=1710?s:l}(e,t,r),[{value:e[r][n.data]}]]}function q(t,e){const{resultset:n}={resultset:t},o=new Set,r=new Set,a=n.map(([t,n,a])=>{const i=e?Math.round(a):a;return o.add(t),r.add(n),{day:n,type:t,value:i}}),i=Array.from(r.values()),s=Array.from(o.values());return s.sort((t,e)=>t.toLowerCase().localeCompare(e.toLowerCase(),\"es\",{ignorePunctuation:!0})),[s.map(t=>{const e=a.filter(e=>e.type===t).map(({day:e,value:n})=>[e,t,n]),n=i.map(t=>{const n=e.find(([e])=>e===t);return n?n[2]:null});return{name:t,data:n}}),s,r]}function J(t,e=[],n=!1){const[o,r,a]=q(t,n);return o.forEach(t=>{t.type=\"line\",t.symbol=\"circle\",t.symbolSize=6,t.smooth=.1,e.length>0&&(t.color=e.shift())}),[o,a,r]}function W(t,e,n=!1){const[o,r,a]=q(t,n);return o.forEach(t=>{t.type=\"bar\",t.color=e.shift(),t.smooth=!1}),[o,a,r]}function j(t){const{resultset:e,metadata:n}=t,o=[];return e.forEach(t=>{const e={};t.forEach((t,o)=>{e[n[o].colName]=t}),o.push(e)}),o}function G(t,e){const n={...t};return Object.keys(e).forEach(o=>{Object.prototype.hasOwnProperty.call(e,o)&&(\"series\"===o&&Array.isArray(e[o])?n[o]=e[o].map((e,n)=>({...Array.isArray(t[o])&&t[o][n]||{},...e})):\"object\"!=typeof e[o]||null===e[o]||Array.isArray(e[o])?t[o]!==e[o]&&(n[o]=e[o]):n[o]=G(t[o]||{},e[o]))}),n}function V(t,e){const n=()=>{t.forEach(t=>{t.id in e&&Object.entries(e[t.id]).forEach(n=>{const o=n[0],r=n[1];\"object\"==typeof r?r.className?document.querySelector(r.className).className=t[o]:r.element&&r.format&&(document.querySelector(r.element).textContent=e[t.id][o].format(t[o])):document.querySelector(r).textContent=t[o]})})};try{n()}catch(t){document.body.addEventListener(\"MainContentLoadedCustom\",()=>{n()})}}function H(t,e){const n=j(t),o=[];let r=null;return n.forEach(t=>{const n=t[e];\"number\"!=typeof n||Number.isNaN(n)||o.push(n)}),o.length>0&&(r=Math.max(...o)),r}function U(t,e){const n=document.querySelector(t);n?n.textContent=e:console.warn(`Elemento ${t} no encontrado en el DOM`)}function Y(t,e=!0){const n={Cont:[],Mob:[]};return t.forEach(t=>{\"is-res-001-kgs-contenidors\"===t[0]&&\"total\"===t[1]&&(e?n.Cont.push([t[3],t[4],t[2]]):n.Cont.push([t[3],t[2]])),\"Mobles\"===t[1]&&(e?n.Mob.push([t[3],t[4],t[2]]):n.Mob.push([t[3],t[2]]))}),n}const X=[\"Enero\",\"Febrero\",\"Marzo\",\"Abril\",\"Mayo\",\"Junio\",\"Julio\",\"Agosto\",\"Septiembre\",\"Octubre\",\"Noviembre\",\"Diciembre\"],Z=[\"Ene\",\"Feb\",\"Mar\",\"Abr\",\"May\",\"Jun\",\"Jul\",\"Ago\",\"Sep\",\"Oct\",\"Nov\",\"Dic\"],K=[\"Domingo\",\"Lunes\",\"Martes\",\"Miércoles\",\"Jueves\",\"Viernes\",\"Sábado\"],Q=[\"Dom\",\"Lun\",\"Mar\",\"Mié\",\"Juv\",\"Vie\",\"Sáb\"],tt=[\"Do\",\"Lu\",\"Ma\",\"Mi\",\"Ju\",\"Vi\",\"Sá\"];function et(t){const e=t.resultset.map(t=>t[0]);return this.dashboard.fireChange(this.parameter,e),t}function nt(t){for(const e of t)if(Array.isArray(e)){if(!nt(e))return!1}else if(\"All\"!==e)return!1;return!0}function ot(t,e,n,o){return nt(e)?(t.queryDefinition.dataAccessId=n,t.dashboard.setParameter(t.parameter,[\"All\"])):t.queryDefinition.dataAccessId=o,!0}function rt(t){return t.dashboard.setParameter(t.parameter,[\"All\"]),!0}function at(t){t.forEach(t=>{Dashboards.fireChange(t,[\"All\"])})}function it(t=\"Todos\"){return{input:{root:{id:\"All\"},indexes:{id:0,label:0}},component:{Root:{strings:{isDisabled:\"No disponible\",allItems:t,noItems:\"Ninguno\",btnApply:\"Aceptar\",btnCancel:\"Cancelar\"}},Group:{Strings:{allItems:\"Todos\",noItems:\"Ninguno\",btnApply:\"Aceptar\",btnCancel:\"Cancelar\"}}}}}function st(t=\"Todos\"){const e=it(t);return e.input.indexes.id=1,e.input.indexes.label=0,e}function lt(t,e,n,o){const r=Dashboards.getParameterValue(n),a=Dashboards.getParameterValue(o);return Dashboards.fireChange(t,[r]),Dashboards.fireChange(e,[a]),!0}function ct(t,e){const n=Dashboards.getParameterValue(e);return Dashboards.fireChange(t,[n]),!0}function ut(t,e){Dashboards.fireChange(e,t.resultset[0][0])}function dt(t,e){const n=Dashboards.getParameterValue(e),o=t.parameter;\"\"!==n&&t.dashboard.setParameter(o,[n])}function ft(t){t.regional.es={monthNames:X,abbreviatedMonthNames:Z,dayNames:K,abbreviatedDayNames:Q,dayNamesMin:tt,weekHeader:\"Sm\",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:\"\"},t.setDefaults(t.regional.es)}function mt(t,e){const n=Dashboards.getParameterValue(e);return Dashboards.fireChange(t,Array.isArray(n)?n:[n]),!0}function pt(t,e,n,o=0){const r=t.resultset.slice(0,n).map(t=>t[o]);return Dashboards.setParameter(e,r),t}function ht(t,e,n){const o=Array.isArray(e)?e:[e];Dashboards.fireChange(t,o);const r=Dashboards.getComponent(n);r&&r.update()}function yt(t,e){return C(t,t=>new Tabulator(t,e))}function gt(t,e){let n=t.getValue();return n.length>e&&(n=`${n.substr(0,e)}<br>${n.substr(e)}`),n}function bt(t,e){const n=t.getValue().split(\" \");let o=\"\",r=\"\";return n.forEach(t=>{(r+t).length<=e?r+=`${t} `:(o+=`${r}<br>`,r=`${t} `)}),o+=`${r}<br>`,o}function St(t,e){\"expand\"===e?t.treeExpand():t.treeCollapse();const n=t.getTreeChildren();n.length>0&&n.forEach(t=>{t.getTreeChildren().length>0&&St(t,e)})}function Mt(t,e){t.getRows().forEach(t=>{t.getTreeChildren().length>0&&St(t,e)})}function vt(t,e,n,o){const r=[];return Object.keys(t).forEach(a=>{if(Object.prototype.hasOwnProperty.call(t,a)){const i=t[a],s={[e]:i[0],_children:[]};i.shift(),i.forEach((t,r)=>{const a={[e]:n[r],[o]:t};s._children.push(a)}),r.push(s)}}),r}function At(t){let e=!0;return t.getGroups().forEach(t=>{t._group.visible&&(e=!1)}),e}function Dt(t,e,n){const o=document.getElementById(n),r=o.cloneNode(!0);o.parentNode.replaceChild(r,o),r.addEventListener(\"click\",()=>{t.download(\"csv\",`${e}.csv`,{delimiter:\";\",bom:!0})})}function Et(t,e,n){const o=document.getElementById(n),r=o.cloneNode(!0);o.parentNode.replaceChild(r,o),r.addEventListener(\"click\",()=>{const n=t.getRows().map(t=>t.getData()),o=t.getColumns(),r={};o.forEach((t,e)=>{const o=t.getField();o&&n.every(t=>{const e=t[o];return null==e||/^-?\\d+([.,]\\d+)?$/.test(e.toString().trim())})&&(r[e]={halign:\"right\"})}),t.download(\"pdf\",`${e}.pdf`,{title:e,rowCalcStyles:{fontSize:8,fontStyle:\"bold\"},autoTable:{styles:{fontSize:8,lineWidth:.1,lineColor:[200,200,200]},headStyles:{halign:\"center\"},columnStyles:r}})})}function xt(t,e,n){const o=document.getElementById(n);o&&o.addEventListener(\"click\",()=>{t.setGroupStartOpen(!1),t.setData(e)})}function Ct(t,e,n){const o=document.getElementById(n);o&&o.addEventListener(\"click\",()=>{t.setGroupStartOpen(!0),t.setData(e)})}const wt={SO2:[100,200,350,500,750,751],NO2:[40,90,120,230,340,341],O3:[50,100,130,240,380,381],PM10:[20,40,50,100,150,151],PM25:[10,20,25,50,75,76]};function $t(t){const e=[],n={0:\"b\",1:\"a\",2:\"d\",3:\"m\",4:\"mm\",5:\"em\",6:\"\",7:\"nd\"};function o(t,e,o){const r=document.createElement(\"td\");if(r.setAttribute(\"id\",t),null!=e){r.innerHTML=e;const t=function(t,e){let o;return void 0===e?o=6:\"ND\"===e?o=7:(o=5,t.forEach((t,n)=>{e<=t&&5===o&&(o=n)})),n[o]}(o,e);r.classList.add(t)}return r}return t.forEach(t=>{const n=t;\"noData\"===n.operationalstatus&&(n.so2value=\"ND\",n.no2value=\"ND\",n.o3value=\"ND\",n.pm10value=\"ND\",n.pm25value=\"ND\");const r=document.createElement(\"tr\"),a=document.createElement(\"td\");a.innerHTML=n.address,r.appendChild(a),r.appendChild(o(`${n.entityid}_so2`,n.so2value,wt.SO2)),r.appendChild(o(`${n.entityid}_no2`,n.no2value,wt.NO2)),r.appendChild(o(`${n.entityid}_o3`,n.o3value,wt.O3)),r.appendChild(o(`${n.entityid}_pm10`,n.pm10value,wt.PM10)),r.appendChild(o(`${n.entityid}_pm25`,n.pm25value,wt.PM25)),e.push(r)}),e}function Ft(t){document.location=`${document.documentURI.split(\"%3A\")[0]}%3A${document.documentURI.split(\"%3A\")[1]}%3A${document.documentURI.split(\"%3A\")[2]}%3A${document.documentURI.split(\"%3A\")[3]}%3A${t}`}function Nt(){const t=window.location.href;let e=\"\";return e=t.includes(\"localhost\")?\"local\":t.includes(\"sc_valencia_pre\")?\"PRE\":\"PRO\",e}function Lt(t,e){document.querySelectorAll(`[${t}]`).forEach(n=>{!function(t,e,n){const o=e;if(t){const e=new XMLHttpRequest;e.onreadystatechange=function(){4===this.readyState&&(200===this.status&&(o.innerHTML=this.responseText,n&&n()),404===this.status&&(o.innerHTML=\"No se ha podido cargar correctamente.\"))},e.open(\"GET\",t,!0),e.send()}}(n.getAttribute(t),n,e)})}function Ot(t){window.realDashboardsInit=Dashboards.init,Dashboards.init=function(){console.warn(\"Dashboards.init bloqueado temporalmente\")},Lt(\"include-html-cabecera\",function(){!function(){const t=Nt();\"PRO\"!==t&&(document.title+=` (${t})`)}(),function(){const t=Nt();\"PRO\"!==t&&(document.querySelector(\"nav\").querySelectorAll(\"span\")[1].textContent+=` (${t})`)}()}),Lt(\"include-html-menu\"),Lt(\"include-html-main-container\",function(){document.body.dispatchEvent(new Event(\"MainContentLoadedCustom\")),function(){const t=document.querySelector(\"body\");t.classList.remove(\"inicio\"),t.classList.add(document.documentURI.split(\"%3A\")[4].match(/(.*?).wcdf/)[1])}(),t&&t()}),Lt(\"include-html-copyright\"),function(t=\"MainContentLoadedCustom\"){document.body.addEventListener(t,()=>{try{Dashboards.init=window.realDashboardsInit,Dashboards.init()}catch(t){console.warn(\"No se pudo restaurar Dashboards.init; la función original no está disponible.\")}},{once:!0})}()}function Tt(t,e,n,o,r,a){let i=!1,s=!1;const l=document.querySelector(t),c=document.querySelector(e),u=()=>{\"undefined\"!=typeof Liferay&&\"ca-ES\"===Liferay.ThemeDisplay.getBCP47LanguageId()?(l&&l.setAttribute(\"src\",\"https://camaras.valencia.es/camaras/ocimovil.html?camara=1&lang=cas\"),c&&c.setAttribute(\"src\",\"https://camaras.valencia.es/camaras/ocimovil.html?lang=cas\")):(l&&l.setAttribute(\"src\",\"https://camaras.valencia.es/camaras/ocimovil.html?camara=1&lang=val\"),c&&c.setAttribute(\"src\",\"https://camaras.valencia.es/camaras/ocimovil.html?lang=val\"))};function d(t=!0){const e=document.querySelector(n);t?(l&&(l.src=\"about:blank\"),c&&(c.src=\"about:blank\"),e.classList.add(\"blur\"),s=!0):(e.classList.remove(\"blur\"),u(),s=!1)}const f=t=>{new IntersectionObserver(t=>{t.forEach(t=>{t.isIntersecting&&(s||u(),i||(i=!0,window.setTimeout(d,a)))})}).observe(t)};!function(){const{userAgent:t}=navigator;return/iPad|iPhone|iPod|Macintosh/.test(t)&&!window.MSStream}()?(l&&(l.setAttribute(\"sandbox\",\"allow-scripts\"),f(l)),c&&(c.setAttribute(\"sandbox\",\"allow-scripts\"),f(c)),document.querySelector(r).addEventListener(\"click\",()=>{d(!1),window.setTimeout(d,a)})):document.querySelectorAll(o)[0].style.display=\"none\"}const It={grid:{containLabel:!0},title:{left:\"center\",top:\"0\",textStyle:{fontSize:15,fontFamily:\"Montserrat\",fontWeight:500,color:\"#666\"}},legend:{orient:\"horizontal\",bottom:\"0\",left:\"center\",width:\"100%\",textStyle:{fontSize:11,fontFamily:\"Montserrat\",fontWeight:400,color:\"#666\"}},toolbox:{show:!0,right:\"0\",top:\"0\",feature:{restore:{textStyle:{fontSize:6,fontFamily:\"Montserrat\",fontWeight:300}},saveAsImage:{textStyle:{fontSize:6,fontFamily:\"Montserrat\",fontWeight:300}}},emphasis:{iconStyle:{borderColor:\"#ffcd00\",textFill:\"#666\"}}},tooltip:{textStyle:{fontFamily:\"Montserrat\",fontSize:12}},xAxis:[{type:\"category\",axisLabel:{show:!0,interval:0,textStyle:{fontFamily:\"Montserrat\",fontSize:11}},data:[]}],yAxis:[{type:\"value\",alignTicks:!0,position:\"right\",axisLabel:{textStyle:{fontSize:10,fontFamily:\"Montserrat\",fontWeight:400},formatter:t=>`${t}%`}},{type:\"value\",position:\"left\",axisLabel:{textStyle:{fontSize:10,fontFamily:\"Montserrat\",fontWeight:400},formatter:t=>`${M(t)}€`}}]},zt=(t,e)=>{e.sort((t,e)=>parseInt(t.anyo)-parseInt(e.anyo));const n={};e.forEach(e=>{const o=e[1],r=e[0];r!==t.seriesName||n[o]||(n[o]=0),r===t.seriesName&&(n[o]+=e[2])});let o=`<p>${t.seriesName}</p>`;for(const[e,r]of Object.entries(n))o+=`<div>${t.marker} ${e}: <span style=\"float: right; margin-left:20px;font-weight: 600;\">${S(r)}</span></div>`;return o};function Pt(t,e,n=void 0,o=void 0){const r=null===o?void 0:o,a=new Set(e.map(t=>t[1]));let i;const s={title:{text:\"SIN TITULO\",left:\"center\",top:\"top\",textStyle:{fontSize:20,fontFamily:\"Montserrat\",fontWeight:600,color:\"#666\"}},tooltip:{axisPointer:{type:\"shadow\"},trigger:\"item\",formatter:t=>zt(t,e),textStyle:{fontFamily:\"Montserrat\"},position(t,e,n,o,r){const a={},i=r.contentSize[1]/2,s=r.viewSize[1],l=t[1];return l<i?a.top=10:l+i>s?a.bottom=10:a.top=l-i,t[0]<r.viewSize[0]/2?a.left=t[0]+20:a.right=r.viewSize[0]-t[0]+20,a}},legend:{padding:40,textStyle:{fontFamily:\"Montserrat\"}},grid:{left:\"3%\",right:\"4%\",bottom:\"3%\",containLabel:!0},xAxis:{type:\"value\",splitNumber:10,name:\"SIN NOMBRE\",nameLocation:\"start\",nameTextStyle:{fontWeight:\"bold\",fontFamily:\"Montserrat\",color:\"#666\",padding:-40},axisLabel:{margin:5,textStyle:{fontFamily:\"Montserrat\"},formatter:t=>S(t)},splitLine:{lineStyle:{color:\"#DDD\"}}},yAxis:{type:\"category\",data:Array.from(a),axisLabel:{textStyle:{fontFamily:\"Montserrat\"}}},series:(()=>{const t={name:\"SIN NOMBRE\",type:\"bar\",stack:\"total\",label:{show:!0,fontFamily:\"Montserrat\",fontSize:10,formatter:t=>S(Math.round(t.value))},itemStyle:void 0,emphasis:{focus:\"series\"},data:void 0};r&&r.itemStyle&&Array.isArray(r.itemStyle.borderColor)&&(i=[...r.itemStyle.borderColor],delete r.itemStyle.borderColor);const n=function(t){return t.reduce((t,e)=>{const n=e[0];return t[n]||(t[n]=[]),t[n].push(e),t},{})}(e),o=Object.keys(n);a.forEach(t=>{o.forEach(e=>{void 0===n[e].find(e=>e[1]===t)&&(n[e].push([n[e][0][0],t,void 0]),n[e].sort())})});const s=[];return Object.keys(n).forEach(e=>{i&&(t.itemStyle={borderColor:i.shift()}),t.name=e,t.data=n[e].map(t=>t[2]);let o={};o=void 0!==r?G(t,r):t,s.push({...o})}),s})(),toolbox:{show:!0,feature:{restore:{title:\"Restablir\"},saveAsImage:{title:\"Desar\"}},right:50}};let l={};l=void 0!==n?G(s,n):s,$(t,l)}function kt(t){let e={};return e=G(It,t),e}function Bt(t,e,n={},r={}){let a={};a=G(n,{color:[\"#81B1CC\",\"#ABD9EA\",\"#C2EEF9\",\"#F9E2AF\",\"#F9C780\",\"#FDAE61\",\"#F46D43\",\"#FDAE61\",\"#F9E2AF\",\"#C2EEF9\",\"#ABD9EA\",\"#81B1CC\"],yAxis:{data:function(){const t=new Set;return e.forEach(e=>{t.add(e[1])}),Array.from(t).sort((t,e)=>t-e)}()}});const i={itemStyle:{borderWidth:2,borderColor:[\"#448DAD\",\"#89CADB\",\"#A0DEE8\",\"#F4D28C\",\"#F4B569\",\"#F79646\",\"#F25930\",\"#F79646\",\"#F4D28C\",\"#A0DEE8\",\"#89CADB\",\"#448DAD\"]}},s=null===r?i:G(r,i),l=e;l.forEach((t,e)=>{l[e][0]=o(t[0])}),Pt(t,l,a,s)}function _t(t,e=void 0){const n={title:{text:\"SIN TITULO\",left:\"center\",top:\"top\",padding:50,textStyle:{fontSize:14,fontFamily:\"Montserrat\",fontWeight:400,color:\"#333\"}},legend:{show:!1},grid:{top:\"30%\",bottom:\"5%\",left:\"8%\",right:\"8%\"},xAxis:{type:\"value\",show:!1},yAxis:{show:!1,type:\"category\"},tooltip:{show:!0,textStyle:{fontFamily:\"Montserrat\",fontWeight:\"600\"},appendToBody:!0,formatter:t=>z(t,!1)},series:[{type:\"bar\",showBackground:!0}]};let o={};o=void 0!==e?G(n,e):n,$(t,o)}function Rt(t){return Math.max(...t.map(t=>Number(t[0])))}function qt(t){const e=t.filter(e=>Number(e[0])===Rt(t)),n=Array.from({length:12},()=>0);return e.forEach(([t,e,o])=>{const r=parseInt(e,10)-1;n[r]=o}),n}function Jt(t){const e=t.filter(e=>Number(e[0])===Rt(t)-1),n=Array.from({length:12},()=>0);return e.forEach(([t,e,o])=>{const r=parseInt(e,10)-1;n[r]=o}),n}function Wt(t,e,n=void 0){const o=Rt(e).toString(),r=(Rt(e)-1).toString();_t(t,G({title:{left:\"center\",top:\"-12%\",textStyle:{fontSize:15,fontFamily:\"Montserrat\"}},legend:{top:\"10%\",show:!0,data:[r,o],textStyle:{fontFamily:\"Montserrat\"}},grid:{bottom:\"8%\",top:\"20%\",right:\"2%\"},xAxis:[{type:\"category\",data:p(),interval:0,margin:10,axisLabel:{textStyle:{fontSize:10,fontFamily:\"Montserrat\",fontWeight:400}}}],yAxis:[{type:\"value\",axisLabel:{formatter:t=>t.toLocaleString(\"es-ES\"),textStyle:{fontSize:10,fontFamily:\"Montserrat\",fontWeight:400}}}],series:[{name:r,type:\"bar\",data:Jt(e)},{name:o,type:\"bar\",barGap:0,data:qt(e)}]},n))}function jt(t,e,n){const o=document.querySelector(e),r=document.querySelector(t);let a=!1;r.addEventListener(\"click\",()=>{!1===a&&(a=!0,o.setAttribute(\"src\",\"about:blank\"),o.setAttribute(\"src\",n),o.onload=()=>{a=!1})}),r.disabled=!1}const Gt=\"id\",Vt=\"fecha\",Ht=\"value\";function Ut(t,e,n,o,r=\"es_ES\"){const[a,i]=function(t,e,n){const o=[],r=[];return t.forEach(t=>{e.includes(`${t[Gt]}`)?o.push(`${t[Vt]}`):n.includes(`${t[Gt]}`)&&r.push(`${t[Vt]}`)}),[o.map(t=>[t,0]),r.map(t=>[t,0])]}(t,n,o);let s=\"es_ES\"==r?\"Datos sin validar\":\"Dades sense validar\";0===i.length&&(s=\"\");const l={name:\"Datos validados\",type:\"line\",data:[...a,i[0]],lineStyle:{color:\"#00A9A0\",width:4},showSymbol:!1,tooltip:{show:!1}};let c=\"\",u=\"\";if(0===i.length){const e=t[t.length-1].fecha;c=e,u=e}else c=i[0][0],u=i[i.length-1][0];return[...e,l,{name:\"Datos NO validados\",type:\"line\",data:i,lineStyle:{color:\"#80D4CF\",width:4},showSymbol:!1,tooltip:{show:!1},markArea:{silent:!0,itemStyle:{opacity:.6,color:\"#eee\"},tooltip:{show:!1},label:{color:\"#333\",fontStyle:\"normal\",fontWeight:\"400\",fontFamily:\"Montserrat\",fontSize:11},data:[[{name:s,xAxis:c,yAxis:0},{name:\"end\",xAxis:u,yAxis:Math.max(...t.filter(t=>null!==t[Ht]).map(t=>parseInt(`${t[Ht]}`,10)))}]]}}]}function Yt(t,e,n=void 0){$(t,G({grid:{left:\"2.5%\",right:\"5%\",bottom:\"70\",top:\"150\",containLabel:!0},title:{left:\"center\",top:\"top\",textStyle:{fontSize:20,fontFamily:\"Montserrat\",fontWeight:600,color:\"#666\"}},legend:{type:\"plain\",top:\"50\",width:\"98%\",textStyle:{fontFamily:\"Montserrat\"}},tooltip:{trigger:\"axis\",show:!0,formatter:t=>L(t),textStyle:{fontFamily:\"Montserrat\"}},xAxis:{type:\"category\",boundaryGap:!1,splitLine:{show:!1},axisLabel:{textStyle:{fontSize:10,fontFamily:\"Montserrat\",color:\"#666\"}}},yAxis:{type:\"value\",nameLocation:\"end\",nameGap:\"0\",nameTextStyle:{fontFamily:\"Montserrat\",fontWeight:\"500\",padding:[-25,0,0,-48],margin:0,align:\"left\",verticalAlign:\"top\",width:\"auto\"},scale:!0,splitNumber:\"6\",axisLabel:{margin:10,textStyle:{fontSize:10,fontFamily:\"Montserrat\",color:\"#666\"}}},dataZoom:{end:100,borderColor:\"#eee\",fillerColor:\"rgba(0,0,0,.05)\",textStyle:{fontSize:10,fontFamily:\"Montserrat\",color:\"#333\",textBorderColor:\"#fff\",textBorderWidth:3,fontWeight:\"600\"},selectedDataBackground:{lineStyle:{color:\"#333\"},areaStyle:{color:\"#ffcd00\"}},dataBackground:{backgroundColor:\"rgba(0,0,0,1)\",lineStyle:{color:\"#333\"},areaStyle:{color:\"rgba(0,0,0,0.5)\"}},handleStyle:{color:\"rgba(0,0,0,0.2)\"},moveHandleStyle:{color:\"rgba(0,0,0,0.3)\"},emphasis:{handleStyle:{color:\"rgba(255,205,0,1)\"},moveHandleStyle:{color:\"rgba(255,205,0,1)\"}}},toolbox:{feature:{restore:{title:\"Restablir\"},saveAsImage:{title:\"Desar\"}},right:\"1%\",top:\"0%\"},series:e},n))}return e})());\n//# sourceMappingURL=vlcishared.js.map","// The module cache\nconst __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tconst cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tconst module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter/value functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop));","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export const esNumber = (valor) => !Number.isNaN(Number(valor));\n\nexport const esPositivo = (valor) => Number(valor.trim()) > 0;","import { esNumber, esPositivo } from './numbers';\n\nexport const quitarSigno = (elemento) =>\n esPositivo(elemento.textContent)\n ? elemento.textContent\n : elemento.textContent.replace('-', '');\n\nexport const obtenerClaseVariacion = (valor) => {\n const num = Number(valor.trim());\n if (num === 0) return null;\n return num > 0 ? 'pos' : 'neg';\n};\n\nexport const aplicarEstilosVariacion = (elemento, porcentaje = true) => {\n const el = elemento;\n if (!esNumber(el.textContent)) return;\n\n el.classList.add(obtenerClaseVariacion(elemento.textContent));\n el.textContent = quitarSigno(elemento);\n\n if (!porcentaje) return;\n\n const porcentajeEl = document.createElement('span');\n porcentajeEl.textContent = '%';\n\n elemento.append(porcentajeEl);\n};\n","import { aplicarEstilosVariacion } from './format';\n\nexport const crearBloqueLeft = (item, camposLeft, idPrefijo, numId) => {\n const divLeft = document.createElement('div');\n divLeft.className = 'left';\n\n camposLeft.forEach((el) => {\n const div = document.createElement('div');\n div.className = el.clase;\n div.id = `${idPrefijo}-${numId}-${el.idSufijo}`;\n\n let valor;\n if ('campo' in el) {\n valor = item[el.campo];\n if (el.format) valor = el.format(valor);\n } else if ('texto' in el) {\n valor = el.texto;\n }\n\n div.textContent = valor;\n\n if (el.span) {\n const span = document.createElement('span');\n span.textContent = el.span;\n div.append(span);\n }\n\n divLeft.append(div);\n });\n\n return divLeft;\n};\n\nexport const crearBloqueVariacion = (\n label,\n valor,\n id,\n clase = 'value',\n aplicarEstilos = true,\n mostrarPorcentaje = true,\n) => {\n const contenedor = document.createElement('div');\n contenedor.className = 'mini';\n\n if (label) {\n const labelEl = document.createElement('div');\n labelEl.className = 'label';\n labelEl.textContent = label;\n contenedor.append(labelEl);\n }\n\n const valueEl = document.createElement('div');\n valueEl.id = id;\n valueEl.classList.add(clase);\n\n valueEl.textContent = valor;\n if (aplicarEstilos)\n aplicarEstilosVariacion(valueEl, mostrarPorcentaje);\n\n contenedor.append(valueEl);\n return contenedor;\n};\n\nexport const crearBloqueChanges = (item, camposVariacion, idPrefijo, numId) => {\n const divChanges = document.createElement('div');\n divChanges.className = 'changes';\n\n camposVariacion.forEach((cambio) => {\n let aplicarEstilos = true;\n if ('aplicarEstilosVariacion' in cambio)\n aplicarEstilos = cambio.aplicarEstilosVariacion;\n\n let mostrarPorcentaje = true;\n if ('mostrarPorcentaje' in cambio)\n mostrarPorcentaje = cambio.mostrarPorcentaje;\n\n divChanges.append(\n crearBloqueVariacion(\n cambio.label,\n item[cambio.campo],\n `${idPrefijo}-${numId}-${cambio.idSufijo}`,\n cambio.clase,\n aplicarEstilos,\n mostrarPorcentaje,\n ),\n );\n });\n\n return divChanges;\n};\n\nexport const crearProgresoVariacion = (valorActual, mayorValor) => {\n const divProgreso = document.createElement('div');\n divProgreso.className = 'progress';\n divProgreso.style.width = `${(valorActual * 100) / mayorValor}%`;\n return divProgreso;\n};\n\n/**\n * Crea una lista de ítems HTML a partir de datos dinámicos.\n *\n * @param {Array<Object>} datos - Lista de datos a renderizar.\n * @param {HTMLElement} contenedorLista - Elemento UL donde se insertan los LI.\n * @param {Object} config - Configuración de los campos.\n * @param {string} config.prefijoId - Prefijo para los IDs de cada fila.\n * @param {Array<Object>} config.camposLeft - Campos que aparecen en la columna izquierda.\n * @param {Array<Object>} config.camposVariacion - Variaciones que aparecen en la derecha.\n * @param {Function} [config.renderExtra] - Renderiza contenido extra encima de `.datos`.\n * @param {Bool} mostrarProgreso - Muestra una barra de progreso (opcional).\n *\n * Ejemplo de config.camposLeft:\n * config = {\n * idPrefijo: 'acceso', // prefijo de IDs de cada fila\n * camposLeft: [\n * { campo: 'id' / texto: 'AYER', clase: 'name', idSufijo: 'nombre'},\n * {\n * campo: 'veh_ayer',\n * clase: 'number',\n * idSufijo: 'veh-ayer',\n * format: v => v.toLocaleString('de-DE') // opcional,\n * span: '.min' // opcional,\n * }\n * ],\n * camposVariacion: [\n * { label: 'COMPARACIÓN vs ANTEAYER', campo: 'variacion_dia_anterior', idSufijo: 'var-dia', clase: 'value', mostrarPorcentaje: false},\n * { label: 'vs SEMANA PASADA', campo: 'variacion_semana_anterior', idSufijo: 'var-semana', clase: 'value', aplicarEstilosVariacion: false}\n * ],\n * extra: (item) => HTMLElement // opcional\n * }\n */\nexport const crearWidgetVariacion = (\n datos,\n contenedor,\n config,\n mostrarProgreso = false,\n) => {\n if (!Array.isArray(datos) || datos.length === 0) return;\n\n const { idPrefijo, camposLeft, camposVariacion } = config;\n\n // eslint-disable-next-line no-param-reassign\n contenedor.innerHTML = '';\n\n const mayorValor = camposLeft[1] ? datos[0][camposLeft[1].campo] : 0;\n\n datos.forEach((item, i) => {\n const numId = i + 1;\n\n const listItem = document.createElement('li');\n listItem.id = `${idPrefijo}-${numId}`;\n listItem.className = 'list-item';\n\n const divDatos = document.createElement('div');\n divDatos.className = 'datos';\n\n const divLeft = crearBloqueLeft(item, camposLeft, idPrefijo, numId);\n const divChanges = crearBloqueChanges(\n item,\n camposVariacion,\n idPrefijo,\n numId,\n );\n\n divDatos.append(divLeft, divChanges);\n\n if (config.extra) {\n const extra = config.extra(item, numId);\n if (extra) listItem.append(extra);\n }\n\n listItem.append(divDatos);\n\n if (mostrarProgreso) {\n const divProgreso = crearProgresoVariacion(\n item[camposLeft[1].campo],\n mayorValor,\n );\n listItem.append(divProgreso);\n }\n\n contenedor.append(listItem);\n });\n};\n","const FORMATEADORES = {\n YYYYMMDD: ({ yyyy, mm, dd }) => `${yyyy}${mm}${dd}`,\n 'YYYY-MM-DD': ({ yyyy, mm, dd }) => `${yyyy}-${mm}-${dd}`,\n 'DD-MM-YYYY': ({ yyyy, mm, dd }) => `${dd}-${mm}-${yyyy}`,\n 'DD/MM/YYYY': ({ yyyy, mm, dd }) => `${dd}/${mm}/${yyyy}`,\n};\n\nfunction descomponerFecha(fecha) {\n const yyyy = String(fecha.getFullYear());\n const mm = String(fecha.getMonth() + 1).padStart(2, '0');\n const dd = String(fecha.getDate()).padStart(2, '0');\n return { yyyy, mm, dd };\n}\n\nexport function obtenerFechaAyer(formatoFecha) {\n const ayer = new Date();\n ayer.setDate(ayer.getDate() - 1);\n\n const formatear = FORMATEADORES[formatoFecha] || FORMATEADORES.YYYYMMDD;\n return formatear(descomponerFecha(ayer));\n}\n","import { obtenerFechaAyer } from './date';\n\nexport function existenDatosDeAyer(\n dataWithFields,\n formatoFecha,\n nombreCampoFecha = 'fecha',\n) {\n const fechaAyer = obtenerFechaAyer(formatoFecha);\n return dataWithFields.some((fila) => fila[nombreCampoFecha] === fechaAyer);\n}\n\nexport function existeFilaConValor(dataWithFields, filaABuscar, valor) {\n return dataWithFields.some((fila) => fila[filaABuscar] === valor);\n}\n","export function ocultarElemento(elemento) {\n if (elemento) {\n elemento.classList.add('hidden');\n }\n}\n\nexport function ocultarElementoPorId(idElemento) {\n const elemento = document.getElementById(idElemento);\n ocultarElemento(elemento);\n}\n\nexport function ocultarElementoPorClase(contenedor, clase) {\n const elemento = contenedor.querySelector(clase);\n ocultarElemento(elemento);\n}\n\nexport function mostrarMensajeNoDatos(contenedor, textoMensaje) {\n const elementoMensaje = document.createElement('p');\n elementoMensaje.textContent = textoMensaje;\n contenedor.appendChild(elementoMensaje);\n}\n\nexport function mostrarMensajeNoDatosAdyacenteAElemento(contenedor, textoMensaje, elemento) {\n const elementoMensaje = document.createElement('p');\n elementoMensaje.textContent = textoMensaje;\n\n const elementoAdyacente = contenedor.querySelector(elemento);\n\n elementoAdyacente.insertAdjacentElement('afterend', elementoMensaje);\n}","import { printDataInHTMLElements, resultsetWithFields } from 'vlcishared';\nimport { aplicarEstilosVariacion } from './utils/format';\nimport { crearWidgetVariacion } from './utils/variacion';\nimport { existeFilaConValor, existenDatosDeAyer } from './utils/data';\nimport {\n ocultarElementoPorClase,\n mostrarMensajeNoDatos,\n ocultarElemento,\n} from './utils/elements';\n\nexport function callesCortadas(data) {\n const dataConfig = {\n 'TOTAL CALLES CORTADAS': {\n num_ayer: {\n element: '#calles-cortadas-num',\n format: (value) => Number(value).toLocaleString('de-DE'),\n },\n diferencia_dia_anterior: '#calles-cortadas-num-ayer',\n diferencia_semana_anterior: '#calles-cortadas-num-semana-prev',\n },\n };\n\n const contenedor = document.getElementById('calles-cortadas-trafico');\n\n const dataWithFields = resultsetWithFields(data);\n\n if (!existenDatosDeAyer(dataWithFields, 'YYYY-MM-DD')) {\n ocultarElementoPorClase(contenedor, '.indicador');\n ocultarElementoPorClase(contenedor, '.mapa');\n\n mostrarMensajeNoDatos(\n contenedor,\n 'No hay datos de calles cortadas de ayer.',\n );\n\n return;\n }\n\n printDataInHTMLElements(dataWithFields, dataConfig);\n\n const elementVarDia = document.getElementById('calles-cortadas-num-ayer');\n aplicarEstilosVariacion(elementVarDia, false);\n\n const elementVarSem = document.getElementById(\n 'calles-cortadas-num-semana-prev',\n );\n aplicarEstilosVariacion(elementVarSem, false);\n}\n\nexport function callesCongestionadas(data) {\n const dataWithFields = resultsetWithFields(data).sort(\n (a, b) => b.minutos_ayer - a.minutos_ayer,\n );\n\n const existenDatosDeCongestionAyer = existenDatosDeAyer(\n dataWithFields,\n 'YYYY-MM-DD',\n );\n\n const contenedor = document.getElementById('calles-congestionadas-trafico');\n\n const contenedorLista = contenedor.querySelector(':scope > ul');\n\n const descripcion = contenedor.querySelector(':scope > p');\n\n if (\n existenDatosDeCongestionAyer &&\n existeFilaConValor(\n dataWithFields,\n 'id',\n 'Ayer no hubo calles congestionadas',\n )\n ) {\n ocultarElemento(descripcion);\n mostrarMensajeNoDatos(contenedor, 'Ayer no hubo calles congestionadas.');\n\n return;\n }\n\n if (!existenDatosDeCongestionAyer) {\n ocultarElemento(descripcion);\n ocultarElemento(contenedorLista);\n\n mostrarMensajeNoDatos(\n contenedor,\n 'No hay datos de congestión de calles de ayer.',\n );\n\n return;\n }\n\n const configWidget = {\n idPrefijo: 'calle-cong',\n camposLeft: [\n {\n texto: 'AYER',\n clase: 'label',\n idSufijo: 'label',\n },\n {\n campo: 'minutos_ayer',\n clase: 'number',\n idSufijo: 'minutos',\n format: (v) => v.toLocaleString('de-DE'),\n span: 'min.',\n },\n ],\n camposVariacion: [\n {\n label: 'COMPARACIÓN vs ANTEAYER',\n campo: 'variacion_dia_anterior',\n idSufijo: 'var-dia',\n },\n {\n label: 'vs SEMANA PASADA',\n campo: 'variacion_semana_anterior',\n idSufijo: 'var-semana',\n },\n ],\n extra: (item, numId) => {\n const divNombre = document.createElement('div');\n divNombre.className = 'name';\n divNombre.id = `calle-cong-${numId}-nombre`;\n divNombre.textContent = item.id;\n return divNombre;\n },\n };\n\n crearWidgetVariacion(dataWithFields, contenedorLista, configWidget);\n\n const variaciones = contenedorLista.querySelectorAll(\n '[id$=\"var-dia\"], [id$=\"var-semana\"]',\n );\n\n variaciones.forEach((el) => {\n if (el.textContent.trim() === 'Sin congestión') {\n el.classList.add('no-congestion');\n }\n });\n}\n","export const TEXTS_SEGURIDAD = {\n es_ES: new Map([\n ['download', 'Descargar'],\n ['intervenciones_totales', 'INTERVENCIONES TOTALES'],\n ['intervenciones', 'intervenciones'],\n ['tipologia_nivel', 'TIPOLOGÍA NIVEL'],\n ['incidencias', 'incidencias'],\n ['incidencias_totales', 'INCIDENCIAS TOTALES'],\n ]),\n ca_ES: new Map([\n ['download', 'Desar'],\n ['intervenciones_totales', 'INTERVENCIONS TOTALS'],\n ['intervenciones', 'intervencions'],\n ['tipologia_nivel', 'TIPOLOGIA NIVELL'],\n ['incidencias', 'incidències'],\n ['incidencias_totales', 'INCIDÈNCIES TOTALS'],\n ]),\n};\n\nexport const TEXTS_MEDIOAMBIENTE = {\n es_ES: new Map([\n ['alerta', 'Alerta'],\n ['aviso', 'Aviso'],\n ['preaviso', 'Preaviso'],\n [\n 'avisos_diarios',\n 'Promedio diario del día anterior > {umbral} µg/m³ en 2 o más estaciones.',\n ],\n [\n 'avisos_horarios',\n 'Promedio horario > {umbral} µg/m³ durante 2 horas consecutivas en 2 o más estaciones',\n ],\n ]),\n ca_ES: new Map([\n ['alerta', 'Alerta'],\n ['aviso', 'Avís'],\n ['preaviso', 'Preavís'],\n [\n 'avisos_diarios',\n 'Mitjana diària del dia anterior > {umbral} µg/m³ en 2 o més estacions.',\n ],\n [\n 'avisos_horarios',\n 'Mitjana horària > {umbral} µg/m³ durant 2 hores consecutives en 2 o més estacions',\n ],\n ]),\n};\n","export const COLORS = {\n naranjaPalido: '#F1AB86',\n tealPalido: '#48A9A6',\n amarilloPalido: '#ffbf69',\n azulPalido: '#4BA3C3',\n cranberryPalido: '#e56b6f',\n marinoPalido: '#284B63',\n naranja: '#F96E46',\n teal: '#307473',\n amarillo: '#F6AE2D',\n azulCeruleo: '#05668d',\n cranberry: '#A23E48',\n marino: '#0B3948',\n verdeClaro: '#6a9c81',\n tealApagado: '#7AA8A7',\n};\n","import { addPointInteger, capitalizarTexto } from 'vlcishared';\nimport { TEXTS_SEGURIDAD } from './utils/texts';\nimport { DEFAULT_LANGUAGE } from '../common-language';\nimport { COLORS } from '../style/colors';\n\n// Gráfica sección seguridad ciudadana | Tarta de Intervenciones totales Nivel 1\nexport const OPTIONS_INTERVENCIONES_PIE = {\n color: Object.values(COLORS),\n grid: {\n left: '1%',\n right: '1%',\n bottom: '2%',\n top: '20%',\n containLabel: true,\n },\n title: {\n show: false,\n text: TEXTS_SEGURIDAD[DEFAULT_LANGUAGE].get('intervenciones_totales'),\n subtext: `${TEXTS_SEGURIDAD[DEFAULT_LANGUAGE].get('tipologia_nivel')} 1`,\n left: 'center',\n top: '0',\n itemGap: 5,\n textStyle: {\n fontSize: 15,\n fontFamily: 'Montserrat',\n fontWeight: 500,\n color: '#666',\n },\n subtextStyle: {\n fontFamily: 'Montserrat',\n fontSize: 12,\n fontWeight: 400,\n color: '#666',\n width: '100%',\n },\n },\n legend: {\n orient: 'vertical',\n top: 'middle',\n left: 'right',\n selectedMode: false,\n textStyle: {\n fontSize: '11',\n fontFamily: 'Montserrat',\n fontWeight: '400',\n color: '#333',\n },\n },\n toolbox: {\n show: false,\n right: '0',\n top: '0',\n emphasis: {\n iconStyle: {\n borderColor: '#ffcd00',\n textFill: '#666',\n },\n },\n feature: {\n saveAsImage: {\n title: TEXTS_SEGURIDAD[DEFAULT_LANGUAGE].get('download'),\n textStyle: {\n fontSize: 6,\n fontFamily: 'Montserrat',\n fontWeight: 300,\n },\n },\n },\n },\n tooltip: {\n trigger: 'item',\n confine: true,\n textStyle: {\n fontFamily: 'Montserrat',\n fontSize: 12,\n fontWeight: '500',\n },\n formatter(param) {\n return (\n `<b style=\"color: #666;\">${capitalizarTexto(param.name)}</b><br />` +\n `${addPointInteger(param.value)} ${TEXTS_SEGURIDAD[\n DEFAULT_LANGUAGE\n ].get('intervenciones')}`\n );\n },\n },\n series: [\n {\n type: 'pie',\n radius: ['0', '80%'],\n center: ['23%', '50%'],\n startAngle: 0,\n data: [],\n label: {\n show: true,\n position: 'inside',\n formatter: '{c0}',\n distanceToLabelLine: 0,\n textStyle: {\n fontFamily: 'Varela Round',\n fontSize: 15,\n lineHeight: 18,\n },\n },\n labelLine: {\n show: false,\n length: 10,\n },\n emphasis: {\n itemStyle: {\n shadowBlur: 10,\n shadowOffsetX: 0,\n shadowColor: 'rgba(0, 0, 0, 0.5)',\n },\n },\n },\n ],\n};\n\n// Gráfica sección incidencias ciudadanas | Tarta de Intervenciones por estado Nivel 1\nexport const OPTIONS_INCIDENCIAS_PIE = {\n color: [COLORS.cranberryPalido, COLORS.tealApagado],\n grid: {\n left: '0',\n right: '0',\n bottom: '0',\n top: '0',\n containLabel: true,\n },\n title: { show: false },\n legend: { show: false },\n toolbox: { show: false },\n tooltip: {\n trigger: 'item',\n confine: true,\n textStyle: {\n fontFamily: 'Montserrat',\n fontSize: 12,\n fontWeight: '500',\n },\n formatter(param) {\n return (\n `<b style=\"color: #666;\">${capitalizarTexto(param.name)}</b><br />` +\n `${addPointInteger(param.value)} ${TEXTS_SEGURIDAD[\n DEFAULT_LANGUAGE\n ].get('incidencias')}`\n );\n },\n },\n series: [\n {\n type: 'pie',\n radius: ['0', '80%'],\n center: ['40%', '50%'],\n startAngle: 0,\n data: [],\n itemStyle: {\n borderWidth: 1,\n borderColor: COLORS.cranberryPalido,\n },\n label: {\n show: true,\n position: 'inside',\n formatter: '{c0}',\n distanceToLabelLine: 0,\n textStyle: {\n fontFamily: 'Varela Round',\n fontSize: 15,\n lineHeight: 18,\n },\n },\n labelLine: { show: false },\n emphasis: {\n itemStyle: {\n shadowBlur: 10,\n shadowOffsetX: 0,\n shadowColor: 'rgba(0, 0, 0, 0.5)',\n },\n },\n },\n ],\n};\n","import {\n initChart,\n printDataChart,\n printDataInHTMLElements,\n printNoDataChart,\n resultsetWithFields,\n} from 'vlcishared';\nimport { OPTIONS_INTERVENCIONES_PIE as options } from './options-charts';\nimport { aplicarEstilosVariacion } from './utils/format';\nimport { existenDatosDeAyer } from './utils/data';\nimport {\n mostrarMensajeNoDatos,\n ocultarElementoPorClase,\n} from './utils/elements';\n\nexport function intervencionesPoliciales(data) {\n const dataConfig = {\n 'TOTAL INTERVENCIONES': {\n num_ayer: {\n element: '#interv-pol-total',\n format: (value) => Number(value).toLocaleString('de-DE'),\n },\n variacion_dia_anterior: '#interv-pol-var-dia',\n variacion_semana_anterior: '#interv-pol-var-semana',\n },\n };\n\n const dataWithFields = resultsetWithFields(data);\n\n if (!existenDatosDeAyer(dataWithFields, 'YYYYMMDD')) {\n const contenedor = document.getElementById('intervenciones-policiales');\n\n ocultarElementoPorClase(contenedor, '.indicador');\n ocultarElementoPorClase(contenedor, '.intervenciones-policiales-detalle');\n\n mostrarMensajeNoDatos(contenedor, 'No hay datos de intervenciones de ayer.');\n\n return;\n }\n\n printDataInHTMLElements(dataWithFields, dataConfig);\n\n const elementVarDia = document.getElementById('interv-pol-var-dia');\n aplicarEstilosVariacion(elementVarDia);\n\n const elementVarSem = document.getElementById('interv-pol-var-semana');\n aplicarEstilosVariacion(elementVarSem);\n}\n\nexport function echartIntervencionesTotalesPie(vis, data) {\n const chartOptions = JSON.parse(JSON.stringify(options));\n chartOptions.series[0].label.formatter = options.series[0].label.formatter;\n chartOptions.tooltip.formatter = options.tooltip.formatter;\n\n const idChart = 'chart-intervenciones-ayer';\n const idNoData = 'no-data-intervenciones-ayer';\n\n const dataWithFields = resultsetWithFields(data);\n\n if (!existenDatosDeAyer(dataWithFields, 'YYYYMMDD')) {\n return;\n }\n\n if (dataWithFields.length === 0) {\n printNoDataChart(`#${idChart}`, `#${idNoData}`);\n } else {\n printDataChart(`#${idNoData}`, `#${idChart}`);\n }\n\n const datos = dataWithFields\n .filter((dato) => dato.id !== 'TOTAL INTERVENCIONES')\n .map((dato) => ({\n name: dato.id,\n value: Number(dato.num_ayer),\n }));\n\n chartOptions.series[0].data = datos;\n\n initChart(idChart, chartOptions);\n}\n","import {\n initChart,\n printDataChart,\n printNoDataChart,\n resultsetWithFields,\n} from 'vlcishared';\nimport { crearWidgetVariacion } from './utils/variacion';\nimport { OPTIONS_INCIDENCIAS_PIE as options } from './options-charts';\nimport { existenDatosDeAyer } from './utils/data';\nimport { ocultarElementoPorId, mostrarMensajeNoDatos, mostrarMensajeNoDatosAdyacenteAElemento } from './utils/elements';\n\nexport function echartIncidenciasPorEstadoPie(data) {\n const chartOptions = JSON.parse(JSON.stringify(options));\n chartOptions.series[0].label.formatter = options.series[0].label.formatter;\n chartOptions.tooltip.formatter = options.tooltip.formatter;\n\n const idChart = 'chart-incid-ciudadanas-estado-ayer';\n const idNoData = 'no-data-incid-ciudadanas-estado-ayer';\n\n const dataWithFields = resultsetWithFields(data);\n\n if (dataWithFields.length === 0) {\n printNoDataChart(`#${idChart}`, `#${idNoData}`);\n } else {\n printDataChart(`#${idNoData}`, `#${idChart}`);\n }\n\n const datos = dataWithFields.map((dato) => ({\n name: dato.id,\n value: Number(dato.num_incidencias_ayer),\n }));\n\n chartOptions.series[0].data = datos;\n\n initChart(idChart, chartOptions);\n\n const contenedor = document.getElementById(\n 'list-incidencias-ciudadanas-estado',\n );\n const contenedorLista = contenedor.querySelector('ul');\n\n const hayDatosAyer = existenDatosDeAyer(dataWithFields, 'YYYY-MM-DD');\n const existenIncidenciasAyer = datos.some(dato => dato.value > 0);\n const contenedorIncidenciasCiudadanas = document.getElementById(\n 'incidencias-ciudadanas-estados-main',\n );\n\n if (hayDatosAyer && !existenIncidenciasAyer) {\n ocultarElementoPorId('incidencias-ciudadanas-estado');\n\n mostrarMensajeNoDatosAdyacenteAElemento(\n contenedorIncidenciasCiudadanas,\n 'Ayer no hubo incidencias.',\n 'h3'\n );\n return;\n }\n\n if (!hayDatosAyer) {\n ocultarElementoPorId('incidencias-ciudadanas-estado');\n\n mostrarMensajeNoDatos(\n contenedorIncidenciasCiudadanas,\n 'No hay datos de incidencias registradas de ayer.',\n );\n return;\n }\n\n const configWidget = {\n idPrefijo: 'estado-incidencia',\n camposLeft: [\n {\n campo: 'id',\n clase: 'value',\n idSufijo: 'estado',\n },\n ],\n camposVariacion: [\n {\n label: 'COMPARACIÓN vs ANTEAYER',\n campo: 'diferencia_dia_anterior',\n idSufijo: 'var-dia',\n mostrarPorcentaje: false,\n },\n {\n label: 'vs SEMANA PASADA',\n campo: 'diferencia_semana_anterior',\n idSufijo: 'var-semana',\n mostrarPorcentaje: false,\n },\n ],\n };\n\n crearWidgetVariacion(dataWithFields, contenedorLista, configWidget);\n}\n\nexport function top3IncidenciasPorTipologia(data) {\n const dataWithFields = resultsetWithFields(data);\n const contenedor = document.getElementById(\n 'incid-ciudadanas-tipologia-top-3',\n );\n const contenedorLista = contenedor.querySelector('ul');\n\n const hayDatosAyer = existenDatosDeAyer(dataWithFields, 'YYYY-MM-DD');\n const existenIncidenciasAyer = dataWithFields.some(dato => Number(dato.num_incidencias_ayer) > 0);\n\n if (hayDatosAyer && !existenIncidenciasAyer) {\n ocultarElementoPorId('incidencias-ciudadanas-tipologia');\n return;\n }\n\n if (!hayDatosAyer) {\n ocultarElementoPorId('incidencias-ciudadanas-tipologia');\n\n return;\n }\n\n const configWidget = {\n idPrefijo: 'tipo-incidencia',\n camposLeft: [\n {\n campo: 'id',\n clase: 'name',\n idSufijo: 'tipologia',\n },\n ],\n camposVariacion: [\n {\n campo: 'num_incidencias_ayer',\n idSufijo: 'num',\n clase: 'number',\n aplicarEstilosVariacion: false,\n },\n {\n campo: 'diferencia_dia_anterior',\n idSufijo: 'var-dia',\n mostrarPorcentaje: false,\n },\n {\n campo: 'diferencia_semana_anterior',\n idSufijo: 'var-semana',\n mostrarPorcentaje: false,\n },\n ],\n };\n\n crearWidgetVariacion(dataWithFields, contenedorLista, configWidget);\n}\n","import { printDataInHTMLElements, resultsetWithFields } from 'vlcishared';\nimport { aplicarEstilosVariacion } from './utils/format';\nimport { crearWidgetVariacion } from './utils/variacion';\nimport { existenDatosDeAyer } from './utils/data';\nimport {\n mostrarMensajeNoDatos,\n ocultarElementoPorClase,\n} from './utils/elements';\n\nexport function traficoAccesosCiudad(data) {\n const contenedor = document.getElementById('accesos-trafico');\n const dataConfig = {\n 'TOTAL VEHICULOS/HORA EN EL DIA': {\n veh_ayer: {\n element: '#accesos-traf-vehiculos',\n format: (value) => Number(value).toLocaleString('de-DE'),\n },\n variacion_dia_anterior: '#accesos-traf-var-dia',\n variacion_semana_anterior: '#accesos-traf-var-semana',\n },\n };\n\n const dataWithFields = resultsetWithFields(data);\n\n if (!existenDatosDeAyer(dataWithFields, 'YYYY-MM-DD')) {\n ocultarElementoPorClase(contenedor, '.datos.big');\n\n mostrarMensajeNoDatos(\n contenedor,\n 'No hay datos de los vehículos que accedieron a la ciudad de ayer.',\n );\n\n return;\n }\n\n printDataInHTMLElements(dataWithFields, dataConfig);\n\n const elementVarDia = document.getElementById('accesos-traf-var-dia');\n aplicarEstilosVariacion(elementVarDia);\n const elementVarSem = document.getElementById('accesos-traf-var-semana');\n aplicarEstilosVariacion(elementVarSem);\n}\n\nexport function traficoAccesosCiudadDetalle(data) {\n const dataWithFields = resultsetWithFields(data);\n const contenedor = document.getElementById('accesos-trafico-detalle');\n const contenedorLista = document.getElementById(\n 'accesos-trafico-detalle-lista',\n );\n\n if (!dataWithFields || dataWithFields.length === 0) {\n mostrarMensajeNoDatos(contenedor, 'No hay datos disponibles.');\n return;\n }\n\n if (!existenDatosDeAyer(dataWithFields, 'YYYY-MM-DD')) {\n mostrarMensajeNoDatos(\n contenedor,\n 'No hay datos de vehículos en las vías de acceso de ayer.',\n );\n return;\n }\n\n const accesosFiltrados = dataWithFields\n .filter((a) => a.id !== 'TOTAL VEHICULOS/HORA EN EL DIA')\n .sort((a, b) => b.veh_ayer - a.veh_ayer);\n\n const configWidget = {\n idPrefijo: 'acceso',\n camposLeft: [\n {\n campo: 'id',\n clase: 'name',\n idSufijo: 'nombre',\n },\n {\n campo: 'veh_ayer',\n clase: 'number',\n idSufijo: 'vehiculos',\n format: (v) => v.toLocaleString('de-DE'),\n },\n ],\n camposVariacion: [\n {\n label: 'COMPARACIÓN vs ANTEAYER',\n campo: 'variacion_dia_anterior',\n idSufijo: 'var-dia',\n },\n {\n label: 'vs SEMANA PASADA',\n campo: 'variacion_semana_anterior',\n idSufijo: 'var-semana',\n },\n ],\n };\n\n crearWidgetVariacion(accesosFiltrados, contenedorLista, configWidget, true);\n}\n","import { resultsetWithFields } from 'vlcishared';\nimport { esNumber } from './utils/numbers';\nimport { existenDatosDeAyer } from './utils/data';\nimport { mostrarMensajeNoDatos } from './utils/elements';\n\nexport function medioambienteClima(data) {\n const dataWithFields = resultsetWithFields(data);\n const contenedor = document.getElementById('sensores-clima');\n const ul = contenedor.querySelector('ul');\n ul.innerHTML = '';\n\n if (!dataWithFields || dataWithFields.length === 0) {\n mostrarMensajeNoDatos(contenedor, 'No hay datos disponibles.');\n return;\n }\n\n if (!existenDatosDeAyer(dataWithFields, 'YYYY-MM-DD')) {\n mostrarMensajeNoDatos(contenedor, 'No hay datos de clima de ayer.');\n return;\n }\n\n const fila = dataWithFields[0];\n\n const campos = [\n {\n id: 'clima-temp-media',\n campoBbdd: 'temperatura_media',\n label: 'Temperatura',\n unidad: '°',\n },\n {\n id: 'clima-temp-maxima',\n campoBbdd: 'temperatura_maxima',\n label: 'Máx.',\n unidad: '°',\n },\n {\n id: 'clima-temp-minima',\n campoBbdd: 'temperatura_minima',\n label: 'Mín.',\n unidad: '°',\n },\n {\n id: 'clima-humedad-media',\n campoBbdd: 'humedad_media',\n label: 'Humedad',\n unidad: '%',\n },\n {\n id: 'clima-precip-acumulada',\n campoBbdd: 'precipitacion_acumulada',\n label: 'Precipitación acumulada',\n unidad: 'mm',\n },\n {\n id: 'clima-vel-viento-media',\n campoBbdd: 'velocidad_viento_media',\n label: 'Velocidad del viento',\n unidad: 'km/h',\n },\n ];\n\n const formatNumber = (value) =>\n esNumber(value) ? Number(value).toLocaleString('es-ES') : value;\n\n const [primeraMitad, segundaMitad] = [campos.slice(0, 3), campos.slice(3, 6)];\n\n const ul1 = document.createElement('ul');\n ul1.className = 'list';\n ul1.id = 'temp';\n\n const ul2 = document.createElement('ul');\n ul2.className = 'list';\n\n function renderLista(listaCampos, listaUl) {\n listaCampos.forEach(({ id, campoBbdd, label, unidad }) => {\n const li = document.createElement('li');\n li.id = id;\n\n const divLabel = document.createElement('div');\n divLabel.className = 'label';\n divLabel.textContent = label;\n\n const divValue = document.createElement('div');\n divValue.className = 'value';\n divValue.textContent = formatNumber(fila[campoBbdd]);\n\n const divUnidad = document.createElement('div');\n divUnidad.className = 'medida';\n divUnidad.textContent = unidad;\n\n li.append(divLabel, divValue, divUnidad);\n listaUl.appendChild(li);\n });\n }\n\n renderLista(primeraMitad, ul1);\n renderLista(segundaMitad, ul2);\n\n ul.appendChild(ul1);\n ul.appendChild(ul2);\n}\n","export const CONFIG_MEDIOAMBIENTE = new Map([\n ['NO2alerta', 400],\n ['NO2aviso', 200],\n ['NO2preaviso', 180],\n ['PM10aviso', 80],\n ['PM10preaviso', 50],\n]);\n","import { printDataInHTMLElements, resultsetWithFields } from 'vlcishared';\nimport { TEXTS_MEDIOAMBIENTE } from './utils/texts';\nimport { CONFIG_MEDIOAMBIENTE } from './utils/config';\nimport { DEFAULT_LANGUAGE } from '../common-language';\nimport { existenDatosDeAyer } from './utils/data';\nimport { mostrarMensajeNoDatos, ocultarElementoPorId } from './utils/elements';\n\nexport function medioambienteEstadoCalidadAire(data) {\n const estados = [\n 'Extremadamente Desfavorable',\n 'Muy Desfavorable',\n 'Desfavorable',\n 'Regular',\n 'Razonablemente Buena',\n 'Buena',\n ];\n\n const dataConfig = {\n 'ESTADO CALIDAD AIRE': {\n calidad_ambiental_ciudad: {\n element: '#estado-calidad-aire',\n format: (value) => value,\n },\n calidad_ambiental_ciudad_clase: {\n className: '#estado-calidad-aire',\n },\n },\n };\n\n const dataWithFields = resultsetWithFields(data);\n\n if (!existenDatosDeAyer(dataWithFields, 'YYYY-MM-DD')) {\n const contenedor = document.getElementById('calidad-aire');\n\n ocultarElementoPorId('sensores-calidad-aire');\n\n mostrarMensajeNoDatos(\n contenedor,\n 'No hay datos de calidad del aire de ayer.',\n );\n\n return;\n }\n\n const adaptedData = dataWithFields.map((item) => {\n const index = estados.indexOf(item.calidad_ambiental_ciudad);\n const clase = index !== -1 ? `aire-${6 - index}` : '';\n return {\n ...item,\n calidad_ambiental_ciudad_clase: clase,\n };\n });\n\n printDataInHTMLElements(adaptedData, dataConfig);\n}\n\nconst crearLinea = (tipo, contaminante, claveTexto, claveUmbral) => {\n const p = document.createElement('p');\n p.className = tipo;\n\n const strong = document.createElement('strong');\n strong.textContent = `${TEXTS_MEDIOAMBIENTE[DEFAULT_LANGUAGE].get(\n tipo,\n )} ${contaminante}:`;\n\n p.appendChild(strong);\n p.append(\n `${TEXTS_MEDIOAMBIENTE[DEFAULT_LANGUAGE].get(claveTexto).replace(\n '{umbral}',\n CONFIG_MEDIOAMBIENTE.get(claveUmbral),\n )}`,\n );\n\n return p;\n};\n\nexport function medioambienteAlertasHorarias(data) {\n const dataWithFields = resultsetWithFields(data);\n const contenedor = document.getElementById('alertas-contaminantes-est-aire');\n\n if (!dataWithFields || dataWithFields.length === 0) return;\n\n contenedor.classList.remove('hidden');\n const datos = dataWithFields[0];\n const claveTexto = 'avisos_horarios';\n const contaminante = 'NO2';\n\n if (datos.cant_alertas > 1)\n contenedor.appendChild(\n crearLinea('alerta', contaminante, claveTexto, 'NO2alerta'),\n );\n\n if (datos.cant_avisos > 1)\n contenedor.appendChild(\n crearLinea('aviso', contaminante, claveTexto, 'NO2aviso'),\n );\n\n if (datos.cant_preavisos > 1)\n contenedor.appendChild(\n crearLinea('preaviso', contaminante, claveTexto, 'NO2preaviso'),\n );\n}\n\nexport function medioambienteAlertasDiarias(data) {\n const dataWithFields = resultsetWithFields(data);\n\n const contenedor = document.getElementById('alertas-contaminantes-est-aire');\n if (!dataWithFields || dataWithFields.length === 0) return;\n\n contenedor.classList.remove('hidden');\n const datos = dataWithFields[0];\n const claveTexto = 'avisos_diarios';\n const contaminante = 'PM10';\n\n if (datos.cant_avisos > 1)\n contenedor.appendChild(\n crearLinea('aviso', contaminante, claveTexto, 'PM10aviso'),\n );\n\n if (datos.cant_preavisos > 1)\n contenedor.appendChild(\n crearLinea('preaviso', contaminante, claveTexto, 'PM10preaviso'),\n );\n}\n","import { resultsetWithFields } from 'vlcishared';\nimport { existenDatosDeAyer } from './utils/data';\nimport {\n ocultarElementoPorClase,\n ocultarElementoPorId,\n} from './utils/elements';\n\nconst hayAlertasDeRuido = { hayAlertasDeRuido: false };\n\nfunction getHayAlertasDeRuido() {\n return hayAlertasDeRuido.hayAlertasDeRuido;\n}\n\nfunction setHayAlertasDeRuido(valor) {\n hayAlertasDeRuido.hayAlertasDeRuido = Boolean(valor);\n}\n\nfunction mostrarEstadoSinDatosRuido(textoMensaje) {\n const contenedor = document.getElementById('sensores-ruido');\n if (!contenedor) return;\n\n ocultarElementoPorClase(contenedor, ':scope > p');\n\n ocultarElementoPorId('tabla-sensores-ruido');\n\n let mensaje = document.getElementById('mensaje-sin-datos-ruido');\n if (!mensaje) {\n mensaje = document.createElement('p');\n mensaje.id = 'mensaje-sin-datos-ruido';\n contenedor.appendChild(mensaje);\n }\n\n mensaje.textContent = textoMensaje;\n}\n\nfunction buildTableSensoresRuido(tbody, resultset) {\n function createTd(idName) {\n const td = document.createElement('td');\n td.id = idName;\n td.textContent = 0;\n return td;\n }\n\n const estaciones = [...new Set(resultset.map((item) => item.areaserved))];\n\n estaciones.forEach((estacion) => {\n const id = `estacion-${estacion.toLowerCase()}`;\n\n if (document.getElementById(id)) return;\n\n const tr = document.createElement('tr');\n tr.id = id;\n\n const tdNombre = createTd(`${id}-nombre`);\n tdNombre.textContent = estacion;\n tr.appendChild(tdNombre);\n\n tr.appendChild(createTd(`${id}-cant-manana`));\n tr.appendChild(createTd(`${id}-cant-tarde`));\n tr.appendChild(createTd(`${id}-cant-noche`));\n\n tbody.appendChild(tr);\n });\n}\n\nexport function fillTableSensoresRuido(resultset, tiempo) {\n const cantidadesEstacion = resultset.reduce((acc, item) => {\n acc[item.areaserved] = (acc[item.areaserved] || 0) + 1;\n return acc;\n }, {});\n\n Object.entries(cantidadesEstacion).forEach(([estacion, count]) => {\n const id = `estacion-${estacion.toLowerCase()}-cant-${tiempo}`;\n const td = document.getElementById(id);\n if (td) td.textContent = count;\n });\n}\n\nexport function sensoresRuido(data, tiempo) {\n const dataWithFields = resultsetWithFields(data);\n\n const existenDatosAyer = existenDatosDeAyer(dataWithFields, 'YYYY-MM-DD');\n\n const existenAlertasDeRuido = getHayAlertasDeRuido();\n\n if (!existenDatosAyer) {\n mostrarEstadoSinDatosRuido(\n 'No hay datos de alertas de superación de ruido de ayer.',\n );\n return;\n }\n\n if (existenDatosAyer && !existenAlertasDeRuido) {\n mostrarEstadoSinDatosRuido('Ayer no hubo alertas de superación de ruido.');\n return;\n }\n\n const tbody = document.querySelector('#tabla-sensores-ruido > tbody');\n\n buildTableSensoresRuido(tbody, dataWithFields);\n fillTableSensoresRuido(dataWithFields, tiempo);\n}\n\nexport function countAlertasDeRuido(data) {\n const dataWithFields = resultsetWithFields(data);\n const alertasRuido = dataWithFields[0].total_alertas;\n\n if (alertasRuido > 0) {\n setHayAlertasDeRuido(true);\n } else {\n setHayAlertasDeRuido(false);\n }\n}\n","import { initElement } from 'vlcishared';\nimport { obtenerFechaAyer } from './utils/date';\n\nexport function setFechaDatos() {\n const fechaDatos = obtenerFechaAyer('DD/MM/YYYY');\n\n initElement('fecha-datos', (el) => {\n // eslint-disable-next-line no-param-reassign\n el.textContent = fechaDatos;\n });\n}\n","import { resultsetWithFields } from 'vlcishared';\n\nexport function setToken(data) {\n const resultSet = resultsetWithFields(data);\n const token = resultSet[0].token;\n if (!token) {\n throw new Error('No se pudo obtener el token desde base de datos');\n }\n mostrarMapaEstadosTrafico(token);\n}\n\nfunction mostrarMapaEstadosTrafico(token) {\n\n const URL_GEOPORTAL =\n 'https://geoportal.valencia.es/portal/apps/webappviewer/index.html?id=fdcb9a8cbde94431a72f6b45f4c96185&mobileBreakPoint=300';\n\n try {\n const iframeMapaEstadosTrafico = document.querySelector(\n '#if-estados-trafico',\n );\n\n iframeMapaEstadosTrafico.setAttribute(\n 'src',\n `${URL_GEOPORTAL}&token=${token}`,\n );\n } catch (error) {\n console.error(\n 'No se pudo cargar el token, y por tanto, no se han podido mostrar el mapa. Error:',\n error,\n );\n }\n}\n","import { initElementsByClass } from 'vlcishared';\n\nfunction isButton(element) {\n return element instanceof HTMLButtonElement;\n}\n\nexport function initGuiaButtons() {\n initElementsByClass('guia', (element) => {\n if (!isButton(element)) return;\n\n element.addEventListener('click', () => {\n document.body.classList.add('historia');\n });\n });\n}\n\nexport function initInfoButtons() {\n initElementsByClass('info', (element) => {\n if (!isButton(element)) return;\n\n element.addEventListener('click', () => {\n document.body.classList.remove('historia');\n });\n });\n}\n","import { initGuiaButtons, initInfoButtons } from '../events/button-events';\n\nexport function initializeUI() {\n initGuiaButtons();\n initInfoButtons();\n}\n","import { printDataInHTMLElements, resultsetWithFields } from 'vlcishared';\nimport { aplicarEstilosVariacion } from './utils/format';\nimport { crearWidgetVariacion } from './utils/variacion';\nimport { existenDatosDeAyer } from './utils/data';\nimport {\n mostrarMensajeNoDatos,\n ocultarElementoPorClase,\n} from './utils/elements';\n\nexport function emt(data) {\n const contenedor = document.getElementById('viajeros-emt');\n const contenedorLista = document.getElementById('viajeros-emt-franjas-lista');\n\n const dataWithFields = resultsetWithFields(data);\n\n if (\n !Array.isArray(dataWithFields) ||\n dataWithFields.length === 0 ||\n !existenDatosDeAyer(dataWithFields, 'YYYY-MM-DD')\n ) {\n ocultarElementoPorClase(contenedor, '.datos.big');\n ocultarElementoPorClase(contenedor, '.list');\n\n if (contenedorLista) {\n contenedorLista.innerHTML = '';\n }\n mostrarMensajeNoDatos(contenedor, 'No hay datos de ayer.');\n\n return;\n }\n\n const validateData = dataWithFields[0]['viajeros_ayer'];\n\n if (\n validateData === null ||\n validateData === undefined ||\n validateData === '' ||\n Number.isNaN(Number(validateData))\n ) {\n ocultarElementoPorClase(contenedor, '.datos.big');\n ocultarElementoPorClase(contenedor, '.list');\n\n if (contenedorLista) {\n contenedorLista.innerHTML = '';\n }\n\n mostrarMensajeNoDatos(\n contenedor,\n 'No hay datos de los viajeros totales de la EMT.',\n );\n\n return;\n }\n\n const dataConfig = {\n 'VIAJEROS TOTALES EMT': {\n viajeros_ayer: {\n element: '#viajeros-emt-total',\n format: (value) => Number(value).toLocaleString('de-DE'),\n },\n variacion_dia_anterior: '#viajeros-emt-var-dia',\n variacion_semana_anterior: '#viajeros-emt-var-semana',\n },\n };\n\n printDataInHTMLElements(dataWithFields, dataConfig);\n\n const nombreFranja = {\n 'VIAJEROS EMT MANANA': 'AYER POR LA MAÑANA',\n 'VIAJEROS EMT TARDE': 'AYER POR LA TARDE',\n 'VIAJEROS EMT NOCHE': 'AYER POR LA NOCHE',\n };\n\n const viajerosFiltrados = dataWithFields\n .filter((item) => item.id !== 'VIAJEROS TOTALES EMT')\n .map((item) => ({\n ...item,\n name: nombreFranja[item.id] || item.name,\n }))\n .sort((a, b) => {\n const orden = {\n 'VIAJEROS EMT MANANA': 1,\n 'VIAJEROS EMT TARDE': 2,\n 'VIAJEROS EMT NOCHE': 3,\n };\n\n return orden[a.id] - orden[b.id];\n });\n\n const configWidget = {\n idPrefijo: 'viajeros-emt',\n\n camposLeft: [\n {\n campo: 'name',\n clase: 'label franja-label',\n idSufijo: 'nombre',\n },\n {\n campo: 'viajeros_ayer',\n clase: 'number',\n idSufijo: 'viajeros',\n format: (value) => {\n if (\n value === null ||\n value === undefined ||\n value === '' ||\n Number.isNaN(Number(value))\n ) {\n return 'No hay datos';\n }\n\n return Number(value).toLocaleString('de-DE');\n },\n },\n {\n campo: 'franja_horaria',\n clase: 'muted small',\n idSufijo: 'franja',\n },\n ],\n\n camposVariacion: [\n {\n label: 'COMPARACIÓN vs ANTEAYER',\n campo: 'variacion_dia_anterior',\n idSufijo: 'var-dia',\n aplicarEstilosVariacion: false,\n },\n {\n label: 'vs SEMANA PASADA',\n campo: 'variacion_semana_anterior',\n idSufijo: 'var-semana',\n aplicarEstilosVariacion: false,\n },\n ],\n };\n\n const pintarVariacionEmt = (el) => {\n const elemento = el;\n const value = elemento.textContent.trim();\n\n elemento.classList.remove('pos', 'neg', 'sin-datos');\n\n if (value === '' || value === 'null' || value === 'NaN') {\n elemento.textContent = 'No hay datos';\n elemento.classList.add('sin-datos');\n return;\n }\n\n aplicarEstilosVariacion(elemento);\n };\n\n crearWidgetVariacion(viajerosFiltrados, contenedorLista, configWidget, false);\n\n contenedor\n .querySelectorAll('[id$=\"var-dia\"], [id$=\"var-semana\"]')\n .forEach((el) => pintarVariacionEmt(el));\n}\n"],"names":["root","factory","exports","module","define","amd","self","e","t","d","n","o","Object","defineProperty","enumerable","get","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value","MONTHS_YEAR","MONTHS_YEAR_SHORT","a","TEXTS_COMMON","i","THRESHOLDS","wt","addPointInteger","S","buildCamarasTrafico","Tt","buildTableCalidadAire","$t","calculateMaxYAxis","T","calculatePentahoPath","Ft","calculateXAxisStart","O","capitalizarTexto","E","checkAllGroupsCollapsed","At","configureDataBar","W","configureDataGaugeCommon","_","configureDataGaugeMonthCommon","R","configureDataLine","J","configureDataValidate","Ut","configureLinesChartValidates","Yt","convertDateToInteger","g","convertISODateToEUDate","b","convertToLanguageSelectorDateRange","ft","convertToTableTreeView","vt","downloadCSVTable","Dt","downloadPDFTable","Et","formatCellMultiplesLines","bt","formatDayMonthYear","u","formatMilMillionEuros","P","formatMonthAnyo","c","formatName","D","formatNameHeaderColumn","gt","formatRoundTooltip","z","formatShortMonthShortYear","f","formatShortMonthYear","formatToMillions","M","formatToTons","v","formatTooltip","L","formatTooltipPie","I","formatTrimestre","m","formatWithPrefix","A","getEnvironment","Nt","getMaxFieldNumberFromData","H","getMonth","getMonthList","p","getSelectCommonOptions","it","getSelectTwoColumnsOptions","st","initBarChart","_t","initBarChartComparationMonth","Wt","initChart","$","initContractAllGroups","xt","initElement","C","initElementsByClass","w","initExpandAllGroups","Ct","initStackedBarChart","Pt","initStackedBarChartMonthSeries","Bt","initTable","yt","initValueDefaultDate","ut","initialCalls","Ot","loadIframeOnClickEvent","jt","printDataChart","N","printDataInHTMLElements","V","printEchart","k","printNoDataChart","F","resetFilter","at","resetFilterAndUpdate","ht","resetFilterDate","ct","resetFilterDates","lt","resetFilterToDefault","mt","resultsetWithFields","j","selectConfigDatasource","ot","selectConfigDatasourceAllValue","rt","selectFilterAll","et","selectFilterNumItemsDefault","pt","selectValueDefaultInFilter","dt","separateDayMonthYearToSlash","s","splitDataset","Y","subtractOneDay","h","subtractOneMonth","y","traverseRows","Mt","updateDomElement","U","updateObject","G","updateStackedBarOptions","kt","Map","parseInt","toString","es_ES","ca_ES","substring","l","split","parseFloat","Array","from","values","map","slice","Math","floor","Date","setDate","getDate","getFullYear","padStart","replace","navigator","language","userLanguage","length","toUpperCase","minimumFractionDigits","maximumFractionDigits","toLocaleString","round","prefix","forEach","includes","toLowerCase","x","Promise","document","body","addEventListener","console","error","once","getElementById","resolve","getElementsByClassName","echarts","init","setOption","window","resize","querySelector","hidden","style","background","name","data","color","seriesName","max","percent","marker","Number","B","ceil","push","String","type","shift","title","offsetCenter","fontFamily","fontSize","detail","width","formatter","innerWidth","q","resultset","Set","add","day","sort","localeCompare","ignorePunctuation","filter","find","symbol","symbolSize","smooth","metadata","colName","keys","isArray","id","entries","className","element","format","textContent","isNaN","warn","Cont","Mob","X","Z","K","Q","tt","this","dashboard","fireChange","parameter","nt","queryDefinition","dataAccessId","setParameter","Dashboards","input","indexes","label","component","Root","strings","isDisabled","allItems","noItems","btnApply","btnCancel","Group","Strings","getParameterValue","regional","es","monthNames","abbreviatedMonthNames","dayNames","abbreviatedDayNames","dayNamesMin","weekHeader","firstDay","isRTL","showMonthAfterYear","yearSuffix","setDefaults","getComponent","update","Tabulator","getValue","substr","St","treeExpand","treeCollapse","getTreeChildren","getRows","_children","getGroups","_group","visible","cloneNode","parentNode","replaceChild","download","delimiter","bom","getData","getColumns","getField","every","test","trim","halign","rowCalcStyles","fontStyle","autoTable","styles","lineWidth","lineColor","headStyles","columnStyles","setGroupStartOpen","setData","SO2","NO2","O3","PM10","PM25","createElement","setAttribute","innerHTML","classList","operationalstatus","so2value","no2value","o3value","pm10value","pm25value","address","appendChild","entityid","location","documentURI","href","Lt","querySelectorAll","XMLHttpRequest","onreadystatechange","readyState","status","responseText","open","send","getAttribute","realDashboardsInit","dispatchEvent","Event","remove","match","Liferay","ThemeDisplay","getBCP47LanguageId","src","IntersectionObserver","isIntersecting","setTimeout","observe","userAgent","MSStream","display","It","grid","containLabel","left","top","textStyle","fontWeight","legend","orient","bottom","toolbox","show","right","feature","restore","saveAsImage","emphasis","iconStyle","borderColor","textFill","tooltip","xAxis","axisLabel","interval","yAxis","alignTicks","position","zt","anyo","text","axisPointer","trigger","contentSize","viewSize","padding","splitNumber","nameLocation","nameTextStyle","margin","splitLine","lineStyle","series","stack","itemStyle","focus","reduce","borderWidth","appendToBody","showBackground","Rt","qt","Jt","barGap","onload","disabled","Gt","Vt","Ht","showSymbol","fecha","markArea","silent","opacity","boundaryGap","nameGap","align","verticalAlign","scale","dataZoom","end","fillerColor","textBorderColor","textBorderWidth","selectedDataBackground","areaStyle","dataBackground","backgroundColor","handleStyle","moveHandleStyle","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","definition","key","obj","prop","esNumber","valor","aplicarEstilosVariacion","elemento","porcentaje","el","num","obtenerClaseVariacion","esPositivo","quitarSigno","porcentajeEl","append","crearWidgetVariacion","datos","contenedor","config","mostrarProgreso","idPrefijo","camposLeft","camposVariacion","mayorValor","campo","item","numId","listItem","divDatos","divLeft","div","clase","idSufijo","texto","span","crearBloqueLeft","divChanges","cambio","aplicarEstilos","mostrarPorcentaje","labelEl","valueEl","crearBloqueVariacion","crearBloqueChanges","extra","divProgreso","valorActual","crearProgresoVariacion","FORMATEADORES","YYYYMMDD","yyyy","mm","dd","obtenerFechaAyer","formatoFecha","ayer","existenDatosDeAyer","dataWithFields","nombreCampoFecha","fechaAyer","some","fila","ocultarElemento","ocultarElementoPorId","idElemento","ocultarElementoPorClase","mostrarMensajeNoDatos","textoMensaje","elementoMensaje","callesCortadas","dataConfig","num_ayer","diferencia_dia_anterior","diferencia_semana_anterior","vlcishared","elementVarDia","elementVarSem","callesCongestionadas","minutos_ayer","existenDatosDeCongestionAyer","contenedorLista","descripcion","existeFilaConValor","divNombre","TEXTS_SEGURIDAD","TEXTS_MEDIOAMBIENTE","COLORS","naranjaPalido","tealPalido","amarilloPalido","azulPalido","cranberryPalido","marinoPalido","naranja","teal","amarillo","azulCeruleo","cranberry","marino","verdeClaro","tealApagado","OPTIONS_INTERVENCIONES_PIE","subtext","itemGap","subtextStyle","selectedMode","confine","param","radius","center","startAngle","distanceToLabelLine","lineHeight","labelLine","shadowBlur","shadowOffsetX","shadowColor","OPTIONS_INCIDENCIAS_PIE","intervencionesPoliciales","variacion_dia_anterior","variacion_semana_anterior","echartIntervencionesTotalesPie","vis","chartOptions","JSON","parse","stringify","idChart","idNoData","dato","echartIncidenciasPorEstadoPie","num_incidencias_ayer","hayDatosAyer","existenIncidenciasAyer","contenedorIncidenciasCiudadanas","insertAdjacentElement","mostrarMensajeNoDatosAdyacenteAElemento","top3IncidenciasPorTipologia","traficoAccesosCiudad","veh_ayer","traficoAccesosCiudadDetalle","accesosFiltrados","medioambienteClima","ul","campos","campoBbdd","unidad","primeraMitad","segundaMitad","ul1","ul2","renderLista","listaCampos","listaUl","li","divLabel","divValue","divUnidad","CONFIG_MEDIOAMBIENTE","medioambienteEstadoCalidadAire","estados","adaptedData","index","indexOf","calidad_ambiental_ciudad","calidad_ambiental_ciudad_clase","crearLinea","tipo","contaminante","claveTexto","claveUmbral","strong","medioambienteAlertasHorarias","cant_alertas","cant_avisos","cant_preavisos","medioambienteAlertasDiarias","hayAlertasDeRuido","mostrarEstadoSinDatosRuido","mensaje","sensoresRuido","tiempo","existenDatosAyer","existenAlertasDeRuido","tbody","createTd","idName","td","areaserved","estacion","tr","tdNombre","buildTableSensoresRuido","cantidadesEstacion","acc","count","fillTableSensoresRuido","countAlertasDeRuido","total_alertas","Boolean","setFechaDatos","fechaDatos","setToken","token","Error","mostrarMapaEstadosTrafico","isButton","HTMLButtonElement","initializeUI","emt","validateData","viajeros_ayer","nombreFranja","viajerosFiltrados","orden","pintarVariacionEmt"],"sourceRoot":""}
|