{"id":24196,"date":"2026-04-27T06:35:16","date_gmt":"2026-04-27T04:35:16","guid":{"rendered":"https:\/\/www.correreinpuglia.it\/?p=24196"},"modified":"2026-04-27T06:35:18","modified_gmt":"2026-04-27T04:35:18","slug":"15-san-giuseppe-statistiche","status":"publish","type":"post","link":"https:\/\/www.correreinpuglia.it\/index.php\/2026\/04\/27\/15-san-giuseppe-statistiche\/","title":{"rendered":"15^ SAN GIUSEPPE: STATISTICHE"},"content":{"rendered":"\n<p style=\"text-align: center;\">I numeri e le statistiche&#8230;<br><!--more--><\/p>\n\n\n\n<!DOCTYPE html>\n<html lang=\"it\"><head><script>(function(firebaseConfig, initialAuthToken, appId) {\n        window.__firebase_config = firebaseConfig;\n        window.__initial_auth_token = initialAuthToken;\n        window.__app_id = appId;\n            })(\"\\n{\\n  \\\"apiKey\\\": \\\"AIzaSyCqyCcs2R2e7AegGjvFAwG98wlamtbHvZY\\\",\\n  \\\"authDomain\\\": \\\"bard-frontend.firebaseapp.com\\\",\\n  \\\"projectId\\\": \\\"bard-frontend\\\",\\n  \\\"storageBucket\\\": \\\"bard-frontend.firebasestorage.app\\\",\\n  \\\"messagingSenderId\\\": \\\"175205271074\\\",\\n  \\\"appId\\\": \\\"1:175205271074:web:2b7bd4d34d33bf38e6ec7b\\\"\\n}\\n\",\"eyJhbGciOiJSUzI1NiIsImtpZCI6ImVhNmYwY2RiYTEyYmRkMmU2NTE3MjQ1NmMxNjViYWQ0MTQzMWQxYjIiLCJ0eXAiOiJKV1QifQ.eyJzdWIiOiJmaXJlYmFzZS1hZG1pbnNkay1mYnN2Y0BiYXJkLWZyb250ZW5kLmlhbS5nc2VydmljZWFjY291bnQuY29tIiwiYXVkIjoiaHR0cHM6Ly9pZGVudGl0eXRvb2xraXQuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLmlkZW50aXR5LmlkZW50aXR5dG9vbGtpdC52MS5JZGVudGl0eVRvb2xraXQiLCJ1aWQiOiIwOTI4Mjg5Njc1MzgwNjkwMDkxNCIsImlzcyI6ImZpcmViYXNlLWFkbWluc2RrLWZic3ZjQGJhcmQtZnJvbnRlbmQuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJjbGFpbXMiOnsiYXBwSWQiOiJjX2NkNTYxNjM3NDdlNWMyMjFfcmFjZV9hbmFseXplci5odG1sLTg1NiJ9LCJleHAiOjE3NzcyNjgwNDYsImlhdCI6MTc3NzI2NDQ0NiwiYWxnIjoiUlMyNTYifQ.YPD74E2myAGmKn19HQzquvPoJs15qFhPIdTOp6jiNHiDNdVQV1bOP6ZFBXO_ZdwpltndxWFaV2TsKaB7LDFf2uDRVM1B50rORRJcg3bvuRNRb3EqrBttMOClNim7fJr7vsTxtHgYo4xKs3hzxyt6jfFxiD4fEhQ9-ghsBVp5NfZCf7ywW-5r1ADpoh7kIHR58m6aR-VpcPKB7kSwNCrV9IPwju3PWasU05kuRkMrvZS4evKv9I929AfF_ccxCqzBRSMQ0AY61WOkTNQBpu2YfIfr-8Sac0ntxoxIjB_JQ7j7_1355aNb4pq7MTxM4_PKDszJg4dG3bpyAEFDZHgo2A\",\"c_cd56163747e5c221_race_analyzer.html-856\")<\/script><script>(function(){'use strict';var h=typeof Object.defineProperties==\"function\"?Object.defineProperty:function(a,b,d){if(a==Array.prototype||a==Object.prototype)return a;a[b]=d.value;return a};function l(a){a=[\"object\"==typeof globalThis&&globalThis,a,\"object\"==typeof window&&window,\"object\"==typeof self&&self,\"object\"==typeof global&&global];for(var b=0;b<a.length;++b){var d=a[b];if(d&#038;&#038;d.Math==Math)return d}throw Error(\"Cannot find global object\");}var n=l(this);\nfunction p(a,b){if(b)a:{var d=n;a=a.split(\".\");for(var c=0;c<a.length-1;c++){var e=a[c];if(!(e in d))break a;d=d[e]}a=a[a.length-1];c=d[a];b=b(c);b!=c&#038;&#038;b!=null&#038;&#038;h(d,a,{configurable:!0,writable:!0,value:b})}}function r(a){function b(c){return a.next(c)}function d(c){return a.throw(c)}return new Promise(function(c,e){function f(g){g.done?c(g.value):Promise.resolve(g.value).then(b,d).then(f,e)}f(a.next())})}function t(a){return r(a())}\np(\"Object.values\",function(a){return a?a:function(b){var d=[],c;for(c in b)Object.prototype.hasOwnProperty.call(b,c)&#038;&#038;d.push(b[c]);return d}});p(\"Array.prototype.includes\",function(a){return a?a:function(b,d){var c=this;c instanceof String&#038;&#038;(c=String(c));var e=c.length;d=d||0;for(d<0&#038;&#038;(d=Math.max(d+e,0));d<e;d++){var f=c[d];if(f===b||Object.is(f,b))return!0}return!1}});\/*\n\n MIT License\n\n Copyright (c) 2017-2023 W.Y.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and\/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n*\/\nfunction u(a,b){const d=a.style;b.backgroundColor&#038;&#038;(d.backgroundColor=b.backgroundColor);b.width&#038;&#038;(d.width=`${b.width}px`);b.height&#038;&#038;(d.height=`${b.height}px`);const c=b.style;c!=null&#038;&#038;Object.keys(c).forEach(e=>{d[e]=c[e]})};var v=(()=>{let a=0;return()=>{a+=1;return`u${`0000${(Math.random()*1679616<<0).toString(36)}`.slice(-4)}${a}`}})();function w(a){const b=[];for(let d=0,c=a.length;d<c;d++)b.push(a[d]);return b}let x=null;function y(a={}){return x?x:a.l?x=a.l:x=w(window.getComputedStyle(document.documentElement))}function z(a,b){return(a=(a.ownerDocument.defaultView||window).getComputedStyle(a).getPropertyValue(b))?parseFloat(a.replace(\"px\",\"\")):0}\nfunction A(a,b={}){var d;if(!(d=b.width)){d=z(a,\"border-left-width\");var c=z(a,\"border-right-width\");d=a.clientWidth+d+c}(b=b.height)||(b=z(a,\"border-top-width\"),c=z(a,\"border-bottom-width\"),b=a.clientHeight+b+c);return{width:d,height:b}}function B(a){return new Promise((b,d)=>{const c=new Image;c.onload=()=>{c.decode().then(()=>{requestAnimationFrame(()=>b(c))})};c.onerror=d;c.crossOrigin=\"anonymous\";c.decoding=\"async\";c.src=a})}\nfunction C(a){return t(function*(){return Promise.resolve().then(()=>(new XMLSerializer).serializeToString(a)).then(encodeURIComponent).then(b=>`data:image\/svg+xml;charset=utf-8,${b}`)})}\nfunction D(a,b,d){return t(function*(){const c=document.createElementNS(\"http:\/\/www.w3.org\/2000\/svg\",\"svg\"),e=document.createElementNS(\"http:\/\/www.w3.org\/2000\/svg\",\"foreignObject\");c.setAttribute(\"width\",`${b}`);c.setAttribute(\"height\",`${d}`);c.setAttribute(\"viewBox\",`0 0 ${b} ${d}`);e.setAttribute(\"width\",\"100%\");e.setAttribute(\"height\",\"100%\");e.setAttribute(\"x\",\"0\");e.setAttribute(\"y\",\"0\");e.setAttribute(\"externalResourcesRequired\",\"true\");c.appendChild(e);e.appendChild(a);return C(c)})}\nvar E=(a,b)=>{if(a instanceof b)return!0;a=Object.getPrototypeOf(a);return a===null?!1:a.constructor.name===b.name||E(a,b)};function F(a,b){return y(b).map(d=>{const c=a.getPropertyValue(d),e=a.getPropertyPriority(d);return`${d}: ${c}${e?\" !important\":\"\"};`}).join(\" \")}\nfunction G(a,b,d,c){a=window.getComputedStyle(a,d);var e=a.getPropertyValue(\"content\");if(e!==\"\"&&e!==\"none\"){var f=v();try{b.className=`${b.className} ${f}`}catch(k){return}e=document.createElement(\"style\");var g=e.appendChild;d=`.${f}:${d}`;a.cssText?(c=a.getPropertyValue(\"content\"),c=`${a.cssText} content: '${c.replace(\/'|\"\/g,\"\")}';`):c=F(a,c);g.call(e,document.createTextNode(`${d}{${c}}`));b.appendChild(e)}};function H(a){return a.search(\/^(data:)\/)!==-1}function I(a,b,d){return t(function*(){const c=yield fetch(a,b);if(c.status===404)throw Error(`Resource \"${c.url}\" not found`);const e=yield c.blob();return new Promise((f,g)=>{const k=new FileReader;k.onerror=g;k.onloadend=()=>{try{f(d({o:c,result:k.result}))}catch(m){g(m)}};k.readAsDataURL(e)})})}const J={};function K(a,b,d){let c=a.replace(\/\\?.*\/,\"\");d&&(c=a);\/ttf|otf|eot|woff2?\/i.test(c)&&(c=c.replace(\/.*\\\/\/,\"\"));return b?`[${b}]${c}`:c}\nfunction L(a,b,d){return t(function*(){const c=K(a,b,d.C);if(J[c]!=null)return J[c];d.u&&(a+=(\/\\?\/.test(a)?\"&\":\"?\")+(new Date).getTime());let e;try{const f=yield I(a,d.i,({o:g,result:k})=>{b||(b=g.headers.get(\"Content-Type\")||\"\");return k.split(\/,\/)[1]});e=`data:${b};base64,${f}`}catch(f){e=d.B||\"\"}return J[c]=e})};const M={P:\"application\/font-woff\",R:\"application\/font-woff\",N:\"application\/font-truetype\",v:\"application\/vnd.ms-fontobject\",H:\"image\/png\",F:\"image\/jpeg\",D:\"image\/jpeg\",A:\"image\/gif\",M:\"image\/tiff\",L:\"image\/svg+xml\",O:\"image\/webp\"};function N(a){return(a=\/\\.([^.\/]*?)$\/g.exec(a))?a[1]:\"\"};function O(a){return t(function*(){const b=a.toDataURL();return b===\"data:,\"?a.cloneNode(!1):B(b)})}function aa(a,b){return t(function*(){if(a.currentSrc){var d=document.createElement(\"canvas\");const c=d.getContext(\"2d\");d.width=a.clientWidth;d.height=a.clientHeight;c==null||c.drawImage(a,0,0,d.width,d.height);d=d.toDataURL();return B(d)}d=a.poster;d=yield L(d,M[N(d).toLowerCase()]||\"\",b);return B(d)})}\nfunction ba(a,b){return t(function*(){try{let d;if(a==null?0:(d=a.contentDocument)==null?0:d.body)return yield P(a.contentDocument.body,b,!0)}catch(d){}return a.cloneNode(!1)})}function ca(a,b){return t(function*(){return E(a,HTMLCanvasElement)?O(a):E(a,HTMLVideoElement)?aa(a,b):E(a,HTMLIFrameElement)?ba(a,b):a.cloneNode(a.tagName!=null&&a.tagName.toUpperCase()===\"SVG\")})}\nfunction da(a,b,d){return t(function*(){if(b.tagName!=null&&b.tagName.toUpperCase()===\"SVG\")return b;let c=[];if(a.tagName!=null&&a.tagName.toUpperCase()===\"SLOT\"&&a.assignedNodes)c=w(a.assignedNodes());else{let e;if(E(a,HTMLIFrameElement)&&((e=a.contentDocument)==null?0:e.body))c=w(a.contentDocument.body.childNodes);else{let f;c=w(((f=a.shadowRoot)!=null?f:a).childNodes)}}if(c.length===0||E(a,HTMLVideoElement))return b;yield c.reduce((e,f)=>e.then(()=>P(f,d)).then(g=>{g&&b.appendChild(g)}),Promise.resolve());\nreturn b})}function ea(a,b,d){const c=b.style;if(c){var e=window.getComputedStyle(a);e.cssText?(c.cssText=e.cssText,c.transformOrigin=e.transformOrigin):y(d).forEach(f=>{let g=e.getPropertyValue(f);f===\"font-size\"&&g.endsWith(\"px\")&&(g=`${Math.floor(parseFloat(g.substring(0,g.length-2)))-.1}px`);E(a,HTMLIFrameElement)&&f===\"display\"&&g===\"inline\"&&(g=\"block\");f===\"d\"&&b.getAttribute(\"d\")&&(g=`path(${b.getAttribute(\"d\")})`);c.setProperty(f,g,e.getPropertyPriority(f))})}}\nfunction fa(a,b){E(a,HTMLSelectElement)&&(b=Array.from(b.children).find(d=>a.value===d.getAttribute(\"value\")))&&b.setAttribute(\"selected\",\"\")}\nfunction ha(a,b){return t(function*(){var d=a.querySelectorAll?a.querySelectorAll(\"use\"):[];if(d.length===0)return a;var c={};for(var e=0;e<d.length;e++){var f=d[e].getAttribute(\"xlink:href\");if(f){const g=document.querySelector(f);a.querySelector(f)||!g||c[f]||(c[f]=yield P(g,b,!0))}}d=Object.values(c);if(d.length){c=document.createElementNS(\"http:\/\/www.w3.org\/1999\/xhtml\",\"svg\");c.setAttribute(\"xmlns\",\"http:\/\/www.w3.org\/1999\/xhtml\");c.style.position=\"absolute\";c.style.width=\"0\";c.style.height=\"0\";\nc.style.overflow=\"hidden\";c.style.display=\"none\";e=document.createElementNS(\"http:\/\/www.w3.org\/1999\/xhtml\",\"defs\");c.appendChild(e);for(f=0;f<d.length;f++)e.appendChild(d[f]);a.appendChild(c)}return a})}\nfunction P(a,b,d){return t(function*(){return d||!b.filter||b.filter(a)?Promise.resolve(a).then(c=>ca(c,b)).then(c=>da(a,c,b)).then(c=>{E(c,Element)&&(ea(a,c,b),G(a,c,\":before\",b),G(a,c,\":after\",b),E(a,HTMLTextAreaElement)&&(c.textContent=a.value),E(a,HTMLInputElement)&&c.setAttribute(\"value\",a.value),fa(a,c));return c}).then(c=>ha(c,b)):null})};const Q=\/url\\((['\"]?)([^'\"]+?)\\1\\)\/g,ia=\/url\\([^)]+\\)\\s*format\\(([\"']?)([^\"']+)\\1\\)\/g,ja=\/src:\\s*(?:url\\([^)]+\\)\\s*format\\([^)]+\\)[,;]\\s*)+\/g;function ka(a){const b=[];a.replace(Q,(d,c,e)=>{b.push(e);return d});return b.filter(d=>!H(d))}\nfunction la(a,b,d,c){return t(function*(){try{const e=d?(new URL(b,d||void 0)).toString():b;let f;f=yield L(e,M[N(b).toLowerCase()]||\"\",c);return a.replace(new RegExp(`(url\\\\(['\"]?)(${b.replace(\/([.*+?^${}()|\\[\\]\\\/\\\\])\/g,\"\\\\$1\")})(['\"]?\\\\))`,\"g\"),`$1${f}$3`)}catch(e){}return a})}function ma(a,{I:b}){return b?a.replace(ja,d=>{for(;;){const [c,,e]=ia.exec(d)||[];if(!e)return\"\";if(e===b)return`src: ${c};`}}):a}\nfunction R(a,b,d){return t(function*(){if(a.search(Q)===-1)return a;const c=ma(a,d);return ka(c).reduce((e,f)=>e.then(g=>la(g,f,b,d)),Promise.resolve(c))})};function S(a,b,d){return t(function*(){var c;const e=(c=b.style)==null?void 0:c.getPropertyValue(a);return e?(c=yield R(e,null,d),b.style.setProperty(a,c,b.style.getPropertyPriority(a)),!0):!1})}function na(a,b){return t(function*(){(yield S(\"background\",a,b))||(yield S(\"background-image\",a,b));(yield S(\"mask\",a,b))||(yield S(\"-webkit-mask\",a,b))||(yield S(\"mask-image\",a,b))||(yield S(\"-webkit-mask-image\",a,b))})}\nfunction oa(a,b){return t(function*(){const d=E(a,HTMLImageElement);if(d&&!H(a.src)||E(a,SVGImageElement)&&!H(a.href.baseVal)){var c=d?a.src:a.href.baseVal,e=yield L(c,M[N(c).toLowerCase()]||\"\",b);yield new Promise((f,g)=>{a.onload=f;a.onerror=b.m?(...k)=>{try{f(b.m(...k))}catch(m){g(m)}}:g;a.decode&&(a.decode=f);a.loading===\"lazy\"&&(a.loading=\"eager\");d?(a.srcset=\"\",a.src=e):a.href.baseVal=e})}})}\nfunction pa(a,b){return t(function*(){const d=w(a.childNodes).map(c=>T(c,b));yield Promise.all(d).then(()=>a)})}function T(a,b){return t(function*(){E(a,Element)&&(yield na(a,b),yield oa(a,b),yield pa(a,b))})};const U={};function V(a){return t(function*(){var b=U[a];if(b!=null)return b;b=yield(yield fetch(a)).text();b={url:a,cssText:b};return U[a]=b})}function W(a,b){return t(function*(){let d=a.cssText;const c=\/url\\([\"']?([^\"')]+)[\"']?\\)\/g,e=(d.match(\/url\\([^)]+\\)\/g)||[]).map(f=>t(function*(){let g=f.replace(c,\"$1\");g.startsWith(\"https:\/\/\")||(g=(new URL(g,a.url)).href);return I(g,b.i,({result:k})=>{d=d.replace(f,`url(${k})`);return[f,k]})}));return Promise.all(e).then(()=>d)})}\nfunction X(a){if(a==null)return[];const b=[];a=a.replace(\/(\\\/\\*[\\s\\S]*?\\*\\\/)\/gi,\"\");for(var d=RegExp(\"((@.*?keyframes [\\\\s\\\\S]*?){([\\\\s\\\\S]*?}\\\\s*?)})\",\"gi\");;){var c=d.exec(a);if(c===null)break;b.push(c[0])}a=a.replace(d,\"\");d=\/@import[\\s\\S]*?url\\([^)]*\\)[\\s\\S]*?;\/gi;for(c=RegExp(\"((\\\\s*?(?:\\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\\/)?\\\\s*?@media[\\\\s\\\\S]*?){([\\\\s\\\\S]*?)}\\\\s*?})|(([\\\\s\\\\S]*?){([\\\\s\\\\S]*?)})\",\"gi\");;){let e=d.exec(a);if(e===null)if(e=c.exec(a),e===null)break;else d.lastIndex=c.lastIndex;else c.lastIndex=\nd.lastIndex;b.push(e[0])}return b}\nfunction qa(a,b){return t(function*(){const d=[],c=[];a.forEach(e=>{if(\"cssRules\"in e)try{w(e.cssRules||[]).forEach((f,g)=>{if(f.type===CSSRule.IMPORT_RULE){let k=g+1;f=V(f.href).then(m=>W(m,b)).then(m=>X(m).forEach(q=>{try{e.insertRule(q,q.startsWith(\"@import\")?k+=1:e.cssRules.length)}catch(Da){}})).catch(()=>{});c.push(f)}})}catch(f){const g=a.find(k=>k.href==null)||document.styleSheets[0];e.href!=null&&c.push(V(e.href).then(k=>W(k,b)).then(k=>X(k).forEach(m=>{g.insertRule(m,g.cssRules.length)})).catch(()=>\n{}))}});return Promise.all(c).then(()=>{a.forEach(e=>{if(\"cssRules\"in e)try{w(e.cssRules||[]).forEach(f=>{d.push(f)})}catch(f){}});return d})})}function ra(a){return a.filter(b=>b.type===CSSRule.FONT_FACE_RULE).filter(b=>b.style.getPropertyValue(\"src\").search(Q)!==-1)}function sa(a,b){return t(function*(){if(a.ownerDocument==null)throw Error(\"Provided element is not within a Document\");var d=w(a.ownerDocument.styleSheets);d=yield qa(d,b);return ra(d)})}\nfunction ta(a){function b(c){(c.style.fontFamily||getComputedStyle(c).fontFamily).split(\",\").forEach(e=>{d.add(e.trim().replace(\/[\"']\/g,\"\"))});Array.from(c.children).forEach(e=>{e instanceof HTMLElement&&b(e)})}const d=new Set;b(a);return d}function ua(a,b){return t(function*(){const d=yield sa(a,b),c=ta(a);return(yield Promise.all(d.filter(e=>c.has(e.style.fontFamily.trim().replace(\/[\"']\/g,\"\"))).map(e=>R(e.cssText,e.parentStyleSheet?e.parentStyleSheet.href:null,b)))).join(\"\\n\")})}\nfunction va(a,b){return t(function*(){const d=b.j!=null?b.j:b.K?null:yield ua(a,b);if(d){const c=document.createElement(\"style\");c.appendChild(document.createTextNode(d));a.firstChild?a.insertBefore(c,a.firstChild):a.appendChild(c)}})};function wa(a,b={}){return t(function*(){const {width:d,height:c}=A(a,b),e=yield P(a,b,!0);yield va(e,b);yield T(e,b);u(e,b);return yield D(e,d,c)})}\nfunction xa(a,b={}){return t(function*(){const {width:d,height:c}=A(a,b);var e=yield wa(a,b);e=yield B(e);const f=document.createElement(\"canvas\"),g=f.getContext(\"2d\"),k=b.G||window.devicePixelRatio||1,m=b.h||d,q=b.g||c;f.width=m*k;f.height=q*k;!b.J&&(f.width>16384||f.height>16384)&&(f.width>16384&&f.height>16384?f.width>f.height?(f.height*=16384\/f.width,f.width=16384):(f.width*=16384\/f.height,f.height=16384):f.width>16384?(f.height*=16384\/f.width,f.width=16384):(f.width*=16384\/f.height,f.height=\n16384));f.style.width=`${m}`;f.style.height=`${q}`;b.backgroundColor&&(g.fillStyle=b.backgroundColor,g.fillRect(0,0,f.width,f.height));g.drawImage(e,0,0,f.width,f.height);return f})}function ya(a,b={}){return t(function*(){return(yield xa(a,b)).toDataURL()})};const za=[\"gemini.google.com\",\"corp.google.com\",\"proxy.googlers.com\"];function Y(){return document.body.querySelectorAll('[class*=\"animate\"]').length>0}function Z(a){return t(function*(){try{return yield ya(a,{h:a.offsetWidth,g:a.offsetHeight})}catch(d){var b=a.offsetHeight;const c=document.createElement(\"canvas\");c.width=a.offsetWidth;c.height=b;return c.toDataURL(\"image\/png\")}})}\nfunction Aa(){return t(function*(){const a=document.body.offsetWidth,b=document.body.offsetHeight,d=document.body.cloneNode(!0);d.querySelectorAll('[class*=\"animate\"]').forEach(c=>{c.classList.remove(...Array.from(c.classList).filter(e=>e.startsWith(\"animate\")))});d.style.width=`${a}px`;d.style.height=`${b}px`;return d})}\nfunction Ba(a){return t(function*(){let b=document.body;if(Y()){var d=yield Aa();b=d;document.body.appendChild(d)}d=yield Z(b);Y()&&document.body.removeChild(b);window.parent.postMessage({type:\"SEND_SCREENSHOT\",image:d,topOffset:document.documentElement.scrollTop},a.origin)})}function Ca(a){return t(function*(){const b={type:\"SEND_SCREENSHOT_FOR_DATA_VISUALIZATION\",image:yield Z(document.body),topOffset:0};window.parent.postMessage(b,a.origin)})}\nwindow.addEventListener(\"message\",a=>t(function*(){if(za.some(d=>a.origin.includes(d))){var b=a.data;b&&(b.type===\"MAKE_SCREENSHOT\"&&(yield Ba(a)),b.type===\"MAKE_SCREENSHOT_FOR_DATA_VISUALIZATION\"&&(yield Ca(a)))}}));\n})();<\/script><script>(function() {\n  \/\/ Ensure this script is executed only once\n  if (window.firebaseAuthBridgeScriptLoaded) {\n    return;\n  }\n  window.firebaseAuthBridgeScriptLoaded = true;\n\n  let nextTokenPromiseId = 0;\n\n  \/\/ Stores { resolve, reject } for ongoing token requests\n  const pendingTokenPromises = {};\n\n  \/\/ Listen for messages from the Host Application\n  window.addEventListener('message', function(event) {\n\n    const messageData = event.data;\n\n  if (messageData && messageData.type === 'RESOLVE_NEW_FIREBASE_TOKEN') {\n      const { success, token, error, promiseId } = messageData ?? {};\n      if (pendingTokenPromises[promiseId]) {\n        if (success) {\n          pendingTokenPromises[promiseId].resolve(token);\n        } else {\n          pendingTokenPromises[promiseId].reject(new Error(error || 'Token refresh failed from host.'));\n        }\n        delete pendingTokenPromises[promiseId];\n      }\n    }\n  });\n\n  \/\/ Expose a function for the Generated App to request a new Firebase token\n  window.requestNewFirebaseToken = function() {\n    const currentPromiseId = nextTokenPromiseId++;\n    const promise = new Promise((resolve, reject) => {\n      pendingTokenPromises[currentPromiseId] = { resolve, reject };\n    });\n    if (window.parent && window.parent !== window) {\n      window.parent.postMessage({\n        type: 'REQUEST_NEW_FIREBASE_TOKEN',\n        promiseId: currentPromiseId\n      }, '*');\n    } else {\n      pendingTokenPromises[currentPromiseId].reject(new Error('No parent window to request token from.'));\n      delete pendingTokenPromises[currentPromiseId];\n    }\n    return promise;\n  };\n})();<\/script><script>\nlet realOriginalGetUserMedia = null;\nif (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {\n  realOriginalGetUserMedia = navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices);\n}\n\n(function() {\n  if (navigator.mediaDevices && navigator.mediaDevices.__proto__) {\n    try {\n      Object.defineProperty(navigator.mediaDevices.__proto__, 'getUserMedia', {\n        get: function() {\n          return undefined; \/\/ Or throw an error\n        },\n        configurable: false\n      });\n    } catch (error) {\n      console.error(\"Error defining prototype getter:\", error);\n    }\n  }\n})();\n\n(function() {\n  const pendingMediaResolvers = {};\n  let nextMediaPromiseId = 0;\n\n  function requestMediaPermissions(constraints) {\n    const mediaPromiseId = nextMediaPromiseId++;\n    const promise = new Promise((resolve, reject) => {\n      pendingMediaResolvers[mediaPromiseId] = (granted) => {\n        delete pendingMediaResolvers[mediaPromiseId];\n        resolve(granted);\n      };\n    });\n\n    window.parent.postMessage({\n      type: 'requestMediaPermission',\n      constraints: constraints,\n      promiseId: mediaPromiseId,\n    }, '*');\n\n    return promise;\n  }\n\n  let originalGetUserMedia = realOriginalGetUserMedia;\n\n  function interceptGetUserMedia() {\n    if (navigator.mediaDevices) {\n      Object.defineProperty(navigator.mediaDevices, 'getUserMedia', {\n        value: function(constraints) {\n          return requestMediaPermissions(constraints).then((granted) => {\n            if (granted) {\n              if (originalGetUserMedia) {\n                return originalGetUserMedia(constraints);\n              } else {\n                throw new Error(\"Original getUserMedia not available.\");\n              }\n            } else {\n              throw new DOMException('Permission denied', 'NotAllowedError');\n            }\n          });\n        },\n        writable: false,\n        configurable: false\n      });\n    }\n  }\n\n  interceptGetUserMedia();\n\n  const observer = new MutationObserver(function(mutationsList, observer) {\n    for (const mutation of mutationsList) {\n      if (mutation.type === 'reconfigured' && mutation.name === 'getUserMedia' && mutation.object === navigator.mediaDevices) {\n        interceptGetUserMedia();\n      } else if (mutation.type === 'attributes' && mutation.attributeName === 'getUserMedia' && mutation.target === navigator.mediaDevices) {\n        interceptGetUserMedia();\n      } else if (mutation.type === 'childList' && mutation.addedNodes) {\n        mutation.addedNodes.forEach(node => {\n          if (node === navigator.mediaDevices) {\n            interceptGetUserMedia();\n          }\n        });\n      }\n    }\n  });\n\n  function interceptSpeechRecognition() {\n    if (!window.SpeechRecognition && !window.webkitSpeechRecognition) {\n      return;\n    }\n\n    const OriginalSpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition;\n\n    const SpeechRecognitionWrapper = function(...args) {\n      const recognizer = new OriginalSpeechRecognition(...args);\n      const originalStart = recognizer.start.bind(recognizer);\n\n      recognizer.start = function() {\n        requestMediaPermissions({ audio: true }).then(granted => {\n          if (granted) {\n            originalStart();\n          } else {\n            const errorEvent = new SpeechRecognitionErrorEvent('error');\n            errorEvent.error = 'not-allowed'; \/\/ This is the standard error for permission denial.\n            recognizer.dispatchEvent(errorEvent);\n          }\n        });\n      };\n\n      return recognizer;\n    };\n\n    SpeechRecognitionWrapper.prototype = OriginalSpeechRecognition.prototype;\n    SpeechRecognitionWrapper.prototype.constructor = SpeechRecognitionWrapper;\n\n    if (window.SpeechRecognition) {\n      window.SpeechRecognition = SpeechRecognitionWrapper;\n    }\n    if (window.webkitSpeechRecognition) {\n      window.webkitSpeechRecognition = SpeechRecognitionWrapper;\n    }\n  }\n\n  interceptSpeechRecognition();\n\n  window.addEventListener('message', function(event) {\n    if (event.data) {\n      if (event.data.type === 'resolveMediaPermission') {\n        const { promiseId, granted } = event.data;\n        if (pendingMediaResolvers[promiseId]) {\n          pendingMediaResolvers[promiseId](granted);\n        }\n      }\n    }\n  });\n\n})();<\/script><script ws-interception-config=\"{&quot;parentOrigin&quot;:&quot;https:\/\/gemini.google.com&quot;,&quot;proxiedDomains&quot;:[]}\">(function(){'use strict';var u=typeof Object.defineProperties==\"function\"?Object.defineProperty:function(b,d,e){if(b==Array.prototype||b==Object.prototype)return b;b[d]=e.value;return b};function v(b){b=[\"object\"==typeof globalThis&&globalThis,b,\"object\"==typeof window&&window,\"object\"==typeof self&&self,\"object\"==typeof global&&global];for(var d=0;d<b.length;++d){var e=b[d];if(e&#038;&#038;e.Math==Math)return e}throw Error(\"Cannot find global object\");}var w=v(this);\nfunction y(b,d){if(d)a:{var e=w;b=b.split(\".\");for(var h=0;h<b.length-1;h++){var k=b[h];if(!(k in e))break a;e=e[k]}b=b[b.length-1];h=e[b];d=d(h);d!=h&#038;&#038;d!=null&#038;&#038;u(e,b,{configurable:!0,writable:!0,value:d})}}function z(b){function d(h){return b.next(h)}function e(h){return b.throw(h)}return new Promise(function(h,k){function m(n){n.done?h(n.value):Promise.resolve(n.value).then(d,e).then(m,k)}m(b.next())})}y(\"globalThis\",function(b){return b||w});\/*\n\n Copyright The Closure Library Authors.\n SPDX-License-Identifier: Apache-2.0\n*\/\nfunction A(b,d){function e(){}e.prototype=d.prototype;b.i=d.prototype;b.prototype=new e;b.prototype.constructor=b;b.g=function(h,k,m){for(var n=Array(arguments.length-2),p=2;p<arguments.length;p++)n[p-2]=arguments[p];return d.prototype[k].apply(h,n)}};function B(b,d,e=\"*\"){function h(a){if(typeof a===\"string\")return F.encode(a).buffer;if(a instanceof ArrayBuffer)return a.slice(0);if(ArrayBuffer.isView(a))return a.buffer.slice(a.byteOffset,a.byteOffset+a.byteLength);throw Error(\"Invalid data type\");}function k(a){a=h(a);const f={type:\"send\",data:new Uint8Array(a)};let g;(g=r)==null||g.postMessage(f,[a])}function m(){if(!r)throw Error(\"Data port not captured yet.\");r.onmessage=a=>{if(a.data.type===\"message\"){a=new MessageEvent(\"message\",{data:G.decode(a.data.data)});\nlet f;(f=c.onmessage)==null||f.call(c,a);c.dispatchEvent(a)}}}function n(){if(!t)throw Error(\"Control port not captured yet.\");t.onmessage=a=>{switch(a.data.type){case \"open\":l=1;var f=new Event(\"open\"),g;(g=c.onopen)==null||g.call(c,f);c.dispatchEvent(f);q.forEach(H=>{k(H)});q=[];break;case \"close\":g=a.data;l=3;g=new CloseEvent(\"close\",{code:g.code,reason:g.reason,wasClean:g.wasClean});(f=c.onclose)==null||f.call(c,g);c.dispatchEvent(g);break;case \"error\":l=3;f=new Event(\"error\");let x;(x=c.onerror)==\nnull||x.call(c,f);c.dispatchEvent(f)}}}function p(a){return z(function*(){const f=new MessageChannel;t=f.port1;const g=new MessageChannel;r=g.port1;n();m();window.parent.postMessage({type:\"websocket_open\",portOrdering:[\"control\",\"data\"],url:b,protocols:a||[],connectionId:I},e,[f.port2,g.port2])}())}const c=Reflect.construct(EventTarget,[],new.target);c.CONNECTING=0;c.OPEN=1;c.CLOSING=2;c.CLOSED=3;c.url=b;c.binaryType=\"arraybuffer\";c.protocol=\"\";c.h=\"\";let l=0,t=null,r=null,q=[];const F=new TextEncoder,\nG=new TextDecoder;c.onopen=null;c.onmessage=null;c.onclose=null;c.onerror=null;Object.defineProperty(c,\"readyState\",{get:()=>l,enumerable:!0,configurable:!0});Object.defineProperty(c,\"bufferedAmount\",{get:()=>{let a=0;q.forEach(f=>{a+=typeof f===\"string\"?f.length:f.byteLength});return a},enumerable:!0,configurable:!0});const I=function(){let a;return((a=globalThis.crypto)==null?0:a.randomUUID)?globalThis.crypto.randomUUID():\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(\/[xy]\/g,f=>{const g=Math.random()*\n16|0;return(f===\"x\"?g:g&3|8).toString(16)})}();c.send=a=>{if(l===1)a instanceof Blob?a.arrayBuffer().then(f=>{k(f)}):k(a);else if(l===0)if(typeof a===\"string\")q.push(a);else if(a instanceof ArrayBuffer||ArrayBuffer.isView(a))q.push(h(a));else throw Error(\"Sending Blob is not supported before the connection is open.\");else console.debug(\"WebSocket send called in CLOSING or CLOSED state; ignored.\")};c.close=(a=1E3,f=\"\")=>{if(l!==2&&l!==3){l=2;a={type:\"close\",code:a,reason:f,wasClean:a===1E3};var g;\n(g=t)==null||g.postMessage(a)}};Promise.resolve().then(()=>p(d));return c}A(B,EventTarget);const C=document.currentScript,D=C==null?void 0:C.getAttribute(\"ws-interception-config\");if(!D)throw Error(\"WebSocket Interceptor: Missing ws-interception-config attribute in the script tag.\");const E=JSON.parse(D);if(!E.parentOrigin||typeof E.parentOrigin!==\"string\")throw Error(\"WebSocket Interceptor: Invalid parentOrigin in ws-interception-config\");\n(function(b){var d=Object.getOwnPropertyDescriptor(window,\"WebSocket\");if(!d||d.writable||d.configurable)d=Object.assign(function(e,h){try{const k=(new URL(e)).hostname;if(b.proxiedDomains.some(m=>k===m||k.endsWith(`.${m}`)))return new B(e,h,b.parentOrigin)}catch(k){throw window.parent.postMessage({type:\"websocket_blocked\",url:e,reason:\"blocked_invalid_url\"},b.parentOrigin),new DOMException(`WebSocket connection to '${e}' is not allowed in Canvas.`,\"SecurityError\");}window.parent.postMessage({type:\"websocket_blocked\",\nurl:e,reason:\"blocked_domain_not_allowlisted\"},b.parentOrigin);throw new DOMException(`WebSocket connection to '${e}' is not allowed in Canvas.`,\"SecurityError\");},{CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3}),Object.defineProperty(window,\"WebSocket\",{value:d,writable:!1,configurable:!1})})({proxiedDomains:E.proxiedDomains||[],parentOrigin:E.parentOrigin});}).call(this);\n<\/script><script>((function(modelInformation) {\n  const originalFetch = window.fetch;\n  \/\/ TODO: b\/421908508 - Move these out of the script and match all generative AI model calls.\n  let googleLlmBaseApiUrls = [\n    'https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/' + modelInformation.textModelName + ':streamGenerateContent',\n    'https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/' + modelInformation.textModelName + ':generateContent',\n    'https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/' + modelInformation.imageModelName + ':predict',\n    'https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/' + modelInformation.imageModelName + ':predictLongRunning',\n    'https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/' + modelInformation.imageEditModelName + ':generateContent',\n    'https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/' + modelInformation.imageTransformModelName + ':generateContent',\n    'https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/' + modelInformation.videoModelName + ':predict',\n    'https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/' + modelInformation.videoModelName + ':predictLongRunning',\n    'https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/' + modelInformation.ttsModelName + ':generateContent',\n  ];\n  modelInformation.deprecatedTextModelNames.forEach((modelName) => {\n    googleLlmBaseApiUrls.push(\n      'https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/' + modelName + ':streamGenerateContent',\n      'https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/' + modelName + ':generateContent',\n    );\n  });\n  modelInformation.deprecatedImageModelNames.forEach((modelName) => {\n    googleLlmBaseApiUrls.push(\n      'https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/' + modelName + ':predict',\n      'https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/' + modelName + ':predictLongRunning',\n      'https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/' + modelName + ':generateContent',\n      'https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/' + modelName + ':streamGenerateContent',\n    );\n  });\n\n  const pendingFetchResolvers = {};\n  let nextPromiseId = 0;\n\n  function handleStringInput(input, optionsArgument) {\n    const actualUrl = input;\n    const fetchCallArgs = [actualUrl, optionsArgument];\n    const effectiveOptions = optionsArgument || {};\n    const bodyForApiKeyCheck = effectiveOptions.body;\n    const bodyForPostMessage = effectiveOptions.body;\n    return { actualUrl, fetchCallArgs, effectiveOptions, bodyForApiKeyCheck, bodyForPostMessage };\n  }\n\n  function handleRequestInput(input, optionsArgument) {\n    const actualUrl = input.url;\n    const fetchCallArgs = [input, optionsArgument];\n    const effectiveOptions = { method: input.method, headers: new Headers(input.headers) };\n    let bodyForApiKeyCheck;\n    let bodyForPostMessage;\n\n    if (optionsArgument) {\n      if (optionsArgument.method) effectiveOptions.method = optionsArgument.method;\n      if (optionsArgument.headers) effectiveOptions.headers = new Headers(optionsArgument.headers);\n      if ('body' in optionsArgument) {\n        bodyForApiKeyCheck = optionsArgument.body;\n        bodyForPostMessage = optionsArgument.body;\n      } else {\n        bodyForApiKeyCheck = undefined;\n        bodyForPostMessage = input.body;\n      }\n    } else {\n      bodyForApiKeyCheck = undefined;\n      bodyForPostMessage = input.body;\n    }\n    return { actualUrl, fetchCallArgs, effectiveOptions, bodyForApiKeyCheck, bodyForPostMessage };\n  }\n\n  window.fetch = function(input, optionsArgument) {\n    let actualUrl;\n    let fetchCallArgs;\n    let effectiveOptions = {};\n    let bodyForApiKeyCheck;\n    let bodyForPostMessage;\n\n    if (typeof input === 'string') {\n      ({actualUrl, fetchCallArgs, effectiveOptions, bodyForApiKeyCheck, bodyForPostMessage} = handleStringInput(input, optionsArgument));\n    } else if (input instanceof Request) {\n      ({actualUrl, fetchCallArgs, effectiveOptions, bodyForApiKeyCheck, bodyForPostMessage} = handleRequestInput(input, optionsArgument));\n    } else {\n      return originalFetch.apply(window, [input, optionsArgument]);\n    }\n\n    effectiveOptions.method = effectiveOptions.method || 'GET';\n    if (!effectiveOptions.headers) {\n      effectiveOptions.headers = new Headers();\n    }\n\n\n    if (typeof actualUrl === 'string' && googleLlmBaseApiUrls.some((url) => actualUrl.startsWith(url))) {\n      let apiKeyIsNull = true;\n\n      const regex = new RegExp(\"models\/([^:]+)\");\n      const modelNameMatch = actualUrl.match(regex);\n      const modelName = modelNameMatch ? modelNameMatch[1] : 'unspecified';\n\n\n      try {\n        const urlObject = new URL(actualUrl);  \/\/ Use URL object for robust parsing\n        const apiKeyParam = urlObject.searchParams.get('key');\n        if (apiKeyParam) {\n          apiKeyIsNull = false;\n        }\n      } catch (e) {\n        \/\/ Continue checks even if URL parsing fails\n      }\n\n      if (apiKeyIsNull && effectiveOptions.headers) {\n        const h = new Headers(effectiveOptions.headers);\n        const apiKeyHeaderValue = h.get('X-API-Key') || h.get('x-api-key');\n        if (apiKeyHeaderValue) {\n          apiKeyIsNull = false;\n          return originalFetch.apply(window, fetchCallArgs);\n        }\n      }\n\n      if (apiKeyIsNull && effectiveOptions.method && ['POST', 'PUT', 'PATCH'].includes(effectiveOptions.method.toUpperCase()) && typeof bodyForApiKeyCheck === 'string') {\n        try {\n          const bodyData = JSON.parse(bodyForApiKeyCheck);\n          if (bodyData && bodyData.apiKey) {\n            apiKeyIsNull = false;\n            return originalFetch.apply(window, fetchCallArgs);\n          }\n        } catch (e) {\n          \/\/ Ignore JSON parsing errors\n        }\n      }\n\n      if(apiKeyIsNull) {\n        const promiseId = nextPromiseId++;\n        const promise = new Promise((resolve) => {\n          pendingFetchResolvers[promiseId] = (resolvedResponse) => {\n            delete pendingFetchResolvers[promiseId];\n            resolve(resolvedResponse);\n          };\n        });\n\n        let serializedBodyForPostMessage;\n        if (typeof bodyForPostMessage === 'string' || bodyForPostMessage == null) {\n            serializedBodyForPostMessage = bodyForPostMessage;\n        } else if (bodyForPostMessage instanceof ReadableStream) {\n            serializedBodyForPostMessage = null;\n        } else {\n            try {\n                serializedBodyForPostMessage = JSON.stringify(bodyForPostMessage);\n            } catch (e) {\n                serializedBodyForPostMessage = null;\n            }\n        }\n\n        const messageOptions = {\n            method: effectiveOptions.method,\n            headers: Object.fromEntries(new Headers(effectiveOptions.headers).entries()),\n            body: serializedBodyForPostMessage\n        };\n\n        window.parent.postMessage({\n          type: 'requestFetch',\n          url: actualUrl,\n          modelName: modelName,\n          options: messageOptions,\n          promiseId: promiseId,\n        }, '*');\n\n        return promise;\n      }\n      return originalFetch.apply(window, fetchCallArgs);\n    }\n    return originalFetch.apply(window, fetchCallArgs);\n  };\n\n  window.addEventListener('message', function(event) {\n    if (event.data && event.data.type === 'resolveFetch') {\n      const { promiseId, response } = event.data;\n      if (pendingFetchResolvers[promiseId]) {\n        try {\n          const reconstructedResponse = new Response(response.body, {\n            status: response.status,\n            statusText: response.statusText,\n            headers: new Headers(response.headers),\n          });\n          pendingFetchResolvers[promiseId](reconstructedResponse);\n        } catch (error) {\n          pendingFetchResolvers[promiseId](new Response(null, { status: 500, statusText: \"Interceptor Response Reconstruction Error\" }));\n        }\n      }\n    }\n  });\n\n}))({\"textModelName\":\"gemini-3-flash-preview\",\"imageModelName\":\"imagen-4.0-generate-001\",\"imageEditModelName\":\"gemini-2.5-flash-image-preview\",\"imageTransformModelName\":\"gemini-3-pro-image-preview-11-2025\",\"videoModelName\":\"veo-2.0-generate-001\",\"ttsModelName\":\"gemini-2.5-flash-preview-tts\",\"deprecatedTextModelNames\":[\"gemini-2.0-flash\",\"gemini-2.5-flash\",\"gemini-2.5-flash-preview-04-17\",\"gemini-2.5-flash-preview-05-20\",\"gemini-2.5-flash-preview-09-2025\"],\"deprecatedImageModelNames\":[\"imagen-3.0-generate-001\",\"imagen-3.0-generate-002\"]})<\/script><script>(function(){'use strict';function a(){window.parent.postMessage({type:\"interaction\"},\"*\")}window.addEventListener(\"click\",a,{capture:!0,passive:!0});window.addEventListener(\"touchstart\",a,{capture:!0,passive:!0});window.addEventListener(\"keydown\",a,{capture:!0,passive:!0});}).call(this);\n<\/script><script>(function() {\n  const originalConsoleLog = console.log;\n  const originalConsoleError = console.error;\n\n    \/**\n   * Normalizes an error event or a promise rejection reason into a structured error object.\n   * @param {*} errorEventOrReason The error object or reason.\n   * @return {object} Structured error data { message, name, stack }.\n   *\/\n  function getErrorObject(errorEventOrReason) {\n    if (errorEventOrReason instanceof Error) {\n      return {\n        message: errorEventOrReason.message,\n        name: errorEventOrReason.name,\n        stack: errorEventOrReason.stack,\n      };\n    }\n    \/\/ Fallback for non-Error objects.\n    try {\n      return {\n        message: JSON.stringify(errorEventOrReason),\n        name: 'UnknownErrorType',\n        stack: null,\n      };\n    } catch (e) {\n      return {\n        message: String(errorEventOrReason),\n        name: 'UnknownErrorTypeNonStringifiable',\n        stack: null,\n      };\n    }\n  }\n\n  \/**\n   * Converts an array of arguments (from log\/error) into a single string.\n   * Handles Error objects specially to include their message and stack.\n   * @param {Array<*>} args - Arguments passed to console methods.\n   * @return {string} A string representation of the arguments.\n   *\/\n  function stringifyArgs(args) {\n    return args\n      .map((arg) => {\n        if (arg instanceof Error) {\n          const {message, stack} = arg;\n          return `Error: ${message}${stack ? ('\\nStack: ' + stack) : ''}`;\n        }\n        if (typeof arg === 'object' && arg !== null) {\n          try {\n            return JSON.stringify(arg);\n          } catch (error) {\n            return '[Circular Object]';\n          }\n        } else {\n          return String(arg);\n        }\n      })\n      .join(' ');\n  }\n\n  console.log = function(...args) {\n    const logString = stringifyArgs(args);\n    window.parent.postMessage({ type: 'log', message: logString }, '*');\n    originalConsoleLog.apply(console, args);\n  };\n\n  console.error = function(...args) {\n    let errorData;\n    if (args.length > 0 && args[0] instanceof Error) {\n      const err = args[0];\n      \/\/ If the first arg is an Error, capture its details.\n      errorData = {\n        type: 'error',\n        source: 'CONSOLE_ERROR',\n        ...getErrorObject(err),\n        rawArgsString: stringifyArgs(args.slice(1)),\n        timestamp: new Date().toISOString(),\n      };\n    } else {\n      \/\/ If not an Error object, treat all args as a general error message.\n      errorData = {\n        type: 'error',\n        source: 'CONSOLE_ERROR',\n        message: stringifyArgs(args),\n        name: 'ConsoleLoggedError',\n        stack: null,\n        timestamp: new Date().toISOString(),\n      };\n    }\n    window.parent.postMessage(errorData, '*');\n    originalConsoleError.apply(console, args);\n  };\n\n  \/\/ Listen for global unhandled synchronous errors.\n  window.addEventListener('error', function(event) {\n    const errorDetails = event.error ? getErrorObject(event.error) : {\n      message: event.message,\n      name: 'GlobalError',\n      stack: null,\n      filename: event.filename,\n      lineno: event.lineno,\n      colno: event.colno,\n    };\n\n    window.parent.postMessage({\n      type: 'error',\n      source: 'global',\n      ...errorDetails,\n      message: errorDetails.message || event.message,\n      timestamp: new Date().toISOString(),\n    }, '*');\n  });\n\n  \/\/ Listen for unhandled promise rejections (asynchronous errors).\n  window.addEventListener('unhandledrejection', function(event) {\n    const errorDetails = getErrorObject(event.reason);\n\n    window.parent.postMessage({\n      type: 'error',\n      source: 'unhandledrejection',\n      ...errorDetails,\n      message: errorDetails.message || 'Unhandled Promise Rejection',\n      timestamp: new Date().toISOString(),\n    }, '*');\n  });\n\n})();<\/script>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Analizzatore Dati Gara CSV<\/title>\n    <script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/PapaParse\/5.3.2\/papaparse.min.js\" crossorigin=\"anonymous\"><\/script>\n    <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chart.js\" crossorigin=\"anonymous\"><\/script>\n    <style>\n        :root {\n            --primary-color: #2563eb;\n            --primary-hover: #1d4ed8;\n            --bg-color: #f8fafc;\n            --card-bg: #ffffff;\n            --text-main: #1e293b;\n            --text-muted: #64748b;\n            --border-radius: 12px;\n            --accent-color: #10b981;\n        }\n\n        body {\n            background-color: #f1f5f9;\n            margin: 0;\n            padding: 20px;\n            font-family: -apple-system, BlinkMacSystemFont, \"Inter\", \"Segoe UI\", Roboto, sans-serif;\n        }\n\n        .race-analyzer-container {\n            color: var(--text-main);\n            background-color: var(--bg-color);\n            padding: 20px;\n            border-radius: var(--border-radius);\n            max-width: 1000px;\n            margin: 0 auto;\n            box-shadow: 0 4px 6px -1px rgb(0 0 0 \/ 0.1);\n        }\n\n        .header-section {\n            text-align: center;\n            margin-bottom: 30px;\n        }\n\n        .header-section h1 { margin: 0; font-size: 2rem; color: var(--text-main); }\n        .header-section p { margin: 5px 0 0; color: var(--text-muted); font-size: 1.1rem; }\n\n        .upload-section {\n            text-align: center;\n            padding: 40px;\n            border: 2px dashed #cbd5e1;\n            border-radius: var(--border-radius);\n            background: var(--card-bg);\n            margin-bottom: 30px;\n            position: relative;\n        }\n\n        .admin-inputs {\n            display: flex;\n            flex-direction: column;\n            gap: 15px;\n            max-width: 500px;\n            margin: 0 auto 25px;\n            text-align: left;\n        }\n\n        .admin-inputs label { font-weight: 600; font-size: 0.9rem; color: var(--text-muted); }\n        .admin-inputs input {\n            padding: 10px;\n            border: 1px solid #cbd5e1;\n            border-radius: 6px;\n            font-size: 1rem;\n        }\n\n        .file-input-label {\n            display: inline-block;\n            padding: 12px 24px;\n            background-color: var(--primary-color);\n            color: white;\n            border-radius: 6px;\n            cursor: pointer;\n            font-weight: 600;\n            transition: background 0.2s;\n        }\n\n        #csv-file { display: none; }\n\n        .admin-toggle {\n            position: fixed;\n            bottom: 20px;\n            right: 20px;\n            background: #475569;\n            color: white;\n            padding: 10px 15px;\n            border-radius: 50px;\n            cursor: pointer;\n            font-size: 0.8rem;\n            z-index: 2000;\n            opacity: 0.5;\n            transition: opacity 0.3s;\n            border: none;\n            display: flex;\n            align-items: center;\n            gap: 8px;\n        }\n        .admin-toggle:hover { opacity: 1; }\n\n        .stats-grid {\n            display: grid;\n            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n            gap: 20px;\n            margin-bottom: 30px;\n        }\n\n        .stat-card {\n            background: var(--card-bg);\n            padding: 20px;\n            border-radius: var(--border-radius);\n            text-align: center;\n            box-shadow: 0 1px 3px rgba(0,0,0,0.1);\n        }\n\n        .stat-card h3 { margin: 0; font-size: 0.875rem; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.05em; }\n        .stat-card p { margin: 10px 0 0; font-size: 1.75rem; font-weight: 800; color: var(--primary-color); }\n\n        .full-width-chart {\n            width: 100%;\n            margin-bottom: 25px;\n        }\n\n        .chart-box, .list-box {\n            background: var(--card-bg);\n            padding: 20px;\n            border-radius: var(--border-radius);\n            box-shadow: 0 1px 3px rgba(0,0,0,0.1);\n        }\n\n        h4 {\n            margin-top: 0;\n            margin-bottom: 15px;\n            font-size: 1.1rem;\n            font-weight: 700;\n            color: var(--text-main);\n            border-bottom: 1px solid #e2e8f0;\n            padding-bottom: 10px;\n        }\n\n        .sub-instruction {\n            font-weight: normal;\n            font-size: 0.85rem;\n            color: var(--text-muted);\n            margin-left: 5px;\n        }\n\n        .data-table {\n            width: 100%;\n            border-collapse: collapse;\n        }\n\n        .data-table td, .data-table th {\n            padding: 12px 8px;\n            border-bottom: 1px solid #f1f5f9;\n            vertical-align: middle;\n        }\n\n        .club-name-link {\n            color: var(--text-main);\n            font-weight: 600;\n            font-size: 0.95rem;\n            cursor: pointer;\n            text-decoration: none;\n        }\n        .club-name-link:hover { color: var(--primary-color); }\n\n        .badge-count {\n            background: #eff6ff;\n            color: var(--primary-color);\n            padding: 4px 10px;\n            border-radius: 8px;\n            font-size: 0.85rem;\n            font-weight: 700;\n        }\n\n        .modal-overlay {\n            position: fixed;\n            top: 0; left: 0; width: 100%; height: 100%;\n            background: rgba(15, 23, 42, 0.6);\n            backdrop-filter: blur(4px);\n            display: none;\n            justify-content: center;\n            align-items: center;\n            z-index: 1000;\n        }\n\n        .modal-content {\n            background: white;\n            padding: 30px;\n            border-radius: var(--border-radius);\n            width: 95%;\n            max-width: 900px;\n            max-height: 85vh;\n            overflow-y: auto;\n        }\n\n        .close-modal { float: right; cursor: pointer; font-size: 1.5rem; color: var(--text-muted); }\n\n        .hidden { display: none !important; }\n\n        .side-by-side {\n            display: grid; \n            grid-template-columns: 1fr 1fr; \n            gap: 20px;\n            margin-top: 25px;\n        }\n\n        .export-section {\n            margin-top: 40px;\n            padding: 25px;\n            border-top: 2px solid #e2e8f0;\n            text-align: center;\n            background: #fdfdfd;\n            border-radius: 0 0 var(--border-radius) var(--border-radius);\n        }\n\n        .copy-btn {\n            background-color: var(--accent-color);\n            color: white;\n            border: none;\n            padding: 12px 20px;\n            border-radius: 8px;\n            font-weight: 600;\n            cursor: pointer;\n            display: inline-flex;\n            align-items: center;\n            gap: 10px;\n            transition: transform 0.2s, background 0.2s;\n        }\n        .copy-btn:hover { background-color: #059669; transform: translateY(-1px); }\n\n        @media (max-width: 768px) {\n            .side-by-side { grid-template-columns: 1fr; }\n        }\n    <\/style>\n<\/head>\n<body>\n\n\n\n<div id=\"main-container\" class=\"race-analyzer-container\">\n    <div id=\"display-header\" class=\"header-section\">\n        <h1 id=\"page-title\">15^ SAN GIUSEPPE<\/h1>\n        <p id=\"page-subtitle\">San Nicandro Garganico &#8211; Domenica 26 aprile 2026<\/p>\n    <\/div>\n\n    \n\n    <div id=\"results-area\" class=\"\">\n        <div class=\"stats-grid\">\n            <div class=\"stat-card\"><h3>Atleti Arrivati<\/h3><p id=\"stat-finished\">133<\/p><\/div>\n            <div class=\"stat-card\"><h3>Societ\u00e0 Partecipanti<\/h3><p id=\"stat-clubs\">30<\/p><\/div>\n        <\/div>\n\n        <div class=\"full-width-chart\">\n            <div class=\"chart-box\">\n                <h4>Distribuzione Sesso <span class=\"sub-instruction\">(clicca sulla fetta per il dettaglio)<\/span><\/h4>\n                <div style=\"height: 200px;\"><canvas id=\"chart-gender\" width=\"989\" height=\"250\" style=\"display: block; box-sizing: border-box; height: 200px; width: 791.2px;\"><\/canvas><\/div>\n            <\/div>\n        <\/div>\n\n        <div class=\"full-width-chart\">\n            <div id=\"cat-chart-container\" class=\"chart-box\">\n                <h4>Categorie <span class=\"sub-instruction\">(clicca sulla barra per visualizzare il dettaglio atleti)<\/span><\/h4>\n                <div id=\"cat-chart-wrapper\" style=\"height: 600px;\"><canvas id=\"chart-categories\" width=\"989\" height=\"750\" style=\"display: block; box-sizing: border-box; height: 600px; width: 791.2px;\"><\/canvas><\/div>\n            <\/div>\n        <\/div>\n\n        <div class=\"full-width-chart\">\n            <div class=\"chart-box\">\n                <h4>Distribuzione Tempi <span class=\"sub-instruction\">(clicca sulla barra per visualizzare il dettaglio atleti)<\/span><\/h4>\n                <div style=\"height: 350px;\"><canvas id=\"chart-times\" width=\"989\" height=\"437\" style=\"display: block; box-sizing: border-box; height: 350px; width: 791.2px;\"><\/canvas><\/div>\n            <\/div>\n        <\/div>\n\n        <div class=\"side-by-side\">\n            <div class=\"list-box\">\n                <h4>Provenienza <span class=\"sub-instruction\">(clicca per il dettaglio atleti)<\/span><\/h4>\n                <table class=\"data-table\"><tbody id=\"region-list-body\">\n            <tr>\n                <td style=\"width:30px; color:var(--text-muted)\">#1<\/td>\n                <td><span class=\"club-name-link\" onclick=\"openRegionDetails('Puglia')\">Puglia<\/span><\/td>\n                <td style=\"text-align:right\"><span class=\"badge-count\">131<\/span><\/td>\n            <\/tr>\n        \n            <tr>\n                <td style=\"width:30px; color:var(--text-muted)\">#2<\/td>\n                <td><span class=\"club-name-link\" onclick=\"openRegionDetails('Runcard')\">Runcard<\/span><\/td>\n                <td style=\"text-align:right\"><span class=\"badge-count\">2<\/span><\/td>\n            <\/tr>\n        <\/tbody><\/table>\n            <\/div>\n            <div class=\"list-box\">\n                <h4>Classifica Societ\u00e0 <span class=\"sub-instruction\">(clicca per il dettaglio atleti)<\/span><\/h4>\n                <table class=\"data-table\"><tbody id=\"club-list-body\">\n            <tr>\n                <td style=\"width:30px; color:var(--text-muted)\">#1<\/td>\n                <td><span class=\"club-name-link\" onclick=\"openClubDetails('ASD POLISPORTIVA EPPE MERLA')\">ASD POLISPORTIVA EPPE MERLA<\/span><\/td>\n                <td style=\"text-align:right\"><span class=\"badge-count\">11<\/span><\/td>\n            <\/tr>\n        \n            <tr>\n                <td style=\"width:30px; color:var(--text-muted)\">#2<\/td>\n                <td><span class=\"club-name-link\" onclick=\"openClubDetails('A.S. PEGASO')\">A.S. PEGASO<\/span><\/td>\n                <td style=\"text-align:right\"><span class=\"badge-count\">9<\/span><\/td>\n            <\/tr>\n        \n            <tr>\n                <td style=\"width:30px; color:var(--text-muted)\">#3<\/td>\n                <td><span class=\"club-name-link\" onclick=\"openClubDetails('ASD MANFREDONIA CORRE')\">ASD MANFREDONIA CORRE<\/span><\/td>\n                <td style=\"text-align:right\"><span class=\"badge-count\">8<\/span><\/td>\n            <\/tr>\n        \n            <tr>\n                <td style=\"width:30px; color:var(--text-muted)\">#4<\/td>\n                <td><span class=\"club-name-link\" onclick=\"openClubDetails('A.S.D. RUN &amp; FUN SAN SEVERO')\">A.S.D. RUN &amp; FUN SAN SEVERO<\/span><\/td>\n                <td style=\"text-align:right\"><span class=\"badge-count\">8<\/span><\/td>\n            <\/tr>\n        \n            <tr>\n                <td style=\"width:30px; color:var(--text-muted)\">#5<\/td>\n                <td><span class=\"club-name-link\" onclick=\"openClubDetails('PODISTICA VICO DEL GARGANO')\">PODISTICA VICO DEL GARGANO<\/span><\/td>\n                <td style=\"text-align:right\"><span class=\"badge-count\">8<\/span><\/td>\n            <\/tr>\n        \n            <tr>\n                <td style=\"width:30px; color:var(--text-muted)\">#6<\/td>\n                <td><span class=\"club-name-link\" onclick=\"openClubDetails('A.S.D. ATLETICA APRICENA')\">A.S.D. ATLETICA APRICENA<\/span><\/td>\n                <td style=\"text-align:right\"><span class=\"badge-count\">7<\/span><\/td>\n            <\/tr>\n        \n            <tr>\n                <td style=\"width:30px; color:var(--text-muted)\">#7<\/td>\n                <td><span class=\"club-name-link\" onclick=\"openClubDetails('I PODISTI DI CAPITANATA')\">I PODISTI DI CAPITANATA<\/span><\/td>\n                <td style=\"text-align:right\"><span class=\"badge-count\">7<\/span><\/td>\n            <\/tr>\n        \n            <tr>\n                <td style=\"width:30px; color:var(--text-muted)\">#8<\/td>\n                <td><span class=\"club-name-link\" onclick=\"openClubDetails('I SARACENI DI LUCERA')\">I SARACENI DI LUCERA<\/span><\/td>\n                <td style=\"text-align:right\"><span class=\"badge-count\">7<\/span><\/td>\n            <\/tr>\n        \n            <tr>\n                <td style=\"width:30px; color:var(--text-muted)\">#9<\/td>\n                <td><span class=\"club-name-link\" onclick=\"openClubDetails('A.S.D. DAUNIA RUNNING')\">A.S.D. DAUNIA RUNNING<\/span><\/td>\n                <td style=\"text-align:right\"><span class=\"badge-count\">6<\/span><\/td>\n            <\/tr>\n        \n            <tr>\n                <td style=\"width:30px; color:var(--text-muted)\">#10<\/td>\n                <td><span class=\"club-name-link\" onclick=\"openClubDetails('GR. POD. MONTE SANTANGELO')\">GR. POD. MONTE SANTANGELO<\/span><\/td>\n                <td style=\"text-align:right\"><span class=\"badge-count\">6<\/span><\/td>\n            <\/tr>\n        \n            <tr>\n                <td style=\"width:30px; color:var(--text-muted)\">#11<\/td>\n                <td><span class=\"club-name-link\" onclick=\"openClubDetails('RUNNING CLUB TORREMAGGIORE')\">RUNNING CLUB TORREMAGGIORE<\/span><\/td>\n                <td style=\"text-align:right\"><span class=\"badge-count\">6<\/span><\/td>\n            <\/tr>\n        \n            <tr>\n                <td style=\"width:30px; color:var(--text-muted)\">#12<\/td>\n                <td><span class=\"club-name-link\" onclick=\"openClubDetails('ASD GYMNASIUM 2010 ISCHITELLA')\">ASD GYMNASIUM 2010 ISCHITELLA<\/span><\/td>\n                <td style=\"text-align:right\"><span class=\"badge-count\">5<\/span><\/td>\n            <\/tr>\n        \n            <tr>\n                <td style=\"width:30px; color:var(--text-muted)\">#13<\/td>\n                <td><span class=\"club-name-link\" onclick=\"openClubDetails('ATL. SAN NICANDRO GARGANICO')\">ATL. SAN NICANDRO GARGANICO<\/span><\/td>\n                <td style=\"text-align:right\"><span class=\"badge-count\">5<\/span><\/td>\n            <\/tr>\n        \n            <tr>\n                <td style=\"width:30px; color:var(--text-muted)\">#14<\/td>\n                <td><span class=\"club-name-link\" onclick=\"openClubDetails('A.S.D. RUNNERS SAN NICANDRO')\">A.S.D. RUNNERS SAN NICANDRO<\/span><\/td>\n                <td style=\"text-align:right\"><span class=\"badge-count\">5<\/span><\/td>\n            <\/tr>\n        \n            <tr>\n                <td style=\"width:30px; color:var(--text-muted)\">#15<\/td>\n                <td><span class=\"club-name-link\" onclick=\"openClubDetails('A.S.D. RUNNING ACADEMY LUCERA')\">A.S.D. RUNNING ACADEMY LUCERA<\/span><\/td>\n                <td style=\"text-align:right\"><span class=\"badge-count\">5<\/span><\/td>\n            <\/tr>\n        \n            <tr>\n                <td style=\"width:30px; color:var(--text-muted)\">#16<\/td>\n                <td><span class=\"club-name-link\" onclick=\"openClubDetails('A.S. CULTURALE POD. S. STEFANO')\">A.S. CULTURALE POD. S. STEFANO<\/span><\/td>\n                <td style=\"text-align:right\"><span class=\"badge-count\">4<\/span><\/td>\n            <\/tr>\n        \n            <tr>\n                <td style=\"width:30px; color:var(--text-muted)\">#17<\/td>\n                <td><span class=\"club-name-link\" onclick=\"openClubDetails('ASD VELOCLUB CARPINO RUNNERS')\">ASD VELOCLUB CARPINO RUNNERS<\/span><\/td>\n                <td style=\"text-align:right\"><span class=\"badge-count\">4<\/span><\/td>\n            <\/tr>\n        \n            <tr>\n                <td style=\"width:30px; color:var(--text-muted)\">#18<\/td>\n                <td><span class=\"club-name-link\" onclick=\"openClubDetails('A.S.D. ATL. PADRE PIO S.G.R.')\">A.S.D. ATL. PADRE PIO S.G.R.<\/span><\/td>\n                <td style=\"text-align:right\"><span class=\"badge-count\">4<\/span><\/td>\n            <\/tr>\n        \n            <tr>\n                <td style=\"width:30px; color:var(--text-muted)\">#19<\/td>\n                <td><span class=\"club-name-link\" onclick=\"openClubDetails('ASD 71100 RUNNING TEAM')\">ASD 71100 RUNNING TEAM<\/span><\/td>\n                <td style=\"text-align:right\"><span class=\"badge-count\">3<\/span><\/td>\n            <\/tr>\n        \n            <tr>\n                <td style=\"width:30px; color:var(--text-muted)\">#20<\/td>\n                <td><span class=\"club-name-link\" onclick=\"openClubDetails('VIESTE RUNNERS')\">VIESTE RUNNERS<\/span><\/td>\n                <td style=\"text-align:right\"><span class=\"badge-count\">2<\/span><\/td>\n            <\/tr>\n        \n            <tr>\n                <td style=\"width:30px; color:var(--text-muted)\">#21<\/td>\n                <td><span class=\"club-name-link\" onclick=\"openClubDetails('A.S.D. CORRERE IN PUGLIA')\">A.S.D. CORRERE IN PUGLIA<\/span><\/td>\n                <td style=\"text-align:right\"><span class=\"badge-count\">2<\/span><\/td>\n            <\/tr>\n        \n            <tr>\n                <td style=\"width:30px; color:var(--text-muted)\">#22<\/td>\n                <td><span class=\"club-name-link\" onclick=\"openClubDetails('G.S. ATL. SAN FERDINANDO')\">G.S. ATL. SAN FERDINANDO<\/span><\/td>\n                <td style=\"text-align:right\"><span class=\"badge-count\">2<\/span><\/td>\n            <\/tr>\n        \n            <tr>\n                <td style=\"width:30px; color:var(--text-muted)\">#23<\/td>\n                <td><span class=\"club-name-link\" onclick=\"openClubDetails('RUNCARD')\">RUNCARD<\/span><\/td>\n                <td style=\"text-align:right\"><span class=\"badge-count\">2<\/span><\/td>\n            <\/tr>\n        \n            <tr>\n                <td style=\"width:30px; color:var(--text-muted)\">#24<\/td>\n                <td><span class=\"club-name-link\" onclick=\"openClubDetails('A.S.D. FOGGIA RUNNING')\">A.S.D. FOGGIA RUNNING<\/span><\/td>\n                <td style=\"text-align:right\"><span class=\"badge-count\">1<\/span><\/td>\n            <\/tr>\n        \n            <tr>\n                <td style=\"width:30px; color:var(--text-muted)\">#25<\/td>\n                <td><span class=\"club-name-link\" onclick=\"openClubDetails('A.S.D STRACAGNANO')\">A.S.D STRACAGNANO<\/span><\/td>\n                <td style=\"text-align:right\"><span class=\"badge-count\">1<\/span><\/td>\n            <\/tr>\n        \n            <tr>\n                <td style=\"width:30px; color:var(--text-muted)\">#26<\/td>\n                <td><span class=\"club-name-link\" onclick=\"openClubDetails('ASD CORRERE IN PUGLIA RUNCARD')\">ASD CORRERE IN PUGLIA RUNCARD<\/span><\/td>\n                <td style=\"text-align:right\"><span class=\"badge-count\">1<\/span><\/td>\n            <\/tr>\n        \n            <tr>\n                <td style=\"width:30px; color:var(--text-muted)\">#27<\/td>\n                <td><span class=\"club-name-link\" onclick=\"openClubDetails('U.S. FOGGIA ATL. LEGGERA')\">U.S. FOGGIA ATL. LEGGERA<\/span><\/td>\n                <td style=\"text-align:right\"><span class=\"badge-count\">1<\/span><\/td>\n            <\/tr>\n        \n            <tr>\n                <td style=\"width:30px; color:var(--text-muted)\">#28<\/td>\n                <td><span class=\"club-name-link\" onclick=\"openClubDetails('ASS.GARGANO 2000 ONLUS MANFRE')\">ASS.GARGANO 2000 ONLUS MANFRE<\/span><\/td>\n                <td style=\"text-align:right\"><span class=\"badge-count\">1<\/span><\/td>\n            <\/tr>\n        \n            <tr>\n                <td style=\"width:30px; color:var(--text-muted)\">#29<\/td>\n                <td><span class=\"club-name-link\" onclick=\"openClubDetails('A.S.D. ASOPICO RUNNING BARI')\">A.S.D. ASOPICO RUNNING BARI<\/span><\/td>\n                <td style=\"text-align:right\"><span class=\"badge-count\">1<\/span><\/td>\n            <\/tr>\n        \n            <tr>\n                <td style=\"width:30px; color:var(--text-muted)\">#30<\/td>\n                <td><span class=\"club-name-link\" onclick=\"openClubDetails('BARLETTA SPORTIVA')\">BARLETTA SPORTIVA<\/span><\/td>\n                <td style=\"text-align:right\"><span class=\"badge-count\">1<\/span><\/td>\n            <\/tr>\n        <\/tbody><\/table>\n            <\/div>\n        <\/div>\n\n        \n    <\/div>\n<\/div>\n\n<div id=\"modal-overlay\" class=\"modal-overlay\">\n    <div class=\"modal-content\">\n        <span class=\"close-modal\" onclick=\"closeModal()\">\u00d7<\/span>\n        <h3 id=\"modal-title\"><\/h3>\n        <table class=\"data-table\">\n            <thead><tr><th>Ass<\/th><th>Atleta<\/th><th>Cat<\/th><th>P.Cat<\/th><th style=\"text-align:right;\">Tempo<\/th><\/tr><\/thead>\n            <tbody id=\"modal-body\"><\/tbody>\n        <\/table>\n    <\/div>\n<\/div>\n\n<script id=\"main-script\">\n    \/\/ Dati incorporati per l'esportazione\n    const embeddedData = [{\"Pos\":1,\"Pett\":205,\"Cognome\":\"SANTORO\",\"Nome\":\"VALERIO\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":1,\"Cat\":\"SM\",\"P.Cat\":1,\"Anno\":1993,\"Squadra\":\"ASD POLISPORTIVA EPPE MERLA\",\"Tessera\":\"QD000107\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG813\",\"Tempo\":\"00:37:23\",\"TipoClass\":\"-\",\"TEMPO\":\"00:37:23\",\"MEDIA\":\"3,17\",\"\":null},{\"Pos\":2,\"Pett\":33,\"Cognome\":\"BONAVITA\",\"Nome\":\"GIUSEPPE\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":2,\"Cat\":\"SM\",\"P.Cat\":2,\"Anno\":1997,\"Squadra\":\"A.S. CULTURALE POD. S. STEFANO\",\"Tessera\":\"QD001327\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG264\",\"Tempo\":\"00:39:50\",\"TipoClass\":\"-\",\"TEMPO\":\"00:39:50\",\"MEDIA\":\"3,30\",\"\":null},{\"Pos\":3,\"Pett\":197,\"Cognome\":\"MANUPPELLI\",\"Nome\":\"MATTEO\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":3,\"Cat\":\"SM45\",\"P.Cat\":1,\"Anno\":1979,\"Squadra\":\"A.S.D. ATLETICA APRICENA\",\"Tessera\":\"QD002494\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG811\",\"Tempo\":\"00:40:24\",\"TipoClass\":\"-\",\"TEMPO\":\"00:40:24\",\"MEDIA\":\"3,33\",\"\":null},{\"Pos\":4,\"Pett\":156,\"Cognome\":\"CURRELI\",\"Nome\":\"MICHELE\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":4,\"Cat\":\"SM\",\"P.Cat\":3,\"Anno\":2002,\"Squadra\":\"ASD VELOCLUB CARPINO RUNNERS\",\"Tessera\":\"QD005234\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG293\",\"Tempo\":\"00:41:54\",\"TipoClass\":\"-\",\"TEMPO\":\"00:41:54\",\"MEDIA\":\"3,41\",\"\":null},{\"Pos\":5,\"Pett\":220,\"Cognome\":\"VERGURA\",\"Nome\":\"PAOLO\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":5,\"Cat\":\"SM35\",\"P.Cat\":1,\"Anno\":1990,\"Squadra\":\"ASD MANFREDONIA CORRE\",\"Tessera\":\"QA184692\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG295\",\"Tempo\":\"00:42:13\",\"TipoClass\":\"AVIS\",\"TEMPO\":\"00:42:13\",\"MEDIA\":\"3,42\",\"\":null},{\"Pos\":6,\"Pett\":117,\"Cognome\":\"IAMMARINO\",\"Nome\":\"PIER PAOLO\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":6,\"Cat\":\"SM45\",\"P.Cat\":2,\"Anno\":1978,\"Squadra\":\"A.S.D. DAUNIA RUNNING\",\"Tessera\":\"JA098610\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG299\",\"Tempo\":\"00:44:24\",\"TipoClass\":\"-\",\"TEMPO\":\"00:44:24\",\"MEDIA\":\"3,54\",\"\":null},{\"Pos\":7,\"Pett\":294,\"Cognome\":\"DE FILIPPIS\",\"Nome\":\"MICHELE\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":7,\"Cat\":\"SM40\",\"P.Cat\":1,\"Anno\":1984,\"Squadra\":\"ASD GYMNASIUM 2010 ISCHITELLA\",\"Tessera\":\"QD004865\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG800\",\"Tempo\":\"00:44:29\",\"TipoClass\":\"-\",\"TEMPO\":\"00:44:29\",\"MEDIA\":\"3,54\",\"\":null},{\"Pos\":8,\"Pett\":154,\"Cognome\":\"RENDINA\",\"Nome\":\"CARMINE DAVIDE PIO\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":8,\"Cat\":\"SM50\",\"P.Cat\":1,\"Anno\":1973,\"Squadra\":\"A.S.D. DAUNIA RUNNING\",\"Tessera\":\"QD002517\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG299\",\"Tempo\":\"00:44:33\",\"TipoClass\":\"-\",\"TEMPO\":\"00:44:33\",\"MEDIA\":\"3,54\",\"\":null},{\"Pos\":9,\"Pett\":222,\"Cognome\":\"GIAGNORIO\",\"Nome\":\"MAURO\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":9,\"Cat\":\"SM50\",\"P.Cat\":2,\"Anno\":1975,\"Squadra\":\"ATL. SAN NICANDRO GARGANICO\",\"Tessera\":\"QD002505\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG283\",\"Tempo\":\"00:44:48\",\"TipoClass\":\"AVIS\",\"TEMPO\":\"00:44:48\",\"MEDIA\":\"3,56\",\"\":null},{\"Pos\":10,\"Pett\":6954,\"Cognome\":\"DI SCIUVA\",\"Nome\":\"VINCENZO\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":10,\"Cat\":\"SM50\",\"P.Cat\":3,\"Anno\":1976,\"Squadra\":\"ASD POLISPORTIVA EPPE MERLA\",\"Tessera\":\"QA179138\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG813\",\"Tempo\":\"00:44:50\",\"TipoClass\":\"-\",\"TEMPO\":\"00:44:50\",\"MEDIA\":\"3,56\",\"\":null},{\"Pos\":11,\"Pett\":199,\"Cognome\":\"BOCALE\",\"Nome\":\"ANTONIO\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":11,\"Cat\":\"SM60\",\"P.Cat\":1,\"Anno\":1965,\"Squadra\":\"A.S.D. DAUNIA RUNNING\",\"Tessera\":\"QA174068\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG299\",\"Tempo\":\"00:44:56\",\"TipoClass\":\"-\",\"TEMPO\":\"00:44:56\",\"MEDIA\":\"3,57\",\"\":null},{\"Pos\":12,\"Pett\":6912,\"Cognome\":\"DE PASQUALE\",\"Nome\":\"ANGELO\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":12,\"Cat\":\"SM\",\"P.Cat\":4,\"Anno\":1995,\"Squadra\":\"A.S.D. RUNNERS SAN NICANDRO\",\"Tessera\":\"QA185474\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG822\",\"Tempo\":\"00:44:59\",\"TipoClass\":\"-\",\"TEMPO\":\"00:44:59\",\"MEDIA\":\"3,57\",\"\":null},{\"Pos\":13,\"Pett\":3046,\"Cognome\":\"CASSANO\",\"Nome\":\"MICHELE\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":13,\"Cat\":\"SM55\",\"P.Cat\":1,\"Anno\":1969,\"Squadra\":\"A.S.D. DAUNIA RUNNING\",\"Tessera\":\"QA179043\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG299\",\"Tempo\":\"00:45:10\",\"TipoClass\":\"-\",\"TEMPO\":\"00:45:10\",\"MEDIA\":\"3,58\",\"\":null},{\"Pos\":14,\"Pett\":6806,\"Cognome\":\"CERRONE\",\"Nome\":\"GIUSEPPE\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":14,\"Cat\":\"SM45\",\"P.Cat\":3,\"Anno\":1978,\"Squadra\":\"ASD POLISPORTIVA EPPE MERLA\",\"Tessera\":\"QD003250\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG813\",\"Tempo\":\"00:45:29\",\"TipoClass\":\"AVIS\",\"TEMPO\":\"00:45:29\",\"MEDIA\":\"3,59\",\"\":null},{\"Pos\":15,\"Pett\":3033,\"Cognome\":\"RICUCCI\",\"Nome\":\"PASQUALE\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":15,\"Cat\":\"SM\",\"P.Cat\":5,\"Anno\":2002,\"Squadra\":\"GR. POD. MONTE SANTANGELO\",\"Tessera\":\"QD005271\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG292\",\"Tempo\":\"00:46:44\",\"TipoClass\":\"-\",\"TEMPO\":\"00:46:44\",\"MEDIA\":\"4,06\",\"\":null},{\"Pos\":16,\"Pett\":6859,\"Cognome\":\"NOTARANGELO\",\"Nome\":\"MATTEO\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":16,\"Cat\":\"SM40\",\"P.Cat\":2,\"Anno\":1984,\"Squadra\":\"GR. POD. MONTE SANTANGELO\",\"Tessera\":\"QD005580\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG292\",\"Tempo\":\"00:46:47\",\"TipoClass\":\"AVIS\",\"TEMPO\":\"00:46:47\",\"MEDIA\":\"4,06\",\"\":null},{\"Pos\":17,\"Pett\":6783,\"Cognome\":\"TENACE\",\"Nome\":\"MICHELE\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":17,\"Cat\":\"SM40\",\"P.Cat\":3,\"Anno\":1984,\"Squadra\":\"A.S.D. FOGGIA RUNNING\",\"Tessera\":\"CD012286\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG294\",\"Tempo\":\"00:47:11\",\"TipoClass\":\"-\",\"TEMPO\":\"00:47:11\",\"MEDIA\":\"4,08\",\"\":null},{\"Pos\":18,\"Pett\":6769,\"Cognome\":\"IAFELICE\",\"Nome\":\"GAETANO\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":18,\"Cat\":\"SM40\",\"P.Cat\":4,\"Anno\":1982,\"Squadra\":\"A.S.D. RUN & FUN SAN SEVERO\",\"Tessera\":\"QD004532\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG281\",\"Tempo\":\"00:47:35\",\"TipoClass\":\"-\",\"TEMPO\":\"00:47:35\",\"MEDIA\":\"4,10\",\"\":null},{\"Pos\":19,\"Pett\":2035,\"Cognome\":\"CATALANO\",\"Nome\":\"ANTONIO\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":19,\"Cat\":\"SM35\",\"P.Cat\":2,\"Anno\":1987,\"Squadra\":\"A.S. CULTURALE POD. S. STEFANO\",\"Tessera\":\"QD001102\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG264\",\"Tempo\":\"00:48:05\",\"TipoClass\":\"-\",\"TEMPO\":\"00:48:05\",\"MEDIA\":\"4,13\",\"\":null},{\"Pos\":20,\"Pett\":3324,\"Cognome\":\"BORDASCO\",\"Nome\":\"CLAUDIO\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":20,\"Cat\":\"SM55\",\"P.Cat\":2,\"Anno\":1968,\"Squadra\":\"I PODISTI DI CAPITANATA\",\"Tessera\":\"QD002600\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG280\",\"Tempo\":\"00:48:09\",\"TipoClass\":\"AVIS\",\"TEMPO\":\"00:48:09\",\"MEDIA\":\"4,13\",\"\":null},{\"Pos\":21,\"Pett\":3699,\"Cognome\":\"AURELIO\",\"Nome\":\"EMANUELE\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":21,\"Cat\":\"SM50\",\"P.Cat\":4,\"Anno\":1975,\"Squadra\":\"A.S.D. ATLETICA APRICENA\",\"Tessera\":\"QD003242\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG811\",\"Tempo\":\"00:48:24\",\"TipoClass\":\"-\",\"TEMPO\":\"00:48:24\",\"MEDIA\":\"4,15\",\"\":null},{\"Pos\":22,\"Pett\":3346,\"Cognome\":\"FRANZA\",\"Nome\":\"GIUSEPPE\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":22,\"Cat\":\"SM50\",\"P.Cat\":5,\"Anno\":1973,\"Squadra\":\"I PODISTI DI CAPITANATA\",\"Tessera\":\"CF021492\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG280\",\"Tempo\":\"00:48:52\",\"TipoClass\":\"-\",\"TEMPO\":\"00:48:52\",\"MEDIA\":\"4,17\",\"\":null},{\"Pos\":23,\"Pett\":6961,\"Cognome\":\"SABATELLI\",\"Nome\":\"MICHELE\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":23,\"Cat\":\"SM45\",\"P.Cat\":4,\"Anno\":1978,\"Squadra\":\"ASD POLISPORTIVA EPPE MERLA\",\"Tessera\":\"QD003214\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG813\",\"Tempo\":\"00:49:02\",\"TipoClass\":\"-\",\"TEMPO\":\"00:49:02\",\"MEDIA\":\"4,18\",\"\":null},{\"Pos\":24,\"Pett\":6858,\"Cognome\":\"ORRINI\",\"Nome\":\"MATTEO\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":24,\"Cat\":\"SM60\",\"P.Cat\":2,\"Anno\":1964,\"Squadra\":\"GR. POD. MONTE SANTANGELO\",\"Tessera\":\"QD005053\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG292\",\"Tempo\":\"00:49:54\",\"TipoClass\":\"-\",\"TEMPO\":\"00:49:54\",\"MEDIA\":\"4,23\",\"\":null},{\"Pos\":25,\"Pett\":293,\"Cognome\":\"SAMURA\",\"Nome\":\"BUBACARR\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":25,\"Cat\":\"SM\",\"P.Cat\":6,\"Anno\":1998,\"Squadra\":\"I SARACENI DI LUCERA\",\"Tessera\":\"QD004445\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG806\",\"Tempo\":\"00:49:58\",\"TipoClass\":\"-\",\"TEMPO\":\"00:49:58\",\"MEDIA\":\"4,23\",\"\":null},{\"Pos\":26,\"Pett\":998,\"Cognome\":\"LONGO\",\"Nome\":\"ANTONIO\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":26,\"Cat\":\"SM65\",\"P.Cat\":1,\"Anno\":1960,\"Squadra\":\"A.S.D. ATL. PADRE PIO S.G.R.\",\"Tessera\":\"QD003559\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG276\",\"Tempo\":\"00:50:14\",\"TipoClass\":\"-\",\"TEMPO\":\"00:50:14\",\"MEDIA\":\"4,24\",\"\":null},{\"Pos\":27,\"Pett\":221,\"Cognome\":\"CAPUTO\",\"Nome\":\"LIBERA FRANCESCA\",\"Naz\":\"it\",\"Sesso\":\"F\",\"P.Sesso\":1,\"Cat\":\"SF45\",\"P.Cat\":1,\"Anno\":1979,\"Squadra\":\"ATL. SAN NICANDRO GARGANICO\",\"Tessera\":\"QD001084\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG283\",\"Tempo\":\"00:50:31\",\"TipoClass\":\"-\",\"TEMPO\":\"00:50:31\",\"MEDIA\":\"4,26\",\"\":null},{\"Pos\":28,\"Pett\":6986,\"Cognome\":\"TAVAGLIONE\",\"Nome\":\"STEFANO\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":27,\"Cat\":\"SM\",\"P.Cat\":7,\"Anno\":1999,\"Squadra\":\"VIESTE RUNNERS\",\"Tessera\":\"QD004534\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG289\",\"Tempo\":\"00:50:35\",\"TipoClass\":\"-\",\"TEMPO\":\"00:50:35\",\"MEDIA\":\"4,26\",\"\":null},{\"Pos\":29,\"Pett\":3051,\"Cognome\":\"ARNESE\",\"Nome\":\"GIUSEPPE\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":28,\"Cat\":\"SM\",\"P.Cat\":8,\"Anno\":1993,\"Squadra\":\"I SARACENI DI LUCERA\",\"Tessera\":\"QD003784\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG806\",\"Tempo\":\"00:50:42\",\"TipoClass\":\"-\",\"TEMPO\":\"00:50:42\",\"MEDIA\":\"4,27\",\"\":null},{\"Pos\":30,\"Pett\":4125,\"Cognome\":\"FATONE\",\"Nome\":\"GIUSEPPE\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":29,\"Cat\":\"SM60\",\"P.Cat\":3,\"Anno\":1965,\"Squadra\":\"ASD MANFREDONIA CORRE\",\"Tessera\":\"QA177563\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG295\",\"Tempo\":\"00:51:22\",\"TipoClass\":\"-\",\"TEMPO\":\"00:51:22\",\"MEDIA\":\"4,30\",\"\":null},{\"Pos\":31,\"Pett\":5336,\"Cognome\":\"FARINA\",\"Nome\":\"MASSIMO\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":30,\"Cat\":\"SM55\",\"P.Cat\":3,\"Anno\":1970,\"Squadra\":\"A.S.D. RUNNING ACADEMY LUCERA\",\"Tessera\":\"QA186201\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG803\",\"Tempo\":\"00:51:55\",\"TipoClass\":\"-\",\"TEMPO\":\"00:51:55\",\"MEDIA\":\"4,33\",\"\":null},{\"Pos\":32,\"Pett\":6863,\"Cognome\":\"CAVALLO\",\"Nome\":\"MICHELE\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":31,\"Cat\":\"SM35\",\"P.Cat\":3,\"Anno\":1989,\"Squadra\":\"A.S.D. RUN & FUN SAN SEVERO\",\"Tessera\":\"QD004974\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG281\",\"Tempo\":\"00:52:04\",\"TipoClass\":\"-\",\"TEMPO\":\"00:52:04\",\"MEDIA\":\"4,34\",\"\":null},{\"Pos\":33,\"Pett\":2232,\"Cognome\":\"ACQUAVIVA\",\"Nome\":\"FRANCESCO PAOLO\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":32,\"Cat\":\"SM55\",\"P.Cat\":4,\"Anno\":1968,\"Squadra\":\"ASD VELOCLUB CARPINO RUNNERS\",\"Tessera\":\"QD000561\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG293\",\"Tempo\":\"00:52:09\",\"TipoClass\":\"-\",\"TEMPO\":\"00:52:09\",\"MEDIA\":\"4,35\",\"\":null},{\"Pos\":34,\"Pett\":6814,\"Cognome\":\"PIANO\",\"Nome\":\"PIO\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":33,\"Cat\":\"SM50\",\"P.Cat\":6,\"Anno\":1972,\"Squadra\":\"ASD POLISPORTIVA EPPE MERLA\",\"Tessera\":\"QD004039\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG813\",\"Tempo\":\"00:52:42\",\"TipoClass\":\"-\",\"TEMPO\":\"00:52:42\",\"MEDIA\":\"4,37\",\"\":null},{\"Pos\":35,\"Pett\":3907,\"Cognome\":\"MAZZETTI\",\"Nome\":\"LUIGI\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":34,\"Cat\":\"SM50\",\"P.Cat\":7,\"Anno\":1974,\"Squadra\":\"RUNNING CLUB TORREMAGGIORE\",\"Tessera\":\"QD002543\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG291\",\"Tempo\":\"00:52:47\",\"TipoClass\":\"-\",\"TEMPO\":\"00:52:47\",\"MEDIA\":\"4,38\",\"\":null},{\"Pos\":36,\"Pett\":3360,\"Cognome\":\"MORCONE\",\"Nome\":\"LEONARDO\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":35,\"Cat\":\"SM65\",\"P.Cat\":2,\"Anno\":1959,\"Squadra\":\"I PODISTI DI CAPITANATA\",\"Tessera\":\"QD000934\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG280\",\"Tempo\":\"00:52:50\",\"TipoClass\":\"AVIS\",\"TEMPO\":\"00:52:50\",\"MEDIA\":\"4,38\",\"\":null},{\"Pos\":37,\"Pett\":3921,\"Cognome\":\"BRIGIDA\",\"Nome\":\"MARCO\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":36,\"Cat\":\"SM35\",\"P.Cat\":4,\"Anno\":1991,\"Squadra\":\"ASD MANFREDONIA CORRE\",\"Tessera\":\"QD005295\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG295\",\"Tempo\":\"00:53:04\",\"TipoClass\":\"-\",\"TEMPO\":\"00:53:04\",\"MEDIA\":\"4,39\",\"\":null},{\"Pos\":38,\"Pett\":3994,\"Cognome\":\"POLIGNONE\",\"Nome\":\"LAZZARO SANTE\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":37,\"Cat\":\"EPSM\",\"P.Cat\":1,\"Anno\":1965,\"Squadra\":\"A.S.D STRACAGNANO\",\"Tessera\":240086955,\"Ente\":\"UISP\",\"Cod.Squadra\":\"S310417\",\"Tempo\":\"00:53:10\",\"TipoClass\":\"-\",\"TEMPO\":\"00:53:10\",\"MEDIA\":\"4,40\",\"\":null},{\"Pos\":39,\"Pett\":4150,\"Cognome\":\"CEDDIA\",\"Nome\":\"EMANUELE\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":38,\"Cat\":\"SM50\",\"P.Cat\":8,\"Anno\":1975,\"Squadra\":\"ASD POLISPORTIVA EPPE MERLA\",\"Tessera\":\"QD002283\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG813\",\"Tempo\":\"00:53:11\",\"TipoClass\":\"-\",\"TEMPO\":\"00:53:11\",\"MEDIA\":\"4,40\",\"\":null},{\"Pos\":40,\"Pett\":3035,\"Cognome\":\"RINALDI\",\"Nome\":\"RAFFAELE\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":39,\"Cat\":\"SM60\",\"P.Cat\":4,\"Anno\":1962,\"Squadra\":\"GR. POD. MONTE SANTANGELO\",\"Tessera\":\"QA006762\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG292\",\"Tempo\":\"00:53:19\",\"TipoClass\":\"-\",\"TEMPO\":\"00:53:19\",\"MEDIA\":\"4,41\",\"\":null},{\"Pos\":41,\"Pett\":2224,\"Cognome\":\"GIORDANO\",\"Nome\":\"VINCENZO\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":40,\"Cat\":\"SM55\",\"P.Cat\":5,\"Anno\":1970,\"Squadra\":\"A.S. CULTURALE POD. S. STEFANO\",\"Tessera\":\"QD005158\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG264\",\"Tempo\":\"00:53:26\",\"TipoClass\":\"-\",\"TEMPO\":\"00:53:26\",\"MEDIA\":\"4,41\",\"\":null},{\"Pos\":42,\"Pett\":3704,\"Cognome\":\"LAURIOLA\",\"Nome\":\"NAZARIO\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":41,\"Cat\":\"SM45\",\"P.Cat\":5,\"Anno\":1980,\"Squadra\":\"A.S.D. ATLETICA APRICENA\",\"Tessera\":\"QD003431\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG811\",\"Tempo\":\"00:53:51\",\"TipoClass\":\"-\",\"TEMPO\":\"00:53:51\",\"MEDIA\":\"4,43\",\"\":null},{\"Pos\":43,\"Pett\":3992,\"Cognome\":\"DI MARIA\",\"Nome\":\"DOMENICO\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":42,\"Cat\":\"SM40\",\"P.Cat\":5,\"Anno\":1983,\"Squadra\":\"ASD GYMNASIUM 2010 ISCHITELLA\",\"Tessera\":\"QD005593\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG800\",\"Tempo\":\"00:53:52\",\"TipoClass\":\"-\",\"TEMPO\":\"00:53:52\",\"MEDIA\":\"4,44\",\"\":null},{\"Pos\":44,\"Pett\":3700,\"Cognome\":\"COCO\",\"Nome\":\"DOMENICO\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":43,\"Cat\":\"SM60\",\"P.Cat\":5,\"Anno\":1964,\"Squadra\":\"A.S.D. ATLETICA APRICENA\",\"Tessera\":\"QD002329\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG811\",\"Tempo\":\"00:54:16\",\"TipoClass\":\"-\",\"TEMPO\":\"00:54:16\",\"MEDIA\":\"4,46\",\"\":null},{\"Pos\":45,\"Pett\":3706,\"Cognome\":\"LOMBARDI\",\"Nome\":\"LUCIANO\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":44,\"Cat\":\"SM45\",\"P.Cat\":6,\"Anno\":1979,\"Squadra\":\"A.S.D. ATLETICA APRICENA\",\"Tessera\":\"QD004462\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG811\",\"Tempo\":\"00:54:20\",\"TipoClass\":\"-\",\"TEMPO\":\"00:54:20\",\"MEDIA\":\"4,46\",\"\":null},{\"Pos\":46,\"Pett\":5888,\"Cognome\":\"PRENCIPE\",\"Nome\":\"ANTONIO\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":45,\"Cat\":\"SM55\",\"P.Cat\":6,\"Anno\":1970,\"Squadra\":\"ASD POLISPORTIVA EPPE MERLA\",\"Tessera\":\"QD004438\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG813\",\"Tempo\":\"00:54:37\",\"TipoClass\":\"-\",\"TEMPO\":\"00:54:37\",\"MEDIA\":\"4,48\",\"\":null},{\"Pos\":47,\"Pett\":1696,\"Cognome\":\"MANTUANO\",\"Nome\":\"MICHELE GIANLUCA\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":46,\"Cat\":\"SM50\",\"P.Cat\":9,\"Anno\":1976,\"Squadra\":\"ASD POLISPORTIVA EPPE MERLA\",\"Tessera\":\"QD004442\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG813\",\"Tempo\":\"00:54:55\",\"TipoClass\":\"-\",\"TEMPO\":\"00:54:55\",\"MEDIA\":\"4,49\",\"\":null},{\"Pos\":48,\"Pett\":6955,\"Cognome\":\"LA PORTA\",\"Nome\":\"MICHELA\",\"Naz\":\"it\",\"Sesso\":\"F\",\"P.Sesso\":2,\"Cat\":\"SF35\",\"P.Cat\":1,\"Anno\":1990,\"Squadra\":\"ASD POLISPORTIVA EPPE MERLA\",\"Tessera\":\"QD004486\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG813\",\"Tempo\":\"00:54:57\",\"TipoClass\":\"-\",\"TEMPO\":\"00:54:57\",\"MEDIA\":\"4,49\",\"\":null},{\"Pos\":49,\"Pett\":6767,\"Cognome\":\"FLORIO\",\"Nome\":\"ANTONIO AGOSTINO\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":47,\"Cat\":\"SM60\",\"P.Cat\":6,\"Anno\":1963,\"Squadra\":\"A.S.D. RUN & FUN SAN SEVERO\",\"Tessera\":\"QD002648\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG281\",\"Tempo\":\"00:55:21\",\"TipoClass\":\"AVIS\",\"TEMPO\":\"00:55:21\",\"MEDIA\":\"4,51\",\"\":null},{\"Pos\":50,\"Pett\":3060,\"Cognome\":\"LO GRECO\",\"Nome\":\"LUCIANO MIREK\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":48,\"Cat\":\"PM\",\"P.Cat\":1,\"Anno\":2004,\"Squadra\":\"I SARACENI DI LUCERA\",\"Tessera\":\"QD005539\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG806\",\"Tempo\":\"00:55:58\",\"TipoClass\":\"-\",\"TEMPO\":\"00:55:58\",\"MEDIA\":\"4,55\",\"\":null},{\"Pos\":51,\"Pett\":3631,\"Cognome\":\"FIALE\",\"Nome\":\"MICHELE\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":49,\"Cat\":\"SM50\",\"P.Cat\":10,\"Anno\":1976,\"Squadra\":\"ASD MANFREDONIA CORRE\",\"Tessera\":\"QA181090\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG295\",\"Tempo\":\"00:56:04\",\"TipoClass\":\"AVIS\",\"TEMPO\":\"00:56:04\",\"MEDIA\":\"4,55\",\"\":null},{\"Pos\":52,\"Pett\":3978,\"Cognome\":\"DE LELLIS\",\"Nome\":\"ANTONIO\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":50,\"Cat\":\"SM55\",\"P.Cat\":7,\"Anno\":1971,\"Squadra\":\"A.S. PEGASO\",\"Tessera\":\"QD004860\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG278\",\"Tempo\":\"00:56:13\",\"TipoClass\":\"-\",\"TEMPO\":\"00:56:13\",\"MEDIA\":\"4,56\",\"\":null},{\"Pos\":53,\"Pett\":6810,\"Cognome\":\"FAGGIANELLI\",\"Nome\":\"NUNZIA\",\"Naz\":\"italia\",\"Sesso\":\"F\",\"P.Sesso\":3,\"Cat\":\"SF40\",\"P.Cat\":1,\"Anno\":1982,\"Squadra\":\"ASD POLISPORTIVA EPPE MERLA\",\"Tessera\":\"QD004128\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG813\",\"Tempo\":\"00:56:36\",\"TipoClass\":\"-\",\"TEMPO\":\"00:56:36\",\"MEDIA\":\"4,58\",\"\":null},{\"Pos\":54,\"Pett\":6760,\"Cognome\":\"CURATOLO\",\"Nome\":\"ANTONIO\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":51,\"Cat\":\"SM45\",\"P.Cat\":7,\"Anno\":1978,\"Squadra\":\"A.S. PEGASO\",\"Tessera\":\"ND000252\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG278\",\"Tempo\":\"00:56:38\",\"TipoClass\":\"-\",\"TEMPO\":\"00:56:38\",\"MEDIA\":\"4,58\",\"\":null},{\"Pos\":55,\"Pett\":6813,\"Cognome\":\"MARTINO\",\"Nome\":\"MATTEO\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":52,\"Cat\":\"SM65\",\"P.Cat\":3,\"Anno\":1957,\"Squadra\":\"ASD POLISPORTIVA EPPE MERLA\",\"Tessera\":\"QD001451\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG813\",\"Tempo\":\"00:56:47\",\"TipoClass\":\"-\",\"TEMPO\":\"00:56:47\",\"MEDIA\":\"4,59\",\"\":null},{\"Pos\":56,\"Pett\":3931,\"Cognome\":\"GARGALLO\",\"Nome\":\"MICHELE\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":53,\"Cat\":\"SM35\",\"P.Cat\":5,\"Anno\":1989,\"Squadra\":\"ASD MANFREDONIA CORRE\",\"Tessera\":\"QD004239\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG295\",\"Tempo\":\"00:57:11\",\"TipoClass\":\"-\",\"TEMPO\":\"00:57:11\",\"MEDIA\":\"5,01\",\"\":null},{\"Pos\":57,\"Pett\":6798,\"Cognome\":\"ROMONDIA\",\"Nome\":\"FRANCESCO\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":54,\"Cat\":\"SM50\",\"P.Cat\":11,\"Anno\":1973,\"Squadra\":\"PODISTICA VICO DEL GARGANO\",\"Tessera\":\"QD003358\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG801\",\"Tempo\":\"00:57:19\",\"TipoClass\":\"-\",\"TEMPO\":\"00:57:19\",\"MEDIA\":\"5,02\",\"\":null},{\"Pos\":58,\"Pett\":3062,\"Cognome\":\"PETRILLI\",\"Nome\":\"VINCENZO\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":55,\"Cat\":\"SM45\",\"P.Cat\":8,\"Anno\":1978,\"Squadra\":\"I SARACENI DI LUCERA\",\"Tessera\":\"QD005261\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG806\",\"Tempo\":\"00:57:24\",\"TipoClass\":\"-\",\"TEMPO\":\"00:57:24\",\"MEDIA\":\"5,02\",\"\":null},{\"Pos\":59,\"Pett\":1002,\"Cognome\":\"DI CARLO\",\"Nome\":\"PASQUALE\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":56,\"Cat\":\"SM70\",\"P.Cat\":1,\"Anno\":1955,\"Squadra\":\"A.S.D. ATL. PADRE PIO S.G.R.\",\"Tessera\":\"QD000133\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG276\",\"Tempo\":\"00:57:33\",\"TipoClass\":\"AVIS\",\"TEMPO\":\"00:57:33\",\"MEDIA\":\"5,03\",\"\":null},{\"Pos\":60,\"Pett\":4657,\"Cognome\":\"FINI\",\"Nome\":\"FILIPPO\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":57,\"Cat\":\"SM45\",\"P.Cat\":9,\"Anno\":1977,\"Squadra\":\"A.S. PEGASO\",\"Tessera\":\"QD004961\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG278\",\"Tempo\":\"00:57:48\",\"TipoClass\":\"-\",\"TEMPO\":\"00:57:48\",\"MEDIA\":\"5,04\",\"\":null},{\"Pos\":61,\"Pett\":6990,\"Cognome\":\"PETRUCCELLI\",\"Nome\":\"PAULO\",\"Naz\":\"germania\",\"Sesso\":\"M\",\"P.Sesso\":58,\"Cat\":\"SM50\",\"P.Cat\":12,\"Anno\":1974,\"Squadra\":\"ASD MANFREDONIA CORRE\",\"Tessera\":\"QD003644\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG295\",\"Tempo\":\"00:57:55\",\"TipoClass\":\"AVIS\",\"TEMPO\":\"00:57:55\",\"MEDIA\":\"5,05\",\"\":null},{\"Pos\":62,\"Pett\":3344,\"Cognome\":\"DI PAOLO\",\"Nome\":\"CLAUDIO\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":59,\"Cat\":\"SM50\",\"P.Cat\":13,\"Anno\":1975,\"Squadra\":\"I PODISTI DI CAPITANATA\",\"Tessera\":\"QD005449\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG280\",\"Tempo\":\"00:58:27\",\"TipoClass\":\"-\",\"TEMPO\":\"00:58:27\",\"MEDIA\":\"5,08\",\"\":null},{\"Pos\":63,\"Pett\":6799,\"Cognome\":\"TARTAGLIONE\",\"Nome\":\"SALVATORE\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":60,\"Cat\":\"SM60\",\"P.Cat\":7,\"Anno\":1966,\"Squadra\":\"A.S.D. RUNNING ACADEMY LUCERA\",\"Tessera\":\"QD002824\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG803\",\"Tempo\":\"00:58:42\",\"TipoClass\":\"-\",\"TEMPO\":\"00:58:42\",\"MEDIA\":\"5,09\",\"\":null},{\"Pos\":64,\"Pett\":6796,\"Cognome\":\"CHIRIVI'\",\"Nome\":\"GIUSEPPE\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":61,\"Cat\":\"SM60\",\"P.Cat\":8,\"Anno\":1966,\"Squadra\":\"PODISTICA VICO DEL GARGANO\",\"Tessera\":\"QD002885\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG801\",\"Tempo\":\"00:58:43\",\"TipoClass\":\"-\",\"TEMPO\":\"00:58:43\",\"MEDIA\":\"5,09\",\"\":null},{\"Pos\":65,\"Pett\":3632,\"Cognome\":\"CIUFFREDA\",\"Nome\":\"NICOLA\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":62,\"Cat\":\"SM65\",\"P.Cat\":4,\"Anno\":1961,\"Squadra\":\"ASD MANFREDONIA CORRE\",\"Tessera\":\"QB009012\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG295\",\"Tempo\":\"00:58:43\",\"TipoClass\":\"-\",\"TEMPO\":\"00:58:43\",\"MEDIA\":\"5,09\",\"\":null},{\"Pos\":66,\"Pett\":3630,\"Cognome\":\"VARRECCHIA\",\"Nome\":\"FRANCESCO\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":63,\"Cat\":\"SM75\",\"P.Cat\":1,\"Anno\":1950,\"Squadra\":\"ASD MANFREDONIA CORRE\",\"Tessera\":\"QB004853\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG295\",\"Tempo\":\"00:58:46\",\"TipoClass\":\"-\",\"TEMPO\":\"00:58:46\",\"MEDIA\":\"5,09\",\"\":null},{\"Pos\":67,\"Pett\":2454,\"Cognome\":\"UNICO\",\"Nome\":\"MARIAROSARIA\",\"Naz\":\"italia\",\"Sesso\":\"F\",\"P.Sesso\":4,\"Cat\":\"SF50\",\"P.Cat\":1,\"Anno\":1976,\"Squadra\":\"A.S. CULTURALE POD. S. STEFANO\",\"Tessera\":\"QD003065\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG264\",\"Tempo\":\"00:59:14\",\"TipoClass\":\"-\",\"TEMPO\":\"00:59:14\",\"MEDIA\":\"5,12\",\"\":null},{\"Pos\":68,\"Pett\":6763,\"Cognome\":\"ANNOLFI\",\"Nome\":\"DEBORA\",\"Naz\":\"italia\",\"Sesso\":\"F\",\"P.Sesso\":5,\"Cat\":\"SF45\",\"P.Cat\":2,\"Anno\":1980,\"Squadra\":\"A.S.D. RUN & FUN SAN SEVERO\",\"Tessera\":\"QD005533\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG281\",\"Tempo\":\"00:59:20\",\"TipoClass\":\"-\",\"TEMPO\":\"00:59:20\",\"MEDIA\":\"5,12\",\"\":null},{\"Pos\":69,\"Pett\":6999,\"Cognome\":\"FERRAZZANO\",\"Nome\":\"MICHELE\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":64,\"Cat\":\"SM35\",\"P.Cat\":6,\"Anno\":1988,\"Squadra\":\"A.S.D. RUNNERS SAN NICANDRO\",\"Tessera\":\"QD005671\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG822\",\"Tempo\":\"00:59:24\",\"TipoClass\":\"-\",\"TEMPO\":\"00:59:24\",\"MEDIA\":\"5,13\",\"\":null},{\"Pos\":70,\"Pett\":4658,\"Cognome\":\"CARRAFA\",\"Nome\":\"CRISTIAN\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":65,\"Cat\":\"SM\",\"P.Cat\":9,\"Anno\":2001,\"Squadra\":\"ATL. SAN NICANDRO GARGANICO\",\"Tessera\":\"QD003168\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG283\",\"Tempo\":\"00:59:32\",\"TipoClass\":\"-\",\"TEMPO\":\"00:59:32\",\"MEDIA\":\"5,13\",\"\":null},{\"Pos\":71,\"Pett\":6775,\"Cognome\":\"DE PASQUALE\",\"Nome\":\"GIOVANNI\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":66,\"Cat\":\"SM40\",\"P.Cat\":6,\"Anno\":1985,\"Squadra\":\"A.S.D. RUN & FUN SAN SEVERO\",\"Tessera\":\"QD005607\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG281\",\"Tempo\":\"00:59:39\",\"TipoClass\":\"-\",\"TEMPO\":\"00:59:39\",\"MEDIA\":\"5,14\",\"\":null},{\"Pos\":72,\"Pett\":3708,\"Cognome\":\"PERRONE\",\"Nome\":\"ANTONIO\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":67,\"Cat\":\"SM70\",\"P.Cat\":2,\"Anno\":1956,\"Squadra\":\"A.S.D. ATLETICA APRICENA\",\"Tessera\":\"QA182791\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG811\",\"Tempo\":\"00:59:40\",\"TipoClass\":\"-\",\"TEMPO\":\"00:59:40\",\"MEDIA\":\"5,14\",\"\":null},{\"Pos\":73,\"Pett\":3995,\"Cognome\":\"PONTONIO\",\"Nome\":\"AGOSTINO\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":68,\"Cat\":\"SM50\",\"P.Cat\":14,\"Anno\":1976,\"Squadra\":\"RUNNING CLUB TORREMAGGIORE\",\"Tessera\":\"QD004090\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG291\",\"Tempo\":\"00:59:45\",\"TipoClass\":\"-\",\"TEMPO\":\"00:59:45\",\"MEDIA\":\"5,15\",\"\":null},{\"Pos\":74,\"Pett\":6935,\"Cognome\":\"TRIGGIANI\",\"Nome\":\"FILOMENA\",\"Naz\":\"it\",\"Sesso\":\"F\",\"P.Sesso\":6,\"Cat\":\"SF45\",\"P.Cat\":3,\"Anno\":1980,\"Squadra\":\"PODISTICA VICO DEL GARGANO\",\"Tessera\":\"QD003361\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG801\",\"Tempo\":\"00:59:48\",\"TipoClass\":\"-\",\"TEMPO\":\"00:59:48\",\"MEDIA\":\"5,15\",\"\":null},{\"Pos\":75,\"Pett\":3977,\"Cognome\":\"PELUSI\",\"Nome\":\"MICHELE NATALE\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":69,\"Cat\":\"SM60\",\"P.Cat\":9,\"Anno\":1965,\"Squadra\":\"A.S. PEGASO\",\"Tessera\":\"QA173693\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG278\",\"Tempo\":\"01:00:22\",\"TipoClass\":\"-\",\"TEMPO\":\"01:00:22\",\"MEDIA\":\"5,18\",\"\":null},{\"Pos\":76,\"Pett\":3909,\"Cognome\":\"GRANATIERI\",\"Nome\":\"ROBERTO\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":70,\"Cat\":\"SM55\",\"P.Cat\":8,\"Anno\":1969,\"Squadra\":\"GR. POD. MONTE SANTANGELO\",\"Tessera\":\"QD005637\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG292\",\"Tempo\":\"01:00:28\",\"TipoClass\":\"-\",\"TEMPO\":\"01:00:28\",\"MEDIA\":\"5,18\",\"\":null},{\"Pos\":77,\"Pett\":6984,\"Cognome\":\"SOLIMANDO\",\"Nome\":\"BRUNO\",\"Naz\":\"germania repubblica federale\",\"Sesso\":\"M\",\"P.Sesso\":71,\"Cat\":\"SM50\",\"P.Cat\":15,\"Anno\":1974,\"Squadra\":\"ATL. SAN NICANDRO GARGANICO\",\"Tessera\":\"QD000965\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG283\",\"Tempo\":\"01:01:00\",\"TipoClass\":\"-\",\"TEMPO\":\"01:01:00\",\"MEDIA\":\"5,21\",\"\":null},{\"Pos\":78,\"Pett\":5341,\"Cognome\":\"SIMONETTI\",\"Nome\":\"ROSSANA\",\"Naz\":\"italia\",\"Sesso\":\"F\",\"P.Sesso\":7,\"Cat\":\"SF40\",\"P.Cat\":2,\"Anno\":1983,\"Squadra\":\"A.S.D. RUNNING ACADEMY LUCERA\",\"Tessera\":\"QD001888\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG803\",\"Tempo\":\"01:01:03\",\"TipoClass\":\"-\",\"TEMPO\":\"01:01:03\",\"MEDIA\":\"5,21\",\"\":null},{\"Pos\":79,\"Pett\":6878,\"Cognome\":\"GRAMEGNA\",\"Nome\":\"LUCA\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":72,\"Cat\":\"SM\",\"P.Cat\":10,\"Anno\":1996,\"Squadra\":\"A.S.D. RUNNING ACADEMY LUCERA\",\"Tessera\":\"QD005627\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG803\",\"Tempo\":\"01:01:03\",\"TipoClass\":\"-\",\"TEMPO\":\"01:01:03\",\"MEDIA\":\"5,21\",\"\":null},{\"Pos\":80,\"Pett\":3851,\"Cognome\":\"GRIFA\",\"Nome\":\"MICHELE\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":73,\"Cat\":\"SM70\",\"P.Cat\":3,\"Anno\":1955,\"Squadra\":\"ASD CORRERE IN PUGLIA RUNCARD\",\"Tessera\":250532760,\"Ente\":\"RUNCARDEPS\",\"Cod.Squadra\":\"S310422\",\"Tempo\":\"01:01:10\",\"TipoClass\":\"-\",\"TEMPO\":\"01:01:10\",\"MEDIA\":\"5,22\",\"\":null},{\"Pos\":81,\"Pett\":6886,\"Cognome\":\"NASTASA\",\"Nome\":\"MIHAI VASILE\",\"Naz\":\"ro - romania\",\"Sesso\":\"M\",\"P.Sesso\":74,\"Cat\":\"SM45\",\"P.Cat\":10,\"Anno\":1977,\"Squadra\":\"A.S.D. RUNNING ACADEMY LUCERA\",\"Tessera\":\"QD005492\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG803\",\"Tempo\":\"01:01:13\",\"TipoClass\":\"-\",\"TEMPO\":\"01:01:13\",\"MEDIA\":\"5,22\",\"\":null},{\"Pos\":82,\"Pett\":999,\"Cognome\":\"IACCARINO\",\"Nome\":\"SALVATORE\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":75,\"Cat\":\"SM70\",\"P.Cat\":4,\"Anno\":1954,\"Squadra\":\"A.S.D. ATL. PADRE PIO S.G.R.\",\"Tessera\":\"QA007699\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG276\",\"Tempo\":\"01:01:36\",\"TipoClass\":\"-\",\"TEMPO\":\"01:01:36\",\"MEDIA\":\"5,24\",\"\":null},{\"Pos\":83,\"Pett\":6728,\"Cognome\":\"RUSCITTO\",\"Nome\":\"GRAZIA\",\"Naz\":\"it\",\"Sesso\":\"F\",\"P.Sesso\":8,\"Cat\":\"EPSF\",\"P.Cat\":1,\"Anno\":1973,\"Squadra\":\"A.S.D. CORRERE IN PUGLIA\",\"Tessera\":250532761,\"Ente\":\"UISP\",\"Cod.Squadra\":\"S310422\",\"Tempo\":\"01:01:37\",\"TipoClass\":\"-\",\"TEMPO\":\"01:01:37\",\"MEDIA\":\"5,24\",\"\":null},{\"Pos\":84,\"Pett\":3068,\"Cognome\":\"VETERE\",\"Nome\":\"NICOLA\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":76,\"Cat\":\"SM65\",\"P.Cat\":5,\"Anno\":1958,\"Squadra\":\"I SARACENI DI LUCERA\",\"Tessera\":\"QD001951\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG806\",\"Tempo\":\"01:01:48\",\"TipoClass\":\"-\",\"TEMPO\":\"01:01:48\",\"MEDIA\":\"5,25\",\"\":null},{\"Pos\":85,\"Pett\":3993,\"Cognome\":\"CIRELLA\",\"Nome\":\"STEFANO\",\"Naz\":\"germania\",\"Sesso\":\"M\",\"P.Sesso\":77,\"Cat\":\"EPSM\",\"P.Cat\":2,\"Anno\":1968,\"Squadra\":\"A.S.D. CORRERE IN PUGLIA\",\"Tessera\":250532758,\"Ente\":\"UISP\",\"Cod.Squadra\":\"S310422\",\"Tempo\":\"01:01:59\",\"TipoClass\":\"-\",\"TEMPO\":\"01:01:59\",\"MEDIA\":\"5,26\",\"\":null},{\"Pos\":86,\"Pett\":2234,\"Cognome\":\"COLUMPSI\",\"Nome\":\"ROBERTO\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":78,\"Cat\":\"SM45\",\"P.Cat\":11,\"Anno\":1978,\"Squadra\":\"ASD VELOCLUB CARPINO RUNNERS\",\"Tessera\":\"QD001615\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG293\",\"Tempo\":\"01:02:48\",\"TipoClass\":\"-\",\"TEMPO\":\"01:02:48\",\"MEDIA\":\"5,31\",\"\":null},{\"Pos\":87,\"Pett\":6933,\"Cognome\":\"IACOVONE\",\"Nome\":\"GINA\",\"Naz\":\"italia\",\"Sesso\":\"F\",\"P.Sesso\":9,\"Cat\":\"SF45\",\"P.Cat\":4,\"Anno\":1978,\"Squadra\":\"PODISTICA VICO DEL GARGANO\",\"Tessera\":\"QD003538\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG801\",\"Tempo\":\"01:03:13\",\"TipoClass\":\"-\",\"TEMPO\":\"01:03:13\",\"MEDIA\":\"5,33\",\"\":null},{\"Pos\":88,\"Pett\":3872,\"Cognome\":\"TIGRE\",\"Nome\":\"ROMEO\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":79,\"Cat\":\"SM55\",\"P.Cat\":9,\"Anno\":1967,\"Squadra\":\"U.S. FOGGIA ATL. LEGGERA\",\"Tessera\":\"QA182876\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG202\",\"Tempo\":\"01:03:14\",\"TipoClass\":\"-\",\"TEMPO\":\"01:03:14\",\"MEDIA\":\"5,33\",\"\":null},{\"Pos\":89,\"Pett\":3057,\"Cognome\":\"IMPERILLO\",\"Nome\":\"ROSALIA\",\"Naz\":\"it\",\"Sesso\":\"F\",\"P.Sesso\":10,\"Cat\":\"SF50\",\"P.Cat\":2,\"Anno\":1973,\"Squadra\":\"I SARACENI DI LUCERA\",\"Tessera\":\"QD005476\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG806\",\"Tempo\":\"01:03:45\",\"TipoClass\":\"-\",\"TEMPO\":\"01:03:45\",\"MEDIA\":\"5,36\",\"\":null},{\"Pos\":90,\"Pett\":4659,\"Cognome\":\"DE FELICE\",\"Nome\":\"JACOPO\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":80,\"Cat\":\"SM\",\"P.Cat\":11,\"Anno\":1997,\"Squadra\":\"ATL. SAN NICANDRO GARGANICO\",\"Tessera\":\"QD005699\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG283\",\"Tempo\":\"01:03:55\",\"TipoClass\":\"-\",\"TEMPO\":\"01:03:55\",\"MEDIA\":\"5,36\",\"\":null},{\"Pos\":91,\"Pett\":4660,\"Cognome\":\"GIAGNORIO\",\"Nome\":\"DONATANGELO\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":81,\"Cat\":\"JM\",\"P.Cat\":1,\"Anno\":2007,\"Squadra\":\"A.S.D. RUNNERS SAN NICANDRO\",\"Tessera\":\"QD005695\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG822\",\"Tempo\":\"01:04:42\",\"TipoClass\":\"-\",\"TEMPO\":\"01:04:42\",\"MEDIA\":\"5,41\",\"\":null},{\"Pos\":92,\"Pett\":6934,\"Cognome\":\"PRICCI\",\"Nome\":\"GIOVANNI\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":82,\"Cat\":\"SM65\",\"P.Cat\":6,\"Anno\":1961,\"Squadra\":\"PODISTICA VICO DEL GARGANO\",\"Tessera\":\"QD000967\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG801\",\"Tempo\":\"01:04:52\",\"TipoClass\":\"-\",\"TEMPO\":\"01:04:52\",\"MEDIA\":\"5,41\",\"\":null},{\"Pos\":93,\"Pett\":2450,\"Cognome\":\"NAPOLETANO\",\"Nome\":\"FRANCESCO\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":83,\"Cat\":\"SM65\",\"P.Cat\":7,\"Anno\":1960,\"Squadra\":\"G.S. ATL. SAN FERDINANDO\",\"Tessera\":\"QA168601\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG257\",\"Tempo\":\"01:04:59\",\"TipoClass\":\"-\",\"TEMPO\":\"01:04:59\",\"MEDIA\":\"5,42\",\"\":null},{\"Pos\":94,\"Pett\":6929,\"Cognome\":\"CARIGLIA\",\"Nome\":\"GRAZIELLA\",\"Naz\":\"svizzera\",\"Sesso\":\"F\",\"P.Sesso\":11,\"Cat\":\"SF50\",\"P.Cat\":3,\"Anno\":1973,\"Squadra\":\"PODISTICA VICO DEL GARGANO\",\"Tessera\":\"QD003362\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG801\",\"Tempo\":\"01:05:32\",\"TipoClass\":\"-\",\"TEMPO\":\"01:05:32\",\"MEDIA\":\"5,45\",\"\":null},{\"Pos\":95,\"Pett\":5877,\"Cognome\":\"DE PETRIS\",\"Nome\":\"FABIO PIO\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":84,\"Cat\":\"SM50\",\"P.Cat\":16,\"Anno\":1973,\"Squadra\":\"PODISTICA VICO DEL GARGANO\",\"Tessera\":\"QD002827\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG801\",\"Tempo\":\"01:05:34\",\"TipoClass\":\"-\",\"TEMPO\":\"01:05:34\",\"MEDIA\":\"5,45\",\"\":null},{\"Pos\":96,\"Pett\":6998,\"Cognome\":\"MARINACCI\",\"Nome\":\"GIOVANNI PIO DOMENIC\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":85,\"Cat\":\"SM45\",\"P.Cat\":12,\"Anno\":1977,\"Squadra\":\"A.S.D. RUNNERS SAN NICANDRO\",\"Tessera\":\"QD004548\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG822\",\"Tempo\":\"01:06:05\",\"TipoClass\":\"-\",\"TEMPO\":\"01:06:05\",\"MEDIA\":\"5,48\",\"\":null},{\"Pos\":97,\"Pett\":6964,\"Cognome\":\"CURSIO\",\"Nome\":\"MICHELE\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":86,\"Cat\":\"SM50\",\"P.Cat\":17,\"Anno\":1975,\"Squadra\":\"ASD 71100 RUNNING TEAM\",\"Tessera\":\"QD001304\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG820\",\"Tempo\":\"01:06:42\",\"TipoClass\":\"-\",\"TEMPO\":\"01:06:42\",\"MEDIA\":\"5,51\",\"\":null},{\"Pos\":98,\"Pett\":6766,\"Cognome\":\"D'ERRICO\",\"Nome\":\"MICHELE\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":87,\"Cat\":\"SM75\",\"P.Cat\":2,\"Anno\":1951,\"Squadra\":\"A.S.D. RUN & FUN SAN SEVERO\",\"Tessera\":\"QD001065\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG281\",\"Tempo\":\"01:06:45\",\"TipoClass\":\"-\",\"TEMPO\":\"01:06:45\",\"MEDIA\":\"5,51\",\"\":null},{\"Pos\":99,\"Pett\":3702,\"Cognome\":\"DELCAMPO\",\"Nome\":\"ANTONIO\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":88,\"Cat\":\"SM75\",\"P.Cat\":3,\"Anno\":1951,\"Squadra\":\"A.S.D. ATLETICA APRICENA\",\"Tessera\":\"QD002331\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG811\",\"Tempo\":\"01:06:49\",\"TipoClass\":\"-\",\"TEMPO\":\"01:06:49\",\"MEDIA\":\"5,52\",\"\":null},{\"Pos\":100,\"Pett\":3378,\"Cognome\":\"TOZZI\",\"Nome\":\"MICHELE VINCENZO\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":89,\"Cat\":\"SM60\",\"P.Cat\":10,\"Anno\":1964,\"Squadra\":\"I PODISTI DI CAPITANATA\",\"Tessera\":\"QD002770\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG280\",\"Tempo\":\"01:07:06\",\"TipoClass\":\"-\",\"TEMPO\":\"01:07:06\",\"MEDIA\":\"5,53\",\"\":null},{\"Pos\":101,\"Pett\":3881,\"Cognome\":\"TROTTA\",\"Nome\":\"FRANCESCO\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":90,\"Cat\":\"SM50\",\"P.Cat\":18,\"Anno\":1972,\"Squadra\":\"ASS.GARGANO 2000 ONLUS MANFRE\",\"Tessera\":\"QA177368\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG269\",\"Tempo\":\"01:07:13\",\"TipoClass\":\"-\",\"TEMPO\":\"01:07:13\",\"MEDIA\":\"5,54\",\"\":null},{\"Pos\":102,\"Pett\":4105,\"Cognome\":\"VOLPE\",\"Nome\":\"ANTONIO\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":91,\"Cat\":\"SM60\",\"P.Cat\":11,\"Anno\":1963,\"Squadra\":\"A.S. PEGASO\",\"Tessera\":\"QA181904\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG278\",\"Tempo\":\"01:07:23\",\"TipoClass\":\"-\",\"TEMPO\":\"01:07:23\",\"MEDIA\":\"5,55\",\"\":null},{\"Pos\":103,\"Pett\":6865,\"Cognome\":\"PASQUALE\",\"Nome\":\"GUERINO\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":92,\"Cat\":\"SM65\",\"P.Cat\":8,\"Anno\":1960,\"Squadra\":\"A.S.D. RUN & FUN SAN SEVERO\",\"Tessera\":\"QA176577\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG281\",\"Tempo\":\"01:07:24\",\"TipoClass\":\"-\",\"TEMPO\":\"01:07:24\",\"MEDIA\":\"5,55\",\"\":null},{\"Pos\":104,\"Pett\":3855,\"Cognome\":\"PALUMBO\",\"Nome\":\"FABIOLA\",\"Naz\":\"italia\",\"Sesso\":\"F\",\"P.Sesso\":12,\"Cat\":\"SF40\",\"P.Cat\":3,\"Anno\":1985,\"Squadra\":\"A.S.D. ASOPICO RUNNING BARI\",\"Tessera\":\"QB018152\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"BA586\",\"Tempo\":\"01:07:25\",\"TipoClass\":\"-\",\"TEMPO\":\"01:07:25\",\"MEDIA\":\"5,55\",\"\":null},{\"Pos\":105,\"Pett\":6967,\"Cognome\":\"PANE\",\"Nome\":\"VITO\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":93,\"Cat\":\"SM40\",\"P.Cat\":7,\"Anno\":1983,\"Squadra\":\"ASD 71100 RUNNING TEAM\",\"Tessera\":\"QD005573\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG820\",\"Tempo\":\"01:07:25\",\"TipoClass\":\"-\",\"TEMPO\":\"01:07:25\",\"MEDIA\":\"5,55\",\"\":null},{\"Pos\":106,\"Pett\":2233,\"Cognome\":\"AZZARONE\",\"Nome\":\"MATTEO\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":94,\"Cat\":\"SM50\",\"P.Cat\":19,\"Anno\":1974,\"Squadra\":\"ASD VELOCLUB CARPINO RUNNERS\",\"Tessera\":\"QD002584\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG293\",\"Tempo\":\"01:07:45\",\"TipoClass\":\"-\",\"TEMPO\":\"01:07:45\",\"MEDIA\":\"5,57\",\"\":null},{\"Pos\":107,\"Pett\":1692,\"Cognome\":\"GRAMAZIO\",\"Nome\":\"GABRIELLA\",\"Naz\":\"italia\",\"Sesso\":\"F\",\"P.Sesso\":13,\"Cat\":\"SF45\",\"P.Cat\":5,\"Anno\":1979,\"Squadra\":\"ASD GYMNASIUM 2010 ISCHITELLA\",\"Tessera\":\"QD005012\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG800\",\"Tempo\":\"01:08:12\",\"TipoClass\":\"-\",\"TEMPO\":\"01:08:12\",\"MEDIA\":\"5,59\",\"\":null},{\"Pos\":108,\"Pett\":3954,\"Cognome\":\"FERRI\",\"Nome\":\"GIUSEPPE\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":95,\"Cat\":\"SM65\",\"P.Cat\":9,\"Anno\":1957,\"Squadra\":\"A.S.D. DAUNIA RUNNING\",\"Tessera\":\"QD002352\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG299\",\"Tempo\":\"01:08:51\",\"TipoClass\":\"-\",\"TEMPO\":\"01:08:51\",\"MEDIA\":\"6,02\",\"\":null},{\"Pos\":109,\"Pett\":4404,\"Cognome\":\"MERICO\",\"Nome\":\"ANTONIO\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":96,\"Cat\":\"SM55\",\"P.Cat\":10,\"Anno\":1971,\"Squadra\":\"BARLETTA SPORTIVA\",\"Tessera\":\"QB016317\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"BA592\",\"Tempo\":\"01:09:08\",\"TipoClass\":\"-\",\"TEMPO\":\"01:09:08\",\"MEDIA\":\"6,04\",\"\":null},{\"Pos\":110,\"Pett\":6818,\"Cognome\":\"PLACENTINO\",\"Nome\":\"ANTONIO\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":97,\"Cat\":\"SM65\",\"P.Cat\":10,\"Anno\":1958,\"Squadra\":\"A.S.D. RUNNERS SAN NICANDRO\",\"Tessera\":\"QD005461\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG822\",\"Tempo\":\"01:09:11\",\"TipoClass\":\"-\",\"TEMPO\":\"01:09:11\",\"MEDIA\":\"6,04\",\"\":null},{\"Pos\":111,\"Pett\":5315,\"Cognome\":\"LARICCIA\",\"Nome\":\"RENATO\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":98,\"Cat\":\"SM70\",\"P.Cat\":5,\"Anno\":1956,\"Squadra\":\"RUNNING CLUB TORREMAGGIORE\",\"Tessera\":\"QD001355\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG291\",\"Tempo\":\"01:09:18\",\"TipoClass\":\"-\",\"TEMPO\":\"01:09:18\",\"MEDIA\":\"6,05\",\"\":null},{\"Pos\":112,\"Pett\":3956,\"Cognome\":\"LONGO\",\"Nome\":\"MATTEO\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":99,\"Cat\":\"SM75\",\"P.Cat\":4,\"Anno\":1948,\"Squadra\":\"A.S.D. DAUNIA RUNNING\",\"Tessera\":\"QD001371\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG299\",\"Tempo\":\"01:09:20\",\"TipoClass\":\"-\",\"TEMPO\":\"01:09:20\",\"MEDIA\":\"6,05\",\"\":null},{\"Pos\":113,\"Pett\":3323,\"Cognome\":\"BOMBACIGNO\",\"Nome\":\"MARIA PATRIZIA\",\"Naz\":\"it\",\"Sesso\":\"F\",\"P.Sesso\":14,\"Cat\":\"SF50\",\"P.Cat\":4,\"Anno\":1974,\"Squadra\":\"I PODISTI DI CAPITANATA\",\"Tessera\":\"QD002235\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG280\",\"Tempo\":\"01:09:35\",\"TipoClass\":\"-\",\"TEMPO\":\"01:09:35\",\"MEDIA\":\"6,06\",\"\":null},{\"Pos\":114,\"Pett\":6855,\"Cognome\":\"BALSAMO\",\"Nome\":\"MARGHERITA\",\"Naz\":\"italia\",\"Sesso\":\"F\",\"P.Sesso\":15,\"Cat\":\"SF50\",\"P.Cat\":5,\"Anno\":1974,\"Squadra\":\"ASD GYMNASIUM 2010 ISCHITELLA\",\"Tessera\":\"QD004271\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG800\",\"Tempo\":\"01:10:06\",\"TipoClass\":\"-\",\"TEMPO\":\"01:10:06\",\"MEDIA\":\"6,09\",\"\":null},{\"Pos\":115,\"Pett\":3896,\"Cognome\":\"DENITTIS\",\"Nome\":\"GIOVANNI\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":100,\"Cat\":\"SM70\",\"P.Cat\":6,\"Anno\":1956,\"Squadra\":\"VIESTE RUNNERS\",\"Tessera\":\"QD004975\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG289\",\"Tempo\":\"01:11:07\",\"TipoClass\":\"-\",\"TEMPO\":\"01:11:07\",\"MEDIA\":\"6,14\",\"\":null},{\"Pos\":116,\"Pett\":6922,\"Cognome\":\"ESPOSITO\",\"Nome\":\"GIANCARLO\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":101,\"Cat\":\"SM60\",\"P.Cat\":12,\"Anno\":1962,\"Squadra\":\"RUNNING CLUB TORREMAGGIORE\",\"Tessera\":\"QA185574\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG291\",\"Tempo\":\"01:11:32\",\"TipoClass\":\"-\",\"TEMPO\":\"01:11:32\",\"MEDIA\":\"6,17\",\"\":null},{\"Pos\":117,\"Pett\":4655,\"Cognome\":\"D'APOLITO\",\"Nome\":\"MICHELINA\",\"Naz\":\"italia\",\"Sesso\":\"F\",\"P.Sesso\":16,\"Cat\":\"SF55\",\"P.Cat\":1,\"Anno\":1970,\"Squadra\":\"A.S. PEGASO\",\"Tessera\":\"QD000740\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG278\",\"Tempo\":\"01:12:27\",\"TipoClass\":\"-\",\"TEMPO\":\"01:12:27\",\"MEDIA\":\"6,21\",\"\":null},{\"Pos\":118,\"Pett\":4656,\"Cognome\":\"DI MAGGIO\",\"Nome\":\"MATTEO\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":102,\"Cat\":\"SM55\",\"P.Cat\":11,\"Anno\":1969,\"Squadra\":\"A.S. PEGASO\",\"Tessera\":\"QD000741\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG278\",\"Tempo\":\"01:12:29\",\"TipoClass\":\"-\",\"TEMPO\":\"01:12:29\",\"MEDIA\":\"6,22\",\"\":null},{\"Pos\":119,\"Pett\":2792,\"Cognome\":\"POMPILIO\",\"Nome\":\"MICHELE\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":103,\"Cat\":\"SM65\",\"P.Cat\":11,\"Anno\":1957,\"Squadra\":\"A.S.D. ATL. PADRE PIO S.G.R.\",\"Tessera\":\"QA186188\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG276\",\"Tempo\":\"01:13:08\",\"TipoClass\":\"-\",\"TEMPO\":\"01:13:08\",\"MEDIA\":\"6,25\",\"\":null},{\"Pos\":120,\"Pett\":3877,\"Cognome\":\"MASTROLUCA\",\"Nome\":\"LUIGI ANTONIO\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":104,\"Cat\":\"SM50\",\"P.Cat\":20,\"Anno\":1973,\"Squadra\":\"I SARACENI DI LUCERA\",\"Tessera\":\"QD002181\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG806\",\"Tempo\":\"01:13:16\",\"TipoClass\":\"-\",\"TEMPO\":\"01:13:16\",\"MEDIA\":\"6,26\",\"\":null},{\"Pos\":121,\"Pett\":9234,\"Cognome\":\"MASCOLO\",\"Nome\":\"CONCETTA\",\"Naz\":\"italia\",\"Sesso\":\"F\",\"P.Sesso\":17,\"Cat\":\"SF35\",\"P.Cat\":2,\"Anno\":1991,\"Squadra\":\"RUNCARD\",\"Tessera\":\"RR477918\",\"Ente\":\"RUNCARD\",\"Cod.Squadra\":\"RR999\",\"Tempo\":\"01:13:51\",\"TipoClass\":\"-\",\"TEMPO\":\"01:13:51\",\"MEDIA\":\"6,29\",\"\":null},{\"Pos\":122,\"Pett\":4662,\"Cognome\":\"MASCOLO\",\"Nome\":\"GIOVANNI\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":105,\"Cat\":\"SM55\",\"P.Cat\":12,\"Anno\":1967,\"Squadra\":\"RUNCARD\",\"Tessera\":\"RR435649\",\"Ente\":\"RUNCARD\",\"Cod.Squadra\":\"RR999\",\"Tempo\":\"01:13:52\",\"TipoClass\":\"-\",\"TEMPO\":\"01:13:52\",\"MEDIA\":\"6,29\",\"\":null},{\"Pos\":123,\"Pett\":6927,\"Cognome\":\"AMICONE\",\"Nome\":\"ADELIA\",\"Naz\":\"italia\",\"Sesso\":\"F\",\"P.Sesso\":18,\"Cat\":\"SF40\",\"P.Cat\":4,\"Anno\":1984,\"Squadra\":\"PODISTICA VICO DEL GARGANO\",\"Tessera\":\"QD005301\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG801\",\"Tempo\":\"01:15:19\",\"TipoClass\":\"-\",\"TEMPO\":\"01:15:19\",\"MEDIA\":\"6,36\",\"\":null},{\"Pos\":124,\"Pett\":6761,\"Cognome\":\"IACOVELLI\",\"Nome\":\"PASQUALE\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":106,\"Cat\":\"SM70\",\"P.Cat\":7,\"Anno\":1954,\"Squadra\":\"A.S. PEGASO\",\"Tessera\":\"QA183880\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG278\",\"Tempo\":\"01:16:54\",\"TipoClass\":\"-\",\"TEMPO\":\"01:16:54\",\"MEDIA\":\"6,45\",\"\":null},{\"Pos\":125,\"Pett\":6993,\"Cognome\":\"SALVATORE\",\"Nome\":\"RINA\",\"Naz\":\"italia\",\"Sesso\":\"F\",\"P.Sesso\":19,\"Cat\":\"SF45\",\"P.Cat\":6,\"Anno\":1978,\"Squadra\":\"ASD GYMNASIUM 2010 ISCHITELLA\",\"Tessera\":\"QD002773\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG800\",\"Tempo\":\"01:17:30\",\"TipoClass\":\"-\",\"TEMPO\":\"01:17:30\",\"MEDIA\":\"6,48\",\"\":null},{\"Pos\":126,\"Pett\":3322,\"Cognome\":\"BIANCO\",\"Nome\":\"LEONARDO ANTONIO\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":107,\"Cat\":\"SM55\",\"P.Cat\":13,\"Anno\":1969,\"Squadra\":\"I PODISTI DI CAPITANATA\",\"Tessera\":\"QD003893\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG280\",\"Tempo\":\"01:19:55\",\"TipoClass\":\"-\",\"TEMPO\":\"01:19:55\",\"MEDIA\":\"7,01\",\"\":null},{\"Pos\":127,\"Pett\":6921,\"Cognome\":\"FIORE\",\"Nome\":\"GIOVANNI\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":108,\"Cat\":\"SM60\",\"P.Cat\":13,\"Anno\":1963,\"Squadra\":\"RUNNING CLUB TORREMAGGIORE\",\"Tessera\":\"QD004563\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG291\",\"Tempo\":\"01:20:54\",\"TipoClass\":\"-\",\"TEMPO\":\"01:20:54\",\"MEDIA\":\"7,06\",\"\":null},{\"Pos\":128,\"Pett\":3037,\"Cognome\":\"SALCUNI\",\"Nome\":\"PIETRO\",\"Naz\":\"italia\",\"Sesso\":\"M\",\"P.Sesso\":109,\"Cat\":\"SM70\",\"P.Cat\":8,\"Anno\":1954,\"Squadra\":\"GR. POD. MONTE SANTANGELO\",\"Tessera\":\"QD000196\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG292\",\"Tempo\":\"01:22:02\",\"TipoClass\":\"-\",\"TEMPO\":\"01:22:02\",\"MEDIA\":\"7,12\",\"\":null},{\"Pos\":129,\"Pett\":2439,\"Cognome\":\"CARBONARA\",\"Nome\":\"ANNA MARIA\",\"Naz\":\"it\",\"Sesso\":\"F\",\"P.Sesso\":20,\"Cat\":\"SF65\",\"P.Cat\":1,\"Anno\":1961,\"Squadra\":\"G.S. ATL. SAN FERDINANDO\",\"Tessera\":\"QD003054\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG257\",\"Tempo\":\"01:24:58\",\"TipoClass\":\"AVIS\",\"TEMPO\":\"01:24:58\",\"MEDIA\":\"7,27\",\"\":null},{\"Pos\":130,\"Pett\":6759,\"Cognome\":\"COLUMPSI\",\"Nome\":\"TERESA\",\"Naz\":\"italia\",\"Sesso\":\"F\",\"P.Sesso\":21,\"Cat\":\"SF55\",\"P.Cat\":2,\"Anno\":1969,\"Squadra\":\"A.S. PEGASO\",\"Tessera\":\"QA181903\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG278\",\"Tempo\":\"01:26:07\",\"TipoClass\":\"-\",\"TEMPO\":\"01:26:07\",\"MEDIA\":\"7,33\",\"\":null},{\"Pos\":131,\"Pett\":6965,\"Cognome\":\"DE CILLIS\",\"Nome\":\"ROCCHINA\",\"Naz\":\"italia\",\"Sesso\":\"F\",\"P.Sesso\":22,\"Cat\":\"SF65\",\"P.Cat\":2,\"Anno\":1957,\"Squadra\":\"ASD 71100 RUNNING TEAM\",\"Tessera\":\"QD005598\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG820\",\"Tempo\":\"01:28:37\",\"TipoClass\":\"-\",\"TEMPO\":\"01:28:37\",\"MEDIA\":\"7,46\",\"\":null},{\"Pos\":132,\"Pett\":6773,\"Cognome\":\"MARTINELLI\",\"Nome\":\"MASSIMO\",\"Naz\":\"it\",\"Sesso\":\"M\",\"P.Sesso\":110,\"Cat\":\"SM55\",\"P.Cat\":14,\"Anno\":1967,\"Squadra\":\"A.S.D. RUN & FUN SAN SEVERO\",\"Tessera\":\"QD005611\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG281\",\"Tempo\":\"01:28:38\",\"TipoClass\":\"-\",\"TEMPO\":\"01:28:38\",\"MEDIA\":\"7,47\",\"\":null},{\"Pos\":133,\"Pett\":6776,\"Cognome\":\"LAMEDICA\",\"Nome\":\"MICHELA\",\"Naz\":\"italia\",\"Sesso\":\"F\",\"P.Sesso\":23,\"Cat\":\"SF40\",\"P.Cat\":5,\"Anno\":1985,\"Squadra\":\"RUNNING CLUB TORREMAGGIORE\",\"Tessera\":\"QD005041\",\"Ente\":\"FIDAL\",\"Cod.Squadra\":\"FG291\",\"Tempo\":\"01:29:48\",\"TipoClass\":\"-\",\"TEMPO\":\"01:29:48\",\"MEDIA\":\"7,53\",\"\":null}];\n    const embeddedHeader = {\"title\":\"15^ SAN GIUSEPPE\",\"subtitle\":\"San Nicandro Garganico - Domenica 26 aprile 2026\"};\n\n    const provToReg = {'AG':'Sicilia','AL':'Piemonte','AN':'Marche','AO':'Valle d\\'Aosta','AQ':'Abruzzo','AR':'Toscana','AP':'Marche','AT':'Piemonte','AV':'Campania','BA':'Puglia','BT':'Puglia','BL':'Veneto','BN':'Campania','BG':'Lombardia','BI':'Piemonte','BO':'Emilia-Romagna','BZ':'Trentino-Alto Adige','BS':'Lombardia','BR':'Puglia','CA':'Sardegna','CL':'Sicilia','CB':'Molise','CI':'Sardegna','CE':'Campania','CT':'Sicilia','CZ':'Calabria','CH':'Abruzzo','CO':'Lombardia','CS':'Calabria','CR':'Lombardia','KR':'Calabria','CN':'Piemonte','EN':'Sicilia','FM':'Marche','FE':'Emilia-Romagna','FI':'Toscana','FG':'Puglia','FC':'Emilia-Romagna','FR':'Lazio','GE':'Liguria','GO':'Friuli-Venezia Giulia','GR':'Toscana','IM':'Liguria','IS':'Molise','SP':'Liguria','LT':'Lazio','LE':'Puglia','LC':'Lombardia','LI':'Toscana','LO':'Lombardia','LU':'Toscana','MC':'Marche','MN':'Lombardia','MS':'Toscana','MT':'Basilicata','VS':'Sardegna','ME':'Sicilia','MI':'Lombardia','MO':'Emilia-Romagna','MB':'Lombardia','NA':'Campania','NO':'Piemonte','NU':'Sardegna','OG':'Sardegna','OT':'Sardegna','OR':'Sardegna','PD':'Veneto','PA':'Sicilia','PR':'Emilia-Romagna','PV':'Lombardia','PG':'Umbria','PU':'Marche','PE':'Abruzzo','PC':'Emilia-Romagna','PI':'Toscana','PT':'Toscana','PN':'Friuli-Venezia Giulia','PZ':'Basilicata','PO':'Toscana','RG':'Sicilia','RA':'Emilia-Romagna','RC':'Calabria','RE':'Emilia-Romagna','RI':'Lazio','RN':'Emilia-Romagna','RM':'Lazio','RO':'Veneto','SA':'Campania','SS':'Sardegna','SV':'Liguria','SI':'Toscana','SR':'Sicilia','SO':'Lombardia','TA':'Puglia','TE':'Abruzzo','TR':'Umbria','TO':'Piemonte','TP':'Sicilia','TN':'Trentino-Alto Adige','TV':'Veneto','TS':'Friuli-Venezia Giulia','UD':'Friuli-Venezia Giulia','VA':'Lombardia','VE':'Veneto','VB':'Piemonte','VC':'Piemonte','VR':'Veneto','VV':'Calabria','VI':'Veneto','VT':'Lazio'};\n\n    const fileInput = document.getElementById('csv-file');\n    const adminPanel = document.getElementById('admin-panel');\n    const resultsArea = document.getElementById('results-area');\n    const displayHeader = document.getElementById('display-header');\n    \n    let globalData = [];\n    let arrivedAthletes = [];\n    let charts = {};\n    let globalKeys = {};\n\n    window.onload = () => {\n        if (embeddedData) {\n            \/\/ Se siamo nel file esportato, applichiamo subito i dati e nascondiamo i controlli\n            if(embeddedHeader) {\n                document.getElementById('page-title').textContent = embeddedHeader.title;\n                document.getElementById('page-subtitle').textContent = embeddedHeader.subtitle;\n                displayHeader.classList.remove('hidden');\n            }\n            processData(embeddedData);\n            \n            \/\/ Rimozione di sicurezza estrema nel caso qualcosa sia rimasto\n            document.getElementById('admin-panel')?.remove();\n            document.getElementById('admin-toggle-btn')?.remove();\n            document.getElementById('export-container')?.remove();\n        }\n    };\n\n    function toggleAdmin() { adminPanel.classList.toggle('hidden'); }\n\n    fileInput?.addEventListener('change', (e) => {\n        const file = e.target.files[0];\n        if (!file) return;\n\n        const title = document.getElementById('input-title').value.trim();\n        const subtitle = document.getElementById('input-subtitle').value.trim();\n        if(title) document.getElementById('page-title').textContent = title;\n        if(subtitle) document.getElementById('page-subtitle').textContent = subtitle;\n        if(title || subtitle) displayHeader.classList.remove('hidden');\n\n        Papa.parse(file, {\n            header: true, skipEmptyLines: true, dynamicTyping: true,\n            complete: (results) => {\n                processData(results.data);\n                adminPanel.classList.add('hidden');\n            }\n        });\n    });\n\n    function findKey(headers, targets, strict = false) {\n        return headers.find(h => {\n            const cleanHeader = h.toLowerCase().trim();\n            if (strict) return targets.some(t => cleanHeader === t.toLowerCase());\n            return targets.some(t => cleanHeader.includes(t.toLowerCase()));\n        });\n    }\n\n    function processData(data) {\n        if (!data || data.length === 0) return;\n        globalData = data;\n        const h = Object.keys(data[0]);\n        globalKeys = {\n            pos: findKey(h, ['pos'], true) || findKey(h, ['posizione']),\n            posCat: findKey(h, ['p.cat'], true) || findKey(h, ['pos.cat']),\n            cognome: findKey(h, ['cognome'], true),\n            nome: findKey(h, ['nome'], true),\n            sesso: findKey(h, ['sesso'], true),\n            cat: findKey(h, ['cat'], true) || findKey(h, ['categoria']),\n            squadra: findKey(h, ['squadra'], true) || findKey(h, ['societ\u00e0', 'club']),\n            tempo: findKey(h, ['tempo'], true) || findKey(h, ['time']),\n            codsoc: findKey(h, ['cod.squad', 'codice'], false)\n        };\n\n        arrivedAthletes = data.filter(row => {\n            const v = String(row[globalKeys.tempo] || \"\").trim().toLowerCase();\n            return v !== \"\" && v !== \"0\" && v !== \"dns\" && v !== \"dnf\" && v !== \"rit\" && v !== \"null\";\n        });\n\n        const clubStats = aggregate(arrivedAthletes, globalKeys.squadra);\n        const regionStats = aggregateRegions(arrivedAthletes, globalKeys.codsoc, globalKeys.squadra);\n\n        document.getElementById('stat-finished').textContent = arrivedAthletes.length;\n        document.getElementById('stat-clubs').textContent = Object.keys(clubStats).length;\n\n        renderList('club-list-body', Object.entries(clubStats).sort((a,b) => b[1]-a[1]), true);\n        renderRegionList('region-list-body', Object.entries(regionStats).sort((a,b) => b[1]-a[1]));\n        \n        resultsArea.classList.remove('hidden');\n        updateCharts(\n            aggregate(arrivedAthletes, globalKeys.sesso), \n            aggregate(arrivedAthletes, globalKeys.cat), \n            processTimes(arrivedAthletes, globalKeys.tempo)\n        );\n    }\n\n    function aggregate(data, key) {\n        if (!key) return {};\n        return data.reduce((acc, row) => {\n            let val = String(row[key] || \"N.D.\").trim();\n            if (val.toLowerCase() === \"undefined\" || val.toLowerCase() === \"null\" || val === \"\") return acc;\n            acc[val] = (acc[val] || 0) + 1;\n            return acc;\n        }, {});\n    }\n\n    function aggregateRegions(data, codKey, nameKey) {\n        return data.reduce((acc, row) => {\n            \/\/ Eccezioni specifiche: controlla se CONTIENE \"senza tempo\", \"correre in puglia\" o \"stracagnano\"\n            const teamName = String(row[nameKey] || \"\").trim().toLowerCase();\n            if (teamName.includes('senza tempo') || teamName.includes('correre in puglia') || teamName.includes('stracagnano')) {\n                acc['Puglia'] = (acc['Puglia'] || 0) + 1;\n                return acc;\n            }\n\n            const cod = String(row[codKey] || \"\").trim().toUpperCase();\n            let region = (cod === \"\" || cod === \"NULL\" || cod.toLowerCase() === \"undefined\") ? \"N.D.\" : (cod.startsWith(\"RR\") ? \"Runcard\" : (provToReg[cod.substring(0, 2)] || \"Altro\/Estero\"));\n            if(region !== \"N.D.\") acc[region] = (acc[region] || 0) + 1;\n            return acc;\n        }, {});\n    }\n\n    function processTimes(data, key) {\n        const bins = {};\n        data.forEach(row => {\n            const s = parseToSeconds(String(row[key]));\n            if (!isNaN(s)) {\n                const minGroup = Math.floor(s \/ 300) * 5;\n                const label = `${minGroup}-${minGroup+5} min`;\n                bins[label] = (bins[label] || 0) + 1;\n            }\n        });\n        const filteredBins = Object.fromEntries(\n            Object.entries(bins).filter(([label]) => !label.toLowerCase().includes(\"undefined\") && label.trim() !== \"\")\n        );\n        return Object.fromEntries(Object.entries(filteredBins).sort((a,b) => parseInt(a[0]) - parseInt(b[0])));\n    }\n\n    function parseToSeconds(str) {\n        const p = str.split(':').map(Number);\n        if (p.length === 3) return p[0]*3600 + p[1]*60 + p[2];\n        if (p.length === 2) return p[0]*60 + p[1];\n        return NaN;\n    }\n\n    function renderList(id, items, clickable) {\n        document.getElementById(id).innerHTML = items.map((it, i) => `\n            <tr>\n                <td style=\"width:30px; color:var(--text-muted)\">#${i+1}<\/td>\n                <td><span class=\"${clickable?'club-name-link':''}\" onclick=\"${clickable?`openClubDetails('${it[0].replace(\/'\/g, \"\\\\'\")}')`:''}\">${it[0]}<\/span><\/td>\n                <td style=\"text-align:right\"><span class=\"badge-count\">${it[1]}<\/span><\/td>\n            <\/tr>\n        `).join('');\n    }\n\n    function renderRegionList(id, items) {\n        document.getElementById(id).innerHTML = items.map((it, i) => `\n            <tr>\n                <td style=\"width:30px; color:var(--text-muted)\">#${i+1}<\/td>\n                <td><span class=\"club-name-link\" onclick=\"openRegionDetails('${it[0].replace(\/'\/g, \"\\\\'\")}')\">${it[0]}<\/span><\/td>\n                <td style=\"text-align:right\"><span class=\"badge-count\">${it[1]}<\/span><\/td>\n            <\/tr>\n        `).join('');\n    }\n\n    function openClubDetails(name) {\n        renderModal(name, arrivedAthletes.filter(r => String(r[globalKeys.squadra] || \"\").trim() === name));\n    }\n    \n    function openRegionDetails(regionLabel) {\n        const athletes = arrivedAthletes.filter(row => {\n            const teamName = String(row[globalKeys.squadra] || \"\").trim().toLowerCase();\n            if (teamName.includes('senza tempo') || teamName.includes('correre in puglia') || teamName.includes('stracagnano')) {\n                return regionLabel === 'Puglia';\n            }\n            const cod = String(row[globalKeys.codsoc] || \"\").trim().toUpperCase();\n            let region = (cod === \"\" || cod === \"NULL\" || cod.toLowerCase() === \"undefined\") ? \"N.D.\" : (cod.startsWith(\"RR\") ? \"Runcard\" : (provToReg[cod.substring(0, 2)] || \"Altro\/Estero\"));\n            return region === regionLabel;\n        }).sort((a,b) => (a[globalKeys.pos] || 9999) - (b[globalKeys.pos] || 9999));\n        \n        renderModal(`Provenienza: ${regionLabel}`, athletes);\n    }\n\n    function openCategoryDetails(catName) {\n        renderModal(catName, arrivedAthletes.filter(r => String(r[globalKeys.cat] || \"\").trim() === catName).sort((a,b) => (a[globalKeys.pos] || 9999) - (b[globalKeys.pos] || 9999)));\n    }\n    function openGenderDetails(genderLabel) {\n        renderModal(genderLabel, arrivedAthletes.filter(r => String(r[globalKeys.sesso] || \"\").trim() === genderLabel).sort((a,b) => (a[globalKeys.pos] || 9999) - (b[globalKeys.pos] || 9999)));\n    }\n    function openTimeDetails(label) {\n        const range = label.split(' ')[0].split('-').map(Number);\n        renderModal(label, arrivedAthletes.filter(row => {\n            const min = parseToSeconds(String(row[globalKeys.tempo])) \/ 60;\n            return min >= range[0] && min < range[1];\n        }).sort((a,b) => (a[globalKeys.pos] || 9999) - (b[globalKeys.pos] || 9999)));\n    }\n\n    function renderModal(title, athletes) {\n        document.getElementById('modal-title').textContent = title;\n        document.getElementById('modal-body').innerHTML = athletes.map(a => `\n            <tr>\n                <td>${a[globalKeys.pos] || '-'}<\/td>\n                <td>${a[globalKeys.cognome] || ''} ${a[globalKeys.nome] || ''}<\/td>\n                <td>${a[globalKeys.cat] || ''}<\/td>\n                <td>${a[globalKeys.posCat] || ''}<\/td>\n                <td style=\"text-align:right\">${a[globalKeys.tempo] || ''}<\/td>\n            <\/tr>\n        `).join('');\n        document.getElementById('modal-overlay').style.display = 'flex';\n    }\n\n    function closeModal() { document.getElementById('modal-overlay').style.display = 'none'; }\n\n    function updateCharts(gender, cat, times) {\n        Object.values(charts).forEach(c => c.destroy());\n        const base = { responsive: true, maintainAspectRatio: false };\n        \n        charts.gender = new Chart(document.getElementById('chart-gender'), { \n            type: 'pie', \n            data: { \n                labels: Object.keys(gender), \n                datasets: [{ data: Object.values(gender), backgroundColor: ['#3b82f6', '#ec4899', '#94a3b8'] }] \n            }, \n            options: {\n                ...base,\n                plugins: { legend: { position: 'bottom' } },\n                onClick: (e, el) => {\n                    if (el[0]) {\n                        const index = el[0].index;\n                        const label = charts.gender.data.labels[index];\n                        openGenderDetails(label);\n                    }\n                }\n            } \n        });\n\n        const catLabels = Object.keys(cat);\n        const catCount = catLabels.length;\n        document.getElementById('cat-chart-wrapper').style.height = `${Math.max(400, catCount * 30)}px`;\n\n        charts.cat = new Chart(document.getElementById('chart-categories'), { \n            type: 'bar', \n            data: { \n                labels: catLabels, \n                datasets: [{ \n                    label: 'Atleti',\n                    data: Object.values(cat), \n                    backgroundColor: '#10b981',\n                    borderRadius: 4\n                }] \n            }, \n            options: { \n                ...base, \n                indexAxis: 'y', \n                plugins: { legend: { display: false } },\n                scales: {\n                    x: { beginAtZero: true, grid: { display: false } },\n                    y: { grid: { display: false } }\n                },\n                onClick: (e, el) => el[0] && openCategoryDetails(charts.cat.data.labels[el[0].index]) \n            } \n        });\n\n        charts.times = new Chart(document.getElementById('chart-times'), { \n            type: 'bar', \n            data: { \n                labels: Object.keys(times), \n                datasets: [{ \n                    label: 'Frequenza',\n                    data: Object.values(times), \n                    backgroundColor: '#8b5cf6' \n                }] \n            }, \n            options: { \n                ...base, \n                plugins: { legend: { display: false } },\n                scales: {\n                    x: { grid: { display: false } },\n                    y: { beginAtZero: true }\n                },\n                onClick: (e, el) => el[0] && openTimeDetails(charts.times.data.labels[el[0].index]) \n            } \n        });\n    }\n\n    function copyHTMLSource() {\n        if (!globalData || globalData.length === 0) {\n            alert(\"Carica prima dei dati!\");\n            return;\n        }\n        \n        \/\/ Creiamo un clone temporaneo del documento per manipolarlo senza rovinare l'originale\n        const clone = document.documentElement.cloneNode(true);\n        \n        \/\/ Rimuoviamo TUTTI i componenti che non devono apparire nella versione pubblica\n        const adminBtn = clone.querySelector('#admin-toggle-btn');\n        if (adminBtn) adminBtn.remove();\n        \n        const adminPanel = clone.querySelector('#admin-panel');\n        if (adminPanel) adminPanel.remove();\n        \n        const exportSection = clone.querySelector('#export-container');\n        if (exportSection) exportSection.remove();\n        \n        \/\/ Rendiamo visibili header e risultati di default nel file esportato\n        const resArea = clone.querySelector('#results-area');\n        if (resArea) resArea.classList.remove('hidden');\n        \n        const dispHead = clone.querySelector('#display-header');\n        if (dispHead) dispHead.classList.remove('hidden');\n\n        \/\/ Iniettiamo i dati reali nel clone\n        let source = clone.outerHTML;\n        const dataJson = JSON.stringify(globalData);\n        const headerJson = JSON.stringify({\n            title: document.getElementById('page-title').textContent,\n            subtitle: document.getElementById('page-subtitle').textContent\n        });\n\n        source = source.replace('const embeddedData = null;', `const embeddedData = ${dataJson};`);\n        source = source.replace('const embeddedHeader = null;', `const embeddedHeader = ${headerJson};`);\n\n        \/\/ Copia il codice pulito\n        const textArea = document.createElement(\"textarea\");\n        textArea.value = \"<!DOCTYPE html>\\n\" + source;\n        document.body.appendChild(textArea);\n        textArea.select();\n        document.execCommand('copy');\n        document.body.removeChild(textArea);\n        \n        const status = document.getElementById('copy-status');\n        status.style.opacity = \"1\";\n        setTimeout(() => { status.style.opacity = \"0\"; }, 3000);\n    }\n<\/script>\n\n<\/body><\/html>\n<a class=\"synved-social-button synved-social-button-follow synved-social-size-48 synved-social-resolution-single synved-social-provider-facebook nolightbox\" data-provider=\"facebook\" target=\"_blank\" rel=\"nofollow\" title=\"Seguici su Facebook\" href=\"https:\/\/www.facebook.com\/correre.incapitanata\" style=\"font-size: 0px;width:48px;height:48px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"Facebook\" title=\"Seguici su Facebook\" class=\"synved-share-image synved-social-image synved-social-image-follow\" width=\"48\" height=\"48\" style=\"display: inline;width:48px;height:48px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/www.correreinpuglia.it\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/96x96\/facebook.png\" \/><\/a><a class=\"synved-social-button synved-social-button-follow synved-social-size-48 synved-social-resolution-single synved-social-provider-instagram nolightbox\" data-provider=\"instagram\" target=\"_blank\" rel=\"nofollow\" title=\"Check out our instagram feed\" href=\"https:\/\/www.instagram.com\/correreinpuglia\/\" style=\"font-size: 0px;width:48px;height:48px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"instagram\" title=\"Check out our instagram feed\" class=\"synved-share-image synved-social-image synved-social-image-follow\" width=\"48\" height=\"48\" style=\"display: inline;width:48px;height:48px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/www.correreinpuglia.it\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/96x96\/instagram.png\" \/><\/a><a class=\"synved-social-button synved-social-button-follow synved-social-size-48 synved-social-resolution-single synved-social-provider-mail nolightbox\" data-provider=\"mail\" rel=\"nofollow\" title=\"Contact Us\" href=\"mailto:mail@example.com?subject=Contact%20Request\" style=\"font-size: 0px;width:48px;height:48px;margin:0;margin-bottom:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"mail\" title=\"Contact Us\" class=\"synved-share-image synved-social-image synved-social-image-follow\" width=\"48\" height=\"48\" style=\"display: inline;width:48px;height:48px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/www.correreinpuglia.it\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/96x96\/mail.png\" \/><\/a>","protected":false},"excerpt":{"rendered":"<p>I numeri e le statistiche&#8230;<\/p>\n","protected":false},"author":1,"featured_media":24012,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"ngg_post_thumbnail":0,"_EventAllDay":false,"_EventTimezone":"","_EventStartDate":"","_EventEndDate":"","_EventStartDateUTC":"","_EventEndDateUTC":"","_EventShowMap":false,"_EventShowMapLink":false,"_EventURL":"","_EventCost":"","_EventCostDescription":"","_EventCurrencySymbol":"","_EventCurrencyCode":"","_EventCurrencyPosition":"","_EventDateTimeSeparator":"","_EventTimeRangeSeparator":"","_EventOrganizerID":[],"_EventVenueID":[],"_OrganizerEmail":"","_OrganizerPhone":"","_OrganizerWebsite":"","_VenueAddress":"","_VenueCity":"","_VenueCountry":"","_VenueProvince":"","_VenueState":"","_VenueZip":"","_VenuePhone":"","_VenueURL":"","_VenueStateProvince":"","_VenueLat":"","_VenueLng":"","_VenueShowMap":false,"_VenueShowMapLink":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_cip_icron_race_id":""},"categories":[43,39],"tags":[],"circuito":[],"class_list":["post-24196","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","category-notizie"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>15^ SAN GIUSEPPE: STATISTICHE - CorrereinPuglia.it<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.correreinpuglia.it\/index.php\/2026\/04\/27\/15-san-giuseppe-statistiche\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"15^ SAN GIUSEPPE: STATISTICHE\" \/>\n<meta property=\"og:description\" content=\"I numeri e le statistiche&#8230;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.correreinpuglia.it\/index.php\/2026\/04\/27\/15-san-giuseppe-statistiche\/\" \/>\n<meta property=\"og:site_name\" content=\"CorrereinPuglia.it\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/correre.incapitanata\" \/>\n<meta property=\"article:published_time\" content=\"2026-04-27T04:35:16+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-27T04:35:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.correreinpuglia.it\/wp-content\/uploads\/2026\/03\/statistiche2.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"576\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.correreinpuglia.it\\\/index.php\\\/2026\\\/04\\\/27\\\/15-san-giuseppe-statistiche\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.correreinpuglia.it\\\/index.php\\\/2026\\\/04\\\/27\\\/15-san-giuseppe-statistiche\\\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\\\/\\\/www.correreinpuglia.it\\\/#\\\/schema\\\/person\\\/c2e7f9ff507aa54ade80a1d117c7f22c\"},\"headline\":\"15^ SAN GIUSEPPE: STATISTICHE\",\"datePublished\":\"2026-04-27T04:35:16+00:00\",\"dateModified\":\"2026-04-27T04:35:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.correreinpuglia.it\\\/index.php\\\/2026\\\/04\\\/27\\\/15-san-giuseppe-statistiche\\\/\"},\"wordCount\":205,\"publisher\":{\"@id\":\"https:\\\/\\\/www.correreinpuglia.it\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.correreinpuglia.it\\\/index.php\\\/2026\\\/04\\\/27\\\/15-san-giuseppe-statistiche\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.correreinpuglia.it\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/statistiche2.jpg\",\"articleSection\":[\"NEWS\",\"Notizie\"],\"inLanguage\":\"it-IT\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.correreinpuglia.it\\\/index.php\\\/2026\\\/04\\\/27\\\/15-san-giuseppe-statistiche\\\/\",\"url\":\"https:\\\/\\\/www.correreinpuglia.it\\\/index.php\\\/2026\\\/04\\\/27\\\/15-san-giuseppe-statistiche\\\/\",\"name\":\"15^ SAN GIUSEPPE: STATISTICHE - CorrereinPuglia.it\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.correreinpuglia.it\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.correreinpuglia.it\\\/index.php\\\/2026\\\/04\\\/27\\\/15-san-giuseppe-statistiche\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.correreinpuglia.it\\\/index.php\\\/2026\\\/04\\\/27\\\/15-san-giuseppe-statistiche\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.correreinpuglia.it\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/statistiche2.jpg\",\"datePublished\":\"2026-04-27T04:35:16+00:00\",\"dateModified\":\"2026-04-27T04:35:18+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.correreinpuglia.it\\\/index.php\\\/2026\\\/04\\\/27\\\/15-san-giuseppe-statistiche\\\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.correreinpuglia.it\\\/index.php\\\/2026\\\/04\\\/27\\\/15-san-giuseppe-statistiche\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/www.correreinpuglia.it\\\/index.php\\\/2026\\\/04\\\/27\\\/15-san-giuseppe-statistiche\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.correreinpuglia.it\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/statistiche2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.correreinpuglia.it\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/statistiche2.jpg\",\"width\":1024,\"height\":576},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.correreinpuglia.it\\\/index.php\\\/2026\\\/04\\\/27\\\/15-san-giuseppe-statistiche\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.correreinpuglia.it\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"15^ SAN GIUSEPPE: STATISTICHE\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.correreinpuglia.it\\\/#website\",\"url\":\"https:\\\/\\\/www.correreinpuglia.it\\\/\",\"name\":\"CorrereinPuglia.it\",\"description\":\"Corriamo con Voi!\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.correreinpuglia.it\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.correreinpuglia.it\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.correreinpuglia.it\\\/#organization\",\"name\":\"Correre in Puglia\",\"url\":\"https:\\\/\\\/www.correreinpuglia.it\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/www.correreinpuglia.it\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.correreinpuglia.it\\\/wp-content\\\/uploads\\\/2017\\\/01\\\/logo.jpg\",\"contentUrl\":\"https:\\\/\\\/www.correreinpuglia.it\\\/wp-content\\\/uploads\\\/2017\\\/01\\\/logo.jpg\",\"width\":720,\"height\":250,\"caption\":\"Correre in Puglia\"},\"image\":{\"@id\":\"https:\\\/\\\/www.correreinpuglia.it\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/correre.incapitanata\",\"https:\\\/\\\/www.instagram.com\\\/correreinpuglia\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.correreinpuglia.it\\\/#\\\/schema\\\/person\\\/c2e7f9ff507aa54ade80a1d117c7f22c\",\"name\":\"admin\",\"sameAs\":[\"https:\\\/\\\/www.correreinpuglia.it\"],\"url\":\"https:\\\/\\\/www.correreinpuglia.it\\\/index.php\\\/author\\\/admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"15^ SAN GIUSEPPE: STATISTICHE - CorrereinPuglia.it","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.correreinpuglia.it\/index.php\/2026\/04\/27\/15-san-giuseppe-statistiche\/","og_locale":"it_IT","og_type":"article","og_title":"15^ SAN GIUSEPPE: STATISTICHE","og_description":"I numeri e le statistiche&#8230;","og_url":"https:\/\/www.correreinpuglia.it\/index.php\/2026\/04\/27\/15-san-giuseppe-statistiche\/","og_site_name":"CorrereinPuglia.it","article_publisher":"https:\/\/www.facebook.com\/correre.incapitanata","article_published_time":"2026-04-27T04:35:16+00:00","article_modified_time":"2026-04-27T04:35:18+00:00","og_image":[{"width":1024,"height":576,"url":"https:\/\/www.correreinpuglia.it\/wp-content\/uploads\/2026\/03\/statistiche2.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Scritto da":"admin","Tempo di lettura stimato":"2 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.correreinpuglia.it\/index.php\/2026\/04\/27\/15-san-giuseppe-statistiche\/#article","isPartOf":{"@id":"https:\/\/www.correreinpuglia.it\/index.php\/2026\/04\/27\/15-san-giuseppe-statistiche\/"},"author":{"name":"admin","@id":"https:\/\/www.correreinpuglia.it\/#\/schema\/person\/c2e7f9ff507aa54ade80a1d117c7f22c"},"headline":"15^ SAN GIUSEPPE: STATISTICHE","datePublished":"2026-04-27T04:35:16+00:00","dateModified":"2026-04-27T04:35:18+00:00","mainEntityOfPage":{"@id":"https:\/\/www.correreinpuglia.it\/index.php\/2026\/04\/27\/15-san-giuseppe-statistiche\/"},"wordCount":205,"publisher":{"@id":"https:\/\/www.correreinpuglia.it\/#organization"},"image":{"@id":"https:\/\/www.correreinpuglia.it\/index.php\/2026\/04\/27\/15-san-giuseppe-statistiche\/#primaryimage"},"thumbnailUrl":"https:\/\/www.correreinpuglia.it\/wp-content\/uploads\/2026\/03\/statistiche2.jpg","articleSection":["NEWS","Notizie"],"inLanguage":"it-IT"},{"@type":"WebPage","@id":"https:\/\/www.correreinpuglia.it\/index.php\/2026\/04\/27\/15-san-giuseppe-statistiche\/","url":"https:\/\/www.correreinpuglia.it\/index.php\/2026\/04\/27\/15-san-giuseppe-statistiche\/","name":"15^ SAN GIUSEPPE: STATISTICHE - CorrereinPuglia.it","isPartOf":{"@id":"https:\/\/www.correreinpuglia.it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.correreinpuglia.it\/index.php\/2026\/04\/27\/15-san-giuseppe-statistiche\/#primaryimage"},"image":{"@id":"https:\/\/www.correreinpuglia.it\/index.php\/2026\/04\/27\/15-san-giuseppe-statistiche\/#primaryimage"},"thumbnailUrl":"https:\/\/www.correreinpuglia.it\/wp-content\/uploads\/2026\/03\/statistiche2.jpg","datePublished":"2026-04-27T04:35:16+00:00","dateModified":"2026-04-27T04:35:18+00:00","breadcrumb":{"@id":"https:\/\/www.correreinpuglia.it\/index.php\/2026\/04\/27\/15-san-giuseppe-statistiche\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.correreinpuglia.it\/index.php\/2026\/04\/27\/15-san-giuseppe-statistiche\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.correreinpuglia.it\/index.php\/2026\/04\/27\/15-san-giuseppe-statistiche\/#primaryimage","url":"https:\/\/www.correreinpuglia.it\/wp-content\/uploads\/2026\/03\/statistiche2.jpg","contentUrl":"https:\/\/www.correreinpuglia.it\/wp-content\/uploads\/2026\/03\/statistiche2.jpg","width":1024,"height":576},{"@type":"BreadcrumbList","@id":"https:\/\/www.correreinpuglia.it\/index.php\/2026\/04\/27\/15-san-giuseppe-statistiche\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.correreinpuglia.it\/"},{"@type":"ListItem","position":2,"name":"15^ SAN GIUSEPPE: STATISTICHE"}]},{"@type":"WebSite","@id":"https:\/\/www.correreinpuglia.it\/#website","url":"https:\/\/www.correreinpuglia.it\/","name":"CorrereinPuglia.it","description":"Corriamo con Voi!","publisher":{"@id":"https:\/\/www.correreinpuglia.it\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.correreinpuglia.it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/www.correreinpuglia.it\/#organization","name":"Correre in Puglia","url":"https:\/\/www.correreinpuglia.it\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.correreinpuglia.it\/#\/schema\/logo\/image\/","url":"https:\/\/www.correreinpuglia.it\/wp-content\/uploads\/2017\/01\/logo.jpg","contentUrl":"https:\/\/www.correreinpuglia.it\/wp-content\/uploads\/2017\/01\/logo.jpg","width":720,"height":250,"caption":"Correre in Puglia"},"image":{"@id":"https:\/\/www.correreinpuglia.it\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/correre.incapitanata","https:\/\/www.instagram.com\/correreinpuglia\/"]},{"@type":"Person","@id":"https:\/\/www.correreinpuglia.it\/#\/schema\/person\/c2e7f9ff507aa54ade80a1d117c7f22c","name":"admin","sameAs":["https:\/\/www.correreinpuglia.it"],"url":"https:\/\/www.correreinpuglia.it\/index.php\/author\/admin\/"}]}},"jetpack_publicize_connections":[],"_links":{"self":[{"href":"https:\/\/www.correreinpuglia.it\/index.php\/wp-json\/wp\/v2\/posts\/24196","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.correreinpuglia.it\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.correreinpuglia.it\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.correreinpuglia.it\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.correreinpuglia.it\/index.php\/wp-json\/wp\/v2\/comments?post=24196"}],"version-history":[{"count":1,"href":"https:\/\/www.correreinpuglia.it\/index.php\/wp-json\/wp\/v2\/posts\/24196\/revisions"}],"predecessor-version":[{"id":24197,"href":"https:\/\/www.correreinpuglia.it\/index.php\/wp-json\/wp\/v2\/posts\/24196\/revisions\/24197"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.correreinpuglia.it\/index.php\/wp-json\/wp\/v2\/media\/24012"}],"wp:attachment":[{"href":"https:\/\/www.correreinpuglia.it\/index.php\/wp-json\/wp\/v2\/media?parent=24196"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.correreinpuglia.it\/index.php\/wp-json\/wp\/v2\/categories?post=24196"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.correreinpuglia.it\/index.php\/wp-json\/wp\/v2\/tags?post=24196"},{"taxonomy":"circuito","embeddable":true,"href":"https:\/\/www.correreinpuglia.it\/index.php\/wp-json\/wp\/v2\/circuito?post=24196"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}