From 67bb2d1040ff448e7a3f138306c8b4c8eb88f2e4 Mon Sep 17 00:00:00 2001 From: Marco Kreeft Date: Fri, 13 Sep 2024 22:02:53 +0200 Subject: [PATCH] Change API to api.jolpi.ca --- formulaone-card.js | 2 +- formulaone-card.js.gz | Bin 32766 -> 32792 bytes package.json | 2 +- src/api/ergast-client.ts | 2 +- tests/cards/results.test.ts | 18 +++++++++--------- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/formulaone-card.js b/formulaone-card.js index ccb3748..2daa9f2 100644 --- a/formulaone-card.js +++ b/formulaone-card.js @@ -1,2 +1,2 @@ /*! For license information please see formulaone-card.js.LICENSE.txt */ -(()=>{"use strict";var t={898:(t,e,i)=>{Object.defineProperty(e,"__esModule",{value:!0});const n=i(313),r=i(11),o=i(194),s=i(382);class a extends r.LitElement{constructor(){super(...arguments),this.controlRenderers={[o.FormControlType.Dropdown]:s.renderDropdown,[o.FormControlType.Radio]:s.renderRadio,[o.FormControlType.Checkboxes]:s.renderCheckboxes,[o.FormControlType.EntityDropdown]:s.renderDropdown,[o.FormControlType.Switch]:s.renderSwitch,[o.FormControlType.Textbox]:s.renderTextbox,[o.FormControlType.Filler]:s.renderFiller}}setConfig(t){this._config=t}set hass(t){this._hass=t}renderForm(t){return r.html`
${t.map((t=>{const e=t.cssClass?`form-row ${t.cssClass}`:"form-row";return t.hidden?"":r.html`
${t.controls.map((t=>this.renderControl(t)))}
`}))}
`}renderControl(t){const e=this.controlRenderers[t.type];if(!e)throw new Error(`Unsupported control type: ${t.type}`);return e(this,t)}_valueChanged(t){if(!this._config||!this._hass)return;const e=t.target,i=t.detail;if("HA-CHECKBOX"===e.tagName){const t=this._config[e.configValue].indexOf(e.value);e.checked&&t<0?this._config[e.configValue]=[...this._config[e.configValue],e.value]:!e.checked&&t>-1&&(this._config[e.configValue]=[...this._config[e.configValue].slice(0,t),...this._config[e.configValue].slice(t+1)])}else if(e.configValue)if(e.configValue.indexOf(".")>-1){const[t,i]=e.configValue.split(".");this._config={...this._config,[t]:{...this._config[t],[i]:e.checked}}}else this._config={...this._config,[e.configValue]:void 0===e.checked&&(null==i?void 0:i.value)?e.checked||i.value:e.value||e.checked};(0,n.fireEvent)(this,"config-changed",{config:this._config},{bubbles:!0,composed:!0}),this.requestUpdate("_config")}static get styles(){return r.css`.form-row{margin-bottom:10px}.form-control{display:flex;align-items:center}ha-switch{padding:16px 6px}.side-by-side{display:flex;flex-flow:row wrap}.side-by-side>label{width:100%}.side-by-side>.form-control{width:49%;padding:2px}ha-textfield{width:100%}`}}e.default=a},194:(t,e)=>{var i;Object.defineProperty(e,"__esModule",{value:!0}),e.FormControlType=void 0,function(t){t.Dropdown="dropdown",t.Checkbox="checkbox",t.Checkboxes="checkboxes",t.Radio="radio",t.Switch="switch",t.Textbox="textbox",t.Filler="filler",t.EntityDropdown="entity-dropdown"}(i||(e.FormControlType=i={}))},382:(t,e,i)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.renderCheckboxes=e.renderRadio=e.renderDropdown=e.renderSwitch=e.renderTextbox=e.renderEntityDropdown=e.renderFiller=void 0;const n=i(11),r=i(429);e.renderFiller=()=>n.html`
`,e.renderEntityDropdown=(t,e)=>{var i;return n.html`
`},e.renderTextbox=(t,e)=>{var i;return n.html`
`},e.renderSwitch=(t,e)=>n.html`
`,e.renderDropdown=(t,e)=>{var i;const o=null!==(i=e.items)&&void 0!==i?i:(0,r.getEntitiesByDomain)(t._hass,e.domain);return n.html`
`},e.renderRadio=(t,e)=>n.html`
${e.items.map((i=>n.html``))}
`,e.renderCheckboxes=(t,e)=>n.html` ${e.items.map((i=>{var r;return n.html`
`}))}`},429:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.getDropdownOptionsFromEnum=e.formatList=e.getEntitiesByDeviceClass=e.getEntitiesByDomain=void 0,e.getEntitiesByDomain=(t,i)=>Object.keys(t.states).filter((t=>t.substr(0,t.indexOf("."))===i)).map((i=>(0,e.formatList)(i,t))),e.getEntitiesByDeviceClass=(t,i,n)=>Object.keys(t.states).filter((e=>e.substr(0,e.indexOf("."))===i&&t.states[e].attributes.device_class===n)).map((i=>(0,e.formatList)(i,t))),e.formatList=(t,e)=>({label:e.states[t].attributes.friendly_name,value:t}),e.getDropdownOptionsFromEnum=t=>{const e=[];for(const[i,n]of Object.entries(t))e.push({value:n,label:i});return e}},313:(t,e,i)=>{i.r(e),i.d(e,{DEFAULT_DOMAIN_ICON:()=>J,DEFAULT_PANEL:()=>X,DEFAULT_VIEW_ENTITY_ID:()=>at,DOMAINS_HIDE_MORE_INFO:()=>et,DOMAINS_MORE_INFO_NO_HISTORY:()=>it,DOMAINS_TOGGLE:()=>rt,DOMAINS_WITH_CARD:()=>Z,DOMAINS_WITH_MORE_INFO:()=>tt,NumberFormat:()=>n,STATES_OFF:()=>nt,TimeFormat:()=>r,UNIT_C:()=>ot,UNIT_F:()=>st,applyThemesOnElement:()=>L,computeCardSize:()=>H,computeDomain:()=>U,computeEntity:()=>j,computeRTL:()=>V,computeRTLDirection:()=>G,computeStateDisplay:()=>K,computeStateDomain:()=>B,createThing:()=>ut,debounce:()=>ht,domainIcon:()=>pt,evaluateFilter:()=>ft,fireEvent:()=>lt,fixedIcons:()=>mt,formatDate:()=>d,formatDateMonth:()=>y,formatDateMonthYear:()=>g,formatDateNumeric:()=>h,formatDateShort:()=>p,formatDateTime:()=>C,formatDateTimeNumeric:()=>E,formatDateTimeWithSeconds:()=>S,formatDateWeekday:()=>l,formatDateYear:()=>$,formatNumber:()=>Y,formatTime:()=>x,formatTimeWeekday:()=>P,formatTimeWithSeconds:()=>k,forwardHaptic:()=>gt,getLovelace:()=>Et,handleAction:()=>bt,handleActionConfig:()=>$t,handleClick:()=>wt,hasAction:()=>Ct,hasConfigOrEntityChanged:()=>At,hasDoubleClick:()=>St,isNumericState:()=>q,navigate:()=>vt,numberFormatToLocale:()=>z,relativeTime:()=>M,round:()=>W,stateIcon:()=>Rt,timerTimeRemaining:()=>F,toggleEntity:()=>_t,turnOnOffEntities:()=>Tt,turnOnOffEntity:()=>yt});var n,r,o,s=function(){return s=Object.assign||function(t){for(var e,i=1,n=arguments.length;i0)return{value:Math.round(h),unit:"year"};var m=12*h+d.getMonth()-u.getMonth();if(Math.round(Math.abs(m))>0)return{value:Math.round(m),unit:"month"};var p=r/604800;return{value:Math.round(p),unit:"week"}}(t,i);return n?function(t){return new Intl.RelativeTimeFormat(t.language,{numeric:"auto"})}(e).format(r.value,r.unit):Intl.NumberFormat(e.language,{style:"unit",unit:r.unit,unitDisplay:"long"}).format(Math.abs(r.value))};function F(t){var e,i=3600*(e=t.attributes.remaining.split(":").map(Number))[0]+60*e[1]+e[2];if("active"===t.state){var n=(new Date).getTime(),r=new Date(t.last_changed).getTime();i=Math.max(i-(n-r)/1e3,0)}return i}function I(){return(I=Object.assign||function(t){for(var e=1;e-1?t.split(".")[1].length:0;i.minimumFractionDigits=n,i.maximumFractionDigits=n}return i},K=function(t,e,i,n){var r=void 0!==n?n:e.state;if("unknown"===r||"unavailable"===r)return t("state.default."+r);if(q(e)){if("monetary"===e.attributes.device_class)try{return Y(r,i,{style:"currency",currency:e.attributes.unit_of_measurement})}catch(t){}return Y(r,i)+(e.attributes.unit_of_measurement?" "+e.attributes.unit_of_measurement:"")}var o=B(e);if("input_datetime"===o){var s;if(void 0===n)return e.attributes.has_date&&e.attributes.has_time?(s=new Date(e.attributes.year,e.attributes.month-1,e.attributes.day,e.attributes.hour,e.attributes.minute),C(s,i)):e.attributes.has_date?(s=new Date(e.attributes.year,e.attributes.month-1,e.attributes.day),d(s,i)):e.attributes.has_time?((s=new Date).setHours(e.attributes.hour,e.attributes.minute),x(s,i)):e.state;try{var a=n.split(" ");if(2===a.length)return C(new Date(a.join("T")),i);if(1===a.length){if(n.includes("-"))return d(new Date(n+"T00:00"),i);if(n.includes(":")){var l=new Date;return x(new Date(l.toISOString().split("T")[0]+"T"+n),i)}}return n}catch(t){return n}}return"humidifier"===o&&"on"===r&&e.attributes.humidity?e.attributes.humidity+" %":"counter"===o||"number"===o||"input_number"===o?Y(r,i):e.attributes.device_class&&t("component."+o+".state."+e.attributes.device_class+"."+r)||t("component."+o+".state._."+r)||r},J="mdi:bookmark",X="lovelace",Z=["climate","cover","configurator","input_select","input_number","input_text","lock","media_player","scene","script","timer","vacuum","water_heater","weblink"],tt=["alarm_control_panel","automation","camera","climate","configurator","cover","fan","group","history_graph","input_datetime","light","lock","media_player","script","sun","updater","vacuum","water_heater","weather"],et=["input_number","input_select","input_text","scene","weblink"],it=["camera","configurator","history_graph","scene"],nt=["closed","locked","off"],rt=new Set(["fan","input_boolean","light","switch","group","automation"]),ot="°C",st="°F",at="group.default_view",lt=function(t,e,i,n){n=n||{},i=null==i?{}:i;var r=new Event(e,{bubbles:void 0===n.bubbles||n.bubbles,cancelable:Boolean(n.cancelable),composed:void 0===n.composed||n.composed});return r.detail=i,t.dispatchEvent(r),r},ct=new Set(["call-service","divider","section","weblink","cast","select"]),dt={alert:"toggle",automation:"toggle",climate:"climate",cover:"cover",fan:"toggle",group:"group",input_boolean:"toggle",input_number:"input-number",input_select:"input-select",input_text:"input-text",light:"toggle",lock:"lock",media_player:"media-player",remote:"toggle",scene:"scene",script:"script",sensor:"sensor",timer:"timer",switch:"toggle",vacuum:"toggle",water_heater:"climate",input_datetime:"input-datetime"},ut=function(t,e){void 0===e&&(e=!1);var i=function(t,e){return n("hui-error-card",{type:"error",error:t,config:e})},n=function(t,e){var n=window.document.createElement(t);try{if(!n.setConfig)return;n.setConfig(e)}catch(n){return console.error(t,n),i(n.message,e)}return n};if(!t||"object"!=typeof t||!e&&!t.type)return i("No type defined",t);var r=t.type;if(r&&r.startsWith("custom:"))r=r.substr(7);else if(e)if(ct.has(r))r="hui-"+r+"-row";else{if(!t.entity)return i("Invalid config given.",t);var o=t.entity.split(".",1)[0];r="hui-"+(dt[o]||"text")+"-entity-row"}else r="hui-"+r+"-card";if(customElements.get(r))return n(r,t);var s=i("Custom element doesn't exist: "+t.type+".",t);s.style.display="None";var a=setTimeout((function(){s.style.display=""}),2e3);return customElements.whenDefined(t.type).then((function(){clearTimeout(a),lt(s,"ll-rebuild",{},s)})),s},ht=function(t,e,i){var n;return void 0===i&&(i=!1),function(){var r=[].slice.call(arguments),o=this,s=i&&!n;clearTimeout(n),n=setTimeout((function(){n=null,i||t.apply(o,r)}),e),s&&t.apply(o,r)}},mt={alert:"mdi:alert",automation:"mdi:playlist-play",calendar:"mdi:calendar",camera:"mdi:video",climate:"mdi:thermostat",configurator:"mdi:settings",conversation:"mdi:text-to-speech",device_tracker:"mdi:account",fan:"mdi:fan",group:"mdi:google-circles-communities",history_graph:"mdi:chart-line",homeassistant:"mdi:home-assistant",homekit:"mdi:home-automation",image_processing:"mdi:image-filter-frames",input_boolean:"mdi:drawing",input_datetime:"mdi:calendar-clock",input_number:"mdi:ray-vertex",input_select:"mdi:format-list-bulleted",input_text:"mdi:textbox",light:"mdi:lightbulb",mailbox:"mdi:mailbox",notify:"mdi:comment-alert",person:"mdi:account",plant:"mdi:flower",proximity:"mdi:apple-safari",remote:"mdi:remote",scene:"mdi:google-pages",script:"mdi:file-document",sensor:"mdi:eye",simple_alarm:"mdi:bell",sun:"mdi:white-balance-sunny",switch:"mdi:flash",timer:"mdi:timer",updater:"mdi:cloud-upload",vacuum:"mdi:robot-vacuum",water_heater:"mdi:thermometer",weblink:"mdi:open-in-new"};function pt(t,e){if(t in mt)return mt[t];switch(t){case"alarm_control_panel":switch(e){case"armed_home":return"mdi:bell-plus";case"armed_night":return"mdi:bell-sleep";case"disarmed":return"mdi:bell-outline";case"triggered":return"mdi:bell-ring";default:return"mdi:bell"}case"binary_sensor":return e&&"off"===e?"mdi:radiobox-blank":"mdi:checkbox-marked-circle";case"cover":return"closed"===e?"mdi:window-closed":"mdi:window-open";case"lock":return e&&"unlocked"===e?"mdi:lock-open":"mdi:lock";case"media_player":return e&&"off"!==e&&"idle"!==e?"mdi:cast-connected":"mdi:cast";case"zwave":switch(e){case"dead":return"mdi:emoticon-dead";case"sleeping":return"mdi:sleep";case"initializing":return"mdi:timer-sand";default:return"mdi:z-wave"}default:return console.warn("Unable to find icon for domain "+t+" ("+e+")"),"mdi:bookmark"}}var ft=function(t,e){var i=e.value||e,n=e.attribute?t.attributes[e.attribute]:t.state;switch(e.operator||"=="){case"==":return n===i;case"<=":return n<=i;case"<":return n=":return n>=i;case">":return n>i;case"!=":return n!==i;case"regex":return n.match(i);default:return!1}},gt=function(t){lt(window,"haptic",t)},vt=function(t,e,i){void 0===i&&(i=!1),i?history.replaceState(null,"",e):history.pushState(null,"",e),lt(window,"location-changed",{replace:i})},yt=function(t,e,i){void 0===i&&(i=!0);var n,r=U(e),o="group"===r?"homeassistant":r;switch(r){case"lock":n=i?"unlock":"lock";break;case"cover":n=i?"open_cover":"close_cover";break;default:n=i?"turn_on":"turn_off"}return t.callService(o,n,{entity_id:e})},_t=function(t,e){var i=nt.includes(t.states[e].state);return yt(t,e,i)},$t=function(t,e,i,n){if(n||(n={action:"more-info"}),!n.confirmation||n.confirmation.exemptions&&n.confirmation.exemptions.some((function(t){return t.user===e.user.id}))||(gt("warning"),confirm(n.confirmation.text||"Are you sure you want to "+n.action+"?")))switch(n.action){case"more-info":(i.entity||i.camera_image)&<(t,"hass-more-info",{entityId:i.entity?i.entity:i.camera_image});break;case"navigate":n.navigation_path&&vt(0,n.navigation_path);break;case"url":n.url_path&&window.open(n.url_path);break;case"toggle":i.entity&&(_t(e,i.entity),gt("success"));break;case"call-service":if(!n.service)return void gt("failure");var r=n.service.split(".",2);e.callService(r[0],r[1],n.service_data,n.target),gt("success");break;case"fire-dom-event":lt(t,"ll-custom",n)}},bt=function(t,e,i,n){var r;"double_tap"===n&&i.double_tap_action?r=i.double_tap_action:"hold"===n&&i.hold_action?r=i.hold_action:"tap"===n&&i.tap_action&&(r=i.tap_action),$t(t,e,i,r)},wt=function(t,e,i,n,r){var o;if(r&&i.double_tap_action?o=i.double_tap_action:n&&i.hold_action?o=i.hold_action:!n&&i.tap_action&&(o=i.tap_action),o||(o={action:"more-info"}),!o.confirmation||o.confirmation.exemptions&&o.confirmation.exemptions.some((function(t){return t.user===e.user.id}))||confirm(o.confirmation.text||"Are you sure you want to "+o.action+"?"))switch(o.action){case"more-info":(o.entity||i.entity||i.camera_image)&&(lt(t,"hass-more-info",{entityId:o.entity?o.entity:i.entity?i.entity:i.camera_image}),o.haptic&>(o.haptic));break;case"navigate":o.navigation_path&&(vt(0,o.navigation_path),o.haptic&>(o.haptic));break;case"url":o.url_path&&window.open(o.url_path),o.haptic&>(o.haptic);break;case"toggle":i.entity&&(_t(e,i.entity),o.haptic&>(o.haptic));break;case"call-service":if(!o.service)return;var s=o.service.split(".",2),a=s[0],l=s[1],c=I({},o.service_data);"entity"===c.entity_id&&(c.entity_id=i.entity),e.callService(a,l,c,o.target),o.haptic&>(o.haptic);break;case"fire-dom-event":lt(t,"ll-custom",o),o.haptic&>(o.haptic)}};function Ct(t){return void 0!==t&&"none"!==t.action}function At(t,e,i){if(e.has("config")||i)return!0;if(t.config.entity){var n=e.get("hass");return!n||n.states[t.config.entity]!==t.hass.states[t.config.entity]}return!1}function St(t){return void 0!==t&&"none"!==t.action}var Tt=function(t,e,i){void 0===i&&(i=!0);var n={};e.forEach((function(e){if(nt.includes(t.states[e].state)===i){var r=U(e),o=["cover","lock"].includes(r)?r:"homeassistant";o in n||(n[o]=[]),n[o].push(e)}})),Object.keys(n).forEach((function(e){var r;switch(e){case"lock":r=i?"unlock":"lock";break;case"cover":r=i?"open_cover":"close_cover";break;default:r=i?"turn_on":"turn_off"}t.callService(e,r,{entity_id:n[e]})}))},Et=function(){var t=document.querySelector("home-assistant");if(t=(t=(t=(t=(t=(t=(t=(t=t&&t.shadowRoot)&&t.querySelector("home-assistant-main"))&&t.shadowRoot)&&t.querySelector("app-drawer-layout partial-panel-resolver"))&&t.shadowRoot||t)&&t.querySelector("ha-panel-lovelace"))&&t.shadowRoot)&&t.querySelector("hui-root")){var e=t.lovelace;return e.current_view=t.___curView,e}return null},Dt={humidity:"mdi:water-percent",illuminance:"mdi:brightness-5",temperature:"mdi:thermometer",pressure:"mdi:gauge",power:"mdi:flash",signal_strength:"mdi:wifi"},xt={binary_sensor:function(t,e){var i="off"===t;switch(null==e?void 0:e.attributes.device_class){case"battery":return i?"mdi:battery":"mdi:battery-outline";case"battery_charging":return i?"mdi:battery":"mdi:battery-charging";case"cold":return i?"mdi:thermometer":"mdi:snowflake";case"connectivity":return i?"mdi:server-network-off":"mdi:server-network";case"door":return i?"mdi:door-closed":"mdi:door-open";case"garage_door":return i?"mdi:garage":"mdi:garage-open";case"power":case"plug":return i?"mdi:power-plug-off":"mdi:power-plug";case"gas":case"problem":case"safety":case"tamper":return i?"mdi:check-circle":"mdi:alert-circle";case"smoke":return i?"mdi:check-circle":"mdi:smoke";case"heat":return i?"mdi:thermometer":"mdi:fire";case"light":return i?"mdi:brightness-5":"mdi:brightness-7";case"lock":return i?"mdi:lock":"mdi:lock-open";case"moisture":return i?"mdi:water-off":"mdi:water";case"motion":return i?"mdi:walk":"mdi:run";case"occupancy":case"presence":return i?"mdi:home-outline":"mdi:home";case"opening":return i?"mdi:square":"mdi:square-outline";case"running":return i?"mdi:stop":"mdi:play";case"sound":return i?"mdi:music-note-off":"mdi:music-note";case"update":return i?"mdi:package":"mdi:package-up";case"vibration":return i?"mdi:crop-portrait":"mdi:vibrate";case"window":return i?"mdi:window-closed":"mdi:window-open";default:return i?"mdi:radiobox-blank":"mdi:checkbox-marked-circle"}},cover:function(t){var e="closed"!==t.state;switch(t.attributes.device_class){case"garage":return e?"mdi:garage-open":"mdi:garage";case"door":return e?"mdi:door-open":"mdi:door-closed";case"shutter":return e?"mdi:window-shutter-open":"mdi:window-shutter";case"blind":return e?"mdi:blinds-open":"mdi:blinds";case"window":return e?"mdi:window-open":"mdi:window-closed";default:return pt("cover",t.state)}},sensor:function(t){var e=t.attributes.device_class;if(e&&e in Dt)return Dt[e];if("battery"===e){var i=Number(t.state);if(isNaN(i))return"mdi:battery-unknown";var n=10*Math.round(i/10);return n>=100?"mdi:battery":n<=0?"mdi:battery-alert":"hass:battery-"+n}var r=t.attributes.unit_of_measurement;return"°C"===r||"°F"===r?"mdi:thermometer":pt("sensor")},input_datetime:function(t){return t.attributes.has_date?t.attributes.has_time?pt("input_datetime"):"mdi:calendar":"mdi:clock"}},Rt=function(t){if(!t)return"mdi:bookmark";if(t.attributes.icon)return t.attributes.icon;var e=U(t.entity_id);return e in xt?xt[e](t):pt(e,t.state)}},694:function(t,e){var i=this&&this.__awaiter||function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{l(n.next(t))}catch(t){o(t)}}function a(t){try{l(n.throw(t))}catch(t){o(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}l((n=n.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0}),e.ClientBase=void 0,e.ClientBase=class{GetData(t,e,n){return i(this,void 0,void 0,(function*(){const i=localStorage.getItem(t);if(i&&e){const t=JSON.parse(i),e=new Date;if(e.setHours(e.getHours()-n),new Date(t.created)>e)return JSON.parse(t.data)}const r=yield fetch(`${this.baseUrl}/${t}`,{headers:{Accept:"application/json"}});if(!r||!r.ok)return Promise.reject(r);const o=yield r.json(),s={data:JSON.stringify(o),created:new Date};return e&&localStorage.setItem(t,JSON.stringify(s)),o}))}}},470:function(t,e,i){var n=this&&this.__awaiter||function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{l(n.next(t))}catch(t){o(t)}}function a(t){try{l(n.throw(t))}catch(t){o(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}l((n=n.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0});const r=i(438),o=i(694);class s extends o.ClientBase{constructor(){super(...arguments),this.baseUrl="https://ergast.com/api/f1"}GetSchedule(t){return n(this,void 0,void 0,(function*(){return(yield this.GetData(`${t}.json`,!0,72)).MRData.RaceTable.Races}))}GetLastResult(){return n(this,void 0,void 0,(function*(){const t=(0,r.getRefreshTime)("current/last/results.json");return(yield this.GetData("current/last/results.json",!0,t)).MRData.RaceTable.Races[0]}))}GetDriverStandings(){return n(this,void 0,void 0,(function*(){const t=(0,r.getRefreshTime)("current/driverStandings.json");return(yield this.GetData("current/driverStandings.json",!0,t)).MRData.StandingsTable.StandingsLists[0].DriverStandings}))}GetConstructorStandings(){return n(this,void 0,void 0,(function*(){const t=(0,r.getRefreshTime)("current/constructorStandings.json");return(yield this.GetData("current/constructorStandings.json",!0,t)).MRData.StandingsTable.StandingsLists[0].ConstructorStandings}))}GetSprintResults(t,e){return n(this,void 0,void 0,(function*(){return(yield this.GetData(`${t}/${e}/sprint.json`,!1,0)).MRData.RaceTable}))}GetQualifyingResults(t,e){return n(this,void 0,void 0,(function*(){return(yield this.GetData(`${t}/${e}/qualifying.json`,!1,0)).MRData.RaceTable}))}GetResults(t,e){return n(this,void 0,void 0,(function*(){return(yield this.GetData(`${t}/${e}/results.json`,!1,0)).MRData.RaceTable}))}GetSeasons(){return n(this,void 0,void 0,(function*(){return(yield this.GetData("seasons.json?limit=200",!0,72)).MRData.SeasonTable.Seasons}))}GetSeasonRaces(t){return n(this,void 0,void 0,(function*(){return(yield this.GetData(`${t}.json`,!0,72)).MRData.RaceTable.Races}))}GetLastYearsResults(t){return n(this,void 0,void 0,(function*(){const e=(new Date).getFullYear()-1,i=(yield this.GetData(`${e}.json`,!0,72)).MRData.RaceTable.Races.findIndex((e=>e.Circuit.circuitName===t))+1;return(yield this.GetData(`${e}/${i}/results.json`,!1,0)).MRData.RaceTable.Races[0]}))}RefreshCache(){return n(this,void 0,void 0,(function*(){yield this.GetData("current.json",!0,0),yield this.GetData("current/last/results.json",!0,0),yield this.GetData("current/driverStandings.json",!0,0),yield this.GetData("current/constructorStandings.json",!0,0)}))}}e.default=s},661:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=class{GetImage(t){const e=localStorage.getItem(t);if(e){const t=JSON.parse(e),i=new Date;if(i.setHours(i.getHours()-672),new Date(t.created)>i)return t.data}return fetch(t).then((t=>t.blob())).then((e=>{const i=new FileReader;i.readAsDataURL(e),i.onloadend=function(){const e={data:i.result,created:new Date};return localStorage.setItem(t,JSON.stringify(e)),e.data}})),t}}},959:function(t,e,i){var n=this&&this.__awaiter||function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{l(n.next(t))}catch(t){o(t)}}function a(t){try{l(n.throw(t))}catch(t){o(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}l((n=n.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0});const r=i(694);class o extends r.ClientBase{constructor(){super(...arguments),this.baseUrl="https://restcountries.com/v2"}GetAll(){return n(this,void 0,void 0,(function*(){return yield this.GetData("all",!0,730)}))}GetCountriesFromLocalStorage(){const t=localStorage.getItem("all");if(t){const e=JSON.parse(t);return JSON.parse(e.data)}return[]}}e.default=o},267:function(t,e,i){var n=this&&this.__awaiter||function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{l(n.next(t))}catch(t){o(t)}}function a(t){try{l(n.throw(t))}catch(t){o(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}l((n=n.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0});const r=i(694);class o extends r.ClientBase{constructor(t,e){super(),this.unitGroup="metric",this.baseUrl="https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline",this.apiKey=t,this.unitGroup=null!=e?e:this.unitGroup}getWeatherData(t,e,i){return n(this,void 0,void 0,(function*(){const n=`${t},${e}/${i}?unitGroup=${this.unitGroup}&key=${this.apiKey}&contentType=json`;return yield this.GetData(n,!0,1)}))}}e.default=o},366:(t,e,i)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.BaseCard=void 0;const n=i(470),r=i(661),o=i(267);e.BaseCard=class{constructor(t){var e,i;this.config=t.config,this.client=new n.default,this.hass=t._hass,this.parent=t,this.weatherClient=new o.default(null!==(i=null===(e=this.config.weather_options)||void 0===e?void 0:e.api_key)&&void 0!==i?i:""),this.imageClient=new r.default}translation(t){return!this.config.translations||Object.keys(this.config.translations).indexOf(t)<0?this.defaultTranslations[t]:this.config.translations[t]}getProperties(){var t,e;const i=null===(t=this.parent.properties)||void 0===t?void 0:t.get("cardValues");return{races:null==i?void 0:i.races,selectedRace:null==i?void 0:i.selectedRace,selectedSeason:null==i?void 0:i.selectedSeason,selectedTabIndex:null!==(e=null==i?void 0:i.selectedTabIndex)&&void 0!==e?e:0}}getParentCardValues(){var t,e;const i=null!==(t=this.parent.properties)&&void 0!==t?t:new Map;return{properties:null!==(e=i.get("cardValues"))&&void 0!==e?e:{},cardValues:i}}}},169:(t,e,i)=>{Object.defineProperty(e,"__esModule",{value:!0});const n=i(639),r=i(557),o=i(438),s=i(366);class a extends s.BaseCard{constructor(t){super(t),this.defaultTranslations={constructor:"Constructor",points:"Pts",wins:"Wins"}}cardSize(){return 11}renderStandingRow(t){var e;return n.html`${t.position}${(null===(e=this.config.standings)||void 0===e?void 0:e.show_teamlogo)?n.html` `:""}${t.Constructor.name}${t.points}${t.wins}`}render(){return n.html`${(0,r.until)(this.client.GetConstructorStandings().then((t=>n.html`${(0,o.reduceArray)(t,this.config.row_limit).map((t=>this.renderStandingRow(t)))}
 ${this.translation("constructor")}${this.translation("points")}${this.translation("wins")}
`)).catch((()=>n.html`${(0,o.getApiErrorMessage)("standings")}`)),n.html`${(0,o.getApiLoadingMessage)()}`)}`}}e.default=a},849:function(t,e,i){var n=this&&this.__await||function(t){return this instanceof n?(this.v=t,this):new n(t)},r=this&&this.__asyncGenerator||function(t,e,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,o=i.apply(t,e||[]),s=[];return r={},a("next"),a("throw"),a("return"),r[Symbol.asyncIterator]=function(){return this},r;function a(t){o[t]&&(r[t]=function(e){return new Promise((function(i,n){s.push([t,e,i,n])>1||l(t,e)}))})}function l(t,e){try{(i=o[t](e)).value instanceof n?Promise.resolve(i.value.v).then(c,d):u(s[0][2],i)}catch(t){u(s[0][3],t)}var i}function c(t){l("next",t)}function d(t){l("throw",t)}function u(t,e){t(e),s.shift(),s.length&&l(s[0][0],s[0][1])}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(639),s=i(557),a=i(438),l=i(366),c=i(810),d=i(313),u=i(22),h=i(241);class m extends l.BaseCard{constructor(t){var e;super(t),this.defaultTranslations={days:"d",hours:"h",minutes:"m",seconds:"s",endofseason:"Season is over. See you next year!",racenow:"We are racing!",date:"Date",practice1:"Practice 1",practice2:"Practice 2",practice3:"Practice 3",race:"Race",racename:"Race name",circuitname:"Circuit name",location:"Location",city:"City",racetime:"Race",sprint:"Sprint",qualifying:"Qualifying",until:"Until"},this.config.countdown_type=null!==(e=this.config.countdown_type)&&void 0!==e?e:h.CountdownType.Race}cardSize(){return this.config.show_raceinfo?12:6}renderHeader(t,e){return this.config.show_raceinfo?o.html`${(0,a.renderRaceInfo)(this,t,e)}
${(0,a.renderHeader)(this,t,!0)}
`:null}countDownTillDate(t){return r(this,arguments,(function*(){for(;t>new Date;){const e=(new Date).getTime(),i=t.getTime()-e,r=Math.floor(i/864e5),o=Math.floor(i%864e5/36e5),s=Math.floor(i%36e5/6e4),a=Math.floor(i%6e4/1e3);yield yield n(`${r}${this.translation("days")} ${o}${this.translation("hours")} ${s}${this.translation("minutes")} ${a}${this.translation("seconds")} `),yield n(new Promise((t=>setTimeout(t,1e3))))}yield yield n(this.translation("racenow"))}))}render(){const t=t=>{this.hass&&this.config.actions&&t.detail.action&&(0,a.clickHandler)(this.parent,this.config,this.hass,t)};return o.html`${(0,s.until)(this.client.GetSchedule((new Date).getFullYear()).then((e=>{var i,n;const{nextRace:r,raceDateTime:s,countdownType:l}=this.getNextEvent(e);if(!r)return(0,a.getEndOfSeasonMessage)(this.translation("endofseason"));const h=this.countDownTillDate(s),m=void 0!==this.config.actions;return o.html`${Array.isArray(this.config.countdown_type)&&this.config.countdown_type.length>1?o.html``:null}

   ${r.round} : ${r.raceName}

${(0,c.asyncReplace)(h)}

${this.translation("until")} ${this.translation(l.toLowerCase())}

${this.renderHeader(r,s)}`})).catch((()=>o.html`${(0,a.getApiErrorMessage)("next race")}`)),o.html`${(0,a.getApiLoadingMessage)()}`)}`}getNextEvent(t){var e;const i=t.filter((t=>{const e=new Date(t.date+"T"+t.time);return e.setHours(e.getHours()+3),e>=new Date}))[0];let n=null,r=this.config.countdown_type;if(i){const t=this.config.countdown_type,o=[{Date:new Date(i.FirstPractice.date+"T"+i.FirstPractice.time),Type:h.CountdownType.Practice1},{Date:new Date(i.SecondPractice.date+"T"+i.SecondPractice.time),Type:h.CountdownType.Practice2},{Date:i.ThirdPractice?new Date(i.ThirdPractice.date+"T"+i.ThirdPractice.time):null,Type:h.CountdownType.Practice3},{Date:i.Sprint?new Date(i.Sprint.date+"T"+i.Sprint.time):null,Type:h.CountdownType.Sprint},{Date:new Date(i.Qualifying.date+"T"+i.Qualifying.time),Type:h.CountdownType.Qualifying},{Date:new Date(i.date+"T"+i.time),Type:h.CountdownType.Race}].filter((t=>t.Date)).filter((t=>t.Date>new Date)).sort(((t,e)=>t.Date.getTime()-e.Date.getTime())).filter((e=>null==t?void 0:t.includes(e.Type)))[0];n=null==o?void 0:o.Date,r=null!==(e=null==o?void 0:o.Type)&&void 0!==e?e:r}return{nextRace:i,raceDateTime:n,countdownType:r}}}e.default=m},138:(t,e,i)=>{Object.defineProperty(e,"__esModule",{value:!0});const n=i(639),r=i(557),o=i(438),s=i(366);class a extends s.BaseCard{constructor(t){super(t),this.defaultTranslations={driver:"Driver",team:"Team",points:"Pts",wins:"Wins"}}cardSize(){return 12}renderStandingRow(t){var e,i;return n.html`${t.position}${(null===(e=this.config.standings)||void 0===e?void 0:e.show_flag)?n.html` `:""}${t.Driver.code}${(0,o.getDriverName)(t.Driver,this.config)}${(null===(i=this.config.standings)||void 0===i?void 0:i.show_team)?n.html`${(0,o.renderConstructorColumn)(this,t.Constructors[0])}`:""}${t.points}${t.wins}`}render(){return n.html`${(0,r.until)(this.client.GetDriverStandings().then((t=>{var e;return n.html`${(null===(e=this.config.standings)||void 0===e?void 0:e.show_team)?n.html``:""}${(0,o.reduceArray)(t,this.config.row_limit).map((t=>this.renderStandingRow(t)))}
 ${this.translation("driver")}${this.translation("team")}${this.translation("points")}${this.translation("wins")}
`})).catch((()=>n.html`${(0,o.getApiErrorMessage)("standings")}`)),n.html`${(0,o.getApiLoadingMessage)()}`)}`}}e.default=a},507:(t,e,i)=>{Object.defineProperty(e,"__esModule",{value:!0});const n=i(639),r=i(557),o=i(438),s=i(366);class a extends s.BaseCard{constructor(t){super(t),this.defaultTranslations={driver:"Driver",grid:"Grid",points:"Points",status:"Status"}}cardSize(){return 11}renderResultRow(t){return n.html`${t.position}${(0,o.getDriverName)(t.Driver,this.config)}${t.grid}${t.points}${t.status}`}render(){return n.html`${(0,r.until)(this.client.GetLastResult().then((t=>n.html`
${(0,o.renderHeader)(this,t)}
${(0,o.reduceArray)(t.Results,this.config.row_limit).map((t=>this.renderResultRow(t)))}
 ${this.translation("driver")}${this.translation("grid")}${this.translation("points")}${this.translation("status")}
`)).catch((()=>n.html`${(0,o.getApiErrorMessage)("last result")}`)),n.html`${(0,o.getApiLoadingMessage)()}`)}`}}e.default=a},840:(t,e,i)=>{Object.defineProperty(e,"__esModule",{value:!0});const n=i(639),r=i(557),o=i(438),s=i(366),a=i(300);class l extends s.BaseCard{constructor(){super(...arguments),this.defaultTranslations={date:"Date",practice1:"Practice 1",practice2:"Practice 2",practice3:"Practice 3",race:"Race",racename:"Race name",circuitname:"Circuit name",location:"Location",city:"City",racetime:"Race",sprint:"Sprint",qualifying:"Qualifying",endofseason:"Season is over. See you next year!"}}cardSize(){return 8}render(){return n.html`${(0,r.until)(this.client.GetSchedule((new Date).getFullYear()).then((t=>{const e=this.config.next_race_delay||0,i=t.filter((t=>{const i=new Date(t.date+"T"+t.time);return i.setHours(i.getHours()+e),i>=new Date}))[0];return i?n.html`${this.config.show_raceinfo?(0,o.renderRaceInfo)(this,i):this.config.only_show_date?n.html``:null}
${(0,o.renderHeader)(this,i)}

${(0,a.formatDateNumeric)(new Date(i.date+"T"+i.time),this.hass.locale,this.config.date_locale)}

`:(0,o.getEndOfSeasonMessage)(this.translation("endofseason"))})).catch((()=>n.html`${(0,o.getApiErrorMessage)("next race")}`)),n.html`${(0,o.getApiLoadingMessage)()}`)}`}}e.default=l},74:(t,e,i)=>{Object.defineProperty(e,"__esModule",{value:!0});const n=i(639),r=i(557),o=i(438),s=i(366);class a extends s.BaseCard{constructor(t){super(t),this.defaultTranslations={driver:"Driver",grid:"Grid",team:"Team",points:"Points",status:"Status",raceheader:"Race",seasonheader:"Season",selectseason:"Select season",selectrace:"Select race",noresults:"Please select a race thats already been run.",q1:"Q1",q2:"Q2",q3:"Q3"},this.icons={sprint:"mdi:flag-checkered",qualifying:"mdi:timer-outline",results:"mdi:trophy"},this.renderTabsHtml=(t,e,i)=>i?n.html`${t.filter((t=>t.content)).length>0?n.html``:n.html``}
${this.renderHeader(i)}
${t.filter((t=>!t.hide)).map((t=>n.html``))}
${t.filter((t=>!t.hide)).find(((t,i)=>i==e)).content}
${this.translation("noresults")}
`:n.html``}cardSize(){return 12}renderTabs(t){return[{title:"Results",icon:this.icon("results"),content:this.renderResults(t),order:this.tabOrder("results")},{title:"Qualifying",icon:this.icon("qualifying"),content:this.renderQualifying(t),order:this.tabOrder("qualifying")},{title:"Sprint",icon:this.icon("sprint"),content:this.renderSprint(t),hide:!(null==t?void 0:t.SprintResults),order:this.tabOrder("sprint")}].sort(((t,e)=>t.order-e.order))}renderSprint(t){var e;return(null==t?void 0:t.SprintResults)?n.html`${(null===(e=this.config.standings)||void 0===e?void 0:e.show_team)?n.html``:""}${(0,o.reduceArray)(t.SprintResults,this.config.row_limit).map((t=>this.renderResultRow(t,!1)))}
 ${this.translation("driver")}${this.translation("team")}${this.translation("grid")}${this.translation("points")}${this.translation("status")}
`:null}renderQualifying(t){var e;return(null==t?void 0:t.QualifyingResults)?n.html`${(null===(e=this.config.standings)||void 0===e?void 0:e.show_team)?n.html``:""}${(0,o.reduceArray)(t.QualifyingResults,this.config.row_limit).map((t=>this.renderQualifyingResultRow(t)))}
 ${this.translation("driver")}${this.translation("team")}${this.translation("q1")}${this.translation("q2")}${this.translation("q3")}
`:null}renderResults(t){var e,i;const r=null===(e=null==t?void 0:t.Results)||void 0===e?void 0:e.filter((t=>{var e;return"1"===(null===(e=t.FastestLap)||void 0===e?void 0:e.rank)}))[0];return(null==t?void 0:t.Results)?n.html`${(null===(i=this.config.standings)||void 0===i?void 0:i.show_team)?n.html``:""}${(0,o.reduceArray)(t.Results,this.config.row_limit).map((t=>this.renderResultRow(t,t.position===(null==r?void 0:r.position))))}${r?n.html``:""}
 ${this.translation("driver")}${this.translation("team")}${this.translation("grid")}${this.translation("points")}${this.translation("status")}
* Fastest lap: ${r.FastestLap.Time.time}
`:null}renderResultRow(t,e){var i,r;return n.html`${t.position}${(null===(i=this.config.standings)||void 0===i?void 0:i.show_flag)?n.html` `:""}${(0,o.getDriverName)(t.Driver,this.config)}${e?" *":""}${(null===(r=this.config.standings)||void 0===r?void 0:r.show_team)?n.html`${(0,o.renderConstructorColumn)(this,t.Constructor)}`:""}${t.grid}${t.points}${t.status}`}renderQualifyingResultRow(t){var e,i;return n.html`${t.position}${(null===(e=this.config.standings)||void 0===e?void 0:e.show_flag)?n.html` `:""}${(0,o.getDriverName)(t.Driver,this.config)}${(null===(i=this.config.standings)||void 0===i?void 0:i.show_team)?n.html`${(0,o.renderConstructorColumn)(this,t.Constructor)}`:""}${t.Q1}${t.Q2}${t.Q3}`}renderHeader(t){return null==t||parseInt(t.season)<2018?null:(0,o.renderHeader)(this,t)}render(){const{races:t,selectedRace:e,selectedSeason:i,selectedTabIndex:s}=this.getProperties();void 0===i&&this.getLastResult();const a=t=>{this.setRaces(t)},l=this.renderTabs(e);return n.html`
${this.translation("seasonheader")}
${(0,r.until)(this.client.GetSeasons().then((t=>{const e=t.reverse();return n.html``})).catch((()=>n.html`${(0,o.getApiErrorMessage)("seasons")}`)),n.html`${(0,o.getApiLoadingMessage)()}`)}
${this.translation("raceheader")}
${this.renderTabsHtml(l,s,e)}`}setSelectedRace(t){const e=parseInt(t.target.value),{properties:i,cardValues:n}=this.getParentCardValues();i.selectedRound=e;const r=i.selectedSeason;Promise.all([this.client.GetResults(r,e),this.client.GetQualifyingResults(r,e),this.client.GetSprintResults(r,e),this.client.GetSchedule(r)]).then((([t,r,o,s])=>{var a;let l=t.Races[0];l?(l.QualifyingResults=r.Races[0].QualifyingResults,l.SprintResults=null===(a=null==o?void 0:o.Races[0])||void 0===a?void 0:a.SprintResults,i.selectedSeason=l.season):l=s.filter((t=>parseInt(t.round)==e))[0],i.selectedRace=l,n.set("cardValues",i),this.parent.properties=n}))}setRaces(t){const e=t.target.value,{properties:i,cardValues:n}=this.getParentCardValues();this.client.GetSeasonRaces(parseInt(e)).then((t=>{i.selectedSeason=e,i.selectedRace=void 0,i.races=t,n.set("cardValues",i),this.parent.properties=n}))}getUpcomingRace(t,e){const i=e.filter((e=>{const i=new Date(e.date+"T"+e.time),n=new Date(e.Qualifying.date+"T"+e.Qualifying.time),r=e.Sprint?new Date(e.Sprint.date+"T"+e.Sprint.time):null;return i>=t&&n0?i[0]:null}getLastResult(){const t=new Date;Promise.all([this.client.GetSchedule(t.getFullYear()),this.client.GetLastResult()]).then((([e,i])=>{const n=this.getUpcomingRace(t,e);let r=(new Date).getFullYear(),o=null!==n?parseInt(n.round):0,s={};null!==n?(s=n,o=parseInt(s.round),r=parseInt(s.season)):(s=i,o=parseInt(i.round),r=parseInt(i.season)),Promise.all([this.client.GetQualifyingResults(r,o),this.client.GetSprintResults(r,o),this.client.GetSeasonRaces(r)]).then((([t,e,i])=>{var n;const{properties:o,cardValues:a}=this.getParentCardValues();s.QualifyingResults=t.Races[0].QualifyingResults,s.SprintResults=null===(n=e.Races[0])||void 0===n?void 0:n.SprintResults,o.races=i,o.selectedRace=s,o.selectedSeason=r.toString(),a.set("cardValues",o),this.parent.properties=a}))}))}setSelectedTabIndex(t){const{properties:e,cardValues:i}=this.getParentCardValues();e.selectedTabIndex=t,i.set("cardValues",e),this.parent.properties=i}icon(t){return!this.config.icons||Object.keys(this.config.icons).indexOf(t)<0?this.icons[t]:this.config.icons[t]}tabOrder(t){var e,i;const n=null!==(i=null===(e=this.config.tabs_order)||void 0===e?void 0:e.map((t=>t.toLowerCase())))&&void 0!==i?i:["results","qualifying","sprint"];return n.indexOf(t)}}e.default=a},465:(t,e,i)=>{Object.defineProperty(e,"__esModule",{value:!0});const n=i(313),r=i(639),o=i(557),s=i(300),a=i(241),l=i(438),c=i(366);class d extends c.BaseCard{constructor(t){super(t),this.defaultTranslations={date:"Date",race:"Race",time:"Time",location:"Location",endofseason:"Season is over. See you next year!"}}cardSize(){return 12}renderLocation(t){var e;const i=r.html`${(null===(e=this.config.standings)||void 0===e?void 0:e.show_flag)?r.html` `:""}${t.Location.locality}, ${t.Location.country}`;return this.config.location_clickable?r.html`${i}`:i}renderScheduleRow(t){const e=new Date(t.date+"T"+t.time),i=this.config.previous_race&&e${t.round}${t.Circuit.circuitName}${this.renderLocation(t.Circuit)}${(0,s.formatDate)(e,this.hass.locale,this.config.date_locale)}${(0,n.formatTime)(e,this.hass.locale)}`}render(){return r.html`${(0,o.until)(this.client.GetSchedule((new Date).getFullYear()).then((t=>{const e=this.config.previous_race===a.PreviousRaceDisplay.Hide?t.filter((t=>new Date(t.date+"T"+t.time)>=new Date)):t;return e.filter((t=>new Date(t.date+"T"+t.time)>=new Date))[0]?r.html`${(0,l.reduceArray)(e,this.config.row_limit).map((t=>this.renderScheduleRow(t)))}
 ${this.translation("race")}${this.translation("location")}${this.translation("date")}${this.translation("time")}
`:(0,l.getEndOfSeasonMessage)(this.translation("endofseason"))})).catch((()=>r.html`${(0,l.getApiErrorMessage)("schedule")}`)),r.html`${(0,l.getApiLoadingMessage)()}`)}`}}e.default=d},851:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.CARD_EDITOR_NAME=e.CARD_NAME=void 0,e.CARD_NAME="formulaone-card",e.CARD_EDITOR_NAME=`${e.CARD_NAME}-editor`},22:(t,e,i)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.actionHandler=e.actionHandlerBind=void 0;const n=i(395),r=i(313),o=i(11),s="ontouchstart"in window||navigator.maxTouchPoints>0||navigator.maxTouchPoints>0;class a extends HTMLElement{constructor(){super(),this.holdTime=500,this.held=!1,this.ripple=document.createElement("mwc-ripple")}connectedCallback(){Object.assign(this.style,{position:"absolute",width:s?"100px":"50px",height:s?"100px":"50px",transform:"translate(-50%, -50%)",pointerEvents:"none",zIndex:"999"}),this.appendChild(this.ripple),this.ripple.primary=!0,["touchcancel","mouseout","mouseup","touchmove","mousewheel","wheel","scroll"].forEach((t=>{document.addEventListener(t,(()=>{clearTimeout(this.timer),this.stopAnimation(),this.timer=void 0}),{passive:!0})}))}bind(t,e){if(t.actionHandler)return;t.actionHandler=!0,t.addEventListener("contextmenu",(t=>{const e=t||window.event;return e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0,e.returnValue=!1,!1}));const i=t=>{let e,i;this.held=!1,t.touches?(e=t.touches[0].pageX,i=t.touches[0].pageY):(e=t.pageX,i=t.pageY),this.timer=window.setTimeout((()=>{this.startAnimation(e,i),this.held=!0}),this.holdTime)},n=i=>{i.preventDefault(),["touchend","touchcancel"].includes(i.type)&&void 0===this.timer||(clearTimeout(this.timer),this.stopAnimation(),this.timer=void 0,this.held?(0,r.fireEvent)(t,"action",{action:"hold"}):e.hasDoubleClick?"click"===i.type&&i.detail<2||!this.dblClickTimeout?this.dblClickTimeout=window.setTimeout((()=>{this.dblClickTimeout=void 0,(0,r.fireEvent)(t,"action",{action:"tap"})}),250):(clearTimeout(this.dblClickTimeout),this.dblClickTimeout=void 0,(0,r.fireEvent)(t,"action",{action:"double_tap"})):(0,r.fireEvent)(t,"action",{action:"tap"}))};t.addEventListener("touchstart",i,{passive:!0}),t.addEventListener("touchend",n),t.addEventListener("touchcancel",n),t.addEventListener("mousedown",i,{passive:!0}),t.addEventListener("click",n),t.addEventListener("keyup",(t=>{13===t.keyCode&&n(t)}))}startAnimation(t,e){Object.assign(this.style,{left:`${t}px`,top:`${e}px`,display:null}),this.ripple.disabled=!1,this.ripple.active=!0,this.ripple.unbounded=!0}stopAnimation(){this.ripple.active=!1,this.ripple.disabled=!0,this.style.display="none"}}customElements.define("action-handler-formulaonecard",a),e.actionHandlerBind=(t,e)=>{const i=(()=>{const t=document.body;if(t.querySelector("action-handler-formulaonecard"))return t.querySelector("action-handler-formulaonecard");const e=document.createElement("action-handler-formulaonecard");return t.appendChild(e),e})();i&&i.bind(t,e)},e.actionHandler=(0,n.directive)(class extends n.Directive{update(t,[i]){return(0,e.actionHandlerBind)(t.element,i),o.noChange}render(t){}})},750:function(t,e,i){var n=this&&this.__decorate||function(t,e,i,n){var r,o=arguments.length,s=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,i,n);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(s=(o<3?r(s):o>3?r(e,i,s):r(e,i))||s);return o>3&&s&&Object.defineProperty(e,i,s),s};Object.defineProperty(e,"__esModule",{value:!0}),e.FormulaOneCardEditor=void 0;const r=i(639),o=i(851),s=i(241),a=i(898),l=i(194),c=i(429),d=i(11);let u=class extends a.default{render(){return this._hass&&this._config?this.renderForm([{controls:[{label:"Card Type (Required)",configValue:"card_type",type:l.FormControlType.Dropdown,items:(0,c.getDropdownOptionsFromEnum)(s.FormulaOneCardType)}]},{controls:[{label:"Title",configValue:"title",type:l.FormControlType.Textbox}]},{label:"Basic configuration",cssClass:"side-by-side",controls:[{label:"Use F1 font",configValue:"f1_font",type:l.FormControlType.Switch},{label:"Image clickable",configValue:"image_clickable",type:l.FormControlType.Switch},{label:"Show carnumber",configValue:"show_carnumber",type:l.FormControlType.Switch},{label:"Location clickable",configValue:"location_clickable",type:l.FormControlType.Switch},{label:"Show race information",configValue:"show_raceinfo",type:l.FormControlType.Switch},{label:"Hide track layout",configValue:"hide_tracklayout",type:l.FormControlType.Switch},{label:"Hide race dates and times",configValue:"hide_racedatetimes",type:l.FormControlType.Switch},{label:"Show last years result",configValue:"show_lastyears_result",type:l.FormControlType.Switch},{label:"Only show date",configValue:"only_show_date",type:l.FormControlType.Switch},{type:l.FormControlType.Filler},{label:"Row limit",configValue:"row_limit",type:l.FormControlType.Textbox},{label:"Date locale",configValue:"date_locale",type:l.FormControlType.Textbox}]},{label:"Countdown Type",hidden:this._config.card_type!==s.FormulaOneCardType.Countdown,cssClass:"side-by-side",controls:[{configValue:"countdown_type",type:l.FormControlType.Checkboxes,items:(0,c.getDropdownOptionsFromEnum)(s.CountdownType)}]},{hidden:this._config.card_type!==s.FormulaOneCardType.NextRace,controls:[{label:"Next race delay",configValue:"next_race_delay",type:l.FormControlType.Textbox}]},{hidden:this._config.card_type!==s.FormulaOneCardType.Schedule,controls:[{label:"Previous race",configValue:"previous_race",type:l.FormControlType.Dropdown,items:(0,c.getDropdownOptionsFromEnum)(s.PreviousRaceDisplay)}]},{label:"Standings",hidden:this._config.card_type!==s.FormulaOneCardType.ConstructorStandings&&this._config.card_type!==s.FormulaOneCardType.DriverStandings,cssClass:"side-by-side",controls:[{label:"Show team",configValue:"standings.show_team",type:l.FormControlType.Switch},{label:"Show flag",configValue:"standings.show_flag",type:l.FormControlType.Switch},{label:"Show teamlogo",configValue:"standings.show_teamlogo",type:l.FormControlType.Switch}]},{label:"Weather",hidden:this._config.card_type!==s.FormulaOneCardType.NextRace&&this._config.card_type!==s.FormulaOneCardType.Countdown,controls:[{label:"Show weather",configValue:"show_weather",type:l.FormControlType.Switch}]},{cssClass:"side-by-side",hidden:this._config.card_type!==s.FormulaOneCardType.NextRace&&this._config.card_type!==s.FormulaOneCardType.Countdown||!this._config.show_weather,controls:[{label:"API key",configValue:"weather_options.api_key",type:l.FormControlType.Textbox},{label:"Unit",configValue:"weather_options.unit",type:l.FormControlType.Dropdown,items:(0,c.getDropdownOptionsFromEnum)(s.WeatherUnit)},{label:"Show icon",configValue:"weather_options.show_icon",type:l.FormControlType.Switch},{label:"Show precipitation",configValue:"weather_options.show_precipitation",type:l.FormControlType.Switch},{label:"Show wind",configValue:"weather_options.show_wind",type:l.FormControlType.Switch},{label:"Show temperature",configValue:"weather_options.show_temperature",type:l.FormControlType.Switch},{label:"Show cloud coverage",configValue:"weather_options.show_cloud_cover",type:l.FormControlType.Switch},{label:"Show visibility",configValue:"weather_options.show_visibility",type:l.FormControlType.Switch}]},{label:"Tabs",hidden:this._config.card_type!==s.FormulaOneCardType.Results,controls:[{label:"Tabs order",configValue:"tabs_order",type:l.FormControlType.Textbox}]}]):r.html``}static get styles(){return d.css`.form-row{margin-bottom:10px}.form-control{display:flex;align-items:center}ha-switch{padding:16px 6px}.side-by-side{display:flex;flex-flow:row wrap}.side-by-side>label{width:100%}.side-by-side>.form-control{width:49%;padding:2px}ha-textfield{width:100%}.hidden{display:none}@media (max-width:600px){.side-by-side>.form-control{width:48%}}`}};u=n([(0,d.customElement)(o.CARD_EDITOR_NAME)],u),e.FormulaOneCardEditor=u},657:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.loadCustomFonts=void 0,e.loadCustomFonts=()=>{if(window&&document.fonts){const t=new FontFace("F1Bold","url(https://www.formula1.com/etc/designs/fom-website/fonts/F1Bold/Formula1-Bold.woff)");document.fonts.add(t),t.load()}}},148:function(t,e,i){var n=this&&this.__decorate||function(t,e,i,n){var r,o=arguments.length,s=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,i,n);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(s=(o<3?r(s):o>3?r(e,i,s):r(e,i))||s);return o>3&&s&&Object.defineProperty(e,i,s),s},r=this&&this.__awaiter||function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{l(n.next(t))}catch(t){o(t)}}function a(t){try{l(n.throw(t))}catch(t){o(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}l((n=n.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0});const o=i(147),s=i(15),a=i(241),l=i(110),c=i(438),d=i(657),u=i(278),h=i(169),m=i(138),p=i(465),f=i(840),g=i(507),v=i(849),y=i(74),_=i(959),$=i(851);console.info(`%c ${$.CARD_NAME.toUpperCase()} %c ${o.version}`,"color: cyan; background: black; font-weight: bold;","color: darkblue; background: white; font-weight: bold;"),window.customCards=window.customCards||[],window.customCards.push({type:"formulaone-card",name:"FormulaOne card",preview:!1,description:"Present the data of Formula One in a pretty way"});let b=class extends l.LitElement{set properties(t){this._cardValues=t,this.update(t)}get properties(){return this._cardValues}constructor(){super(),this.setCountryCache()}static getConfigElement(){return r(this,void 0,void 0,(function*(){return yield Promise.resolve().then((()=>i(750))),document.createElement($.CARD_EDITOR_NAME)}))}setConfig(t){(0,c.checkConfig)(t),this.config=Object.assign({},t)}setCountryCache(){(new _.default).GetAll().catch((()=>{this.warning="Country API is down, so flags are not available at the moment!",this.update(this._cardValues)}))}shouldUpdate(t){return(0,c.hasConfigOrCardValuesChanged)(this,t)}set hass(t){switch(this._hass=t,this.config.hass=t,this.config.card_type){case a.FormulaOneCardType.ConstructorStandings:this.card=new h.default(this);break;case a.FormulaOneCardType.DriverStandings:this.card=new m.default(this);break;case a.FormulaOneCardType.Schedule:this.card=new p.default(this);break;case a.FormulaOneCardType.NextRace:this.card=new f.default(this);break;case a.FormulaOneCardType.LastResult:this.card=new g.default(this);break;case a.FormulaOneCardType.Countdown:this.card=new v.default(this);break;case a.FormulaOneCardType.Results:this.card=new y.default(this)}}static get styles(){return(0,d.loadCustomFonts)(),u.styles}render(){if(!this._hass||!this.config)return l.html``;try{return l.html`${this.renderRefreshButton()} ${this.warning?l.html`${this.warning}`:""} ${this.config.title?l.html`

${this.config.title}

`:""} ${this.card.render()}
`}catch(t){return l.html`${t.toString()}`}}getCardSize(){return this.card.cardSize()}renderRefreshButton(){return this.config.show_refresh?l.html`
`:null}refreshCache(t){console.log("Refreshing cache..."),this.card.client.RefreshCache()}};n([(0,s.property)()],b.prototype,"_hass",void 0),n([(0,s.property)()],b.prototype,"config",void 0),n([(0,s.property)()],b.prototype,"card",void 0),n([(0,s.property)()],b.prototype,"warning",void 0),n([(0,s.property)()],b.prototype,"properties",null),b=n([(0,s.customElement)($.CARD_NAME)],b),e.default=b},198:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.TimeFormat=e.NumberFormat=e.SECONDARY_INFO_VALUES=e.TIMESTAMP_FORMATS=e.ImageConstants=void 0,e.ImageConstants={FlagCDN:"https://flagcdn.com/w320/",TeamLogoCDN:"https://www.formula1.com/content/dam/fom-website/teams/",F1CDN:"https://www.formula1.com/content/dam/fom-website/2018-redesign-assets/"},e.TIMESTAMP_FORMATS=["relative","total","date","time","datetime"],e.SECONDARY_INFO_VALUES=["entity-id","last-changed","last-updated","last-triggered","position","tilt-position","brightness"],e.NumberFormat={language:"language",system:"system",comma_decimal:"comma_decimal",decimal_comma:"decimal_comma",space_comma:"space_comma",none:"none"},e.TimeFormat={language:"language",system:"system",am_pm:"12",twenty_four:"24"}},300:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.formatDateNumeric=e.formatDate=void 0,e.formatDate=(t,e,i)=>new Intl.DateTimeFormat(null!=i?i:e.language,{month:"2-digit",day:"2-digit"}).format(t),e.formatDateNumeric=(t,e,i)=>new Intl.DateTimeFormat(null!=i?i:e.language,{year:"2-digit",month:"2-digit",day:"2-digit"}).format(t)},141:(t,e,i)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.formatDateTimeRaceInfo=e.formatDateTime=void 0;const n=i(975);e.formatDateTime=(t,e)=>new Intl.DateTimeFormat(e.language,{year:"numeric",month:"long",day:"numeric",hour:(0,n.useAmPm)(e)?"numeric":"2-digit",minute:"2-digit",hour12:(0,n.useAmPm)(e)}).format(t),e.formatDateTimeRaceInfo=(t,e)=>new Intl.DateTimeFormat(e.language,{weekday:"short",hour:"2-digit",minute:"2-digit",hour12:(0,n.useAmPm)(e)}).format(t)},975:(t,e,i)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.useAmPm=void 0;const n=i(198);e.useAmPm=t=>{if(t.time_format===n.TimeFormat.language||t.time_format===n.TimeFormat.system){const e=t.time_format===n.TimeFormat.language?t.language:void 0,i=(new Date).toLocaleString(e);return i.includes("AM")||i.includes("PM")}return t.time_format===n.TimeFormat.am_pm}},278:(t,e,i)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.styles=void 0;const n=i(110);e.styles=n.css`table{width:100%;border-spacing:0;border-collapse:separate;padding:0 16px 16px}table.nopadding{padding:0;width:100%;border-spacing:0;border-collapse:separate}th{background-color:var(--table-row-alternative-background-color,#eee)}td,th{padding:5px;text-align:left}tr{color:var(--secondary-text-color)}tr:nth-child(even){background-color:var(--table-row-alternative-background-color,#eee)}.text-center{text-align:center}.width-40{width:40px}.width-50{width:50px}.width-60{width:60px}.hide{display:none}.strikethrough{text-decoration:line-through}.italic{font-style:italic}a{text-decoration:none;color:var(--secondary-text-color)}.constructor-logo{width:20px;margin:auto;display:block;float:left;background-color:#fff;border-radius:50%;margin-right:3px}.clickable{cursor:pointer}.formulaone-font{font-family:F1Bold}ha-icon{color:var(--secondary-text-color)}.transparent{background-color:transparent!important}.weather-info{padding:10px}.weather-info td{width:33%}.refresh-cache{position:absolute;right:10px;top:10px}`},241:(t,e)=>{var i,n,r,o;Object.defineProperty(e,"__esModule",{value:!0}),e.FormulaOneCardType=e.PreviousRaceDisplay=e.CountdownType=e.WeatherUnit=void 0,(o=e.WeatherUnit||(e.WeatherUnit={})).Metric="metric",o.MilesCelsius="uk",o.MilesFahrenheit="us",(r=e.CountdownType||(e.CountdownType={})).Race="race",r.Qualifying="qualifying",r.Practice1="practice1",r.Practice2="practice2",r.Practice3="practice3",r.Sprint="sprint",(n=e.PreviousRaceDisplay||(e.PreviousRaceDisplay={})).Strikethrough="strikethrough",n.Italic="italic",n.Hide="hide",(i=e.FormulaOneCardType||(e.FormulaOneCardType={})).DriverStandings="driver_standings",i.ConstructorStandings="constructor_standings",i.NextRace="next_race",i.Schedule="schedule",i.LastResult="last_result",i.Results="results",i.Countdown="countdown"},438:(t,e,i)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.renderConstructorColumn=e.reduceArray=e.getRefreshTime=e.calculateWindDirection=e.renderWeatherInfo=e.renderLastYearsResults=e.renderRaceInfo=e.renderHeader=e.clickHandler=e.getEndOfSeasonMessage=e.getApiLoadingMessage=e.getApiErrorMessage=e.getDriverName=e.getCircuitName=e.getTeamImage=e.checkConfig=e.getCountryFlagByName=e.getCountryFlagByNationality=e.getCountries=e.hasConfigOrCardValuesChanged=void 0;const n=i(110),r=i(241),o=i(141),s=i(313),a=i(300),l=i(198),c=i(22),d=i(959),u=i(557);e.hasConfigOrCardValuesChanged=(t,e)=>{if(e.has("config"))return!0;const i=e.get("card");if(i&&i.parent)return i.parent.properties!==t.properties;const n=e.get("cardValues");return!!n&&n!=t.properties},e.getCountries=()=>(new d.default).GetCountriesFromLocalStorage(),e.getCountryFlagByNationality=(t,i)=>{const n=(0,e.getCountries)().filter((t=>t.demonym==i));return n.length>1?t.imageClient.GetImage(n.sort(((t,e)=>t.population>e.population?-1:1))[0].flags.png):t.imageClient.GetImage(n[0].flags.png)},e.getCountryFlagByName=(t,i)=>{const n=(0,e.getCountries)().filter((t=>{var e;return t.name==i||t.nativeName==i||(null===(e=t.altSpellings)||void 0===e?void 0:e.includes(i))}))[0];return t.imageClient.GetImage(n.flags.png)},e.checkConfig=t=>{if(void 0===t.card_type)throw new Error("Please define FormulaOne card type (card_type).")},e.getTeamImage=(t,e)=>{e=e.toLocaleLowerCase().replace("_","-");const i=[{teamName:"red-bull",corrected:"red-bull-racing"},{teamName:"alfa",corrected:"alfa-romeo"},{teamName:"haas",corrected:"haas-f1-team"},{teamName:"sauber",corrected:"kick-sauber"}].filter((t=>t.teamName==e));return i.length>0&&(e=i[0].corrected),t.imageClient.GetImage(`${l.ImageConstants.TeamLogoCDN}/2024/${e.toLowerCase()}-logo.png.transform/2col-retina/image.png`)},e.getCircuitName=t=>{let e=t.country.replace(" ","-");const i=[{countryDashed:"UAE",name:"Abu_Dhabi"},{countryDashed:"UK",name:"Great_Britain"},{countryDashed:"Monaco",name:"Monoco"},{countryDashed:"Azerbaijan",name:"Baku"},{countryDashed:"Saudi-Arabia",name:"Saudi_Arabia"}].filter((t=>t.countryDashed==e));return i.length>0&&(e=i[0].name),"USA"!=t.country&&"United States"!=t.country||"Austin"==t.locality||(e=t.locality.replace(" ","_")),"Italy"==t.country&&"Imola"==t.locality&&(e="Emilia_Romagna"),e},e.getDriverName=(t,e)=>{const i="VER"==t.code?1:t.permanentNumber;return`${t.givenName} ${t.familyName}${e.show_carnumber?` #${i}`:""}`},e.getApiErrorMessage=t=>n.html`
Error getting ${t}
`,e.getApiLoadingMessage=()=>n.html`
Loading...
`,e.getEndOfSeasonMessage=t=>n.html`
${t}
`,e.clickHandler=(t,e,i,n)=>{(0,s.handleAction)(t,i,e.actions,n.detail.action)},e.renderHeader=(t,i,o=!1)=>{var a,d;const u=(0,e.getCircuitName)(i.Circuit.Location),h=t.config.image_clickable||void 0!==t.config.actions,m=i.Circuit.url;t.config.image_clickable&&!t.config.actions&&(t.config.actions={tap_action:{action:"url",url_path:m}});const p=n.html``,f=n.html`

  ${i.round} : ${i.raceName}

`;return n.html`${t.config.card_type==r.FormulaOneCardType.Countdown?n.html``:f} ${t.config.hide_tracklayout?n.html``:p}
`},e.renderRaceInfo=(t,i,r)=>{var s;const l=t.config,c=t.hass;if(l.hide_racedatetimes)return n.html``;const d=l.show_weather&&void 0!==(null===(s=l.weather_options)||void 0===s?void 0:s.api_key)?t.weatherClient.getWeatherData(i.Circuit.Location.lat,i.Circuit.Location.long,`${i.date}T${i.time}`):Promise.resolve(null),h=l.show_lastyears_result?t.client.GetLastYearsResults(i.Circuit.circuitName):Promise.resolve(null),m=Promise.all([d,h]);return n.html`${(0,u.until)(m.then((([s,d])=>{const u=null==s?void 0:s.days[0],h=new Date(i.date+"T"+i.time),m=(0,e.renderWeatherInfo)(u,l,null!=r?r:h),p=(0,e.renderLastYearsResults)(l,d),f=(0,o.formatDateTimeRaceInfo)(new Date(i.FirstPractice.date+"T"+i.FirstPractice.time),c.locale),g=(0,o.formatDateTimeRaceInfo)(new Date(i.SecondPractice.date+"T"+i.SecondPractice.time),c.locale),v=void 0!==i.ThirdPractice?(0,o.formatDateTimeRaceInfo)(new Date(i.ThirdPractice.date+"T"+i.ThirdPractice.time),c.locale):"-",y=(0,o.formatDateTimeRaceInfo)(h,c.locale),_=(0,o.formatDateTimeRaceInfo)(new Date(i.Qualifying.date+"T"+i.Qualifying.time),c.locale),$=void 0!==i.Sprint?(0,o.formatDateTimeRaceInfo)(new Date(i.Sprint.date+"T"+i.Sprint.time),c.locale):"-";return n.html`${p}${m}${t.translation("date")}${(0,a.formatDateNumeric)(h,c.locale,l.date_locale)} ${t.translation("practice1")}${f}${t.translation("race")}${i.round} ${t.translation("practice2")}${g}${t.translation("racename")}${i.raceName} ${t.translation("practice3")}${v}${t.translation("circuitname")}${i.Circuit.circuitName} ${t.translation("qualifying")}${_}${t.translation("location")}${i.Circuit.Location.country} ${t.translation("sprint")}${$}${t.translation("city")}${i.Circuit.Location.locality} ${t.translation("racetime")}${y}`})))}`},e.renderLastYearsResults=(t,e)=>{var i,r;if(!e)return n.html``;const o=e.Results?e.Results[0]:null,s=null===(i=e.Results)||void 0===i?void 0:i.filter((t=>{var e;return"1"===(null===(e=t.FastestLap)||void 0===e?void 0:e.rank)}))[0];return n.html`

${new Date(e.date).getFullYear()}

${null==o?void 0:o.Driver.givenName} ${null==o?void 0:o.Driver.familyName} (${null==o?void 0:o.Constructor.name})

${null==s?void 0:s.Driver.givenName} ${null==s?void 0:s.Driver.familyName} (${null===(r=null==s?void 0:s.FastestLap)||void 0===r?void 0:r.Time.time})

 `},e.renderWeatherInfo=(t,i,o)=>{var s,a;if(!t)return n.html``;const l=(null===(s=i.weather_options)||void 0===s?void 0:s.unit)===r.WeatherUnit.Metric?"km/h":"mph",c=(null===(a=i.weather_options)||void 0===a?void 0:a.unit)===r.WeatherUnit.MilesFahrenheit?"°F":"°C",d=t.hours?t.hours[o.getHours()]:t;return n.html`
${(0,e.calculateWindDirection)(d.winddir)} ${d.windspeed} ${l}${d.precip} mm${d.precipprob}%
${d.cloudcover} %${d.temp} ${c}${d.feelslike} ${c}
 `},e.calculateWindDirection=t=>{const e=[{label:"N",range:[0,11.25]},{label:"NNE",range:[11.25,33.75]},{label:"NE",range:[33.75,56.25]},{label:"ENE",range:[56.25,78.75]},{label:"E",range:[78.75,101.25]},{label:"ESE",range:[101.25,123.75]},{label:"SE",range:[123.75,146.25]},{label:"SSE",range:[146.25,168.75]},{label:"S",range:[168.75,191.25]},{label:"SSW",range:[191.25,213.75]},{label:"SW",range:[213.75,236.25]},{label:"WSW",range:[236.25,258.75]},{label:"W",range:[258.75,281.25]},{label:"WNW",range:[281.25,303.75]},{label:"NW",range:[303.75,326.25]},{label:"NNW",range:[326.25,348.75]},{label:"N",range:[348.75,360]}];for(const{label:i,range:n}of e)if(t>=n[0]&&t<=n[1])return i},e.getRefreshTime=t=>{let e=24;const i=new Date,n=localStorage.getItem(`${i.getFullYear()}.json`);if(n){const r=JSON.parse(n),o=JSON.parse(r.data).MRData.RaceTable.Races.filter((t=>new Date(t.date).toLocaleDateString==i.toLocaleDateString));if(o.length>0){const i=o[0],n=new Date(i.date+"T"+i.time),r=localStorage.getItem(t);if(r){const t=JSON.parse(r);new Date(t.created)void 0===t?[]:e?t.slice(0,e):t,e.renderConstructorColumn=(t,i)=>n.html`${t.config.standings.show_teamlogo?n.html` `:""}${i.name}`},11:(t,e,i)=>{i.r(e),i.d(e,{CSSResult:()=>a,LitElement:()=>S,ReactiveElement:()=>$,UpdatingElement:()=>A,_$LE:()=>E,_$LH:()=>C._$LH,adoptStyles:()=>d,css:()=>c,customElement:()=>k,decorateProperty:()=>R,defaultConverter:()=>v,eventOptions:()=>M,getCompatibleStyle:()=>u,html:()=>C.html,legacyPrototypeMethod:()=>D,noChange:()=>C.noChange,notEqual:()=>y,nothing:()=>C.nothing,property:()=>P,query:()=>F,queryAll:()=>I,queryAssignedElements:()=>j,queryAssignedNodes:()=>V,queryAsync:()=>L,render:()=>C.render,standardPrototypeMethod:()=>x,state:()=>N,supportsAdoptingStyleSheets:()=>r,svg:()=>C.svg,unsafeCSS:()=>l});const n=window,r=n.ShadowRoot&&(void 0===n.ShadyCSS||n.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,o=Symbol(),s=new WeakMap;class a{constructor(t,e,i){if(this._$cssResult$=!0,i!==o)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(r&&void 0===t){const i=void 0!==e&&1===e.length;i&&(t=s.get(e)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),i&&s.set(e,t))}return t}toString(){return this.cssText}}const l=t=>new a("string"==typeof t?t:t+"",void 0,o),c=(t,...e)=>{const i=1===t.length?t[0]:e.reduce(((e,i,n)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+t[n+1]),t[0]);return new a(i,t,o)},d=(t,e)=>{r?t.adoptedStyleSheets=e.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):e.forEach((e=>{const i=document.createElement("style"),r=n.litNonce;void 0!==r&&i.setAttribute("nonce",r),i.textContent=e.cssText,t.appendChild(i)}))},u=r?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const i of t.cssRules)e+=i.cssText;return l(e)})(t):t;var h;const m=window,p=m.trustedTypes,f=p?p.emptyScript:"",g=m.reactiveElementPolyfillSupport,v={toAttribute(t,e){switch(e){case Boolean:t=t?f:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let i=t;switch(e){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},y=(t,e)=>e!==t&&(e==e||t==t),_={attribute:!0,type:String,converter:v,reflect:!1,hasChanged:y};class $ extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this.u()}static addInitializer(t){var e;this.finalize(),(null!==(e=this.h)&&void 0!==e?e:this.h=[]).push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((e,i)=>{const n=this._$Ep(i,e);void 0!==n&&(this._$Ev.set(n,i),t.push(n))})),t}static createProperty(t,e=_){if(e.state&&(e.attribute=!1),this.finalize(),this.elementProperties.set(t,e),!e.noAccessor&&!this.prototype.hasOwnProperty(t)){const i="symbol"==typeof t?Symbol():"__"+t,n=this.getPropertyDescriptor(t,i,e);void 0!==n&&Object.defineProperty(this.prototype,t,n)}}static getPropertyDescriptor(t,e,i){return{get(){return this[e]},set(n){const r=this[t];this[e]=n,this.requestUpdate(t,r,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||_}static finalize(){if(this.hasOwnProperty("finalized"))return!1;this.finalized=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),void 0!==t.h&&(this.h=[...t.h]),this.elementProperties=new Map(t.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){const t=this.properties,e=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const i of e)this.createProperty(i,t[i])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const i=new Set(t.flat(1/0).reverse());for(const t of i)e.unshift(u(t))}else void 0!==t&&e.push(u(t));return e}static _$Ep(t,e){const i=e.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}u(){var t;this._$E_=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(t=this.constructor.h)||void 0===t||t.forEach((t=>t(this)))}addController(t){var e,i;(null!==(e=this._$ES)&&void 0!==e?e:this._$ES=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(i=t.hostConnected)||void 0===i||i.call(t))}removeController(t){var e;null===(e=this._$ES)||void 0===e||e.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((t,e)=>{this.hasOwnProperty(e)&&(this._$Ei.set(e,this[e]),delete this[e])}))}createRenderRoot(){var t;const e=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return d(e,this.constructor.elementStyles),e}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostConnected)||void 0===e?void 0:e.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostDisconnected)||void 0===e?void 0:e.call(t)}))}attributeChangedCallback(t,e,i){this._$AK(t,i)}_$EO(t,e,i=_){var n;const r=this.constructor._$Ep(t,i);if(void 0!==r&&!0===i.reflect){const o=(void 0!==(null===(n=i.converter)||void 0===n?void 0:n.toAttribute)?i.converter:v).toAttribute(e,i.type);this._$El=t,null==o?this.removeAttribute(r):this.setAttribute(r,o),this._$El=null}}_$AK(t,e){var i;const n=this.constructor,r=n._$Ev.get(t);if(void 0!==r&&this._$El!==r){const t=n.getPropertyOptions(r),o="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==(null===(i=t.converter)||void 0===i?void 0:i.fromAttribute)?t.converter:v;this._$El=r,this[r]=o.fromAttribute(e,t.type),this._$El=null}}requestUpdate(t,e,i){let n=!0;void 0!==t&&(((i=i||this.constructor.getPropertyOptions(t)).hasChanged||y)(this[t],e)?(this._$AL.has(t)||this._$AL.set(t,e),!0===i.reflect&&this._$El!==t&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(t,i))):n=!1),!this.isUpdatePending&&n&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach(((t,e)=>this[e]=t)),this._$Ei=void 0);let e=!1;const i=this._$AL;try{e=this.shouldUpdate(i),e?(this.willUpdate(i),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostUpdate)||void 0===e?void 0:e.call(t)})),this.update(i)):this._$Ek()}catch(t){throw e=!1,this._$Ek(),t}e&&this._$AE(i)}willUpdate(t){}_$AE(t){var e;null===(e=this._$ES)||void 0===e||e.forEach((t=>{var e;return null===(e=t.hostUpdated)||void 0===e?void 0:e.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(t){return!0}update(t){void 0!==this._$EC&&(this._$EC.forEach(((t,e)=>this._$EO(e,this[e],t))),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}}$.finalized=!0,$.elementProperties=new Map,$.elementStyles=[],$.shadowRootOptions={mode:"open"},null==g||g({ReactiveElement:$}),(null!==(h=m.reactiveElementVersions)&&void 0!==h?h:m.reactiveElementVersions=[]).push("1.6.1");var b,w,C=i(639);const A=$;class S extends ${constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var t,e;const i=super.createRenderRoot();return null!==(t=(e=this.renderOptions).renderBefore)&&void 0!==t||(e.renderBefore=i.firstChild),i}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=(0,C.render)(e,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!1)}render(){return C.noChange}}S.finalized=!0,S._$litElement$=!0,null===(b=globalThis.litElementHydrateSupport)||void 0===b||b.call(globalThis,{LitElement:S});const T=globalThis.litElementPolyfillSupport;null==T||T({LitElement:S});const E={_$AK:(t,e,i)=>{t._$AK(e,i)},_$AL:t=>t._$AL};(null!==(w=globalThis.litElementVersions)&&void 0!==w?w:globalThis.litElementVersions=[]).push("3.3.3");const D=(t,e,i)=>{Object.defineProperty(e,i,t)},x=(t,e)=>({kind:"method",placement:"prototype",key:e.key,descriptor:t}),R=({finisher:t,descriptor:e})=>(i,n)=>{var r;if(void 0===n){const n=null!==(r=i.originalKey)&&void 0!==r?r:i.key,o=null!=e?{kind:"method",placement:"prototype",key:n,descriptor:e(i.key)}:{...i,key:n};return null!=t&&(o.finisher=function(e){t(e,n)}),o}{const r=i.constructor;void 0!==e&&Object.defineProperty(i,n,e(n)),null==t||t(r,n)}},k=t=>e=>"function"==typeof e?((t,e)=>(customElements.define(t,e),e))(t,e):((t,e)=>{const{kind:i,elements:n}=e;return{kind:i,elements:n,finisher(e){customElements.define(t,e)}}})(t,e),O=(t,e)=>"method"===e.kind&&e.descriptor&&!("value"in e.descriptor)?{...e,finisher(i){i.createProperty(e.key,t)}}:{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:e.key,initializer(){"function"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(i){i.createProperty(e.key,t)}};function P(t){return(e,i)=>void 0!==i?((t,e,i)=>{e.constructor.createProperty(i,t)})(t,e,i):O(t,e)}function N(t){return P({...t,state:!0})}function M(t){return R({finisher:(e,i)=>{Object.assign(e.prototype[i],t)}})}function F(t,e){return R({descriptor:i=>{const n={get(){var e,i;return null!==(i=null===(e=this.renderRoot)||void 0===e?void 0:e.querySelector(t))&&void 0!==i?i:null},enumerable:!0,configurable:!0};if(e){const e="symbol"==typeof i?Symbol():"__"+i;n.get=function(){var i,n;return void 0===this[e]&&(this[e]=null!==(n=null===(i=this.renderRoot)||void 0===i?void 0:i.querySelector(t))&&void 0!==n?n:null),this[e]}}return n}})}function I(t){return R({descriptor:e=>({get(){var e,i;return null!==(i=null===(e=this.renderRoot)||void 0===e?void 0:e.querySelectorAll(t))&&void 0!==i?i:[]},enumerable:!0,configurable:!0})})}function L(t){return R({descriptor:e=>({async get(){var e;return await this.updateComplete,null===(e=this.renderRoot)||void 0===e?void 0:e.querySelector(t)},enumerable:!0,configurable:!0})})}var H;const U=null!=(null===(H=window.HTMLSlotElement)||void 0===H?void 0:H.prototype.assignedElements)?(t,e)=>t.assignedElements(e):(t,e)=>t.assignedNodes(e).filter((t=>t.nodeType===Node.ELEMENT_NODE));function j(t){const{slot:e,selector:i}=null!=t?t:{};return R({descriptor:n=>({get(){var n;const r="slot"+(e?`[name=${e}]`:":not([name])"),o=null===(n=this.renderRoot)||void 0===n?void 0:n.querySelector(r),s=null!=o?U(o,t):[];return i?s.filter((t=>t.matches(i))):s},enumerable:!0,configurable:!0})})}function V(t,e,i){let n,r=t;return"object"==typeof t?(r=t.slot,n=t):n={flatten:e},i?j({slot:r,flatten:e,selector:i}):R({descriptor:t=>({get(){var t,e;const i="slot"+(r?`[name=${r}]`:":not([name])"),o=null===(t=this.renderRoot)||void 0===t?void 0:t.querySelector(i);return null!==(e=null==o?void 0:o.assignedNodes(n))&&void 0!==e?e:[]},enumerable:!0,configurable:!0})})}console.warn("The main 'lit-element' module entrypoint is deprecated. Please update your imports to use the 'lit' package: 'lit' and 'lit/decorators.ts' or import from 'lit-element/lit-element.ts'. See https://lit.dev/msg/deprecated-import-path for more information.")},557:(t,e,i)=>{i.r(e),i.d(e,{UntilDirective:()=>v,until:()=>y});var n=i(639);const{I:r}=n._$LH;class o{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}const s=(t,e)=>{var i,n;const r=t._$AN;if(void 0===r)return!1;for(const t of r)null===(n=(i=t)._$AO)||void 0===n||n.call(i,e,!1),s(t,e);return!0},a=t=>{let e,i;do{if(void 0===(e=t._$AM))break;i=e._$AN,i.delete(t),t=e}while(0===(null==i?void 0:i.size))},l=t=>{for(let e;e=t._$AM;t=e){let i=e._$AN;if(void 0===i)e._$AN=i=new Set;else if(i.has(t))break;i.add(t),u(e)}};function c(t){void 0!==this._$AN?(a(this),this._$AM=t,l(this)):this._$AM=t}function d(t,e=!1,i=0){const n=this._$AH,r=this._$AN;if(void 0!==r&&0!==r.size)if(e)if(Array.isArray(n))for(let t=i;t{var e,i,n,r;2==t.type&&(null!==(e=(n=t)._$AP)&&void 0!==e||(n._$AP=d),null!==(i=(r=t)._$AQ)&&void 0!==i||(r._$AQ=c))};class h extends o{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,e,i){super._$AT(t,e,i),l(this),this.isConnected=t._$AU}_$AO(t,e=!0){var i,n;t!==this.isConnected&&(this.isConnected=t,t?null===(i=this.reconnected)||void 0===i||i.call(this):null===(n=this.disconnected)||void 0===n||n.call(this)),e&&(s(this,t),a(this))}setValue(t){if((t=>void 0===this._$Ct.strings)())this._$Ct._$AI(t,this);else{const e=[...this._$Ct._$AH];e[this._$Ci]=t,this._$Ct._$AI(e,this,0)}}disconnected(){}reconnected(){}}class m{constructor(t){this.G=t}disconnect(){this.G=void 0}reconnect(t){this.G=t}deref(){return this.G}}class p{constructor(){this.Y=void 0,this.Z=void 0}get(){return this.Y}pause(){var t;null!==(t=this.Y)&&void 0!==t||(this.Y=new Promise((t=>this.Z=t)))}resume(){var t;null===(t=this.Z)||void 0===t||t.call(this),this.Y=this.Z=void 0}}const f=t=>!(t=>null===t||"object"!=typeof t&&"function"!=typeof t)(t)&&"function"==typeof t.then,g=1073741823;class v extends h{constructor(){super(...arguments),this._$C_t=g,this._$Cwt=[],this._$Cq=new m(this),this._$CK=new p}render(...t){var e;return null!==(e=t.find((t=>!f(t))))&&void 0!==e?e:n.noChange}update(t,e){const i=this._$Cwt;let r=i.length;this._$Cwt=e;const o=this._$Cq,s=this._$CK;this.isConnected||this.disconnected();for(let t=0;tthis._$C_t);t++){const n=e[t];if(!f(n))return this._$C_t=t,n;t{for(;s.get();)await s.get();const e=o.deref();if(void 0!==e){const i=e._$Cwt.indexOf(n);i>-1&&i({_$litDirective$:_,values:t}));var _},639:(t,e,i)=>{var n;i.r(e),i.d(e,{_$LH:()=>G,html:()=>S,noChange:()=>E,nothing:()=>D,render:()=>q,svg:()=>T});const r=window,o=r.trustedTypes,s=o?o.createPolicy("lit-html",{createHTML:t=>t}):void 0,a="$lit$",l=`lit$${(Math.random()+"").slice(9)}$`,c="?"+l,d=`<${c}>`,u=document,h=()=>u.createComment(""),m=t=>null===t||"object"!=typeof t&&"function"!=typeof t,p=Array.isArray,f=t=>p(t)||"function"==typeof(null==t?void 0:t[Symbol.iterator]),g="[ \t\n\f\r]",v=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,y=/-->/g,_=/>/g,$=RegExp(`>|${g}(?:([^\\s"'>=/]+)(${g}*=${g}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),b=/'/g,w=/"/g,C=/^(?:script|style|textarea|title)$/i,A=t=>(e,...i)=>({_$litType$:t,strings:e,values:i}),S=A(1),T=A(2),E=Symbol.for("lit-noChange"),D=Symbol.for("lit-nothing"),x=new WeakMap,R=u.createTreeWalker(u,129,null,!1);function k(t,e){if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==s?s.createHTML(e):e}const O=(t,e)=>{const i=t.length-1,n=[];let r,o=2===e?"":"",s=v;for(let e=0;e"===u[0]?(s=null!=r?r:v,h=-1):void 0===u[1]?h=-2:(h=s.lastIndex-u[2].length,c=u[1],s=void 0===u[3]?$:'"'===u[3]?w:b):s===w||s===b?s=$:s===y||s===_?s=v:(s=$,r=void 0);const p=s===$&&t[e+1].startsWith("/>")?" ":"";o+=s===v?i+d:h>=0?(n.push(c),i.slice(0,h)+a+i.slice(h)+l+p):i+l+(-2===h?(n.push(void 0),e):p)}return[k(t,o+(t[i]||"")+(2===e?"":"")),n]};class P{constructor({strings:t,_$litType$:e},i){let n;this.parts=[];let r=0,s=0;const d=t.length-1,u=this.parts,[m,p]=O(t,e);if(this.el=P.createElement(m,i),R.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(n=R.nextNode())&&u.length0){n.textContent=o?o.emptyScript:"";for(let i=0;i2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=D}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,i,n){const r=this.strings;let o=!1;if(void 0===r)t=N(this,t,e,0),o=!m(t)||t!==this._$AH&&t!==E,o&&(this._$AH=t);else{const n=t;let s,a;for(t=r[0],s=0;s{var n,r;const o=null!==(n=null==i?void 0:i.renderBefore)&&void 0!==n?n:e;let s=o._$litPart$;if(void 0===s){const t=null!==(r=null==i?void 0:i.renderBefore)&&void 0!==r?r:null;o._$litPart$=s=new F(e.insertBefore(h(),t),t,void 0,null!=i?i:{})}return s._$AI(t),s}},15:(t,e,i)=>{i.r(e),i.d(e,{customElement:()=>n,eventOptions:()=>c,property:()=>a,query:()=>u,queryAll:()=>m,queryAssignedElements:()=>f,queryAssignedNodes:()=>g,queryAsync:()=>p,standardProperty:()=>s,state:()=>l});const n=t=>(e,i)=>{void 0!==i?i.addInitializer((()=>{customElements.define(t,e)})):customElements.define(t,e)};var r=i(548);const o={attribute:!0,type:String,converter:r.Ts,reflect:!1,hasChanged:r.Qu},s=(t=o,e,i)=>{const{kind:n,metadata:r}=i;let s=globalThis.litPropertyMetadata.get(r);if(void 0===s&&globalThis.litPropertyMetadata.set(r,s=new Map),s.set(i.name,t),"accessor"===n){const{name:n}=i;return{set(i){const r=e.get.call(this);e.set.call(this,i),this.requestUpdate(n,r,t)},init(e){return void 0!==e&&this.C(n,void 0,t),e}}}if("setter"===n){const{name:n}=i;return function(i){const r=this[n];e.call(this,i),this.requestUpdate(n,r,t)}}throw Error("Unsupported decorator location: "+n)};function a(t){return(e,i)=>"object"==typeof i?s(t,e,i):((t,e,i)=>{const n=e.hasOwnProperty(i);return e.constructor.createProperty(i,n?{...t,wrapped:!0}:t),n?Object.getOwnPropertyDescriptor(e,i):void 0})(t,e,i)}function l(t){return a({...t,state:!0,attribute:!1})}function c(t){return(e,i)=>{const n="function"==typeof e?e:e[i];Object.assign(n,t)}}const d=(t,e,i)=>(i.configurable=!0,i.enumerable=!0,Reflect.decorate&&"object"!=typeof e&&Object.defineProperty(t,e,i),i);function u(t,e){return(i,n,r)=>{const o=e=>e.renderRoot?.querySelector(t)??null;if(e){const{get:t,set:e}="object"==typeof n?i:r??(()=>{const t=Symbol();return{get(){return this[t]},set(e){this[t]=e}}})();return d(i,n,{get(){let i=t.call(this);return void 0===i&&(i=o(this),(null!==i||this.hasUpdated)&&e.call(this,i)),i}})}return d(i,n,{get(){return o(this)}})}}let h;function m(t){return(e,i)=>d(e,i,{get(){return(this.renderRoot??(h??=document.createDocumentFragment())).querySelectorAll(t)}})}function p(t){return(e,i)=>d(e,i,{async get(){return await this.updateComplete,this.renderRoot?.querySelector(t)??null}})}function f(t){return(e,i)=>{const{slot:n,selector:r}=t??{},o="slot"+(n?`[name=${n}]`:":not([name])");return d(e,i,{get(){const e=this.renderRoot?.querySelector(o),i=e?.assignedElements(t)??[];return void 0===r?i:i.filter((t=>t.matches(r)))}})}}function g(t){return(e,i)=>{const{slot:n}=t??{},r="slot"+(n?`[name=${n}]`:":not([name])");return d(e,i,{get(){const e=this.renderRoot?.querySelector(r);return e?.assignedNodes(t)??[]}})}}},395:(t,e,i)=>{i.r(e),i.d(e,{Directive:()=>n.Xe,PartType:()=>n.pX,directive:()=>n.XM});var n=i(126)},810:(t,e,i)=>{i.r(e),i.d(e,{AsyncReplaceDirective:()=>f,asyncReplace:()=>g});var n=i(605);const{D:r}=n._$LH;var o=i(126);const s=(t,e)=>{const i=t._$AN;if(void 0===i)return!1;for(const t of i)t._$AO?.(e,!1),s(t,e);return!0},a=t=>{let e,i;do{if(void 0===(e=t._$AM))break;i=e._$AN,i.delete(t),t=e}while(0===i?.size)},l=t=>{for(let e;e=t._$AM;t=e){let i=e._$AN;if(void 0===i)e._$AN=i=new Set;else if(i.has(t))break;i.add(t),u(e)}};function c(t){void 0!==this._$AN?(a(this),this._$AM=t,l(this)):this._$AM=t}function d(t,e=!1,i=0){const n=this._$AH,r=this._$AN;if(void 0!==r&&0!==r.size)if(e)if(Array.isArray(n))for(let t=i;t{t.type==o.pX.CHILD&&(t._$AP??=d,t._$AQ??=c)};class h extends o.Xe{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,e,i){super._$AT(t,e,i),l(this),this.isConnected=t._$AU}_$AO(t,e=!0){t!==this.isConnected&&(this.isConnected=t,t?this.reconnected?.():this.disconnected?.()),e&&(s(this,t),a(this))}setValue(t){if((t=>void 0===this._$Ct.strings)())this._$Ct._$AI(t,this);else{const e=[...this._$Ct._$AH];e[this._$Ci]=t,this._$Ct._$AI(e,this,0)}}disconnected(){}reconnected(){}}class m{constructor(t){this.G=t}disconnect(){this.G=void 0}reconnect(t){this.G=t}deref(){return this.G}}class p{constructor(){this.Y=void 0,this.Z=void 0}get(){return this.Y}pause(){this.Y??=new Promise((t=>this.Z=t))}resume(){this.Z?.(),this.Y=this.Z=void 0}}class f extends h{constructor(){super(...arguments),this._$Cq=new m(this),this._$CK=new p}render(t,e){return n.Jb}update(t,[e,i]){if(this.isConnected||this.disconnected(),e===this._$CX)return;this._$CX=e;let r=0;const{_$Cq:o,_$CK:s}=this;return(async(t,e)=>{for await(const i of t)if(!1===await e(i))return})(e,(async t=>{for(;s.get();)await s.get();const n=o.deref();if(void 0!==n){if(n._$CX!==e)return!1;void 0!==i&&(t=i(t,r)),n.commitValue(t,r),r++}return!0})),n.Jb}commitValue(t,e){this.setValue(t)}disconnected(){this._$Cq.disconnect(),this._$CK.pause()}reconnected(){this._$Cq.reconnect(this),this._$CK.resume()}}const g=(0,o.XM)(f)},110:(t,e,i)=>{i.r(e),i.d(e,{CSSResult:()=>n.c3,LitElement:()=>o,ReactiveElement:()=>n.fl,_$LE:()=>a,_$LH:()=>r._$LH,adoptStyles:()=>n.ec,css:()=>n.iv,defaultConverter:()=>n.Ts,getCompatibleStyle:()=>n.i1,html:()=>r.dy,isServer:()=>l,noChange:()=>r.Jb,notEqual:()=>n.Qu,nothing:()=>r.Ld,render:()=>r.sY,supportsAdoptingStyleSheets:()=>n.FV,svg:()=>r.YP,unsafeCSS:()=>n.$m});var n=i(548),r=i(605);class o extends n.fl{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=(0,r.sY)(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return r.Jb}}o._$litElement$=!0,o.finalized=!0,globalThis.litElementHydrateSupport?.({LitElement:o});const s=globalThis.litElementPolyfillSupport;s?.({LitElement:o});const a={_$AK:(t,e,i)=>{t._$AK(e,i)},_$AL:t=>t._$AL};(globalThis.litElementVersions??=[]).push("4.0.2");const l=!1},548:(t,e,i)=>{i.d(e,{c3:()=>a,fl:()=>T,ec:()=>d,iv:()=>c,Ts:()=>C,i1:()=>u,Qu:()=>A,FV:()=>r,$m:()=>l});const n=globalThis,r=n.ShadowRoot&&(void 0===n.ShadyCSS||n.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,o=Symbol(),s=new WeakMap;class a{constructor(t,e,i){if(this._$cssResult$=!0,i!==o)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(r&&void 0===t){const i=void 0!==e&&1===e.length;i&&(t=s.get(e)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),i&&s.set(e,t))}return t}toString(){return this.cssText}}const l=t=>new a("string"==typeof t?t:t+"",void 0,o),c=(t,...e)=>{const i=1===t.length?t[0]:e.reduce(((e,i,n)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+t[n+1]),t[0]);return new a(i,t,o)},d=(t,e)=>{if(r)t.adoptedStyleSheets=e.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const i of e){const e=document.createElement("style"),r=n.litNonce;void 0!==r&&e.setAttribute("nonce",r),e.textContent=i.cssText,t.appendChild(e)}},u=r?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const i of t.cssRules)e+=i.cssText;return l(e)})(t):t,{is:h,defineProperty:m,getOwnPropertyDescriptor:p,getOwnPropertyNames:f,getOwnPropertySymbols:g,getPrototypeOf:v}=Object,y=globalThis,_=y.trustedTypes,$=_?_.emptyScript:"",b=y.reactiveElementPolyfillSupport,w=(t,e)=>t,C={toAttribute(t,e){switch(e){case Boolean:t=t?$:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let i=t;switch(e){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},A=(t,e)=>!h(t,e),S={attribute:!0,type:String,converter:C,reflect:!1,hasChanged:A};Symbol.metadata??=Symbol("metadata"),y.litPropertyMetadata??=new WeakMap;class T extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=S){if(e.state&&(e.attribute=!1),this._$Ei(),this.elementProperties.set(t,e),!e.noAccessor){const i=Symbol(),n=this.getPropertyDescriptor(t,i,e);void 0!==n&&m(this.prototype,t,n)}}static getPropertyDescriptor(t,e,i){const{get:n,set:r}=p(this.prototype,t)??{get(){return this[e]},set(t){this[e]=t}};return{get(){return n?.call(this)},set(e){const o=n?.call(this);r.call(this,e),this.requestUpdate(t,o,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??S}static _$Ei(){if(this.hasOwnProperty(w("elementProperties")))return;const t=v(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(w("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(w("properties"))){const t=this.properties,e=[...f(t),...g(t)];for(const i of e)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const e=litPropertyMetadata.get(t);if(void 0!==e)for(const[t,i]of e)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,e]of this.elementProperties){const i=this._$Eu(t,e);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const i=new Set(t.flat(1/0).reverse());for(const t of i)e.unshift(u(t))}else void 0!==t&&e.push(u(t));return e}static _$Eu(t,e){const i=e.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$Eg=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$ES(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$E_??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$E_?.delete(t)}_$ES(){const t=new Map,e=this.constructor.elementProperties;for(const i of e.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return d(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$E_?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$E_?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,e,i){this._$AK(t,i)}_$EO(t,e){const i=this.constructor.elementProperties.get(t),n=this.constructor._$Eu(t,i);if(void 0!==n&&!0===i.reflect){const r=(void 0!==i.converter?.toAttribute?i.converter:C).toAttribute(e,i.type);this._$Em=t,null==r?this.removeAttribute(n):this.setAttribute(n,r),this._$Em=null}}_$AK(t,e){const i=this.constructor,n=i._$Eh.get(t);if(void 0!==n&&this._$Em!==n){const t=i.getPropertyOptions(n),r="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:C;this._$Em=n,this[n]=r.fromAttribute(e,t.type),this._$Em=null}}requestUpdate(t,e,i,n=!1,r){if(void 0!==t){if(i??=this.constructor.getPropertyOptions(t),!(i.hasChanged??A)(n?r:this[t],e))return;this.C(t,e,i)}!1===this.isUpdatePending&&(this._$Eg=this._$EP())}C(t,e,i){this._$AL.has(t)||this._$AL.set(t,e),!0===i.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$EP(){this.isUpdatePending=!0;try{await this._$Eg}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,e]of this._$Ep)this[t]=e;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[e,i]of t)!0!==i.wrapped||this._$AL.has(e)||void 0===this[e]||this.C(e,this[e],i)}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$E_?.forEach((t=>t.hostUpdate?.())),this.update(e)):this._$ET()}catch(e){throw t=!1,this._$ET(),e}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$E_?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$ET(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$Eg}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EO(t,this[t]))),this._$ET()}updated(t){}firstUpdated(t){}}T.elementStyles=[],T.shadowRootOptions={mode:"open"},T[w("elementProperties")]=new Map,T[w("finalized")]=new Map,b?.({ReactiveElement:T}),(y.reactiveElementVersions??=[]).push("2.0.2")},126:(t,e,i)=>{i.d(e,{XM:()=>r,Xe:()=>o,pX:()=>n});const n={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},r=t=>(...e)=>({_$litDirective$:t,values:e});class o{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}},605:(t,e,i)=>{i.d(e,{Jb:()=>T,Ld:()=>E,YP:()=>S,_$LH:()=>j,dy:()=>A,sY:()=>G});const n=globalThis,r=n.trustedTypes,o=r?r.createPolicy("lit-html",{createHTML:t=>t}):void 0,s="$lit$",a=`lit$${(Math.random()+"").slice(9)}$`,l="?"+a,c=`<${l}>`,d=document,u=()=>d.createComment(""),h=t=>null===t||"object"!=typeof t&&"function"!=typeof t,m=Array.isArray,p=t=>m(t)||"function"==typeof t?.[Symbol.iterator],f="[ \t\n\f\r]",g=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,v=/-->/g,y=/>/g,_=RegExp(`>|${f}(?:([^\\s"'>=/]+)(${f}*=${f}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),$=/'/g,b=/"/g,w=/^(?:script|style|textarea|title)$/i,C=t=>(e,...i)=>({_$litType$:t,strings:e,values:i}),A=C(1),S=C(2),T=Symbol.for("lit-noChange"),E=Symbol.for("lit-nothing"),D=new WeakMap,x=d.createTreeWalker(d,129);function R(t,e){if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==o?o.createHTML(e):e}const k=(t,e)=>{const i=t.length-1,n=[];let r,o=2===e?"":"",l=g;for(let e=0;e"===u[0]?(l=r??g,h=-1):void 0===u[1]?h=-2:(h=l.lastIndex-u[2].length,d=u[1],l=void 0===u[3]?_:'"'===u[3]?b:$):l===b||l===$?l=_:l===v||l===y?l=g:(l=_,r=void 0);const p=l===_&&t[e+1].startsWith("/>")?" ":"";o+=l===g?i+c:h>=0?(n.push(d),i.slice(0,h)+s+i.slice(h)+a+p):i+a+(-2===h?e:p)}return[R(t,o+(t[i]||"")+(2===e?"":"")),n]};class O{constructor({strings:t,_$litType$:e},i){let n;this.parts=[];let o=0,c=0;const d=t.length-1,h=this.parts,[m,p]=k(t,e);if(this.el=O.createElement(m,i),x.currentNode=this.el.content,2===e){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(n=x.nextNode())&&h.length0){n.textContent=r?r.emptyScript:"";for(let i=0;i2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=E}_$AI(t,e=this,i,n){const r=this.strings;let o=!1;if(void 0===r)t=P(this,t,e,0),o=!h(t)||t!==this._$AH&&t!==T,o&&(this._$AH=t);else{const n=t;let s,a;for(t=r[0],s=0;s{const n=i?.renderBefore??e;let r=n._$litPart$;if(void 0===r){const t=i?.renderBefore??null;n._$litPart$=r=new M(e.insertBefore(u(),t),t,void 0,i??{})}return r._$AI(t),r}},147:t=>{t.exports=JSON.parse('{"name":"formulaone-card","version":"1.9.2","description":"Frontend card for Home Assistant to display Formula One data","main":"index.js","scripts":{"lint":"eslint src/**/*.ts","dev":"webpack -c webpack.config.js","build":"yarn lint && webpack -c webpack.config.js","test":"jest","coverage":"jest --coverage","workflow":"jest --coverage --json --outputFile=/home/runner/work/formulaone-card/formulaone-card/jest.results.json","prebuild":"copy git-hooks\\\\pre-commit .git\\\\hooks\\\\ && echo \'hook copied\'"},"repository":{"type":"git","url":"git+https://github.com/marcokreeft87/formulaone-card.git"},"keywords":[],"author":"","license":"ISC","bugs":{"url":"https://github.com/marcokreeft87/formulaone-card/issues"},"homepage":"https://github.com/marcokreeft87/formulaone-card#readme","devDependencies":{"@types/jest":"^29.5.3","@typescript-eslint/eslint-plugin":"^5.59.8","@typescript-eslint/parser":"^5.62.0","codecov":"^3.8.3","eslint":"^8.52.0","home-assistant-js-websocket":"^9.1.0","lit":"^3.0.2","lit-element":"^3.3.3","minify-html-literals-loader":"^1.1.1","typescript":"^4.9.5","webpack":"^5.89.0","webpack-cli":"^5.1.4"},"dependencies":{"@babel/plugin-transform-runtime":"^7.22.5","@babel/preset-env":"^7.23.8","@lit-labs/scoped-registry-mixin":"^1.0.1","@marcokreeft/ha-editor-formbuilder":"^2023.10.9","babel-jest":"^29.7.0","compression-webpack-plugin":"^10.0.0","custom-card-helpers":"^1.9.0","isomorphic-fetch":"^3.0.0","jest-environment-jsdom":"^29.6.2","jest-fetch-mock":"^3.0.3","jest-ts-auto-mock":"^2.1.0","minify-html-literals-loader":"^1.1.1","ts-auto-mock":"^3.6.4","ts-jest":"^29.1.1","ts-loader":"^9.5.1","ttypescript":"^1.5.15","yarn":"^1.22.21"}}')}},e={};function i(n){var r=e[n];if(void 0!==r)return r.exports;var o=e[n]={exports:{}};return t[n].call(o.exports,o,o.exports,i),o.exports}i.d=(t,e)=>{for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i(148)})(); \ No newline at end of file +(()=>{"use strict";var t={898:(t,e,i)=>{Object.defineProperty(e,"__esModule",{value:!0});const n=i(313),r=i(11),o=i(194),s=i(382);class a extends r.LitElement{constructor(){super(...arguments),this.controlRenderers={[o.FormControlType.Dropdown]:s.renderDropdown,[o.FormControlType.Radio]:s.renderRadio,[o.FormControlType.Checkboxes]:s.renderCheckboxes,[o.FormControlType.EntityDropdown]:s.renderDropdown,[o.FormControlType.Switch]:s.renderSwitch,[o.FormControlType.Textbox]:s.renderTextbox,[o.FormControlType.Filler]:s.renderFiller}}setConfig(t){this._config=t}set hass(t){this._hass=t}renderForm(t){return r.html`
${t.map((t=>{const e=t.cssClass?`form-row ${t.cssClass}`:"form-row";return t.hidden?"":r.html`
${t.controls.map((t=>this.renderControl(t)))}
`}))}
`}renderControl(t){const e=this.controlRenderers[t.type];if(!e)throw new Error(`Unsupported control type: ${t.type}`);return e(this,t)}_valueChanged(t){if(!this._config||!this._hass)return;const e=t.target,i=t.detail;if("HA-CHECKBOX"===e.tagName){const t=this._config[e.configValue].indexOf(e.value);e.checked&&t<0?this._config[e.configValue]=[...this._config[e.configValue],e.value]:!e.checked&&t>-1&&(this._config[e.configValue]=[...this._config[e.configValue].slice(0,t),...this._config[e.configValue].slice(t+1)])}else if(e.configValue)if(e.configValue.indexOf(".")>-1){const[t,i]=e.configValue.split(".");this._config={...this._config,[t]:{...this._config[t],[i]:e.checked}}}else this._config={...this._config,[e.configValue]:void 0===e.checked&&(null==i?void 0:i.value)?e.checked||i.value:e.value||e.checked};(0,n.fireEvent)(this,"config-changed",{config:this._config},{bubbles:!0,composed:!0}),this.requestUpdate("_config")}static get styles(){return r.css`.form-row{margin-bottom:10px}.form-control{display:flex;align-items:center}ha-switch{padding:16px 6px}.side-by-side{display:flex;flex-flow:row wrap}.side-by-side>label{width:100%}.side-by-side>.form-control{width:49%;padding:2px}ha-textfield{width:100%}`}}e.default=a},194:(t,e)=>{var i;Object.defineProperty(e,"__esModule",{value:!0}),e.FormControlType=void 0,function(t){t.Dropdown="dropdown",t.Checkbox="checkbox",t.Checkboxes="checkboxes",t.Radio="radio",t.Switch="switch",t.Textbox="textbox",t.Filler="filler",t.EntityDropdown="entity-dropdown"}(i||(e.FormControlType=i={}))},382:(t,e,i)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.renderCheckboxes=e.renderRadio=e.renderDropdown=e.renderSwitch=e.renderTextbox=e.renderEntityDropdown=e.renderFiller=void 0;const n=i(11),r=i(429);e.renderFiller=()=>n.html`
`,e.renderEntityDropdown=(t,e)=>{var i;return n.html`
`},e.renderTextbox=(t,e)=>{var i;return n.html`
`},e.renderSwitch=(t,e)=>n.html`
`,e.renderDropdown=(t,e)=>{var i;const o=null!==(i=e.items)&&void 0!==i?i:(0,r.getEntitiesByDomain)(t._hass,e.domain);return n.html`
`},e.renderRadio=(t,e)=>n.html`
${e.items.map((i=>n.html``))}
`,e.renderCheckboxes=(t,e)=>n.html` ${e.items.map((i=>{var r;return n.html`
`}))}`},429:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.getDropdownOptionsFromEnum=e.formatList=e.getEntitiesByDeviceClass=e.getEntitiesByDomain=void 0,e.getEntitiesByDomain=(t,i)=>Object.keys(t.states).filter((t=>t.substr(0,t.indexOf("."))===i)).map((i=>(0,e.formatList)(i,t))),e.getEntitiesByDeviceClass=(t,i,n)=>Object.keys(t.states).filter((e=>e.substr(0,e.indexOf("."))===i&&t.states[e].attributes.device_class===n)).map((i=>(0,e.formatList)(i,t))),e.formatList=(t,e)=>({label:e.states[t].attributes.friendly_name,value:t}),e.getDropdownOptionsFromEnum=t=>{const e=[];for(const[i,n]of Object.entries(t))e.push({value:n,label:i});return e}},313:(t,e,i)=>{i.r(e),i.d(e,{DEFAULT_DOMAIN_ICON:()=>J,DEFAULT_PANEL:()=>X,DEFAULT_VIEW_ENTITY_ID:()=>at,DOMAINS_HIDE_MORE_INFO:()=>et,DOMAINS_MORE_INFO_NO_HISTORY:()=>it,DOMAINS_TOGGLE:()=>rt,DOMAINS_WITH_CARD:()=>Z,DOMAINS_WITH_MORE_INFO:()=>tt,NumberFormat:()=>n,STATES_OFF:()=>nt,TimeFormat:()=>r,UNIT_C:()=>ot,UNIT_F:()=>st,applyThemesOnElement:()=>L,computeCardSize:()=>H,computeDomain:()=>j,computeEntity:()=>U,computeRTL:()=>V,computeRTLDirection:()=>G,computeStateDisplay:()=>K,computeStateDomain:()=>B,createThing:()=>ut,debounce:()=>ht,domainIcon:()=>pt,evaluateFilter:()=>ft,fireEvent:()=>lt,fixedIcons:()=>mt,formatDate:()=>d,formatDateMonth:()=>y,formatDateMonthYear:()=>g,formatDateNumeric:()=>h,formatDateShort:()=>p,formatDateTime:()=>C,formatDateTimeNumeric:()=>E,formatDateTimeWithSeconds:()=>S,formatDateWeekday:()=>l,formatDateYear:()=>$,formatNumber:()=>Y,formatTime:()=>x,formatTimeWeekday:()=>P,formatTimeWithSeconds:()=>k,forwardHaptic:()=>gt,getLovelace:()=>Et,handleAction:()=>bt,handleActionConfig:()=>$t,handleClick:()=>wt,hasAction:()=>Ct,hasConfigOrEntityChanged:()=>At,hasDoubleClick:()=>St,isNumericState:()=>q,navigate:()=>vt,numberFormatToLocale:()=>z,relativeTime:()=>M,round:()=>W,stateIcon:()=>Rt,timerTimeRemaining:()=>F,toggleEntity:()=>_t,turnOnOffEntities:()=>Tt,turnOnOffEntity:()=>yt});var n,r,o,s=function(){return s=Object.assign||function(t){for(var e,i=1,n=arguments.length;i0)return{value:Math.round(h),unit:"year"};var m=12*h+d.getMonth()-u.getMonth();if(Math.round(Math.abs(m))>0)return{value:Math.round(m),unit:"month"};var p=r/604800;return{value:Math.round(p),unit:"week"}}(t,i);return n?function(t){return new Intl.RelativeTimeFormat(t.language,{numeric:"auto"})}(e).format(r.value,r.unit):Intl.NumberFormat(e.language,{style:"unit",unit:r.unit,unitDisplay:"long"}).format(Math.abs(r.value))};function F(t){var e,i=3600*(e=t.attributes.remaining.split(":").map(Number))[0]+60*e[1]+e[2];if("active"===t.state){var n=(new Date).getTime(),r=new Date(t.last_changed).getTime();i=Math.max(i-(n-r)/1e3,0)}return i}function I(){return(I=Object.assign||function(t){for(var e=1;e-1?t.split(".")[1].length:0;i.minimumFractionDigits=n,i.maximumFractionDigits=n}return i},K=function(t,e,i,n){var r=void 0!==n?n:e.state;if("unknown"===r||"unavailable"===r)return t("state.default."+r);if(q(e)){if("monetary"===e.attributes.device_class)try{return Y(r,i,{style:"currency",currency:e.attributes.unit_of_measurement})}catch(t){}return Y(r,i)+(e.attributes.unit_of_measurement?" "+e.attributes.unit_of_measurement:"")}var o=B(e);if("input_datetime"===o){var s;if(void 0===n)return e.attributes.has_date&&e.attributes.has_time?(s=new Date(e.attributes.year,e.attributes.month-1,e.attributes.day,e.attributes.hour,e.attributes.minute),C(s,i)):e.attributes.has_date?(s=new Date(e.attributes.year,e.attributes.month-1,e.attributes.day),d(s,i)):e.attributes.has_time?((s=new Date).setHours(e.attributes.hour,e.attributes.minute),x(s,i)):e.state;try{var a=n.split(" ");if(2===a.length)return C(new Date(a.join("T")),i);if(1===a.length){if(n.includes("-"))return d(new Date(n+"T00:00"),i);if(n.includes(":")){var l=new Date;return x(new Date(l.toISOString().split("T")[0]+"T"+n),i)}}return n}catch(t){return n}}return"humidifier"===o&&"on"===r&&e.attributes.humidity?e.attributes.humidity+" %":"counter"===o||"number"===o||"input_number"===o?Y(r,i):e.attributes.device_class&&t("component."+o+".state."+e.attributes.device_class+"."+r)||t("component."+o+".state._."+r)||r},J="mdi:bookmark",X="lovelace",Z=["climate","cover","configurator","input_select","input_number","input_text","lock","media_player","scene","script","timer","vacuum","water_heater","weblink"],tt=["alarm_control_panel","automation","camera","climate","configurator","cover","fan","group","history_graph","input_datetime","light","lock","media_player","script","sun","updater","vacuum","water_heater","weather"],et=["input_number","input_select","input_text","scene","weblink"],it=["camera","configurator","history_graph","scene"],nt=["closed","locked","off"],rt=new Set(["fan","input_boolean","light","switch","group","automation"]),ot="°C",st="°F",at="group.default_view",lt=function(t,e,i,n){n=n||{},i=null==i?{}:i;var r=new Event(e,{bubbles:void 0===n.bubbles||n.bubbles,cancelable:Boolean(n.cancelable),composed:void 0===n.composed||n.composed});return r.detail=i,t.dispatchEvent(r),r},ct=new Set(["call-service","divider","section","weblink","cast","select"]),dt={alert:"toggle",automation:"toggle",climate:"climate",cover:"cover",fan:"toggle",group:"group",input_boolean:"toggle",input_number:"input-number",input_select:"input-select",input_text:"input-text",light:"toggle",lock:"lock",media_player:"media-player",remote:"toggle",scene:"scene",script:"script",sensor:"sensor",timer:"timer",switch:"toggle",vacuum:"toggle",water_heater:"climate",input_datetime:"input-datetime"},ut=function(t,e){void 0===e&&(e=!1);var i=function(t,e){return n("hui-error-card",{type:"error",error:t,config:e})},n=function(t,e){var n=window.document.createElement(t);try{if(!n.setConfig)return;n.setConfig(e)}catch(n){return console.error(t,n),i(n.message,e)}return n};if(!t||"object"!=typeof t||!e&&!t.type)return i("No type defined",t);var r=t.type;if(r&&r.startsWith("custom:"))r=r.substr(7);else if(e)if(ct.has(r))r="hui-"+r+"-row";else{if(!t.entity)return i("Invalid config given.",t);var o=t.entity.split(".",1)[0];r="hui-"+(dt[o]||"text")+"-entity-row"}else r="hui-"+r+"-card";if(customElements.get(r))return n(r,t);var s=i("Custom element doesn't exist: "+t.type+".",t);s.style.display="None";var a=setTimeout((function(){s.style.display=""}),2e3);return customElements.whenDefined(t.type).then((function(){clearTimeout(a),lt(s,"ll-rebuild",{},s)})),s},ht=function(t,e,i){var n;return void 0===i&&(i=!1),function(){var r=[].slice.call(arguments),o=this,s=i&&!n;clearTimeout(n),n=setTimeout((function(){n=null,i||t.apply(o,r)}),e),s&&t.apply(o,r)}},mt={alert:"mdi:alert",automation:"mdi:playlist-play",calendar:"mdi:calendar",camera:"mdi:video",climate:"mdi:thermostat",configurator:"mdi:settings",conversation:"mdi:text-to-speech",device_tracker:"mdi:account",fan:"mdi:fan",group:"mdi:google-circles-communities",history_graph:"mdi:chart-line",homeassistant:"mdi:home-assistant",homekit:"mdi:home-automation",image_processing:"mdi:image-filter-frames",input_boolean:"mdi:drawing",input_datetime:"mdi:calendar-clock",input_number:"mdi:ray-vertex",input_select:"mdi:format-list-bulleted",input_text:"mdi:textbox",light:"mdi:lightbulb",mailbox:"mdi:mailbox",notify:"mdi:comment-alert",person:"mdi:account",plant:"mdi:flower",proximity:"mdi:apple-safari",remote:"mdi:remote",scene:"mdi:google-pages",script:"mdi:file-document",sensor:"mdi:eye",simple_alarm:"mdi:bell",sun:"mdi:white-balance-sunny",switch:"mdi:flash",timer:"mdi:timer",updater:"mdi:cloud-upload",vacuum:"mdi:robot-vacuum",water_heater:"mdi:thermometer",weblink:"mdi:open-in-new"};function pt(t,e){if(t in mt)return mt[t];switch(t){case"alarm_control_panel":switch(e){case"armed_home":return"mdi:bell-plus";case"armed_night":return"mdi:bell-sleep";case"disarmed":return"mdi:bell-outline";case"triggered":return"mdi:bell-ring";default:return"mdi:bell"}case"binary_sensor":return e&&"off"===e?"mdi:radiobox-blank":"mdi:checkbox-marked-circle";case"cover":return"closed"===e?"mdi:window-closed":"mdi:window-open";case"lock":return e&&"unlocked"===e?"mdi:lock-open":"mdi:lock";case"media_player":return e&&"off"!==e&&"idle"!==e?"mdi:cast-connected":"mdi:cast";case"zwave":switch(e){case"dead":return"mdi:emoticon-dead";case"sleeping":return"mdi:sleep";case"initializing":return"mdi:timer-sand";default:return"mdi:z-wave"}default:return console.warn("Unable to find icon for domain "+t+" ("+e+")"),"mdi:bookmark"}}var ft=function(t,e){var i=e.value||e,n=e.attribute?t.attributes[e.attribute]:t.state;switch(e.operator||"=="){case"==":return n===i;case"<=":return n<=i;case"<":return n=":return n>=i;case">":return n>i;case"!=":return n!==i;case"regex":return n.match(i);default:return!1}},gt=function(t){lt(window,"haptic",t)},vt=function(t,e,i){void 0===i&&(i=!1),i?history.replaceState(null,"",e):history.pushState(null,"",e),lt(window,"location-changed",{replace:i})},yt=function(t,e,i){void 0===i&&(i=!0);var n,r=j(e),o="group"===r?"homeassistant":r;switch(r){case"lock":n=i?"unlock":"lock";break;case"cover":n=i?"open_cover":"close_cover";break;default:n=i?"turn_on":"turn_off"}return t.callService(o,n,{entity_id:e})},_t=function(t,e){var i=nt.includes(t.states[e].state);return yt(t,e,i)},$t=function(t,e,i,n){if(n||(n={action:"more-info"}),!n.confirmation||n.confirmation.exemptions&&n.confirmation.exemptions.some((function(t){return t.user===e.user.id}))||(gt("warning"),confirm(n.confirmation.text||"Are you sure you want to "+n.action+"?")))switch(n.action){case"more-info":(i.entity||i.camera_image)&<(t,"hass-more-info",{entityId:i.entity?i.entity:i.camera_image});break;case"navigate":n.navigation_path&&vt(0,n.navigation_path);break;case"url":n.url_path&&window.open(n.url_path);break;case"toggle":i.entity&&(_t(e,i.entity),gt("success"));break;case"call-service":if(!n.service)return void gt("failure");var r=n.service.split(".",2);e.callService(r[0],r[1],n.service_data,n.target),gt("success");break;case"fire-dom-event":lt(t,"ll-custom",n)}},bt=function(t,e,i,n){var r;"double_tap"===n&&i.double_tap_action?r=i.double_tap_action:"hold"===n&&i.hold_action?r=i.hold_action:"tap"===n&&i.tap_action&&(r=i.tap_action),$t(t,e,i,r)},wt=function(t,e,i,n,r){var o;if(r&&i.double_tap_action?o=i.double_tap_action:n&&i.hold_action?o=i.hold_action:!n&&i.tap_action&&(o=i.tap_action),o||(o={action:"more-info"}),!o.confirmation||o.confirmation.exemptions&&o.confirmation.exemptions.some((function(t){return t.user===e.user.id}))||confirm(o.confirmation.text||"Are you sure you want to "+o.action+"?"))switch(o.action){case"more-info":(o.entity||i.entity||i.camera_image)&&(lt(t,"hass-more-info",{entityId:o.entity?o.entity:i.entity?i.entity:i.camera_image}),o.haptic&>(o.haptic));break;case"navigate":o.navigation_path&&(vt(0,o.navigation_path),o.haptic&>(o.haptic));break;case"url":o.url_path&&window.open(o.url_path),o.haptic&>(o.haptic);break;case"toggle":i.entity&&(_t(e,i.entity),o.haptic&>(o.haptic));break;case"call-service":if(!o.service)return;var s=o.service.split(".",2),a=s[0],l=s[1],c=I({},o.service_data);"entity"===c.entity_id&&(c.entity_id=i.entity),e.callService(a,l,c,o.target),o.haptic&>(o.haptic);break;case"fire-dom-event":lt(t,"ll-custom",o),o.haptic&>(o.haptic)}};function Ct(t){return void 0!==t&&"none"!==t.action}function At(t,e,i){if(e.has("config")||i)return!0;if(t.config.entity){var n=e.get("hass");return!n||n.states[t.config.entity]!==t.hass.states[t.config.entity]}return!1}function St(t){return void 0!==t&&"none"!==t.action}var Tt=function(t,e,i){void 0===i&&(i=!0);var n={};e.forEach((function(e){if(nt.includes(t.states[e].state)===i){var r=j(e),o=["cover","lock"].includes(r)?r:"homeassistant";o in n||(n[o]=[]),n[o].push(e)}})),Object.keys(n).forEach((function(e){var r;switch(e){case"lock":r=i?"unlock":"lock";break;case"cover":r=i?"open_cover":"close_cover";break;default:r=i?"turn_on":"turn_off"}t.callService(e,r,{entity_id:n[e]})}))},Et=function(){var t=document.querySelector("home-assistant");if(t=(t=(t=(t=(t=(t=(t=(t=t&&t.shadowRoot)&&t.querySelector("home-assistant-main"))&&t.shadowRoot)&&t.querySelector("app-drawer-layout partial-panel-resolver"))&&t.shadowRoot||t)&&t.querySelector("ha-panel-lovelace"))&&t.shadowRoot)&&t.querySelector("hui-root")){var e=t.lovelace;return e.current_view=t.___curView,e}return null},Dt={humidity:"mdi:water-percent",illuminance:"mdi:brightness-5",temperature:"mdi:thermometer",pressure:"mdi:gauge",power:"mdi:flash",signal_strength:"mdi:wifi"},xt={binary_sensor:function(t,e){var i="off"===t;switch(null==e?void 0:e.attributes.device_class){case"battery":return i?"mdi:battery":"mdi:battery-outline";case"battery_charging":return i?"mdi:battery":"mdi:battery-charging";case"cold":return i?"mdi:thermometer":"mdi:snowflake";case"connectivity":return i?"mdi:server-network-off":"mdi:server-network";case"door":return i?"mdi:door-closed":"mdi:door-open";case"garage_door":return i?"mdi:garage":"mdi:garage-open";case"power":case"plug":return i?"mdi:power-plug-off":"mdi:power-plug";case"gas":case"problem":case"safety":case"tamper":return i?"mdi:check-circle":"mdi:alert-circle";case"smoke":return i?"mdi:check-circle":"mdi:smoke";case"heat":return i?"mdi:thermometer":"mdi:fire";case"light":return i?"mdi:brightness-5":"mdi:brightness-7";case"lock":return i?"mdi:lock":"mdi:lock-open";case"moisture":return i?"mdi:water-off":"mdi:water";case"motion":return i?"mdi:walk":"mdi:run";case"occupancy":case"presence":return i?"mdi:home-outline":"mdi:home";case"opening":return i?"mdi:square":"mdi:square-outline";case"running":return i?"mdi:stop":"mdi:play";case"sound":return i?"mdi:music-note-off":"mdi:music-note";case"update":return i?"mdi:package":"mdi:package-up";case"vibration":return i?"mdi:crop-portrait":"mdi:vibrate";case"window":return i?"mdi:window-closed":"mdi:window-open";default:return i?"mdi:radiobox-blank":"mdi:checkbox-marked-circle"}},cover:function(t){var e="closed"!==t.state;switch(t.attributes.device_class){case"garage":return e?"mdi:garage-open":"mdi:garage";case"door":return e?"mdi:door-open":"mdi:door-closed";case"shutter":return e?"mdi:window-shutter-open":"mdi:window-shutter";case"blind":return e?"mdi:blinds-open":"mdi:blinds";case"window":return e?"mdi:window-open":"mdi:window-closed";default:return pt("cover",t.state)}},sensor:function(t){var e=t.attributes.device_class;if(e&&e in Dt)return Dt[e];if("battery"===e){var i=Number(t.state);if(isNaN(i))return"mdi:battery-unknown";var n=10*Math.round(i/10);return n>=100?"mdi:battery":n<=0?"mdi:battery-alert":"hass:battery-"+n}var r=t.attributes.unit_of_measurement;return"°C"===r||"°F"===r?"mdi:thermometer":pt("sensor")},input_datetime:function(t){return t.attributes.has_date?t.attributes.has_time?pt("input_datetime"):"mdi:calendar":"mdi:clock"}},Rt=function(t){if(!t)return"mdi:bookmark";if(t.attributes.icon)return t.attributes.icon;var e=j(t.entity_id);return e in xt?xt[e](t):pt(e,t.state)}},694:function(t,e){var i=this&&this.__awaiter||function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{l(n.next(t))}catch(t){o(t)}}function a(t){try{l(n.throw(t))}catch(t){o(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}l((n=n.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0}),e.ClientBase=void 0,e.ClientBase=class{GetData(t,e,n){return i(this,void 0,void 0,(function*(){const i=localStorage.getItem(t);if(i&&e){const t=JSON.parse(i),e=new Date;if(e.setHours(e.getHours()-n),new Date(t.created)>e)return JSON.parse(t.data)}const r=yield fetch(`${this.baseUrl}/${t}`,{headers:{Accept:"application/json"}});if(!r||!r.ok)return Promise.reject(r);const o=yield r.json(),s={data:JSON.stringify(o),created:new Date};return e&&localStorage.setItem(t,JSON.stringify(s)),o}))}}},470:function(t,e,i){var n=this&&this.__awaiter||function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{l(n.next(t))}catch(t){o(t)}}function a(t){try{l(n.throw(t))}catch(t){o(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}l((n=n.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0});const r=i(438),o=i(694);class s extends o.ClientBase{constructor(){super(...arguments),this.baseUrl="https://api.jolpi.ca/ergast/f1"}GetSchedule(t){return n(this,void 0,void 0,(function*(){return(yield this.GetData(`${t}.json`,!0,72)).MRData.RaceTable.Races}))}GetLastResult(){return n(this,void 0,void 0,(function*(){const t=(0,r.getRefreshTime)("current/last/results.json");return(yield this.GetData("current/last/results.json",!0,t)).MRData.RaceTable.Races[0]}))}GetDriverStandings(){return n(this,void 0,void 0,(function*(){const t=(0,r.getRefreshTime)("current/driverStandings.json");return(yield this.GetData("current/driverStandings.json",!0,t)).MRData.StandingsTable.StandingsLists[0].DriverStandings}))}GetConstructorStandings(){return n(this,void 0,void 0,(function*(){const t=(0,r.getRefreshTime)("current/constructorStandings.json");return(yield this.GetData("current/constructorStandings.json",!0,t)).MRData.StandingsTable.StandingsLists[0].ConstructorStandings}))}GetSprintResults(t,e){return n(this,void 0,void 0,(function*(){return(yield this.GetData(`${t}/${e}/sprint.json`,!1,0)).MRData.RaceTable}))}GetQualifyingResults(t,e){return n(this,void 0,void 0,(function*(){return(yield this.GetData(`${t}/${e}/qualifying.json`,!1,0)).MRData.RaceTable}))}GetResults(t,e){return n(this,void 0,void 0,(function*(){return(yield this.GetData(`${t}/${e}/results.json`,!1,0)).MRData.RaceTable}))}GetSeasons(){return n(this,void 0,void 0,(function*(){return(yield this.GetData("seasons.json?limit=200",!0,72)).MRData.SeasonTable.Seasons}))}GetSeasonRaces(t){return n(this,void 0,void 0,(function*(){return(yield this.GetData(`${t}.json`,!0,72)).MRData.RaceTable.Races}))}GetLastYearsResults(t){return n(this,void 0,void 0,(function*(){const e=(new Date).getFullYear()-1,i=(yield this.GetData(`${e}.json`,!0,72)).MRData.RaceTable.Races.findIndex((e=>e.Circuit.circuitName===t))+1;return(yield this.GetData(`${e}/${i}/results.json`,!1,0)).MRData.RaceTable.Races[0]}))}RefreshCache(){return n(this,void 0,void 0,(function*(){yield this.GetData("current.json",!0,0),yield this.GetData("current/last/results.json",!0,0),yield this.GetData("current/driverStandings.json",!0,0),yield this.GetData("current/constructorStandings.json",!0,0)}))}}e.default=s},661:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=class{GetImage(t){const e=localStorage.getItem(t);if(e){const t=JSON.parse(e),i=new Date;if(i.setHours(i.getHours()-672),new Date(t.created)>i)return t.data}return fetch(t).then((t=>t.blob())).then((e=>{const i=new FileReader;i.readAsDataURL(e),i.onloadend=function(){const e={data:i.result,created:new Date};return localStorage.setItem(t,JSON.stringify(e)),e.data}})),t}}},959:function(t,e,i){var n=this&&this.__awaiter||function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{l(n.next(t))}catch(t){o(t)}}function a(t){try{l(n.throw(t))}catch(t){o(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}l((n=n.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0});const r=i(694);class o extends r.ClientBase{constructor(){super(...arguments),this.baseUrl="https://restcountries.com/v2"}GetAll(){return n(this,void 0,void 0,(function*(){return yield this.GetData("all",!0,730)}))}GetCountriesFromLocalStorage(){const t=localStorage.getItem("all");if(t){const e=JSON.parse(t);return JSON.parse(e.data)}return[]}}e.default=o},267:function(t,e,i){var n=this&&this.__awaiter||function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{l(n.next(t))}catch(t){o(t)}}function a(t){try{l(n.throw(t))}catch(t){o(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}l((n=n.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0});const r=i(694);class o extends r.ClientBase{constructor(t,e){super(),this.unitGroup="metric",this.baseUrl="https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline",this.apiKey=t,this.unitGroup=null!=e?e:this.unitGroup}getWeatherData(t,e,i){return n(this,void 0,void 0,(function*(){const n=`${t},${e}/${i}?unitGroup=${this.unitGroup}&key=${this.apiKey}&contentType=json`;return yield this.GetData(n,!0,1)}))}}e.default=o},366:(t,e,i)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.BaseCard=void 0;const n=i(470),r=i(661),o=i(267);e.BaseCard=class{constructor(t){var e,i;this.config=t.config,this.client=new n.default,this.hass=t._hass,this.parent=t,this.weatherClient=new o.default(null!==(i=null===(e=this.config.weather_options)||void 0===e?void 0:e.api_key)&&void 0!==i?i:""),this.imageClient=new r.default}translation(t){return!this.config.translations||Object.keys(this.config.translations).indexOf(t)<0?this.defaultTranslations[t]:this.config.translations[t]}getProperties(){var t,e;const i=null===(t=this.parent.properties)||void 0===t?void 0:t.get("cardValues");return{races:null==i?void 0:i.races,selectedRace:null==i?void 0:i.selectedRace,selectedSeason:null==i?void 0:i.selectedSeason,selectedTabIndex:null!==(e=null==i?void 0:i.selectedTabIndex)&&void 0!==e?e:0}}getParentCardValues(){var t,e;const i=null!==(t=this.parent.properties)&&void 0!==t?t:new Map;return{properties:null!==(e=i.get("cardValues"))&&void 0!==e?e:{},cardValues:i}}}},169:(t,e,i)=>{Object.defineProperty(e,"__esModule",{value:!0});const n=i(639),r=i(557),o=i(438),s=i(366);class a extends s.BaseCard{constructor(t){super(t),this.defaultTranslations={constructor:"Constructor",points:"Pts",wins:"Wins"}}cardSize(){return 11}renderStandingRow(t){var e;return n.html`${t.position}${(null===(e=this.config.standings)||void 0===e?void 0:e.show_teamlogo)?n.html` `:""}${t.Constructor.name}${t.points}${t.wins}`}render(){return n.html`${(0,r.until)(this.client.GetConstructorStandings().then((t=>n.html`${(0,o.reduceArray)(t,this.config.row_limit).map((t=>this.renderStandingRow(t)))}
 ${this.translation("constructor")}${this.translation("points")}${this.translation("wins")}
`)).catch((()=>n.html`${(0,o.getApiErrorMessage)("standings")}`)),n.html`${(0,o.getApiLoadingMessage)()}`)}`}}e.default=a},849:function(t,e,i){var n=this&&this.__await||function(t){return this instanceof n?(this.v=t,this):new n(t)},r=this&&this.__asyncGenerator||function(t,e,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,o=i.apply(t,e||[]),s=[];return r={},a("next"),a("throw"),a("return"),r[Symbol.asyncIterator]=function(){return this},r;function a(t){o[t]&&(r[t]=function(e){return new Promise((function(i,n){s.push([t,e,i,n])>1||l(t,e)}))})}function l(t,e){try{(i=o[t](e)).value instanceof n?Promise.resolve(i.value.v).then(c,d):u(s[0][2],i)}catch(t){u(s[0][3],t)}var i}function c(t){l("next",t)}function d(t){l("throw",t)}function u(t,e){t(e),s.shift(),s.length&&l(s[0][0],s[0][1])}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(639),s=i(557),a=i(438),l=i(366),c=i(810),d=i(313),u=i(22),h=i(241);class m extends l.BaseCard{constructor(t){var e;super(t),this.defaultTranslations={days:"d",hours:"h",minutes:"m",seconds:"s",endofseason:"Season is over. See you next year!",racenow:"We are racing!",date:"Date",practice1:"Practice 1",practice2:"Practice 2",practice3:"Practice 3",race:"Race",racename:"Race name",circuitname:"Circuit name",location:"Location",city:"City",racetime:"Race",sprint:"Sprint",qualifying:"Qualifying",until:"Until"},this.config.countdown_type=null!==(e=this.config.countdown_type)&&void 0!==e?e:h.CountdownType.Race}cardSize(){return this.config.show_raceinfo?12:6}renderHeader(t,e){return this.config.show_raceinfo?o.html`${(0,a.renderRaceInfo)(this,t,e)}
${(0,a.renderHeader)(this,t,!0)}
`:null}countDownTillDate(t){return r(this,arguments,(function*(){for(;t>new Date;){const e=(new Date).getTime(),i=t.getTime()-e,r=Math.floor(i/864e5),o=Math.floor(i%864e5/36e5),s=Math.floor(i%36e5/6e4),a=Math.floor(i%6e4/1e3);yield yield n(`${r}${this.translation("days")} ${o}${this.translation("hours")} ${s}${this.translation("minutes")} ${a}${this.translation("seconds")} `),yield n(new Promise((t=>setTimeout(t,1e3))))}yield yield n(this.translation("racenow"))}))}render(){const t=t=>{this.hass&&this.config.actions&&t.detail.action&&(0,a.clickHandler)(this.parent,this.config,this.hass,t)};return o.html`${(0,s.until)(this.client.GetSchedule((new Date).getFullYear()).then((e=>{var i,n;const{nextRace:r,raceDateTime:s,countdownType:l}=this.getNextEvent(e);if(!r)return(0,a.getEndOfSeasonMessage)(this.translation("endofseason"));const h=this.countDownTillDate(s),m=void 0!==this.config.actions;return o.html`${Array.isArray(this.config.countdown_type)&&this.config.countdown_type.length>1?o.html``:null}

   ${r.round} : ${r.raceName}

${(0,c.asyncReplace)(h)}

${this.translation("until")} ${this.translation(l.toLowerCase())}

${this.renderHeader(r,s)}`})).catch((()=>o.html`${(0,a.getApiErrorMessage)("next race")}`)),o.html`${(0,a.getApiLoadingMessage)()}`)}`}getNextEvent(t){var e;const i=t.filter((t=>{const e=new Date(t.date+"T"+t.time);return e.setHours(e.getHours()+3),e>=new Date}))[0];let n=null,r=this.config.countdown_type;if(i){const t=this.config.countdown_type,o=[{Date:new Date(i.FirstPractice.date+"T"+i.FirstPractice.time),Type:h.CountdownType.Practice1},{Date:new Date(i.SecondPractice.date+"T"+i.SecondPractice.time),Type:h.CountdownType.Practice2},{Date:i.ThirdPractice?new Date(i.ThirdPractice.date+"T"+i.ThirdPractice.time):null,Type:h.CountdownType.Practice3},{Date:i.Sprint?new Date(i.Sprint.date+"T"+i.Sprint.time):null,Type:h.CountdownType.Sprint},{Date:new Date(i.Qualifying.date+"T"+i.Qualifying.time),Type:h.CountdownType.Qualifying},{Date:new Date(i.date+"T"+i.time),Type:h.CountdownType.Race}].filter((t=>t.Date)).filter((t=>t.Date>new Date)).sort(((t,e)=>t.Date.getTime()-e.Date.getTime())).filter((e=>null==t?void 0:t.includes(e.Type)))[0];n=null==o?void 0:o.Date,r=null!==(e=null==o?void 0:o.Type)&&void 0!==e?e:r}return{nextRace:i,raceDateTime:n,countdownType:r}}}e.default=m},138:(t,e,i)=>{Object.defineProperty(e,"__esModule",{value:!0});const n=i(639),r=i(557),o=i(438),s=i(366);class a extends s.BaseCard{constructor(t){super(t),this.defaultTranslations={driver:"Driver",team:"Team",points:"Pts",wins:"Wins"}}cardSize(){return 12}renderStandingRow(t){var e,i;return n.html`${t.position}${(null===(e=this.config.standings)||void 0===e?void 0:e.show_flag)?n.html` `:""}${t.Driver.code}${(0,o.getDriverName)(t.Driver,this.config)}${(null===(i=this.config.standings)||void 0===i?void 0:i.show_team)?n.html`${(0,o.renderConstructorColumn)(this,t.Constructors[0])}`:""}${t.points}${t.wins}`}render(){return n.html`${(0,r.until)(this.client.GetDriverStandings().then((t=>{var e;return n.html`${(null===(e=this.config.standings)||void 0===e?void 0:e.show_team)?n.html``:""}${(0,o.reduceArray)(t,this.config.row_limit).map((t=>this.renderStandingRow(t)))}
 ${this.translation("driver")}${this.translation("team")}${this.translation("points")}${this.translation("wins")}
`})).catch((()=>n.html`${(0,o.getApiErrorMessage)("standings")}`)),n.html`${(0,o.getApiLoadingMessage)()}`)}`}}e.default=a},507:(t,e,i)=>{Object.defineProperty(e,"__esModule",{value:!0});const n=i(639),r=i(557),o=i(438),s=i(366);class a extends s.BaseCard{constructor(t){super(t),this.defaultTranslations={driver:"Driver",grid:"Grid",points:"Points",status:"Status"}}cardSize(){return 11}renderResultRow(t){return n.html`${t.position}${(0,o.getDriverName)(t.Driver,this.config)}${t.grid}${t.points}${t.status}`}render(){return n.html`${(0,r.until)(this.client.GetLastResult().then((t=>n.html`
${(0,o.renderHeader)(this,t)}
${(0,o.reduceArray)(t.Results,this.config.row_limit).map((t=>this.renderResultRow(t)))}
 ${this.translation("driver")}${this.translation("grid")}${this.translation("points")}${this.translation("status")}
`)).catch((()=>n.html`${(0,o.getApiErrorMessage)("last result")}`)),n.html`${(0,o.getApiLoadingMessage)()}`)}`}}e.default=a},840:(t,e,i)=>{Object.defineProperty(e,"__esModule",{value:!0});const n=i(639),r=i(557),o=i(438),s=i(366),a=i(300);class l extends s.BaseCard{constructor(){super(...arguments),this.defaultTranslations={date:"Date",practice1:"Practice 1",practice2:"Practice 2",practice3:"Practice 3",race:"Race",racename:"Race name",circuitname:"Circuit name",location:"Location",city:"City",racetime:"Race",sprint:"Sprint",qualifying:"Qualifying",endofseason:"Season is over. See you next year!"}}cardSize(){return 8}render(){return n.html`${(0,r.until)(this.client.GetSchedule((new Date).getFullYear()).then((t=>{const e=this.config.next_race_delay||0,i=t.filter((t=>{const i=new Date(t.date+"T"+t.time);return i.setHours(i.getHours()+e),i>=new Date}))[0];return i?n.html`${this.config.show_raceinfo?(0,o.renderRaceInfo)(this,i):this.config.only_show_date?n.html``:null}
${(0,o.renderHeader)(this,i)}

${(0,a.formatDateNumeric)(new Date(i.date+"T"+i.time),this.hass.locale,this.config.date_locale)}

`:(0,o.getEndOfSeasonMessage)(this.translation("endofseason"))})).catch((()=>n.html`${(0,o.getApiErrorMessage)("next race")}`)),n.html`${(0,o.getApiLoadingMessage)()}`)}`}}e.default=l},74:(t,e,i)=>{Object.defineProperty(e,"__esModule",{value:!0});const n=i(639),r=i(557),o=i(438),s=i(366);class a extends s.BaseCard{constructor(t){super(t),this.defaultTranslations={driver:"Driver",grid:"Grid",team:"Team",points:"Points",status:"Status",raceheader:"Race",seasonheader:"Season",selectseason:"Select season",selectrace:"Select race",noresults:"Please select a race thats already been run.",q1:"Q1",q2:"Q2",q3:"Q3"},this.icons={sprint:"mdi:flag-checkered",qualifying:"mdi:timer-outline",results:"mdi:trophy"},this.renderTabsHtml=(t,e,i)=>i?n.html`${t.filter((t=>t.content)).length>0?n.html``:n.html``}
${this.renderHeader(i)}
${t.filter((t=>!t.hide)).map((t=>n.html``))}
${t.filter((t=>!t.hide)).find(((t,i)=>i==e)).content}
${this.translation("noresults")}
`:n.html``}cardSize(){return 12}renderTabs(t){return[{title:"Results",icon:this.icon("results"),content:this.renderResults(t),order:this.tabOrder("results")},{title:"Qualifying",icon:this.icon("qualifying"),content:this.renderQualifying(t),order:this.tabOrder("qualifying")},{title:"Sprint",icon:this.icon("sprint"),content:this.renderSprint(t),hide:!(null==t?void 0:t.SprintResults),order:this.tabOrder("sprint")}].sort(((t,e)=>t.order-e.order))}renderSprint(t){var e;return(null==t?void 0:t.SprintResults)?n.html`${(null===(e=this.config.standings)||void 0===e?void 0:e.show_team)?n.html``:""}${(0,o.reduceArray)(t.SprintResults,this.config.row_limit).map((t=>this.renderResultRow(t,!1)))}
 ${this.translation("driver")}${this.translation("team")}${this.translation("grid")}${this.translation("points")}${this.translation("status")}
`:null}renderQualifying(t){var e;return(null==t?void 0:t.QualifyingResults)?n.html`${(null===(e=this.config.standings)||void 0===e?void 0:e.show_team)?n.html``:""}${(0,o.reduceArray)(t.QualifyingResults,this.config.row_limit).map((t=>this.renderQualifyingResultRow(t)))}
 ${this.translation("driver")}${this.translation("team")}${this.translation("q1")}${this.translation("q2")}${this.translation("q3")}
`:null}renderResults(t){var e,i;const r=null===(e=null==t?void 0:t.Results)||void 0===e?void 0:e.filter((t=>{var e;return"1"===(null===(e=t.FastestLap)||void 0===e?void 0:e.rank)}))[0];return(null==t?void 0:t.Results)?n.html`${(null===(i=this.config.standings)||void 0===i?void 0:i.show_team)?n.html``:""}${(0,o.reduceArray)(t.Results,this.config.row_limit).map((t=>this.renderResultRow(t,t.position===(null==r?void 0:r.position))))}${r?n.html``:""}
 ${this.translation("driver")}${this.translation("team")}${this.translation("grid")}${this.translation("points")}${this.translation("status")}
* Fastest lap: ${r.FastestLap.Time.time}
`:null}renderResultRow(t,e){var i,r;return n.html`${t.position}${(null===(i=this.config.standings)||void 0===i?void 0:i.show_flag)?n.html` `:""}${(0,o.getDriverName)(t.Driver,this.config)}${e?" *":""}${(null===(r=this.config.standings)||void 0===r?void 0:r.show_team)?n.html`${(0,o.renderConstructorColumn)(this,t.Constructor)}`:""}${t.grid}${t.points}${t.status}`}renderQualifyingResultRow(t){var e,i;return n.html`${t.position}${(null===(e=this.config.standings)||void 0===e?void 0:e.show_flag)?n.html` `:""}${(0,o.getDriverName)(t.Driver,this.config)}${(null===(i=this.config.standings)||void 0===i?void 0:i.show_team)?n.html`${(0,o.renderConstructorColumn)(this,t.Constructor)}`:""}${t.Q1}${t.Q2}${t.Q3}`}renderHeader(t){return null==t||parseInt(t.season)<2018?null:(0,o.renderHeader)(this,t)}render(){const{races:t,selectedRace:e,selectedSeason:i,selectedTabIndex:s}=this.getProperties();void 0===i&&this.getLastResult();const a=t=>{this.setRaces(t)},l=this.renderTabs(e);return n.html`
${this.translation("seasonheader")}
${(0,r.until)(this.client.GetSeasons().then((t=>{const e=t.reverse();return n.html``})).catch((()=>n.html`${(0,o.getApiErrorMessage)("seasons")}`)),n.html`${(0,o.getApiLoadingMessage)()}`)}
${this.translation("raceheader")}
${this.renderTabsHtml(l,s,e)}`}setSelectedRace(t){const e=parseInt(t.target.value),{properties:i,cardValues:n}=this.getParentCardValues();i.selectedRound=e;const r=i.selectedSeason;Promise.all([this.client.GetResults(r,e),this.client.GetQualifyingResults(r,e),this.client.GetSprintResults(r,e),this.client.GetSchedule(r)]).then((([t,r,o,s])=>{var a;let l=t.Races[0];l?(l.QualifyingResults=r.Races[0].QualifyingResults,l.SprintResults=null===(a=null==o?void 0:o.Races[0])||void 0===a?void 0:a.SprintResults,i.selectedSeason=l.season):l=s.filter((t=>parseInt(t.round)==e))[0],i.selectedRace=l,n.set("cardValues",i),this.parent.properties=n}))}setRaces(t){const e=t.target.value,{properties:i,cardValues:n}=this.getParentCardValues();this.client.GetSeasonRaces(parseInt(e)).then((t=>{i.selectedSeason=e,i.selectedRace=void 0,i.races=t,n.set("cardValues",i),this.parent.properties=n}))}getUpcomingRace(t,e){const i=e.filter((e=>{const i=new Date(e.date+"T"+e.time),n=new Date(e.Qualifying.date+"T"+e.Qualifying.time),r=e.Sprint?new Date(e.Sprint.date+"T"+e.Sprint.time):null;return i>=t&&n0?i[0]:null}getLastResult(){const t=new Date;Promise.all([this.client.GetSchedule(t.getFullYear()),this.client.GetLastResult()]).then((([e,i])=>{const n=this.getUpcomingRace(t,e);let r=(new Date).getFullYear(),o=null!==n?parseInt(n.round):0,s={};null!==n?(s=n,o=parseInt(s.round),r=parseInt(s.season)):(s=i,o=parseInt(i.round),r=parseInt(i.season)),Promise.all([this.client.GetQualifyingResults(r,o),this.client.GetSprintResults(r,o),this.client.GetSeasonRaces(r)]).then((([t,e,i])=>{var n;const{properties:o,cardValues:a}=this.getParentCardValues();s.QualifyingResults=t.Races[0].QualifyingResults,s.SprintResults=null===(n=e.Races[0])||void 0===n?void 0:n.SprintResults,o.races=i,o.selectedRace=s,o.selectedSeason=r.toString(),a.set("cardValues",o),this.parent.properties=a}))}))}setSelectedTabIndex(t){const{properties:e,cardValues:i}=this.getParentCardValues();e.selectedTabIndex=t,i.set("cardValues",e),this.parent.properties=i}icon(t){return!this.config.icons||Object.keys(this.config.icons).indexOf(t)<0?this.icons[t]:this.config.icons[t]}tabOrder(t){var e,i;const n=null!==(i=null===(e=this.config.tabs_order)||void 0===e?void 0:e.map((t=>t.toLowerCase())))&&void 0!==i?i:["results","qualifying","sprint"];return n.indexOf(t)}}e.default=a},465:(t,e,i)=>{Object.defineProperty(e,"__esModule",{value:!0});const n=i(313),r=i(639),o=i(557),s=i(300),a=i(241),l=i(438),c=i(366);class d extends c.BaseCard{constructor(t){super(t),this.defaultTranslations={date:"Date",race:"Race",time:"Time",location:"Location",endofseason:"Season is over. See you next year!"}}cardSize(){return 12}renderLocation(t){var e;const i=r.html`${(null===(e=this.config.standings)||void 0===e?void 0:e.show_flag)?r.html` `:""}${t.Location.locality}, ${t.Location.country}`;return this.config.location_clickable?r.html`${i}`:i}renderScheduleRow(t){const e=new Date(t.date+"T"+t.time),i=this.config.previous_race&&e${t.round}${t.Circuit.circuitName}${this.renderLocation(t.Circuit)}${(0,s.formatDate)(e,this.hass.locale,this.config.date_locale)}${(0,n.formatTime)(e,this.hass.locale)}`}render(){return r.html`${(0,o.until)(this.client.GetSchedule((new Date).getFullYear()).then((t=>{const e=this.config.previous_race===a.PreviousRaceDisplay.Hide?t.filter((t=>new Date(t.date+"T"+t.time)>=new Date)):t;return e.filter((t=>new Date(t.date+"T"+t.time)>=new Date))[0]?r.html`${(0,l.reduceArray)(e,this.config.row_limit).map((t=>this.renderScheduleRow(t)))}
 ${this.translation("race")}${this.translation("location")}${this.translation("date")}${this.translation("time")}
`:(0,l.getEndOfSeasonMessage)(this.translation("endofseason"))})).catch((()=>r.html`${(0,l.getApiErrorMessage)("schedule")}`)),r.html`${(0,l.getApiLoadingMessage)()}`)}`}}e.default=d},851:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.CARD_EDITOR_NAME=e.CARD_NAME=void 0,e.CARD_NAME="formulaone-card",e.CARD_EDITOR_NAME=`${e.CARD_NAME}-editor`},22:(t,e,i)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.actionHandler=e.actionHandlerBind=void 0;const n=i(395),r=i(313),o=i(11),s="ontouchstart"in window||navigator.maxTouchPoints>0||navigator.maxTouchPoints>0;class a extends HTMLElement{constructor(){super(),this.holdTime=500,this.held=!1,this.ripple=document.createElement("mwc-ripple")}connectedCallback(){Object.assign(this.style,{position:"absolute",width:s?"100px":"50px",height:s?"100px":"50px",transform:"translate(-50%, -50%)",pointerEvents:"none",zIndex:"999"}),this.appendChild(this.ripple),this.ripple.primary=!0,["touchcancel","mouseout","mouseup","touchmove","mousewheel","wheel","scroll"].forEach((t=>{document.addEventListener(t,(()=>{clearTimeout(this.timer),this.stopAnimation(),this.timer=void 0}),{passive:!0})}))}bind(t,e){if(t.actionHandler)return;t.actionHandler=!0,t.addEventListener("contextmenu",(t=>{const e=t||window.event;return e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0,e.returnValue=!1,!1}));const i=t=>{let e,i;this.held=!1,t.touches?(e=t.touches[0].pageX,i=t.touches[0].pageY):(e=t.pageX,i=t.pageY),this.timer=window.setTimeout((()=>{this.startAnimation(e,i),this.held=!0}),this.holdTime)},n=i=>{i.preventDefault(),["touchend","touchcancel"].includes(i.type)&&void 0===this.timer||(clearTimeout(this.timer),this.stopAnimation(),this.timer=void 0,this.held?(0,r.fireEvent)(t,"action",{action:"hold"}):e.hasDoubleClick?"click"===i.type&&i.detail<2||!this.dblClickTimeout?this.dblClickTimeout=window.setTimeout((()=>{this.dblClickTimeout=void 0,(0,r.fireEvent)(t,"action",{action:"tap"})}),250):(clearTimeout(this.dblClickTimeout),this.dblClickTimeout=void 0,(0,r.fireEvent)(t,"action",{action:"double_tap"})):(0,r.fireEvent)(t,"action",{action:"tap"}))};t.addEventListener("touchstart",i,{passive:!0}),t.addEventListener("touchend",n),t.addEventListener("touchcancel",n),t.addEventListener("mousedown",i,{passive:!0}),t.addEventListener("click",n),t.addEventListener("keyup",(t=>{13===t.keyCode&&n(t)}))}startAnimation(t,e){Object.assign(this.style,{left:`${t}px`,top:`${e}px`,display:null}),this.ripple.disabled=!1,this.ripple.active=!0,this.ripple.unbounded=!0}stopAnimation(){this.ripple.active=!1,this.ripple.disabled=!0,this.style.display="none"}}customElements.define("action-handler-formulaonecard",a),e.actionHandlerBind=(t,e)=>{const i=(()=>{const t=document.body;if(t.querySelector("action-handler-formulaonecard"))return t.querySelector("action-handler-formulaonecard");const e=document.createElement("action-handler-formulaonecard");return t.appendChild(e),e})();i&&i.bind(t,e)},e.actionHandler=(0,n.directive)(class extends n.Directive{update(t,[i]){return(0,e.actionHandlerBind)(t.element,i),o.noChange}render(t){}})},750:function(t,e,i){var n=this&&this.__decorate||function(t,e,i,n){var r,o=arguments.length,s=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,i,n);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(s=(o<3?r(s):o>3?r(e,i,s):r(e,i))||s);return o>3&&s&&Object.defineProperty(e,i,s),s};Object.defineProperty(e,"__esModule",{value:!0}),e.FormulaOneCardEditor=void 0;const r=i(639),o=i(851),s=i(241),a=i(898),l=i(194),c=i(429),d=i(11);let u=class extends a.default{render(){return this._hass&&this._config?this.renderForm([{controls:[{label:"Card Type (Required)",configValue:"card_type",type:l.FormControlType.Dropdown,items:(0,c.getDropdownOptionsFromEnum)(s.FormulaOneCardType)}]},{controls:[{label:"Title",configValue:"title",type:l.FormControlType.Textbox}]},{label:"Basic configuration",cssClass:"side-by-side",controls:[{label:"Use F1 font",configValue:"f1_font",type:l.FormControlType.Switch},{label:"Image clickable",configValue:"image_clickable",type:l.FormControlType.Switch},{label:"Show carnumber",configValue:"show_carnumber",type:l.FormControlType.Switch},{label:"Location clickable",configValue:"location_clickable",type:l.FormControlType.Switch},{label:"Show race information",configValue:"show_raceinfo",type:l.FormControlType.Switch},{label:"Hide track layout",configValue:"hide_tracklayout",type:l.FormControlType.Switch},{label:"Hide race dates and times",configValue:"hide_racedatetimes",type:l.FormControlType.Switch},{label:"Show last years result",configValue:"show_lastyears_result",type:l.FormControlType.Switch},{label:"Only show date",configValue:"only_show_date",type:l.FormControlType.Switch},{type:l.FormControlType.Filler},{label:"Row limit",configValue:"row_limit",type:l.FormControlType.Textbox},{label:"Date locale",configValue:"date_locale",type:l.FormControlType.Textbox}]},{label:"Countdown Type",hidden:this._config.card_type!==s.FormulaOneCardType.Countdown,cssClass:"side-by-side",controls:[{configValue:"countdown_type",type:l.FormControlType.Checkboxes,items:(0,c.getDropdownOptionsFromEnum)(s.CountdownType)}]},{hidden:this._config.card_type!==s.FormulaOneCardType.NextRace,controls:[{label:"Next race delay",configValue:"next_race_delay",type:l.FormControlType.Textbox}]},{hidden:this._config.card_type!==s.FormulaOneCardType.Schedule,controls:[{label:"Previous race",configValue:"previous_race",type:l.FormControlType.Dropdown,items:(0,c.getDropdownOptionsFromEnum)(s.PreviousRaceDisplay)}]},{label:"Standings",hidden:this._config.card_type!==s.FormulaOneCardType.ConstructorStandings&&this._config.card_type!==s.FormulaOneCardType.DriverStandings,cssClass:"side-by-side",controls:[{label:"Show team",configValue:"standings.show_team",type:l.FormControlType.Switch},{label:"Show flag",configValue:"standings.show_flag",type:l.FormControlType.Switch},{label:"Show teamlogo",configValue:"standings.show_teamlogo",type:l.FormControlType.Switch}]},{label:"Weather",hidden:this._config.card_type!==s.FormulaOneCardType.NextRace&&this._config.card_type!==s.FormulaOneCardType.Countdown,controls:[{label:"Show weather",configValue:"show_weather",type:l.FormControlType.Switch}]},{cssClass:"side-by-side",hidden:this._config.card_type!==s.FormulaOneCardType.NextRace&&this._config.card_type!==s.FormulaOneCardType.Countdown||!this._config.show_weather,controls:[{label:"API key",configValue:"weather_options.api_key",type:l.FormControlType.Textbox},{label:"Unit",configValue:"weather_options.unit",type:l.FormControlType.Dropdown,items:(0,c.getDropdownOptionsFromEnum)(s.WeatherUnit)},{label:"Show icon",configValue:"weather_options.show_icon",type:l.FormControlType.Switch},{label:"Show precipitation",configValue:"weather_options.show_precipitation",type:l.FormControlType.Switch},{label:"Show wind",configValue:"weather_options.show_wind",type:l.FormControlType.Switch},{label:"Show temperature",configValue:"weather_options.show_temperature",type:l.FormControlType.Switch},{label:"Show cloud coverage",configValue:"weather_options.show_cloud_cover",type:l.FormControlType.Switch},{label:"Show visibility",configValue:"weather_options.show_visibility",type:l.FormControlType.Switch}]},{label:"Tabs",hidden:this._config.card_type!==s.FormulaOneCardType.Results,controls:[{label:"Tabs order",configValue:"tabs_order",type:l.FormControlType.Textbox}]}]):r.html``}static get styles(){return d.css`.form-row{margin-bottom:10px}.form-control{display:flex;align-items:center}ha-switch{padding:16px 6px}.side-by-side{display:flex;flex-flow:row wrap}.side-by-side>label{width:100%}.side-by-side>.form-control{width:49%;padding:2px}ha-textfield{width:100%}.hidden{display:none}@media (max-width:600px){.side-by-side>.form-control{width:48%}}`}};u=n([(0,d.customElement)(o.CARD_EDITOR_NAME)],u),e.FormulaOneCardEditor=u},657:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.loadCustomFonts=void 0,e.loadCustomFonts=()=>{if(window&&document.fonts){const t=new FontFace("F1Bold","url(https://www.formula1.com/etc/designs/fom-website/fonts/F1Bold/Formula1-Bold.woff)");document.fonts.add(t),t.load()}}},148:function(t,e,i){var n=this&&this.__decorate||function(t,e,i,n){var r,o=arguments.length,s=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,i,n);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(s=(o<3?r(s):o>3?r(e,i,s):r(e,i))||s);return o>3&&s&&Object.defineProperty(e,i,s),s},r=this&&this.__awaiter||function(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{l(n.next(t))}catch(t){o(t)}}function a(t){try{l(n.throw(t))}catch(t){o(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}l((n=n.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0});const o=i(147),s=i(15),a=i(241),l=i(110),c=i(438),d=i(657),u=i(278),h=i(169),m=i(138),p=i(465),f=i(840),g=i(507),v=i(849),y=i(74),_=i(959),$=i(851);console.info(`%c ${$.CARD_NAME.toUpperCase()} %c ${o.version}`,"color: cyan; background: black; font-weight: bold;","color: darkblue; background: white; font-weight: bold;"),window.customCards=window.customCards||[],window.customCards.push({type:"formulaone-card",name:"FormulaOne card",preview:!1,description:"Present the data of Formula One in a pretty way"});let b=class extends l.LitElement{set properties(t){this._cardValues=t,this.update(t)}get properties(){return this._cardValues}constructor(){super(),this.setCountryCache()}static getConfigElement(){return r(this,void 0,void 0,(function*(){return yield Promise.resolve().then((()=>i(750))),document.createElement($.CARD_EDITOR_NAME)}))}setConfig(t){(0,c.checkConfig)(t),this.config=Object.assign({},t)}setCountryCache(){(new _.default).GetAll().catch((()=>{this.warning="Country API is down, so flags are not available at the moment!",this.update(this._cardValues)}))}shouldUpdate(t){return(0,c.hasConfigOrCardValuesChanged)(this,t)}set hass(t){switch(this._hass=t,this.config.hass=t,this.config.card_type){case a.FormulaOneCardType.ConstructorStandings:this.card=new h.default(this);break;case a.FormulaOneCardType.DriverStandings:this.card=new m.default(this);break;case a.FormulaOneCardType.Schedule:this.card=new p.default(this);break;case a.FormulaOneCardType.NextRace:this.card=new f.default(this);break;case a.FormulaOneCardType.LastResult:this.card=new g.default(this);break;case a.FormulaOneCardType.Countdown:this.card=new v.default(this);break;case a.FormulaOneCardType.Results:this.card=new y.default(this)}}static get styles(){return(0,d.loadCustomFonts)(),u.styles}render(){if(!this._hass||!this.config)return l.html``;try{return l.html`${this.renderRefreshButton()} ${this.warning?l.html`${this.warning}`:""} ${this.config.title?l.html`

${this.config.title}

`:""} ${this.card.render()}
`}catch(t){return l.html`${t.toString()}`}}getCardSize(){return this.card.cardSize()}renderRefreshButton(){return this.config.show_refresh?l.html`
`:null}refreshCache(t){console.log("Refreshing cache..."),this.card.client.RefreshCache()}};n([(0,s.property)()],b.prototype,"_hass",void 0),n([(0,s.property)()],b.prototype,"config",void 0),n([(0,s.property)()],b.prototype,"card",void 0),n([(0,s.property)()],b.prototype,"warning",void 0),n([(0,s.property)()],b.prototype,"properties",null),b=n([(0,s.customElement)($.CARD_NAME)],b),e.default=b},198:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.TimeFormat=e.NumberFormat=e.SECONDARY_INFO_VALUES=e.TIMESTAMP_FORMATS=e.ImageConstants=void 0,e.ImageConstants={FlagCDN:"https://flagcdn.com/w320/",TeamLogoCDN:"https://www.formula1.com/content/dam/fom-website/teams/",F1CDN:"https://www.formula1.com/content/dam/fom-website/2018-redesign-assets/"},e.TIMESTAMP_FORMATS=["relative","total","date","time","datetime"],e.SECONDARY_INFO_VALUES=["entity-id","last-changed","last-updated","last-triggered","position","tilt-position","brightness"],e.NumberFormat={language:"language",system:"system",comma_decimal:"comma_decimal",decimal_comma:"decimal_comma",space_comma:"space_comma",none:"none"},e.TimeFormat={language:"language",system:"system",am_pm:"12",twenty_four:"24"}},300:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.formatDateNumeric=e.formatDate=void 0,e.formatDate=(t,e,i)=>new Intl.DateTimeFormat(null!=i?i:e.language,{month:"2-digit",day:"2-digit"}).format(t),e.formatDateNumeric=(t,e,i)=>new Intl.DateTimeFormat(null!=i?i:e.language,{year:"2-digit",month:"2-digit",day:"2-digit"}).format(t)},141:(t,e,i)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.formatDateTimeRaceInfo=e.formatDateTime=void 0;const n=i(975);e.formatDateTime=(t,e)=>new Intl.DateTimeFormat(e.language,{year:"numeric",month:"long",day:"numeric",hour:(0,n.useAmPm)(e)?"numeric":"2-digit",minute:"2-digit",hour12:(0,n.useAmPm)(e)}).format(t),e.formatDateTimeRaceInfo=(t,e)=>new Intl.DateTimeFormat(e.language,{weekday:"short",hour:"2-digit",minute:"2-digit",hour12:(0,n.useAmPm)(e)}).format(t)},975:(t,e,i)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.useAmPm=void 0;const n=i(198);e.useAmPm=t=>{if(t.time_format===n.TimeFormat.language||t.time_format===n.TimeFormat.system){const e=t.time_format===n.TimeFormat.language?t.language:void 0,i=(new Date).toLocaleString(e);return i.includes("AM")||i.includes("PM")}return t.time_format===n.TimeFormat.am_pm}},278:(t,e,i)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.styles=void 0;const n=i(110);e.styles=n.css`table{width:100%;border-spacing:0;border-collapse:separate;padding:0 16px 16px}table.nopadding{padding:0;width:100%;border-spacing:0;border-collapse:separate}th{background-color:var(--table-row-alternative-background-color,#eee)}td,th{padding:5px;text-align:left}tr{color:var(--secondary-text-color)}tr:nth-child(even){background-color:var(--table-row-alternative-background-color,#eee)}.text-center{text-align:center}.width-40{width:40px}.width-50{width:50px}.width-60{width:60px}.hide{display:none}.strikethrough{text-decoration:line-through}.italic{font-style:italic}a{text-decoration:none;color:var(--secondary-text-color)}.constructor-logo{width:20px;margin:auto;display:block;float:left;background-color:#fff;border-radius:50%;margin-right:3px}.clickable{cursor:pointer}.formulaone-font{font-family:F1Bold}ha-icon{color:var(--secondary-text-color)}.transparent{background-color:transparent!important}.weather-info{padding:10px}.weather-info td{width:33%}.refresh-cache{position:absolute;right:10px;top:10px}`},241:(t,e)=>{var i,n,r,o;Object.defineProperty(e,"__esModule",{value:!0}),e.FormulaOneCardType=e.PreviousRaceDisplay=e.CountdownType=e.WeatherUnit=void 0,(o=e.WeatherUnit||(e.WeatherUnit={})).Metric="metric",o.MilesCelsius="uk",o.MilesFahrenheit="us",(r=e.CountdownType||(e.CountdownType={})).Race="race",r.Qualifying="qualifying",r.Practice1="practice1",r.Practice2="practice2",r.Practice3="practice3",r.Sprint="sprint",(n=e.PreviousRaceDisplay||(e.PreviousRaceDisplay={})).Strikethrough="strikethrough",n.Italic="italic",n.Hide="hide",(i=e.FormulaOneCardType||(e.FormulaOneCardType={})).DriverStandings="driver_standings",i.ConstructorStandings="constructor_standings",i.NextRace="next_race",i.Schedule="schedule",i.LastResult="last_result",i.Results="results",i.Countdown="countdown"},438:(t,e,i)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.renderConstructorColumn=e.reduceArray=e.getRefreshTime=e.calculateWindDirection=e.renderWeatherInfo=e.renderLastYearsResults=e.renderRaceInfo=e.renderHeader=e.clickHandler=e.getEndOfSeasonMessage=e.getApiLoadingMessage=e.getApiErrorMessage=e.getDriverName=e.getCircuitName=e.getTeamImage=e.checkConfig=e.getCountryFlagByName=e.getCountryFlagByNationality=e.getCountries=e.hasConfigOrCardValuesChanged=void 0;const n=i(110),r=i(241),o=i(141),s=i(313),a=i(300),l=i(198),c=i(22),d=i(959),u=i(557);e.hasConfigOrCardValuesChanged=(t,e)=>{if(e.has("config"))return!0;const i=e.get("card");if(i&&i.parent)return i.parent.properties!==t.properties;const n=e.get("cardValues");return!!n&&n!=t.properties},e.getCountries=()=>(new d.default).GetCountriesFromLocalStorage(),e.getCountryFlagByNationality=(t,i)=>{const n=(0,e.getCountries)().filter((t=>t.demonym==i));return n.length>1?t.imageClient.GetImage(n.sort(((t,e)=>t.population>e.population?-1:1))[0].flags.png):t.imageClient.GetImage(n[0].flags.png)},e.getCountryFlagByName=(t,i)=>{const n=(0,e.getCountries)().filter((t=>{var e;return t.name==i||t.nativeName==i||(null===(e=t.altSpellings)||void 0===e?void 0:e.includes(i))}))[0];return t.imageClient.GetImage(n.flags.png)},e.checkConfig=t=>{if(void 0===t.card_type)throw new Error("Please define FormulaOne card type (card_type).")},e.getTeamImage=(t,e)=>{e=e.toLocaleLowerCase().replace("_","-");const i=[{teamName:"red-bull",corrected:"red-bull-racing"},{teamName:"alfa",corrected:"alfa-romeo"},{teamName:"haas",corrected:"haas-f1-team"},{teamName:"sauber",corrected:"kick-sauber"}].filter((t=>t.teamName==e));return i.length>0&&(e=i[0].corrected),t.imageClient.GetImage(`${l.ImageConstants.TeamLogoCDN}/2024/${e.toLowerCase()}-logo.png.transform/2col-retina/image.png`)},e.getCircuitName=t=>{let e=t.country.replace(" ","-");const i=[{countryDashed:"UAE",name:"Abu_Dhabi"},{countryDashed:"UK",name:"Great_Britain"},{countryDashed:"Monaco",name:"Monoco"},{countryDashed:"Azerbaijan",name:"Baku"},{countryDashed:"Saudi-Arabia",name:"Saudi_Arabia"}].filter((t=>t.countryDashed==e));return i.length>0&&(e=i[0].name),"USA"!=t.country&&"United States"!=t.country||"Austin"==t.locality||(e=t.locality.replace(" ","_")),"Italy"==t.country&&"Imola"==t.locality&&(e="Emilia_Romagna"),e},e.getDriverName=(t,e)=>{const i="VER"==t.code?1:t.permanentNumber;return`${t.givenName} ${t.familyName}${e.show_carnumber?` #${i}`:""}`},e.getApiErrorMessage=t=>n.html`
Error getting ${t}
`,e.getApiLoadingMessage=()=>n.html`
Loading...
`,e.getEndOfSeasonMessage=t=>n.html`
${t}
`,e.clickHandler=(t,e,i,n)=>{(0,s.handleAction)(t,i,e.actions,n.detail.action)},e.renderHeader=(t,i,o=!1)=>{var a,d;const u=(0,e.getCircuitName)(i.Circuit.Location),h=t.config.image_clickable||void 0!==t.config.actions,m=i.Circuit.url;t.config.image_clickable&&!t.config.actions&&(t.config.actions={tap_action:{action:"url",url_path:m}});const p=n.html``,f=n.html`

  ${i.round} : ${i.raceName}

`;return n.html`${t.config.card_type==r.FormulaOneCardType.Countdown?n.html``:f} ${t.config.hide_tracklayout?n.html``:p}
`},e.renderRaceInfo=(t,i,r)=>{var s;const l=t.config,c=t.hass;if(l.hide_racedatetimes)return n.html``;const d=l.show_weather&&void 0!==(null===(s=l.weather_options)||void 0===s?void 0:s.api_key)?t.weatherClient.getWeatherData(i.Circuit.Location.lat,i.Circuit.Location.long,`${i.date}T${i.time}`):Promise.resolve(null),h=l.show_lastyears_result?t.client.GetLastYearsResults(i.Circuit.circuitName):Promise.resolve(null),m=Promise.all([d,h]);return n.html`${(0,u.until)(m.then((([s,d])=>{const u=null==s?void 0:s.days[0],h=new Date(i.date+"T"+i.time),m=(0,e.renderWeatherInfo)(u,l,null!=r?r:h),p=(0,e.renderLastYearsResults)(l,d),f=(0,o.formatDateTimeRaceInfo)(new Date(i.FirstPractice.date+"T"+i.FirstPractice.time),c.locale),g=(0,o.formatDateTimeRaceInfo)(new Date(i.SecondPractice.date+"T"+i.SecondPractice.time),c.locale),v=void 0!==i.ThirdPractice?(0,o.formatDateTimeRaceInfo)(new Date(i.ThirdPractice.date+"T"+i.ThirdPractice.time),c.locale):"-",y=(0,o.formatDateTimeRaceInfo)(h,c.locale),_=(0,o.formatDateTimeRaceInfo)(new Date(i.Qualifying.date+"T"+i.Qualifying.time),c.locale),$=void 0!==i.Sprint?(0,o.formatDateTimeRaceInfo)(new Date(i.Sprint.date+"T"+i.Sprint.time),c.locale):"-";return n.html`${p}${m}${t.translation("date")}${(0,a.formatDateNumeric)(h,c.locale,l.date_locale)} ${t.translation("practice1")}${f}${t.translation("race")}${i.round} ${t.translation("practice2")}${g}${t.translation("racename")}${i.raceName} ${t.translation("practice3")}${v}${t.translation("circuitname")}${i.Circuit.circuitName} ${t.translation("qualifying")}${_}${t.translation("location")}${i.Circuit.Location.country} ${t.translation("sprint")}${$}${t.translation("city")}${i.Circuit.Location.locality} ${t.translation("racetime")}${y}`})))}`},e.renderLastYearsResults=(t,e)=>{var i,r;if(!e)return n.html``;const o=e.Results?e.Results[0]:null,s=null===(i=e.Results)||void 0===i?void 0:i.filter((t=>{var e;return"1"===(null===(e=t.FastestLap)||void 0===e?void 0:e.rank)}))[0];return n.html`

${new Date(e.date).getFullYear()}

${null==o?void 0:o.Driver.givenName} ${null==o?void 0:o.Driver.familyName} (${null==o?void 0:o.Constructor.name})

${null==s?void 0:s.Driver.givenName} ${null==s?void 0:s.Driver.familyName} (${null===(r=null==s?void 0:s.FastestLap)||void 0===r?void 0:r.Time.time})

 `},e.renderWeatherInfo=(t,i,o)=>{var s,a;if(!t)return n.html``;const l=(null===(s=i.weather_options)||void 0===s?void 0:s.unit)===r.WeatherUnit.Metric?"km/h":"mph",c=(null===(a=i.weather_options)||void 0===a?void 0:a.unit)===r.WeatherUnit.MilesFahrenheit?"°F":"°C",d=t.hours?t.hours[o.getHours()]:t;return n.html`
${(0,e.calculateWindDirection)(d.winddir)} ${d.windspeed} ${l}${d.precip} mm${d.precipprob}%
${d.cloudcover} %${d.temp} ${c}${d.feelslike} ${c}
 `},e.calculateWindDirection=t=>{const e=[{label:"N",range:[0,11.25]},{label:"NNE",range:[11.25,33.75]},{label:"NE",range:[33.75,56.25]},{label:"ENE",range:[56.25,78.75]},{label:"E",range:[78.75,101.25]},{label:"ESE",range:[101.25,123.75]},{label:"SE",range:[123.75,146.25]},{label:"SSE",range:[146.25,168.75]},{label:"S",range:[168.75,191.25]},{label:"SSW",range:[191.25,213.75]},{label:"SW",range:[213.75,236.25]},{label:"WSW",range:[236.25,258.75]},{label:"W",range:[258.75,281.25]},{label:"WNW",range:[281.25,303.75]},{label:"NW",range:[303.75,326.25]},{label:"NNW",range:[326.25,348.75]},{label:"N",range:[348.75,360]}];for(const{label:i,range:n}of e)if(t>=n[0]&&t<=n[1])return i},e.getRefreshTime=t=>{let e=24;const i=new Date,n=localStorage.getItem(`${i.getFullYear()}.json`);if(n){const r=JSON.parse(n),o=JSON.parse(r.data).MRData.RaceTable.Races.filter((t=>new Date(t.date).toLocaleDateString==i.toLocaleDateString));if(o.length>0){const i=o[0],n=new Date(i.date+"T"+i.time),r=localStorage.getItem(t);if(r){const t=JSON.parse(r);new Date(t.created)void 0===t?[]:e?t.slice(0,e):t,e.renderConstructorColumn=(t,i)=>n.html`${t.config.standings.show_teamlogo?n.html` `:""}${i.name}`},11:(t,e,i)=>{i.r(e),i.d(e,{CSSResult:()=>a,LitElement:()=>S,ReactiveElement:()=>$,UpdatingElement:()=>A,_$LE:()=>E,_$LH:()=>C._$LH,adoptStyles:()=>d,css:()=>c,customElement:()=>k,decorateProperty:()=>R,defaultConverter:()=>v,eventOptions:()=>M,getCompatibleStyle:()=>u,html:()=>C.html,legacyPrototypeMethod:()=>D,noChange:()=>C.noChange,notEqual:()=>y,nothing:()=>C.nothing,property:()=>P,query:()=>F,queryAll:()=>I,queryAssignedElements:()=>U,queryAssignedNodes:()=>V,queryAsync:()=>L,render:()=>C.render,standardPrototypeMethod:()=>x,state:()=>N,supportsAdoptingStyleSheets:()=>r,svg:()=>C.svg,unsafeCSS:()=>l});const n=window,r=n.ShadowRoot&&(void 0===n.ShadyCSS||n.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,o=Symbol(),s=new WeakMap;class a{constructor(t,e,i){if(this._$cssResult$=!0,i!==o)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(r&&void 0===t){const i=void 0!==e&&1===e.length;i&&(t=s.get(e)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),i&&s.set(e,t))}return t}toString(){return this.cssText}}const l=t=>new a("string"==typeof t?t:t+"",void 0,o),c=(t,...e)=>{const i=1===t.length?t[0]:e.reduce(((e,i,n)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+t[n+1]),t[0]);return new a(i,t,o)},d=(t,e)=>{r?t.adoptedStyleSheets=e.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):e.forEach((e=>{const i=document.createElement("style"),r=n.litNonce;void 0!==r&&i.setAttribute("nonce",r),i.textContent=e.cssText,t.appendChild(i)}))},u=r?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const i of t.cssRules)e+=i.cssText;return l(e)})(t):t;var h;const m=window,p=m.trustedTypes,f=p?p.emptyScript:"",g=m.reactiveElementPolyfillSupport,v={toAttribute(t,e){switch(e){case Boolean:t=t?f:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let i=t;switch(e){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},y=(t,e)=>e!==t&&(e==e||t==t),_={attribute:!0,type:String,converter:v,reflect:!1,hasChanged:y};class $ extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this.u()}static addInitializer(t){var e;this.finalize(),(null!==(e=this.h)&&void 0!==e?e:this.h=[]).push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((e,i)=>{const n=this._$Ep(i,e);void 0!==n&&(this._$Ev.set(n,i),t.push(n))})),t}static createProperty(t,e=_){if(e.state&&(e.attribute=!1),this.finalize(),this.elementProperties.set(t,e),!e.noAccessor&&!this.prototype.hasOwnProperty(t)){const i="symbol"==typeof t?Symbol():"__"+t,n=this.getPropertyDescriptor(t,i,e);void 0!==n&&Object.defineProperty(this.prototype,t,n)}}static getPropertyDescriptor(t,e,i){return{get(){return this[e]},set(n){const r=this[t];this[e]=n,this.requestUpdate(t,r,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||_}static finalize(){if(this.hasOwnProperty("finalized"))return!1;this.finalized=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),void 0!==t.h&&(this.h=[...t.h]),this.elementProperties=new Map(t.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){const t=this.properties,e=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const i of e)this.createProperty(i,t[i])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const i=new Set(t.flat(1/0).reverse());for(const t of i)e.unshift(u(t))}else void 0!==t&&e.push(u(t));return e}static _$Ep(t,e){const i=e.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}u(){var t;this._$E_=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(t=this.constructor.h)||void 0===t||t.forEach((t=>t(this)))}addController(t){var e,i;(null!==(e=this._$ES)&&void 0!==e?e:this._$ES=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(i=t.hostConnected)||void 0===i||i.call(t))}removeController(t){var e;null===(e=this._$ES)||void 0===e||e.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((t,e)=>{this.hasOwnProperty(e)&&(this._$Ei.set(e,this[e]),delete this[e])}))}createRenderRoot(){var t;const e=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return d(e,this.constructor.elementStyles),e}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostConnected)||void 0===e?void 0:e.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostDisconnected)||void 0===e?void 0:e.call(t)}))}attributeChangedCallback(t,e,i){this._$AK(t,i)}_$EO(t,e,i=_){var n;const r=this.constructor._$Ep(t,i);if(void 0!==r&&!0===i.reflect){const o=(void 0!==(null===(n=i.converter)||void 0===n?void 0:n.toAttribute)?i.converter:v).toAttribute(e,i.type);this._$El=t,null==o?this.removeAttribute(r):this.setAttribute(r,o),this._$El=null}}_$AK(t,e){var i;const n=this.constructor,r=n._$Ev.get(t);if(void 0!==r&&this._$El!==r){const t=n.getPropertyOptions(r),o="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==(null===(i=t.converter)||void 0===i?void 0:i.fromAttribute)?t.converter:v;this._$El=r,this[r]=o.fromAttribute(e,t.type),this._$El=null}}requestUpdate(t,e,i){let n=!0;void 0!==t&&(((i=i||this.constructor.getPropertyOptions(t)).hasChanged||y)(this[t],e)?(this._$AL.has(t)||this._$AL.set(t,e),!0===i.reflect&&this._$El!==t&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(t,i))):n=!1),!this.isUpdatePending&&n&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach(((t,e)=>this[e]=t)),this._$Ei=void 0);let e=!1;const i=this._$AL;try{e=this.shouldUpdate(i),e?(this.willUpdate(i),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostUpdate)||void 0===e?void 0:e.call(t)})),this.update(i)):this._$Ek()}catch(t){throw e=!1,this._$Ek(),t}e&&this._$AE(i)}willUpdate(t){}_$AE(t){var e;null===(e=this._$ES)||void 0===e||e.forEach((t=>{var e;return null===(e=t.hostUpdated)||void 0===e?void 0:e.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(t){return!0}update(t){void 0!==this._$EC&&(this._$EC.forEach(((t,e)=>this._$EO(e,this[e],t))),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}}$.finalized=!0,$.elementProperties=new Map,$.elementStyles=[],$.shadowRootOptions={mode:"open"},null==g||g({ReactiveElement:$}),(null!==(h=m.reactiveElementVersions)&&void 0!==h?h:m.reactiveElementVersions=[]).push("1.6.1");var b,w,C=i(639);const A=$;class S extends ${constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var t,e;const i=super.createRenderRoot();return null!==(t=(e=this.renderOptions).renderBefore)&&void 0!==t||(e.renderBefore=i.firstChild),i}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=(0,C.render)(e,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!1)}render(){return C.noChange}}S.finalized=!0,S._$litElement$=!0,null===(b=globalThis.litElementHydrateSupport)||void 0===b||b.call(globalThis,{LitElement:S});const T=globalThis.litElementPolyfillSupport;null==T||T({LitElement:S});const E={_$AK:(t,e,i)=>{t._$AK(e,i)},_$AL:t=>t._$AL};(null!==(w=globalThis.litElementVersions)&&void 0!==w?w:globalThis.litElementVersions=[]).push("3.3.3");const D=(t,e,i)=>{Object.defineProperty(e,i,t)},x=(t,e)=>({kind:"method",placement:"prototype",key:e.key,descriptor:t}),R=({finisher:t,descriptor:e})=>(i,n)=>{var r;if(void 0===n){const n=null!==(r=i.originalKey)&&void 0!==r?r:i.key,o=null!=e?{kind:"method",placement:"prototype",key:n,descriptor:e(i.key)}:{...i,key:n};return null!=t&&(o.finisher=function(e){t(e,n)}),o}{const r=i.constructor;void 0!==e&&Object.defineProperty(i,n,e(n)),null==t||t(r,n)}},k=t=>e=>"function"==typeof e?((t,e)=>(customElements.define(t,e),e))(t,e):((t,e)=>{const{kind:i,elements:n}=e;return{kind:i,elements:n,finisher(e){customElements.define(t,e)}}})(t,e),O=(t,e)=>"method"===e.kind&&e.descriptor&&!("value"in e.descriptor)?{...e,finisher(i){i.createProperty(e.key,t)}}:{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:e.key,initializer(){"function"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(i){i.createProperty(e.key,t)}};function P(t){return(e,i)=>void 0!==i?((t,e,i)=>{e.constructor.createProperty(i,t)})(t,e,i):O(t,e)}function N(t){return P({...t,state:!0})}function M(t){return R({finisher:(e,i)=>{Object.assign(e.prototype[i],t)}})}function F(t,e){return R({descriptor:i=>{const n={get(){var e,i;return null!==(i=null===(e=this.renderRoot)||void 0===e?void 0:e.querySelector(t))&&void 0!==i?i:null},enumerable:!0,configurable:!0};if(e){const e="symbol"==typeof i?Symbol():"__"+i;n.get=function(){var i,n;return void 0===this[e]&&(this[e]=null!==(n=null===(i=this.renderRoot)||void 0===i?void 0:i.querySelector(t))&&void 0!==n?n:null),this[e]}}return n}})}function I(t){return R({descriptor:e=>({get(){var e,i;return null!==(i=null===(e=this.renderRoot)||void 0===e?void 0:e.querySelectorAll(t))&&void 0!==i?i:[]},enumerable:!0,configurable:!0})})}function L(t){return R({descriptor:e=>({async get(){var e;return await this.updateComplete,null===(e=this.renderRoot)||void 0===e?void 0:e.querySelector(t)},enumerable:!0,configurable:!0})})}var H;const j=null!=(null===(H=window.HTMLSlotElement)||void 0===H?void 0:H.prototype.assignedElements)?(t,e)=>t.assignedElements(e):(t,e)=>t.assignedNodes(e).filter((t=>t.nodeType===Node.ELEMENT_NODE));function U(t){const{slot:e,selector:i}=null!=t?t:{};return R({descriptor:n=>({get(){var n;const r="slot"+(e?`[name=${e}]`:":not([name])"),o=null===(n=this.renderRoot)||void 0===n?void 0:n.querySelector(r),s=null!=o?j(o,t):[];return i?s.filter((t=>t.matches(i))):s},enumerable:!0,configurable:!0})})}function V(t,e,i){let n,r=t;return"object"==typeof t?(r=t.slot,n=t):n={flatten:e},i?U({slot:r,flatten:e,selector:i}):R({descriptor:t=>({get(){var t,e;const i="slot"+(r?`[name=${r}]`:":not([name])"),o=null===(t=this.renderRoot)||void 0===t?void 0:t.querySelector(i);return null!==(e=null==o?void 0:o.assignedNodes(n))&&void 0!==e?e:[]},enumerable:!0,configurable:!0})})}console.warn("The main 'lit-element' module entrypoint is deprecated. Please update your imports to use the 'lit' package: 'lit' and 'lit/decorators.ts' or import from 'lit-element/lit-element.ts'. See https://lit.dev/msg/deprecated-import-path for more information.")},557:(t,e,i)=>{i.r(e),i.d(e,{UntilDirective:()=>v,until:()=>y});var n=i(639);const{I:r}=n._$LH;class o{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}const s=(t,e)=>{var i,n;const r=t._$AN;if(void 0===r)return!1;for(const t of r)null===(n=(i=t)._$AO)||void 0===n||n.call(i,e,!1),s(t,e);return!0},a=t=>{let e,i;do{if(void 0===(e=t._$AM))break;i=e._$AN,i.delete(t),t=e}while(0===(null==i?void 0:i.size))},l=t=>{for(let e;e=t._$AM;t=e){let i=e._$AN;if(void 0===i)e._$AN=i=new Set;else if(i.has(t))break;i.add(t),u(e)}};function c(t){void 0!==this._$AN?(a(this),this._$AM=t,l(this)):this._$AM=t}function d(t,e=!1,i=0){const n=this._$AH,r=this._$AN;if(void 0!==r&&0!==r.size)if(e)if(Array.isArray(n))for(let t=i;t{var e,i,n,r;2==t.type&&(null!==(e=(n=t)._$AP)&&void 0!==e||(n._$AP=d),null!==(i=(r=t)._$AQ)&&void 0!==i||(r._$AQ=c))};class h extends o{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,e,i){super._$AT(t,e,i),l(this),this.isConnected=t._$AU}_$AO(t,e=!0){var i,n;t!==this.isConnected&&(this.isConnected=t,t?null===(i=this.reconnected)||void 0===i||i.call(this):null===(n=this.disconnected)||void 0===n||n.call(this)),e&&(s(this,t),a(this))}setValue(t){if((t=>void 0===this._$Ct.strings)())this._$Ct._$AI(t,this);else{const e=[...this._$Ct._$AH];e[this._$Ci]=t,this._$Ct._$AI(e,this,0)}}disconnected(){}reconnected(){}}class m{constructor(t){this.G=t}disconnect(){this.G=void 0}reconnect(t){this.G=t}deref(){return this.G}}class p{constructor(){this.Y=void 0,this.Z=void 0}get(){return this.Y}pause(){var t;null!==(t=this.Y)&&void 0!==t||(this.Y=new Promise((t=>this.Z=t)))}resume(){var t;null===(t=this.Z)||void 0===t||t.call(this),this.Y=this.Z=void 0}}const f=t=>!(t=>null===t||"object"!=typeof t&&"function"!=typeof t)(t)&&"function"==typeof t.then,g=1073741823;class v extends h{constructor(){super(...arguments),this._$C_t=g,this._$Cwt=[],this._$Cq=new m(this),this._$CK=new p}render(...t){var e;return null!==(e=t.find((t=>!f(t))))&&void 0!==e?e:n.noChange}update(t,e){const i=this._$Cwt;let r=i.length;this._$Cwt=e;const o=this._$Cq,s=this._$CK;this.isConnected||this.disconnected();for(let t=0;tthis._$C_t);t++){const n=e[t];if(!f(n))return this._$C_t=t,n;t{for(;s.get();)await s.get();const e=o.deref();if(void 0!==e){const i=e._$Cwt.indexOf(n);i>-1&&i({_$litDirective$:_,values:t}));var _},639:(t,e,i)=>{var n;i.r(e),i.d(e,{_$LH:()=>G,html:()=>S,noChange:()=>E,nothing:()=>D,render:()=>q,svg:()=>T});const r=window,o=r.trustedTypes,s=o?o.createPolicy("lit-html",{createHTML:t=>t}):void 0,a="$lit$",l=`lit$${(Math.random()+"").slice(9)}$`,c="?"+l,d=`<${c}>`,u=document,h=()=>u.createComment(""),m=t=>null===t||"object"!=typeof t&&"function"!=typeof t,p=Array.isArray,f=t=>p(t)||"function"==typeof(null==t?void 0:t[Symbol.iterator]),g="[ \t\n\f\r]",v=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,y=/-->/g,_=/>/g,$=RegExp(`>|${g}(?:([^\\s"'>=/]+)(${g}*=${g}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),b=/'/g,w=/"/g,C=/^(?:script|style|textarea|title)$/i,A=t=>(e,...i)=>({_$litType$:t,strings:e,values:i}),S=A(1),T=A(2),E=Symbol.for("lit-noChange"),D=Symbol.for("lit-nothing"),x=new WeakMap,R=u.createTreeWalker(u,129,null,!1);function k(t,e){if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==s?s.createHTML(e):e}const O=(t,e)=>{const i=t.length-1,n=[];let r,o=2===e?"":"",s=v;for(let e=0;e"===u[0]?(s=null!=r?r:v,h=-1):void 0===u[1]?h=-2:(h=s.lastIndex-u[2].length,c=u[1],s=void 0===u[3]?$:'"'===u[3]?w:b):s===w||s===b?s=$:s===y||s===_?s=v:(s=$,r=void 0);const p=s===$&&t[e+1].startsWith("/>")?" ":"";o+=s===v?i+d:h>=0?(n.push(c),i.slice(0,h)+a+i.slice(h)+l+p):i+l+(-2===h?(n.push(void 0),e):p)}return[k(t,o+(t[i]||"")+(2===e?"":"")),n]};class P{constructor({strings:t,_$litType$:e},i){let n;this.parts=[];let r=0,s=0;const d=t.length-1,u=this.parts,[m,p]=O(t,e);if(this.el=P.createElement(m,i),R.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(n=R.nextNode())&&u.length0){n.textContent=o?o.emptyScript:"";for(let i=0;i2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=D}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,i,n){const r=this.strings;let o=!1;if(void 0===r)t=N(this,t,e,0),o=!m(t)||t!==this._$AH&&t!==E,o&&(this._$AH=t);else{const n=t;let s,a;for(t=r[0],s=0;s{var n,r;const o=null!==(n=null==i?void 0:i.renderBefore)&&void 0!==n?n:e;let s=o._$litPart$;if(void 0===s){const t=null!==(r=null==i?void 0:i.renderBefore)&&void 0!==r?r:null;o._$litPart$=s=new F(e.insertBefore(h(),t),t,void 0,null!=i?i:{})}return s._$AI(t),s}},15:(t,e,i)=>{i.r(e),i.d(e,{customElement:()=>n,eventOptions:()=>c,property:()=>a,query:()=>u,queryAll:()=>m,queryAssignedElements:()=>f,queryAssignedNodes:()=>g,queryAsync:()=>p,standardProperty:()=>s,state:()=>l});const n=t=>(e,i)=>{void 0!==i?i.addInitializer((()=>{customElements.define(t,e)})):customElements.define(t,e)};var r=i(548);const o={attribute:!0,type:String,converter:r.Ts,reflect:!1,hasChanged:r.Qu},s=(t=o,e,i)=>{const{kind:n,metadata:r}=i;let s=globalThis.litPropertyMetadata.get(r);if(void 0===s&&globalThis.litPropertyMetadata.set(r,s=new Map),s.set(i.name,t),"accessor"===n){const{name:n}=i;return{set(i){const r=e.get.call(this);e.set.call(this,i),this.requestUpdate(n,r,t)},init(e){return void 0!==e&&this.C(n,void 0,t),e}}}if("setter"===n){const{name:n}=i;return function(i){const r=this[n];e.call(this,i),this.requestUpdate(n,r,t)}}throw Error("Unsupported decorator location: "+n)};function a(t){return(e,i)=>"object"==typeof i?s(t,e,i):((t,e,i)=>{const n=e.hasOwnProperty(i);return e.constructor.createProperty(i,n?{...t,wrapped:!0}:t),n?Object.getOwnPropertyDescriptor(e,i):void 0})(t,e,i)}function l(t){return a({...t,state:!0,attribute:!1})}function c(t){return(e,i)=>{const n="function"==typeof e?e:e[i];Object.assign(n,t)}}const d=(t,e,i)=>(i.configurable=!0,i.enumerable=!0,Reflect.decorate&&"object"!=typeof e&&Object.defineProperty(t,e,i),i);function u(t,e){return(i,n,r)=>{const o=e=>e.renderRoot?.querySelector(t)??null;if(e){const{get:t,set:e}="object"==typeof n?i:r??(()=>{const t=Symbol();return{get(){return this[t]},set(e){this[t]=e}}})();return d(i,n,{get(){let i=t.call(this);return void 0===i&&(i=o(this),(null!==i||this.hasUpdated)&&e.call(this,i)),i}})}return d(i,n,{get(){return o(this)}})}}let h;function m(t){return(e,i)=>d(e,i,{get(){return(this.renderRoot??(h??=document.createDocumentFragment())).querySelectorAll(t)}})}function p(t){return(e,i)=>d(e,i,{async get(){return await this.updateComplete,this.renderRoot?.querySelector(t)??null}})}function f(t){return(e,i)=>{const{slot:n,selector:r}=t??{},o="slot"+(n?`[name=${n}]`:":not([name])");return d(e,i,{get(){const e=this.renderRoot?.querySelector(o),i=e?.assignedElements(t)??[];return void 0===r?i:i.filter((t=>t.matches(r)))}})}}function g(t){return(e,i)=>{const{slot:n}=t??{},r="slot"+(n?`[name=${n}]`:":not([name])");return d(e,i,{get(){const e=this.renderRoot?.querySelector(r);return e?.assignedNodes(t)??[]}})}}},395:(t,e,i)=>{i.r(e),i.d(e,{Directive:()=>n.Xe,PartType:()=>n.pX,directive:()=>n.XM});var n=i(126)},810:(t,e,i)=>{i.r(e),i.d(e,{AsyncReplaceDirective:()=>f,asyncReplace:()=>g});var n=i(605);const{D:r}=n._$LH;var o=i(126);const s=(t,e)=>{const i=t._$AN;if(void 0===i)return!1;for(const t of i)t._$AO?.(e,!1),s(t,e);return!0},a=t=>{let e,i;do{if(void 0===(e=t._$AM))break;i=e._$AN,i.delete(t),t=e}while(0===i?.size)},l=t=>{for(let e;e=t._$AM;t=e){let i=e._$AN;if(void 0===i)e._$AN=i=new Set;else if(i.has(t))break;i.add(t),u(e)}};function c(t){void 0!==this._$AN?(a(this),this._$AM=t,l(this)):this._$AM=t}function d(t,e=!1,i=0){const n=this._$AH,r=this._$AN;if(void 0!==r&&0!==r.size)if(e)if(Array.isArray(n))for(let t=i;t{t.type==o.pX.CHILD&&(t._$AP??=d,t._$AQ??=c)};class h extends o.Xe{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,e,i){super._$AT(t,e,i),l(this),this.isConnected=t._$AU}_$AO(t,e=!0){t!==this.isConnected&&(this.isConnected=t,t?this.reconnected?.():this.disconnected?.()),e&&(s(this,t),a(this))}setValue(t){if((t=>void 0===this._$Ct.strings)())this._$Ct._$AI(t,this);else{const e=[...this._$Ct._$AH];e[this._$Ci]=t,this._$Ct._$AI(e,this,0)}}disconnected(){}reconnected(){}}class m{constructor(t){this.G=t}disconnect(){this.G=void 0}reconnect(t){this.G=t}deref(){return this.G}}class p{constructor(){this.Y=void 0,this.Z=void 0}get(){return this.Y}pause(){this.Y??=new Promise((t=>this.Z=t))}resume(){this.Z?.(),this.Y=this.Z=void 0}}class f extends h{constructor(){super(...arguments),this._$Cq=new m(this),this._$CK=new p}render(t,e){return n.Jb}update(t,[e,i]){if(this.isConnected||this.disconnected(),e===this._$CX)return;this._$CX=e;let r=0;const{_$Cq:o,_$CK:s}=this;return(async(t,e)=>{for await(const i of t)if(!1===await e(i))return})(e,(async t=>{for(;s.get();)await s.get();const n=o.deref();if(void 0!==n){if(n._$CX!==e)return!1;void 0!==i&&(t=i(t,r)),n.commitValue(t,r),r++}return!0})),n.Jb}commitValue(t,e){this.setValue(t)}disconnected(){this._$Cq.disconnect(),this._$CK.pause()}reconnected(){this._$Cq.reconnect(this),this._$CK.resume()}}const g=(0,o.XM)(f)},110:(t,e,i)=>{i.r(e),i.d(e,{CSSResult:()=>n.c3,LitElement:()=>o,ReactiveElement:()=>n.fl,_$LE:()=>a,_$LH:()=>r._$LH,adoptStyles:()=>n.ec,css:()=>n.iv,defaultConverter:()=>n.Ts,getCompatibleStyle:()=>n.i1,html:()=>r.dy,isServer:()=>l,noChange:()=>r.Jb,notEqual:()=>n.Qu,nothing:()=>r.Ld,render:()=>r.sY,supportsAdoptingStyleSheets:()=>n.FV,svg:()=>r.YP,unsafeCSS:()=>n.$m});var n=i(548),r=i(605);class o extends n.fl{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=(0,r.sY)(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return r.Jb}}o._$litElement$=!0,o.finalized=!0,globalThis.litElementHydrateSupport?.({LitElement:o});const s=globalThis.litElementPolyfillSupport;s?.({LitElement:o});const a={_$AK:(t,e,i)=>{t._$AK(e,i)},_$AL:t=>t._$AL};(globalThis.litElementVersions??=[]).push("4.0.2");const l=!1},548:(t,e,i)=>{i.d(e,{c3:()=>a,fl:()=>T,ec:()=>d,iv:()=>c,Ts:()=>C,i1:()=>u,Qu:()=>A,FV:()=>r,$m:()=>l});const n=globalThis,r=n.ShadowRoot&&(void 0===n.ShadyCSS||n.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,o=Symbol(),s=new WeakMap;class a{constructor(t,e,i){if(this._$cssResult$=!0,i!==o)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(r&&void 0===t){const i=void 0!==e&&1===e.length;i&&(t=s.get(e)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),i&&s.set(e,t))}return t}toString(){return this.cssText}}const l=t=>new a("string"==typeof t?t:t+"",void 0,o),c=(t,...e)=>{const i=1===t.length?t[0]:e.reduce(((e,i,n)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+t[n+1]),t[0]);return new a(i,t,o)},d=(t,e)=>{if(r)t.adoptedStyleSheets=e.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const i of e){const e=document.createElement("style"),r=n.litNonce;void 0!==r&&e.setAttribute("nonce",r),e.textContent=i.cssText,t.appendChild(e)}},u=r?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const i of t.cssRules)e+=i.cssText;return l(e)})(t):t,{is:h,defineProperty:m,getOwnPropertyDescriptor:p,getOwnPropertyNames:f,getOwnPropertySymbols:g,getPrototypeOf:v}=Object,y=globalThis,_=y.trustedTypes,$=_?_.emptyScript:"",b=y.reactiveElementPolyfillSupport,w=(t,e)=>t,C={toAttribute(t,e){switch(e){case Boolean:t=t?$:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let i=t;switch(e){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},A=(t,e)=>!h(t,e),S={attribute:!0,type:String,converter:C,reflect:!1,hasChanged:A};Symbol.metadata??=Symbol("metadata"),y.litPropertyMetadata??=new WeakMap;class T extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=S){if(e.state&&(e.attribute=!1),this._$Ei(),this.elementProperties.set(t,e),!e.noAccessor){const i=Symbol(),n=this.getPropertyDescriptor(t,i,e);void 0!==n&&m(this.prototype,t,n)}}static getPropertyDescriptor(t,e,i){const{get:n,set:r}=p(this.prototype,t)??{get(){return this[e]},set(t){this[e]=t}};return{get(){return n?.call(this)},set(e){const o=n?.call(this);r.call(this,e),this.requestUpdate(t,o,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??S}static _$Ei(){if(this.hasOwnProperty(w("elementProperties")))return;const t=v(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(w("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(w("properties"))){const t=this.properties,e=[...f(t),...g(t)];for(const i of e)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const e=litPropertyMetadata.get(t);if(void 0!==e)for(const[t,i]of e)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,e]of this.elementProperties){const i=this._$Eu(t,e);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const i=new Set(t.flat(1/0).reverse());for(const t of i)e.unshift(u(t))}else void 0!==t&&e.push(u(t));return e}static _$Eu(t,e){const i=e.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$Eg=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$ES(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$E_??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$E_?.delete(t)}_$ES(){const t=new Map,e=this.constructor.elementProperties;for(const i of e.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return d(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$E_?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$E_?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,e,i){this._$AK(t,i)}_$EO(t,e){const i=this.constructor.elementProperties.get(t),n=this.constructor._$Eu(t,i);if(void 0!==n&&!0===i.reflect){const r=(void 0!==i.converter?.toAttribute?i.converter:C).toAttribute(e,i.type);this._$Em=t,null==r?this.removeAttribute(n):this.setAttribute(n,r),this._$Em=null}}_$AK(t,e){const i=this.constructor,n=i._$Eh.get(t);if(void 0!==n&&this._$Em!==n){const t=i.getPropertyOptions(n),r="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:C;this._$Em=n,this[n]=r.fromAttribute(e,t.type),this._$Em=null}}requestUpdate(t,e,i,n=!1,r){if(void 0!==t){if(i??=this.constructor.getPropertyOptions(t),!(i.hasChanged??A)(n?r:this[t],e))return;this.C(t,e,i)}!1===this.isUpdatePending&&(this._$Eg=this._$EP())}C(t,e,i){this._$AL.has(t)||this._$AL.set(t,e),!0===i.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$EP(){this.isUpdatePending=!0;try{await this._$Eg}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,e]of this._$Ep)this[t]=e;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[e,i]of t)!0!==i.wrapped||this._$AL.has(e)||void 0===this[e]||this.C(e,this[e],i)}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$E_?.forEach((t=>t.hostUpdate?.())),this.update(e)):this._$ET()}catch(e){throw t=!1,this._$ET(),e}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$E_?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$ET(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$Eg}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EO(t,this[t]))),this._$ET()}updated(t){}firstUpdated(t){}}T.elementStyles=[],T.shadowRootOptions={mode:"open"},T[w("elementProperties")]=new Map,T[w("finalized")]=new Map,b?.({ReactiveElement:T}),(y.reactiveElementVersions??=[]).push("2.0.2")},126:(t,e,i)=>{i.d(e,{XM:()=>r,Xe:()=>o,pX:()=>n});const n={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},r=t=>(...e)=>({_$litDirective$:t,values:e});class o{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}},605:(t,e,i)=>{i.d(e,{Jb:()=>T,Ld:()=>E,YP:()=>S,_$LH:()=>U,dy:()=>A,sY:()=>G});const n=globalThis,r=n.trustedTypes,o=r?r.createPolicy("lit-html",{createHTML:t=>t}):void 0,s="$lit$",a=`lit$${(Math.random()+"").slice(9)}$`,l="?"+a,c=`<${l}>`,d=document,u=()=>d.createComment(""),h=t=>null===t||"object"!=typeof t&&"function"!=typeof t,m=Array.isArray,p=t=>m(t)||"function"==typeof t?.[Symbol.iterator],f="[ \t\n\f\r]",g=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,v=/-->/g,y=/>/g,_=RegExp(`>|${f}(?:([^\\s"'>=/]+)(${f}*=${f}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),$=/'/g,b=/"/g,w=/^(?:script|style|textarea|title)$/i,C=t=>(e,...i)=>({_$litType$:t,strings:e,values:i}),A=C(1),S=C(2),T=Symbol.for("lit-noChange"),E=Symbol.for("lit-nothing"),D=new WeakMap,x=d.createTreeWalker(d,129);function R(t,e){if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==o?o.createHTML(e):e}const k=(t,e)=>{const i=t.length-1,n=[];let r,o=2===e?"":"",l=g;for(let e=0;e"===u[0]?(l=r??g,h=-1):void 0===u[1]?h=-2:(h=l.lastIndex-u[2].length,d=u[1],l=void 0===u[3]?_:'"'===u[3]?b:$):l===b||l===$?l=_:l===v||l===y?l=g:(l=_,r=void 0);const p=l===_&&t[e+1].startsWith("/>")?" ":"";o+=l===g?i+c:h>=0?(n.push(d),i.slice(0,h)+s+i.slice(h)+a+p):i+a+(-2===h?e:p)}return[R(t,o+(t[i]||"")+(2===e?"":"")),n]};class O{constructor({strings:t,_$litType$:e},i){let n;this.parts=[];let o=0,c=0;const d=t.length-1,h=this.parts,[m,p]=k(t,e);if(this.el=O.createElement(m,i),x.currentNode=this.el.content,2===e){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(n=x.nextNode())&&h.length0){n.textContent=r?r.emptyScript:"";for(let i=0;i2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=E}_$AI(t,e=this,i,n){const r=this.strings;let o=!1;if(void 0===r)t=P(this,t,e,0),o=!h(t)||t!==this._$AH&&t!==T,o&&(this._$AH=t);else{const n=t;let s,a;for(t=r[0],s=0;s{const n=i?.renderBefore??e;let r=n._$litPart$;if(void 0===r){const t=i?.renderBefore??null;n._$litPart$=r=new M(e.insertBefore(u(),t),t,void 0,i??{})}return r._$AI(t),r}},147:t=>{t.exports=JSON.parse('{"name":"formulaone-card","version":"1.9.3","description":"Frontend card for Home Assistant to display Formula One data","main":"index.js","scripts":{"lint":"eslint src/**/*.ts","dev":"webpack -c webpack.config.js","build":"yarn lint && webpack -c webpack.config.js","test":"jest","coverage":"jest --coverage","workflow":"jest --coverage --json --outputFile=/home/runner/work/formulaone-card/formulaone-card/jest.results.json","prebuild":"copy git-hooks\\\\pre-commit .git\\\\hooks\\\\ && echo \'hook copied\'"},"repository":{"type":"git","url":"git+https://github.com/marcokreeft87/formulaone-card.git"},"keywords":[],"author":"","license":"ISC","bugs":{"url":"https://github.com/marcokreeft87/formulaone-card/issues"},"homepage":"https://github.com/marcokreeft87/formulaone-card#readme","devDependencies":{"@types/jest":"^29.5.3","@typescript-eslint/eslint-plugin":"^5.59.8","@typescript-eslint/parser":"^5.62.0","codecov":"^3.8.3","eslint":"^8.52.0","home-assistant-js-websocket":"^9.1.0","lit":"^3.0.2","lit-element":"^3.3.3","minify-html-literals-loader":"^1.1.1","typescript":"^4.9.5","webpack":"^5.89.0","webpack-cli":"^5.1.4"},"dependencies":{"@babel/plugin-transform-runtime":"^7.22.5","@babel/preset-env":"^7.23.8","@lit-labs/scoped-registry-mixin":"^1.0.1","@marcokreeft/ha-editor-formbuilder":"^2023.10.9","babel-jest":"^29.7.0","compression-webpack-plugin":"^10.0.0","custom-card-helpers":"^1.9.0","isomorphic-fetch":"^3.0.0","jest-environment-jsdom":"^29.6.2","jest-fetch-mock":"^3.0.3","jest-ts-auto-mock":"^2.1.0","minify-html-literals-loader":"^1.1.1","ts-auto-mock":"^3.6.4","ts-jest":"^29.1.1","ts-loader":"^9.5.1","ttypescript":"^1.5.15","yarn":"^1.22.21"}}')}},e={};function i(n){var r=e[n];if(void 0!==r)return r.exports;var o=e[n]={exports:{}};return t[n].call(o.exports,o,o.exports,i),o.exports}i.d=(t,e)=>{for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i(148)})(); \ No newline at end of file diff --git a/formulaone-card.js.gz b/formulaone-card.js.gz index 9e0e796de2f8bf876d3962fdc34cb4a694ed800d..8f0607ffdd592a8b1d4b547ddf48e634859dc97e 100644 GIT binary patch literal 32792 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 { const data = await this.GetData(`${season}.json`, true, 72); diff --git a/tests/cards/results.test.ts b/tests/cards/results.test.ts index cdeba29..dc5a558 100644 --- a/tests/cards/results.test.ts +++ b/tests/cards/results.test.ts @@ -420,9 +420,9 @@ describe('Testing results file', () => { card.setSelectedRace({ target: { value: '6' } }); // Assert - expect(fetchMock).toHaveBeenCalledWith("https://ergast.com/api/f1/2022/6/results.json", {"headers": {"Accept": "application/json"}}); - expect(fetchMock).toHaveBeenCalledWith("https://ergast.com/api/f1/2022/6/qualifying.json", {"headers": {"Accept": "application/json"}}); - expect(fetchMock).toHaveBeenCalledWith("https://ergast.com/api/f1/2022/6/sprint.json", {"headers": {"Accept": "application/json"}}); + expect(fetchMock).toHaveBeenCalledWith("https://api.jolpi.ca/ergast/f1/2022/6/results.json", {"headers": {"Accept": "application/json"}}); + expect(fetchMock).toHaveBeenCalledWith("https://api.jolpi.ca/ergast/f1/2022/6/qualifying.json", {"headers": {"Accept": "application/json"}}); + expect(fetchMock).toHaveBeenCalledWith("https://api.jolpi.ca/ergast/f1/2022/6/sprint.json", {"headers": {"Accept": "application/json"}}); }), test('Calling setSelectedRace with selectedSeason undefined no results', async () => { // Arrange @@ -435,9 +435,9 @@ describe('Testing results file', () => { card.setSelectedRace({ target: { value: '5' } }); // Assert - expect(fetchMock).toHaveBeenCalledWith("https://ergast.com/api/f1/2022/5/results.json", {"headers": {"Accept": "application/json"}}); - expect(fetchMock).toHaveBeenCalledWith("https://ergast.com/api/f1/2022/5/qualifying.json", {"headers": {"Accept": "application/json"}}); - expect(fetchMock).toHaveBeenCalledWith("https://ergast.com/api/f1/2022/5/sprint.json", {"headers": {"Accept": "application/json"}}); + expect(fetchMock).toHaveBeenCalledWith("https://api.jolpi.ca/ergast/f1/2022/5/results.json", {"headers": {"Accept": "application/json"}}); + expect(fetchMock).toHaveBeenCalledWith("https://api.jolpi.ca/ergast/f1/2022/5/qualifying.json", {"headers": {"Accept": "application/json"}}); + expect(fetchMock).toHaveBeenCalledWith("https://api.jolpi.ca/ergast/f1/2022/5/sprint.json", {"headers": {"Accept": "application/json"}}); }), test('Calling setSelectedRace with selectedSeason undefined no results', async () => { // Arrange @@ -450,9 +450,9 @@ describe('Testing results file', () => { card.setSelectedRace({ target: { value: '5' } }); // Assert - expect(fetchMock).toHaveBeenCalledWith("https://ergast.com/api/f1/2022/5/results.json", {"headers": {"Accept": "application/json"}}); - expect(fetchMock).toHaveBeenCalledWith("https://ergast.com/api/f1/2022/5/qualifying.json", {"headers": {"Accept": "application/json"}}); - expect(fetchMock).toHaveBeenCalledWith("https://ergast.com/api/f1/2022/5/sprint.json", {"headers": {"Accept": "application/json"}}); + expect(fetchMock).toHaveBeenCalledWith("https://api.jolpi.ca/ergast/f1/2022/5/results.json", {"headers": {"Accept": "application/json"}}); + expect(fetchMock).toHaveBeenCalledWith("https://api.jolpi.ca/ergast/f1/2022/5/qualifying.json", {"headers": {"Accept": "application/json"}}); + expect(fetchMock).toHaveBeenCalledWith("https://api.jolpi.ca/ergast/f1/2022/5/sprint.json", {"headers": {"Accept": "application/json"}}); }), test('Calling render without tab_order should arrange tabs in default order', async () => { // Arrange