@robinthues/rt-claude-coach 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -10,55 +10,55 @@
10
10
  href="https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=Playfair+Display:wght@600;700&family=JetBrains+Mono:wght@400;500&display=swap"
11
11
  rel="stylesheet"
12
12
  />
13
- <script type="module" crossorigin>(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))a(i);new MutationObserver(i=>{for(const n of i)if(n.type==="childList")for(const o of n.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&a(o)}).observe(document,{childList:!0,subtree:!0});function t(i){const n={};return i.integrity&&(n.integrity=i.integrity),i.referrerPolicy&&(n.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?n.credentials="include":i.crossOrigin==="anonymous"?n.credentials="omit":n.credentials="same-origin",n}function a(i){if(i.ep)return;i.ep=!0;const n=t(i);fetch(i.href,n)}})();const Xn="5";typeof window<"u"&&((window.__svelte??={}).v??=new Set).add(Xn);const Qn=1,$n=2,Ga=4,ei=8,si=16,ti=1,ai=2,Be=Symbol("uninitialized"),ni="http://www.w3.org/1999/xhtml",Za=!1;var ua=Array.isArray,ii=Array.prototype.indexOf,Pt=Array.prototype.includes,zt=Array.from,li=Object.defineProperty,rt=Object.getOwnPropertyDescriptor,oi=Object.getOwnPropertyDescriptors,ri=Object.prototype,ui=Array.prototype,Ka=Object.getPrototypeOf,Fa=Object.isExtensible;const ci=()=>{};function mi(e){for(var s=0;s<e.length;s++)e[s]()}function qa(){var e,s,t=new Promise((a,i)=>{e=a,s=i});return{promise:t,resolve:e,reject:s}}function Va(e,s){if(Array.isArray(e))return e;if(!(Symbol.iterator in e))return Array.from(e);const t=[];for(const a of e)if(t.push(a),t.length===s)break;return t}const Ne=2,Ks=4,Nt=8,Ja=1<<24,os=16,is=32,ys=64,Xt=128,as=512,ze=1024,Le=2048,cs=4096,je=8192,ns=16384,Xs=32768,Qt=1<<25,qs=65536,Rt=1<<17,fi=1<<18,Qs=1<<19,pi=1<<20,ms=1<<25,zs=65536,It=1<<21,Gs=1<<22,Fs=1<<23,Zs=Symbol("$state"),Ya=Symbol("attributes"),$t=Symbol("class"),ea=Symbol("style"),sa=Symbol("text"),St=Symbol("form reset"),bt=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"};function di(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function hi(e,s,t){throw new Error("https://svelte.dev/e/each_key_duplicate")}function bi(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function yi(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function gi(e){throw new Error("https://svelte.dev/e/effect_orphan")}function vi(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function Ti(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Ci(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function wi(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function Ai(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}function Fi(){console.warn("https://svelte.dev/e/derived_inert")}function ki(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function Si(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function Xa(e){return e===this.v}function _i(e,s){return e!=e?s==s:e!==s||e!==null&&typeof e=="object"||typeof e=="function"}function Qa(e){return!_i(e,this.v)}let xi=!1,Ge=null;function Vs(e){Ge=e}function gs(e,s=!1,t){Ge={p:Ge,i:!1,c:null,e:null,s:e,x:null,r:Se,l:null}}function vs(e){var s=Ge,t=s.e;if(t!==null){s.e=null;for(var a of t)gn(a)}return s.i=!0,Ge=s.p,{}}function $a(){return!0}let Is=[];function en(){var e=Is;Is=[],mi(e)}function ks(e){if(Is.length===0&&!ut){var s=Is;queueMicrotask(()=>{s===Is&&en()})}Is.push(e)}function Ei(){for(;Is.length>0;)en()}function sn(e){var s=Se;if(s===null)return ke.f|=Fs,e;if((s.f&Xs)===0&&(s.f&Ks)===0)throw e;As(e,s)}function As(e,s){if(!(s!==null&&(s.f&ns)!==0)){for(;s!==null;){if((s.f&Xt)!==0){if((s.f&Xs)===0)throw e;try{s.b.error(e);return}catch(t){e=t}}s=s.parent}throw e}}const Pi=-7169;function De(e,s){e.f=e.f&Pi|s}function ca(e){(e.f&as)!==0||e.deps===null?De(e,ze):De(e,cs)}function tn(e){if(e!==null)for(const s of e)(s.f&Ne)===0||(s.f&zs)===0||(s.f^=zs,tn(s.deps))}function an(e,s,t){(e.f&Le)!==0?s.add(e):(e.f&cs)!==0&&t.add(e),tn(e.deps),De(e,ze)}let ka=!1;function Ri(){ka||(ka=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(const s of e.target.elements)s[St]?.()})},{capture:!0}))}function $s(e){var s=ke,t=Se;ls(null),ps(null);try{return e()}finally{ls(s),ps(t)}}function nn(e,s,t,a=t){e.addEventListener(s,()=>$s(t));const i=e[St];i?e[St]=()=>{i(),a(!0)}:e[St]=()=>a(!0),Ri()}function Ii(e){let s=0,t=Ns(0),a;return()=>{ha()&&(A(t),ya(()=>(s===0&&(a=Qe(()=>e(()=>ct(t)))),s+=1,()=>{ks(()=>{s-=1,s===0&&(a?.(),a=void 0,ct(t))})})))}}var Di=qs|Qs;function Li(e,s,t,a){new Bi(e,s,t,a)}class Bi{parent;is_pending=!1;transform_error;#s;#e=null;#t;#o;#i;#l=null;#a=null;#r=null;#n=null;#d=0;#f=0;#c=!1;#p=new Set;#u=new Set;#m=null;#g=Ii(()=>(this.#m=Ns(this.#d),()=>{this.#m=null}));constructor(s,t,a,i){this.#s=s,this.#t=t,this.#o=n=>{var o=Se;o.b=this,o.f|=Xt,a(n)},this.parent=Se.b,this.transform_error=i??this.parent?.transform_error??(n=>n),this.#i=ga(()=>{this.#v()},Di)}#y(){try{this.#l=es(()=>this.#o(this.#s))}catch(s){this.error(s)}}#C(s){const t=this.#t.failed;t&&(this.#r=es(()=>{t(this.#s,()=>s,()=>()=>{})}))}#w(){const s=this.#t.pending;s&&(this.is_pending=!0,this.#a=es(()=>s(this.#s)),ks(()=>{var t=this.#n=document.createDocumentFragment(),a=Ss();t.append(a),this.#l=this.#T(()=>es(()=>this.#o(a))),this.#f===0&&(this.#s.before(t),this.#n=null,Bs(this.#a,()=>{this.#a=null}),this.#h(we))}))}#v(){try{if(this.is_pending=this.has_pending_snippet(),this.#f=0,this.#d=0,this.#l=es(()=>{this.#o(this.#s)}),this.#f>0){var s=this.#n=document.createDocumentFragment();Ta(this.#l,s);const t=this.#t.pending;this.#a=es(()=>t(this.#s))}else this.#h(we)}catch(t){this.error(t)}}#h(s){this.is_pending=!1,s.transfer_effects(this.#p,this.#u)}defer_effect(s){an(s,this.#p,this.#u)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#t.pending}#T(s){var t=Se,a=ke,i=Ge;ps(this.#i),ls(this.#i),Vs(this.#i.ctx);try{return xs.ensure(),s()}catch(n){return sn(n),null}finally{ps(t),ls(a),Vs(i)}}#b(s,t){if(!this.has_pending_snippet()){this.parent&&this.parent.#b(s,t);return}this.#f+=s,this.#f===0&&(this.#h(t),this.#a&&Bs(this.#a,()=>{this.#a=null}),this.#n&&(this.#s.before(this.#n),this.#n=null))}update_pending_count(s,t){this.#b(s,t),this.#d+=s,!(!this.#m||this.#c)&&(this.#c=!0,ks(()=>{this.#c=!1,this.#m&&Js(this.#m,this.#d)}))}get_effect_pending(){return this.#g(),A(this.#m)}error(s){if(!this.#t.onerror&&!this.#t.failed)throw s;we?.is_fork?(this.#l&&we.skip_effect(this.#l),this.#a&&we.skip_effect(this.#a),this.#r&&we.skip_effect(this.#r),we.oncommit(()=>{this.#A(s)})):this.#A(s)}#A(s){this.#l&&(Ve(this.#l),this.#l=null),this.#a&&(Ve(this.#a),this.#a=null),this.#r&&(Ve(this.#r),this.#r=null);var t=this.#t.onerror;let a=this.#t.failed;var i=!1,n=!1;const o=()=>{if(i){Si();return}i=!0,n&&Ai(),this.#r!==null&&Bs(this.#r,()=>{this.#r=null}),this.#T(()=>{this.#v()})},l=r=>{try{n=!0,t?.(r,o),n=!1}catch(m){As(m,this.#i&&this.#i.parent)}a&&(this.#r=this.#T(()=>{try{return es(()=>{var m=Se;m.b=this,m.f|=Xt,a(this.#s,()=>r,()=>o)})}catch(m){return As(m,this.#i.parent),null}}))};ks(()=>{var r;try{r=this.transform_error(s)}catch(m){As(m,this.#i&&this.#i.parent);return}r!==null&&typeof r=="object"&&typeof r.then=="function"?r.then(l,m=>As(m,this.#i&&this.#i.parent)):l(r)})}}function Mi(e,s,t,a){const i=ma;var n=e.filter(c=>!c.settled),o=s.map(i);if(t.length===0&&n.length===0){a(o);return}var l=Se,r=Oi(),m=n.length===1?n[0].promise:n.length>1?Promise.all(n.map(c=>c.promise)):null;function v(c){if((l.f&ns)===0){r();try{a([...o,...c])}catch(g){As(g,l)}Dt()}}var h=ln();if(t.length===0){m.then(()=>v([])).finally(h);return}function d(){Promise.all(t.map(c=>zi(c))).then(v).catch(c=>As(c,l)).finally(h)}m?m.then(()=>{r(),d(),Dt()}):d()}function Oi(){var e=Se,s=ke,t=Ge,a=we;return function(n=!0){ps(e),ls(s),Vs(t),n&&(e.f&ns)===0&&(a?.activate(),a?.apply())}}function Dt(e=!0){ps(null),ls(null),Vs(null),e&&we?.deactivate()}function ln(){var e=Se,s=e.b,t=we,a=!!s?.is_rendered();return s?.update_pending_count(1,t),t.increment(a,e),()=>{s?.update_pending_count(-1,t),t.decrement(a,e)}}function ma(e){var s=Ne|Le;return Se!==null&&(Se.f|=Qs),{ctx:Ge,deps:null,effects:null,equals:Xa,f:s,fn:e,reactions:null,rv:0,v:Be,wv:0,parent:Se,ac:null}}const it=Symbol("obsolete");function zi(e,s,t){let a=Se;a===null&&di();var i=void 0,n=Ns(Be),o=!ke,l=new Set;return el(()=>{var r=Se,m=qa();i=m.promise;try{Promise.resolve(e()).then(m.resolve,c=>{c!==bt&&m.reject(c)}).finally(Dt)}catch(c){m.reject(c),Dt()}var v=we;if(o){if((r.f&Xs)!==0)var h=ln();if(a.b?.is_rendered())v.async_deriveds.get(r)?.reject(it);else for(const c of l.values())c.reject(it);l.add(m),v.async_deriveds.set(r,m)}const d=(c,g=void 0)=>{h?.(),l.delete(m),g!==it&&(v.activate(),g?(n.f|=Fs,Js(n,g)):((n.f&Fs)!==0&&(n.f^=Fs),Js(n,c)),v.deactivate())};m.promise.then(d,c=>d(null,c||"unknown"))}),ba(()=>{for(const r of l)r.reject(it)}),new Promise(r=>{function m(v){function h(){v===i?r(n):m(i)}v.then(h,h)}m(i)})}function Ie(e){const s=ma(e);return Fn(s),s}function Ni(e){const s=ma(e);return s.equals=Qa,s}function Wi(e){var s=e.effects;if(s!==null){e.effects=null;for(var t=0;t<s.length;t+=1)Ve(s[t])}}function fa(e){var s,t=Se,a=e.parent;if(!Es&&a!==null&&e.v!==Be&&(a.f&(ns|je))!==0)return Fi(),e.v;ps(a);try{e.f&=~zs,Wi(e),s=xn(e)}finally{ps(t)}return s}function on(e){var s=fa(e);if(!e.equals(s)&&(e.wv=Sn(),(!we?.is_fork||e.deps===null)&&(we!==null?(we.capture(e,s,!0),ta?.capture(e,s,!0)):e.v=s,e.deps===null))){De(e,ze);return}Es||(rs!==null?(ha()||we?.is_fork)&&rs.set(e,s):ca(e))}function Ui(e){if(e.effects!==null)for(const s of e.effects)(s.teardown||s.ac)&&(s.teardown?.(),s.ac!==null&&$s(()=>{s.ac.abort(bt),s.ac=null}),s.fn!==null&&(s.teardown=ci),dt(s,0),va(s))}function rn(e){if(e.effects!==null)for(const s of e.effects)s.teardown&&s.fn!==null&&Ys(s)}let Gt=null,Ws=null,we=null,ta=null,rs=null,aa=null,ut=!1,Zt=!1,Us=null,_t=null;var Sa=0;let Hi=1;class xs{id=Hi++;#s=!1;linked=!0;#e=null;#t=null;async_deriveds=new Map;current=new Map;previous=new Map;#o=new Set;#i=new Set;#l=0;#a=new Map;#r=null;#n=[];#d=[];#f=new Set;#c=new Set;#p=new Map;#u=new Set;is_fork=!1;#m=!1;constructor(){Ws===null?Gt=Ws=this:(Ws.#t=this,this.#e=Ws),Ws=this}#g(){if(this.is_fork)return!0;for(const a of this.#a.keys()){for(var s=a,t=!1;s.parent!==null;){if(this.#p.has(s)){t=!0;break}s=s.parent}if(!t)return!0}return!1}skip_effect(s){this.#p.has(s)||this.#p.set(s,{d:[],m:[]}),this.#u.delete(s)}unskip_effect(s,t=a=>this.schedule(a)){var a=this.#p.get(s);if(a){this.#p.delete(s);for(var i of a.d)De(i,Le),t(i);for(i of a.m)De(i,cs),t(i)}this.#u.add(s)}#y(){this.#s=!0,Sa++>1e3&&(this.#b(),Gi());for(const r of this.#f)this.#c.delete(r),De(r,Le),this.schedule(r);for(const r of this.#c)De(r,cs),this.schedule(r);const s=this.#n;this.#n=[],this.apply();var t=Us=[],a=[],i=_t=[];for(const r of s)try{this.#C(r,t,a)}catch(m){throw mn(r),this.#g()||this.discard(),m}if(we=null,i.length>0){var n=xs.ensure();for(const r of i)n.schedule(r)}if(Us=null,_t=null,this.#g()){this.#h(a),this.#h(t);for(const[r,m]of this.#p)cn(r,m);i.length>0&&we.#y();return}const o=this.#w();if(o){this.#h(a),this.#h(t),o.#v(this);return}this.#f.clear(),this.#c.clear();for(const r of this.#o)r(this);this.#o.clear(),ta=this,_a(a),_a(t),ta=null,this.#r?.resolve();var l=we;if(this.#l===0&&(this.#n.length===0||l!==null)&&this.#b(),this.#n.length>0)if(l!==null){const r=l;r.#n.push(...this.#n.filter(m=>!r.#n.includes(m)))}else l=this;l!==null&&l.#y()}#C(s,t,a){s.f^=ze;for(var i=s.first;i!==null;){var n=i.f,o=(n&(is|ys))!==0,l=o&&(n&ze)!==0,r=l||(n&je)!==0||this.#p.has(i);if(!r&&i.fn!==null){o?i.f^=ze:(n&Ks)!==0?t.push(i):gt(i)&&((n&os)!==0&&this.#c.add(i),Ys(i));var m=i.first;if(m!==null){i=m;continue}}for(;i!==null;){var v=i.next;if(v!==null){i=v;break}i=i.parent}}}#w(){for(var s=this.#e;s!==null;){if(!s.is_fork){for(const[t,[,a]]of this.current)if(s.current.has(t)&&!a)return s}s=s.#e}return null}#v(s){for(const[a,i]of s.current)!this.previous.has(a)&&s.previous.has(a)&&this.previous.set(a,s.previous.get(a)),this.current.set(a,i);for(const[a,i]of s.async_deriveds){const n=this.async_deriveds.get(a);n&&i.promise.then(n.resolve).catch(n.reject)}s.async_deriveds.clear(),this.transfer_effects(s.#f,s.#c);const t=a=>{var i=a.reactions;if(i!==null&&!((a.f&Ne)!==0&&(a.f&(Le|cs))===0))for(const l of i){var n=l.f;if((n&Ne)!==0)t(l);else{var o=l;n&(Gs|os)&&!this.async_deriveds.has(o)&&(this.#c.delete(o),De(o,Le),this.schedule(o))}}};for(const a of this.current.keys())t(a);this.oncommit(()=>s.discard()),s.#b(),we=this,this.#y()}#h(s){for(var t=0;t<s.length;t+=1)an(s[t],this.#f,this.#c)}capture(s,t,a=!1){s.v!==Be&&!this.previous.has(s)&&this.previous.set(s,s.v),(s.f&Fs)===0&&(this.current.set(s,[t,a]),rs?.set(s,t)),this.is_fork||(s.v=t)}activate(){we=this}deactivate(){we=null,rs=null}flush(){try{Zt=!0,we=this,this.#y()}finally{Sa=0,aa=null,Us=null,_t=null,Zt=!1,we=null,rs=null,Ls.clear()}}discard(){for(const s of this.#i)s(this);this.#i.clear();for(const s of this.async_deriveds.values())s.reject(it);this.#b(),this.#r?.resolve()}register_created_effect(s){this.#d.push(s)}#T(){for(let h=Gt;h!==null;h=h.#t){var s=h.id<this.id,t=[];for(const[d,[c,g]]of this.current){if(h.current.has(d)){var a=h.current.get(d)[0];if(s&&c!==a)h.current.set(d,[c,g]);else continue}t.push(d)}if(s)for(const[d,c]of this.async_deriveds){const g=h.async_deriveds.get(d);g&&c.promise.then(g.resolve).catch(g.reject)}var i=[...h.current.keys()].filter(d=>!h.current.get(d)[1]);if(!(!h.#s||i.length===0)){var n=i.filter(d=>!this.current.has(d));if(n.length===0)s&&h.discard();else if(t.length>0){if(s)for(const d of this.#u)h.unskip_effect(d,c=>{(c.f&(os|Gs))!==0?h.schedule(c):h.#h([c])});h.activate();var o=new Set,l=new Map;for(var r of t)un(r,n,o,l);l=new Map;var m=[...h.current].filter(([d,c])=>{const g=this.current.get(d);return g?g[0]!==c[0]||g[1]!==c[1]:!0}).map(([d])=>d);if(m.length>0)for(const d of this.#d)(d.f&(ns|je|Rt))===0&&pa(d,m,l)&&((d.f&(Gs|os))!==0?(De(d,Le),h.schedule(d)):h.#f.add(d));if(h.#n.length>0&&!h.#m){h.apply();for(var v of h.#n)h.#C(v,[],[]);h.#n=[]}h.deactivate()}}}}increment(s,t){if(this.#l+=1,s){let a=this.#a.get(t)??0;this.#a.set(t,a+1)}}decrement(s,t){if(this.#l-=1,s){let a=this.#a.get(t)??0;a===1?this.#a.delete(t):this.#a.set(t,a-1)}this.#m||(this.#m=!0,ks(()=>{this.#m=!1,this.linked&&this.flush()}))}transfer_effects(s,t){for(const a of s)this.#f.add(a);for(const a of t)this.#c.add(a);s.clear(),t.clear()}oncommit(s){this.#o.add(s)}ondiscard(s){this.#i.add(s)}settled(){return(this.#r??=qa()).promise}static ensure(){if(we===null){const s=we=new xs;!Zt&&!ut&&ks(()=>{s.#s||s.flush()})}return we}apply(){{rs=null;return}}schedule(s){if(aa=s,s.b?.is_pending&&(s.f&(Ks|Nt|Ja))!==0&&(s.f&Xs)===0){s.b.defer_effect(s);return}for(var t=s;t.parent!==null;){t=t.parent;var a=t.f;if(Us!==null&&t===Se&&(ke===null||(ke.f&Ne)===0))return;if((a&(ys|is))!==0){if((a&ze)===0)return;t.f^=ze}}this.#n.push(t)}#b(){if(this.linked){var s=this.#e,t=this.#t;s===null?Gt=t:s.#t=t,t===null?Ws=s:t.#e=s,this.linked=!1}}}function ji(e){var s=ut;ut=!0;try{for(var t;;){if(Ei(),we===null)return t;we.flush()}}finally{ut=s}}function Gi(){try{vi()}catch(e){As(e,aa)}}let hs=null;function _a(e){var s=e.length;if(s!==0){for(var t=0;t<s;){var a=e[t++];if((a.f&(ns|je))===0&&gt(a)&&(hs=new Set,Ys(a),a.deps===null&&a.first===null&&a.nodes===null&&a.teardown===null&&a.ac===null&&Cn(a),hs?.size>0)){Ls.clear();for(const i of hs){if((i.f&(ns|je))!==0)continue;const n=[i];let o=i.parent;for(;o!==null;)hs.has(o)&&(hs.delete(o),n.push(o)),o=o.parent;for(let l=n.length-1;l>=0;l--){const r=n[l];(r.f&(ns|je))===0&&Ys(r)}}hs.clear()}}hs=null}}function un(e,s,t,a){if(!t.has(e)&&(t.add(e),e.reactions!==null))for(const i of e.reactions){const n=i.f;(n&Ne)!==0?un(i,s,t,a):(n&(Gs|os))!==0&&(n&Le)===0&&pa(i,s,a)&&(De(i,Le),da(i))}}function pa(e,s,t){const a=t.get(e);if(a!==void 0)return a;if(e.deps!==null)for(const i of e.deps){if(Pt.call(s,i))return!0;if((i.f&Ne)!==0&&pa(i,s,t))return t.set(i,!0),!0}return t.set(e,!1),!1}function da(e){we.schedule(e)}function cn(e,s){if(!((e.f&is)!==0&&(e.f&ze)!==0)){(e.f&Le)!==0?s.d.push(e):(e.f&cs)!==0&&s.m.push(e),De(e,ze);for(var t=e.first;t!==null;)cn(t,s),t=t.next}}function mn(e){De(e,ze);for(var s=e.first;s!==null;)mn(s),s=s.next}let Lt=new Set;const Ls=new Map;let fn=!1;function Ns(e,s){var t={f:0,v:e,reactions:null,equals:Xa,rv:0,wv:0};return t}function Fe(e,s){const t=Ns(e);return Fn(t),t}function Zi(e,s=!1,t=!0){const a=Ns(e);return s||(a.equals=Qa),a}function te(e,s,t=!1){ke!==null&&(!us||(ke.f&Rt)!==0)&&$a()&&(ke.f&(Ne|os|Gs|Rt))!==0&&(fs===null||!fs.has(e))&&wi();let a=t?Oe(s):s;return Js(e,a,_t)}function Js(e,s,t=null){if(!e.equals(s)){Ls.set(e,Es?s:e.v);var a=xs.ensure();if(a.capture(e,s),(e.f&Ne)!==0){const i=e;(e.f&Le)!==0&&fa(i),rs===null&&ca(i)}e.wv=Sn(),pn(e,Le,t),Se!==null&&(Se.f&ze)!==0&&(Se.f&(is|ys))===0&&($e===null?al([e]):$e.push(e)),!a.is_fork&&Lt.size>0&&!fn&&Ki()}return s}function Ki(){fn=!1;for(const e of Lt){(e.f&ze)!==0&&De(e,cs);let s;try{s=gt(e)}catch{s=!0}s&&Ys(e)}Lt.clear()}function ct(e){te(e,e.v+1)}function pn(e,s,t){var a=e.reactions;if(a!==null)for(var i=a.length,n=0;n<i;n++){var o=a[n],l=o.f,r=(l&Le)===0;if(r&&De(o,s),(l&Rt)!==0)Lt.add(o);else if((l&Ne)!==0){var m=o;rs?.delete(m),(l&zs)===0&&(l&as&&(Se===null||(Se.f&It)===0)&&(o.f|=zs),pn(m,cs,t))}else if(r){var v=o;(l&os)!==0&&hs!==null&&hs.add(v),t!==null?t.push(v):da(v)}}}function Oe(e){if(typeof e!="object"||e===null||Zs in e)return e;const s=Ka(e);if(s!==ri&&s!==ui)return e;var t=new Map,a=ua(e),i=Fe(0),n=Ms,o=l=>{if(Ms===n)return l();var r=ke,m=Ms;ls(null),Ra(n);var v=l();return ls(r),Ra(m),v};return a&&t.set("length",Fe(e.length)),new Proxy(e,{defineProperty(l,r,m){(!("value"in m)||m.configurable===!1||m.enumerable===!1||m.writable===!1)&&Ti();var v=t.get(r);return v===void 0?o(()=>{var h=Fe(m.value);return t.set(r,h),h}):te(v,m.value,!0),!0},deleteProperty(l,r){var m=t.get(r);if(m===void 0){if(r in l){const v=o(()=>Fe(Be));t.set(r,v),ct(i)}}else te(m,Be),ct(i);return!0},get(l,r,m){if(r===Zs)return e;var v=t.get(r),h=r in l;if(v===void 0&&(!h||rt(l,r)?.writable)&&(v=o(()=>{var c=Oe(h?l[r]:Be),g=Fe(c);return g}),t.set(r,v)),v!==void 0){var d=A(v);return d===Be?void 0:d}return Reflect.get(l,r,m)},getOwnPropertyDescriptor(l,r){var m=Reflect.getOwnPropertyDescriptor(l,r);if(m&&"value"in m){var v=t.get(r);v&&(m.value=A(v))}else if(m===void 0){var h=t.get(r),d=h?.v;if(h!==void 0&&d!==Be)return{enumerable:!0,configurable:!0,value:d,writable:!0}}return m},has(l,r){if(r===Zs)return!0;var m=t.get(r),v=m!==void 0&&m.v!==Be||Reflect.has(l,r);if(m!==void 0||Se!==null&&(!v||rt(l,r)?.writable)){m===void 0&&(m=o(()=>{var d=v?Oe(l[r]):Be,c=Fe(d);return c}),t.set(r,m));var h=A(m);if(h===Be)return!1}return v},set(l,r,m,v){var h=t.get(r),d=r in l;if(a&&r==="length")for(var c=m;c<h.v;c+=1){var g=t.get(c+"");g!==void 0?te(g,Be):c in l&&(g=o(()=>Fe(Be)),t.set(c+"",g))}if(h===void 0)(!d||rt(l,r)?.writable)&&(h=o(()=>Fe(void 0)),te(h,Oe(m)),t.set(r,h));else{d=h.v!==Be;var p=o(()=>Oe(m));te(h,p)}var b=Reflect.getOwnPropertyDescriptor(l,r);if(b?.set&&b.set.call(v,m),!d){if(a&&typeof r=="string"){var y=t.get("length"),w=Number(r);Number.isInteger(w)&&w>=y.v&&te(y,w+1)}ct(i)}return!0},ownKeys(l){A(i);var r=Reflect.ownKeys(l).filter(h=>{var d=t.get(h);return d===void 0||d.v!==Be});for(var[m,v]of t)v.v!==Be&&!(m in l)&&r.push(m);return r},setPrototypeOf(){Ci()}})}function xa(e){try{if(e!==null&&typeof e=="object"&&Zs in e)return e[Zs]}catch{}return e}function qi(e,s){return Object.is(xa(e),xa(s))}var pt,dn,hn,bn;function Vi(){if(pt===void 0){pt=window,dn=/Firefox/.test(navigator.userAgent);var e=Element.prototype,s=Node.prototype,t=Text.prototype;hn=rt(s,"firstChild").get,bn=rt(s,"nextSibling").get,Fa(e)&&(e[$t]=void 0,e[Ya]=null,e[ea]=void 0,e.__e=void 0),Fa(t)&&(t[sa]=void 0)}}function Ss(e=""){return document.createTextNode(e)}function Bt(e){return hn.call(e)}function yt(e){return bn.call(e)}function L(e,s){return Bt(e)}function ts(e,s=!1){{var t=Bt(e);return t instanceof Comment&&t.data===""?yt(t):t}}function D(e,s=1,t=!1){let a=e;for(;s--;)a=yt(a);return a}function Ji(e){e.textContent=""}function yn(){return!1}function Yi(e,s,t){return t?document.createElement(e,{is:t}):document.createElement(e)}function Xi(e){Se===null&&(ke===null&&gi(),yi()),Es&&bi()}function Qi(e,s){var t=s.last;t===null?s.last=s.first=e:(t.next=e,e.prev=t,s.last=e)}function Ts(e,s){var t=Se;t!==null&&(t.f&je)!==0&&(e|=je);var a={ctx:Ge,deps:null,nodes:null,f:e|Le|as,first:null,fn:s,last:null,next:null,parent:t,b:t&&t.b,prev:null,teardown:null,wv:0,ac:null};we?.register_created_effect(a);var i=a;if((e&Ks)!==0)Us!==null?Us.push(a):xs.ensure().schedule(a);else if(s!==null){try{Ys(a)}catch(o){throw Ve(a),o}i.deps===null&&i.teardown===null&&i.nodes===null&&i.first===i.last&&(i.f&Qs)===0&&(i=i.first,(e&os)!==0&&(e&qs)!==0&&i!==null&&(i.f|=qs))}if(i!==null&&(i.parent=t,t!==null&&Qi(i,t),ke!==null&&(ke.f&Ne)!==0&&(e&ys)===0)){var n=ke;(n.effects??=[]).push(i)}return a}function ha(){return ke!==null&&!us}function ba(e){const s=Ts(Nt,null);return De(s,ze),s.teardown=e,s}function Ea(e){Xi();var s=Se.f,t=!ke&&(s&is)!==0&&Ge!==null&&!Ge.i;if(t){var a=Ge;(a.e??=[]).push(e)}else return gn(e)}function gn(e){return Ts(Ks|pi,e)}function $i(e){xs.ensure();const s=Ts(ys|Qs,e);return(t={})=>new Promise(a=>{t.outro?Bs(s,()=>{Ve(s),a(void 0)}):(Ve(s),a(void 0))})}function vn(e){return Ts(Ks,e)}function el(e){return Ts(Gs|Qs,e)}function ya(e,s=0){return Ts(Nt|s,e)}function _e(e,s=[],t=[],a=[]){Mi(a,s,t,i=>{Ts(Nt,()=>{e(...i.map(A))})})}function ga(e,s=0){var t=Ts(os|s,e);return t}function es(e){return Ts(is|Qs,e)}function Tn(e){var s=e.teardown;if(s!==null){const t=Es,a=ke;Pa(!0),ls(null);try{s.call(null)}finally{Pa(t),ls(a)}}}function va(e,s=!1){var t=e.first;for(e.first=e.last=null;t!==null;){const i=t.ac;i!==null&&$s(()=>{i.abort(bt)});var a=t.next;(t.f&ys)!==0?t.parent=null:Ve(t,s),t=a}}function sl(e){for(var s=e.first;s!==null;){var t=s.next;(s.f&is)===0&&Ve(s),s=t}}function Ve(e,s=!0){var t=!1;(s||(e.f&fi)!==0)&&e.nodes!==null&&e.nodes.end!==null&&(tl(e.nodes.start,e.nodes.end),t=!0),e.f|=Qt,va(e,s&&!t),dt(e,0);var a=e.nodes&&e.nodes.t;if(a!==null)for(const n of a)n.stop();Tn(e),e.f^=Qt,e.f|=ns;var i=e.parent;i!==null&&i.first!==null&&Cn(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function tl(e,s){for(;e!==null;){var t=e===s?null:yt(e);e.remove(),e=t}}function Cn(e){var s=e.parent,t=e.prev,a=e.next;t!==null&&(t.next=a),a!==null&&(a.prev=t),s!==null&&(s.first===e&&(s.first=a),s.last===e&&(s.last=t))}function Bs(e,s,t=!0){var a=[];wn(e,a,!0);var i=()=>{t&&Ve(e),s&&s()},n=a.length;if(n>0){var o=()=>--n||i();for(var l of a)l.out(o)}else i()}function wn(e,s,t){if((e.f&je)===0){e.f^=je;var a=e.nodes&&e.nodes.t;if(a!==null)for(const l of a)(l.is_global||t)&&s.push(l);for(var i=e.first;i!==null;){var n=i.next;if((i.f&ys)===0){var o=(i.f&qs)!==0||(i.f&is)!==0&&(e.f&os)!==0;wn(i,s,o?t:!1)}i=n}}}function Mt(e){An(e,!0)}function An(e,s){if((e.f&je)!==0){e.f^=je,(e.f&ze)===0&&(De(e,Le),xs.ensure().schedule(e));for(var t=e.first;t!==null;){var a=t.next,i=(t.f&qs)!==0||(t.f&is)!==0;An(t,i?s:!1),t=a}var n=e.nodes&&e.nodes.t;if(n!==null)for(const o of n)(o.is_global||s)&&o.in()}}function Ta(e,s){if(e.nodes)for(var t=e.nodes.start,a=e.nodes.end;t!==null;){var i=t===a?null:yt(t);s.append(t),t=i}}let xt=!1,Es=!1;function Pa(e){Es=e}let ke=null,us=!1;function ls(e){ke=e}let Se=null;function ps(e){Se=e}let fs=null;function Fn(e){ke!==null&&(fs??=new Set).add(e)}let Ke=null,Xe=0,$e=null;function al(e){$e=e}let kn=1,Ds=0,Ms=Ds;function Ra(e){Ms=e}function Sn(){return++kn}function gt(e){var s=e.f;if((s&Le)!==0)return!0;if(s&Ne&&(e.f&=~zs),(s&cs)!==0){for(var t=e.deps,a=t.length,i=0;i<a;i++){var n=t[i];if(gt(n)&&on(n),n.wv>e.wv)return!0}(s&as)!==0&&rs===null&&De(e,ze)}return!1}function _n(e,s,t=!0){var a=e.reactions;if(a!==null&&!(fs!==null&&fs.has(e)))for(var i=0;i<a.length;i++){var n=a[i];(n.f&Ne)!==0?_n(n,s,!1):s===n&&(t?De(n,Le):(n.f&ze)!==0&&De(n,cs),da(n))}}function xn(e){var s=Ke,t=Xe,a=$e,i=ke,n=fs,o=Ge,l=us,r=Ms,m=e.f;Ke=null,Xe=0,$e=null,ke=(m&(is|ys))===0?e:null,fs=null,Vs(e.ctx),us=!1,Ms=++Ds,e.ac!==null&&($s(()=>{e.ac.abort(bt)}),e.ac=null);try{e.f|=It;var v=e.fn,h=v();e.f|=Xs;var d=e.deps,c=we?.is_fork;if(Ke!==null){var g;if(c||dt(e,Xe),d!==null&&Xe>0)for(d.length=Xe+Ke.length,g=0;g<Ke.length;g++)d[Xe+g]=Ke[g];else e.deps=d=Ke;if(ha()&&(e.f&as)!==0)for(g=Xe;g<d.length;g++)(d[g].reactions??=[]).push(e)}else!c&&d!==null&&Xe<d.length&&(dt(e,Xe),d.length=Xe);if($a()&&$e!==null&&!us&&d!==null&&(e.f&(Ne|cs|Le))===0)for(g=0;g<$e.length;g++)_n($e[g],e);if(i!==null&&i!==e){if(Ds++,i.deps!==null)for(let p=0;p<t;p+=1)i.deps[p].rv=Ds;if(s!==null)for(const p of s)p.rv=Ds;$e!==null&&(a===null?a=$e:a.push(...$e))}return(e.f&Fs)!==0&&(e.f^=Fs),h}catch(p){return sn(p)}finally{e.f^=It,Ke=s,Xe=t,$e=a,ke=i,fs=n,Vs(o),us=l,Ms=r}}function nl(e,s){let t=s.reactions;if(t!==null){var a=ii.call(t,e);if(a!==-1){var i=t.length-1;i===0?t=s.reactions=null:(t[a]=t[i],t.pop())}}if(t===null&&(s.f&Ne)!==0&&(Ke===null||!Pt.call(Ke,s))){var n=s;(n.f&as)!==0&&(n.f^=as,n.f&=~zs),n.v!==Be&&ca(n),n.ac!==null&&$s(()=>{n.ac.abort(bt),n.ac=null,De(n,Le)}),Ui(n),dt(n,0)}}function dt(e,s){var t=e.deps;if(t!==null)for(var a=s;a<t.length;a++)nl(e,t[a])}function Ys(e){var s=e.f;if((s&ns)===0){De(e,ze);var t=Se,a=xt;Se=e,xt=(s&(is|ys))===0;try{(s&(os|Ja))!==0?sl(e):va(e),Tn(e);var i=xn(e);e.teardown=typeof i=="function"?i:null,e.wv=kn;var n;Za&&xi&&(e.f&Le)!==0&&e.deps}finally{xt=a,Se=t}}}async function il(){await Promise.resolve(),ji()}function A(e){var s=e.f,t=(s&Ne)!==0;if(ke!==null&&!us){var a=Se!==null&&(Se.f&ns)!==0;if(!a&&(fs===null||!fs.has(e))){var i=ke.deps;if((ke.f&It)!==0)e.rv<Ds&&(e.rv=Ds,Ke===null&&i!==null&&i[Xe]===e?Xe++:Ke===null?Ke=[e]:Ke.push(e));else{ke.deps??=[],Pt.call(ke.deps,e)||ke.deps.push(e);var n=e.reactions;n===null?e.reactions=[ke]:Pt.call(n,ke)||n.push(ke)}}}if(Es&&Ls.has(e))return Ls.get(e);if(t){var o=e;if(Es){var l=o.v;return((o.f&ze)===0&&o.reactions!==null||Pn(o))&&(l=fa(o)),Ls.set(o,l),l}var r=(o.f&as)===0&&!us&&ke!==null&&(xt||(ke.f&as)!==0),m=(o.f&Xs)===0;gt(o)&&(r&&(o.f|=as),on(o)),r&&!m&&(rn(o),En(o))}if(rs?.has(e))return rs.get(e);if((e.f&Fs)!==0)throw e.v;return e.v}function En(e){if(e.f|=as,e.deps!==null)for(const s of e.deps)(s.reactions??=[]).push(e),(s.f&Ne)!==0&&(s.f&as)===0&&(rn(s),En(s))}function Pn(e){if(e.v===Be)return!0;if(e.deps===null)return!1;for(const s of e.deps)if(Ls.has(s)||(s.f&Ne)!==0&&Pn(s))return!0;return!1}function Qe(e){var s=us;try{return us=!0,e()}finally{us=s}}const lt=Symbol("events"),Rn=new Set,na=new Set;function ll(e,s,t,a={}){function i(n){if(a.capture||ia.call(s,n),!n.cancelBubble)return $s(()=>t?.call(this,n))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?ks(()=>{s.addEventListener(e,i,a)}):s.addEventListener(e,i,a),i}function _s(e,s,t,a,i){var n={capture:a,passive:i},o=ll(e,s,t,n);(s===document.body||s===window||s===document||s instanceof HTMLMediaElement)&&ba(()=>{s.removeEventListener(e,o,n)})}function ie(e,s,t){(s[lt]??={})[e]=t}function Ps(e){for(var s=0;s<e.length;s++)Rn.add(e[s]);for(var t of na)t(e)}let Ia=null;function ia(e){var s=this,t=s.ownerDocument,a=e.type,i=e.composedPath?.()||[],n=i[0]||e.target;Ia=e;var o=0,l=Ia===e&&e[lt];if(l){var r=i.indexOf(l);if(r!==-1&&(s===document||s===window)){e[lt]=s;return}var m=i.indexOf(s);if(m===-1)return;r<=m&&(o=r)}if(n=i[o]||e.target,n!==s){li(e,"currentTarget",{configurable:!0,get(){return n||t}});var v=ke,h=Se;ls(null),ps(null);try{for(var d,c=[];n!==null&&n!==s;){try{var g=n[lt]?.[a];g!=null&&(!n.disabled||e.target===n)&&g.call(n,e)}catch(p){d?c.push(p):d=p}if(e.cancelBubble)break;o++,n=o<i.length?i[o]:null}if(d){for(let p of c)queueMicrotask(()=>{throw p});throw d}}finally{e[lt]=s,delete e.currentTarget,ls(v),ps(h)}}}const ol=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:e=>e});function rl(e){return ol?.createHTML(e)??e}function ul(e){var s=Yi("template");return s.innerHTML=rl(e.replaceAll("<!>","\x3C!---->")),s.content}function la(e,s){var t=Se;t.nodes===null&&(t.nodes={start:e,end:s,a:null,t:null})}function ue(e,s){var t=(s&ti)!==0,a=(s&ai)!==0,i,n=!e.startsWith("<!>");return()=>{i===void 0&&(i=ul(n?e:"<!>"+e),t||(i=Bt(i)));var o=a||dn?document.importNode(i,!0):i.cloneNode(!0);if(t){var l=Bt(o),r=o.lastChild;la(l,r)}else la(o,o);return o}}function cl(){var e=document.createDocumentFragment(),s=document.createComment(""),t=Ss();return e.append(s,t),la(s,t),e}function oe(e,s){e!==null&&e.before(s)}const ml=["touchstart","touchmove"];function fl(e){return ml.includes(e)}function pe(e,s){var t=s==null?"":typeof s=="object"?`${s}`:s;t!==(e[sa]??=e.nodeValue)&&(e[sa]=t,e.nodeValue=`${t}`)}function pl(e,s){return dl(e,s)}const Tt=new Map;function dl(e,{target:s,anchor:t,props:a={},events:i,context:n,intro:o=!0,transformError:l}){Vi();var r=void 0,m=$i(()=>{var v=t??s.appendChild(Ss());Li(v,{pending:()=>{}},c=>{gs({});var g=Ge;n&&(g.c=n),i&&(a.$$events=i),r=e(c,a)||{},vs()},l);var h=new Set,d=c=>{for(var g=0;g<c.length;g++){var p=c[g];if(!h.has(p)){h.add(p);var b=fl(p);for(const F of[s,document]){var y=Tt.get(F);y===void 0&&(y=new Map,Tt.set(F,y));var w=y.get(p);w===void 0?(F.addEventListener(p,ia,{passive:b}),y.set(p,1)):y.set(p,w+1)}}}};return d(zt(Rn)),na.add(d),()=>{for(var c of h)for(const b of[s,document]){var g=Tt.get(b),p=g.get(c);--p==0?(b.removeEventListener(c,ia),g.delete(c),g.size===0&&Tt.delete(b)):g.set(c,p)}na.delete(d),v!==t&&v.parentNode?.removeChild(v)}});return hl.set(r,m),r}let hl=new WeakMap;class bl{anchor;#s=new Map;#e=new Map;#t=new Map;#o=new Set;#i=!0;constructor(s,t=!0){this.anchor=s,this.#i=t}#l=s=>{if(this.#s.has(s)){var t=this.#s.get(s),a=this.#e.get(t);if(a)Mt(a),this.#o.delete(t);else{var i=this.#t.get(t);i&&(Mt(i.effect),this.#e.set(t,i.effect),this.#t.delete(t),i.fragment.lastChild.remove(),this.anchor.before(i.fragment),a=i.effect)}for(const[n,o]of this.#s){if(this.#s.delete(n),n===s)break;const l=this.#t.get(o);l&&(Ve(l.effect),this.#t.delete(o))}for(const[n,o]of this.#e){if(n===t||this.#o.has(n))continue;const l=()=>{if(Array.from(this.#s.values()).includes(n)){var m=document.createDocumentFragment();Ta(o,m),m.append(Ss()),this.#t.set(n,{effect:o,fragment:m})}else Ve(o);this.#o.delete(n),this.#e.delete(n)};this.#i||!a?(this.#o.add(n),Bs(o,l,!1)):l()}}};#a=s=>{this.#s.delete(s);const t=Array.from(this.#s.values());for(const[a,i]of this.#t)t.includes(a)||(Ve(i.effect),this.#t.delete(a))};ensure(s,t){var a=we,i=yn();if(t&&!this.#e.has(s)&&!this.#t.has(s))if(i){var n=document.createDocumentFragment(),o=Ss();n.append(o),this.#t.set(s,{effect:es(()=>t(o)),fragment:n})}else this.#e.set(s,es(()=>t(this.anchor)));if(this.#s.set(a,s),i){for(const[l,r]of this.#e)l===s?a.unskip_effect(r):a.skip_effect(r);for(const[l,r]of this.#t)l===s?a.unskip_effect(r.effect):a.skip_effect(r.effect);a.oncommit(this.#l),a.ondiscard(this.#a)}else this.#l(a)}}function Ae(e,s,t=!1){var a=new bl(e),i=t?qs:0;function n(o,l){a.ensure(o,l)}ga(()=>{var o=!1;s((l,r=0)=>{o=!0,n(r,l)}),o||n(-1,null)},i)}function ss(e,s){return s}function yl(e,s,t){for(var a=[],i=s.length,n,o=s.length,l=0;l<i;l++){let h=s[l];Bs(h,()=>{if(n){if(n.pending.delete(h),n.done.add(h),n.pending.size===0){var d=e.outrogroups;oa(e,zt(n.done)),d.delete(n),d.size===0&&(e.outrogroups=null)}}else o-=1},!1)}if(o===0){var r=a.length===0&&t!==null;if(r){var m=t,v=m.parentNode;Ji(v),v.append(m),e.items.clear()}oa(e,s,!r)}else n={pending:new Set(s),done:new Set},(e.outrogroups??=new Set).add(n)}function oa(e,s,t=!0){var a;if(e.pending.size>0){a=new Set;for(const o of e.pending.values())for(const l of o)a.add(e.items.get(l).e)}for(var i=0;i<s.length;i++){var n=s[i];if(a?.has(n)){n.f|=ms;const o=document.createDocumentFragment();Ta(n,o)}else Ve(s[i],t)}}var Da;function He(e,s,t,a,i,n=null){var o=e,l=new Map,r=(s&Ga)!==0;if(r){var m=e;o=m.appendChild(Ss())}var v=null,h=Ni(()=>{var F=t();return ua(F)?F:F==null?[]:zt(F)}),d,c=new Map,g=!0;function p(F){(w.effect.f&ns)===0&&(w.pending.delete(F),w.fallback=v,gl(w,d,o,s,a),v!==null&&(d.length===0?(v.f&ms)===0?Mt(v):(v.f^=ms,ot(v,null,o)):Bs(v,()=>{v=null})))}function b(F){w.pending.delete(F)}var y=ga(()=>{d=A(h);for(var F=d.length,x=new Set,S=we,U=yn(),P=0;P<F;P+=1){var j=d[P],O=a(j,P),Y=g?null:l.get(O);Y?(Y.v&&Js(Y.v,j),Y.i&&Js(Y.i,P),U&&S.unskip_effect(Y.e)):(Y=vl(l,g?o:Da??=Ss(),j,O,P,i,s,t),g||(Y.e.f|=ms),l.set(O,Y)),x.add(O)}if(F===0&&n&&!v&&(g?v=es(()=>n(o)):(v=es(()=>n(Da??=Ss())),v.f|=ms)),F>x.size&&hi(),!g)if(c.set(S,x),U){for(const[se,k]of l)x.has(se)||S.skip_effect(k.e);S.oncommit(p),S.ondiscard(b)}else p(S);A(h)}),w={effect:y,items:l,pending:c,outrogroups:null,fallback:v};g=!1}function nt(e){for(;e!==null&&(e.f&is)===0;)e=e.next;return e}function gl(e,s,t,a,i){var n=(a&ei)!==0,o=s.length,l=e.items,r=nt(e.effect.first),m,v=null,h,d=[],c=[],g,p,b,y;if(n)for(y=0;y<o;y+=1)g=s[y],p=i(g,y),b=l.get(p).e,(b.f&ms)===0&&(b.nodes?.a?.measure(),(h??=new Set).add(b));for(y=0;y<o;y+=1){if(g=s[y],p=i(g,y),b=l.get(p).e,e.outrogroups!==null)for(const Y of e.outrogroups)Y.pending.delete(b),Y.done.delete(b);if((b.f&je)!==0&&(Mt(b),n&&(b.nodes?.a?.unfix(),(h??=new Set).delete(b))),(b.f&ms)!==0)if(b.f^=ms,b===r)ot(b,null,t);else{var w=v?v.next:r;b===e.effect.last&&(e.effect.last=b.prev),b.prev&&(b.prev.next=b.next),b.next&&(b.next.prev=b.prev),Cs(e,v,b),Cs(e,b,w),ot(b,w,t),v=b,d=[],c=[],r=nt(v.next);continue}if(b!==r){if(m!==void 0&&m.has(b)){if(d.length<c.length){var F=c[0],x;v=F.prev;var S=d[0],U=d[d.length-1];for(x=0;x<d.length;x+=1)ot(d[x],F,t);for(x=0;x<c.length;x+=1)m.delete(c[x]);Cs(e,S.prev,U.next),Cs(e,v,S),Cs(e,U,F),r=F,v=U,y-=1,d=[],c=[]}else m.delete(b),ot(b,r,t),Cs(e,b.prev,b.next),Cs(e,b,v===null?e.effect.first:v.next),Cs(e,v,b),v=b;continue}for(d=[],c=[];r!==null&&r!==b;)(m??=new Set).add(r),c.push(r),r=nt(r.next);if(r===null)continue}(b.f&ms)===0&&d.push(b),v=b,r=nt(b.next)}if(e.outrogroups!==null){for(const Y of e.outrogroups)Y.pending.size===0&&(oa(e,zt(Y.done)),e.outrogroups?.delete(Y));e.outrogroups.size===0&&(e.outrogroups=null)}if(r!==null||m!==void 0){var P=[];if(m!==void 0)for(b of m)(b.f&je)===0&&P.push(b);for(;r!==null;)(r.f&je)===0&&r!==e.fallback&&P.push(r),r=nt(r.next);var j=P.length;if(j>0){var O=(a&Ga)!==0&&o===0?t:null;if(n){for(y=0;y<j;y+=1)P[y].nodes?.a?.measure();for(y=0;y<j;y+=1)P[y].nodes?.a?.fix()}yl(e,P,O)}}n&&ks(()=>{if(h!==void 0)for(b of h)b.nodes?.a?.apply()})}function vl(e,s,t,a,i,n,o,l){var r=(o&Qn)!==0?(o&si)===0?Zi(t,!1,!1):Ns(t):null,m=(o&$n)!==0?Ns(i):null;return{v:r,i:m,e:es(()=>(n(s,r??t,m??i,l),()=>{e.delete(a)}))}}function ot(e,s,t){if(e.nodes)for(var a=e.nodes.start,i=e.nodes.end,n=s&&(s.f&ms)===0?s.nodes.start:t;a!==null;){var o=yt(a);if(n.before(a),a===i)return;a=o}}function Cs(e,s,t){s===null?e.effect.first=t:s.next=t,t===null?e.effect.last=s:t.prev=s}const La=[...`
14
- \r\f \v\uFEFF`];function Tl(e,s,t){var a=e==null?"":""+e;if(s&&(a=a?a+" "+s:s),t){for(var i of Object.keys(t))if(t[i])a=a?a+" "+i:i;else if(a.length)for(var n=i.length,o=0;(o=a.indexOf(i,o))>=0;){var l=o+n;(o===0||La.includes(a[o-1]))&&(l===a.length||La.includes(a[l]))?a=(o===0?"":a.substring(0,o))+a.substring(l+1):o=l}}return a===""?null:a}function Cl(e,s){return e==null?null:String(e)}function Re(e,s,t,a,i,n){var o=e[$t];if(o!==t||o===void 0){var l=Tl(t,a,n);l==null?e.removeAttribute("class"):s?e.className=l:e.setAttribute("class",l),e[$t]=t}else if(n&&i!==n)for(var r in n){var m=!!n[r];(i==null||m!==!!i[r])&&e.classList.toggle(r,m)}return n}function Ca(e,s,t,a){var i=e[ea];if(i!==s){var n=Cl(s);n==null?e.removeAttribute("style"):e.style.cssText=n,e[ea]=s}return a}function In(e,s,t=!1){if(e.multiple){if(s==null)return;if(!ua(s))return ki();for(var a of e.options)a.selected=s.includes(mt(a));return}for(a of e.options){var i=mt(a);if(qi(i,s)){a.selected=!0;return}}(!t||s!==void 0)&&(e.selectedIndex=-1)}function wl(e){var s=new MutationObserver(()=>{In(e,e.__value)});s.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),ba(()=>{s.disconnect()})}function Hs(e,s,t=s){var a=new WeakSet,i=!0;nn(e,"change",n=>{var o=n?"[selected]":":checked",l;if(e.multiple)l=[].map.call(e.querySelectorAll(o),mt);else{var r=e.querySelector(o)??e.querySelector("option:not([disabled])");l=r&&mt(r)}t(l),e.__value=l,we!==null&&a.add(we)}),vn(()=>{var n=s();if(e===document.activeElement){var o=we;if(a.has(o))return}if(In(e,n,i),i&&n===void 0){var l=e.querySelector(":checked");l!==null&&(n=mt(l),t(n))}e.__value=n,i=!1}),wl(e)}function mt(e){return"__value"in e?e.__value:e.value}const Al=Symbol("is custom element"),Fl=Symbol("is html");function kl(e,s,t,a){var i=Sl(e);i[s]!==(i[s]=t)&&(t==null?e.removeAttribute(s):typeof t!="string"&&_l(e).includes(s)?e[s]=t:e.setAttribute(s,t))}function Sl(e){return e[Ya]??={[Al]:e.nodeName.includes("-"),[Fl]:e.namespaceURI===ni}}var Ba=new Map;function _l(e){var s=e.getAttribute("is")||e.nodeName,t=Ba.get(s);if(t)return t;Ba.set(s,t=[]);for(var a,i=e,n=Element.prototype;n!==i;){a=oi(i);for(var o in a)a[o].set&&o!=="innerHTML"&&o!=="textContent"&&o!=="innerText"&&t.push(o);i=Ka(i)}return t}function Me(e,s,t=s){var a=new WeakSet;nn(e,"input",async i=>{var n=i?e.defaultValue:e.value;if(n=Kt(e)?qt(n):n,t(n),we!==null&&a.add(we),await il(),n!==(n=s())){var o=e.selectionStart,l=e.selectionEnd,r=e.value.length;if(e.value=n??"",l!==null){var m=e.value.length;o===l&&l===r&&m>r?(e.selectionStart=m,e.selectionEnd=m):(e.selectionStart=o,e.selectionEnd=Math.min(l,m))}}}),Qe(s)==null&&e.value&&(t(Kt(e)?qt(e.value):e.value),we!==null&&a.add(we)),ya(()=>{var i=s();if(e===document.activeElement){var n=we;if(a.has(n))return}Kt(e)&&i===qt(e.value)||e.type==="date"&&!i&&!e.value||i!==e.value&&(e.value=i??"")})}function Kt(e){var s=e.type;return s==="number"||s==="range"}function qt(e){return e===""?null:+e}function Vt(e,s){return e===s||e?.[Zs]===s}function xl(e={},s,t,a){var i=Ge.r,n=Se;return vn(()=>{var o,l;return ya(()=>{o=l,l=[],Qe(()=>{Vt(t(...l),e)||(s(e,...l),o&&Vt(t(...o),e)&&s(null,...o))})}),()=>{let r=n;for(;r!==i&&r.parent!==null&&r.parent.f&Qt;)r=r.parent;const m=()=>{l&&Vt(t(...l),e)&&s(null,...l)},v=r.teardown;r.teardown=()=>{m(),v?.()}}}),e}function Ma(e,s,t,a){var i=a,n=!0,o=()=>(n&&(n=!1,i=a),i),l;l=e[s],l===void 0&&a!==void 0&&(l=o());var r;return r=()=>{var m=e[s];return m===void 0?o():(n=!0,m)},r}const El=.9144,Pl=1.60934;function wa(e){if(!e)return"";const s=Math.floor(e/60),t=e%60;return s>0?t>0?`${s}h ${t}m`:`${s}h`:`${t}m`}function Rl(e,s,t){if(!e)return"";if(s==="swim"){if(t.units.swim==="yards"){const a=e/El;return`${Math.round(a)}yd`}return`${Math.round(e)}m`}if(s==="bike"||s==="run"){if(t.units[s]==="miles"){const n=e/1e3/Pl;return n>=10?`${Math.round(n)}mi`:`${n.toFixed(1)}mi`}const i=e/1e3;return i>=10?`${Math.round(i)}km`:`${i.toFixed(1)}km`}return`${Math.round(e)}m`}function Oa(e){return Wt(e).toLocaleDateString("en-US",{weekday:"long",month:"short",day:"numeric"})}function Il(e){return Wt(e).toLocaleDateString("en-US",{weekday:"long",month:"long",day:"numeric",year:"numeric"})}function Dl(e,s,t){if(!s)return"";const a=s.match(/(?:Zone\s*)?(\d)(?:\s*-\s*(\d))?/i);if(!a)return s;const i=parseInt(a[1]),n=a[2]?parseInt(a[2]):i;let o=s;if(e==="run"||e==="bike"){const l=t[e]?.hrZones;if(l&&l[i-1]){const r=l[i-1].low,m=n!==i&&l[n-1]?l[n-1].high:l[i-1].high;o+=` (${r}-${m} bpm)`}}return o}function Ll(e){const s=Math.ceil((new Date(e).getTime()-new Date().getTime())/864e5);return Math.max(0,s)}function Bl(e){return e==="monday"?["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]}function Ml(){return Dn(new Date)}function Dn(e){const s=e.getFullYear(),t=String(e.getMonth()+1).padStart(2,"0"),a=String(e.getDate()).padStart(2,"0");return`${s}-${t}-${a}`}function Wt(e){if(!e)return new Date;const s=e.split("-").map(Number),t=s[0]??new Date().getFullYear(),a=s[1]??1,i=s[2]??1;return new Date(t,a-1,i)}function Ln(e){return{swim:"🏊",bike:"🚴",run:"🏃",trailrun:"⛰",strength:"💪",brick:"🔥",race:"🏆",rest:"🛌"}[e]||""}function et(e){return e==="bike"||e==="run"}function za(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;")}function bs(e){return e/100}function ht(e,s){switch(s){case"seconds":return e;case"minutes":return e*60;case"hours":return e*3600;default:return e}}function Ol(e){return e==="run"?"run":"bike"}function zl(e){const s=ht(e.duration?.value??0,e.duration?.unit??"minutes"),t=e.intensity?.value??50,a=bs(e.intensity?.valueLow??t*.6),i=bs(e.intensity?.valueHigh??t);return` <Warmup Duration="${s}" PowerLow="${a.toFixed(2)}" PowerHigh="${i.toFixed(2)}"/>`}function Nl(e){const s=ht(e.duration?.value??0,e.duration?.unit??"minutes"),t=e.intensity?.value??50,a=bs(e.intensity?.valueHigh??t),i=bs(e.intensity?.valueLow??t*.5);return` <Cooldown Duration="${s}" PowerLow="${i.toFixed(2)}" PowerHigh="${a.toFixed(2)}"/>`}function Et(e,s=!1){const t=ht(e.duration?.value??0,e.duration?.unit??"minutes"),a=bs(e.intensity?.value??50);let i="";if(e.cadence&&(i=` Cadence="${e.cadence.low??90}"`,e.cadence.high!==e.cadence.low&&(i=` CadenceLow="${e.cadence.low??90}" CadenceHigh="${e.cadence.high??100}"`)),s&&e.intensity?.valueLow!==void 0&&e.intensity?.valueHigh!==void 0){const n=bs(e.intensity.valueLow),o=bs(e.intensity.valueHigh);return` <Ramp Duration="${t}" PowerLow="${n.toFixed(2)}" PowerHigh="${o.toFixed(2)}"${i}/>`}return` <SteadyState Duration="${t}" Power="${a.toFixed(2)}"${i}/>`}function Wl(e){const s=e.steps??[],t=s.find(m=>m.type==="work"),a=s.find(m=>m.type==="recovery"||m.type==="rest");if(!t)return s.map(m=>Et(m)).join(`
15
- `);const i=ht(t.duration?.value??0,t.duration?.unit??"minutes"),n=bs(t.intensity?.value??100),o=a?ht(a.duration?.value??0,a.duration?.unit??"minutes"):60,l=a?bs(a.intensity?.value??50):.5;let r="";return t.cadence&&(r=` Cadence="${t.cadence.low??90}"`),` <IntervalsT Repeat="${e.repeats??1}" OnDuration="${i}" OffDuration="${o}" OnPower="${n.toFixed(2)}" OffPower="${l.toFixed(2)}"${r}/>`}function Ul(e){const s=[];if(e.warmup&&e.warmup.length>0)for(const t of e.warmup)t.type==="warmup"?s.push(zl(t)):s.push(Et(t));for(const t of e.main)if("repeats"in t)s.push(Wl(t));else{const a=t;s.push(Et(a))}if(e.cooldown&&e.cooldown.length>0)for(const t of e.cooldown)t.type==="cooldown"?s.push(Nl(t)):s.push(Et(t));return s}function Hl(e){const s=[],t=e.durationMinutes||60,a=Math.min(15,Math.max(5,Math.round(t*.1)));s.push(` <Warmup Duration="${a*60}" PowerLow="0.40" PowerHigh="0.65"/>`);let i=.65;switch(e.type){case"recovery":i=.55;break;case"endurance":i=.65;break;case"tempo":i=.8;break;case"threshold":i=.95;break;case"vo2max":i=1.1;break;case"intervals":i=.85;break;case"long":i=.65;break}const n=Math.min(10,Math.max(5,Math.round(t*.1))),o=t-a-n;return s.push(` <SteadyState Duration="${o*60}" Power="${i.toFixed(2)}"/>`),s.push(` <Cooldown Duration="${n*60}" PowerLow="0.40" PowerHigh="0.60"/>`),s}function Bn(e,s){if(!et(e.sport))throw new Error(`ZWO export not supported for ${e.sport} workouts`);const t=Ol(e.sport),a=e.structure?Ul(e.structure):Hl(e),i=za((e.description||"")+(e.humanReadable?`
13
+ <script type="module" crossorigin>(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))a(i);new MutationObserver(i=>{for(const n of i)if(n.type==="childList")for(const o of n.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&a(o)}).observe(document,{childList:!0,subtree:!0});function t(i){const n={};return i.integrity&&(n.integrity=i.integrity),i.referrerPolicy&&(n.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?n.credentials="include":i.crossOrigin==="anonymous"?n.credentials="omit":n.credentials="same-origin",n}function a(i){if(i.ep)return;i.ep=!0;const n=t(i);fetch(i.href,n)}})();const Jn="5";typeof window<"u"&&((window.__svelte??={}).v??=new Set).add(Jn);const Yn=1,Xn=2,ja=4,Qn=8,$n=16,ei=1,si=2,Be=Symbol("uninitialized"),ti="http://www.w3.org/1999/xhtml",Ga=!1;var ra=Array.isArray,ai=Array.prototype.indexOf,Rt=Array.prototype.includes,Nt=Array.from,ni=Object.defineProperty,ut=Object.getOwnPropertyDescriptor,ii=Object.getOwnPropertyDescriptors,li=Object.prototype,oi=Array.prototype,Za=Object.getPrototypeOf,Fa=Object.isExtensible;const ri=()=>{};function ui(e){for(var s=0;s<e.length;s++)e[s]()}function Ka(){var e,s,t=new Promise((a,i)=>{e=a,s=i});return{promise:t,resolve:e,reject:s}}function qa(e,s){if(Array.isArray(e))return e;if(!(Symbol.iterator in e))return Array.from(e);const t=[];for(const a of e)if(t.push(a),t.length===s)break;return t}const Ne=2,Ks=4,Wt=8,Va=1<<24,ls=16,ns=32,bs=64,Yt=128,ts=512,ze=1024,Le=2048,us=4096,je=8192,as=16384,Xs=32768,Xt=1<<25,qs=65536,It=1<<17,ci=1<<18,Qs=1<<19,mi=1<<20,ms=1<<25,zs=65536,Dt=1<<21,Gs=1<<22,ks=1<<23,Zs=Symbol("$state"),Ja=Symbol("attributes"),Qt=Symbol("class"),$t=Symbol("style"),ea=Symbol("text"),_t=Symbol("form reset"),yt=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"};function fi(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function pi(e,s,t){throw new Error("https://svelte.dev/e/each_key_duplicate")}function di(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function hi(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function bi(e){throw new Error("https://svelte.dev/e/effect_orphan")}function yi(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function gi(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function vi(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Ti(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function Ci(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}function wi(){console.warn("https://svelte.dev/e/derived_inert")}function Ai(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function Fi(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function Ya(e){return e===this.v}function ki(e,s){return e!=e?s==s:e!==s||e!==null&&typeof e=="object"||typeof e=="function"}function Xa(e){return!ki(e,this.v)}let Si=!1,Ge=null;function Vs(e){Ge=e}function ys(e,s=!1,t){Ge={p:Ge,i:!1,c:null,e:null,s:e,x:null,r:Se,l:null}}function gs(e){var s=Ge,t=s.e;if(t!==null){s.e=null;for(var a of t)yn(a)}return s.i=!0,Ge=s.p,{}}function Qa(){return!0}let Is=[];function $a(){var e=Is;Is=[],ui(e)}function Ss(e){if(Is.length===0&&!ct){var s=Is;queueMicrotask(()=>{s===Is&&$a()})}Is.push(e)}function _i(){for(;Is.length>0;)$a()}function en(e){var s=Se;if(s===null)return ke.f|=ks,e;if((s.f&Xs)===0&&(s.f&Ks)===0)throw e;Fs(e,s)}function Fs(e,s){if(!(s!==null&&(s.f&as)!==0)){for(;s!==null;){if((s.f&Yt)!==0){if((s.f&Xs)===0)throw e;try{s.b.error(e);return}catch(t){e=t}}s=s.parent}throw e}}const xi=-7169;function De(e,s){e.f=e.f&xi|s}function ua(e){(e.f&ts)!==0||e.deps===null?De(e,ze):De(e,us)}function sn(e){if(e!==null)for(const s of e)(s.f&Ne)===0||(s.f&zs)===0||(s.f^=zs,sn(s.deps))}function tn(e,s,t){(e.f&Le)!==0?s.add(e):(e.f&us)!==0&&t.add(e),sn(e.deps),De(e,ze)}let ka=!1;function Ei(){ka||(ka=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(const s of e.target.elements)s[_t]?.()})},{capture:!0}))}function $s(e){var s=ke,t=Se;is(null),ps(null);try{return e()}finally{is(s),ps(t)}}function an(e,s,t,a=t){e.addEventListener(s,()=>$s(t));const i=e[_t];i?e[_t]=()=>{i(),a(!0)}:e[_t]=()=>a(!0),Ei()}function Pi(e){let s=0,t=Ns(0),a;return()=>{da()&&(A(t),ba(()=>(s===0&&(a=Je(()=>e(()=>mt(t)))),s+=1,()=>{Ss(()=>{s-=1,s===0&&(a?.(),a=void 0,mt(t))})})))}}var Ri=qs|Qs;function Ii(e,s,t,a){new Di(e,s,t,a)}class Di{parent;is_pending=!1;transform_error;#s;#e=null;#t;#o;#i;#l=null;#a=null;#r=null;#n=null;#d=0;#f=0;#c=!1;#p=new Set;#u=new Set;#m=null;#g=Pi(()=>(this.#m=Ns(this.#d),()=>{this.#m=null}));constructor(s,t,a,i){this.#s=s,this.#t=t,this.#o=n=>{var o=Se;o.b=this,o.f|=Yt,a(n)},this.parent=Se.b,this.transform_error=i??this.parent?.transform_error??(n=>n),this.#i=ya(()=>{this.#v()},Ri)}#y(){try{this.#l=$e(()=>this.#o(this.#s))}catch(s){this.error(s)}}#C(s){const t=this.#t.failed;t&&(this.#r=$e(()=>{t(this.#s,()=>s,()=>()=>{})}))}#w(){const s=this.#t.pending;s&&(this.is_pending=!0,this.#a=$e(()=>s(this.#s)),Ss(()=>{var t=this.#n=document.createDocumentFragment(),a=_s();t.append(a),this.#l=this.#T(()=>$e(()=>this.#o(a))),this.#f===0&&(this.#s.before(t),this.#n=null,Bs(this.#a,()=>{this.#a=null}),this.#h(we))}))}#v(){try{if(this.is_pending=this.has_pending_snippet(),this.#f=0,this.#d=0,this.#l=$e(()=>{this.#o(this.#s)}),this.#f>0){var s=this.#n=document.createDocumentFragment();va(this.#l,s);const t=this.#t.pending;this.#a=$e(()=>t(this.#s))}else this.#h(we)}catch(t){this.error(t)}}#h(s){this.is_pending=!1,s.transfer_effects(this.#p,this.#u)}defer_effect(s){tn(s,this.#p,this.#u)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#t.pending}#T(s){var t=Se,a=ke,i=Ge;ps(this.#i),is(this.#i),Vs(this.#i.ctx);try{return Es.ensure(),s()}catch(n){return en(n),null}finally{ps(t),is(a),Vs(i)}}#b(s,t){if(!this.has_pending_snippet()){this.parent&&this.parent.#b(s,t);return}this.#f+=s,this.#f===0&&(this.#h(t),this.#a&&Bs(this.#a,()=>{this.#a=null}),this.#n&&(this.#s.before(this.#n),this.#n=null))}update_pending_count(s,t){this.#b(s,t),this.#d+=s,!(!this.#m||this.#c)&&(this.#c=!0,Ss(()=>{this.#c=!1,this.#m&&Js(this.#m,this.#d)}))}get_effect_pending(){return this.#g(),A(this.#m)}error(s){if(!this.#t.onerror&&!this.#t.failed)throw s;we?.is_fork?(this.#l&&we.skip_effect(this.#l),this.#a&&we.skip_effect(this.#a),this.#r&&we.skip_effect(this.#r),we.oncommit(()=>{this.#A(s)})):this.#A(s)}#A(s){this.#l&&(qe(this.#l),this.#l=null),this.#a&&(qe(this.#a),this.#a=null),this.#r&&(qe(this.#r),this.#r=null);var t=this.#t.onerror;let a=this.#t.failed;var i=!1,n=!1;const o=()=>{if(i){Fi();return}i=!0,n&&Ci(),this.#r!==null&&Bs(this.#r,()=>{this.#r=null}),this.#T(()=>{this.#v()})},l=r=>{try{n=!0,t?.(r,o),n=!1}catch(m){Fs(m,this.#i&&this.#i.parent)}a&&(this.#r=this.#T(()=>{try{return $e(()=>{var m=Se;m.b=this,m.f|=Yt,a(this.#s,()=>r,()=>o)})}catch(m){return Fs(m,this.#i.parent),null}}))};Ss(()=>{var r;try{r=this.transform_error(s)}catch(m){Fs(m,this.#i&&this.#i.parent);return}r!==null&&typeof r=="object"&&typeof r.then=="function"?r.then(l,m=>Fs(m,this.#i&&this.#i.parent)):l(r)})}}function Li(e,s,t,a){const i=ca;var n=e.filter(c=>!c.settled),o=s.map(i);if(t.length===0&&n.length===0){a(o);return}var l=Se,r=Bi(),m=n.length===1?n[0].promise:n.length>1?Promise.all(n.map(c=>c.promise)):null;function v(c){if((l.f&as)===0){r();try{a([...o,...c])}catch(g){Fs(g,l)}Lt()}}var h=nn();if(t.length===0){m.then(()=>v([])).finally(h);return}function d(){Promise.all(t.map(c=>Mi(c))).then(v).catch(c=>Fs(c,l)).finally(h)}m?m.then(()=>{r(),d(),Lt()}):d()}function Bi(){var e=Se,s=ke,t=Ge,a=we;return function(n=!0){ps(e),is(s),Vs(t),n&&(e.f&as)===0&&(a?.activate(),a?.apply())}}function Lt(e=!0){ps(null),is(null),Vs(null),e&&we?.deactivate()}function nn(){var e=Se,s=e.b,t=we,a=!!s?.is_rendered();return s?.update_pending_count(1,t),t.increment(a,e),()=>{s?.update_pending_count(-1,t),t.decrement(a,e)}}function ca(e){var s=Ne|Le;return Se!==null&&(Se.f|=Qs),{ctx:Ge,deps:null,effects:null,equals:Ya,f:s,fn:e,reactions:null,rv:0,v:Be,wv:0,parent:Se,ac:null}}const lt=Symbol("obsolete");function Mi(e,s,t){let a=Se;a===null&&fi();var i=void 0,n=Ns(Be),o=!ke,l=new Set;return $i(()=>{var r=Se,m=Ka();i=m.promise;try{Promise.resolve(e()).then(m.resolve,c=>{c!==yt&&m.reject(c)}).finally(Lt)}catch(c){m.reject(c),Lt()}var v=we;if(o){if((r.f&Xs)!==0)var h=nn();if(a.b?.is_rendered())v.async_deriveds.get(r)?.reject(lt);else for(const c of l.values())c.reject(lt);l.add(m),v.async_deriveds.set(r,m)}const d=(c,g=void 0)=>{h?.(),l.delete(m),g!==lt&&(v.activate(),g?(n.f|=ks,Js(n,g)):((n.f&ks)!==0&&(n.f^=ks),Js(n,c)),v.deactivate())};m.promise.then(d,c=>d(null,c||"unknown"))}),ha(()=>{for(const r of l)r.reject(lt)}),new Promise(r=>{function m(v){function h(){v===i?r(n):m(i)}v.then(h,h)}m(i)})}function Pe(e){const s=ca(e);return An(s),s}function Oi(e){const s=ca(e);return s.equals=Xa,s}function zi(e){var s=e.effects;if(s!==null){e.effects=null;for(var t=0;t<s.length;t+=1)qe(s[t])}}function ma(e){var s,t=Se,a=e.parent;if(!Ps&&a!==null&&e.v!==Be&&(a.f&(as|je))!==0)return wi(),e.v;ps(a);try{e.f&=~zs,zi(e),s=_n(e)}finally{ps(t)}return s}function ln(e){var s=ma(e);if(!e.equals(s)&&(e.wv=kn(),(!we?.is_fork||e.deps===null)&&(we!==null?(we.capture(e,s,!0),sa?.capture(e,s,!0)):e.v=s,e.deps===null))){De(e,ze);return}Ps||(os!==null?(da()||we?.is_fork)&&os.set(e,s):ua(e))}function Ni(e){if(e.effects!==null)for(const s of e.effects)(s.teardown||s.ac)&&(s.teardown?.(),s.ac!==null&&$s(()=>{s.ac.abort(yt),s.ac=null}),s.fn!==null&&(s.teardown=ri),ht(s,0),ga(s))}function on(e){if(e.effects!==null)for(const s of e.effects)s.teardown&&s.fn!==null&&Ys(s)}let jt=null,Ws=null,we=null,sa=null,os=null,ta=null,ct=!1,Gt=!1,Us=null,xt=null;var Sa=0;let Wi=1;class Es{id=Wi++;#s=!1;linked=!0;#e=null;#t=null;async_deriveds=new Map;current=new Map;previous=new Map;#o=new Set;#i=new Set;#l=0;#a=new Map;#r=null;#n=[];#d=[];#f=new Set;#c=new Set;#p=new Map;#u=new Set;is_fork=!1;#m=!1;constructor(){Ws===null?jt=Ws=this:(Ws.#t=this,this.#e=Ws),Ws=this}#g(){if(this.is_fork)return!0;for(const a of this.#a.keys()){for(var s=a,t=!1;s.parent!==null;){if(this.#p.has(s)){t=!0;break}s=s.parent}if(!t)return!0}return!1}skip_effect(s){this.#p.has(s)||this.#p.set(s,{d:[],m:[]}),this.#u.delete(s)}unskip_effect(s,t=a=>this.schedule(a)){var a=this.#p.get(s);if(a){this.#p.delete(s);for(var i of a.d)De(i,Le),t(i);for(i of a.m)De(i,us),t(i)}this.#u.add(s)}#y(){this.#s=!0,Sa++>1e3&&(this.#b(),Hi());for(const r of this.#f)this.#c.delete(r),De(r,Le),this.schedule(r);for(const r of this.#c)De(r,us),this.schedule(r);const s=this.#n;this.#n=[],this.apply();var t=Us=[],a=[],i=xt=[];for(const r of s)try{this.#C(r,t,a)}catch(m){throw cn(r),this.#g()||this.discard(),m}if(we=null,i.length>0){var n=Es.ensure();for(const r of i)n.schedule(r)}if(Us=null,xt=null,this.#g()){this.#h(a),this.#h(t);for(const[r,m]of this.#p)un(r,m);i.length>0&&we.#y();return}const o=this.#w();if(o){this.#h(a),this.#h(t),o.#v(this);return}this.#f.clear(),this.#c.clear();for(const r of this.#o)r(this);this.#o.clear(),sa=this,_a(a),_a(t),sa=null,this.#r?.resolve();var l=we;if(this.#l===0&&(this.#n.length===0||l!==null)&&this.#b(),this.#n.length>0)if(l!==null){const r=l;r.#n.push(...this.#n.filter(m=>!r.#n.includes(m)))}else l=this;l!==null&&l.#y()}#C(s,t,a){s.f^=ze;for(var i=s.first;i!==null;){var n=i.f,o=(n&(ns|bs))!==0,l=o&&(n&ze)!==0,r=l||(n&je)!==0||this.#p.has(i);if(!r&&i.fn!==null){o?i.f^=ze:(n&Ks)!==0?t.push(i):vt(i)&&((n&ls)!==0&&this.#c.add(i),Ys(i));var m=i.first;if(m!==null){i=m;continue}}for(;i!==null;){var v=i.next;if(v!==null){i=v;break}i=i.parent}}}#w(){for(var s=this.#e;s!==null;){if(!s.is_fork){for(const[t,[,a]]of this.current)if(s.current.has(t)&&!a)return s}s=s.#e}return null}#v(s){for(const[a,i]of s.current)!this.previous.has(a)&&s.previous.has(a)&&this.previous.set(a,s.previous.get(a)),this.current.set(a,i);for(const[a,i]of s.async_deriveds){const n=this.async_deriveds.get(a);n&&i.promise.then(n.resolve).catch(n.reject)}s.async_deriveds.clear(),this.transfer_effects(s.#f,s.#c);const t=a=>{var i=a.reactions;if(i!==null&&!((a.f&Ne)!==0&&(a.f&(Le|us))===0))for(const l of i){var n=l.f;if((n&Ne)!==0)t(l);else{var o=l;n&(Gs|ls)&&!this.async_deriveds.has(o)&&(this.#c.delete(o),De(o,Le),this.schedule(o))}}};for(const a of this.current.keys())t(a);this.oncommit(()=>s.discard()),s.#b(),we=this,this.#y()}#h(s){for(var t=0;t<s.length;t+=1)tn(s[t],this.#f,this.#c)}capture(s,t,a=!1){s.v!==Be&&!this.previous.has(s)&&this.previous.set(s,s.v),(s.f&ks)===0&&(this.current.set(s,[t,a]),os?.set(s,t)),this.is_fork||(s.v=t)}activate(){we=this}deactivate(){we=null,os=null}flush(){try{Gt=!0,we=this,this.#y()}finally{Sa=0,ta=null,Us=null,xt=null,Gt=!1,we=null,os=null,Ls.clear()}}discard(){for(const s of this.#i)s(this);this.#i.clear();for(const s of this.async_deriveds.values())s.reject(lt);this.#b(),this.#r?.resolve()}register_created_effect(s){this.#d.push(s)}#T(){for(let h=jt;h!==null;h=h.#t){var s=h.id<this.id,t=[];for(const[d,[c,g]]of this.current){if(h.current.has(d)){var a=h.current.get(d)[0];if(s&&c!==a)h.current.set(d,[c,g]);else continue}t.push(d)}if(s)for(const[d,c]of this.async_deriveds){const g=h.async_deriveds.get(d);g&&c.promise.then(g.resolve).catch(g.reject)}var i=[...h.current.keys()].filter(d=>!h.current.get(d)[1]);if(!(!h.#s||i.length===0)){var n=i.filter(d=>!this.current.has(d));if(n.length===0)s&&h.discard();else if(t.length>0){if(s)for(const d of this.#u)h.unskip_effect(d,c=>{(c.f&(ls|Gs))!==0?h.schedule(c):h.#h([c])});h.activate();var o=new Set,l=new Map;for(var r of t)rn(r,n,o,l);l=new Map;var m=[...h.current].filter(([d,c])=>{const g=this.current.get(d);return g?g[0]!==c[0]||g[1]!==c[1]:!0}).map(([d])=>d);if(m.length>0)for(const d of this.#d)(d.f&(as|je|It))===0&&fa(d,m,l)&&((d.f&(Gs|ls))!==0?(De(d,Le),h.schedule(d)):h.#f.add(d));if(h.#n.length>0&&!h.#m){h.apply();for(var v of h.#n)h.#C(v,[],[]);h.#n=[]}h.deactivate()}}}}increment(s,t){if(this.#l+=1,s){let a=this.#a.get(t)??0;this.#a.set(t,a+1)}}decrement(s,t){if(this.#l-=1,s){let a=this.#a.get(t)??0;a===1?this.#a.delete(t):this.#a.set(t,a-1)}this.#m||(this.#m=!0,Ss(()=>{this.#m=!1,this.linked&&this.flush()}))}transfer_effects(s,t){for(const a of s)this.#f.add(a);for(const a of t)this.#c.add(a);s.clear(),t.clear()}oncommit(s){this.#o.add(s)}ondiscard(s){this.#i.add(s)}settled(){return(this.#r??=Ka()).promise}static ensure(){if(we===null){const s=we=new Es;!Gt&&!ct&&Ss(()=>{s.#s||s.flush()})}return we}apply(){{os=null;return}}schedule(s){if(ta=s,s.b?.is_pending&&(s.f&(Ks|Wt|Va))!==0&&(s.f&Xs)===0){s.b.defer_effect(s);return}for(var t=s;t.parent!==null;){t=t.parent;var a=t.f;if(Us!==null&&t===Se&&(ke===null||(ke.f&Ne)===0))return;if((a&(bs|ns))!==0){if((a&ze)===0)return;t.f^=ze}}this.#n.push(t)}#b(){if(this.linked){var s=this.#e,t=this.#t;s===null?jt=t:s.#t=t,t===null?Ws=s:t.#e=s,this.linked=!1}}}function Ui(e){var s=ct;ct=!0;try{for(var t;;){if(_i(),we===null)return t;we.flush()}}finally{ct=s}}function Hi(){try{yi()}catch(e){Fs(e,ta)}}let ds=null;function _a(e){var s=e.length;if(s!==0){for(var t=0;t<s;){var a=e[t++];if((a.f&(as|je))===0&&vt(a)&&(ds=new Set,Ys(a),a.deps===null&&a.first===null&&a.nodes===null&&a.teardown===null&&a.ac===null&&Tn(a),ds?.size>0)){Ls.clear();for(const i of ds){if((i.f&(as|je))!==0)continue;const n=[i];let o=i.parent;for(;o!==null;)ds.has(o)&&(ds.delete(o),n.push(o)),o=o.parent;for(let l=n.length-1;l>=0;l--){const r=n[l];(r.f&(as|je))===0&&Ys(r)}}ds.clear()}}ds=null}}function rn(e,s,t,a){if(!t.has(e)&&(t.add(e),e.reactions!==null))for(const i of e.reactions){const n=i.f;(n&Ne)!==0?rn(i,s,t,a):(n&(Gs|ls))!==0&&(n&Le)===0&&fa(i,s,a)&&(De(i,Le),pa(i))}}function fa(e,s,t){const a=t.get(e);if(a!==void 0)return a;if(e.deps!==null)for(const i of e.deps){if(Rt.call(s,i))return!0;if((i.f&Ne)!==0&&fa(i,s,t))return t.set(i,!0),!0}return t.set(e,!1),!1}function pa(e){we.schedule(e)}function un(e,s){if(!((e.f&ns)!==0&&(e.f&ze)!==0)){(e.f&Le)!==0?s.d.push(e):(e.f&us)!==0&&s.m.push(e),De(e,ze);for(var t=e.first;t!==null;)un(t,s),t=t.next}}function cn(e){De(e,ze);for(var s=e.first;s!==null;)cn(s),s=s.next}let Bt=new Set;const Ls=new Map;let mn=!1;function Ns(e,s){var t={f:0,v:e,reactions:null,equals:Ya,rv:0,wv:0};return t}function Fe(e,s){const t=Ns(e);return An(t),t}function ji(e,s=!1,t=!0){const a=Ns(e);return s||(a.equals=Xa),a}function te(e,s,t=!1){ke!==null&&(!rs||(ke.f&It)!==0)&&Qa()&&(ke.f&(Ne|ls|Gs|It))!==0&&(fs===null||!fs.has(e))&&Ti();let a=t?Oe(s):s;return Js(e,a,xt)}function Js(e,s,t=null){if(!e.equals(s)){Ls.set(e,Ps?s:e.v);var a=Es.ensure();if(a.capture(e,s),(e.f&Ne)!==0){const i=e;(e.f&Le)!==0&&ma(i),os===null&&ua(i)}e.wv=kn(),fn(e,Le,t),Se!==null&&(Se.f&ze)!==0&&(Se.f&(ns|bs))===0&&(Qe===null?tl([e]):Qe.push(e)),!a.is_fork&&Bt.size>0&&!mn&&Gi()}return s}function Gi(){mn=!1;for(const e of Bt){(e.f&ze)!==0&&De(e,us);let s;try{s=vt(e)}catch{s=!0}s&&Ys(e)}Bt.clear()}function mt(e){te(e,e.v+1)}function fn(e,s,t){var a=e.reactions;if(a!==null)for(var i=a.length,n=0;n<i;n++){var o=a[n],l=o.f,r=(l&Le)===0;if(r&&De(o,s),(l&It)!==0)Bt.add(o);else if((l&Ne)!==0){var m=o;os?.delete(m),(l&zs)===0&&(l&ts&&(Se===null||(Se.f&Dt)===0)&&(o.f|=zs),fn(m,us,t))}else if(r){var v=o;(l&ls)!==0&&ds!==null&&ds.add(v),t!==null?t.push(v):pa(v)}}}function Oe(e){if(typeof e!="object"||e===null||Zs in e)return e;const s=Za(e);if(s!==li&&s!==oi)return e;var t=new Map,a=ra(e),i=Fe(0),n=Ms,o=l=>{if(Ms===n)return l();var r=ke,m=Ms;is(null),Pa(n);var v=l();return is(r),Pa(m),v};return a&&t.set("length",Fe(e.length)),new Proxy(e,{defineProperty(l,r,m){(!("value"in m)||m.configurable===!1||m.enumerable===!1||m.writable===!1)&&gi();var v=t.get(r);return v===void 0?o(()=>{var h=Fe(m.value);return t.set(r,h),h}):te(v,m.value,!0),!0},deleteProperty(l,r){var m=t.get(r);if(m===void 0){if(r in l){const v=o(()=>Fe(Be));t.set(r,v),mt(i)}}else te(m,Be),mt(i);return!0},get(l,r,m){if(r===Zs)return e;var v=t.get(r),h=r in l;if(v===void 0&&(!h||ut(l,r)?.writable)&&(v=o(()=>{var c=Oe(h?l[r]:Be),g=Fe(c);return g}),t.set(r,v)),v!==void 0){var d=A(v);return d===Be?void 0:d}return Reflect.get(l,r,m)},getOwnPropertyDescriptor(l,r){var m=Reflect.getOwnPropertyDescriptor(l,r);if(m&&"value"in m){var v=t.get(r);v&&(m.value=A(v))}else if(m===void 0){var h=t.get(r),d=h?.v;if(h!==void 0&&d!==Be)return{enumerable:!0,configurable:!0,value:d,writable:!0}}return m},has(l,r){if(r===Zs)return!0;var m=t.get(r),v=m!==void 0&&m.v!==Be||Reflect.has(l,r);if(m!==void 0||Se!==null&&(!v||ut(l,r)?.writable)){m===void 0&&(m=o(()=>{var d=v?Oe(l[r]):Be,c=Fe(d);return c}),t.set(r,m));var h=A(m);if(h===Be)return!1}return v},set(l,r,m,v){var h=t.get(r),d=r in l;if(a&&r==="length")for(var c=m;c<h.v;c+=1){var g=t.get(c+"");g!==void 0?te(g,Be):c in l&&(g=o(()=>Fe(Be)),t.set(c+"",g))}if(h===void 0)(!d||ut(l,r)?.writable)&&(h=o(()=>Fe(void 0)),te(h,Oe(m)),t.set(r,h));else{d=h.v!==Be;var p=o(()=>Oe(m));te(h,p)}var b=Reflect.getOwnPropertyDescriptor(l,r);if(b?.set&&b.set.call(v,m),!d){if(a&&typeof r=="string"){var y=t.get("length"),w=Number(r);Number.isInteger(w)&&w>=y.v&&te(y,w+1)}mt(i)}return!0},ownKeys(l){A(i);var r=Reflect.ownKeys(l).filter(h=>{var d=t.get(h);return d===void 0||d.v!==Be});for(var[m,v]of t)v.v!==Be&&!(m in l)&&r.push(m);return r},setPrototypeOf(){vi()}})}function xa(e){try{if(e!==null&&typeof e=="object"&&Zs in e)return e[Zs]}catch{}return e}function Zi(e,s){return Object.is(xa(e),xa(s))}var dt,pn,dn,hn;function Ki(){if(dt===void 0){dt=window,pn=/Firefox/.test(navigator.userAgent);var e=Element.prototype,s=Node.prototype,t=Text.prototype;dn=ut(s,"firstChild").get,hn=ut(s,"nextSibling").get,Fa(e)&&(e[Qt]=void 0,e[Ja]=null,e[$t]=void 0,e.__e=void 0),Fa(t)&&(t[ea]=void 0)}}function _s(e=""){return document.createTextNode(e)}function Mt(e){return dn.call(e)}function gt(e){return hn.call(e)}function B(e,s){return Mt(e)}function ss(e,s=!1){{var t=Mt(e);return t instanceof Comment&&t.data===""?gt(t):t}}function L(e,s=1,t=!1){let a=e;for(;s--;)a=gt(a);return a}function qi(e){e.textContent=""}function bn(){return!1}function Vi(e,s,t){return t?document.createElement(e,{is:t}):document.createElement(e)}function Ji(e){Se===null&&(ke===null&&bi(),hi()),Ps&&di()}function Yi(e,s){var t=s.last;t===null?s.last=s.first=e:(t.next=e,e.prev=t,s.last=e)}function vs(e,s){var t=Se;t!==null&&(t.f&je)!==0&&(e|=je);var a={ctx:Ge,deps:null,nodes:null,f:e|Le|ts,first:null,fn:s,last:null,next:null,parent:t,b:t&&t.b,prev:null,teardown:null,wv:0,ac:null};we?.register_created_effect(a);var i=a;if((e&Ks)!==0)Us!==null?Us.push(a):Es.ensure().schedule(a);else if(s!==null){try{Ys(a)}catch(o){throw qe(a),o}i.deps===null&&i.teardown===null&&i.nodes===null&&i.first===i.last&&(i.f&Qs)===0&&(i=i.first,(e&ls)!==0&&(e&qs)!==0&&i!==null&&(i.f|=qs))}if(i!==null&&(i.parent=t,t!==null&&Yi(i,t),ke!==null&&(ke.f&Ne)!==0&&(e&bs)===0)){var n=ke;(n.effects??=[]).push(i)}return a}function da(){return ke!==null&&!rs}function ha(e){const s=vs(Wt,null);return De(s,ze),s.teardown=e,s}function Xi(e){Ji();var s=Se.f,t=!ke&&(s&ns)!==0&&Ge!==null&&!Ge.i;if(t){var a=Ge;(a.e??=[]).push(e)}else return yn(e)}function yn(e){return vs(Ks|mi,e)}function Qi(e){Es.ensure();const s=vs(bs|Qs,e);return(t={})=>new Promise(a=>{t.outro?Bs(s,()=>{qe(s),a(void 0)}):(qe(s),a(void 0))})}function gn(e){return vs(Ks,e)}function $i(e){return vs(Gs|Qs,e)}function ba(e,s=0){return vs(Wt|s,e)}function _e(e,s=[],t=[],a=[]){Li(a,s,t,i=>{vs(Wt,()=>{e(...i.map(A))})})}function ya(e,s=0){var t=vs(ls|s,e);return t}function $e(e){return vs(ns|Qs,e)}function vn(e){var s=e.teardown;if(s!==null){const t=Ps,a=ke;Ea(!0),is(null);try{s.call(null)}finally{Ea(t),is(a)}}}function ga(e,s=!1){var t=e.first;for(e.first=e.last=null;t!==null;){const i=t.ac;i!==null&&$s(()=>{i.abort(yt)});var a=t.next;(t.f&bs)!==0?t.parent=null:qe(t,s),t=a}}function el(e){for(var s=e.first;s!==null;){var t=s.next;(s.f&ns)===0&&qe(s),s=t}}function qe(e,s=!0){var t=!1;(s||(e.f&ci)!==0)&&e.nodes!==null&&e.nodes.end!==null&&(sl(e.nodes.start,e.nodes.end),t=!0),e.f|=Xt,ga(e,s&&!t),ht(e,0);var a=e.nodes&&e.nodes.t;if(a!==null)for(const n of a)n.stop();vn(e),e.f^=Xt,e.f|=as;var i=e.parent;i!==null&&i.first!==null&&Tn(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function sl(e,s){for(;e!==null;){var t=e===s?null:gt(e);e.remove(),e=t}}function Tn(e){var s=e.parent,t=e.prev,a=e.next;t!==null&&(t.next=a),a!==null&&(a.prev=t),s!==null&&(s.first===e&&(s.first=a),s.last===e&&(s.last=t))}function Bs(e,s,t=!0){var a=[];Cn(e,a,!0);var i=()=>{t&&qe(e),s&&s()},n=a.length;if(n>0){var o=()=>--n||i();for(var l of a)l.out(o)}else i()}function Cn(e,s,t){if((e.f&je)===0){e.f^=je;var a=e.nodes&&e.nodes.t;if(a!==null)for(const l of a)(l.is_global||t)&&s.push(l);for(var i=e.first;i!==null;){var n=i.next;if((i.f&bs)===0){var o=(i.f&qs)!==0||(i.f&ns)!==0&&(e.f&ls)!==0;Cn(i,s,o?t:!1)}i=n}}}function Ot(e){wn(e,!0)}function wn(e,s){if((e.f&je)!==0){e.f^=je,(e.f&ze)===0&&(De(e,Le),Es.ensure().schedule(e));for(var t=e.first;t!==null;){var a=t.next,i=(t.f&qs)!==0||(t.f&ns)!==0;wn(t,i?s:!1),t=a}var n=e.nodes&&e.nodes.t;if(n!==null)for(const o of n)(o.is_global||s)&&o.in()}}function va(e,s){if(e.nodes)for(var t=e.nodes.start,a=e.nodes.end;t!==null;){var i=t===a?null:gt(t);s.append(t),t=i}}let Et=!1,Ps=!1;function Ea(e){Ps=e}let ke=null,rs=!1;function is(e){ke=e}let Se=null;function ps(e){Se=e}let fs=null;function An(e){ke!==null&&(fs??=new Set).add(e)}let Ke=null,Ve=0,Qe=null;function tl(e){Qe=e}let Fn=1,Ds=0,Ms=Ds;function Pa(e){Ms=e}function kn(){return++Fn}function vt(e){var s=e.f;if((s&Le)!==0)return!0;if(s&Ne&&(e.f&=~zs),(s&us)!==0){for(var t=e.deps,a=t.length,i=0;i<a;i++){var n=t[i];if(vt(n)&&ln(n),n.wv>e.wv)return!0}(s&ts)!==0&&os===null&&De(e,ze)}return!1}function Sn(e,s,t=!0){var a=e.reactions;if(a!==null&&!(fs!==null&&fs.has(e)))for(var i=0;i<a.length;i++){var n=a[i];(n.f&Ne)!==0?Sn(n,s,!1):s===n&&(t?De(n,Le):(n.f&ze)!==0&&De(n,us),pa(n))}}function _n(e){var s=Ke,t=Ve,a=Qe,i=ke,n=fs,o=Ge,l=rs,r=Ms,m=e.f;Ke=null,Ve=0,Qe=null,ke=(m&(ns|bs))===0?e:null,fs=null,Vs(e.ctx),rs=!1,Ms=++Ds,e.ac!==null&&($s(()=>{e.ac.abort(yt)}),e.ac=null);try{e.f|=Dt;var v=e.fn,h=v();e.f|=Xs;var d=e.deps,c=we?.is_fork;if(Ke!==null){var g;if(c||ht(e,Ve),d!==null&&Ve>0)for(d.length=Ve+Ke.length,g=0;g<Ke.length;g++)d[Ve+g]=Ke[g];else e.deps=d=Ke;if(da()&&(e.f&ts)!==0)for(g=Ve;g<d.length;g++)(d[g].reactions??=[]).push(e)}else!c&&d!==null&&Ve<d.length&&(ht(e,Ve),d.length=Ve);if(Qa()&&Qe!==null&&!rs&&d!==null&&(e.f&(Ne|us|Le))===0)for(g=0;g<Qe.length;g++)Sn(Qe[g],e);if(i!==null&&i!==e){if(Ds++,i.deps!==null)for(let p=0;p<t;p+=1)i.deps[p].rv=Ds;if(s!==null)for(const p of s)p.rv=Ds;Qe!==null&&(a===null?a=Qe:a.push(...Qe))}return(e.f&ks)!==0&&(e.f^=ks),h}catch(p){return en(p)}finally{e.f^=Dt,Ke=s,Ve=t,Qe=a,ke=i,fs=n,Vs(o),rs=l,Ms=r}}function al(e,s){let t=s.reactions;if(t!==null){var a=ai.call(t,e);if(a!==-1){var i=t.length-1;i===0?t=s.reactions=null:(t[a]=t[i],t.pop())}}if(t===null&&(s.f&Ne)!==0&&(Ke===null||!Rt.call(Ke,s))){var n=s;(n.f&ts)!==0&&(n.f^=ts,n.f&=~zs),n.v!==Be&&ua(n),n.ac!==null&&$s(()=>{n.ac.abort(yt),n.ac=null,De(n,Le)}),Ni(n),ht(n,0)}}function ht(e,s){var t=e.deps;if(t!==null)for(var a=s;a<t.length;a++)al(e,t[a])}function Ys(e){var s=e.f;if((s&as)===0){De(e,ze);var t=Se,a=Et;Se=e,Et=(s&(ns|bs))===0;try{(s&(ls|Va))!==0?el(e):ga(e),vn(e);var i=_n(e);e.teardown=typeof i=="function"?i:null,e.wv=Fn;var n;Ga&&Si&&(e.f&Le)!==0&&e.deps}finally{Et=a,Se=t}}}async function nl(){await Promise.resolve(),Ui()}function A(e){var s=e.f,t=(s&Ne)!==0;if(ke!==null&&!rs){var a=Se!==null&&(Se.f&as)!==0;if(!a&&(fs===null||!fs.has(e))){var i=ke.deps;if((ke.f&Dt)!==0)e.rv<Ds&&(e.rv=Ds,Ke===null&&i!==null&&i[Ve]===e?Ve++:Ke===null?Ke=[e]:Ke.push(e));else{ke.deps??=[],Rt.call(ke.deps,e)||ke.deps.push(e);var n=e.reactions;n===null?e.reactions=[ke]:Rt.call(n,ke)||n.push(ke)}}}if(Ps&&Ls.has(e))return Ls.get(e);if(t){var o=e;if(Ps){var l=o.v;return((o.f&ze)===0&&o.reactions!==null||En(o))&&(l=ma(o)),Ls.set(o,l),l}var r=(o.f&ts)===0&&!rs&&ke!==null&&(Et||(ke.f&ts)!==0),m=(o.f&Xs)===0;vt(o)&&(r&&(o.f|=ts),ln(o)),r&&!m&&(on(o),xn(o))}if(os?.has(e))return os.get(e);if((e.f&ks)!==0)throw e.v;return e.v}function xn(e){if(e.f|=ts,e.deps!==null)for(const s of e.deps)(s.reactions??=[]).push(e),(s.f&Ne)!==0&&(s.f&ts)===0&&(on(s),xn(s))}function En(e){if(e.v===Be)return!0;if(e.deps===null)return!1;for(const s of e.deps)if(Ls.has(s)||(s.f&Ne)!==0&&En(s))return!0;return!1}function Je(e){var s=rs;try{return rs=!0,e()}finally{rs=s}}const ot=Symbol("events"),Pn=new Set,aa=new Set;function il(e,s,t,a={}){function i(n){if(a.capture||na.call(s,n),!n.cancelBubble)return $s(()=>t?.call(this,n))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?Ss(()=>{s.addEventListener(e,i,a)}):s.addEventListener(e,i,a),i}function xs(e,s,t,a,i){var n={capture:a,passive:i},o=il(e,s,t,n);(s===document.body||s===window||s===document||s instanceof HTMLMediaElement)&&ha(()=>{s.removeEventListener(e,o,n)})}function le(e,s,t){(s[ot]??={})[e]=t}function Rs(e){for(var s=0;s<e.length;s++)Pn.add(e[s]);for(var t of aa)t(e)}let Ra=null;function na(e){var s=this,t=s.ownerDocument,a=e.type,i=e.composedPath?.()||[],n=i[0]||e.target;Ra=e;var o=0,l=Ra===e&&e[ot];if(l){var r=i.indexOf(l);if(r!==-1&&(s===document||s===window)){e[ot]=s;return}var m=i.indexOf(s);if(m===-1)return;r<=m&&(o=r)}if(n=i[o]||e.target,n!==s){ni(e,"currentTarget",{configurable:!0,get(){return n||t}});var v=ke,h=Se;is(null),ps(null);try{for(var d,c=[];n!==null&&n!==s;){try{var g=n[ot]?.[a];g!=null&&(!n.disabled||e.target===n)&&g.call(n,e)}catch(p){d?c.push(p):d=p}if(e.cancelBubble)break;o++,n=o<i.length?i[o]:null}if(d){for(let p of c)queueMicrotask(()=>{throw p});throw d}}finally{e[ot]=s,delete e.currentTarget,is(v),ps(h)}}}const ll=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:e=>e});function ol(e){return ll?.createHTML(e)??e}function rl(e){var s=Vi("template");return s.innerHTML=ol(e.replaceAll("<!>","\x3C!---->")),s.content}function ia(e,s){var t=Se;t.nodes===null&&(t.nodes={start:e,end:s,a:null,t:null})}function ue(e,s){var t=(s&ei)!==0,a=(s&si)!==0,i,n=!e.startsWith("<!>");return()=>{i===void 0&&(i=rl(n?e:"<!>"+e),t||(i=Mt(i)));var o=a||pn?document.importNode(i,!0):i.cloneNode(!0);if(t){var l=Mt(o),r=o.lastChild;ia(l,r)}else ia(o,o);return o}}function ul(){var e=document.createDocumentFragment(),s=document.createComment(""),t=_s();return e.append(s,t),ia(s,t),e}function oe(e,s){e!==null&&e.before(s)}const cl=["touchstart","touchmove"];function ml(e){return cl.includes(e)}function pe(e,s){var t=s==null?"":typeof s=="object"?`${s}`:s;t!==(e[ea]??=e.nodeValue)&&(e[ea]=t,e.nodeValue=`${t}`)}function fl(e,s){return pl(e,s)}const Ct=new Map;function pl(e,{target:s,anchor:t,props:a={},events:i,context:n,intro:o=!0,transformError:l}){Ki();var r=void 0,m=Qi(()=>{var v=t??s.appendChild(_s());Ii(v,{pending:()=>{}},c=>{ys({});var g=Ge;n&&(g.c=n),i&&(a.$$events=i),r=e(c,a)||{},gs()},l);var h=new Set,d=c=>{for(var g=0;g<c.length;g++){var p=c[g];if(!h.has(p)){h.add(p);var b=ml(p);for(const F of[s,document]){var y=Ct.get(F);y===void 0&&(y=new Map,Ct.set(F,y));var w=y.get(p);w===void 0?(F.addEventListener(p,na,{passive:b}),y.set(p,1)):y.set(p,w+1)}}}};return d(Nt(Pn)),aa.add(d),()=>{for(var c of h)for(const b of[s,document]){var g=Ct.get(b),p=g.get(c);--p==0?(b.removeEventListener(c,na),g.delete(c),g.size===0&&Ct.delete(b)):g.set(c,p)}aa.delete(d),v!==t&&v.parentNode?.removeChild(v)}});return dl.set(r,m),r}let dl=new WeakMap;class hl{anchor;#s=new Map;#e=new Map;#t=new Map;#o=new Set;#i=!0;constructor(s,t=!0){this.anchor=s,this.#i=t}#l=s=>{if(this.#s.has(s)){var t=this.#s.get(s),a=this.#e.get(t);if(a)Ot(a),this.#o.delete(t);else{var i=this.#t.get(t);i&&(Ot(i.effect),this.#e.set(t,i.effect),this.#t.delete(t),i.fragment.lastChild.remove(),this.anchor.before(i.fragment),a=i.effect)}for(const[n,o]of this.#s){if(this.#s.delete(n),n===s)break;const l=this.#t.get(o);l&&(qe(l.effect),this.#t.delete(o))}for(const[n,o]of this.#e){if(n===t||this.#o.has(n))continue;const l=()=>{if(Array.from(this.#s.values()).includes(n)){var m=document.createDocumentFragment();va(o,m),m.append(_s()),this.#t.set(n,{effect:o,fragment:m})}else qe(o);this.#o.delete(n),this.#e.delete(n)};this.#i||!a?(this.#o.add(n),Bs(o,l,!1)):l()}}};#a=s=>{this.#s.delete(s);const t=Array.from(this.#s.values());for(const[a,i]of this.#t)t.includes(a)||(qe(i.effect),this.#t.delete(a))};ensure(s,t){var a=we,i=bn();if(t&&!this.#e.has(s)&&!this.#t.has(s))if(i){var n=document.createDocumentFragment(),o=_s();n.append(o),this.#t.set(s,{effect:$e(()=>t(o)),fragment:n})}else this.#e.set(s,$e(()=>t(this.anchor)));if(this.#s.set(a,s),i){for(const[l,r]of this.#e)l===s?a.unskip_effect(r):a.skip_effect(r);for(const[l,r]of this.#t)l===s?a.unskip_effect(r.effect):a.skip_effect(r.effect);a.oncommit(this.#l),a.ondiscard(this.#a)}else this.#l(a)}}function Ae(e,s,t=!1){var a=new hl(e),i=t?qs:0;function n(o,l){a.ensure(o,l)}ya(()=>{var o=!1;s((l,r=0)=>{o=!0,n(r,l)}),o||n(-1,null)},i)}function es(e,s){return s}function bl(e,s,t){for(var a=[],i=s.length,n,o=s.length,l=0;l<i;l++){let h=s[l];Bs(h,()=>{if(n){if(n.pending.delete(h),n.done.add(h),n.pending.size===0){var d=e.outrogroups;la(e,Nt(n.done)),d.delete(n),d.size===0&&(e.outrogroups=null)}}else o-=1},!1)}if(o===0){var r=a.length===0&&t!==null;if(r){var m=t,v=m.parentNode;qi(v),v.append(m),e.items.clear()}la(e,s,!r)}else n={pending:new Set(s),done:new Set},(e.outrogroups??=new Set).add(n)}function la(e,s,t=!0){var a;if(e.pending.size>0){a=new Set;for(const o of e.pending.values())for(const l of o)a.add(e.items.get(l).e)}for(var i=0;i<s.length;i++){var n=s[i];if(a?.has(n)){n.f|=ms;const o=document.createDocumentFragment();va(n,o)}else qe(s[i],t)}}var Ia;function He(e,s,t,a,i,n=null){var o=e,l=new Map,r=(s&ja)!==0;if(r){var m=e;o=m.appendChild(_s())}var v=null,h=Oi(()=>{var F=t();return ra(F)?F:F==null?[]:Nt(F)}),d,c=new Map,g=!0;function p(F){(w.effect.f&as)===0&&(w.pending.delete(F),w.fallback=v,yl(w,d,o,s,a),v!==null&&(d.length===0?(v.f&ms)===0?Ot(v):(v.f^=ms,rt(v,null,o)):Bs(v,()=>{v=null})))}function b(F){w.pending.delete(F)}var y=ya(()=>{d=A(h);for(var F=d.length,P=new Set,_=we,N=bn(),I=0;I<F;I+=1){var H=d[I],O=a(H,I),q=g?null:l.get(O);q?(q.v&&Js(q.v,H),q.i&&Js(q.i,I),N&&_.unskip_effect(q.e)):(q=gl(l,g?o:Ia??=_s(),H,O,I,i,s,t),g||(q.e.f|=ms),l.set(O,q)),P.add(O)}if(F===0&&n&&!v&&(g?v=$e(()=>n(o)):(v=$e(()=>n(Ia??=_s())),v.f|=ms)),F>P.size&&pi(),!g)if(c.set(_,P),N){for(const[se,k]of l)P.has(se)||_.skip_effect(k.e);_.oncommit(p),_.ondiscard(b)}else p(_);A(h)}),w={effect:y,items:l,pending:c,outrogroups:null,fallback:v};g=!1}function it(e){for(;e!==null&&(e.f&ns)===0;)e=e.next;return e}function yl(e,s,t,a,i){var n=(a&Qn)!==0,o=s.length,l=e.items,r=it(e.effect.first),m,v=null,h,d=[],c=[],g,p,b,y;if(n)for(y=0;y<o;y+=1)g=s[y],p=i(g,y),b=l.get(p).e,(b.f&ms)===0&&(b.nodes?.a?.measure(),(h??=new Set).add(b));for(y=0;y<o;y+=1){if(g=s[y],p=i(g,y),b=l.get(p).e,e.outrogroups!==null)for(const q of e.outrogroups)q.pending.delete(b),q.done.delete(b);if((b.f&je)!==0&&(Ot(b),n&&(b.nodes?.a?.unfix(),(h??=new Set).delete(b))),(b.f&ms)!==0)if(b.f^=ms,b===r)rt(b,null,t);else{var w=v?v.next:r;b===e.effect.last&&(e.effect.last=b.prev),b.prev&&(b.prev.next=b.next),b.next&&(b.next.prev=b.prev),ws(e,v,b),ws(e,b,w),rt(b,w,t),v=b,d=[],c=[],r=it(v.next);continue}if(b!==r){if(m!==void 0&&m.has(b)){if(d.length<c.length){var F=c[0],P;v=F.prev;var _=d[0],N=d[d.length-1];for(P=0;P<d.length;P+=1)rt(d[P],F,t);for(P=0;P<c.length;P+=1)m.delete(c[P]);ws(e,_.prev,N.next),ws(e,v,_),ws(e,N,F),r=F,v=N,y-=1,d=[],c=[]}else m.delete(b),rt(b,r,t),ws(e,b.prev,b.next),ws(e,b,v===null?e.effect.first:v.next),ws(e,v,b),v=b;continue}for(d=[],c=[];r!==null&&r!==b;)(m??=new Set).add(r),c.push(r),r=it(r.next);if(r===null)continue}(b.f&ms)===0&&d.push(b),v=b,r=it(b.next)}if(e.outrogroups!==null){for(const q of e.outrogroups)q.pending.size===0&&(la(e,Nt(q.done)),e.outrogroups?.delete(q));e.outrogroups.size===0&&(e.outrogroups=null)}if(r!==null||m!==void 0){var I=[];if(m!==void 0)for(b of m)(b.f&je)===0&&I.push(b);for(;r!==null;)(r.f&je)===0&&r!==e.fallback&&I.push(r),r=it(r.next);var H=I.length;if(H>0){var O=(a&ja)!==0&&o===0?t:null;if(n){for(y=0;y<H;y+=1)I[y].nodes?.a?.measure();for(y=0;y<H;y+=1)I[y].nodes?.a?.fix()}bl(e,I,O)}}n&&Ss(()=>{if(h!==void 0)for(b of h)b.nodes?.a?.apply()})}function gl(e,s,t,a,i,n,o,l){var r=(o&Yn)!==0?(o&$n)===0?ji(t,!1,!1):Ns(t):null,m=(o&Xn)!==0?Ns(i):null;return{v:r,i:m,e:$e(()=>(n(s,r??t,m??i,l),()=>{e.delete(a)}))}}function rt(e,s,t){if(e.nodes)for(var a=e.nodes.start,i=e.nodes.end,n=s&&(s.f&ms)===0?s.nodes.start:t;a!==null;){var o=gt(a);if(n.before(a),a===i)return;a=o}}function ws(e,s,t){s===null?e.effect.first=t:s.next=t,t===null?e.effect.last=s:t.prev=s}const Da=[...`
14
+ \r\f \v\uFEFF`];function vl(e,s,t){var a=e==null?"":""+e;if(s&&(a=a?a+" "+s:s),t){for(var i of Object.keys(t))if(t[i])a=a?a+" "+i:i;else if(a.length)for(var n=i.length,o=0;(o=a.indexOf(i,o))>=0;){var l=o+n;(o===0||Da.includes(a[o-1]))&&(l===a.length||Da.includes(a[l]))?a=(o===0?"":a.substring(0,o))+a.substring(l+1):o=l}}return a===""?null:a}function Tl(e,s){return e==null?null:String(e)}function Ie(e,s,t,a,i,n){var o=e[Qt];if(o!==t||o===void 0){var l=vl(t,a,n);l==null?e.removeAttribute("class"):s?e.className=l:e.setAttribute("class",l),e[Qt]=t}else if(n&&i!==n)for(var r in n){var m=!!n[r];(i==null||m!==!!i[r])&&e.classList.toggle(r,m)}return n}function Ta(e,s,t,a){var i=e[$t];if(i!==s){var n=Tl(s);n==null?e.removeAttribute("style"):e.style.cssText=n,e[$t]=s}return a}function Rn(e,s,t=!1){if(e.multiple){if(s==null)return;if(!ra(s))return Ai();for(var a of e.options)a.selected=s.includes(ft(a));return}for(a of e.options){var i=ft(a);if(Zi(i,s)){a.selected=!0;return}}(!t||s!==void 0)&&(e.selectedIndex=-1)}function Cl(e){var s=new MutationObserver(()=>{Rn(e,e.__value)});s.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),ha(()=>{s.disconnect()})}function Hs(e,s,t=s){var a=new WeakSet,i=!0;an(e,"change",n=>{var o=n?"[selected]":":checked",l;if(e.multiple)l=[].map.call(e.querySelectorAll(o),ft);else{var r=e.querySelector(o)??e.querySelector("option:not([disabled])");l=r&&ft(r)}t(l),e.__value=l,we!==null&&a.add(we)}),gn(()=>{var n=s();if(e===document.activeElement){var o=we;if(a.has(o))return}if(Rn(e,n,i),i&&n===void 0){var l=e.querySelector(":checked");l!==null&&(n=ft(l),t(n))}e.__value=n,i=!1}),Cl(e)}function ft(e){return"__value"in e?e.__value:e.value}const wl=Symbol("is custom element"),Al=Symbol("is html");function Fl(e,s,t,a){var i=kl(e);i[s]!==(i[s]=t)&&(t==null?e.removeAttribute(s):typeof t!="string"&&Sl(e).includes(s)?e[s]=t:e.setAttribute(s,t))}function kl(e){return e[Ja]??={[wl]:e.nodeName.includes("-"),[Al]:e.namespaceURI===ti}}var La=new Map;function Sl(e){var s=e.getAttribute("is")||e.nodeName,t=La.get(s);if(t)return t;La.set(s,t=[]);for(var a,i=e,n=Element.prototype;n!==i;){a=ii(i);for(var o in a)a[o].set&&o!=="innerHTML"&&o!=="textContent"&&o!=="innerText"&&t.push(o);i=Za(i)}return t}function Me(e,s,t=s){var a=new WeakSet;an(e,"input",async i=>{var n=i?e.defaultValue:e.value;if(n=Zt(e)?Kt(n):n,t(n),we!==null&&a.add(we),await nl(),n!==(n=s())){var o=e.selectionStart,l=e.selectionEnd,r=e.value.length;if(e.value=n??"",l!==null){var m=e.value.length;o===l&&l===r&&m>r?(e.selectionStart=m,e.selectionEnd=m):(e.selectionStart=o,e.selectionEnd=Math.min(l,m))}}}),Je(s)==null&&e.value&&(t(Zt(e)?Kt(e.value):e.value),we!==null&&a.add(we)),ba(()=>{var i=s();if(e===document.activeElement){var n=we;if(a.has(n))return}Zt(e)&&i===Kt(e.value)||e.type==="date"&&!i&&!e.value||i!==e.value&&(e.value=i??"")})}function Zt(e){var s=e.type;return s==="number"||s==="range"}function Kt(e){return e===""?null:+e}function qt(e,s){return e===s||e?.[Zs]===s}function _l(e={},s,t,a){var i=Ge.r,n=Se;return gn(()=>{var o,l;return ba(()=>{o=l,l=[],Je(()=>{qt(t(...l),e)||(s(e,...l),o&&qt(t(...o),e)&&s(null,...o))})}),()=>{let r=n;for(;r!==i&&r.parent!==null&&r.parent.f&Xt;)r=r.parent;const m=()=>{l&&qt(t(...l),e)&&s(null,...l)},v=r.teardown;r.teardown=()=>{m(),v?.()}}}),e}function Ba(e,s,t,a){var i=a,n=!0,o=()=>(n&&(n=!1,i=a),i),l;l=e[s],l===void 0&&a!==void 0&&(l=o());var r;return r=()=>{var m=e[s];return m===void 0?o():(n=!0,m)},r}const xl=.9144,El=1.60934;function Ca(e){if(!e)return"";const s=Math.floor(e/60),t=e%60;return s>0?t>0?`${s}h ${t}m`:`${s}h`:`${t}m`}function Pl(e,s,t){if(!e)return"";if(s==="swim"){if(t.units.swim==="yards"){const a=e/xl;return`${Math.round(a)}yd`}return`${Math.round(e)}m`}if(s==="bike"||s==="run"){if(t.units[s]==="miles"){const n=e/1e3/El;return n>=10?`${Math.round(n)}mi`:`${n.toFixed(1)}mi`}const i=e/1e3;return i>=10?`${Math.round(i)}km`:`${i.toFixed(1)}km`}return`${Math.round(e)}m`}function Ma(e){return Ut(e).toLocaleDateString("en-US",{weekday:"long",month:"short",day:"numeric"})}function Rl(e){return Ut(e).toLocaleDateString("en-US",{weekday:"long",month:"long",day:"numeric",year:"numeric"})}function Il(e,s,t){if(!s)return"";const a=s.match(/(?:Zone\s*)?(\d)(?:\s*-\s*(\d))?/i);if(!a)return s;const i=parseInt(a[1]),n=a[2]?parseInt(a[2]):i;let o=s;if(e==="run"||e==="bike"){const l=t[e]?.hrZones;if(l&&l[i-1]){const r=l[i-1].low,m=n!==i&&l[n-1]?l[n-1].high:l[i-1].high;o+=` (${r}-${m} bpm)`}}return o}function Dl(e){const s=Math.ceil((new Date(e).getTime()-new Date().getTime())/864e5);return Math.max(0,s)}function Ll(e){return e==="monday"?["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]}function Bl(){return In(new Date)}function In(e){const s=e.getFullYear(),t=String(e.getMonth()+1).padStart(2,"0"),a=String(e.getDate()).padStart(2,"0");return`${s}-${t}-${a}`}function Ut(e){if(!e)return new Date;const s=e.split("-").map(Number),t=s[0]??new Date().getFullYear(),a=s[1]??1,i=s[2]??1;return new Date(t,a-1,i)}function Dn(e){return{swim:"🏊",bike:"🚴",run:"🏃",trailrun:"⛰",strength:"💪",brick:"🔥",race:"🏆",rest:"🛌"}[e]||""}function et(e){return e==="bike"||e==="run"}function Oa(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;")}function hs(e){return e/100}function bt(e,s){switch(s){case"seconds":return e;case"minutes":return e*60;case"hours":return e*3600;default:return e}}function Ml(e){return e==="run"?"run":"bike"}function Ol(e){const s=bt(e.duration?.value??0,e.duration?.unit??"minutes"),t=e.intensity?.value??50,a=hs(e.intensity?.valueLow??t*.6),i=hs(e.intensity?.valueHigh??t);return` <Warmup Duration="${s}" PowerLow="${a.toFixed(2)}" PowerHigh="${i.toFixed(2)}"/>`}function zl(e){const s=bt(e.duration?.value??0,e.duration?.unit??"minutes"),t=e.intensity?.value??50,a=hs(e.intensity?.valueHigh??t),i=hs(e.intensity?.valueLow??t*.5);return` <Cooldown Duration="${s}" PowerLow="${i.toFixed(2)}" PowerHigh="${a.toFixed(2)}"/>`}function Pt(e,s=!1){const t=bt(e.duration?.value??0,e.duration?.unit??"minutes"),a=hs(e.intensity?.value??50);let i="";if(e.cadence&&(i=` Cadence="${e.cadence.low??90}"`,e.cadence.high!==e.cadence.low&&(i=` CadenceLow="${e.cadence.low??90}" CadenceHigh="${e.cadence.high??100}"`)),s&&e.intensity?.valueLow!==void 0&&e.intensity?.valueHigh!==void 0){const n=hs(e.intensity.valueLow),o=hs(e.intensity.valueHigh);return` <Ramp Duration="${t}" PowerLow="${n.toFixed(2)}" PowerHigh="${o.toFixed(2)}"${i}/>`}return` <SteadyState Duration="${t}" Power="${a.toFixed(2)}"${i}/>`}function Nl(e){const s=e.steps??[],t=s.find(m=>m.type==="work"),a=s.find(m=>m.type==="recovery"||m.type==="rest");if(!t)return s.map(m=>Pt(m)).join(`
15
+ `);const i=bt(t.duration?.value??0,t.duration?.unit??"minutes"),n=hs(t.intensity?.value??100),o=a?bt(a.duration?.value??0,a.duration?.unit??"minutes"):60,l=a?hs(a.intensity?.value??50):.5;let r="";return t.cadence&&(r=` Cadence="${t.cadence.low??90}"`),` <IntervalsT Repeat="${e.repeats??1}" OnDuration="${i}" OffDuration="${o}" OnPower="${n.toFixed(2)}" OffPower="${l.toFixed(2)}"${r}/>`}function Wl(e){const s=[];if(e.warmup&&e.warmup.length>0)for(const t of e.warmup)t.type==="warmup"?s.push(Ol(t)):s.push(Pt(t));for(const t of e.main)if("repeats"in t)s.push(Nl(t));else{const a=t;s.push(Pt(a))}if(e.cooldown&&e.cooldown.length>0)for(const t of e.cooldown)t.type==="cooldown"?s.push(zl(t)):s.push(Pt(t));return s}function Ul(e){const s=[],t=e.durationMinutes||60,a=Math.min(15,Math.max(5,Math.round(t*.1)));s.push(` <Warmup Duration="${a*60}" PowerLow="0.40" PowerHigh="0.65"/>`);let i=.65;switch(e.type){case"recovery":i=.55;break;case"endurance":i=.65;break;case"tempo":i=.8;break;case"threshold":i=.95;break;case"vo2max":i=1.1;break;case"intervals":i=.85;break;case"long":i=.65;break}const n=Math.min(10,Math.max(5,Math.round(t*.1))),o=t-a-n;return s.push(` <SteadyState Duration="${o*60}" Power="${i.toFixed(2)}"/>`),s.push(` <Cooldown Duration="${n*60}" PowerLow="0.40" PowerHigh="0.60"/>`),s}function Ln(e,s){if(!et(e.sport))throw new Error(`ZWO export not supported for ${e.sport} workouts`);const t=Ml(e.sport),a=e.structure?Wl(e.structure):Ul(e),i=Oa((e.description||"")+(e.humanReadable?`
16
16
 
17
17
  ${e.humanReadable.replace(/\\n/g,`
18
18
  `)}`:""));return`<?xml version="1.0" encoding="UTF-8"?>
19
19
  <workout_file>
20
20
  <author>Claude Coach</author>
21
- <name>${za(e.name)}</name>
21
+ <name>${Oa(e.name)}</name>
22
22
  <description>${i}</description>
23
23
  <sportType>${t}</sportType>
24
24
  <workout>
25
25
  ${a.join(`
26
26
  `)}
27
27
  </workout>
28
- </workout_file>`}const Ct=[0,52225,55297,5120,61441,15360,10240,58369,40961,27648,30720,46081,20480,39937,34817,17408];class Ot{#s=0;constructor(){}get crc(){return this.#s}#e(s){let t=Ct[this.#s&15];return this.#s=this.#s>>4&4095,this.#s=this.#s^t^Ct[s&15],t=Ct[this.#s&15],this.#s=this.#s>>4&4095,this.#s=this.#s^t^Ct[s>>4&15],this.#s}addBytes(s,t,a){for(let i=t;i<a;i++)this.#s=this.#e(s[i]);return this.#s}static calculateCRC(s,t,a){return new Ot().addBytes(s,t,a)}}const de={ENUM:0,SINT8:1,UINT8:2,SINT16:3,UINT16:4,SINT32:5,UINT32:6,STRING:7,FLOAT32:8,FLOAT64:9,UINT8Z:10,UINT16Z:11,UINT32Z:12,BYTE:13,SINT64:14,UINT64:15,UINT64Z:16},jl=31,Gl={0:{size:1,type:de.ENUM,baseTypeEndianFlag:0,invalid:255},1:{size:1,type:de.SINT8,baseTypeEndianFlag:0,invalid:127},2:{size:1,type:de.UINT8,baseTypeEndianFlag:0,invalid:255},3:{size:2,type:de.SINT16,baseTypeEndianFlag:128,invalid:32767},4:{size:2,type:de.UINT16,baseTypeEndianFlag:128,invalid:65535},5:{size:4,type:de.SINT32,baseTypeEndianFlag:128,invalid:2147483647},6:{size:4,type:de.UINT32,baseTypeEndianFlag:128,invalid:4294967295},7:{size:1,type:de.STRING,baseTypeEndianFlag:0,invalid:0},8:{size:4,type:de.FLOAT32,baseTypeEndianFlag:128,invalid:4294967295},9:{size:8,type:de.FLOAT64,baseTypeEndianFlag:128,invalid:18446744073709552e3},10:{size:1,type:de.UINT8Z,baseTypeEndianFlag:0,invalid:0},11:{size:2,type:de.UINT16Z,baseTypeEndianFlag:128,invalid:0},12:{size:4,type:de.UINT32Z,baseTypeEndianFlag:128,invalid:0},13:{size:1,type:de.BYTE,baseTypeEndianFlag:0,invalid:255},14:{size:8,type:de.SINT64,baseTypeEndianFlag:128,invalid:9223372036854776e3},15:{size:8,type:de.UINT64,baseTypeEndianFlag:128,invalid:18446744073709552e3},16:{size:8,type:de.UINT64Z,baseTypeEndianFlag:128,invalid:0}},Mn=["sint8","uint8","sint16","uint16","sint32","uint32","float32","float64","uint8z","uint16z","uint32z","byte","sint64","uint64","uint64z"],Zl=new Set(Mn),Kl={enum:"number",sint8:"number",uint8:"number",sint16:"number",uint16:"number",sint32:"number",uint32:"number",string:"string",float32:"number",float64:"number",uint8z:"number",uint16z:"number",uint32z:"number",byte:"number",sint64:"bigint",uint64:"bigint",uint64z:"bigint"},ql=["sint64","uint64","uint64z"],Vl=["float32","float64"],Jl={enum:de.UINT8,sint8:de.SINT8,uint8:de.UINT8,sint16:de.SINT16,uint16:de.UINT16,sint32:de.SINT32,uint32:de.UINT32,string:de.STRING,float32:de.FLOAT32,float64:de.FLOAT64,uint8z:de.UINT8Z,uint16z:de.UINT16Z,uint32z:de.UINT32Z,byte:de.BYTE,sint64:de.SINT64,uint64:de.UINT64,uint64z:de.UINT64Z},Yl={[de.ENUM]:"enum",[de.SINT8]:"sint8",[de.UINT8]:"uint8",[de.SINT16]:"sint16",[de.UINT16]:"uint16",[de.SINT32]:"sint32",[de.UINT32]:"uint32",[de.STRING]:"string",[de.FLOAT32]:"float32",[de.FLOAT64]:"float64",[de.UINT8Z]:"uint8z",[de.UINT16Z]:"uint16z",[de.UINT32Z]:"uint32z",[de.BYTE]:"byte",[de.SINT64]:"sint64",[de.UINT64]:"uint64",[de.UINT64Z]:"uint64z"},On=e=>e==null,Xl=e=>typeof e=="object",zn=e=>typeof e=="boolean",Nn=e=>typeof e=="object"&&e instanceof Date,Wn=e=>typeof e=="string",Ql=e=>typeof e=="bigint",Un=e=>{if(typeof e=="number")return!isNaN(e)&&isFinite(e);if(typeof e=="bigint")return!0;const s=parseFloat(e);return!isNaN(s)&&isFinite(s)},$l=e=>!Hn(e),Hn=e=>!(On(e)||!Un(e)&&!Nn(e)&&!Wn(e)&&!zn(e)),ae={BaseType:de,BaseTypeMask:jl,BaseTypeDefinitions:Gl,NumericFieldTypes:Mn,NumericFieldTypesSet:Zl,BigIntFieldTypes:ql,FloatingPointFieldTypes:Vl,FieldTypeToBaseType:Jl,BaseTypeToFieldType:Yl,FieldTypeToJsType:Kl,isNullOrUndefined:On,isObject:Xl,isBoolean:zn,isDate:Nn,isString:Wn,isBigInt:Ql,isNumeric:Un,isNumberStringDateOrBoolean:Hn,isNotNumberStringDateOrBoolean:$l,MAX_FIELD_SIZE:255,FIELD_DEFAULT_SCALE:1,FIELD_DEFAULT_OFFSET:0,MESG_DEFINITION_MASK:64,LOCAL_MESG_NUM_MASK:15,ARCH_LITTLE_ENDIAN:0,DEV_DATA_MASK:32,NULL_TERMINATOR:"\0"},Aa=6310656e5,eo=e=>new Date((e??0)*1e3+Aa),so=e=>(e.getTime()-Aa)/1e3,to={FIT_EPOCH_MS:Aa,convertDateTimeToDate:eo,convertDateToDateTime:so,FitBaseType:ae.BaseType,BaseTypeToFieldType:ae.BaseTypeToFieldType,FieldTypeToBaseType:ae.FieldTypeToBaseType},Os={version:{major:21,minor:208,patch:0,type:"Release"},CommonFields:{PartIndex:250,Timestamp:253,MessageIndex:254},messages:{0:{num:0,name:"fileId",messagesKey:"fileIdMesgs",fields:{0:{num:0,name:"type",type:"file",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"manufacturer",type:"manufacturer",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"product",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"faveroProduct",type:"faveroProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:263}]},{name:"garminProduct",type:"garminProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:1},{name:"manufacturer",value:15},{name:"manufacturer",value:13},{name:"manufacturer",value:89}]}]},3:{num:3,name:"serialNumber",type:"uint32z",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"timeCreated",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"number",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"productName",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},49:{num:49,name:"fileCreator",messagesKey:"fileCreatorMesgs",fields:{0:{num:0,name:"softwareVersion",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"hardwareVersion",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},162:{num:162,name:"timestampCorrelation",messagesKey:"timestampCorrelationMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"fractionalTimestamp",type:"uint16",baseType:"uint16",array:!1,scale:32768,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"systemTimestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"fractionalSystemTimestamp",type:"uint16",baseType:"uint16",array:!1,scale:32768,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"localTimestamp",type:"localDateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"systemTimestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},35:{num:35,name:"software",messagesKey:"softwareMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"version",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"partNumber",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},106:{num:106,name:"slaveDevice",messagesKey:"slaveDeviceMesgs",fields:{0:{num:0,name:"manufacturer",type:"manufacturer",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"product",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"faveroProduct",type:"faveroProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:263}]},{name:"garminProduct",type:"garminProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:1},{name:"manufacturer",value:15},{name:"manufacturer",value:13},{name:"manufacturer",value:89}]}]}}},1:{num:1,name:"capabilities",messagesKey:"capabilitiesMesgs",fields:{0:{num:0,name:"languages",type:"uint8z",baseType:"uint8z",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"sports",type:"sportBits0",baseType:"uint8z",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},21:{num:21,name:"workoutsSupported",type:"workoutCapabilities",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"connectivitySupported",type:"connectivityCapabilities",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},37:{num:37,name:"fileCapabilities",messagesKey:"fileCapabilitiesMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"type",type:"file",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"flags",type:"fileFlags",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"directory",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"maxCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"maxSize",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"bytes",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},38:{num:38,name:"mesgCapabilities",messagesKey:"mesgCapabilitiesMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"file",type:"file",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"mesgNum",type:"mesgNum",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"countType",type:"mesgCount",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"count",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"numPerFile",type:"uint16",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"countType",value:0}]},{name:"maxPerFile",type:"uint16",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"countType",value:1}]},{name:"maxPerFileType",type:"uint16",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"countType",value:2}]}]}}},39:{num:39,name:"fieldCapabilities",messagesKey:"fieldCapabilitiesMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"file",type:"file",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"mesgNum",type:"mesgNum",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"fieldNum",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"count",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},2:{num:2,name:"deviceSettings",messagesKey:"deviceSettingsMesgs",fields:{0:{num:0,name:"activeTimeZone",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"utcOffset",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"timeOffset",type:"uint32",baseType:"uint32",array:!0,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"timeMode",type:"timeMode",baseType:"enum",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"timeZoneOffset",type:"sint8",baseType:"sint8",array:!0,scale:4,offset:0,units:"hr",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"backlightMode",type:"backlightMode",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},36:{num:36,name:"activityTrackerEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},39:{num:39,name:"clockTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},40:{num:40,name:"pagesEnabled",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},46:{num:46,name:"moveAlertEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},47:{num:47,name:"dateMode",type:"dateMode",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},55:{num:55,name:"displayOrientation",type:"displayOrientation",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},56:{num:56,name:"mountingSide",type:"side",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},57:{num:57,name:"defaultPage",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},58:{num:58,name:"autosyncMinSteps",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"steps",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},59:{num:59,name:"autosyncMinTime",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"minutes",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},80:{num:80,name:"lactateThresholdAutodetectEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},86:{num:86,name:"bleAutoUploadEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},89:{num:89,name:"autoSyncFrequency",type:"autoSyncFrequency",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},90:{num:90,name:"autoActivityDetect",type:"autoActivityDetect",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},94:{num:94,name:"numberOfScreens",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},95:{num:95,name:"smartNotificationDisplayOrientation",type:"displayOrientation",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},134:{num:134,name:"tapInterface",type:"switch",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},174:{num:174,name:"tapSensitivity",type:"tapSensitivity",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},3:{num:3,name:"userProfile",messagesKey:"userProfileMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"friendlyName",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"gender",type:"gender",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"age",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"years",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"height",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"weight",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"kg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"language",type:"language",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"elevSetting",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"weightSetting",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"restingHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"defaultMaxRunningHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"defaultMaxBikingHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"defaultMaxHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"hrSetting",type:"displayHeart",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"speedSetting",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"distSetting",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},16:{num:16,name:"powerSetting",type:"displayPower",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},17:{num:17,name:"activityClass",type:"activityClass",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},18:{num:18,name:"positionSetting",type:"displayPosition",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},21:{num:21,name:"temperatureSetting",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"localId",type:"userLocalId",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"globalId",type:"byte",baseType:"byte",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},28:{num:28,name:"wakeTime",type:"localtimeIntoDay",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},29:{num:29,name:"sleepTime",type:"localtimeIntoDay",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},30:{num:30,name:"heightSetting",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},31:{num:31,name:"userRunningStepLength",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},32:{num:32,name:"userWalkingStepLength",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},47:{num:47,name:"depthSetting",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},49:{num:49,name:"diveCount",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},4:{num:4,name:"hrmProfile",messagesKey:"hrmProfileMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"enabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"hrmAntId",type:"uint16z",baseType:"uint16z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"logHrv",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"hrmAntIdTransType",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},5:{num:5,name:"sdmProfile",messagesKey:"sdmProfileMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"enabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"sdmAntId",type:"uint16z",baseType:"uint16z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"sdmCalFactor",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"odometer",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"speedSource",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"sdmAntIdTransType",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"odometerRollover",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},6:{num:6,name:"bikeProfile",messagesKey:"bikeProfileMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"odometer",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"bikeSpdAntId",type:"uint16z",baseType:"uint16z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"bikeCadAntId",type:"uint16z",baseType:"uint16z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"bikeSpdcadAntId",type:"uint16z",baseType:"uint16z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"bikePowerAntId",type:"uint16z",baseType:"uint16z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"customWheelsize",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"autoWheelsize",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"bikeWeight",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"kg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"powerCalFactor",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"autoWheelCal",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"autoPowerZero",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"id",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"spdEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},16:{num:16,name:"cadEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},17:{num:17,name:"spdcadEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},18:{num:18,name:"powerEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},19:{num:19,name:"crankLength",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:-110,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},20:{num:20,name:"enabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},21:{num:21,name:"bikeSpdAntIdTransType",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"bikeCadAntIdTransType",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"bikeSpdcadAntIdTransType",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"bikePowerAntIdTransType",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},37:{num:37,name:"odometerRollover",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},38:{num:38,name:"frontGearNum",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},39:{num:39,name:"frontGear",type:"uint8z",baseType:"uint8z",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},40:{num:40,name:"rearGearNum",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},41:{num:41,name:"rearGear",type:"uint8z",baseType:"uint8z",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},44:{num:44,name:"shimanoDi2Enabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},127:{num:127,name:"connectivity",messagesKey:"connectivityMesgs",fields:{0:{num:0,name:"bluetoothEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"bluetoothLeEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"antEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"liveTrackingEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"weatherConditionsEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"weatherAlertsEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"autoActivityUploadEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"courseDownloadEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"workoutDownloadEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"gpsEphemerisDownloadEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"incidentDetectionEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"grouptrackEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},159:{num:159,name:"watchfaceSettings",messagesKey:"watchfaceSettingsMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"mode",type:"watchfaceMode",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"layout",type:"byte",baseType:"byte",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"digitalLayout",type:"digitalWatchfaceLayout",baseType:"enum",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"mode",value:0}]},{name:"analogLayout",type:"analogWatchfaceLayout",baseType:"enum",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"mode",value:1}]}]}}},188:{num:188,name:"ohrSettings",messagesKey:"ohrSettingsMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"enabled",type:"switch",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},216:{num:216,name:"timeInZone",messagesKey:"timeInZoneMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"referenceMesg",type:"mesgNum",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"referenceIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"timeInHrZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"timeInSpeedZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"timeInCadenceZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"timeInPowerZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"hrZoneHighBoundary",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"speedZoneHighBoundary",type:"uint16",baseType:"uint16",array:!0,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"cadenceZoneHighBondary",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"powerZoneHighBoundary",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"hrCalcType",type:"hrZoneCalc",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"maxHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"restingHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"thresholdHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"pwrCalcType",type:"pwrZoneCalc",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"functionalThresholdPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},7:{num:7,name:"zonesTarget",messagesKey:"zonesTargetMesgs",fields:{1:{num:1,name:"maxHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"thresholdHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"functionalThresholdPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"hrCalcType",type:"hrZoneCalc",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"pwrCalcType",type:"pwrZoneCalc",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},12:{num:12,name:"sport",messagesKey:"sportMesgs",fields:{0:{num:0,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},8:{num:8,name:"hrZone",messagesKey:"hrZoneMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"highBpm",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},53:{num:53,name:"speedZone",messagesKey:"speedZoneMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"highValue",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},131:{num:131,name:"cadenceZone",messagesKey:"cadenceZoneMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"highValue",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},9:{num:9,name:"powerZone",messagesKey:"powerZoneMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"highValue",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},10:{num:10,name:"metZone",messagesKey:"metZoneMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"highBpm",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"calories",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"kcal / min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"fatCalories",type:"uint8",baseType:"uint8",array:!1,scale:10,offset:0,units:"kcal / min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},13:{num:13,name:"trainingSettings",messagesKey:"trainingSettingsMesgs",fields:{31:{num:31,name:"targetDistance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},32:{num:32,name:"targetSpeed",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},33:{num:33,name:"targetTime",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},153:{num:153,name:"preciseTargetSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e6,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},258:{num:258,name:"diveSettings",messagesKey:"diveSettingsMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"model",type:"tissueModelType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"gfLow",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"gfHigh",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"waterType",type:"waterType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"waterDensity",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"kg/m^3",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"po2Warn",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"po2Critical",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"po2Deco",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"safetyStopEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"bottomDepth",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"bottomTime",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"apneaCountdownEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"apneaCountdownTime",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"backlightMode",type:"diveBacklightMode",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"backlightBrightness",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},16:{num:16,name:"backlightTimeout",type:"backlightTimeout",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},17:{num:17,name:"repeatDiveInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},18:{num:18,name:"safetyStopTime",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},19:{num:19,name:"heartRateSourceType",type:"sourceType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},20:{num:20,name:"heartRateSource",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"heartRateAntplusDeviceType",type:"antplusDeviceType",baseType:"uint8",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"heartRateSourceType",value:1}]},{name:"heartRateLocalDeviceType",type:"localDeviceType",baseType:"uint8",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"heartRateSourceType",value:5}]}]},21:{num:21,name:"travelGas",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"ccrLowSetpointSwitchMode",type:"ccrSetpointSwitchMode",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"ccrLowSetpoint",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"ccrLowSetpointDepth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},25:{num:25,name:"ccrHighSetpointSwitchMode",type:"ccrSetpointSwitchMode",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},26:{num:26,name:"ccrHighSetpoint",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},27:{num:27,name:"ccrHighSetpointDepth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},29:{num:29,name:"gasConsumptionDisplay",type:"gasConsumptionRateType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},30:{num:30,name:"upKeyEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},35:{num:35,name:"diveSounds",type:"tone",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},36:{num:36,name:"lastStopMultiple",type:"uint8",baseType:"uint8",array:!1,scale:10,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},37:{num:37,name:"noFlyTimeMode",type:"noFlyTimeMode",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},262:{num:262,name:"diveAlarm",messagesKey:"diveAlarmMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"depth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"time",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"enabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"alarmType",type:"diveAlarmType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"sound",type:"tone",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"diveTypes",type:"subSport",baseType:"enum",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"id",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"popupEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"triggerOnDescent",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"triggerOnAscent",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"repeating",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"speed",type:"sint32",baseType:"sint32",array:!1,scale:1e3,offset:0,units:"mps",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},393:{num:393,name:"diveApneaAlarm",messagesKey:"diveApneaAlarmMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"depth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"time",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"enabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"alarmType",type:"diveAlarmType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"sound",type:"tone",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"diveTypes",type:"subSport",baseType:"enum",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"id",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"popupEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"triggerOnDescent",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"triggerOnAscent",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"repeating",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"speed",type:"sint32",baseType:"sint32",array:!1,scale:1e3,offset:0,units:"mps",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},259:{num:259,name:"diveGas",messagesKey:"diveGasMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"heliumContent",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"oxygenContent",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"status",type:"diveGasStatus",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"mode",type:"diveGasMode",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},15:{num:15,name:"goal",messagesKey:"goalMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"startDate",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"endDate",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"type",type:"goal",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"value",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"repeat",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"targetValue",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"recurrence",type:"goalRecurrence",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"recurrenceValue",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"enabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"source",type:"goalSource",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},34:{num:34,name:"activity",messagesKey:"activityMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"totalTimerTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"numSessions",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"type",type:"activity",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"event",type:"event",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"eventType",type:"eventType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"localTimestamp",type:"localDateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"eventGroup",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},18:{num:18,name:"session",messagesKey:"sessionMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"event",type:"event",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"eventType",type:"eventType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"startTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"startPositionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"startPositionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"totalElapsedTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"totalTimerTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"totalDistance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"totalCycles",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"cycles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"totalStrides",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"strides",bits:[],components:[],hasComponents:!1,map:[{name:"sport",value:1},{name:"sport",value:11}]},{name:"totalStrokes",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"strokes",bits:[],components:[],hasComponents:!1,map:[{name:"sport",value:2},{name:"sport",value:5},{name:"sport",value:15},{name:"sport",value:37}]}]},11:{num:11,name:"totalCalories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"totalFatCalories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"avgSpeed",type:"uint16",baseType:"uint16",array:!1,scale:[1e3],offset:[0],units:["m/s"],bits:[16],components:["124"],isAccumulated:!1,hasComponents:!0,subFields:[]},15:{num:15,name:"maxSpeed",type:"uint16",baseType:"uint16",array:!1,scale:[1e3],offset:[0],units:["m/s"],bits:[16],components:["125"],isAccumulated:!1,hasComponents:!0,subFields:[]},16:{num:16,name:"avgHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},17:{num:17,name:"maxHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},18:{num:18,name:"avgCadence",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"avgRunningCadence",type:"uint8",baseType:"uint8",scale:1,offset:0,units:"strides/min",bits:[],components:[],hasComponents:!1,map:[{name:"sport",value:1}]}]},19:{num:19,name:"maxCadence",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"maxRunningCadence",type:"uint8",baseType:"uint8",scale:1,offset:0,units:"strides/min",bits:[],components:[],hasComponents:!1,map:[{name:"sport",value:1}]}]},20:{num:20,name:"avgPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},21:{num:21,name:"maxPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"totalAscent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"totalDescent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"totalTrainingEffect",type:"uint8",baseType:"uint8",array:!1,scale:10,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},25:{num:25,name:"firstLapIndex",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},26:{num:26,name:"numLaps",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},27:{num:27,name:"eventGroup",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},28:{num:28,name:"trigger",type:"sessionTrigger",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},29:{num:29,name:"necLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},30:{num:30,name:"necLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},31:{num:31,name:"swcLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},32:{num:32,name:"swcLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},33:{num:33,name:"numLengths",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"lengths",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},34:{num:34,name:"normalizedPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},35:{num:35,name:"trainingStressScore",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"tss",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},36:{num:36,name:"intensityFactor",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"if",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},37:{num:37,name:"leftRightBalance",type:"leftRightBalance100",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},38:{num:38,name:"endPositionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},39:{num:39,name:"endPositionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},41:{num:41,name:"avgStrokeCount",type:"uint32",baseType:"uint32",array:!1,scale:10,offset:0,units:"strokes/lap",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},42:{num:42,name:"avgStrokeDistance",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},43:{num:43,name:"swimStroke",type:"swimStroke",baseType:"enum",array:!1,scale:1,offset:0,units:"swim_stroke",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},44:{num:44,name:"poolLength",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},45:{num:45,name:"thresholdPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},46:{num:46,name:"poolLengthUnit",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},47:{num:47,name:"numActiveLengths",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"lengths",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},48:{num:48,name:"totalWork",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"J",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},49:{num:49,name:"avgAltitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["126"],isAccumulated:!1,hasComponents:!0,subFields:[]},50:{num:50,name:"maxAltitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["128"],isAccumulated:!1,hasComponents:!0,subFields:[]},51:{num:51,name:"gpsAccuracy",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},52:{num:52,name:"avgGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},53:{num:53,name:"avgPosGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},54:{num:54,name:"avgNegGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},55:{num:55,name:"maxPosGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},56:{num:56,name:"maxNegGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},57:{num:57,name:"avgTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},58:{num:58,name:"maxTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},59:{num:59,name:"totalMovingTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},60:{num:60,name:"avgPosVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},61:{num:61,name:"avgNegVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},62:{num:62,name:"maxPosVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},63:{num:63,name:"maxNegVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},64:{num:64,name:"minHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},65:{num:65,name:"timeInHrZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},66:{num:66,name:"timeInSpeedZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},67:{num:67,name:"timeInCadenceZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},68:{num:68,name:"timeInPowerZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},69:{num:69,name:"avgLapTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},70:{num:70,name:"bestLapIndex",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},71:{num:71,name:"minAltitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["127"],isAccumulated:!1,hasComponents:!0,subFields:[]},78:{num:78,name:"activeTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},82:{num:82,name:"playerScore",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},83:{num:83,name:"opponentScore",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},84:{num:84,name:"opponentName",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},85:{num:85,name:"strokeCount",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},86:{num:86,name:"zoneCount",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},87:{num:87,name:"maxBallSpeed",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},88:{num:88,name:"avgBallSpeed",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},89:{num:89,name:"avgVerticalOscillation",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},90:{num:90,name:"avgStanceTimePercent",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},91:{num:91,name:"avgStanceTime",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},92:{num:92,name:"avgFractionalCadence",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},93:{num:93,name:"maxFractionalCadence",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},94:{num:94,name:"totalFractionalCycles",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"cycles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},95:{num:95,name:"avgTotalHemoglobinConc",type:"uint16",baseType:"uint16",array:!0,scale:100,offset:0,units:"g/dL",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},96:{num:96,name:"minTotalHemoglobinConc",type:"uint16",baseType:"uint16",array:!0,scale:100,offset:0,units:"g/dL",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},97:{num:97,name:"maxTotalHemoglobinConc",type:"uint16",baseType:"uint16",array:!0,scale:100,offset:0,units:"g/dL",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},98:{num:98,name:"avgSaturatedHemoglobinPercent",type:"uint16",baseType:"uint16",array:!0,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},99:{num:99,name:"minSaturatedHemoglobinPercent",type:"uint16",baseType:"uint16",array:!0,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},100:{num:100,name:"maxSaturatedHemoglobinPercent",type:"uint16",baseType:"uint16",array:!0,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},101:{num:101,name:"avgLeftTorqueEffectiveness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},102:{num:102,name:"avgRightTorqueEffectiveness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},103:{num:103,name:"avgLeftPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},104:{num:104,name:"avgRightPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},105:{num:105,name:"avgCombinedPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},110:{num:110,name:"sportProfileName",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},111:{num:111,name:"sportIndex",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},112:{num:112,name:"timeStanding",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},113:{num:113,name:"standCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},114:{num:114,name:"avgLeftPco",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},115:{num:115,name:"avgRightPco",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},116:{num:116,name:"avgLeftPowerPhase",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},117:{num:117,name:"avgLeftPowerPhasePeak",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},118:{num:118,name:"avgRightPowerPhase",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},119:{num:119,name:"avgRightPowerPhasePeak",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},120:{num:120,name:"avgPowerPosition",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},121:{num:121,name:"maxPowerPosition",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},122:{num:122,name:"avgCadencePosition",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},123:{num:123,name:"maxCadencePosition",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},124:{num:124,name:"enhancedAvgSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},125:{num:125,name:"enhancedMaxSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},126:{num:126,name:"enhancedAvgAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},127:{num:127,name:"enhancedMinAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},128:{num:128,name:"enhancedMaxAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},129:{num:129,name:"avgLevMotorPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},130:{num:130,name:"maxLevMotorPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},131:{num:131,name:"levBatteryConsumption",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},132:{num:132,name:"avgVerticalRatio",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},133:{num:133,name:"avgStanceTimeBalance",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},134:{num:134,name:"avgStepLength",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},137:{num:137,name:"totalAnaerobicTrainingEffect",type:"uint8",baseType:"uint8",array:!1,scale:10,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},139:{num:139,name:"avgVam",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},140:{num:140,name:"avgDepth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},141:{num:141,name:"maxDepth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},142:{num:142,name:"surfaceInterval",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},143:{num:143,name:"startCns",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},144:{num:144,name:"endCns",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},145:{num:145,name:"startN2",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},146:{num:146,name:"endN2",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},147:{num:147,name:"avgRespirationRate",type:"uint8",baseType:"uint8",array:!1,scale:[1],offset:[0],units:[""],bits:[8],components:["169"],isAccumulated:!1,hasComponents:!0,subFields:[]},148:{num:148,name:"maxRespirationRate",type:"uint8",baseType:"uint8",array:!1,scale:[1],offset:[0],units:[""],bits:[8],components:["170"],isAccumulated:!1,hasComponents:!0,subFields:[]},149:{num:149,name:"minRespirationRate",type:"uint8",baseType:"uint8",array:!1,scale:[1],offset:[0],units:[""],bits:[8],components:["180"],isAccumulated:!1,hasComponents:!0,subFields:[]},150:{num:150,name:"minTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},155:{num:155,name:"o2Toxicity",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"OTUs",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},156:{num:156,name:"diveNumber",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},168:{num:168,name:"trainingLoadPeak",type:"sint32",baseType:"sint32",array:!1,scale:65536,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},169:{num:169,name:"enhancedAvgRespirationRate",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"Breaths/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},170:{num:170,name:"enhancedMaxRespirationRate",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"Breaths/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},180:{num:180,name:"enhancedMinRespirationRate",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},181:{num:181,name:"totalGrit",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"kGrit",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},182:{num:182,name:"totalFlow",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"Flow",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},183:{num:183,name:"jumpCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},186:{num:186,name:"avgGrit",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"kGrit",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},187:{num:187,name:"avgFlow",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"Flow",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},192:{num:192,name:"workoutFeel",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},193:{num:193,name:"workoutRpe",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},194:{num:194,name:"avgSpo2",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},195:{num:195,name:"avgStress",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},196:{num:196,name:"metabolicCalories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},197:{num:197,name:"sdrrHrv",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"mS",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},198:{num:198,name:"rmssdHrv",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"mS",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},199:{num:199,name:"totalFractionalAscent",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},200:{num:200,name:"totalFractionalDescent",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},208:{num:208,name:"avgCoreTemperature",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},209:{num:209,name:"minCoreTemperature",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},210:{num:210,name:"maxCoreTemperature",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},19:{num:19,name:"lap",messagesKey:"lapMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"event",type:"event",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"eventType",type:"eventType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"startTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"startPositionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"startPositionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"endPositionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"endPositionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"totalElapsedTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"totalTimerTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"totalDistance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"totalCycles",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"cycles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"totalStrides",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"strides",bits:[],components:[],hasComponents:!1,map:[{name:"sport",value:1},{name:"sport",value:11}]},{name:"totalStrokes",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"strokes",bits:[],components:[],hasComponents:!1,map:[{name:"sport",value:2},{name:"sport",value:5},{name:"sport",value:15},{name:"sport",value:37}]}]},11:{num:11,name:"totalCalories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"totalFatCalories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"avgSpeed",type:"uint16",baseType:"uint16",array:!1,scale:[1e3],offset:[0],units:["m/s"],bits:[16],components:["110"],isAccumulated:!1,hasComponents:!0,subFields:[]},14:{num:14,name:"maxSpeed",type:"uint16",baseType:"uint16",array:!1,scale:[1e3],offset:[0],units:["m/s"],bits:[16],components:["111"],isAccumulated:!1,hasComponents:!0,subFields:[]},15:{num:15,name:"avgHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},16:{num:16,name:"maxHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},17:{num:17,name:"avgCadence",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"avgRunningCadence",type:"uint8",baseType:"uint8",scale:1,offset:0,units:"strides/min",bits:[],components:[],hasComponents:!1,map:[{name:"sport",value:1}]}]},18:{num:18,name:"maxCadence",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"maxRunningCadence",type:"uint8",baseType:"uint8",scale:1,offset:0,units:"strides/min",bits:[],components:[],hasComponents:!1,map:[{name:"sport",value:1}]}]},19:{num:19,name:"avgPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},20:{num:20,name:"maxPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},21:{num:21,name:"totalAscent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"totalDescent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"intensity",type:"intensity",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"lapTrigger",type:"lapTrigger",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},25:{num:25,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},26:{num:26,name:"eventGroup",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},32:{num:32,name:"numLengths",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"lengths",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},33:{num:33,name:"normalizedPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},34:{num:34,name:"leftRightBalance",type:"leftRightBalance100",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},35:{num:35,name:"firstLengthIndex",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},37:{num:37,name:"avgStrokeDistance",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},38:{num:38,name:"swimStroke",type:"swimStroke",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},39:{num:39,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},40:{num:40,name:"numActiveLengths",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"lengths",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},41:{num:41,name:"totalWork",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"J",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},42:{num:42,name:"avgAltitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["112"],isAccumulated:!1,hasComponents:!0,subFields:[]},43:{num:43,name:"maxAltitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["114"],isAccumulated:!1,hasComponents:!0,subFields:[]},44:{num:44,name:"gpsAccuracy",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},45:{num:45,name:"avgGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},46:{num:46,name:"avgPosGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},47:{num:47,name:"avgNegGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},48:{num:48,name:"maxPosGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},49:{num:49,name:"maxNegGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},50:{num:50,name:"avgTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},51:{num:51,name:"maxTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},52:{num:52,name:"totalMovingTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},53:{num:53,name:"avgPosVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},54:{num:54,name:"avgNegVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},55:{num:55,name:"maxPosVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},56:{num:56,name:"maxNegVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},57:{num:57,name:"timeInHrZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},58:{num:58,name:"timeInSpeedZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},59:{num:59,name:"timeInCadenceZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},60:{num:60,name:"timeInPowerZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},61:{num:61,name:"repetitionNum",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},62:{num:62,name:"minAltitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["113"],isAccumulated:!1,hasComponents:!0,subFields:[]},63:{num:63,name:"minHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},70:{num:70,name:"activeTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},71:{num:71,name:"wktStepIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},74:{num:74,name:"opponentScore",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},75:{num:75,name:"strokeCount",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},76:{num:76,name:"zoneCount",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},77:{num:77,name:"avgVerticalOscillation",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},78:{num:78,name:"avgStanceTimePercent",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},79:{num:79,name:"avgStanceTime",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},80:{num:80,name:"avgFractionalCadence",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},81:{num:81,name:"maxFractionalCadence",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},82:{num:82,name:"totalFractionalCycles",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"cycles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},83:{num:83,name:"playerScore",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},84:{num:84,name:"avgTotalHemoglobinConc",type:"uint16",baseType:"uint16",array:!0,scale:100,offset:0,units:"g/dL",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},85:{num:85,name:"minTotalHemoglobinConc",type:"uint16",baseType:"uint16",array:!0,scale:100,offset:0,units:"g/dL",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},86:{num:86,name:"maxTotalHemoglobinConc",type:"uint16",baseType:"uint16",array:!0,scale:100,offset:0,units:"g/dL",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},87:{num:87,name:"avgSaturatedHemoglobinPercent",type:"uint16",baseType:"uint16",array:!0,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},88:{num:88,name:"minSaturatedHemoglobinPercent",type:"uint16",baseType:"uint16",array:!0,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},89:{num:89,name:"maxSaturatedHemoglobinPercent",type:"uint16",baseType:"uint16",array:!0,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},91:{num:91,name:"avgLeftTorqueEffectiveness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},92:{num:92,name:"avgRightTorqueEffectiveness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},93:{num:93,name:"avgLeftPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},94:{num:94,name:"avgRightPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},95:{num:95,name:"avgCombinedPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},98:{num:98,name:"timeStanding",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},99:{num:99,name:"standCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},100:{num:100,name:"avgLeftPco",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},101:{num:101,name:"avgRightPco",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},102:{num:102,name:"avgLeftPowerPhase",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},103:{num:103,name:"avgLeftPowerPhasePeak",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},104:{num:104,name:"avgRightPowerPhase",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},105:{num:105,name:"avgRightPowerPhasePeak",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},106:{num:106,name:"avgPowerPosition",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},107:{num:107,name:"maxPowerPosition",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},108:{num:108,name:"avgCadencePosition",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},109:{num:109,name:"maxCadencePosition",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},110:{num:110,name:"enhancedAvgSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},111:{num:111,name:"enhancedMaxSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},112:{num:112,name:"enhancedAvgAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},113:{num:113,name:"enhancedMinAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},114:{num:114,name:"enhancedMaxAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},115:{num:115,name:"avgLevMotorPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},116:{num:116,name:"maxLevMotorPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},117:{num:117,name:"levBatteryConsumption",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},118:{num:118,name:"avgVerticalRatio",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},119:{num:119,name:"avgStanceTimeBalance",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},120:{num:120,name:"avgStepLength",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},121:{num:121,name:"avgVam",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},122:{num:122,name:"avgDepth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},123:{num:123,name:"maxDepth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},124:{num:124,name:"minTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},136:{num:136,name:"enhancedAvgRespirationRate",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"Breaths/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},137:{num:137,name:"enhancedMaxRespirationRate",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"Breaths/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},147:{num:147,name:"avgRespirationRate",type:"uint8",baseType:"uint8",array:!1,scale:[1],offset:[0],units:[""],bits:[8],components:["136"],isAccumulated:!1,hasComponents:!0,subFields:[]},148:{num:148,name:"maxRespirationRate",type:"uint8",baseType:"uint8",array:!1,scale:[1],offset:[0],units:[""],bits:[8],components:["137"],isAccumulated:!1,hasComponents:!0,subFields:[]},149:{num:149,name:"totalGrit",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"kGrit",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},150:{num:150,name:"totalFlow",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"Flow",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},151:{num:151,name:"jumpCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},153:{num:153,name:"avgGrit",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"kGrit",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},154:{num:154,name:"avgFlow",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"Flow",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},156:{num:156,name:"totalFractionalAscent",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},157:{num:157,name:"totalFractionalDescent",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},158:{num:158,name:"avgCoreTemperature",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},159:{num:159,name:"minCoreTemperature",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},160:{num:160,name:"maxCoreTemperature",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},101:{num:101,name:"length",messagesKey:"lengthMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"event",type:"event",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"eventType",type:"eventType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"startTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"totalElapsedTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"totalTimerTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"totalStrokes",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"strokes",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"avgSpeed",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"swimStroke",type:"swimStroke",baseType:"enum",array:!1,scale:1,offset:0,units:"swim_stroke",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"avgSwimmingCadence",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"strokes/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"eventGroup",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"totalCalories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"lengthType",type:"lengthType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},18:{num:18,name:"playerScore",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},19:{num:19,name:"opponentScore",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},20:{num:20,name:"strokeCount",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},21:{num:21,name:"zoneCount",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"enhancedAvgRespirationRate",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"Breaths/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"enhancedMaxRespirationRate",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"Breaths/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"avgRespirationRate",type:"uint8",baseType:"uint8",array:!1,scale:[1],offset:[0],units:[""],bits:[8],components:["22"],isAccumulated:!1,hasComponents:!0,subFields:[]},25:{num:25,name:"maxRespirationRate",type:"uint8",baseType:"uint8",array:!1,scale:[1],offset:[0],units:[""],bits:[8],components:["23"],isAccumulated:!1,hasComponents:!0,subFields:[]}}},20:{num:20,name:"record",messagesKey:"recordMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"positionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"positionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"altitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["78"],isAccumulated:!1,hasComponents:!0,subFields:[]},3:{num:3,name:"heartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"cadence",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"distance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!0,hasComponents:!1,subFields:[]},6:{num:6,name:"speed",type:"uint16",baseType:"uint16",array:!1,scale:[1e3],offset:[0],units:["m/s"],bits:[16],components:["73"],isAccumulated:!1,hasComponents:!0,subFields:[]},7:{num:7,name:"power",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"compressedSpeedDistance",type:"byte",baseType:"byte",array:!0,scale:[100,16],offset:[0,0],units:["m/s","m"],bits:[12,12],components:["6","5"],isAccumulated:!1,hasComponents:!0,subFields:[]},9:{num:9,name:"grade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"resistance",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"timeFromCourse",type:"sint32",baseType:"sint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"cycleLength",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"temperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},17:{num:17,name:"speed1s",type:"uint8",baseType:"uint8",array:!0,scale:16,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},18:{num:18,name:"cycles",type:"uint8",baseType:"uint8",array:!1,scale:[1],offset:[0],units:["cycles"],bits:[8],components:["19"],isAccumulated:!1,hasComponents:!0,subFields:[]},19:{num:19,name:"totalCycles",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"cycles",bits:[],components:[],isAccumulated:!0,hasComponents:!1,subFields:[]},28:{num:28,name:"compressedAccumulatedPower",type:"uint16",baseType:"uint16",array:!1,scale:[1],offset:[0],units:["watts"],bits:[16],components:["29"],isAccumulated:!1,hasComponents:!0,subFields:[]},29:{num:29,name:"accumulatedPower",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!0,hasComponents:!1,subFields:[]},30:{num:30,name:"leftRightBalance",type:"leftRightBalance",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},31:{num:31,name:"gpsAccuracy",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},32:{num:32,name:"verticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},33:{num:33,name:"calories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},39:{num:39,name:"verticalOscillation",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},40:{num:40,name:"stanceTimePercent",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},41:{num:41,name:"stanceTime",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},42:{num:42,name:"activityType",type:"activityType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},43:{num:43,name:"leftTorqueEffectiveness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},44:{num:44,name:"rightTorqueEffectiveness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},45:{num:45,name:"leftPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},46:{num:46,name:"rightPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},47:{num:47,name:"combinedPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},48:{num:48,name:"time128",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},49:{num:49,name:"strokeType",type:"strokeType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},50:{num:50,name:"zone",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},51:{num:51,name:"ballSpeed",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},52:{num:52,name:"cadence256",type:"uint16",baseType:"uint16",array:!1,scale:256,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},53:{num:53,name:"fractionalCadence",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},54:{num:54,name:"totalHemoglobinConc",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"g/dL",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},55:{num:55,name:"totalHemoglobinConcMin",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"g/dL",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},56:{num:56,name:"totalHemoglobinConcMax",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"g/dL",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},57:{num:57,name:"saturatedHemoglobinPercent",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},58:{num:58,name:"saturatedHemoglobinPercentMin",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},59:{num:59,name:"saturatedHemoglobinPercentMax",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},62:{num:62,name:"deviceIndex",type:"deviceIndex",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},67:{num:67,name:"leftPco",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},68:{num:68,name:"rightPco",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},69:{num:69,name:"leftPowerPhase",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},70:{num:70,name:"leftPowerPhasePeak",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},71:{num:71,name:"rightPowerPhase",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},72:{num:72,name:"rightPowerPhasePeak",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},73:{num:73,name:"enhancedSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},78:{num:78,name:"enhancedAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},81:{num:81,name:"batterySoc",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},82:{num:82,name:"motorPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},83:{num:83,name:"verticalRatio",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},84:{num:84,name:"stanceTimeBalance",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},85:{num:85,name:"stepLength",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},87:{num:87,name:"cycleLength16",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},91:{num:91,name:"absolutePressure",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"Pa",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},92:{num:92,name:"depth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},93:{num:93,name:"nextStopDepth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},94:{num:94,name:"nextStopTime",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},95:{num:95,name:"timeToSurface",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},96:{num:96,name:"ndlTime",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},97:{num:97,name:"cnsLoad",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},98:{num:98,name:"n2Load",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},99:{num:99,name:"respirationRate",type:"uint8",baseType:"uint8",array:!1,scale:[1],offset:[0],units:["s"],bits:[8],components:["108"],isAccumulated:!1,hasComponents:!0,subFields:[]},108:{num:108,name:"enhancedRespirationRate",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"Breaths/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},114:{num:114,name:"grit",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},115:{num:115,name:"flow",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},116:{num:116,name:"currentStress",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},117:{num:117,name:"ebikeTravelRange",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"km",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},118:{num:118,name:"ebikeBatteryLevel",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},119:{num:119,name:"ebikeAssistMode",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"depends on sensor",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},120:{num:120,name:"ebikeAssistLevelPercent",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},123:{num:123,name:"airTimeRemaining",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},124:{num:124,name:"pressureSac",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"bar/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},125:{num:125,name:"volumeSac",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"L/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},126:{num:126,name:"rmv",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"L/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},127:{num:127,name:"ascentRate",type:"sint32",baseType:"sint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},129:{num:129,name:"po2",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},139:{num:139,name:"coreTemperature",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},21:{num:21,name:"event",messagesKey:"eventMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"event",type:"event",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"eventType",type:"eventType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"data16",type:"uint16",baseType:"uint16",array:!1,scale:[1],offset:[0],units:[""],bits:[16],components:["3"],isAccumulated:!1,hasComponents:!0,subFields:[]},3:{num:3,name:"data",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"timerTrigger",type:"timerTrigger",baseType:"enum",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:0}]},{name:"coursePointIndex",type:"messageIndex",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:10}]},{name:"batteryLevel",type:"uint16",baseType:"uint16",scale:1e3,offset:0,units:"V",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:11}]},{name:"virtualPartnerSpeed",type:"uint16",baseType:"uint16",scale:1e3,offset:0,units:"m/s",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:12}]},{name:"hrHighAlert",type:"uint8",baseType:"uint8",scale:1,offset:0,units:"bpm",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:13}]},{name:"hrLowAlert",type:"uint8",baseType:"uint8",scale:1,offset:0,units:"bpm",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:14}]},{name:"speedHighAlert",type:"uint32",baseType:"uint32",scale:1e3,offset:0,units:"m/s",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:15}]},{name:"speedLowAlert",type:"uint32",baseType:"uint32",scale:1e3,offset:0,units:"m/s",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:16}]},{name:"cadHighAlert",type:"uint16",baseType:"uint16",scale:1,offset:0,units:"rpm",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:17}]},{name:"cadLowAlert",type:"uint16",baseType:"uint16",scale:1,offset:0,units:"rpm",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:18}]},{name:"powerHighAlert",type:"uint16",baseType:"uint16",scale:1,offset:0,units:"watts",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:19}]},{name:"powerLowAlert",type:"uint16",baseType:"uint16",scale:1,offset:0,units:"watts",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:20}]},{name:"timeDurationAlert",type:"uint32",baseType:"uint32",scale:1e3,offset:0,units:"s",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:23}]},{name:"distanceDurationAlert",type:"uint32",baseType:"uint32",scale:100,offset:0,units:"m",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:24}]},{name:"calorieDurationAlert",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"calories",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:25}]},{name:"fitnessEquipmentState",type:"fitnessEquipmentState",baseType:"enum",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:27}]},{name:"sportPoint",type:"uint32",baseType:"uint32",scale:[1,1],offset:[0,0],units:["",""],bits:[16,16],components:["7","8"],hasComponents:!0,map:[{name:"event",value:33}]},{name:"gearChangeData",type:"uint32",baseType:"uint32",scale:[1,1,1,1],offset:[0,0,0,0],units:["","","",""],bits:[8,8,8,8],components:["11","12","9","10"],hasComponents:!0,map:[{name:"event",value:42},{name:"event",value:43}]},{name:"riderPosition",type:"riderPositionType",baseType:"enum",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:44}]},{name:"commTimeout",type:"commTimeoutType",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:47}]},{name:"diveAlert",type:"diveAlert",baseType:"enum",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:56}]},{name:"autoActivityDetectDuration",type:"uint16",baseType:"uint16",scale:1,offset:0,units:"min",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:54}]},{name:"radarThreatAlert",type:"uint32",baseType:"uint32",scale:[1,1,10,10],offset:[0,0,0,0],units:["","","",""],bits:[8,8,8,8],components:["21","22","23","24"],hasComponents:!0,map:[{name:"event",value:75}]}]},4:{num:4,name:"eventGroup",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"score",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"opponentScore",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"frontGearNum",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"frontGear",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"rearGearNum",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"rearGear",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"deviceIndex",type:"deviceIndex",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"activityType",type:"activityType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"startTimestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"autoActivityDetectStartTimestamp",type:"dateTime",baseType:"uint32",scale:1,offset:0,units:"s",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:54}]}]},21:{num:21,name:"radarThreatLevelMax",type:"radarThreatLevelType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"radarThreatCount",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"radarThreatAvgApproachSpeed",type:"uint8",baseType:"uint8",array:!1,scale:10,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"radarThreatMaxApproachSpeed",type:"uint8",baseType:"uint8",array:!1,scale:10,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},23:{num:23,name:"deviceInfo",messagesKey:"deviceInfoMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"deviceIndex",type:"deviceIndex",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"deviceType",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"bleDeviceType",type:"bleDeviceType",baseType:"uint8",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"sourceType",value:3}]},{name:"antplusDeviceType",type:"antplusDeviceType",baseType:"uint8",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"sourceType",value:1}]},{name:"antDeviceType",type:"uint8",baseType:"uint8",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"sourceType",value:0}]},{name:"localDeviceType",type:"localDeviceType",baseType:"uint8",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"sourceType",value:5}]}]},2:{num:2,name:"manufacturer",type:"manufacturer",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"serialNumber",type:"uint32z",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"product",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"faveroProduct",type:"faveroProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:263}]},{name:"garminProduct",type:"garminProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:1},{name:"manufacturer",value:15},{name:"manufacturer",value:13},{name:"manufacturer",value:89}]}]},5:{num:5,name:"softwareVersion",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"hardwareVersion",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"cumOperatingTime",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"batteryVoltage",type:"uint16",baseType:"uint16",array:!1,scale:256,offset:0,units:"V",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"batteryStatus",type:"batteryStatus",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},18:{num:18,name:"sensorPosition",type:"bodyLocation",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},19:{num:19,name:"descriptor",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},20:{num:20,name:"antTransmissionType",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},21:{num:21,name:"antDeviceNumber",type:"uint16z",baseType:"uint16z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"antNetwork",type:"antNetwork",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},25:{num:25,name:"sourceType",type:"sourceType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},27:{num:27,name:"productName",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},32:{num:32,name:"batteryLevel",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},375:{num:375,name:"deviceAuxBatteryInfo",messagesKey:"deviceAuxBatteryInfoMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"deviceIndex",type:"deviceIndex",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"batteryVoltage",type:"uint16",baseType:"uint16",array:!1,scale:256,offset:0,units:"V",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"batteryStatus",type:"batteryStatus",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"batteryIdentifier",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},72:{num:72,name:"trainingFile",messagesKey:"trainingFileMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"type",type:"file",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"manufacturer",type:"manufacturer",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"product",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"faveroProduct",type:"faveroProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:263}]},{name:"garminProduct",type:"garminProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:1},{name:"manufacturer",value:15},{name:"manufacturer",value:13},{name:"manufacturer",value:89}]}]},3:{num:3,name:"serialNumber",type:"uint32z",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"timeCreated",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},128:{num:128,name:"weatherConditions",messagesKey:"weatherConditionsMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"weatherReport",type:"weatherReport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"temperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"condition",type:"weatherStatus",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"windDirection",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"windSpeed",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"precipitationProbability",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"temperatureFeelsLike",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"relativeHumidity",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"location",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"observedAtTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"observedLocationLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"observedLocationLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"dayOfWeek",type:"dayOfWeek",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"highTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"lowTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},129:{num:129,name:"weatherAlert",messagesKey:"weatherAlertMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"reportId",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"issueTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"expireTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"severity",type:"weatherSeverity",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"type",type:"weatherSevereType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},160:{num:160,name:"gpsMetadata",messagesKey:"gpsMetadataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"positionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"positionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"enhancedAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"enhancedSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"heading",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"utcTimestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"velocity",type:"sint16",baseType:"sint16",array:!0,scale:100,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},161:{num:161,name:"cameraEvent",messagesKey:"cameraEventMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"cameraEventType",type:"cameraEventType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"cameraFileUuid",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"cameraOrientation",type:"cameraOrientationType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},164:{num:164,name:"gyroscopeData",messagesKey:"gyroscopeDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"sampleTimeOffset",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"gyroX",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"gyroY",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"gyroZ",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"calibratedGyroX",type:"float32",baseType:"float32",array:!0,scale:1,offset:0,units:"deg/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"calibratedGyroY",type:"float32",baseType:"float32",array:!0,scale:1,offset:0,units:"deg/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"calibratedGyroZ",type:"float32",baseType:"float32",array:!0,scale:1,offset:0,units:"deg/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},165:{num:165,name:"accelerometerData",messagesKey:"accelerometerDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"sampleTimeOffset",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"accelX",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"accelY",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"accelZ",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"calibratedAccelX",type:"float32",baseType:"float32",array:!0,scale:1,offset:0,units:"g",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"calibratedAccelY",type:"float32",baseType:"float32",array:!0,scale:1,offset:0,units:"g",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"calibratedAccelZ",type:"float32",baseType:"float32",array:!0,scale:1,offset:0,units:"g",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"compressedCalibratedAccelX",type:"sint16",baseType:"sint16",array:!0,scale:1,offset:0,units:"mG",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"compressedCalibratedAccelY",type:"sint16",baseType:"sint16",array:!0,scale:1,offset:0,units:"mG",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"compressedCalibratedAccelZ",type:"sint16",baseType:"sint16",array:!0,scale:1,offset:0,units:"mG",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},208:{num:208,name:"magnetometerData",messagesKey:"magnetometerDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"sampleTimeOffset",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"magX",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"magY",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"magZ",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"calibratedMagX",type:"float32",baseType:"float32",array:!0,scale:1,offset:0,units:"G",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"calibratedMagY",type:"float32",baseType:"float32",array:!0,scale:1,offset:0,units:"G",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"calibratedMagZ",type:"float32",baseType:"float32",array:!0,scale:1,offset:0,units:"G",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},209:{num:209,name:"barometerData",messagesKey:"barometerDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"sampleTimeOffset",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"baroPres",type:"uint32",baseType:"uint32",array:!0,scale:1,offset:0,units:"Pa",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},167:{num:167,name:"threeDSensorCalibration",messagesKey:"threeDSensorCalibrationMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"sensorType",type:"sensorType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"calibrationFactor",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"accelCalFactor",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"g",bits:[],components:[],hasComponents:!1,map:[{name:"sensorType",value:0}]},{name:"gyroCalFactor",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"deg/s",bits:[],components:[],hasComponents:!1,map:[{name:"sensorType",value:1}]}]},2:{num:2,name:"calibrationDivisor",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"levelShift",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"offsetCal",type:"sint32",baseType:"sint32",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"orientationMatrix",type:"sint32",baseType:"sint32",array:!0,scale:65535,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},210:{num:210,name:"oneDSensorCalibration",messagesKey:"oneDSensorCalibrationMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"sensorType",type:"sensorType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"calibrationFactor",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"baroCalFactor",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"Pa",bits:[],components:[],hasComponents:!1,map:[{name:"sensorType",value:3}]}]},2:{num:2,name:"calibrationDivisor",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"levelShift",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"offsetCal",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},169:{num:169,name:"videoFrame",messagesKey:"videoFrameMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"frameNumber",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},174:{num:174,name:"obdiiData",messagesKey:"obdiiDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"timeOffset",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"pid",type:"byte",baseType:"byte",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"rawData",type:"byte",baseType:"byte",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"pidDataSize",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"systemTime",type:"uint32",baseType:"uint32",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"startTimestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"startTimestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},177:{num:177,name:"nmeaSentence",messagesKey:"nmeaSentenceMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"sentence",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},178:{num:178,name:"aviationAttitude",messagesKey:"aviationAttitudeMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"systemTime",type:"uint32",baseType:"uint32",array:!0,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"pitch",type:"sint16",baseType:"sint16",array:!0,scale:10430.38,offset:0,units:"radians",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"roll",type:"sint16",baseType:"sint16",array:!0,scale:10430.38,offset:0,units:"radians",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"accelLateral",type:"sint16",baseType:"sint16",array:!0,scale:100,offset:0,units:"m/s^2",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"accelNormal",type:"sint16",baseType:"sint16",array:!0,scale:100,offset:0,units:"m/s^2",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"turnRate",type:"sint16",baseType:"sint16",array:!0,scale:1024,offset:0,units:"radians/second",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"stage",type:"attitudeStage",baseType:"enum",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"attitudeStageComplete",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"track",type:"uint16",baseType:"uint16",array:!0,scale:10430.38,offset:0,units:"radians",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"validity",type:"attitudeValidity",baseType:"uint16",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},184:{num:184,name:"video",messagesKey:"videoMesgs",fields:{0:{num:0,name:"url",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"hostingProvider",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"duration",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},185:{num:185,name:"videoTitle",messagesKey:"videoTitleMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"messageCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"text",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},186:{num:186,name:"videoDescription",messagesKey:"videoDescriptionMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"messageCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"text",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},187:{num:187,name:"videoClip",messagesKey:"videoClipMesgs",fields:{0:{num:0,name:"clipNumber",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"startTimestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"startTimestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"endTimestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"endTimestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"clipStart",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"clipEnd",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},225:{num:225,name:"set",messagesKey:"setMesgs",fields:{254:{num:254,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"duration",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"repetitions",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"weight",type:"uint16",baseType:"uint16",array:!1,scale:16,offset:0,units:"kg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"setType",type:"setType",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"startTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"category",type:"exerciseCategory",baseType:"uint16",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"categorySubtype",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"weightDisplayUnit",type:"fitBaseUnit",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"wktStepIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},285:{num:285,name:"jump",messagesKey:"jumpMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"distance",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"height",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"rotations",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"hangTime",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"score",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"positionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"positionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"speed",type:"uint16",baseType:"uint16",array:!1,scale:[1e3],offset:[0],units:["m/s"],bits:[16],components:["8"],isAccumulated:!1,hasComponents:!0,subFields:[]},8:{num:8,name:"enhancedSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},312:{num:312,name:"split",messagesKey:"splitMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"splitType",type:"splitType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"totalElapsedTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"totalTimerTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"totalDistance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"avgSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"startTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"totalAscent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"totalDescent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},21:{num:21,name:"startPositionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"startPositionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"endPositionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"endPositionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},25:{num:25,name:"maxSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},26:{num:26,name:"avgVertSpeed",type:"sint32",baseType:"sint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},27:{num:27,name:"endTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},28:{num:28,name:"totalCalories",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},74:{num:74,name:"startElevation",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},78:{num:78,name:"activeTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},110:{num:110,name:"totalMovingTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},313:{num:313,name:"splitSummary",messagesKey:"splitSummaryMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"splitType",type:"splitType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"numSplits",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"totalTimerTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"totalDistance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"avgSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"maxSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"totalAscent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"totalDescent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"avgHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"maxHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"avgVertSpeed",type:"sint32",baseType:"sint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"totalCalories",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},65:{num:65,name:"activeTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},77:{num:77,name:"totalMovingTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},317:{num:317,name:"climbPro",messagesKey:"climbProMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"positionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"positionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"climbProEvent",type:"climbProEvent",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"climbNumber",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"climbCategory",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"currentDist",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},206:{num:206,name:"fieldDescription",messagesKey:"fieldDescriptionMesgs",fields:{0:{num:0,name:"developerDataIndex",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"fieldDefinitionNumber",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"fitBaseTypeId",type:"fitBaseType",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"fieldName",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"array",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"components",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"scale",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"offset",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"units",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"bits",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"accumulate",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"fitBaseUnitId",type:"fitBaseUnit",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"nativeMesgNum",type:"mesgNum",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"nativeFieldNum",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},207:{num:207,name:"developerDataId",messagesKey:"developerDataIdMesgs",fields:{0:{num:0,name:"developerId",type:"byte",baseType:"byte",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"applicationId",type:"byte",baseType:"byte",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"manufacturerId",type:"manufacturer",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"developerDataIndex",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"applicationVersion",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},31:{num:31,name:"course",messagesKey:"courseMesgs",fields:{4:{num:4,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"capabilities",type:"courseCapabilities",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},32:{num:32,name:"coursePoint",messagesKey:"coursePointMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"positionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"positionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"distance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"type",type:"coursePoint",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"favorite",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},148:{num:148,name:"segmentId",messagesKey:"segmentIdMesgs",fields:{0:{num:0,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"uuid",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"enabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"userProfilePrimaryKey",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"deviceId",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"defaultRaceLeader",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"deleteStatus",type:"segmentDeleteStatus",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"selectionType",type:"segmentSelectionType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},149:{num:149,name:"segmentLeaderboardEntry",messagesKey:"segmentLeaderboardEntryMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"type",type:"segmentLeaderboardType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"groupPrimaryKey",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"activityId",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"segmentTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"activityIdString",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},150:{num:150,name:"segmentPoint",messagesKey:"segmentPointMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"positionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"positionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"distance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"altitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["6"],isAccumulated:!1,hasComponents:!0,subFields:[]},5:{num:5,name:"leaderTime",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"enhancedAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},142:{num:142,name:"segmentLap",messagesKey:"segmentLapMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"event",type:"event",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"eventType",type:"eventType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"startTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"startPositionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"startPositionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"endPositionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"endPositionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"totalElapsedTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"totalTimerTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"totalDistance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"totalCycles",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"cycles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"totalStrokes",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"strokes",bits:[],components:[],hasComponents:!1,map:[{name:"sport",value:2}]}]},11:{num:11,name:"totalCalories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"totalFatCalories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"avgSpeed",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"maxSpeed",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"avgHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},16:{num:16,name:"maxHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},17:{num:17,name:"avgCadence",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},18:{num:18,name:"maxCadence",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},19:{num:19,name:"avgPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},20:{num:20,name:"maxPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},21:{num:21,name:"totalAscent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"totalDescent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"eventGroup",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},25:{num:25,name:"necLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},26:{num:26,name:"necLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},27:{num:27,name:"swcLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},28:{num:28,name:"swcLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},29:{num:29,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},30:{num:30,name:"normalizedPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},31:{num:31,name:"leftRightBalance",type:"leftRightBalance100",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},32:{num:32,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},33:{num:33,name:"totalWork",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"J",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},34:{num:34,name:"avgAltitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["91"],isAccumulated:!1,hasComponents:!0,subFields:[]},35:{num:35,name:"maxAltitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["92"],isAccumulated:!1,hasComponents:!0,subFields:[]},36:{num:36,name:"gpsAccuracy",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},37:{num:37,name:"avgGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},38:{num:38,name:"avgPosGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},39:{num:39,name:"avgNegGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},40:{num:40,name:"maxPosGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},41:{num:41,name:"maxNegGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},42:{num:42,name:"avgTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},43:{num:43,name:"maxTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},44:{num:44,name:"totalMovingTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},45:{num:45,name:"avgPosVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},46:{num:46,name:"avgNegVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},47:{num:47,name:"maxPosVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},48:{num:48,name:"maxNegVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},49:{num:49,name:"timeInHrZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},50:{num:50,name:"timeInSpeedZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},51:{num:51,name:"timeInCadenceZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},52:{num:52,name:"timeInPowerZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},53:{num:53,name:"repetitionNum",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},54:{num:54,name:"minAltitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["93"],isAccumulated:!1,hasComponents:!0,subFields:[]},55:{num:55,name:"minHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},56:{num:56,name:"activeTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},57:{num:57,name:"wktStepIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},58:{num:58,name:"sportEvent",type:"sportEvent",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},59:{num:59,name:"avgLeftTorqueEffectiveness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},60:{num:60,name:"avgRightTorqueEffectiveness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},61:{num:61,name:"avgLeftPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},62:{num:62,name:"avgRightPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},63:{num:63,name:"avgCombinedPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},64:{num:64,name:"status",type:"segmentLapStatus",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},65:{num:65,name:"uuid",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},66:{num:66,name:"avgFractionalCadence",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},67:{num:67,name:"maxFractionalCadence",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},68:{num:68,name:"totalFractionalCycles",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"cycles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},69:{num:69,name:"frontGearShiftCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},70:{num:70,name:"rearGearShiftCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},71:{num:71,name:"timeStanding",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},72:{num:72,name:"standCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},73:{num:73,name:"avgLeftPco",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},74:{num:74,name:"avgRightPco",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},75:{num:75,name:"avgLeftPowerPhase",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},76:{num:76,name:"avgLeftPowerPhasePeak",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},77:{num:77,name:"avgRightPowerPhase",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},78:{num:78,name:"avgRightPowerPhasePeak",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},79:{num:79,name:"avgPowerPosition",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},80:{num:80,name:"maxPowerPosition",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},81:{num:81,name:"avgCadencePosition",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},82:{num:82,name:"maxCadencePosition",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},83:{num:83,name:"manufacturer",type:"manufacturer",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},84:{num:84,name:"totalGrit",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"kGrit",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},85:{num:85,name:"totalFlow",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"Flow",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},86:{num:86,name:"avgGrit",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"kGrit",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},87:{num:87,name:"avgFlow",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"Flow",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},89:{num:89,name:"totalFractionalAscent",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},90:{num:90,name:"totalFractionalDescent",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},91:{num:91,name:"enhancedAvgAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},92:{num:92,name:"enhancedMaxAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},93:{num:93,name:"enhancedMinAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},151:{num:151,name:"segmentFile",messagesKey:"segmentFileMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"fileUuid",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"enabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"userProfilePrimaryKey",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"leaderType",type:"segmentLeaderboardType",baseType:"enum",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"leaderGroupPrimaryKey",type:"uint32",baseType:"uint32",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"leaderActivityId",type:"uint32",baseType:"uint32",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"leaderActivityIdString",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"defaultRaceLeader",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},26:{num:26,name:"workout",messagesKey:"workoutMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"capabilities",type:"workoutCapabilities",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"numValidSteps",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"wktName",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"poolLength",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"poolLengthUnit",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},17:{num:17,name:"wktDescription",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},158:{num:158,name:"workoutSession",messagesKey:"workoutSessionMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"numValidSteps",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"firstStepIndex",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"poolLength",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"poolLengthUnit",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},27:{num:27,name:"workoutStep",messagesKey:"workoutStepMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"wktStepName",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"durationType",type:"wktStepDuration",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"durationValue",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"durationTime",type:"uint32",baseType:"uint32",scale:1e3,offset:0,units:"s",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:0},{name:"durationType",value:28}]},{name:"durationDistance",type:"uint32",baseType:"uint32",scale:100,offset:0,units:"m",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:1}]},{name:"durationHr",type:"workoutHr",baseType:"uint32",scale:1,offset:0,units:"% or bpm",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:2},{name:"durationType",value:3}]},{name:"durationCalories",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"calories",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:4}]},{name:"durationStep",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:6},{name:"durationType",value:7},{name:"durationType",value:8},{name:"durationType",value:9},{name:"durationType",value:10},{name:"durationType",value:11},{name:"durationType",value:12},{name:"durationType",value:13}]},{name:"durationPower",type:"workoutPower",baseType:"uint32",scale:1,offset:0,units:"% or watts",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:14},{name:"durationType",value:15}]},{name:"durationReps",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:29}]}]},3:{num:3,name:"targetType",type:"wktStepTarget",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"targetValue",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"targetSpeedZone",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:0}]},{name:"targetHrZone",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:1}]},{name:"targetCadenceZone",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:3}]},{name:"targetPowerZone",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:4}]},{name:"repeatSteps",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:6}]},{name:"repeatTime",type:"uint32",baseType:"uint32",scale:1e3,offset:0,units:"s",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:7}]},{name:"repeatDistance",type:"uint32",baseType:"uint32",scale:100,offset:0,units:"m",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:8}]},{name:"repeatCalories",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"calories",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:9}]},{name:"repeatHr",type:"workoutHr",baseType:"uint32",scale:1,offset:0,units:"% or bpm",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:10},{name:"durationType",value:11}]},{name:"repeatPower",type:"workoutPower",baseType:"uint32",scale:1,offset:0,units:"% or watts",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:12},{name:"durationType",value:13}]},{name:"targetStrokeType",type:"swimStroke",baseType:"enum",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:11}]}]},5:{num:5,name:"customTargetValueLow",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"customTargetSpeedLow",type:"uint32",baseType:"uint32",scale:1e3,offset:0,units:"m/s",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:0}]},{name:"customTargetHeartRateLow",type:"workoutHr",baseType:"uint32",scale:1,offset:0,units:"% or bpm",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:1}]},{name:"customTargetCadenceLow",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"rpm",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:3}]},{name:"customTargetPowerLow",type:"workoutPower",baseType:"uint32",scale:1,offset:0,units:"% or watts",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:4}]}]},6:{num:6,name:"customTargetValueHigh",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"customTargetSpeedHigh",type:"uint32",baseType:"uint32",scale:1e3,offset:0,units:"m/s",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:0}]},{name:"customTargetHeartRateHigh",type:"workoutHr",baseType:"uint32",scale:1,offset:0,units:"% or bpm",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:1}]},{name:"customTargetCadenceHigh",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"rpm",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:3}]},{name:"customTargetPowerHigh",type:"workoutPower",baseType:"uint32",scale:1,offset:0,units:"% or watts",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:4}]}]},7:{num:7,name:"intensity",type:"intensity",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"notes",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"equipment",type:"workoutEquipment",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"exerciseCategory",type:"exerciseCategory",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"exerciseName",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"exerciseWeight",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"kg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"weightDisplayUnit",type:"fitBaseUnit",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},19:{num:19,name:"secondaryTargetType",type:"wktStepTarget",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},20:{num:20,name:"secondaryTargetValue",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"secondaryTargetSpeedZone",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:0}]},{name:"secondaryTargetHrZone",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:1}]},{name:"secondaryTargetCadenceZone",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:3}]},{name:"secondaryTargetPowerZone",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:4}]},{name:"secondaryTargetStrokeType",type:"swimStroke",baseType:"enum",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:11}]}]},21:{num:21,name:"secondaryCustomTargetValueLow",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"secondaryCustomTargetSpeedLow",type:"uint32",baseType:"uint32",scale:1e3,offset:0,units:"m/s",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:0}]},{name:"secondaryCustomTargetHeartRateLow",type:"workoutHr",baseType:"uint32",scale:1,offset:0,units:"% or bpm",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:1}]},{name:"secondaryCustomTargetCadenceLow",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"rpm",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:3}]},{name:"secondaryCustomTargetPowerLow",type:"workoutPower",baseType:"uint32",scale:1,offset:0,units:"% or watts",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:4}]}]},22:{num:22,name:"secondaryCustomTargetValueHigh",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"secondaryCustomTargetSpeedHigh",type:"uint32",baseType:"uint32",scale:1e3,offset:0,units:"m/s",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:0}]},{name:"secondaryCustomTargetHeartRateHigh",type:"workoutHr",baseType:"uint32",scale:1,offset:0,units:"% or bpm",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:1}]},{name:"secondaryCustomTargetCadenceHigh",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"rpm",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:3}]},{name:"secondaryCustomTargetPowerHigh",type:"workoutPower",baseType:"uint32",scale:1,offset:0,units:"% or watts",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:4}]}]}}},264:{num:264,name:"exerciseTitle",messagesKey:"exerciseTitleMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"exerciseCategory",type:"exerciseCategory",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"exerciseName",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"wktStepName",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},28:{num:28,name:"schedule",messagesKey:"scheduleMesgs",fields:{0:{num:0,name:"manufacturer",type:"manufacturer",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"product",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"faveroProduct",type:"faveroProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:263}]},{name:"garminProduct",type:"garminProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:1},{name:"manufacturer",value:15},{name:"manufacturer",value:13},{name:"manufacturer",value:89}]}]},2:{num:2,name:"serialNumber",type:"uint32z",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"timeCreated",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"completed",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"type",type:"schedule",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"scheduledTime",type:"localDateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},33:{num:33,name:"totals",messagesKey:"totalsMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timerTime",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"distance",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"calories",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"elapsedTime",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"sessions",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"activeTime",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"sportIndex",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},30:{num:30,name:"weightScale",messagesKey:"weightScaleMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"weight",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"kg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"percentFat",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"percentHydration",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"visceralFatMass",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"kg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"boneMass",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"kg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"muscleMass",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"kg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"basalMet",type:"uint16",baseType:"uint16",array:!1,scale:4,offset:0,units:"kcal/day",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"physiqueRating",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"activeMet",type:"uint16",baseType:"uint16",array:!1,scale:4,offset:0,units:"kcal/day",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"metabolicAge",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"years",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"visceralFatRating",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"userProfileIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"bmi",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"kg/m^2",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},51:{num:51,name:"bloodPressure",messagesKey:"bloodPressureMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"systolicPressure",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"mmHg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"diastolicPressure",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"mmHg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"meanArterialPressure",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"mmHg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"map3SampleMean",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"mmHg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"mapMorningValues",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"mmHg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"mapEveningValues",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"mmHg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"heartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"heartRateType",type:"hrType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"status",type:"bpStatus",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"userProfileIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},103:{num:103,name:"monitoringInfo",messagesKey:"monitoringInfoMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"localTimestamp",type:"localDateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"activityType",type:"activityType",baseType:"enum",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"cyclesToDistance",type:"uint16",baseType:"uint16",array:!0,scale:5e3,offset:0,units:"m/cycle",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"cyclesToCalories",type:"uint16",baseType:"uint16",array:!0,scale:5e3,offset:0,units:"kcal/cycle",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"restingMetabolicRate",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal / day",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},55:{num:55,name:"monitoring",messagesKey:"monitoringMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"deviceIndex",type:"deviceIndex",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"calories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"distance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"cycles",type:"uint32",baseType:"uint32",array:!1,scale:2,offset:0,units:"cycles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"steps",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"steps",bits:[],components:[],hasComponents:!1,map:[{name:"activityType",value:6},{name:"activityType",value:1}]},{name:"strokes",type:"uint32",baseType:"uint32",scale:2,offset:0,units:"strokes",bits:[],components:[],hasComponents:!1,map:[{name:"activityType",value:2},{name:"activityType",value:5}]}]},4:{num:4,name:"activeTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"activityType",type:"activityType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"activitySubtype",type:"activitySubtype",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"activityLevel",type:"activityLevel",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"distance16",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"100 * m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"cycles16",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"2 * cycles (steps)",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"activeTime16",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"localTimestamp",type:"localDateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"temperature",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"temperatureMin",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"temperatureMax",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},16:{num:16,name:"activityTime",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"minutes",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},19:{num:19,name:"activeCalories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"currentActivityTypeIntensity",type:"byte",baseType:"byte",array:!1,scale:[1,1],offset:[0,0],units:["",""],bits:[5,3],components:["5","28"],isAccumulated:!1,hasComponents:!0,subFields:[]},25:{num:25,name:"timestampMin8",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},26:{num:26,name:"timestamp16",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},27:{num:27,name:"heartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},28:{num:28,name:"intensity",type:"uint8",baseType:"uint8",array:!1,scale:10,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},29:{num:29,name:"durationMin",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},30:{num:30,name:"duration",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},31:{num:31,name:"ascent",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},32:{num:32,name:"descent",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},33:{num:33,name:"moderateActivityMinutes",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"minutes",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},34:{num:34,name:"vigorousActivityMinutes",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"minutes",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},211:{num:211,name:"monitoringHrData",messagesKey:"monitoringHrDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"restingHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"currentDayRestingHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},269:{num:269,name:"spo2Data",messagesKey:"spo2DataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"readingSpo2",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"readingConfidence",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"mode",type:"spo2MeasurementType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},132:{num:132,name:"hr",messagesKey:"hrMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"fractionalTimestamp",type:"uint16",baseType:"uint16",array:!1,scale:32768,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"time256",type:"uint8",baseType:"uint8",array:!1,scale:[256],offset:[0],units:["s"],bits:[8],components:["0"],isAccumulated:!1,hasComponents:!0,subFields:[]},6:{num:6,name:"filteredBpm",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"eventTimestamp",type:"uint32",baseType:"uint32",array:!0,scale:1024,offset:0,units:"s",bits:[],components:[],isAccumulated:!0,hasComponents:!1,subFields:[]},10:{num:10,name:"eventTimestamp12",type:"byte",baseType:"byte",array:!0,scale:[1024,1024,1024,1024,1024,1024,1024,1024,1024,1024],offset:[0,0,0,0,0,0,0,0,0,0],units:["s","","","","","","","","",""],bits:[12,12,12,12,12,12,12,12,12,12],components:["9","9","9","9","9","9","9","9","9","9"],isAccumulated:!1,hasComponents:!0,subFields:[]}}},227:{num:227,name:"stressLevel",messagesKey:"stressLevelMesgs",fields:{0:{num:0,name:"stressLevelValue",type:"sint16",baseType:"sint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"stressLevelTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},229:{num:229,name:"maxMetData",messagesKey:"maxMetDataMesgs",fields:{0:{num:0,name:"updateTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"vo2Max",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"mL/kg/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"maxMetCategory",type:"maxMetCategory",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"calibratedData",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"hrSource",type:"maxMetHeartRateSource",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"speedSource",type:"maxMetSpeedSource",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},314:{num:314,name:"hsaBodyBatteryData",messagesKey:"hsaBodyBatteryDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"processingInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"level",type:"sint8",baseType:"sint8",array:!0,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"charged",type:"sint16",baseType:"sint16",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"uncharged",type:"sint16",baseType:"sint16",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},315:{num:315,name:"hsaEvent",messagesKey:"hsaEventMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"eventId",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},302:{num:302,name:"hsaAccelerometerData",messagesKey:"hsaAccelerometerDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"samplingInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"accelX",type:"sint16",baseType:"sint16",array:!0,scale:1.024,offset:0,units:"mG",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"accelY",type:"sint16",baseType:"sint16",array:!0,scale:1.024,offset:0,units:"mG",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"accelZ",type:"sint16",baseType:"sint16",array:!0,scale:1.024,offset:0,units:"mG",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"timestamp32k",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},376:{num:376,name:"hsaGyroscopeData",messagesKey:"hsaGyroscopeDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"samplingInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"1/32768 s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"gyroX",type:"sint16",baseType:"sint16",array:!0,scale:28.57143,offset:0,units:"deg/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"gyroY",type:"sint16",baseType:"sint16",array:!0,scale:28.57143,offset:0,units:"deg/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"gyroZ",type:"sint16",baseType:"sint16",array:!0,scale:28.57143,offset:0,units:"deg/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"timestamp32k",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"1/32768 s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},304:{num:304,name:"hsaStepData",messagesKey:"hsaStepDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"processingInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"steps",type:"uint32",baseType:"uint32",array:!0,scale:1,offset:0,units:"steps",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},305:{num:305,name:"hsaSpo2Data",messagesKey:"hsaSpo2DataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"processingInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"readingSpo2",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"confidence",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},306:{num:306,name:"hsaStressData",messagesKey:"hsaStressDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"processingInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"stressLevel",type:"sint8",baseType:"sint8",array:!0,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},307:{num:307,name:"hsaRespirationData",messagesKey:"hsaRespirationDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"processingInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"respirationRate",type:"sint16",baseType:"sint16",array:!0,scale:100,offset:0,units:"breaths/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},308:{num:308,name:"hsaHeartRateData",messagesKey:"hsaHeartRateDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"processingInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"status",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"heartRate",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},389:{num:389,name:"hsaConfigurationData",messagesKey:"hsaConfigurationDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"data",type:"byte",baseType:"byte",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"dataSize",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},409:{num:409,name:"hsaWristTemperatureData",messagesKey:"hsaWristTemperatureDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"processingInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"value",type:"uint16",baseType:"uint16",array:!0,scale:1e3,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},145:{num:145,name:"memoGlob",messagesKey:"memoGlobMesgs",fields:{250:{num:250,name:"partIndex",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"memo",type:"byte",baseType:"byte",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"mesgNum",type:"mesgNum",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"parentIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"fieldNum",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"data",type:"uint8z",baseType:"uint8z",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},275:{num:275,name:"sleepLevel",messagesKey:"sleepLevelMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"sleepLevel",type:"sleepLevel",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},82:{num:82,name:"antChannelId",messagesKey:"antChannelIdMesgs",fields:{0:{num:0,name:"channelNumber",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"deviceType",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"deviceNumber",type:"uint16z",baseType:"uint16z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"transmissionType",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"deviceIndex",type:"deviceIndex",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},80:{num:80,name:"antRx",messagesKey:"antRxMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"fractionalTimestamp",type:"uint16",baseType:"uint16",array:!1,scale:32768,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"mesgId",type:"byte",baseType:"byte",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"mesgData",type:"byte",baseType:"byte",array:!0,scale:[1,1,1,1,1,1,1,1,1],offset:[0,0,0,0,0,0,0,0,0],units:["","","","","","","","",""],bits:[8,8,8,8,8,8,8,8,8],components:["3","4","4","4","4","4","4","4","4"],isAccumulated:!1,hasComponents:!0,subFields:[]},3:{num:3,name:"channelNumber",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"data",type:"byte",baseType:"byte",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},81:{num:81,name:"antTx",messagesKey:"antTxMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"fractionalTimestamp",type:"uint16",baseType:"uint16",array:!1,scale:32768,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"mesgId",type:"byte",baseType:"byte",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"mesgData",type:"byte",baseType:"byte",array:!0,scale:[1,1,1,1,1,1,1,1,1],offset:[0,0,0,0,0,0,0,0,0],units:["","","","","","","","",""],bits:[8,8,8,8,8,8,8,8,8],components:["3","4","4","4","4","4","4","4","4"],isAccumulated:!1,hasComponents:!0,subFields:[]},3:{num:3,name:"channelNumber",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"data",type:"byte",baseType:"byte",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},200:{num:200,name:"exdScreenConfiguration",messagesKey:"exdScreenConfigurationMesgs",fields:{0:{num:0,name:"screenIndex",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"fieldCount",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"layout",type:"exdLayout",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"screenEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},201:{num:201,name:"exdDataFieldConfiguration",messagesKey:"exdDataFieldConfigurationMesgs",fields:{0:{num:0,name:"screenIndex",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"conceptField",type:"byte",baseType:"byte",array:!1,scale:[1,1],offset:[0,0],units:["",""],bits:[4,4],components:["2","3"],isAccumulated:!1,hasComponents:!0,subFields:[]},2:{num:2,name:"fieldId",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"conceptCount",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"displayType",type:"exdDisplayType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"title",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},202:{num:202,name:"exdDataConceptConfiguration",messagesKey:"exdDataConceptConfigurationMesgs",fields:{0:{num:0,name:"screenIndex",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"conceptField",type:"byte",baseType:"byte",array:!1,scale:[1,1],offset:[0,0],units:["",""],bits:[4,4],components:["2","3"],isAccumulated:!1,hasComponents:!0,subFields:[]},2:{num:2,name:"fieldId",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"conceptIndex",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"dataPage",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"conceptKey",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"scaling",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"dataUnits",type:"exdDataUnits",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"qualifier",type:"exdQualifiers",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"descriptor",type:"exdDescriptors",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"isSigned",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},268:{num:268,name:"diveSummary",messagesKey:"diveSummaryMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"referenceMesg",type:"mesgNum",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"referenceIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"avgDepth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"maxDepth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"surfaceInterval",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"startCns",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"endCns",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"startN2",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"endN2",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"o2Toxicity",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"OTUs",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"diveNumber",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"bottomTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"avgPressureSac",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"bar/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"avgVolumeSac",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"L/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"avgRmv",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"L/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"descentTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},16:{num:16,name:"ascentTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},17:{num:17,name:"avgAscentRate",type:"sint32",baseType:"sint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"avgDescentRate",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"maxAscentRate",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"maxDescentRate",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},25:{num:25,name:"hangTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},289:{num:289,name:"aadAccelFeatures",messagesKey:"aadAccelFeaturesMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"time",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"energyTotal",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"zeroCrossCnt",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"instance",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"timeAboveThreshold",type:"uint16",baseType:"uint16",array:!1,scale:25,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},78:{num:78,name:"hrv",messagesKey:"hrvMesgs",fields:{0:{num:0,name:"time",type:"uint16",baseType:"uint16",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},290:{num:290,name:"beatIntervals",messagesKey:"beatIntervalsMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"time",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},370:{num:370,name:"hrvStatusSummary",messagesKey:"hrvStatusSummaryMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"weeklyAverage",type:"uint16",baseType:"uint16",array:!1,scale:128,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"lastNightAverage",type:"uint16",baseType:"uint16",array:!1,scale:128,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"lastNight5MinHigh",type:"uint16",baseType:"uint16",array:!1,scale:128,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"baselineLowUpper",type:"uint16",baseType:"uint16",array:!1,scale:128,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"baselineBalancedLower",type:"uint16",baseType:"uint16",array:!1,scale:128,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"baselineBalancedUpper",type:"uint16",baseType:"uint16",array:!1,scale:128,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"status",type:"hrvStatus",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},371:{num:371,name:"hrvValue",messagesKey:"hrvValueMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"value",type:"uint16",baseType:"uint16",array:!1,scale:128,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},372:{num:372,name:"rawBbi",messagesKey:"rawBbiMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"data",type:"uint16",baseType:"uint16",array:!0,scale:[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],offset:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],units:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],bits:[14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1],components:["2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4"],isAccumulated:!1,hasComponents:!0,subFields:[]},2:{num:2,name:"time",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"quality",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"gap",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},297:{num:297,name:"respirationRate",messagesKey:"respirationRateMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"respirationRate",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"breaths/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},387:{num:387,name:"chronoShotSession",messagesKey:"chronoShotSessionMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"minSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"maxSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"avgSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"shotCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"projectileType",type:"projectileType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"grainWeight",type:"uint32",baseType:"uint32",array:!1,scale:10,offset:0,units:"gr",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"standardDeviation",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},388:{num:388,name:"chronoShotData",messagesKey:"chronoShotDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"shotSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"shotNum",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},319:{num:319,name:"tankUpdate",messagesKey:"tankUpdateMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"sensor",type:"antChannelId",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"pressure",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"bar",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},323:{num:323,name:"tankSummary",messagesKey:"tankSummaryMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"sensor",type:"antChannelId",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"startPressure",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"bar",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"endPressure",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"bar",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"volumeUsed",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"L",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},346:{num:346,name:"sleepAssessment",messagesKey:"sleepAssessmentMesgs",fields:{0:{num:0,name:"combinedAwakeScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"awakeTimeScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"awakeningsCountScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"deepSleepScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"sleepDurationScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"lightSleepScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"overallSleepScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"sleepQualityScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"sleepRecoveryScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"remSleepScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"sleepRestlessnessScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"awakeningsCount",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"interruptionsScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"averageStressDuringSleep",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},470:{num:470,name:"sleepDisruptionSeverityPeriod",messagesKey:"sleepDisruptionSeverityPeriodMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"severity",type:"sleepDisruptionSeverity",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},471:{num:471,name:"sleepDisruptionOvernightSeverity",messagesKey:"sleepDisruptionOvernightSeverityMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"severity",type:"sleepDisruptionSeverity",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},412:{num:412,name:"napEvent",messagesKey:"napEventMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"startTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"seconds",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"startTimezoneOffset",type:"sint16",baseType:"sint16",array:!1,scale:1,offset:0,units:"minutes",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"endTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"seconds",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"endTimezoneOffset",type:"sint16",baseType:"sint16",array:!1,scale:1,offset:0,units:"minutes",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"feedback",type:"napPeriodFeedback",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"isDeleted",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"source",type:"napSource",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"updateTimestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},398:{num:398,name:"skinTempOvernight",messagesKey:"skinTempOvernightMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"localTimestamp",type:"localDateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"averageDeviation",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"average7DayDeviation",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"nightlyValue",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},105:{num:105,name:"pad",messagesKey:"padMesgs",fields:{}}},types:{file:{1:"device",2:"settings",3:"sport",4:"activity",5:"workout",6:"course",7:"schedules",9:"weight",10:"totals",11:"goals",14:"bloodPressure",15:"monitoringA",20:"activitySummary",28:"monitoringDaily",32:"monitoringB",34:"segment",35:"segmentList",40:"exdConfiguration",247:"mfgRangeMin",254:"mfgRangeMax"},mesgNum:{0:"fileId",1:"capabilities",2:"deviceSettings",3:"userProfile",4:"hrmProfile",5:"sdmProfile",6:"bikeProfile",7:"zonesTarget",8:"hrZone",9:"powerZone",10:"metZone",12:"sport",13:"trainingSettings",15:"goal",18:"session",19:"lap",20:"record",21:"event",23:"deviceInfo",26:"workout",27:"workoutStep",28:"schedule",30:"weightScale",31:"course",32:"coursePoint",33:"totals",34:"activity",35:"software",37:"fileCapabilities",38:"mesgCapabilities",39:"fieldCapabilities",49:"fileCreator",51:"bloodPressure",53:"speedZone",55:"monitoring",72:"trainingFile",78:"hrv",80:"antRx",81:"antTx",82:"antChannelId",101:"length",103:"monitoringInfo",105:"pad",106:"slaveDevice",127:"connectivity",128:"weatherConditions",129:"weatherAlert",131:"cadenceZone",132:"hr",142:"segmentLap",145:"memoGlob",148:"segmentId",149:"segmentLeaderboardEntry",150:"segmentPoint",151:"segmentFile",158:"workoutSession",159:"watchfaceSettings",160:"gpsMetadata",161:"cameraEvent",162:"timestampCorrelation",164:"gyroscopeData",165:"accelerometerData",167:"threeDSensorCalibration",169:"videoFrame",174:"obdiiData",177:"nmeaSentence",178:"aviationAttitude",184:"video",185:"videoTitle",186:"videoDescription",187:"videoClip",188:"ohrSettings",200:"exdScreenConfiguration",201:"exdDataFieldConfiguration",202:"exdDataConceptConfiguration",206:"fieldDescription",207:"developerDataId",208:"magnetometerData",209:"barometerData",210:"oneDSensorCalibration",211:"monitoringHrData",216:"timeInZone",225:"set",227:"stressLevel",229:"maxMetData",258:"diveSettings",259:"diveGas",262:"diveAlarm",264:"exerciseTitle",268:"diveSummary",269:"spo2Data",275:"sleepLevel",285:"jump",289:"aadAccelFeatures",290:"beatIntervals",297:"respirationRate",302:"hsaAccelerometerData",304:"hsaStepData",305:"hsaSpo2Data",306:"hsaStressData",307:"hsaRespirationData",308:"hsaHeartRateData",312:"split",313:"splitSummary",314:"hsaBodyBatteryData",315:"hsaEvent",317:"climbPro",319:"tankUpdate",323:"tankSummary",346:"sleepAssessment",370:"hrvStatusSummary",371:"hrvValue",372:"rawBbi",375:"deviceAuxBatteryInfo",376:"hsaGyroscopeData",387:"chronoShotSession",388:"chronoShotData",389:"hsaConfigurationData",393:"diveApneaAlarm",398:"skinTempOvernight",409:"hsaWristTemperatureData",412:"napEvent",470:"sleepDisruptionSeverityPeriod",471:"sleepDisruptionOvernightSeverity",65280:"mfgRangeMin",65534:"mfgRangeMax"},checksum:{0:"clear",1:"ok"},fileFlags:{2:"read",4:"write",8:"erase"},mesgCount:{0:"numPerFile",1:"maxPerFile",2:"maxPerFileType"},dateTime:{268435456:"min"},localDateTime:{268435456:"min"},messageIndex:{32768:"selected",28672:"reserved",4095:"mask"},deviceIndex:{0:"creator"},gender:{0:"female",1:"male"},language:{0:"english",1:"french",2:"italian",3:"german",4:"spanish",5:"croatian",6:"czech",7:"danish",8:"dutch",9:"finnish",10:"greek",11:"hungarian",12:"norwegian",13:"polish",14:"portuguese",15:"slovakian",16:"slovenian",17:"swedish",18:"russian",19:"turkish",20:"latvian",21:"ukrainian",22:"arabic",23:"farsi",24:"bulgarian",25:"romanian",26:"chinese",27:"japanese",28:"korean",29:"taiwanese",30:"thai",31:"hebrew",32:"brazilianPortuguese",33:"indonesian",34:"malaysian",35:"vietnamese",36:"burmese",37:"mongolian",254:"custom"},languageBits0:{1:"english",2:"french",4:"italian",8:"german",16:"spanish",32:"croatian",64:"czech",128:"danish"},languageBits1:{1:"dutch",2:"finnish",4:"greek",8:"hungarian",16:"norwegian",32:"polish",64:"portuguese",128:"slovakian"},languageBits2:{1:"slovenian",2:"swedish",4:"russian",8:"turkish",16:"latvian",32:"ukrainian",64:"arabic",128:"farsi"},languageBits3:{1:"bulgarian",2:"romanian",4:"chinese",8:"japanese",16:"korean",32:"taiwanese",64:"thai",128:"hebrew"},languageBits4:{1:"brazilianPortuguese",2:"indonesian",4:"malaysian",8:"vietnamese",16:"burmese",32:"mongolian"},timeZone:{0:"almaty",1:"bangkok",2:"bombay",3:"brasilia",4:"cairo",5:"capeVerdeIs",6:"darwin",7:"eniwetok",8:"fiji",9:"hongKong",10:"islamabad",11:"kabul",12:"magadan",13:"midAtlantic",14:"moscow",15:"muscat",16:"newfoundland",17:"samoa",18:"sydney",19:"tehran",20:"tokyo",21:"usAlaska",22:"usAtlantic",23:"usCentral",24:"usEastern",25:"usHawaii",26:"usMountain",27:"usPacific",28:"other",29:"auckland",30:"kathmandu",31:"europeWesternWet",32:"europeCentralCet",33:"europeEasternEet",34:"jakarta",35:"perth",36:"adelaide",37:"brisbane",38:"tasmania",39:"iceland",40:"amsterdam",41:"athens",42:"barcelona",43:"berlin",44:"brussels",45:"budapest",46:"copenhagen",47:"dublin",48:"helsinki",49:"lisbon",50:"london",51:"madrid",52:"munich",53:"oslo",54:"paris",55:"prague",56:"reykjavik",57:"rome",58:"stockholm",59:"vienna",60:"warsaw",61:"zurich",62:"quebec",63:"ontario",64:"manitoba",65:"saskatchewan",66:"alberta",67:"britishColumbia",68:"boise",69:"boston",70:"chicago",71:"dallas",72:"denver",73:"kansasCity",74:"lasVegas",75:"losAngeles",76:"miami",77:"minneapolis",78:"newYork",79:"newOrleans",80:"phoenix",81:"santaFe",82:"seattle",83:"washingtonDc",84:"usArizona",85:"chita",86:"ekaterinburg",87:"irkutsk",88:"kaliningrad",89:"krasnoyarsk",90:"novosibirsk",91:"petropavlovskKamchatskiy",92:"samara",93:"vladivostok",94:"mexicoCentral",95:"mexicoMountain",96:"mexicoPacific",97:"capeTown",98:"winkhoek",99:"lagos",100:"riyahd",101:"venezuela",102:"australiaLh",103:"santiago",253:"manual",254:"automatic"},displayMeasure:{0:"metric",1:"statute",2:"nautical"},displayHeart:{0:"bpm",1:"max",2:"reserve"},displayPower:{0:"watts",1:"percentFtp"},displayPosition:{0:"degree",1:"degreeMinute",2:"degreeMinuteSecond",3:"austrianGrid",4:"britishGrid",5:"dutchGrid",6:"hungarianGrid",7:"finnishGrid",8:"germanGrid",9:"icelandicGrid",10:"indonesianEquatorial",11:"indonesianIrian",12:"indonesianSouthern",13:"indiaZone0",14:"indiaZoneIA",15:"indiaZoneIB",16:"indiaZoneIIA",17:"indiaZoneIIB",18:"indiaZoneIIIA",19:"indiaZoneIIIB",20:"indiaZoneIVA",21:"indiaZoneIVB",22:"irishTransverse",23:"irishGrid",24:"loran",25:"maidenheadGrid",26:"mgrsGrid",27:"newZealandGrid",28:"newZealandTransverse",29:"qatarGrid",30:"modifiedSwedishGrid",31:"swedishGrid",32:"southAfricanGrid",33:"swissGrid",34:"taiwanGrid",35:"unitedStatesGrid",36:"utmUpsGrid",37:"westMalayan",38:"borneoRso",39:"estonianGrid",40:"latvianGrid",41:"swedishRef99Grid"},switch:{0:"off",1:"on",2:"auto"},sport:{0:"generic",1:"running",2:"cycling",3:"transition",4:"fitnessEquipment",5:"swimming",6:"basketball",7:"soccer",8:"tennis",9:"americanFootball",10:"training",11:"walking",12:"crossCountrySkiing",13:"alpineSkiing",14:"snowboarding",15:"rowing",16:"mountaineering",17:"hiking",18:"multisport",19:"paddling",20:"flying",21:"eBiking",22:"motorcycling",23:"boating",24:"driving",25:"golf",26:"hangGliding",27:"horsebackRiding",28:"hunting",29:"fishing",30:"inlineSkating",31:"rockClimbing",32:"sailing",33:"iceSkating",34:"skyDiving",35:"snowshoeing",36:"snowmobiling",37:"standUpPaddleboarding",38:"surfing",39:"wakeboarding",40:"waterSkiing",41:"kayaking",42:"rafting",43:"windsurfing",44:"kitesurfing",45:"tactical",46:"jumpmaster",47:"boxing",48:"floorClimbing",49:"baseball",53:"diving",56:"shooting",58:"winterSport",59:"grinding",62:"hiit",63:"videoGaming",64:"racket",65:"wheelchairPushWalk",66:"wheelchairPushRun",67:"meditation",68:"paraSport",69:"discGolf",70:"teamSport",71:"cricket",72:"rugby",73:"hockey",74:"lacrosse",75:"volleyball",76:"waterTubing",77:"wakesurfing",78:"waterSport",79:"archery",80:"mixedMartialArts",81:"motorSports",82:"snorkeling",83:"dance",84:"jumpRope",85:"poolApnea",86:"mobility",87:"geocaching",88:"canoeing",254:"all"},sportBits0:{1:"generic",2:"running",4:"cycling",8:"transition",16:"fitnessEquipment",32:"swimming",64:"basketball",128:"soccer"},sportBits1:{1:"tennis",2:"americanFootball",4:"training",8:"walking",16:"crossCountrySkiing",32:"alpineSkiing",64:"snowboarding",128:"rowing"},sportBits2:{1:"mountaineering",2:"hiking",4:"multisport",8:"paddling",16:"flying",32:"eBiking",64:"motorcycling",128:"boating"},sportBits3:{1:"driving",2:"golf",4:"hangGliding",8:"horsebackRiding",16:"hunting",32:"fishing",64:"inlineSkating",128:"rockClimbing"},sportBits4:{1:"sailing",2:"iceSkating",4:"skyDiving",8:"snowshoeing",16:"snowmobiling",32:"standUpPaddleboarding",64:"surfing",128:"wakeboarding"},sportBits5:{1:"waterSkiing",2:"kayaking",4:"rafting",8:"windsurfing",16:"kitesurfing",32:"tactical",64:"jumpmaster",128:"boxing"},sportBits6:{1:"floorClimbing"},subSport:{0:"generic",1:"treadmill",2:"street",3:"trail",4:"track",5:"spin",6:"indoorCycling",7:"road",8:"mountain",9:"downhill",10:"recumbent",11:"cyclocross",12:"handCycling",13:"trackCycling",14:"indoorRowing",15:"elliptical",16:"stairClimbing",17:"lapSwimming",18:"openWater",19:"flexibilityTraining",20:"strengthTraining",21:"warmUp",22:"match",23:"exercise",24:"challenge",25:"indoorSkiing",26:"cardioTraining",27:"indoorWalking",28:"eBikeFitness",29:"bmx",30:"casualWalking",31:"speedWalking",32:"bikeToRunTransition",33:"runToBikeTransition",34:"swimToBikeTransition",35:"atv",36:"motocross",37:"backcountry",38:"resort",39:"rcDrone",40:"wingsuit",41:"whitewater",42:"skateSkiing",43:"yoga",44:"pilates",45:"indoorRunning",46:"gravelCycling",47:"eBikeMountain",48:"commuting",49:"mixedSurface",50:"navigate",51:"trackMe",52:"map",53:"singleGasDiving",54:"multiGasDiving",55:"gaugeDiving",56:"apneaDiving",57:"apneaHunting",58:"virtualActivity",59:"obstacle",62:"breathing",63:"ccrDiving",65:"sailRace",66:"expedition",67:"ultra",68:"indoorClimbing",69:"bouldering",70:"hiit",71:"indoorGrinding",72:"huntingWithDogs",73:"amrap",74:"emom",75:"tabata",77:"esport",78:"triathlon",79:"duathlon",80:"brick",81:"swimRun",82:"adventureRace",83:"truckerWorkout",84:"pickleball",85:"padel",86:"indoorWheelchairWalk",87:"indoorWheelchairRun",88:"indoorHandCycling",90:"field",91:"ice",92:"ultimate",93:"platform",94:"squash",95:"badminton",96:"racquetball",97:"tableTennis",98:"overland",99:"trollingMotor",110:"flyCanopy",111:"flyParaglide",112:"flyParamotor",113:"flyPressurized",114:"flyNavigate",115:"flyTimer",116:"flyAltimeter",117:"flyWx",118:"flyVfr",119:"flyIfr",121:"dynamicApnea",123:"enduro",124:"rucking",125:"rally",126:"poolTriathlon",127:"eBikeEnduro",254:"all"},sportEvent:{0:"uncategorized",1:"geocaching",2:"fitness",3:"recreation",4:"race",5:"specialEvent",6:"training",7:"transportation",8:"touring"},activity:{0:"manual",1:"autoMultiSport"},intensity:{0:"active",1:"rest",2:"warmup",3:"cooldown",4:"recovery",5:"interval",6:"other"},sessionTrigger:{0:"activityEnd",1:"manual",2:"autoMultiSport",3:"fitnessEquipment"},autolapTrigger:{0:"time",1:"distance",2:"positionStart",3:"positionLap",4:"positionWaypoint",5:"positionMarked",6:"off",13:"autoSelect"},lapTrigger:{0:"manual",1:"time",2:"distance",3:"positionStart",4:"positionLap",5:"positionWaypoint",6:"positionMarked",7:"sessionEnd",8:"fitnessEquipment"},timeMode:{0:"hour12",1:"hour24",2:"military",3:"hour12WithSeconds",4:"hour24WithSeconds",5:"utc"},backlightMode:{0:"off",1:"manual",2:"keyAndMessages",3:"autoBrightness",4:"smartNotifications",5:"keyAndMessagesNight",6:"keyAndMessagesAndSmartNotifications"},dateMode:{0:"dayMonth",1:"monthDay"},backlightTimeout:{0:"infinite"},event:{0:"timer",3:"workout",4:"workoutStep",5:"powerDown",6:"powerUp",7:"offCourse",8:"session",9:"lap",10:"coursePoint",11:"battery",12:"virtualPartnerPace",13:"hrHighAlert",14:"hrLowAlert",15:"speedHighAlert",16:"speedLowAlert",17:"cadHighAlert",18:"cadLowAlert",19:"powerHighAlert",20:"powerLowAlert",21:"recoveryHr",22:"batteryLow",23:"timeDurationAlert",24:"distanceDurationAlert",25:"calorieDurationAlert",26:"activity",27:"fitnessEquipment",28:"length",32:"userMarker",33:"sportPoint",36:"calibration",42:"frontGearChange",43:"rearGearChange",44:"riderPositionChange",45:"elevHighAlert",46:"elevLowAlert",47:"commTimeout",54:"autoActivityDetect",56:"diveAlert",57:"diveGasSwitched",71:"tankPressureReserve",72:"tankPressureCritical",73:"tankLost",75:"radarThreatAlert",76:"tankBatteryLow",81:"tankPodConnected",82:"tankPodDisconnected"},eventType:{0:"start",1:"stop",2:"consecutiveDepreciated",3:"marker",4:"stopAll",5:"beginDepreciated",6:"endDepreciated",7:"endAllDepreciated",8:"stopDisable",9:"stopDisableAll"},timerTrigger:{0:"manual",1:"auto",2:"fitnessEquipment"},fitnessEquipmentState:{0:"ready",1:"inUse",2:"paused",3:"unknown"},tone:{0:"off",1:"tone",2:"vibrate",3:"toneAndVibrate"},autoscroll:{0:"none",1:"slow",2:"medium",3:"fast"},activityClass:{127:"level",100:"levelMax",128:"athlete"},hrZoneCalc:{0:"custom",1:"percentMaxHr",2:"percentHrr",3:"percentLthr"},pwrZoneCalc:{0:"custom",1:"percentFtp"},wktStepDuration:{0:"time",1:"distance",2:"hrLessThan",3:"hrGreaterThan",4:"calories",5:"open",6:"repeatUntilStepsCmplt",7:"repeatUntilTime",8:"repeatUntilDistance",9:"repeatUntilCalories",10:"repeatUntilHrLessThan",11:"repeatUntilHrGreaterThan",12:"repeatUntilPowerLessThan",13:"repeatUntilPowerGreaterThan",14:"powerLessThan",15:"powerGreaterThan",16:"trainingPeaksTss",17:"repeatUntilPowerLastLapLessThan",18:"repeatUntilMaxPowerLastLapLessThan",19:"power3sLessThan",20:"power10sLessThan",21:"power30sLessThan",22:"power3sGreaterThan",23:"power10sGreaterThan",24:"power30sGreaterThan",25:"powerLapLessThan",26:"powerLapGreaterThan",27:"repeatUntilTrainingPeaksTss",28:"repetitionTime",29:"reps",31:"timeOnly"},wktStepTarget:{0:"speed",1:"heartRate",2:"open",3:"cadence",4:"power",5:"grade",6:"resistance",7:"power3s",8:"power10s",9:"power30s",10:"powerLap",11:"swimStroke",12:"speedLap",13:"heartRateLap"},goal:{0:"time",1:"distance",2:"calories",3:"frequency",4:"steps",5:"ascent",6:"activeMinutes"},goalRecurrence:{0:"off",1:"daily",2:"weekly",3:"monthly",4:"yearly",5:"custom"},goalSource:{0:"auto",1:"community",2:"user"},schedule:{0:"workout",1:"course"},coursePoint:{0:"generic",1:"summit",2:"valley",3:"water",4:"food",5:"danger",6:"left",7:"right",8:"straight",9:"firstAid",10:"fourthCategory",11:"thirdCategory",12:"secondCategory",13:"firstCategory",14:"horsCategory",15:"sprint",16:"leftFork",17:"rightFork",18:"middleFork",19:"slightLeft",20:"sharpLeft",21:"slightRight",22:"sharpRight",23:"uTurn",24:"segmentStart",25:"segmentEnd",27:"campsite",28:"aidStation",29:"restArea",30:"generalDistance",31:"service",32:"energyGel",33:"sportsDrink",34:"mileMarker",35:"checkpoint",36:"shelter",37:"meetingSpot",38:"overlook",39:"toilet",40:"shower",41:"gear",42:"sharpCurve",43:"steepIncline",44:"tunnel",45:"bridge",46:"obstacle",47:"crossing",48:"store",49:"transition",50:"navaid",51:"transport",52:"alert",53:"info"},manufacturer:{1:"garmin",2:"garminFr405Antfs",3:"zephyr",4:"dayton",5:"idt",6:"srm",7:"quarq",8:"ibike",9:"saris",10:"sparkHk",11:"tanita",12:"echowell",13:"dynastreamOem",14:"nautilus",15:"dynastream",16:"timex",17:"metrigear",18:"xelic",19:"beurer",20:"cardiosport",21:"aAndD",22:"hmm",23:"suunto",24:"thitaElektronik",25:"gpulse",26:"cleanMobile",27:"pedalBrain",28:"peaksware",29:"saxonar",30:"lemondFitness",31:"dexcom",32:"wahooFitness",33:"octaneFitness",34:"archinoetics",35:"theHurtBox",36:"citizenSystems",37:"magellan",38:"osynce",39:"holux",40:"concept2",41:"shimano",42:"oneGiantLeap",43:"aceSensor",44:"brimBrothers",45:"xplova",46:"perceptionDigital",47:"bf1systems",48:"pioneer",49:"spantec",50:"metalogics",51:"4iiiis",52:"seikoEpson",53:"seikoEpsonOem",54:"iforPowell",55:"maxwellGuider",56:"starTrac",57:"breakaway",58:"alatechTechnologyLtd",59:"mioTechnologyEurope",60:"rotor",61:"geonaute",62:"idBike",63:"specialized",64:"wtek",65:"physicalEnterprises",66:"northPoleEngineering",67:"bkool",68:"cateye",69:"stagesCycling",70:"sigmasport",71:"tomtom",72:"peripedal",73:"wattbike",76:"moxy",77:"ciclosport",78:"powerbahn",79:"acornProjectsAps",80:"lifebeam",81:"bontrager",82:"wellgo",83:"scosche",84:"magura",85:"woodway",86:"elite",87:"nielsenKellerman",88:"dkCity",89:"tacx",90:"directionTechnology",91:"magtonic",92:"1partcarbon",93:"insideRideTechnologies",94:"soundOfMotion",95:"stryd",96:"icg",97:"miPulse",98:"bsxAthletics",99:"look",100:"campagnoloSrl",101:"bodyBikeSmart",102:"praxisworks",103:"limitsTechnology",104:"topactionTechnology",105:"cosinuss",106:"fitcare",107:"magene",108:"giantManufacturingCo",109:"tigrasport",110:"salutron",111:"technogym",112:"brytonSensors",113:"latitudeLimited",114:"soaringTechnology",115:"igpsport",116:"thinkrider",117:"gopherSport",118:"waterrower",119:"orangetheory",120:"inpeak",121:"kinetic",122:"johnsonHealthTech",123:"polarElectro",124:"seesense",125:"nciTechnology",126:"iqsquare",127:"leomo",128:"ifitCom",129:"corosByte",130:"versaDesign",131:"chileaf",132:"cycplus",133:"gravaaByte",134:"sigeyi",135:"coospo",136:"geoid",137:"bosch",138:"kyto",139:"kineticSports",140:"decathlonByte",141:"tqSystems",142:"tagHeuer",143:"keiserFitness",144:"zwiftByte",145:"porscheEp",146:"blackbird",147:"meilanByte",148:"ezon",149:"laisi",150:"myzone",151:"abawo",152:"bafang",153:"luhongTechnology",255:"development",257:"healthandlife",258:"lezyne",259:"scribeLabs",260:"zwift",261:"watteam",262:"recon",263:"faveroElectronics",264:"dynovelo",265:"strava",266:"precor",267:"bryton",268:"sram",269:"navman",270:"cobi",271:"spivi",272:"mioMagellan",273:"evesports",274:"sensitivusGauge",275:"podoon",276:"lifeTimeFitness",277:"falcoEMotors",278:"minoura",279:"cycliq",280:"luxottica",281:"trainerRoad",282:"theSufferfest",283:"fullspeedahead",284:"virtualtraining",285:"feedbacksports",286:"omata",287:"vdo",288:"magneticdays",289:"hammerhead",290:"kineticByKurt",291:"shapelog",292:"dabuziduo",293:"jetblack",294:"coros",295:"virtugo",296:"velosense",297:"cycligentinc",298:"trailforks",299:"mahleEbikemotion",300:"nurvv",301:"microprogram",302:"zone5cloud",303:"greenteg",304:"yamahaMotors",305:"whoop",306:"gravaa",307:"onelap",308:"monarkExercise",309:"form",310:"decathlon",311:"syncros",312:"heatup",313:"cannondale",314:"trueFitness",315:"rGTCycling",316:"vasa",317:"raceRepublic",318:"fazua",319:"orekaTraining",320:"lsec",321:"lululemonStudio",322:"shanyue",323:"spinningMda",324:"hilldating",325:"aeroSensor",326:"nike",327:"magicshine",328:"ictrainer",329:"absoluteCycling",330:"eoSwimbetter",331:"mywhoosh",332:"ravemen",333:"tektroRacingProducts",334:"daradInnovationCorporation",335:"cycloptim",337:"runna",339:"zepp",340:"peloton",341:"carv",342:"tissot",345:"realVelo",346:"wetech",347:"jespr",348:"huawei",349:"gotoes",350:"cadenceApp",5759:"actigraphcorp"},garminProduct:{1:"hrm1",2:"axh01",3:"axb01",4:"axb02",5:"hrm2ss",6:"dsiAlf02",7:"hrm3ss",8:"hrmRunSingleByteProductId",9:"bsm",10:"bcm",11:"axs01",12:"hrmTriSingleByteProductId",13:"hrm4RunSingleByteProductId",14:"fr225SingleByteProductId",15:"gen3BsmSingleByteProductId",16:"gen3BcmSingleByteProductId",22:"hrmFitSingleByteProductId",255:"oHR",473:"fr301China",474:"fr301Japan",475:"fr301Korea",494:"fr301Taiwan",717:"fr405",782:"fr50",987:"fr405Japan",988:"fr60",1011:"dsiAlf01",1018:"fr310xt",1036:"edge500",1124:"fr110",1169:"edge800",1199:"edge500Taiwan",1213:"edge500Japan",1253:"chirp",1274:"fr110Japan",1325:"edge200",1328:"fr910xt",1333:"edge800Taiwan",1334:"edge800Japan",1341:"alf04",1345:"fr610",1360:"fr210Japan",1380:"vectorSs",1381:"vectorCp",1386:"edge800China",1387:"edge500China",1405:"approachG10",1410:"fr610Japan",1422:"edge500Korea",1436:"fr70",1446:"fr310xt4t",1461:"amx",1482:"fr10",1497:"edge800Korea",1499:"swim",1537:"fr910xtChina",1551:"fenix",1555:"edge200Taiwan",1561:"edge510",1567:"edge810",1570:"tempe",1600:"fr910xtJapan",1623:"fr620",1632:"fr220",1664:"fr910xtKorea",1688:"fr10Japan",1721:"edge810Japan",1735:"virbElite",1736:"edgeTouring",1742:"edge510Japan",1743:"hrmTri",1752:"hrmRun",1765:"fr920xt",1821:"edge510Asia",1822:"edge810China",1823:"edge810Taiwan",1836:"edge1000",1837:"vivoFit",1853:"virbRemote",1885:"vivoKi",1903:"fr15",1907:"vivoActive",1918:"edge510Korea",1928:"fr620Japan",1929:"fr620China",1930:"fr220Japan",1931:"fr220China",1936:"approachS6",1956:"vivoSmart",1967:"fenix2",1988:"epix",2050:"fenix3",2052:"edge1000Taiwan",2053:"edge1000Japan",2061:"fr15Japan",2067:"edge520",2070:"edge1000China",2072:"fr620Russia",2073:"fr220Russia",2079:"vectorS",2100:"edge1000Korea",2130:"fr920xtTaiwan",2131:"fr920xtChina",2132:"fr920xtJapan",2134:"virbx",2135:"vivoSmartApac",2140:"etrexTouch",2147:"edge25",2148:"fr25",2150:"vivoFit2",2153:"fr225",2156:"fr630",2157:"fr230",2158:"fr735xt",2160:"vivoActiveApac",2161:"vector2",2162:"vector2s",2172:"virbxe",2173:"fr620Taiwan",2174:"fr220Taiwan",2175:"truswing",2187:"d2airvenu",2188:"fenix3China",2189:"fenix3Twn",2192:"variaHeadlight",2193:"variaTaillightOld",2204:"edgeExplore1000",2219:"fr225Asia",2225:"variaRadarTaillight",2226:"variaRadarDisplay",2238:"edge20",2260:"edge520Asia",2261:"edge520Japan",2262:"d2Bravo",2266:"approachS20",2271:"vivoSmart2",2274:"edge1000Thai",2276:"variaRemote",2288:"edge25Asia",2289:"edge25Jpn",2290:"edge20Asia",2292:"approachX40",2293:"fenix3Japan",2294:"vivoSmartEmea",2310:"fr630Asia",2311:"fr630Jpn",2313:"fr230Jpn",2327:"hrm4Run",2332:"epixJapan",2337:"vivoActiveHr",2347:"vivoSmartGpsHr",2348:"vivoSmartHr",2361:"vivoSmartHrAsia",2362:"vivoSmartGpsHrAsia",2368:"vivoMove",2379:"variaTaillight",2396:"fr235Asia",2397:"fr235Japan",2398:"variaVision",2406:"vivoFit3",2407:"fenix3Korea",2408:"fenix3Sea",2413:"fenix3Hr",2417:"virbUltra30",2429:"indexSmartScale",2431:"fr235",2432:"fenix3Chronos",2441:"oregon7xx",2444:"rino7xx",2457:"epixKorea",2473:"fenix3HrChn",2474:"fenix3HrTwn",2475:"fenix3HrJpn",2476:"fenix3HrSea",2477:"fenix3HrKor",2496:"nautix",2497:"vivoActiveHrApac",2503:"fr35",2512:"oregon7xxWw",2530:"edge820",2531:"edgeExplore820",2533:"fr735xtApac",2534:"fr735xtJapan",2544:"fenix5s",2547:"d2BravoTitanium",2567:"variaUt800",2593:"runningDynamicsPod",2599:"edge820China",2600:"edge820Japan",2604:"fenix5x",2606:"vivoFitJr",2622:"vivoSmart3",2623:"vivoSport",2628:"edge820Taiwan",2629:"edge820Korea",2630:"edge820Sea",2650:"fr35Hebrew",2656:"approachS60",2667:"fr35Apac",2668:"fr35Japan",2675:"fenix3ChronosAsia",2687:"virb360",2691:"fr935",2697:"fenix5",2700:"vivoactive3",2733:"fr235ChinaNfc",2769:"foretrex601_701",2772:"vivoMoveHr",2713:"edge1030",2727:"fr35Sea",2787:"vector3",2796:"fenix5Asia",2797:"fenix5sAsia",2798:"fenix5xAsia",2806:"approachZ80",2814:"fr35Korea",2819:"d2charlie",2831:"vivoSmart3Apac",2832:"vivoSportApac",2833:"fr935Asia",2859:"descent",2878:"vivoFit4",2886:"fr645",2888:"fr645m",2891:"fr30",2900:"fenix5sPlus",2909:"edge130",2924:"edge1030Asia",2927:"vivosmart4",2945:"vivoMoveHrAsia",2962:"approachX10",2977:"fr30Asia",2988:"vivoactive3mW",3003:"fr645Asia",3004:"fr645mAsia",3011:"edgeExplore",3028:"gpsmap66",3049:"approachS10",3066:"vivoactive3mL",3076:"fr245",3077:"fr245Music",3085:"approachG80",3092:"edge130Asia",3095:"edge1030Bontrager",3110:"fenix5Plus",3111:"fenix5xPlus",3112:"edge520Plus",3113:"fr945",3121:"edge530",3122:"edge830",3126:"instinctEsports",3134:"fenix5sPlusApac",3135:"fenix5xPlusApac",3142:"edge520PlusApac",3143:"descentT1",3144:"fr235lAsia",3145:"fr245Asia",3163:"vivoActive3mApac",3192:"gen3Bsm",3193:"gen3Bcm",3218:"vivoSmart4Asia",3224:"vivoactive4Small",3225:"vivoactive4Large",3226:"venu",3246:"marqDriver",3247:"marqAviator",3248:"marqCaptain",3249:"marqCommander",3250:"marqExpedition",3251:"marqAthlete",3258:"descentMk2",3282:"fr45",3284:"gpsmap66i",3287:"fenix6SSport",3288:"fenix6S",3289:"fenix6Sport",3290:"fenix6",3291:"fenix6x",3299:"hrmDual",3300:"hrmPro",3308:"vivoMove3Premium",3314:"approachS40",3321:"fr245mAsia",3349:"edge530Apac",3350:"edge830Apac",3378:"vivoMove3",3387:"vivoActive4SmallAsia",3388:"vivoActive4LargeAsia",3389:"vivoActive4OledAsia",3405:"swim2",3420:"marqDriverAsia",3421:"marqAviatorAsia",3422:"vivoMove3Asia",3441:"fr945Asia",3446:"vivoActive3tChn",3448:"marqCaptainAsia",3449:"marqCommanderAsia",3450:"marqExpeditionAsia",3451:"marqAthleteAsia",3461:"indexSmartScale2",3466:"instinctSolar",3469:"fr45Asia",3473:"vivoactive3Daimler",3498:"legacyRey",3499:"legacyDarthVader",3500:"legacyCaptainMarvel",3501:"legacyFirstAvenger",3512:"fenix6sSportAsia",3513:"fenix6sAsia",3514:"fenix6SportAsia",3515:"fenix6Asia",3516:"fenix6xAsia",3535:"legacyCaptainMarvelAsia",3536:"legacyFirstAvengerAsia",3537:"legacyReyAsia",3538:"legacyDarthVaderAsia",3542:"descentMk2s",3558:"edge130Plus",3570:"edge1030Plus",3578:"rally200",3589:"fr745",3596:"venusqMusic",3599:"venusqMusicV2",3600:"venusq",3615:"lily",3624:"marqAdventurer",3638:"enduro",3639:"swim2Apac",3648:"marqAdventurerAsia",3652:"fr945Lte",3702:"descentMk2Asia",3703:"venu2",3704:"venu2s",3737:"venuDaimlerAsia",3739:"marqGolfer",3740:"venuDaimler",3794:"fr745Asia",3808:"variaRct715",3809:"lilyAsia",3812:"edge1030PlusAsia",3813:"edge130PlusAsia",3823:"approachS12",3872:"enduroAsia",3837:"venusqAsia",3843:"edge1040",3850:"marqGolferAsia",3851:"venu2Plus",3865:"gnss",3869:"fr55",3888:"instinct2",3889:"instinct2s",3905:"fenix7s",3906:"fenix7",3907:"fenix7x",3908:"fenix7sApac",3909:"fenix7Apac",3910:"fenix7xApac",3927:"approachG12",3930:"descentMk2sAsia",3934:"approachS42",3943:"epixGen2",3944:"epixGen2Apac",3949:"venu2sAsia",3950:"venu2Asia",3978:"fr945LteAsia",3982:"vivoMoveSport",3983:"vivomoveTrend",3986:"approachS12Asia",3990:"fr255Music",3991:"fr255SmallMusic",3992:"fr255",3993:"fr255Small",4001:"approachG12Asia",4002:"approachS42Asia",4005:"descentG1",4017:"venu2PlusAsia",4024:"fr955",4033:"fr55Asia",4061:"edge540",4062:"edge840",4063:"vivosmart5",4071:"instinct2Asia",4105:"marqGen2",4115:"venusq2",4116:"venusq2music",4124:"marqGen2Aviator",4125:"d2AirX10",4130:"hrmProPlus",4132:"descentG1Asia",4135:"tactix7",4155:"instinctCrossover",4169:"edgeExplore2",4222:"descentMk3",4223:"descentMk3i",4233:"approachS70",4257:"fr265Large",4258:"fr265Small",4260:"venu3",4261:"venu3s",4265:"tacxNeoSmart",4266:"tacxNeo2Smart",4267:"tacxNeo2TSmart",4268:"tacxNeoSmartBike",4269:"tacxSatoriSmart",4270:"tacxFlowSmart",4271:"tacxVortexSmart",4272:"tacxBushidoSmart",4273:"tacxGeniusSmart",4274:"tacxFluxFluxSSmart",4275:"tacxFlux2Smart",4276:"tacxMagnum",4305:"edge1040Asia",4312:"epixGen2Pro42",4313:"epixGen2Pro47",4314:"epixGen2Pro51",4315:"fr965",4341:"enduro2",4374:"fenix7sProSolar",4375:"fenix7ProSolar",4376:"fenix7xProSolar",4380:"lily2",4394:"instinct2x",4426:"vivoactive5",4432:"fr165",4433:"fr165Music",4440:"edge1050",4442:"descentT2",4446:"hrmFit",4472:"marqGen2Commander",4477:"lilyAthlete",4525:"rallyX10",4532:"fenix8Solar",4533:"fenix8SolarLarge",4534:"fenix8Small",4536:"fenix8",4556:"d2Mach1Pro",4575:"enduro3",4583:"instinctE40mm",4584:"instinctE45mm",4585:"instinct3Solar45mm",4586:"instinct3Amoled45mm",4587:"instinct3Amoled50mm",4588:"descentG2",4603:"venuX1",4606:"hrm200",4625:"vivoactive6",4631:"fenix8Pro",4633:"edge550",4634:"edge850",4643:"venu4",4644:"venu4s",4647:"approachS44",4655:"edgeMtb",4656:"approachS50",4666:"fenixE",4745:"bounce2",4759:"instinct3Solar50mm",4775:"tactix8Amoled",4776:"tactix8Solar",4814:"fr170Music",4815:"fr170",4825:"approachJ1",4879:"d2Mach2",4916:"fr702026",4678:"instinctCrossoverAmoled",4944:"d2AirX15",5056:"d2Mach2Pro",10007:"sdm4",10014:"edgeRemote",20533:"tacxTrainingAppWin",20534:"tacxTrainingAppMac",20565:"tacxTrainingAppMacCatalyst",20119:"trainingCenter",30045:"tacxTrainingAppAndroid",30046:"tacxTrainingAppIos",30047:"tacxTrainingAppLegacy",65531:"connectiqSimulator",65532:"androidAntplusPlugin",65534:"connect"},antplusDeviceType:{1:"antfs",11:"bikePower",12:"environmentSensorLegacy",15:"multiSportSpeedDistance",16:"control",17:"fitnessEquipment",18:"bloodPressure",19:"geocacheNode",20:"lightElectricVehicle",25:"envSensor",26:"racquet",27:"controlHub",31:"muscleOxygen",34:"shifting",35:"bikeLightMain",36:"bikeLightShared",38:"exd",40:"bikeRadar",46:"bikeAero",119:"weightScale",120:"heartRate",121:"bikeSpeedCadence",122:"bikeCadence",123:"bikeSpeed",124:"strideSpeedDistance"},antNetwork:{0:"public",1:"antplus",2:"antfs",3:"private"},workoutCapabilities:{1:"interval",2:"custom",4:"fitnessEquipment",8:"firstbeat",16:"newLeaf",32:"tcx",128:"speed",256:"heartRate",512:"distance",1024:"cadence",2048:"power",4096:"grade",8192:"resistance",16384:"protected"},batteryStatus:{1:"new",2:"good",3:"ok",4:"low",5:"critical",6:"charging",7:"unknown"},hrType:{0:"normal",1:"irregular"},courseCapabilities:{1:"processed",2:"valid",4:"time",8:"distance",16:"position",32:"heartRate",64:"power",128:"cadence",256:"training",512:"navigation",1024:"bikeway",4096:"aviation"},weight:{65534:"calculating"},workoutHr:{100:"bpmOffset"},workoutPower:{1e3:"wattsOffset"},bpStatus:{0:"noError",1:"errorIncompleteData",2:"errorNoMeasurement",3:"errorDataOutOfRange",4:"errorIrregularHeartRate"},userLocalId:{0:"localMin",15:"localMax",16:"stationaryMin",255:"stationaryMax",256:"portableMin",65534:"portableMax"},swimStroke:{0:"freestyle",1:"backstroke",2:"breaststroke",3:"butterfly",4:"drill",5:"mixed",6:"im",7:"imByRound",8:"rimo"},activityType:{0:"generic",1:"running",2:"cycling",3:"transition",4:"fitnessEquipment",5:"swimming",6:"walking",8:"sedentary",254:"all"},activitySubtype:{0:"generic",1:"treadmill",2:"street",3:"trail",4:"track",5:"spin",6:"indoorCycling",7:"road",8:"mountain",9:"downhill",10:"recumbent",11:"cyclocross",12:"handCycling",13:"trackCycling",14:"indoorRowing",15:"elliptical",16:"stairClimbing",17:"lapSwimming",18:"openWater",254:"all"},activityLevel:{0:"low",1:"medium",2:"high"},side:{0:"right",1:"left"},leftRightBalance:{127:"mask",128:"right"},leftRightBalance100:{16383:"mask",32768:"right"},lengthType:{0:"idle",1:"active"},dayOfWeek:{0:"sunday",1:"monday",2:"tuesday",3:"wednesday",4:"thursday",5:"friday",6:"saturday"},connectivityCapabilities:{1:"bluetooth",2:"bluetoothLe",4:"ant",8:"activityUpload",16:"courseDownload",32:"workoutDownload",64:"liveTrack",128:"weatherConditions",256:"weatherAlerts",512:"gpsEphemerisDownload",1024:"explicitArchive",2048:"setupIncomplete",4096:"continueSyncAfterSoftwareUpdate",8192:"connectIqAppDownload",16384:"golfCourseDownload",32768:"deviceInitiatesSync",65536:"connectIqWatchAppDownload",131072:"connectIqWidgetDownload",262144:"connectIqWatchFaceDownload",524288:"connectIqDataFieldDownload",1048576:"connectIqAppManagment",2097152:"swingSensor",4194304:"swingSensorRemote",8388608:"incidentDetection",16777216:"audioPrompts",33554432:"wifiVerification",67108864:"trueUp",134217728:"findMyWatch",268435456:"remoteManualSync",536870912:"liveTrackAutoStart",1073741824:"liveTrackMessaging",2147483648:"instantInput"},weatherReport:{0:"current",1:"forecast",1:"hourlyForecast",2:"dailyForecast"},weatherStatus:{0:"clear",1:"partlyCloudy",2:"mostlyCloudy",3:"rain",4:"snow",5:"windy",6:"thunderstorms",7:"wintryMix",8:"fog",11:"hazy",12:"hail",13:"scatteredShowers",14:"scatteredThunderstorms",15:"unknownPrecipitation",16:"lightRain",17:"heavyRain",18:"lightSnow",19:"heavySnow",20:"lightRainSnow",21:"heavyRainSnow",22:"cloudy"},weatherSeverity:{0:"unknown",1:"warning",2:"watch",3:"advisory",4:"statement"},weatherSevereType:{0:"unspecified",1:"tornado",2:"tsunami",3:"hurricane",4:"extremeWind",5:"typhoon",6:"inlandHurricane",7:"hurricaneForceWind",8:"waterspout",9:"severeThunderstorm",10:"wreckhouseWinds",11:"lesSuetesWind",12:"avalanche",13:"flashFlood",14:"tropicalStorm",15:"inlandTropicalStorm",16:"blizzard",17:"iceStorm",18:"freezingRain",19:"debrisFlow",20:"flashFreeze",21:"dustStorm",22:"highWind",23:"winterStorm",24:"heavyFreezingSpray",25:"extremeCold",26:"windChill",27:"coldWave",28:"heavySnowAlert",29:"lakeEffectBlowingSnow",30:"snowSquall",31:"lakeEffectSnow",32:"winterWeather",33:"sleet",34:"snowfall",35:"snowAndBlowingSnow",36:"blowingSnow",37:"snowAlert",38:"arcticOutflow",39:"freezingDrizzle",40:"storm",41:"stormSurge",42:"rainfall",43:"arealFlood",44:"coastalFlood",45:"lakeshoreFlood",46:"excessiveHeat",47:"heat",48:"weather",49:"highHeatAndHumidity",50:"humidexAndHealth",51:"humidex",52:"gale",53:"freezingSpray",54:"specialMarine",55:"squall",56:"strongWind",57:"lakeWind",58:"marineWeather",59:"wind",60:"smallCraftHazardousSeas",61:"hazardousSeas",62:"smallCraft",63:"smallCraftWinds",64:"smallCraftRoughBar",65:"highWaterLevel",66:"ashfall",67:"freezingFog",68:"denseFog",69:"denseSmoke",70:"blowingDust",71:"hardFreeze",72:"freeze",73:"frost",74:"fireWeather",75:"flood",76:"ripTide",77:"highSurf",78:"smog",79:"airQuality",80:"briskWind",81:"airStagnation",82:"lowWater",83:"hydrological",84:"specialWeather"},timeIntoDay:{},localtimeIntoDay:{},strokeType:{0:"noEvent",1:"other",2:"serve",3:"forehand",4:"backhand",5:"smash"},bodyLocation:{0:"leftLeg",1:"leftCalf",2:"leftShin",3:"leftHamstring",4:"leftQuad",5:"leftGlute",6:"rightLeg",7:"rightCalf",8:"rightShin",9:"rightHamstring",10:"rightQuad",11:"rightGlute",12:"torsoBack",13:"leftLowerBack",14:"leftUpperBack",15:"rightLowerBack",16:"rightUpperBack",17:"torsoFront",18:"leftAbdomen",19:"leftChest",20:"rightAbdomen",21:"rightChest",22:"leftArm",23:"leftShoulder",24:"leftBicep",25:"leftTricep",26:"leftBrachioradialis",27:"leftForearmExtensors",28:"rightArm",29:"rightShoulder",30:"rightBicep",31:"rightTricep",32:"rightBrachioradialis",33:"rightForearmExtensors",34:"neck",35:"throat",36:"waistMidBack",37:"waistFront",38:"waistLeft",39:"waistRight"},segmentLapStatus:{0:"end",1:"fail"},segmentLeaderboardType:{0:"overall",1:"personalBest",2:"connections",3:"group",4:"challenger",5:"kom",6:"qom",7:"pr",8:"goal",9:"carrot",10:"clubLeader",11:"rival",12:"last",13:"recentBest",14:"courseRecord"},segmentDeleteStatus:{0:"doNotDelete",1:"deleteOne",2:"deleteAll"},segmentSelectionType:{0:"starred",1:"suggested"},sourceType:{0:"ant",1:"antplus",2:"bluetooth",3:"bluetoothLowEnergy",4:"wifi",5:"local"},localDeviceType:{0:"gps",1:"glonass",2:"gpsGlonass",3:"accelerometer",4:"barometer",5:"temperature",10:"whr",12:"sensorHub"},bleDeviceType:{0:"connectedGps",1:"heartRate",2:"bikePower",3:"bikeSpeedCadence",4:"bikeSpeed",5:"bikeCadence",6:"footpod",7:"bikeTrainer"},antChannelId:{4026531840:"antExtendedDeviceNumberUpperNibble",251658240:"antTransmissionTypeLowerNibble",16711680:"antDeviceType",65535:"antDeviceNumber"},displayOrientation:{0:"auto",1:"portrait",2:"landscape",3:"portraitFlipped",4:"landscapeFlipped"},workoutEquipment:{0:"none",1:"swimFins",2:"swimKickboard",3:"swimPaddles",4:"swimPullBuoy",5:"swimSnorkel"},watchfaceMode:{0:"digital",1:"analog",2:"connectIq",3:"disabled"},digitalWatchfaceLayout:{0:"traditional",1:"modern",2:"bold"},analogWatchfaceLayout:{0:"minimal",1:"traditional",2:"modern"},riderPositionType:{0:"seated",1:"standing",2:"transitionToSeated",3:"transitionToStanding"},powerPhaseType:{0:"powerPhaseStartAngle",1:"powerPhaseEndAngle",2:"powerPhaseArcLength",3:"powerPhaseCenter"},cameraEventType:{0:"videoStart",1:"videoSplit",2:"videoEnd",3:"photoTaken",4:"videoSecondStreamStart",5:"videoSecondStreamSplit",6:"videoSecondStreamEnd",7:"videoSplitStart",8:"videoSecondStreamSplitStart",11:"videoPause",12:"videoSecondStreamPause",13:"videoResume",14:"videoSecondStreamResume"},sensorType:{0:"accelerometer",1:"gyroscope",2:"compass",3:"barometer"},bikeLightNetworkConfigType:{0:"auto",4:"individual",5:"highVisibility",6:"trail"},commTimeoutType:{0:"wildcardPairingTimeout",1:"pairingTimeout",2:"connectionLost",3:"connectionTimeout"},cameraOrientationType:{0:"cameraOrientation0",1:"cameraOrientation90",2:"cameraOrientation180",3:"cameraOrientation270"},attitudeStage:{0:"failed",1:"aligning",2:"degraded",3:"valid"},attitudeValidity:{1:"trackAngleHeadingValid",2:"pitchValid",4:"rollValid",8:"lateralBodyAccelValid",16:"normalBodyAccelValid",32:"turnRateValid",64:"hwFail",128:"magInvalid",256:"noGps",512:"gpsInvalid",1024:"solutionCoasting",2048:"trueTrackAngle",4096:"magneticHeading"},autoSyncFrequency:{0:"never",1:"occasionally",2:"frequent",3:"onceADay",4:"remote"},exdLayout:{0:"fullScreen",1:"halfVertical",2:"halfHorizontal",3:"halfVerticalRightSplit",4:"halfHorizontalBottomSplit",5:"fullQuarterSplit",6:"halfVerticalLeftSplit",7:"halfHorizontalTopSplit",8:"dynamic"},exdDisplayType:{0:"numerical",1:"simple",2:"graph",3:"bar",4:"circleGraph",5:"virtualPartner",6:"balance",7:"stringList",8:"string",9:"simpleDynamicIcon",10:"gauge"},exdDataUnits:{0:"noUnits",1:"laps",2:"milesPerHour",3:"kilometersPerHour",4:"feetPerHour",5:"metersPerHour",6:"degreesCelsius",7:"degreesFarenheit",8:"zone",9:"gear",10:"rpm",11:"bpm",12:"degrees",13:"millimeters",14:"meters",15:"kilometers",16:"feet",17:"yards",18:"kilofeet",19:"miles",20:"time",21:"enumTurnType",22:"percent",23:"watts",24:"wattsPerKilogram",25:"enumBatteryStatus",26:"enumBikeLightBeamAngleMode",27:"enumBikeLightBatteryStatus",28:"enumBikeLightNetworkConfigType",29:"lights",30:"seconds",31:"minutes",32:"hours",33:"calories",34:"kilojoules",35:"milliseconds",36:"secondPerMile",37:"secondPerKilometer",38:"centimeter",39:"enumCoursePoint",40:"bradians",41:"enumSport",42:"inchesHg",43:"mmHg",44:"mbars",45:"hectoPascals",46:"feetPerMin",47:"metersPerMin",48:"metersPerSec",49:"eightCardinal"},exdQualifiers:{0:"noQualifier",1:"instantaneous",2:"average",3:"lap",4:"maximum",5:"maximumAverage",6:"maximumLap",7:"lastLap",8:"averageLap",9:"toDestination",10:"toGo",11:"toNext",12:"nextCoursePoint",13:"total",14:"threeSecondAverage",15:"tenSecondAverage",16:"thirtySecondAverage",17:"percentMaximum",18:"percentMaximumAverage",19:"lapPercentMaximum",20:"elapsed",21:"sunrise",22:"sunset",23:"comparedToVirtualPartner",24:"maximum24h",25:"minimum24h",26:"minimum",27:"first",28:"second",29:"third",30:"shifter",31:"lastSport",32:"moving",33:"stopped",34:"estimatedTotal",242:"zone9",243:"zone8",244:"zone7",245:"zone6",246:"zone5",247:"zone4",248:"zone3",249:"zone2",250:"zone1"},exdDescriptors:{0:"bikeLightBatteryStatus",1:"beamAngleStatus",2:"bateryLevel",3:"lightNetworkMode",4:"numberLightsConnected",5:"cadence",6:"distance",7:"estimatedTimeOfArrival",8:"heading",9:"time",10:"batteryLevel",11:"trainerResistance",12:"trainerTargetPower",13:"timeSeated",14:"timeStanding",15:"elevation",16:"grade",17:"ascent",18:"descent",19:"verticalSpeed",20:"di2BatteryLevel",21:"frontGear",22:"rearGear",23:"gearRatio",24:"heartRate",25:"heartRateZone",26:"timeInHeartRateZone",27:"heartRateReserve",28:"calories",29:"gpsAccuracy",30:"gpsSignalStrength",31:"temperature",32:"timeOfDay",33:"balance",34:"pedalSmoothness",35:"power",36:"functionalThresholdPower",37:"intensityFactor",38:"work",39:"powerRatio",40:"normalizedPower",41:"trainingStressScore",42:"timeOnZone",43:"speed",44:"laps",45:"reps",46:"workoutStep",47:"courseDistance",48:"navigationDistance",49:"courseEstimatedTimeOfArrival",50:"navigationEstimatedTimeOfArrival",51:"courseTime",52:"navigationTime",53:"courseHeading",54:"navigationHeading",55:"powerZone",56:"torqueEffectiveness",57:"timerTime",58:"powerWeightRatio",59:"leftPlatformCenterOffset",60:"rightPlatformCenterOffset",61:"leftPowerPhaseStartAngle",62:"rightPowerPhaseStartAngle",63:"leftPowerPhaseFinishAngle",64:"rightPowerPhaseFinishAngle",65:"gears",66:"pace",67:"trainingEffect",68:"verticalOscillation",69:"verticalRatio",70:"groundContactTime",71:"leftGroundContactTimeBalance",72:"rightGroundContactTimeBalance",73:"strideLength",74:"runningCadence",75:"performanceCondition",76:"courseType",77:"timeInPowerZone",78:"navigationTurn",79:"courseLocation",80:"navigationLocation",81:"compass",82:"gearCombo",83:"muscleOxygen",84:"icon",85:"compassHeading",86:"gpsHeading",87:"gpsElevation",88:"anaerobicTrainingEffect",89:"course",90:"offCourse",91:"glideRatio",92:"verticalDistance",93:"vmg",94:"ambientPressure",95:"pressure",96:"vam"},autoActivityDetect:{0:"none",1:"running",2:"cycling",4:"swimming",8:"walking",32:"elliptical",1024:"sedentary"},supportedExdScreenLayouts:{1:"fullScreen",2:"halfVertical",4:"halfHorizontal",8:"halfVerticalRightSplit",16:"halfHorizontalBottomSplit",32:"fullQuarterSplit",64:"halfVerticalLeftSplit",128:"halfHorizontalTopSplit"},fitBaseType:{0:"enum",1:"sint8",2:"uint8",131:"sint16",132:"uint16",133:"sint32",134:"uint32",7:"string",136:"float32",137:"float64",10:"uint8z",139:"uint16z",140:"uint32z",13:"byte",142:"sint64",143:"uint64",144:"uint64z"},turnType:{0:"arrivingIdx",1:"arrivingLeftIdx",2:"arrivingRightIdx",3:"arrivingViaIdx",4:"arrivingViaLeftIdx",5:"arrivingViaRightIdx",6:"bearKeepLeftIdx",7:"bearKeepRightIdx",8:"continueIdx",9:"exitLeftIdx",10:"exitRightIdx",11:"ferryIdx",12:"roundabout45Idx",13:"roundabout90Idx",14:"roundabout135Idx",15:"roundabout180Idx",16:"roundabout225Idx",17:"roundabout270Idx",18:"roundabout315Idx",19:"roundabout360Idx",20:"roundaboutNeg45Idx",21:"roundaboutNeg90Idx",22:"roundaboutNeg135Idx",23:"roundaboutNeg180Idx",24:"roundaboutNeg225Idx",25:"roundaboutNeg270Idx",26:"roundaboutNeg315Idx",27:"roundaboutNeg360Idx",28:"roundaboutGenericIdx",29:"roundaboutNegGenericIdx",30:"sharpTurnLeftIdx",31:"sharpTurnRightIdx",32:"turnLeftIdx",33:"turnRightIdx",34:"uturnLeftIdx",35:"uturnRightIdx",36:"iconInvIdx",37:"iconIdxCnt"},bikeLightBeamAngleMode:{0:"manual",1:"auto"},fitBaseUnit:{0:"other",1:"kilogram",2:"pound"},setType:{0:"rest",1:"active"},maxMetCategory:{0:"generic",1:"cycling"},exerciseCategory:{0:"benchPress",1:"calfRaise",2:"cardio",3:"carry",4:"chop",5:"core",6:"crunch",7:"curl",8:"deadlift",9:"flye",10:"hipRaise",11:"hipStability",12:"hipSwing",13:"hyperextension",14:"lateralRaise",15:"legCurl",16:"legRaise",17:"lunge",18:"olympicLift",19:"plank",20:"plyo",21:"pullUp",22:"pushUp",23:"row",24:"shoulderPress",25:"shoulderStability",26:"shrug",27:"sitUp",28:"squat",29:"totalBody",30:"tricepsExtension",31:"warmUp",32:"run",33:"bike",34:"cardioSensors",35:"move",36:"pose",37:"bandedExercises",38:"battleRope",39:"elliptical",40:"floorClimb",41:"indoorBike",42:"indoorRow",43:"ladder",44:"sandbag",45:"sled",46:"sledgeHammer",47:"stairStepper",49:"suspension",50:"tire",52:"runIndoor",53:"bikeOutdoor",65534:"unknown"},benchPressExerciseName:{0:"alternatingDumbbellChestPressOnSwissBall",1:"barbellBenchPress",2:"barbellBoardBenchPress",3:"barbellFloorPress",4:"closeGripBarbellBenchPress",5:"declineDumbbellBenchPress",6:"dumbbellBenchPress",7:"dumbbellFloorPress",8:"inclineBarbellBenchPress",9:"inclineDumbbellBenchPress",10:"inclineSmithMachineBenchPress",11:"isometricBarbellBenchPress",12:"kettlebellChestPress",13:"neutralGripDumbbellBenchPress",14:"neutralGripDumbbellInclineBenchPress",15:"oneArmFloorPress",16:"weightedOneArmFloorPress",17:"partialLockout",18:"reverseGripBarbellBenchPress",19:"reverseGripInclineBenchPress",20:"singleArmCableChestPress",21:"singleArmDumbbellBenchPress",22:"smithMachineBenchPress",23:"swissBallDumbbellChestPress",24:"tripleStopBarbellBenchPress",25:"wideGripBarbellBenchPress",26:"alternatingDumbbellChestPress"},calfRaiseExerciseName:{0:"3WayCalfRaise",1:"3WayWeightedCalfRaise",2:"3WaySingleLegCalfRaise",3:"3WayWeightedSingleLegCalfRaise",4:"donkeyCalfRaise",5:"weightedDonkeyCalfRaise",6:"seatedCalfRaise",7:"weightedSeatedCalfRaise",8:"seatedDumbbellToeRaise",9:"singleLegBentKneeCalfRaise",10:"weightedSingleLegBentKneeCalfRaise",11:"singleLegDeclinePushUp",12:"singleLegDonkeyCalfRaise",13:"weightedSingleLegDonkeyCalfRaise",14:"singleLegHipRaiseWithKneeHold",15:"singleLegStandingCalfRaise",16:"singleLegStandingDumbbellCalfRaise",17:"standingBarbellCalfRaise",18:"standingCalfRaise",19:"weightedStandingCalfRaise",20:"standingDumbbellCalfRaise"},cardioExerciseName:{0:"bobAndWeaveCircle",1:"weightedBobAndWeaveCircle",2:"cardioCoreCrawl",3:"weightedCardioCoreCrawl",4:"doubleUnder",5:"weightedDoubleUnder",6:"jumpRope",7:"weightedJumpRope",8:"jumpRopeCrossover",9:"weightedJumpRopeCrossover",10:"jumpRopeJog",11:"weightedJumpRopeJog",12:"jumpingJacks",13:"weightedJumpingJacks",14:"skiMoguls",15:"weightedSkiMoguls",16:"splitJacks",17:"weightedSplitJacks",18:"squatJacks",19:"weightedSquatJacks",20:"tripleUnder",21:"weightedTripleUnder",22:"elliptical",23:"spinning",24:"polePaddleForwardWheelchair",25:"polePaddleBackwardWheelchair",26:"poleHandcycleForwardWheelchair",27:"poleHandcycleBackwardWheelchair",28:"poleRainbowWheelchair",29:"doublePunchForwardWheelchair",30:"doublePunchDownWheelchair",31:"doublePunchSidewaysWheelchair",32:"doublePunchUpWheelchair",33:"sitSkiWheelchair",34:"sittingJacksWheelchair",35:"punchForwardWheelchair",36:"punchDownWheelchair",37:"punchSidewaysWheelchair",38:"punchUpWheelchair",39:"punchBagWheelchair",40:"poleDdFfUuWheelchair",41:"butterflyArmsWheelchair",42:"punch"},carryExerciseName:{0:"barHolds",1:"farmersWalk",2:"farmersWalkOnToes",3:"hexDumbbellHold",4:"overheadCarry",5:"dumbbellWaiterCarry",6:"farmersCarryWalkLunge",7:"farmersCarry",8:"farmersCarryOnToes"},chopExerciseName:{0:"cablePullThrough",1:"cableRotationalLift",2:"cableWoodchop",3:"crossChopToKnee",4:"weightedCrossChopToKnee",5:"dumbbellChop",6:"halfKneelingRotation",7:"weightedHalfKneelingRotation",8:"halfKneelingRotationalChop",9:"halfKneelingRotationalReverseChop",10:"halfKneelingStabilityChop",11:"halfKneelingStabilityReverseChop",12:"kneelingRotationalChop",13:"kneelingRotationalReverseChop",14:"kneelingStabilityChop",15:"kneelingWoodchopper",16:"medicineBallWoodChops",17:"powerSquatChops",18:"weightedPowerSquatChops",19:"standingRotationalChop",20:"standingSplitRotationalChop",21:"standingSplitRotationalReverseChop",22:"standingStabilityReverseChop"},coreExerciseName:{0:"absJabs",1:"weightedAbsJabs",2:"alternatingPlateReach",3:"barbellRollout",4:"weightedBarbellRollout",5:"bodyBarObliqueTwist",6:"cableCorePress",7:"cableSideBend",8:"sideBend",9:"weightedSideBend",10:"crescentCircle",11:"weightedCrescentCircle",12:"cyclingRussianTwist",13:"weightedCyclingRussianTwist",14:"elevatedFeetRussianTwist",15:"weightedElevatedFeetRussianTwist",16:"halfTurkishGetUp",17:"kettlebellWindmill",18:"kneelingAbWheel",19:"weightedKneelingAbWheel",20:"modifiedFrontLever",21:"openKneeTucks",22:"weightedOpenKneeTucks",23:"sideAbsLegLift",24:"weightedSideAbsLegLift",25:"swissBallJackknife",26:"weightedSwissBallJackknife",27:"swissBallPike",28:"weightedSwissBallPike",29:"swissBallRollout",30:"weightedSwissBallRollout",31:"triangleHipPress",32:"weightedTriangleHipPress",33:"trxSuspendedJackknife",34:"weightedTrxSuspendedJackknife",35:"uBoat",36:"weightedUBoat",37:"windmillSwitches",38:"weightedWindmillSwitches",39:"alternatingSlideOut",40:"weightedAlternatingSlideOut",41:"ghdBackExtensions",42:"weightedGhdBackExtensions",43:"overheadWalk",44:"inchworm",45:"weightedModifiedFrontLever",46:"russianTwist",47:"abdominalLegRotations",48:"armAndLegExtensionOnKnees",49:"bicycle",50:"bicepCurlWithLegExtension",51:"catCow",52:"corkscrew",53:"crissCross",54:"crissCrossWithBall",55:"doubleLegStretch",56:"kneeFolds",57:"lowerLift",58:"neckPull",59:"pelvicClocks",60:"rollOver",61:"rollUp",62:"rolling",63:"rowing1",64:"rowing2",65:"scissors",66:"singleLegCircles",67:"singleLegStretch",68:"snakeTwist1And2",69:"swan",70:"swimming",71:"teaser",72:"theHundred",73:"bicepCurlWithLegExtensionWithWeights",75:"hangingLSit",77:"lowerLiftWithWeights",79:"ringLSit",80:"rowing1WithWeights",81:"rowing2WithWeights",82:"scissorsWithWeights",83:"singleLegStretchWithWeights",84:"toesToElbows",85:"weightedCrissCross",86:"weightedDoubleLegStretch",87:"weightedTheHundred",88:"lSit",89:"turkishGetUp",90:"weightedRingLSit",91:"weightedHangingLSit",92:"weightedLSit",93:"sideBendLowWheelchair",94:"sideBendMidWheelchair",95:"sideBendHighWheelchair",96:"seatedSideBend"},crunchExerciseName:{0:"bicycleCrunch",1:"cableCrunch",2:"circularArmCrunch",3:"crossedArmsCrunch",4:"weightedCrossedArmsCrunch",5:"crossLegReverseCrunch",6:"weightedCrossLegReverseCrunch",7:"crunchChop",8:"weightedCrunchChop",9:"doubleCrunch",10:"weightedDoubleCrunch",11:"elbowToKneeCrunch",12:"weightedElbowToKneeCrunch",13:"flutterKicks",14:"weightedFlutterKicks",15:"foamRollerReverseCrunchOnBench",16:"weightedFoamRollerReverseCrunchOnBench",17:"foamRollerReverseCrunchWithDumbbell",18:"foamRollerReverseCrunchWithMedicineBall",19:"frogPress",20:"hangingKneeRaiseObliqueCrunch",21:"weightedHangingKneeRaiseObliqueCrunch",22:"hipCrossover",23:"weightedHipCrossover",24:"hollowRock",25:"weightedHollowRock",26:"inclineReverseCrunch",27:"weightedInclineReverseCrunch",28:"kneelingCableCrunch",29:"kneelingCrossCrunch",30:"weightedKneelingCrossCrunch",31:"kneelingObliqueCableCrunch",32:"kneesToElbow",33:"legExtensions",34:"weightedLegExtensions",35:"legLevers",36:"mcgillCurlUp",37:"weightedMcgillCurlUp",38:"modifiedPilatesRollUpWithBall",39:"weightedModifiedPilatesRollUpWithBall",40:"pilatesCrunch",41:"weightedPilatesCrunch",42:"pilatesRollUpWithBall",43:"weightedPilatesRollUpWithBall",44:"raisedLegsCrunch",45:"weightedRaisedLegsCrunch",46:"reverseCrunch",47:"weightedReverseCrunch",48:"reverseCrunchOnABench",49:"weightedReverseCrunchOnABench",50:"reverseCurlAndLift",51:"weightedReverseCurlAndLift",52:"rotationalLift",53:"weightedRotationalLift",54:"seatedAlternatingReverseCrunch",55:"weightedSeatedAlternatingReverseCrunch",56:"seatedLegU",57:"weightedSeatedLegU",58:"sideToSideCrunchAndWeave",59:"weightedSideToSideCrunchAndWeave",60:"singleLegReverseCrunch",61:"weightedSingleLegReverseCrunch",62:"skaterCrunchCross",63:"weightedSkaterCrunchCross",64:"standingCableCrunch",65:"standingSideCrunch",66:"stepClimb",67:"weightedStepClimb",68:"swissBallCrunch",69:"swissBallReverseCrunch",70:"weightedSwissBallReverseCrunch",71:"swissBallRussianTwist",72:"weightedSwissBallRussianTwist",73:"swissBallSideCrunch",74:"weightedSwissBallSideCrunch",75:"thoracicCrunchesOnFoamRoller",76:"weightedThoracicCrunchesOnFoamRoller",77:"tricepsCrunch",78:"weightedBicycleCrunch",79:"weightedCrunch",80:"weightedSwissBallCrunch",81:"toesToBar",82:"weightedToesToBar",83:"crunch",84:"straightLegCrunchWithBall",86:"legClimbCrunch"},curlExerciseName:{0:"alternatingDumbbellBicepsCurl",1:"alternatingDumbbellBicepsCurlOnSwissBall",2:"alternatingInclineDumbbellBicepsCurl",3:"barbellBicepsCurl",4:"barbellReverseWristCurl",5:"barbellWristCurl",6:"behindTheBackBarbellReverseWristCurl",7:"behindTheBackOneArmCableCurl",8:"cableBicepsCurl",9:"cableHammerCurl",10:"cheatingBarbellBicepsCurl",11:"closeGripEzBarBicepsCurl",12:"crossBodyDumbbellHammerCurl",13:"deadHangBicepsCurl",14:"declineHammerCurl",15:"dumbbellBicepsCurlWithStaticHold",16:"dumbbellHammerCurl",17:"dumbbellReverseWristCurl",18:"dumbbellWristCurl",19:"ezBarPreacherCurl",20:"forwardBendBicepsCurl",21:"hammerCurlToPress",22:"inclineDumbbellBicepsCurl",23:"inclineOffsetThumbDumbbellCurl",24:"kettlebellBicepsCurl",25:"lyingConcentrationCableCurl",26:"oneArmPreacherCurl",27:"platePinchCurl",28:"preacherCurlWithCable",29:"reverseEzBarCurl",30:"reverseGripWristCurl",31:"reverseGripBarbellBicepsCurl",32:"seatedAlternatingDumbbellBicepsCurl",33:"seatedDumbbellBicepsCurl",34:"seatedReverseDumbbellCurl",35:"splitStanceOffsetPinkyDumbbellCurl",36:"standingAlternatingDumbbellCurls",37:"standingDumbbellBicepsCurl",38:"standingEzBarBicepsCurl",39:"staticCurl",40:"swissBallDumbbellOverheadTricepsExtension",41:"swissBallEzBarPreacherCurl",42:"twistingStandingDumbbellBicepsCurl",43:"wideGripEzBarBicepsCurl",44:"oneArmConcentrationCurl",45:"standingZottmanBicepsCurl",46:"dumbbellBicepsCurl",47:"dragCurlWheelchair",48:"dumbbellBicepsCurlWheelchair",49:"bottleCurl",50:"seatedBottleCurl"},deadliftExerciseName:{0:"barbellDeadlift",1:"barbellStraightLegDeadlift",2:"dumbbellDeadlift",3:"dumbbellSingleLegDeadliftToRow",4:"dumbbellStraightLegDeadlift",5:"kettlebellFloorToShelf",6:"oneArmOneLegDeadlift",7:"rackPull",8:"rotationalDumbbellStraightLegDeadlift",9:"singleArmDeadlift",10:"singleLegBarbellDeadlift",11:"singleLegBarbellStraightLegDeadlift",12:"singleLegDeadliftWithBarbell",13:"singleLegRdlCircuit",14:"singleLegRomanianDeadliftWithDumbbell",15:"sumoDeadlift",16:"sumoDeadliftHighPull",17:"trapBarDeadlift",18:"wideGripBarbellDeadlift",20:"kettlebellDeadlift",21:"kettlebellSumoDeadlift",23:"romanianDeadlift",24:"singleLegRomanianDeadliftCircuit",25:"straightLegDeadlift"},flyeExerciseName:{0:"cableCrossover",1:"declineDumbbellFlye",2:"dumbbellFlye",3:"inclineDumbbellFlye",4:"kettlebellFlye",5:"kneelingRearFlye",6:"singleArmStandingCableReverseFlye",7:"swissBallDumbbellFlye",8:"armRotations",9:"hugATree",10:"faceDownInclineReverseFlye",11:"inclineReverseFlye",12:"rearDeltFlyWheelchair"},hipRaiseExerciseName:{0:"barbellHipThrustOnFloor",1:"barbellHipThrustWithBench",2:"bentKneeSwissBallReverseHipRaise",3:"weightedBentKneeSwissBallReverseHipRaise",4:"bridgeWithLegExtension",5:"weightedBridgeWithLegExtension",6:"clamBridge",7:"frontKickTabletop",8:"weightedFrontKickTabletop",9:"hipExtensionAndCross",10:"weightedHipExtensionAndCross",11:"hipRaise",12:"weightedHipRaise",13:"hipRaiseWithFeetOnSwissBall",14:"weightedHipRaiseWithFeetOnSwissBall",15:"hipRaiseWithHeadOnBosuBall",16:"weightedHipRaiseWithHeadOnBosuBall",17:"hipRaiseWithHeadOnSwissBall",18:"weightedHipRaiseWithHeadOnSwissBall",19:"hipRaiseWithKneeSqueeze",20:"weightedHipRaiseWithKneeSqueeze",21:"inclineRearLegExtension",22:"weightedInclineRearLegExtension",23:"kettlebellSwing",24:"marchingHipRaise",25:"weightedMarchingHipRaise",26:"marchingHipRaiseWithFeetOnASwissBall",27:"weightedMarchingHipRaiseWithFeetOnASwissBall",28:"reverseHipRaise",29:"weightedReverseHipRaise",30:"singleLegHipRaise",31:"weightedSingleLegHipRaise",32:"singleLegHipRaiseWithFootOnBench",33:"weightedSingleLegHipRaiseWithFootOnBench",34:"singleLegHipRaiseWithFootOnBosuBall",35:"weightedSingleLegHipRaiseWithFootOnBosuBall",36:"singleLegHipRaiseWithFootOnFoamRoller",37:"weightedSingleLegHipRaiseWithFootOnFoamRoller",38:"singleLegHipRaiseWithFootOnMedicineBall",39:"weightedSingleLegHipRaiseWithFootOnMedicineBall",40:"singleLegHipRaiseWithHeadOnBosuBall",41:"weightedSingleLegHipRaiseWithHeadOnBosuBall",42:"weightedClamBridge",43:"singleLegSwissBallHipRaiseAndLegCurl",44:"clams",45:"innerThighCircles",46:"innerThighSideLift",47:"legCircles",48:"legLift",49:"legLiftInExternalRotation"},hipStabilityExerciseName:{0:"bandSideLyingLegRaise",1:"deadBug",2:"weightedDeadBug",3:"externalHipRaise",4:"weightedExternalHipRaise",5:"fireHydrantKicks",6:"weightedFireHydrantKicks",7:"hipCircles",8:"weightedHipCircles",9:"innerThighLift",10:"weightedInnerThighLift",11:"lateralWalksWithBandAtAnkles",12:"pretzelSideKick",13:"weightedPretzelSideKick",14:"proneHipInternalRotation",15:"weightedProneHipInternalRotation",16:"quadruped",17:"quadrupedHipExtension",18:"weightedQuadrupedHipExtension",19:"quadrupedWithLegLift",20:"weightedQuadrupedWithLegLift",21:"sideLyingLegRaise",22:"weightedSideLyingLegRaise",23:"slidingHipAdduction",24:"weightedSlidingHipAdduction",25:"standingAdduction",26:"weightedStandingAdduction",27:"standingCableHipAbduction",28:"standingHipAbduction",29:"weightedStandingHipAbduction",30:"standingRearLegRaise",31:"weightedStandingRearLegRaise",32:"supineHipInternalRotation",33:"weightedSupineHipInternalRotation",34:"lyingAbductionStretch"},hipSwingExerciseName:{0:"singleArmKettlebellSwing",1:"singleArmDumbbellSwing",2:"stepOutSwing",3:"oneArmSwing"},hyperextensionExerciseName:{0:"backExtensionWithOppositeArmAndLegReach",1:"weightedBackExtensionWithOppositeArmAndLegReach",2:"baseRotations",3:"weightedBaseRotations",4:"bentKneeReverseHyperextension",5:"weightedBentKneeReverseHyperextension",6:"hollowHoldAndRoll",7:"weightedHollowHoldAndRoll",8:"kicks",9:"weightedKicks",10:"kneeRaises",11:"weightedKneeRaises",12:"kneelingSuperman",13:"weightedKneelingSuperman",14:"latPullDownWithRow",15:"medicineBallDeadliftToReach",16:"oneArmOneLegRow",17:"oneArmRowWithBand",18:"overheadLungeWithMedicineBall",19:"plankKneeTucks",20:"weightedPlankKneeTucks",21:"sideStep",22:"weightedSideStep",23:"singleLegBackExtension",24:"weightedSingleLegBackExtension",25:"spineExtension",26:"weightedSpineExtension",27:"staticBackExtension",28:"weightedStaticBackExtension",29:"supermanFromFloor",30:"weightedSupermanFromFloor",31:"swissBallBackExtension",32:"weightedSwissBallBackExtension",33:"swissBallHyperextension",34:"weightedSwissBallHyperextension",35:"swissBallOppositeArmAndLegLift",36:"weightedSwissBallOppositeArmAndLegLift",37:"supermanOnSwissBall",38:"cobra",39:"supineFloorBarre"},lateralRaiseExerciseName:{0:"45DegreeCableExternalRotation",1:"alternatingLateralRaiseWithStaticHold",2:"barMuscleUp",3:"bentOverLateralRaise",4:"cableDiagonalRaise",5:"cableFrontRaise",6:"calorieRow",7:"comboShoulderRaise",8:"dumbbellDiagonalRaise",9:"dumbbellVRaise",10:"frontRaise",11:"leaningDumbbellLateralRaise",12:"lyingDumbbellRaise",13:"muscleUp",14:"oneArmCableLateralRaise",15:"overhandGripRearLateralRaise",16:"plateRaises",17:"ringDip",18:"weightedRingDip",19:"ringMuscleUp",20:"weightedRingMuscleUp",21:"ropeClimb",22:"weightedRopeClimb",23:"scaption",24:"seatedLateralRaise",25:"seatedRearLateralRaise",26:"sideLyingLateralRaise",27:"standingLift",28:"suspendedRow",29:"underhandGripRearLateralRaise",30:"wallSlide",31:"weightedWallSlide",32:"armCircles",33:"shavingTheHead",34:"dumbbellLateralRaise",36:"ringDipKipping",37:"wallWalk",38:"dumbbellFrontRaiseWheelchair",39:"dumbbellLateralRaiseWheelchair",40:"poleDoubleArmOverheadAndForwardWheelchair",41:"poleStraightArmOverheadWheelchair"},legCurlExerciseName:{0:"legCurl",1:"weightedLegCurl",2:"goodMorning",3:"seatedBarbellGoodMorning",4:"singleLegBarbellGoodMorning",5:"singleLegSlidingLegCurl",6:"slidingLegCurl",7:"splitBarbellGoodMorning",8:"splitStanceExtension",9:"staggeredStanceGoodMorning",10:"swissBallHipRaiseAndLegCurl",11:"zercherGoodMorning",12:"bandGoodMorning",13:"barGoodMorning"},legRaiseExerciseName:{0:"hangingKneeRaise",1:"hangingLegRaise",2:"weightedHangingLegRaise",3:"hangingSingleLegRaise",4:"weightedHangingSingleLegRaise",5:"kettlebellLegRaises",6:"legLoweringDrill",7:"weightedLegLoweringDrill",8:"lyingStraightLegRaise",9:"weightedLyingStraightLegRaise",10:"medicineBallLegDrops",11:"quadrupedLegRaise",12:"weightedQuadrupedLegRaise",13:"reverseLegRaise",14:"weightedReverseLegRaise",15:"reverseLegRaiseOnSwissBall",16:"weightedReverseLegRaiseOnSwissBall",17:"singleLegLoweringDrill",18:"weightedSingleLegLoweringDrill",19:"weightedHangingKneeRaise",20:"lateralStepover",21:"weightedLateralStepover"},lungeExerciseName:{0:"overheadLunge",1:"lungeMatrix",2:"weightedLungeMatrix",3:"alternatingBarbellForwardLunge",4:"alternatingDumbbellLungeWithReach",5:"backFootElevatedDumbbellSplitSquat",6:"barbellBoxLunge",7:"barbellBulgarianSplitSquat",8:"barbellCrossoverLunge",9:"barbellFrontSplitSquat",10:"barbellLunge",11:"barbellReverseLunge",12:"barbellSideLunge",13:"barbellSplitSquat",14:"coreControlRearLunge",15:"diagonalLunge",16:"dropLunge",17:"dumbbellBoxLunge",18:"dumbbellBulgarianSplitSquat",19:"dumbbellCrossoverLunge",20:"dumbbellDiagonalLunge",21:"dumbbellLunge",22:"dumbbellLungeAndRotation",23:"dumbbellOverheadBulgarianSplitSquat",24:"dumbbellReverseLungeToHighKneeAndPress",25:"dumbbellSideLunge",26:"elevatedFrontFootBarbellSplitSquat",27:"frontFootElevatedDumbbellSplitSquat",28:"gunslingerLunge",29:"lawnmowerLunge",30:"lowLungeWithIsometricAdduction",31:"lowSideToSideLunge",32:"lunge",33:"weightedLunge",34:"lungeWithArmReach",35:"lungeWithDiagonalReach",36:"lungeWithSideBend",37:"offsetDumbbellLunge",38:"offsetDumbbellReverseLunge",39:"overheadBulgarianSplitSquat",40:"overheadDumbbellReverseLunge",41:"overheadDumbbellSplitSquat",42:"overheadLungeWithRotation",43:"reverseBarbellBoxLunge",44:"reverseBoxLunge",45:"reverseDumbbellBoxLunge",46:"reverseDumbbellCrossoverLunge",47:"reverseDumbbellDiagonalLunge",48:"reverseLungeWithReachBack",49:"weightedReverseLungeWithReachBack",50:"reverseLungeWithTwistAndOverheadReach",51:"weightedReverseLungeWithTwistAndOverheadReach",52:"reverseSlidingBoxLunge",53:"weightedReverseSlidingBoxLunge",54:"reverseSlidingLunge",55:"weightedReverseSlidingLunge",56:"runnersLungeToBalance",57:"weightedRunnersLungeToBalance",58:"shiftingSideLunge",59:"sideAndCrossoverLunge",60:"weightedSideAndCrossoverLunge",61:"sideLunge",62:"weightedSideLunge",63:"sideLungeAndPress",64:"sideLungeJumpOff",65:"sideLungeSweep",66:"weightedSideLungeSweep",67:"sideLungeToCrossoverTap",68:"weightedSideLungeToCrossoverTap",69:"sideToSideLungeChops",70:"weightedSideToSideLungeChops",71:"siffJumpLunge",72:"weightedSiffJumpLunge",73:"singleArmReverseLungeAndPress",74:"slidingLateralLunge",75:"weightedSlidingLateralLunge",76:"walkingBarbellLunge",77:"walkingDumbbellLunge",78:"walkingLunge",79:"weightedWalkingLunge",80:"wideGripOverheadBarbellSplitSquat",81:"alternatingDumbbellLunge",82:"dumbbellReverseLunge",83:"overheadDumbbellLunge",84:"scissorPowerSwitch",85:"dumbbellOverheadWalkingLunge",86:"curtsyLunge",87:"weightedCurtsyLunge",88:"weightedShiftingSideLunge",89:"weightedSideLungeAndPress",90:"weightedSideLungeJumpOff"},olympicLiftExerciseName:{0:"barbellHangPowerClean",1:"barbellHangSquatClean",2:"barbellPowerClean",3:"barbellPowerSnatch",4:"barbellSquatClean",5:"cleanAndJerk",6:"barbellHangPowerSnatch",7:"barbellHangPull",8:"barbellHighPull",9:"barbellSnatch",10:"barbellSplitJerk",11:"clean",12:"dumbbellClean",13:"dumbbellHangPull",14:"oneHandDumbbellSplitSnatch",15:"pushJerk",16:"singleArmDumbbellSnatch",17:"singleArmHangSnatch",18:"singleArmKettlebellSnatch",19:"splitJerk",20:"squatCleanAndJerk",21:"dumbbellHangSnatch",22:"dumbbellPowerCleanAndJerk",23:"dumbbellPowerCleanAndPushPress",24:"dumbbellPowerCleanAndStrictPress",25:"dumbbellSnatch",26:"medicineBallClean",27:"cleanAndPress",28:"snatch"},plankExerciseName:{0:"45DegreePlank",1:"weighted45DegreePlank",2:"90DegreeStaticHold",3:"weighted90DegreeStaticHold",4:"bearCrawl",5:"weightedBearCrawl",6:"crossBodyMountainClimber",7:"weightedCrossBodyMountainClimber",8:"elbowPlankPikeJacks",9:"weightedElbowPlankPikeJacks",10:"elevatedFeetPlank",11:"weightedElevatedFeetPlank",12:"elevatorAbs",13:"weightedElevatorAbs",14:"extendedPlank",15:"weightedExtendedPlank",16:"fullPlankPasseTwist",17:"weightedFullPlankPasseTwist",18:"inchingElbowPlank",19:"weightedInchingElbowPlank",20:"inchwormToSidePlank",21:"weightedInchwormToSidePlank",22:"kneelingPlank",23:"weightedKneelingPlank",24:"kneelingSidePlankWithLegLift",25:"weightedKneelingSidePlankWithLegLift",26:"lateralRoll",27:"weightedLateralRoll",28:"lyingReversePlank",29:"weightedLyingReversePlank",30:"medicineBallMountainClimber",31:"weightedMedicineBallMountainClimber",32:"modifiedMountainClimberAndExtension",33:"weightedModifiedMountainClimberAndExtension",34:"mountainClimber",35:"weightedMountainClimber",36:"mountainClimberOnSlidingDiscs",37:"weightedMountainClimberOnSlidingDiscs",38:"mountainClimberWithFeetOnBosuBall",39:"weightedMountainClimberWithFeetOnBosuBall",40:"mountainClimberWithHandsOnBench",41:"mountainClimberWithHandsOnSwissBall",42:"weightedMountainClimberWithHandsOnSwissBall",43:"plank",44:"plankJacksWithFeetOnSlidingDiscs",45:"weightedPlankJacksWithFeetOnSlidingDiscs",46:"plankKneeTwist",47:"weightedPlankKneeTwist",48:"plankPikeJumps",49:"weightedPlankPikeJumps",50:"plankPikes",51:"weightedPlankPikes",52:"plankToStandUp",53:"weightedPlankToStandUp",54:"plankWithArmRaise",55:"weightedPlankWithArmRaise",56:"plankWithKneeToElbow",57:"weightedPlankWithKneeToElbow",58:"plankWithObliqueCrunch",59:"weightedPlankWithObliqueCrunch",60:"plyometricSidePlank",61:"weightedPlyometricSidePlank",62:"rollingSidePlank",63:"weightedRollingSidePlank",64:"sideKickPlank",65:"weightedSideKickPlank",66:"sidePlank",67:"weightedSidePlank",68:"sidePlankAndRow",69:"weightedSidePlankAndRow",70:"sidePlankLift",71:"weightedSidePlankLift",72:"sidePlankWithElbowOnBosuBall",73:"weightedSidePlankWithElbowOnBosuBall",74:"sidePlankWithFeetOnBench",75:"weightedSidePlankWithFeetOnBench",76:"sidePlankWithKneeCircle",77:"weightedSidePlankWithKneeCircle",78:"sidePlankWithKneeTuck",79:"weightedSidePlankWithKneeTuck",80:"sidePlankWithLegLift",81:"weightedSidePlankWithLegLift",82:"sidePlankWithReachUnder",83:"weightedSidePlankWithReachUnder",84:"singleLegElevatedFeetPlank",85:"weightedSingleLegElevatedFeetPlank",86:"singleLegFlexAndExtend",87:"weightedSingleLegFlexAndExtend",88:"singleLegSidePlank",89:"weightedSingleLegSidePlank",90:"spidermanPlank",91:"weightedSpidermanPlank",92:"straightArmPlank",93:"weightedStraightArmPlank",94:"straightArmPlankWithShoulderTouch",95:"weightedStraightArmPlankWithShoulderTouch",96:"swissBallPlank",97:"weightedSwissBallPlank",98:"swissBallPlankLegLift",99:"weightedSwissBallPlankLegLift",100:"swissBallPlankLegLiftAndHold",101:"swissBallPlankWithFeetOnBench",102:"weightedSwissBallPlankWithFeetOnBench",103:"swissBallProneJackknife",104:"weightedSwissBallProneJackknife",105:"swissBallSidePlank",106:"weightedSwissBallSidePlank",107:"threeWayPlank",108:"weightedThreeWayPlank",109:"towelPlankAndKneeIn",110:"weightedTowelPlankAndKneeIn",111:"tStabilization",112:"weightedTStabilization",113:"turkishGetUpToSidePlank",114:"weightedTurkishGetUpToSidePlank",115:"twoPointPlank",116:"weightedTwoPointPlank",117:"weightedPlank",118:"wideStancePlankWithDiagonalArmLift",119:"weightedWideStancePlankWithDiagonalArmLift",120:"wideStancePlankWithDiagonalLegLift",121:"weightedWideStancePlankWithDiagonalLegLift",122:"wideStancePlankWithLegLift",123:"weightedWideStancePlankWithLegLift",124:"wideStancePlankWithOppositeArmAndLegLift",125:"weightedMountainClimberWithHandsOnBench",126:"weightedSwissBallPlankLegLiftAndHold",127:"weightedWideStancePlankWithOppositeArmAndLegLift",128:"plankWithFeetOnSwissBall",129:"sidePlankToPlankWithReachUnder",130:"bridgeWithGluteLowerLift",131:"bridgeOneLegBridge",132:"plankWithArmVariations",133:"plankWithLegLift",134:"reversePlankWithLegPull",135:"ringPlankSprawls"},plyoExerciseName:{0:"alternatingJumpLunge",1:"weightedAlternatingJumpLunge",2:"barbellJumpSquat",3:"bodyWeightJumpSquat",4:"weightedJumpSquat",5:"crossKneeStrike",6:"weightedCrossKneeStrike",7:"depthJump",8:"weightedDepthJump",9:"dumbbellJumpSquat",10:"dumbbellSplitJump",11:"frontKneeStrike",12:"weightedFrontKneeStrike",13:"highBoxJump",14:"weightedHighBoxJump",15:"isometricExplosiveBodyWeightJumpSquat",16:"weightedIsometricExplosiveJumpSquat",17:"lateralLeapAndHop",18:"weightedLateralLeapAndHop",19:"lateralPlyoSquats",20:"weightedLateralPlyoSquats",21:"lateralSlide",22:"weightedLateralSlide",23:"medicineBallOverheadThrows",24:"medicineBallSideThrow",25:"medicineBallSlam",26:"sideToSideMedicineBallThrows",27:"sideToSideShuffleJump",28:"weightedSideToSideShuffleJump",29:"squatJumpOntoBox",30:"weightedSquatJumpOntoBox",31:"squatJumpsInAndOut",32:"weightedSquatJumpsInAndOut",33:"boxJump",34:"boxJumpOvers",35:"boxJumpOversOverTheBox",36:"starJumpSquats",37:"jumpSquat"},pullUpExerciseName:{0:"bandedPullUps",1:"30DegreeLatPulldown",2:"bandAssistedChinUp",3:"closeGripChinUp",4:"weightedCloseGripChinUp",5:"closeGripLatPulldown",6:"crossoverChinUp",7:"weightedCrossoverChinUp",8:"ezBarPullover",9:"hangingHurdle",10:"weightedHangingHurdle",11:"kneelingLatPulldown",12:"kneelingUnderhandGripLatPulldown",13:"latPulldown",14:"mixedGripChinUp",15:"weightedMixedGripChinUp",16:"mixedGripPullUp",17:"weightedMixedGripPullUp",18:"reverseGripPulldown",19:"standingCablePullover",20:"straightArmPulldown",21:"swissBallEzBarPullover",22:"towelPullUp",23:"weightedTowelPullUp",24:"weightedPullUp",25:"wideGripLatPulldown",26:"wideGripPullUp",27:"weightedWideGripPullUp",28:"burpeePullUp",29:"weightedBurpeePullUp",30:"jumpingPullUps",31:"weightedJumpingPullUps",32:"kippingPullUp",33:"weightedKippingPullUp",34:"lPullUp",35:"weightedLPullUp",36:"suspendedChinUp",37:"weightedSuspendedChinUp",38:"pullUp",39:"chinUp",40:"neutralGripChinUp",41:"weightedChinUp",42:"bandAssistedPullUp",43:"neutralGripPullUp",44:"weightedNeutralGripChinUp",45:"weightedNeutralGripPullUp"},pushUpExerciseName:{0:"chestPressWithBand",1:"alternatingStaggeredPushUp",2:"weightedAlternatingStaggeredPushUp",3:"alternatingHandsMedicineBallPushUp",4:"weightedAlternatingHandsMedicineBallPushUp",5:"bosuBallPushUp",6:"weightedBosuBallPushUp",7:"clappingPushUp",8:"weightedClappingPushUp",9:"closeGripMedicineBallPushUp",10:"weightedCloseGripMedicineBallPushUp",11:"closeHandsPushUp",12:"weightedCloseHandsPushUp",13:"declinePushUp",14:"weightedDeclinePushUp",15:"diamondPushUp",16:"weightedDiamondPushUp",17:"explosiveCrossoverPushUp",18:"weightedExplosiveCrossoverPushUp",19:"explosivePushUp",20:"weightedExplosivePushUp",21:"feetElevatedSideToSidePushUp",22:"weightedFeetElevatedSideToSidePushUp",23:"handReleasePushUp",24:"weightedHandReleasePushUp",25:"handstandPushUp",26:"weightedHandstandPushUp",27:"inclinePushUp",28:"weightedInclinePushUp",29:"isometricExplosivePushUp",30:"weightedIsometricExplosivePushUp",31:"judoPushUp",32:"weightedJudoPushUp",33:"kneelingPushUp",34:"weightedKneelingPushUp",35:"medicineBallChestPass",36:"medicineBallPushUp",37:"weightedMedicineBallPushUp",38:"oneArmPushUp",39:"weightedOneArmPushUp",40:"weightedPushUp",41:"pushUpAndRow",42:"weightedPushUpAndRow",43:"pushUpPlus",44:"weightedPushUpPlus",45:"pushUpWithFeetOnSwissBall",46:"weightedPushUpWithFeetOnSwissBall",47:"pushUpWithOneHandOnMedicineBall",48:"weightedPushUpWithOneHandOnMedicineBall",49:"shoulderPushUp",50:"weightedShoulderPushUp",51:"singleArmMedicineBallPushUp",52:"weightedSingleArmMedicineBallPushUp",53:"spidermanPushUp",54:"weightedSpidermanPushUp",55:"stackedFeetPushUp",56:"weightedStackedFeetPushUp",57:"staggeredHandsPushUp",58:"weightedStaggeredHandsPushUp",59:"suspendedPushUp",60:"weightedSuspendedPushUp",61:"swissBallPushUp",62:"weightedSwissBallPushUp",63:"swissBallPushUpPlus",64:"weightedSwissBallPushUpPlus",65:"tPushUp",66:"weightedTPushUp",67:"tripleStopPushUp",68:"weightedTripleStopPushUp",69:"wideHandsPushUp",70:"weightedWideHandsPushUp",71:"paralletteHandstandPushUp",72:"weightedParalletteHandstandPushUp",73:"ringHandstandPushUp",74:"weightedRingHandstandPushUp",75:"ringPushUp",76:"weightedRingPushUp",77:"pushUp",78:"pilatesPushup",79:"dynamicPushUp",80:"kippingHandstandPushUp",81:"shoulderTappingPushUp",82:"bicepsPushUp",83:"hinduPushUp",84:"pikePushUp",85:"wideGripPushUp",86:"weightedBicepsPushUp",87:"weightedHinduPushUp",88:"weightedPikePushUp",89:"kippingParalletteHandstandPushUp",90:"wallPushUp"},rowExerciseName:{0:"barbellStraightLegDeadliftToRow",1:"cableRowStanding",2:"dumbbellRow",3:"elevatedFeetInvertedRow",4:"weightedElevatedFeetInvertedRow",5:"facePull",6:"facePullWithExternalRotation",7:"invertedRowWithFeetOnSwissBall",8:"weightedInvertedRowWithFeetOnSwissBall",9:"kettlebellRow",10:"modifiedInvertedRow",11:"weightedModifiedInvertedRow",12:"neutralGripAlternatingDumbbellRow",13:"oneArmBentOverRow",14:"oneLeggedDumbbellRow",15:"renegadeRow",16:"reverseGripBarbellRow",17:"ropeHandleCableRow",18:"seatedCableRow",19:"seatedDumbbellRow",20:"singleArmCableRow",21:"singleArmCableRowAndRotation",22:"singleArmInvertedRow",23:"weightedSingleArmInvertedRow",24:"singleArmNeutralGripDumbbellRow",25:"singleArmNeutralGripDumbbellRowAndRotation",26:"suspendedInvertedRow",27:"weightedSuspendedInvertedRow",28:"tBarRow",29:"towelGripInvertedRow",30:"weightedTowelGripInvertedRow",31:"underhandGripCableRow",32:"vGripCableRow",33:"wideGripSeatedCableRow",34:"alternatingDumbbellRow",35:"invertedRow",36:"row",37:"weightedRow",38:"indoorRow",39:"bandedFacePulls",40:"chestSupportedDumbbellRow",41:"declineRingRow",42:"elevatedRingRow",43:"rdlBentOverRowWithBarbellDumbbell",44:"ringRow",45:"barbellRow",46:"bentOverRowWithBarbell",47:"bentOverRowWithDumbell",48:"seatedUnderhandGripCableRow",49:"trxInvertedRow",50:"weightedInvertedRow",51:"weightedTrxInvertedRow",52:"dumbbellRowWheelchair"},shoulderPressExerciseName:{0:"alternatingDumbbellShoulderPress",1:"arnoldPress",2:"barbellFrontSquatToPushPress",3:"barbellPushPress",4:"barbellShoulderPress",5:"deadCurlPress",6:"dumbbellAlternatingShoulderPressAndTwist",7:"dumbbellHammerCurlToLungeToPress",8:"dumbbellPushPress",9:"floorInvertedShoulderPress",10:"weightedFloorInvertedShoulderPress",11:"invertedShoulderPress",12:"weightedInvertedShoulderPress",13:"oneArmPushPress",14:"overheadBarbellPress",15:"overheadDumbbellPress",16:"seatedBarbellShoulderPress",17:"seatedDumbbellShoulderPress",18:"singleArmDumbbellShoulderPress",19:"singleArmStepUpAndPress",20:"smithMachineOverheadPress",21:"splitStanceHammerCurlToPress",22:"swissBallDumbbellShoulderPress",23:"weightPlateFrontRaise",24:"dumbbellShoulderPress",25:"militaryPress",27:"strictPress",28:"dumbbellFrontRaise",29:"dumbbellCurlToOverheadPressWheelchair",30:"arnoldPressWheelchair",31:"overheadDumbbellPressWheelchair"},shoulderStabilityExerciseName:{0:"90DegreeCableExternalRotation",1:"bandExternalRotation",2:"bandInternalRotation",3:"bentArmLateralRaiseAndExternalRotation",4:"cableExternalRotation",5:"dumbbellFacePullWithExternalRotation",6:"floorIRaise",7:"weightedFloorIRaise",8:"floorTRaise",9:"weightedFloorTRaise",10:"floorYRaise",11:"weightedFloorYRaise",12:"inclineIRaise",13:"weightedInclineIRaise",14:"inclineLRaise",15:"weightedInclineLRaise",16:"inclineTRaise",17:"weightedInclineTRaise",18:"inclineWRaise",19:"weightedInclineWRaise",20:"inclineYRaise",21:"weightedInclineYRaise",22:"lyingExternalRotation",23:"seatedDumbbellExternalRotation",24:"standingLRaise",25:"swissBallIRaise",26:"weightedSwissBallIRaise",27:"swissBallTRaise",28:"weightedSwissBallTRaise",29:"swissBallWRaise",30:"weightedSwissBallWRaise",31:"swissBallYRaise",32:"weightedSwissBallYRaise",33:"cableInternalRotation",34:"lyingInternalRotation",35:"seatedDumbbellInternalRotation"},shrugExerciseName:{0:"barbellJumpShrug",1:"barbellShrug",2:"barbellUprightRow",3:"behindTheBackSmithMachineShrug",4:"dumbbellJumpShrug",5:"dumbbellShrug",6:"dumbbellUprightRow",7:"inclineDumbbellShrug",8:"overheadBarbellShrug",9:"overheadDumbbellShrug",10:"scaptionAndShrug",11:"scapularRetraction",12:"serratusChairShrug",13:"weightedSerratusChairShrug",14:"serratusShrug",15:"weightedSerratusShrug",16:"wideGripJumpShrug",17:"wideGripBarbellShrug",18:"behindTheBackShrug",19:"dumbbellShrugWheelchair",20:"shrugWheelchair",21:"shrugArmDownWheelchair",22:"shrugArmMidWheelchair",23:"shrugArmUpWheelchair",24:"uprightRow"},sitUpExerciseName:{0:"alternatingSitUp",1:"weightedAlternatingSitUp",2:"bentKneeVUp",3:"weightedBentKneeVUp",4:"butterflySitUp",5:"weightedButterflySitup",6:"crossPunchRollUp",7:"weightedCrossPunchRollUp",8:"crossedArmsSitUp",9:"weightedCrossedArmsSitUp",10:"getUpSitUp",11:"weightedGetUpSitUp",12:"hoveringSitUp",13:"weightedHoveringSitUp",14:"kettlebellSitUp",15:"medicineBallAlternatingVUp",16:"medicineBallSitUp",17:"medicineBallVUp",18:"modifiedSitUp",19:"negativeSitUp",20:"oneArmFullSitUp",21:"recliningCircle",22:"weightedRecliningCircle",23:"reverseCurlUp",24:"weightedReverseCurlUp",25:"singleLegSwissBallJackknife",26:"weightedSingleLegSwissBallJackknife",27:"theTeaser",28:"theTeaserWeighted",29:"threePartRollDown",30:"weightedThreePartRollDown",31:"vUp",32:"weightedVUp",33:"weightedRussianTwistOnSwissBall",34:"weightedSitUp",35:"xAbs",36:"weightedXAbs",37:"sitUp",38:"ghdSitUps",39:"sitUpTurkishGetUp",40:"russianTwistOnSwissBall"},squatExerciseName:{0:"legPress",1:"backSquatWithBodyBar",2:"backSquats",3:"weightedBackSquats",4:"balancingSquat",5:"weightedBalancingSquat",6:"barbellBackSquat",7:"barbellBoxSquat",8:"barbellFrontSquat",9:"barbellHackSquat",10:"barbellHangSquatSnatch",11:"barbellLateralStepUp",12:"barbellQuarterSquat",13:"barbellSiffSquat",14:"barbellSquatSnatch",15:"barbellSquatWithHeelsRaised",16:"barbellStepover",17:"barbellStepUp",18:"benchSquatWithRotationalChop",19:"weightedBenchSquatWithRotationalChop",20:"bodyWeightWallSquat",21:"weightedWallSquat",22:"boxStepSquat",23:"weightedBoxStepSquat",24:"bracedSquat",25:"crossedArmBarbellFrontSquat",26:"crossoverDumbbellStepUp",27:"dumbbellFrontSquat",28:"dumbbellSplitSquat",29:"dumbbellSquat",30:"dumbbellSquatClean",31:"dumbbellStepover",32:"dumbbellStepUp",33:"elevatedSingleLegSquat",34:"weightedElevatedSingleLegSquat",35:"figureFourSquats",36:"weightedFigureFourSquats",37:"gobletSquat",38:"kettlebellSquat",39:"kettlebellSwingOverhead",40:"kettlebellSwingWithFlipToSquat",41:"lateralDumbbellStepUp",42:"oneLeggedSquat",43:"overheadDumbbellSquat",44:"overheadSquat",45:"partialSingleLegSquat",46:"weightedPartialSingleLegSquat",47:"pistolSquat",48:"weightedPistolSquat",49:"plieSlides",50:"weightedPlieSlides",51:"plieSquat",52:"weightedPlieSquat",53:"prisonerSquat",54:"weightedPrisonerSquat",55:"singleLegBenchGetUp",56:"weightedSingleLegBenchGetUp",57:"singleLegBenchSquat",58:"weightedSingleLegBenchSquat",59:"singleLegSquatOnSwissBall",60:"weightedSingleLegSquatOnSwissBall",61:"squat",62:"weightedSquat",63:"squatsWithBand",64:"staggeredSquat",65:"weightedStaggeredSquat",66:"stepUp",67:"weightedStepUp",68:"suitcaseSquats",69:"sumoSquat",70:"sumoSquatSlideIn",71:"weightedSumoSquatSlideIn",72:"sumoSquatToHighPull",73:"sumoSquatToStand",74:"weightedSumoSquatToStand",75:"sumoSquatWithRotation",76:"weightedSumoSquatWithRotation",77:"swissBallBodyWeightWallSquat",78:"weightedSwissBallWallSquat",79:"thrusters",80:"unevenSquat",81:"weightedUnevenSquat",82:"waistSlimmingSquat",83:"wallBall",84:"wideStanceBarbellSquat",85:"wideStanceGobletSquat",86:"zercherSquat",87:"kbsOverhead",88:"squatAndSideKick",89:"squatJumpsInNOut",90:"pilatesPlieSquatsParallelTurnedOutFlatAndHeels",91:"releveStraightLegAndKneeBentWithOneLegVariation",92:"alternatingBoxDumbbellStepUps",93:"dumbbellOverheadSquatSingleArm",94:"dumbbellSquatSnatch",95:"medicineBallSquat",97:"wallBallSquatAndPress",98:"squatAmericanSwing",100:"airSquat",101:"dumbbellThrusters",102:"overheadBarbellSquat"},totalBodyExerciseName:{0:"burpee",1:"weightedBurpee",2:"burpeeBoxJump",3:"weightedBurpeeBoxJump",4:"highPullBurpee",5:"manMakers",6:"oneArmBurpee",7:"squatThrusts",8:"weightedSquatThrusts",9:"squatPlankPushUp",10:"weightedSquatPlankPushUp",11:"standingTRotationBalance",12:"weightedStandingTRotationBalance",13:"barbellBurpee",15:"burpeeBoxJumpOverYesLiterallyJumpingOverTheBox",16:"burpeeBoxJumpStepUpOver",17:"lateralBarbellBurpee",18:"totalBodyBurpeeOverBar",19:"burpeeBoxJumpOver",20:"burpeeWheelchair"},moveExerciseName:{0:"archAndCurl",1:"armCirclesWithBallBandAndWeight",2:"armStretch",3:"backMassage",4:"bellyBreathing",5:"bridgeWithBall",6:"diamondLegCrunch",7:"diamondLegLift",8:"eightPointShoulderOpener",9:"footRolling",10:"footwork",11:"footworkOnDisc",12:"forwardFold",13:"frogWithBand",14:"halfRollUp",15:"hamstringCurl",16:"hamstringStretch",17:"hipStretch",18:"hugATreeWithBallBandAndWeight",19:"kneeCircles",20:"kneeFoldsOnDisc",21:"lateralFlexion",22:"legStretchWithBand",23:"legStretchWithLegCircles",24:"lowerLiftOnDisc",25:"lungeSquat",26:"lungesWithKneeLift",27:"mermaidStretch",28:"neutralPelvicPosition",29:"pelvicClocksOnDisc",30:"pilatesPlieSquatsParallelTurnedOutFlatAndHeelsWithChair",31:"piriformisStretch",32:"plankKneeCrosses",33:"plankKneePulls",34:"plankUpDowns",35:"prayerMudra",36:"psoasLungeStretch",37:"ribcageBreathing",38:"rollDown",39:"rollUpWithWeightAndBand",40:"saw",41:"scapularStabilization",42:"scissorsOnDisc",43:"seatedHipStretchup",44:"seatedTwist",45:"shavingTheHeadWithBallBandAndWeight",46:"spinalTwist",47:"spinalTwistStretch",48:"spineStretchForward",49:"squatOpenArmTwistPose",50:"squatsWithBall",51:"standAndHang",52:"standingSideStretch",53:"standingSingleLegForwardBendWithItBandOpener",54:"straightLegCrunchWithLegLift",55:"straightLegCrunchWithLegLiftWithBall",56:"straightLegCrunchWithLegsCrossed",57:"straightLegCrunchWithLegsCrossedWithBall",58:"straightLegDiagonalCrunch",59:"straightLegDiagonalCrunchWithBall",60:"tailboneCurl",61:"throatLock",62:"tickTockSideRoll",63:"twist",64:"vLegCrunches",65:"vSit",66:"forwardFoldWheelchair",67:"forwardFoldPlusWheelchair",68:"armCirclesLowForwardWheelchair",69:"armCirclesMidForwardWheelchair",70:"armCirclesHighForwardWheelchair",71:"armCirclesLowBackwardWheelchair",72:"armCirclesMidBackwardWheelchair",73:"armCirclesHighBackwardWheelchair",74:"coreTwistsWheelchair",75:"armRaiseWheelchair",76:"chestExpandWheelchair",77:"armExtendWheelchair",78:"forwardBendWheelchair",79:"toeTouchWheelchair",80:"extendedToeTouchWheelchair",81:"seatedArmCircles",82:"trunkRotations",83:"seatedTrunkRotations",84:"toeTouch"},poseExerciseName:{0:"allFours",1:"ankleToKnee",2:"babyCobra",3:"boat",4:"boundAngle",5:"boundSeatedSingleLegForwardBend",6:"bow",7:"bowedHalfMoon",8:"bridge",9:"cat",10:"chair",11:"childs",12:"corpse",13:"cowFace",14:"cow",15:"devotionalWarrior",16:"dolphinPlank",17:"dolphin",18:"downDogKneeToNose",19:"downDogSplit",20:"downDogSplitOpenHipBentKnee",21:"downwardFacingDog",22:"eagle",23:"easySeated",24:"extendedPuppy",25:"extendedSideAngle",26:"fish",27:"fourLimbedStaff",28:"fullSplit",29:"gate",30:"halfChairHalfAnkleToKnee",31:"halfMoon",32:"headToKnee",33:"heron",34:"heros",35:"highLunge",36:"kneesChestChin",37:"lizard",38:"locust",39:"lowLunge",40:"lowLungeTwist",41:"lowLungeWithKneeDown",42:"mermaid",43:"mountain",44:"oneLeggedDownwardFacingPoseOpenHipBentKnee",45:"oneLeggedPigeon",46:"peacefulWarrior",47:"plank",48:"plow",49:"reclinedHandToFoot",50:"revolvedHalfMoon",51:"revolvedHeadToKnee",52:"revolvedTriangle",53:"runnersLunge",54:"seatedEasySideBend",55:"seatedEasyTwist",56:"seatedLongLegForwardBend",57:"seatedWideLegForwardBend",58:"shoulderStand",59:"sideBoat",60:"sidePlank",61:"sphinx",62:"squatOpenArmTwist",63:"squatPalmPress",64:"staff",65:"standingArmsUp",66:"standingForwardBendHalfwayUp",67:"standingForwardBend",68:"standingSideOpener",69:"standingSingleLegForwardBend",70:"standingSplit",71:"standingWideLegForwardBend",72:"standingWideLegForwardBendWithTwist",73:"supineSpinalTwist",74:"tableTop",75:"threadTheNeedle",76:"thunderbolt",77:"thunderboltPoseBothSidesArmStretch",78:"tree",79:"triangle",80:"upDog",81:"upwardFacingPlank",82:"warriorOne",83:"warriorThree",84:"warriorTwo",85:"wheel",86:"wideSideLunge",87:"deepBreathingWheelchair",88:"deepBreathingLowWheelchair",89:"deepBreathingMidWheelchair",90:"deepBreathingHighWheelchair",91:"prayerWheelchair",92:"overheadPrayerWheelchair",93:"cactusWheelchair",94:"breathingPunchesWheelchair",95:"breathingPunchesExtendedWheelchair",96:"breathingPunchesOverheadWheelchair",97:"breathingPunchesOverheadAndDownWheelchair",98:"breathingPunchesSideWheelchair",99:"breathingPunchesExtendedSideWheelchair",100:"breathingPunchesOverheadSideWheelchair",101:"breathingPunchesOverheadAndDownSideWheelchair",102:"leftHandBackWheelchair",103:"triangleWheelchair",104:"threadTheNeedleWheelchair",105:"neckFlexionAndExtensionWheelchair",106:"neckLateralFlexionWheelchair",107:"spineFlexionAndExtensionWheelchair",108:"spineRotationWheelchair",109:"spineLateralFlexionWheelchair",110:"alternativeSkiingWheelchair",111:"reachForwardWheelchair",112:"warriorWheelchair",113:"reverseWarriorWheelchair",114:"downwardFacingDogToCobra",115:"seatedCatCow"},tricepsExtensionExerciseName:{0:"benchDip",1:"weightedBenchDip",2:"bodyWeightDip",3:"cableKickback",4:"cableLyingTricepsExtension",5:"cableOverheadTricepsExtension",6:"dumbbellKickback",7:"dumbbellLyingTricepsExtension",8:"ezBarOverheadTricepsExtension",9:"inclineDip",10:"weightedInclineDip",11:"inclineEzBarLyingTricepsExtension",12:"lyingDumbbellPulloverToExtension",13:"lyingEzBarTricepsExtension",14:"lyingTricepsExtensionToCloseGripBenchPress",15:"overheadDumbbellTricepsExtension",16:"recliningTricepsPress",17:"reverseGripPressdown",18:"reverseGripTricepsPressdown",19:"ropePressdown",20:"seatedBarbellOverheadTricepsExtension",21:"seatedDumbbellOverheadTricepsExtension",22:"seatedEzBarOverheadTricepsExtension",23:"seatedSingleArmOverheadDumbbellExtension",24:"singleArmDumbbellOverheadTricepsExtension",25:"singleDumbbellSeatedOverheadTricepsExtension",26:"singleLegBenchDipAndKick",27:"weightedSingleLegBenchDipAndKick",28:"singleLegDip",29:"weightedSingleLegDip",30:"staticLyingTricepsExtension",31:"suspendedDip",32:"weightedSuspendedDip",33:"swissBallDumbbellLyingTricepsExtension",34:"swissBallEzBarLyingTricepsExtension",35:"swissBallEzBarOverheadTricepsExtension",36:"tabletopDip",37:"weightedTabletopDip",38:"tricepsExtensionOnFloor",39:"tricepsPressdown",40:"weightedDip",41:"alternatingDumbbellLyingTricepsExtension",42:"tricepsPress",43:"dumbbellKickbackWheelchair",44:"overheadDumbbellTricepsExtensionWheelchair"},warmUpExerciseName:{0:"quadrupedRocking",1:"neckTilts",2:"ankleCircles",3:"ankleDorsiflexionWithBand",4:"ankleInternalRotation",5:"armCircles",6:"bentOverReachToSky",7:"catCamel",8:"elbowToFootLunge",9:"forwardAndBackwardLegSwings",10:"groiners",11:"invertedHamstringStretch",12:"lateralDuckUnder",13:"neckRotations",14:"oppositeArmAndLegBalance",15:"reachRollAndLift",16:"scorpion",17:"shoulderCircles",18:"sideToSideLegSwings",19:"sleeperStretch",20:"slideOut",21:"swissBallHipCrossover",22:"swissBallReachRollAndLift",23:"swissBallWindshieldWipers",24:"thoracicRotation",25:"walkingHighKicks",26:"walkingHighKnees",27:"walkingKneeHugs",28:"walkingLegCradles",29:"walkout",30:"walkoutFromPushUpPosition",31:"bicepsStretch",32:"glutesStretch",33:"standingHamstringStretch",34:"stretch90_90",35:"stretchAbs",36:"stretchButterfly",37:"stretchCalf",38:"stretchCatCow",39:"stretchChildsPose",40:"stretchCobra",41:"stretchForearms",42:"stretchForwardGlutes",43:"stretchFrontSplit",44:"stretchHamstring",45:"stretchHipFlexorAndQuad",46:"stretchLat",47:"stretchLevatorScapulae",48:"stretchLungeWithSpinalTwist",49:"stretchLungingHipFlexor",50:"stretchLyingAbduction",51:"stretchLyingItBand",52:"stretchLyingKneeToChest",53:"stretchLyingPiriformis",54:"stretchLyingSpinalTwist",55:"stretchNeck",56:"stretchObliques",57:"stretchOverUnderShoulder",58:"stretchPectoral",59:"stretchPigeonPose",60:"stretchPiriformis",61:"stretchQuad",62:"stretchScorpion",63:"stretchShoulder",64:"stretchSide",65:"stretchSideLunge",66:"stretchSideSplit",67:"stretchStandingItBand",68:"stretchStraddle",69:"stretchTriceps",70:"stretchWallChestAndShoulder",71:"neckRotationsWheelchair",72:"halfKneelingArmRotation",73:"threeWayAnkleMobilization",74:"ninetyNinetyHipSwitch",75:"activeFrog",76:"shoulderSweeps",77:"ankleLunges",78:"backRollFoamRoller",79:"bearCrawl",80:"latissimusDorsiFoamRoll",81:"reverseTHipOpener",82:"shoulderRolls",83:"chestOpeners",84:"tricepsStretch",85:"upperBackStretch",86:"hipCircles",87:"ankleStretch",88:"marchingInPlace",89:"tricepsStretchWheelchair",90:"upperBackStretchWheelchair"},runExerciseName:{0:"run",1:"walk",2:"jog",3:"sprint",4:"runOrWalk",5:"speedWalk",6:"warmUp"},bikeExerciseName:{0:"bike",1:"ride",2:"sprint"},bandedExercisesExerciseName:{1:"abTwist",2:"backExtension",3:"bicycleCrunch",4:"calfRaises",5:"chestPress",6:"clamShells",7:"curl",8:"deadbug",9:"deadlift",10:"donkeyKick",11:"externalRotation",12:"externalRotationAt90DegreeAbduction",13:"facePull",14:"fireHydrant",15:"fly",16:"frontRaise",17:"gluteBridge",18:"hamstringCurls",19:"highPlankLegLifts",20:"hipExtension",21:"internalRotation",22:"jumpingJack",23:"kneelingCrunch",24:"lateralBandWalks",25:"lateralRaise",26:"latpull",27:"legAbduction",28:"legAdduction",29:"legExtension",30:"lunge",31:"plank",32:"pullApart",33:"pushUps",34:"reverseCrunch",35:"row",36:"shoulderAbduction",37:"shoulderExtension",38:"shoulderExternalRotation",39:"shoulderFlexionTo90Degrees",40:"sidePlankLegLifts",41:"sideRaise",42:"squat",43:"squatToPress",44:"tricepExtension",45:"tricepKickback",46:"uprightRow",47:"wallCrawlWithExternalRotation",49:"lateralRaiseWheelchair",50:"tricepsExtensionWheelchair",51:"chestFlyInclineWheelchair",52:"chestFlyDeclineWheelchair",53:"pullDownWheelchair",54:"straightArmPullDownWheelchair",55:"curlWheelchair",56:"overheadCurlWheelchair",57:"facePullWheelchair",58:"aroundTheWorldWheelchair",59:"pullApartWheelchair",60:"sideCurlWheelchair",61:"overheadPressWheelchair"},battleRopeExerciseName:{0:"alternatingFigureEight",1:"alternatingJumpWave",2:"alternatingKneelingToStandingWave",3:"alternatingLungeWave",4:"alternatingSquatWave",5:"alternatingWave",6:"alternatingWaveWithLateralShuffle",7:"clapWave",8:"doubleArmFigureEight",9:"doubleArmSideToSideSnake",10:"doubleArmSideWave",11:"doubleArmSlam",12:"doubleArmWave",13:"grapplerToss",14:"hipToss",15:"inAndOutWave",16:"insideCircle",17:"jumpingJacks",18:"outsideCircle",19:"rainbow",20:"sidePlankWave",21:"sidewinder",22:"sittingRussianTwist",23:"snakeWave",24:"splitJack",25:"stageCoach",26:"ultimateWarrior",27:"upperCuts"},ellipticalExerciseName:{0:"elliptical"},floorClimbExerciseName:{0:"floorClimb"},indoorBikeExerciseName:{0:"airBike",1:"assaultBike",3:"stationaryBike"},indoorRowExerciseName:{0:"rowingMachine"},ladderExerciseName:{0:"agility",1:"speed"},sandbagExerciseName:{0:"aroundTheWorld",1:"backSquat",2:"bearCrawlPullThrough",3:"bearHugSquat",4:"clean",5:"cleanAndPress",6:"curl",7:"frontCarry",8:"frontSquat",9:"lunge",10:"overheadPress",11:"plankPullThrough",12:"rotationalLunge",13:"row",14:"russianTwist",15:"shouldering",16:"shoveling",17:"sideLunge",18:"sprint",19:"zercherSquat"},sledExerciseName:{0:"backwardDrag",1:"chestPress",2:"forwardDrag",3:"lowPush",4:"push",5:"row"},sledgeHammerExerciseName:{0:"lateralSwing",1:"hammerSlam"},stairStepperExerciseName:{0:"stairStepper"},suspensionExerciseName:{0:"chestFly",1:"chestPress",2:"crunch",3:"curl",4:"dip",5:"facePull",6:"gluteBridge",7:"hamstringCurl",8:"hipDrop",9:"invertedRow",10:"kneeDriveJump",11:"kneeToChest",12:"latPullover",13:"lunge",14:"mountainClimber",15:"pendulum",16:"pike",17:"plank",18:"powerPull",19:"pullUp",20:"pushUp",21:"reverseMountainClimber",22:"reversePlank",23:"rollout",24:"row",25:"sideLunge",26:"sidePlank",27:"singleLegDeadlift",28:"singleLegSquat",29:"sitUp",30:"split",31:"squat",32:"squatJump",33:"tricepPress",34:"yFly"},tireExerciseName:{0:"flip"},bikeOutdoorExerciseName:{0:"bike"},runIndoorExerciseName:{0:"indoorTrackRun",1:"treadmill"},waterType:{0:"fresh",1:"salt",2:"en13319",3:"custom"},tissueModelType:{0:"zhl16c"},diveGasStatus:{0:"disabled",1:"enabled",2:"backupOnly"},diveAlert:{0:"ndlReached",1:"gasSwitchPrompted",2:"nearSurface",3:"approachingNdl",4:"po2Warn",5:"po2CritHigh",6:"po2CritLow",7:"timeAlert",8:"depthAlert",9:"decoCeilingBroken",10:"decoComplete",11:"safetyStopBroken",12:"safetyStopComplete",13:"cnsWarning",14:"cnsCritical",15:"otuWarning",16:"otuCritical",17:"ascentCritical",18:"alertDismissedByKey",19:"alertDismissedByTimeout",20:"batteryLow",21:"batteryCritical",22:"safetyStopStarted",23:"approachingFirstDecoStop",24:"setpointSwitchAutoLow",25:"setpointSwitchAutoHigh",26:"setpointSwitchManualLow",27:"setpointSwitchManualHigh",28:"autoSetpointSwitchIgnored",29:"switchedToOpenCircuit",30:"switchedToClosedCircuit",32:"tankBatteryLow",33:"po2CcrDilLow",34:"decoStopCleared",35:"apneaNeutralBuoyancy",36:"apneaTargetDepth",37:"apneaSurface",38:"apneaHighSpeed",39:"apneaLowSpeed"},diveAlarmType:{0:"depth",1:"time",2:"speed"},diveBacklightMode:{0:"atDepth",1:"alwaysOn"},sleepLevel:{0:"unmeasurable",1:"awake",2:"light",3:"deep",4:"rem"},spo2MeasurementType:{0:"offWrist",1:"spotCheck",2:"continuousCheck",3:"periodic"},ccrSetpointSwitchMode:{0:"manual",1:"automatic"},diveGasMode:{0:"openCircuit",1:"closedCircuitDiluent"},projectileType:{0:"arrow",1:"rifleCartridge",2:"pistolCartridge",3:"shotshell",4:"airRiflePellet",5:"other"},faveroProduct:{10:"assiomaUno",12:"assiomaDuo"},splitType:{1:"ascentSplit",2:"descentSplit",3:"intervalActive",4:"intervalRest",5:"intervalWarmup",6:"intervalCooldown",7:"intervalRecovery",8:"intervalOther",9:"climbActive",10:"climbRest",11:"surfActive",12:"runActive",13:"runRest",14:"workoutRound",17:"rwdRun",18:"rwdWalk",21:"windsurfActive",22:"rwdStand",23:"transition",28:"skiLiftSplit",29:"skiRunSplit"},climbProEvent:{0:"approach",1:"start",2:"complete"},gasConsumptionRateType:{0:"pressureSac",1:"volumeSac",2:"rmv"},tapSensitivity:{0:"high",1:"medium",2:"low"},radarThreatLevelType:{0:"threatUnknown",1:"threatNone",2:"threatApproaching",3:"threatApproachingFast"},sleepDisruptionSeverity:{0:"none",1:"low",2:"medium",3:"high"},napPeriodFeedback:{0:"none",1:"multipleNapsDuringDay",2:"jetlagIdealTimingIdealDuration",3:"jetlagIdealTimingLongDuration",4:"jetlagLateTimingIdealDuration",5:"jetlagLateTimingLongDuration",6:"idealTimingIdealDurationLowNeed",7:"idealTimingIdealDurationHighNeed",8:"idealTimingLongDurationLowNeed",9:"idealTimingLongDurationHighNeed",10:"lateTimingIdealDurationLowNeed",11:"lateTimingIdealDurationHighNeed",12:"lateTimingLongDurationLowNeed",13:"lateTimingLongDurationHighNeed",14:"idealDurationLowNeed",15:"idealDurationHighNeed",16:"longDurationLowNeed",17:"longDurationHighNeed"},napSource:{0:"automatic",1:"manualDevice",2:"manualGc"},maxMetSpeedSource:{0:"onboardGps",1:"connectedGps",2:"cadence"},maxMetHeartRateSource:{0:"whr",1:"hrm"},hrvStatus:{0:"none",1:"poor",2:"low",3:"unbalanced",4:"balanced"},noFlyTimeMode:{0:"standard",1:"flat24Hours"}},MesgNum:{FILE_ID:0,FILE_CREATOR:49,TIMESTAMP_CORRELATION:162,SOFTWARE:35,SLAVE_DEVICE:106,CAPABILITIES:1,FILE_CAPABILITIES:37,MESG_CAPABILITIES:38,FIELD_CAPABILITIES:39,DEVICE_SETTINGS:2,USER_PROFILE:3,HRM_PROFILE:4,SDM_PROFILE:5,BIKE_PROFILE:6,CONNECTIVITY:127,WATCHFACE_SETTINGS:159,OHR_SETTINGS:188,TIME_IN_ZONE:216,ZONES_TARGET:7,SPORT:12,HR_ZONE:8,SPEED_ZONE:53,CADENCE_ZONE:131,POWER_ZONE:9,MET_ZONE:10,TRAINING_SETTINGS:13,DIVE_SETTINGS:258,DIVE_ALARM:262,DIVE_APNEA_ALARM:393,DIVE_GAS:259,GOAL:15,ACTIVITY:34,SESSION:18,LAP:19,LENGTH:101,RECORD:20,EVENT:21,DEVICE_INFO:23,DEVICE_AUX_BATTERY_INFO:375,TRAINING_FILE:72,WEATHER_CONDITIONS:128,WEATHER_ALERT:129,GPS_METADATA:160,CAMERA_EVENT:161,GYROSCOPE_DATA:164,ACCELEROMETER_DATA:165,MAGNETOMETER_DATA:208,BAROMETER_DATA:209,THREE_D_SENSOR_CALIBRATION:167,ONE_D_SENSOR_CALIBRATION:210,VIDEO_FRAME:169,OBDII_DATA:174,NMEA_SENTENCE:177,AVIATION_ATTITUDE:178,VIDEO:184,VIDEO_TITLE:185,VIDEO_DESCRIPTION:186,VIDEO_CLIP:187,SET:225,JUMP:285,SPLIT:312,SPLIT_SUMMARY:313,CLIMB_PRO:317,FIELD_DESCRIPTION:206,DEVELOPER_DATA_ID:207,COURSE:31,COURSE_POINT:32,SEGMENT_ID:148,SEGMENT_LEADERBOARD_ENTRY:149,SEGMENT_POINT:150,SEGMENT_LAP:142,SEGMENT_FILE:151,WORKOUT:26,WORKOUT_SESSION:158,WORKOUT_STEP:27,EXERCISE_TITLE:264,SCHEDULE:28,TOTALS:33,WEIGHT_SCALE:30,BLOOD_PRESSURE:51,MONITORING_INFO:103,MONITORING:55,MONITORING_HR_DATA:211,SPO2_DATA:269,HR:132,STRESS_LEVEL:227,MAX_MET_DATA:229,HSA_BODY_BATTERY_DATA:314,HSA_EVENT:315,HSA_ACCELEROMETER_DATA:302,HSA_GYROSCOPE_DATA:376,HSA_STEP_DATA:304,HSA_SPO2_DATA:305,HSA_STRESS_DATA:306,HSA_RESPIRATION_DATA:307,HSA_HEART_RATE_DATA:308,HSA_CONFIGURATION_DATA:389,HSA_WRIST_TEMPERATURE_DATA:409,MEMO_GLOB:145,SLEEP_LEVEL:275,ANT_CHANNEL_ID:82,ANT_RX:80,ANT_TX:81,EXD_SCREEN_CONFIGURATION:200,EXD_DATA_FIELD_CONFIGURATION:201,EXD_DATA_CONCEPT_CONFIGURATION:202,DIVE_SUMMARY:268,AAD_ACCEL_FEATURES:289,HRV:78,BEAT_INTERVALS:290,HRV_STATUS_SUMMARY:370,HRV_VALUE:371,RAW_BBI:372,RESPIRATION_RATE:297,CHRONO_SHOT_SESSION:387,CHRONO_SHOT_DATA:388,TANK_UPDATE:319,TANK_SUMMARY:323,SLEEP_ASSESSMENT:346,SLEEP_DISRUPTION_SEVERITY_PERIOD:470,SLEEP_DISRUPTION_OVERNIGHT_SEVERITY:471,NAP_EVENT:412,SKIN_TEMP_OVERNIGHT:398,PAD:105}},ao=new TextEncoder;class no{globalMessageNumber;localMesgNum;fieldDefinitions=[];developerFieldDefinitions=[];constructor(s,t,{fieldDescriptions:a=null}={}){try{if(t==null)throw new Error("mesg is missing or null");if(s==null)throw new Error("mesgNum is missing or null");const i=Os.messages[s];if(i==null)throw new Error(`mesgNum: ${s} could not be found in the Profile`);if(this.globalMessageNumber=s,this.localMesgNum=0,Object.keys(t).forEach(n=>{if(t[n]==null)return;const o=Object.entries(i.fields).find(([,h])=>h.name===n);if(o==null)return;const l=ae.FieldTypeToBaseType[o[1].baseType],r=ae.BaseTypeDefinitions[l];let m=o[1].components.length>1?ae.FIELD_DEFAULT_SCALE:o[1].scale,v=o[1].components.length>1?ae.FIELD_DEFAULT_OFFSET:o[1].offset;m=Array.isArray(m)?m[0]:m??ae.FIELD_DEFAULT_SCALE,v=Array.isArray(v)?v[0]:v??ae.FIELD_DEFAULT_OFFSET,this.fieldDefinitions.push({name:n,num:o[1].num,size:this.#s(t[n],r),baseType:l,baseTypeEndianFlag:r.baseTypeEndianFlag,type:o[1].type,scale:m,offset:v,components:o[1].components})}),Object.keys(t.developerFields??{})?.sort()?.forEach(n=>{const{developerDataIdMesg:o,fieldDescriptionMesg:l}=this.#e(a,n),r=ae.BaseTypeDefinitions[l.fitBaseTypeId&ae.BaseTypeMask];this.developerFieldDefinitions.push({key:n,baseType:l.fitBaseTypeId&ae.BaseTypeMask,fieldDefinitionNumber:l.fieldDefinitionNumber,size:this.#s(t.developerFields[n],r),developerDataIndex:o.developerDataIndex,type:ae.BaseTypeToFieldType[r.type],scale:1,offset:0,components:[]})}),this.fieldDefinitions.length===0)throw new Error("No valid fields were found in the message");if(this.fieldDefinitions.some(n=>n.size>ae.MAX_FIELD_SIZE))throw new Error(`Some field sizes are greater than ${ae.MAX_FIELD_SIZE}`,{cause:this.fieldDefinitions});this.developerFieldDefinitions.forEach(n=>{if(n.size>ae.MAX_FIELD_SIZE)throw new Error(`Developer field size for key '${n.key}' is greater than ${ae.MAX_FIELD_SIZE}`,{cause:n})})}catch(i){throw new Error("Could not construct MesgDefinition from Message",{cause:{cause:{message:i.message,cause:i.cause}}})}}write(s){let t=ae.MESG_DEFINITION_MASK|this.localMesgNum&ae.LOCAL_MESG_NUM_MASK;this.developerFieldDefinitions.length>0&&(t|=ae.DEV_DATA_MASK),s.writeUInt8(t),s.writeUInt8(0),s.writeUInt8(ae.ARCH_LITTLE_ENDIAN),s.writeUInt16(this.globalMessageNumber),s.writeUInt8(this.fieldDefinitions.length),this.fieldDefinitions.forEach(a=>{s.writeUInt8(a.num),s.writeUInt8(a.size),s.writeUInt8(a.baseType|a.baseTypeEndianFlag)}),this.developerFieldDefinitions.length>0&&(s.writeUInt8(this.developerFieldDefinitions.length),this.developerFieldDefinitions.forEach(a=>{s.writeUInt8(a.fieldDefinitionNumber),s.writeUInt8(a.size),s.writeUInt8(a.developerDataIndex)}))}equals(s){if(this.globalMessageNumber!==s.globalMessageNumber||this.fieldDefinitions.length!==s.fieldDefinitions.length||this.developerFieldDefinitions.length!==s.developerFieldDefinitions.length)return!1;for(let t=0;t<this.fieldDefinitions.length;t++){const a=this.fieldDefinitions[t];if(s.fieldDefinitions.find(i=>a.num===i.num&&a.size===i.size&&a.baseType===i.baseType)==null)return!1}for(let t=0;t<this.developerFieldDefinitions.length;t++){const a=this.developerFieldDefinitions[t];if(s.developerFieldDefinitions.find(i=>a.fieldDefinitionNumber===i.fieldDefinitionNumber&&a.size===i.size&&a.developerDataIndex===i.developerDataIndex)==null)return!1}return!0}#s(s,t){const a=Array.isArray(s)?s:[s];return t.type===ae.BaseType.STRING?a.reduce((n,o)=>n+ao.encode(o).length+1,0):t.size*a.length}#e(s,t){try{if(s==null)throw new Error("no developer data field descriptions provided",{cause:{fieldDescriptions:s}});const{developerDataIdMesg:a,fieldDescriptionMesg:i}=s?.[t]??{};if(a==null||i==null)throw new Error(`could not find a developer field description for key ${t}`);const n=[];if(i.fitBaseTypeId==null&&n.push(`fieldDescriptionMesg fitBaseTypeId is ${i.fitBaseTypeId}`),i.fieldDefinitionNumber==null&&n.push(`fieldDescriptionMesg fieldDefinitionNumber is ${i.fieldDefinitionNumber}`),i.developerDataIndex==null&&n.push(`fieldDescriptionMesg developerDataIndex is ${i.developerDataIndex}`),a.developerDataIndex==null&&n.push(`developerDataIdMesg developerDataIndex is ${a.developerDataIndex}`),a.developerDataIndex!==i.developerDataIndex&&n.push(`developerDataIndex values do not match in fieldDescription ${a.developerDataIndex} != ${i.developerDataIndex}`),n.length>0)throw new Error("missing or invalid values in the fieldDescription,",{cause:{developerDataIdMesg:a,fieldDescriptionMesg:i,cause:n}});return{key:t,developerDataIdMesg:a,fieldDescriptionMesg:i}}catch(a){throw new Error(`invalid field description for key ${t}`,{cause:{key:t,cause:{message:a.message,cause:a.cause}}})}}}const jn=1048576,io=jn*500,Na=jn/2,lo=io;class oo{#s=null;#e=null;#t=0;#o=0;#i=null;#l=new TextEncoder;constructor({initialByteLength:s=Na,maxByteLength:t=lo,resizeByBytes:a=Na}={}){this.#s=new ArrayBuffer(s,{maxByteLength:t}),this.#e=new DataView(this.#s),this.#o=a,this.#i={[ae.BaseType.ENUM]:{setValue:this.#e.setUint8.bind(this.#e),size:1,mask:255},[ae.BaseType.UINT8]:{setValue:this.#e.setUint8.bind(this.#e),size:1,mask:255},[ae.BaseType.UINT16]:{setValue:this.#e.setUint16.bind(this.#e),size:2,mask:65535},[ae.BaseType.UINT32]:{setValue:this.#e.setUint32.bind(this.#e),size:4,mask:4294967295},[ae.BaseType.UINT64]:{setValue:this.#e.setBigUint64.bind(this.#e),size:8,mask:0xFFFFFFFFFFFFFFFFn},[ae.BaseType.SINT8]:{setValue:this.#e.setInt8.bind(this.#e),size:1,mask:255},[ae.BaseType.SINT16]:{setValue:this.#e.setInt16.bind(this.#e),size:2,mask:65535},[ae.BaseType.SINT32]:{setValue:this.#e.setInt32.bind(this.#e),size:4,mask:4294967295},[ae.BaseType.SINT64]:{setValue:this.#e.setBigInt64.bind(this.#e),size:8,mask:0xFFFFFFFFFFFFFFFFn},[ae.BaseType.FLOAT32]:{setValue:this.#e.setFloat32.bind(this.#e),size:4},[ae.BaseType.FLOAT64]:{setValue:this.#e.setFloat64.bind(this.#e),size:8},[ae.BaseType.UINT8Z]:{setValue:this.#e.setUint8.bind(this.#e),size:1,mask:255},[ae.BaseType.UINT16Z]:{setValue:this.#e.setUint16.bind(this.#e),size:2,mask:65535},[ae.BaseType.UINT32Z]:{setValue:this.#e.setUint32.bind(this.#e),size:4,mask:4294967295},[ae.BaseType.UINT64Z]:{setValue:this.#e.setBigUint64.bind(this.#e),size:8,mask:0xFFFFFFFFFFFFFFFFn},[ae.BaseType.BYTE]:{setValue:this.#e.setUint8.bind(this.#e),size:1,mask:255}}}get length(){return this.#t}get uint8Array(){return new Uint8Array(this.#s.slice(0,this.#t))}writeUInt8(s){return this.write(s,ae.BaseType.UINT8)}writeUInt16(s){return this.write(s,ae.BaseType.UINT16)}writeUInt32(s){return this.write(s,ae.BaseType.UINT32)}writeUInt64(s){return this.write(s,ae.BaseType.UINT64)}writeSInt8(s){return this.write(s,ae.BaseType.SINT8)}writeSInt16(s){return this.write(s,ae.BaseType.SINT16)}writeSInt32(s){return this.write(s,ae.BaseType.SINT32)}writeSInt64(s){return this.write(s,ae.BaseType.SINT64)}writeFloat32(s){return this.write(s,ae.BaseType.FLOAT32)}writeFloat64(s){return this.write(s,ae.BaseType.FLOAT64)}writeUInt8z(s){return this.write(s,ae.BaseType.UINT8Z)}writeUInt16z(s){return this.write(s,ae.BaseType.UINT16Z)}writeUInt32z(s){return this.write(s,ae.BaseType.UINT32Z)}writeUInt64z(s){return this.write(s,ae.BaseType.UINT64Z)}writeByte(s){return this.write(s,ae.BaseType.BYTE)}writeString(s){s=Array.isArray(s)?s.join(ae.NULL_TERMINATOR):s;const t=this.#l.encode(s);return this.#n(t.byteLength),new Uint8Array(this.#s,this.#t,t.byteLength).set(t),this.#t+=t.byteLength,this.writeUInt8(ae.NULL_TERMINATOR),this}write(s,t){if(t===ae.BaseType.STRING)return this.writeString(s);this.#a(t,s)}set(s,t=0){return this.#n(s.byteLength+t),new Uint8Array(this.#s).set(s,t),this.#t=Math.max(this.#t,s.byteLength+t),this}[Symbol.iterator](){let s=0;const t=this.#t,a=this.#e;return{next(){return s<t?{value:a.getUint8(s++),done:!1}:{done:!0}}}}#a(s,t){(Array.isArray(t)?t:[t]).forEach(i=>this.#r(s,i))}#r(s,t){const a=this.#i[s];this.#n(a.size);const i=a.mask==null?t:t&a.mask;return a.setValue(this.#t,i,!0),this.#t+=a.size,this}#n(s=1){if(this.#s.byteLength-this.#t>=s)return;const t=this.#s.byteLength+Math.max(this.#o,s);if(t>this.#s.maxByteLength)throw new Error("Can not resize OutputStream. Set a larger initial size.");this.#s.resize(t)}}const wt=14,ro=12;class uo{constructor({fieldDescriptions:s=null}={}){this.#m={};for(const[t,{developerDataIdMesg:a,fieldDescriptionMesg:i}]of Object.entries(s??{}))this.addDeveloperField(t,a,i);this.#s()}close(){return this.#e(),this.#t(),this.#u.uint8Array}writeMesg(s){return this.onMesg(s.mesgNum,s)}onMesg(s,t){try{const a=this.#r(s,t);this.#d(a),this.#u.writeUInt8(a.localMesgNum),a.fieldDefinitions.forEach(i=>{const n=this.#o(t[i.name],i),o=ae.BaseTypeDefinitions[i.baseType];this.#u.write(n,o.type)}),a.developerFieldDefinitions.forEach(i=>{const n=this.#o(t.developerFields[i.key],i),o=ae.BaseTypeDefinitions[i.baseType];this.#u.write(n,o.type)})}catch(a){throw new Error("Could not write Message",{cause:{mesg:t,cause:{message:a.message,cause:a.cause}}})}return this}addDeveloperField(s,t,a){if(t.developerDataIndex==null||a.developerDataIndex==null)throw new Error("addDeveloperField() - one or more developerDataIndex values are null.",{cause:{key:s,developerDataIdMesg:t,fieldDescriptionMesg:a}});if(t.developerDataIndex!==a.developerDataIndex)throw new Error("addDeveloperField() - developerDataIndex values do not match.",{cause:{key:s,developerDataIdMesg:t,fieldDescriptionMesg:a}});return this.#m[s]={developerDataIdMesg:t,fieldDescriptionMesg:a},this}#s(){Array(wt).fill(0).forEach(s=>{this.#u.writeUInt8(s)})}#e(){const s=new ArrayBuffer(wt),t=new DataView(s);t.setUint8(0,wt),t.setUint8(1,2),t.setUint16(2,Os.version.major*1e3+Os.version.minor,!0),t.setUint32(4,this.#u.length-wt,!0),t.setUint8(8,46),t.setUint8(9,70),t.setUint8(10,73),t.setUint8(11,84);const a=Ot.calculateCRC(new Uint8Array(s),0,ro);t.setUint16(12,a,!0),this.#u.set(new Uint8Array(s))}#t(){const s=Ot.calculateCRC(this.#u.uint8Array,0,this.#u.length);this.#u.writeUInt16(s)}#o(s,t){return(Array.isArray(s)?s:[s]).map(i=>this.#i(i,t))}#i(s,t){try{if(ae.isNotNumberStringDateOrBoolean(s))return ae.BaseTypeDefinitions[t.baseType].invalid;if(ae.NumericFieldTypes.includes(t.type)){if(!ae.isNumeric(s))throw new Error;ae.isString(s)&&(s=ae.BigIntFieldTypes.includes(t.type)?BigInt(s):Number(s));const n=t.scale!=ae.FIELD_DEFAULT_SCALE||t.offset!=ae.FIELD_DEFAULT_OFFSET;if(!n&&!this.#l(s,t.type))throw new Error;if(n){const o=this.#a(s,t.scale,t.offset),l=ae.FloatingPointFieldTypes.includes(t.type)||ae.isBigInt(o)?o:Math.round(o);return ae.BigIntFieldTypes.includes(t.type)?BigInt(l):Number(l)}return s}if(t.type==="dateTime"){if(ae.isDate(s))return to.convertDateToDateTime(s);if(!ae.isNumeric(s))throw new Error;return s}if(t.type==="string"){if(!ae.isString(s))throw new Error;return s}if(ae.isNumeric(s))return s;const a=Os.types[t.type],[i]=Object.entries(a).find(([,n])=>n===s);return i}catch{throw new Error(`Could not convert "${s}" to "${t.type}"`,{cause:{value:s,fieldDefinition:t}})}}#l=(s,t)=>{const a=ae.FieldTypeToJsType[t];return typeof s===a};#a(s,t,a){return ae.isBigInt(s)?(s+BigInt(a))*BigInt(t):(s+a)*t}#r=(s,t)=>{const a=new no(s,t,{fieldDescriptions:this.#m});return a.localMesgNum=this.#n(a),a};#n=s=>{const t=this.#c.findIndex(a=>a?.equals(s)??!1);return(t!==-1?t:this.#p++)&ae.LOCAL_MESG_NUM_MASK};#d=s=>{const t=s.localMesgNum;return(this.#c[t]==null||!this.#c[t].equals(s))&&this.#f(s),t};#f(s){return s.write(this.#u),this.#c[s.localMesgNum]=s,this}#c=Array(16).fill(null);#p=0;#u=new oo;#m=null}function st(e){return e!=="rest"&&e!=="race"}function co(e){switch(e){case"swim":return"swimming";case"bike":return"cycling";case"run":return"running";case"strength":return"training";case"brick":return"multisport";default:return"generic"}}function mo(e){switch(e){case"swim":return"lap_swimming";case"bike":return"road";case"run":return"road";case"strength":return"strength_training";case"brick":return"triathlon";default:return"generic"}}function fo(e){switch(e){case"warmup":return"warmup";case"cooldown":return"cooldown";case"rest":return"rest";case"recovery":return"recovery";case"work":return"active";default:return"active"}}function po(e,s){switch(s){case"seconds":return e*1e3;case"minutes":return e*60*1e3;case"hours":return e*3600*1e3;case"meters":return e*100;case"kilometers":return e*1e5;case"miles":return e*160934;default:return e*1e3}}function ho(e){switch(e){case"seconds":case"minutes":case"hours":return"time";case"meters":case"kilometers":case"miles":return"distance";default:return"time"}}function bo(e){const s=[];let t=0;const a=(n,o=!1)=>{const l=ho(n.duration?.unit??"minutes"),r=po(n.duration?.value??0,n.duration?.unit??"minutes"),m={messageIndex:t,workoutStepName:n.name||"",intensity:fo(n.type),durationType:l,durationValue:r,notes:n.notes||""};if(n.intensity){const v=n.intensity.value??50;switch(n.intensity.unit){case"percent_ftp":m.targetType="power",m.targetValue=0,m.customTargetValueLow=n.intensity.valueLow??v-5,m.customTargetValueHigh=n.intensity.valueHigh??v+5;break;case"percent_lthr":case"hr_zone":m.targetType="heart_rate",m.targetValue=0,n.intensity.valueLow!==void 0&&n.intensity.valueHigh!==void 0?(m.customTargetValueLow=n.intensity.valueLow,m.customTargetValueHigh=n.intensity.valueHigh):m.targetValue=v;break;case"rpe":m.targetType="open";break;default:m.targetType="open"}}else m.targetType="open";return n.cadence&&(m.customTargetCadenceLow=n.cadence.low??80,m.customTargetCadenceHigh=n.cadence.high??100),s.push(m),t++,t-1},i=n=>{const o=t;t++;const l=[];for(const m of n.steps)l.push(a(m,!0));const r={messageIndex:o,workoutStepName:n.name||"Intervals",durationType:"repeat_until_steps_cmplt",durationValue:n.repeats,targetType:"open",intensity:"interval"};s.splice(o,0,r),t++};if(e.warmup)for(const n of e.warmup)a(n);for(const n of e.main)"repeats"in n?i(n):a(n);if(e.cooldown)for(const n of e.cooldown)a(n);return{steps:s,totalSteps:s.length}}function yo(e){const s=[],t=e.durationMinutes||60,a=Math.min(15,Math.max(5,Math.round(t*.1)));s.push({messageIndex:0,workoutStepName:"Warm Up",intensity:"warmup",durationType:"time",durationValue:a*60*1e3,targetType:"open"});const i=Math.min(10,Math.max(5,Math.round(t*.1))),n=t-a-i;let o="active";return e.type==="recovery"?o="recovery":e.type==="rest"?o="rest":(e.type==="intervals"||e.type==="vo2max")&&(o="interval"),s.push({messageIndex:1,workoutStepName:"Main Set",intensity:o,durationType:"time",durationValue:n*60*1e3,targetType:"open",notes:e.description||""}),s.push({messageIndex:2,workoutStepName:"Cool Down",intensity:"cooldown",durationType:"time",durationValue:i*60*1e3,targetType:"open"}),{steps:s,totalSteps:3}}async function Gn(e,s){if(!st(e.sport))throw new Error(`FIT export not supported for ${e.sport} workouts`);const t=new uo;t.onMesg(Os.MesgNum.FILE_ID,{type:"workout",manufacturer:"development",product:1,serialNumber:Math.floor(Math.random()*1e6),timeCreated:new Date});const{steps:a,totalSteps:i}=e.structure?bo(e.structure):yo(e);t.onMesg(Os.MesgNum.WORKOUT,{workoutName:e.name,sport:co(e.sport),subSport:mo(e.sport),numValidSteps:i});for(const n of a)t.onMesg(Os.MesgNum.WORKOUT_STEP,n);return t.close()}function tt(e){return e==="bike"}function go(e){const s=[];let t=0;const a=n=>{const o=n.intensity?.value??50,l=i(n);if(s.push([t,o]),n.intensity?.valueLow!==void 0&&n.intensity?.valueHigh!==void 0){const r=n.intensity.valueLow,m=n.intensity.valueHigh;s[s.length-1]=[t,r],t+=l,s.push([t,m])}else t+=l,s.push([t,o])},i=n=>{const o=n.duration?.unit??"minutes",l=n.duration?.value??0;switch(o){case"seconds":return l/60;case"minutes":return l;case"hours":return l*60;default:return o==="meters"?l/1e3/30*60:o==="kilometers"?l/30*60:l}};if(e.warmup)for(const n of e.warmup)a(n);for(const n of e.main??[])if("repeats"in n){const o=n;for(let l=0;l<(o.repeats??1);l++)for(const r of o.steps??[])a(r)}else a(n);if(e.cooldown)for(const n of e.cooldown)a(n);return s}function vo(e){const s=e.durationMinutes||60,t=[];let a=65;switch(e.type){case"recovery":a=55;break;case"endurance":a=65;break;case"tempo":a=80;break;case"threshold":a=95;break;case"vo2max":a=110;break;case"intervals":a=85;break}const i=Math.min(15,Math.max(5,Math.round(s*.1)));t.push([0,40]),t.push([i,65]);const n=Math.min(10,Math.max(5,Math.round(s*.1))),o=s-i-n;return t.push([i,a]),t.push([i+o,a]),t.push([i+o,60]),t.push([s,40]),t}function Zn(e,s){if(!tt(e.sport))throw new Error("ERG/MRC export only supports bike workouts");const t=e.structure?go(e.structure):vo(e);let a=e.name;e.description&&(a+=` - ${e.description}`);const i=["[COURSE HEADER]","VERSION = 2","UNITS = ENGLISH",`DESCRIPTION = ${a.replace(/[\r\n]/g," ")}`,`FILE NAME = ${e.name}`,"MINUTES PERCENT","[END COURSE HEADER]","[COURSE DATA]"];for(const[n,o]of t)i.push(`${n.toFixed(2)} ${o.toFixed(0)}`);return i.push("[END COURSE DATA]"),i.join(`
29
- `)}function ra(e){return e.replace(/-/g,"")}function ws(e){return e.replace(/\\/g,"\\\\").replace(/;/g,"\\;").replace(/,/g,"\\,").replace(/\n/g,"\\n").replace(/\\n/g,"\\n")}function js(e){if(e.length<=75)return e;const t=[];let a=e;for(t.push(a.substring(0,75)),a=a.substring(75);a.length>0;)t.push(" "+a.substring(0,74)),a=a.substring(74);return t.join(`\r
30
- `)}function To(e,s){return`${e}-${s}@claude-coach`}function Co(e,s,t){const a=To(e.id,s.date),i=ra(s.date),n=Ln(e.sport),o=wa(e.durationMinutes),l=ws(`${n} ${e.sport.charAt(0).toUpperCase()+e.sport.slice(1)}: ${e.name}`);let r="";e.description&&(r+=e.description+"\\n\\n"),o&&(r+=`Duration: ${o}\\n`),e.primaryZone&&(r+=`Target Zone: ${e.primaryZone}\\n`),e.humanReadable&&(r+="\\nWorkout Structure:\\n"+e.humanReadable.replace(/\\n/g,"\\n")),r=ws(r.trim());const m=[e.sport,e.type,t].join(",");return["BEGIN:VEVENT",js(`UID:${a}`),`DTSTAMP:${new Date().toISOString().replace(/[-:]/g,"").split(".")[0]}Z`,`DTSTART;VALUE=DATE:${i}`,`DTEND;VALUE=DATE:${i}`,js(`SUMMARY:${l}`),js(`DESCRIPTION:${r}`),js(`CATEGORIES:${ws(m)}`),"TRANSP:TRANSPARENT","END:VEVENT"].join(`\r
31
- `)}function wo(e){const s=new Date().toISOString().replace(/[-:]/g,"").split(".")[0]+"Z",t=e.meta?.event??"Training Plan",a=e.meta?.eventDate??"",i=["BEGIN:VCALENDAR","VERSION:2.0","PRODID:-//Claude Coach//Training Plan//EN","CALSCALE:GREGORIAN","METHOD:PUBLISH",`X-WR-CALNAME:${ws(t)} Training`,`X-WR-CALDESC:${ws(`Training plan for ${t} on ${a}`)}`].join(`\r
32
- `),n=[];for(const l of e.weeks??[])for(const r of l.days??[])for(const m of r.workouts??[])m.sport==="rest"&&!m.name||n.push(Co(m,r,t));if(a){const l=["BEGIN:VEVENT","UID:race-day@claude-coach",`DTSTAMP:${s}`,`DTSTART;VALUE=DATE:${ra(a)}`,`DTEND;VALUE=DATE:${ra(a)}`,js(`SUMMARY:🏆 RACE DAY: ${ws(t)}`),js(`DESCRIPTION:${ws(`Race day for ${t}!`)}`),`CATEGORIES:race,${ws(t)}`,"TRANSP:OPAQUE","END:VEVENT"].join(`\r
28
+ </workout_file>`}const wt=[0,52225,55297,5120,61441,15360,10240,58369,40961,27648,30720,46081,20480,39937,34817,17408];class zt{#s=0;constructor(){}get crc(){return this.#s}#e(s){let t=wt[this.#s&15];return this.#s=this.#s>>4&4095,this.#s=this.#s^t^wt[s&15],t=wt[this.#s&15],this.#s=this.#s>>4&4095,this.#s=this.#s^t^wt[s>>4&15],this.#s}addBytes(s,t,a){for(let i=t;i<a;i++)this.#s=this.#e(s[i]);return this.#s}static calculateCRC(s,t,a){return new zt().addBytes(s,t,a)}}const de={ENUM:0,SINT8:1,UINT8:2,SINT16:3,UINT16:4,SINT32:5,UINT32:6,STRING:7,FLOAT32:8,FLOAT64:9,UINT8Z:10,UINT16Z:11,UINT32Z:12,BYTE:13,SINT64:14,UINT64:15,UINT64Z:16},Hl=31,jl={0:{size:1,type:de.ENUM,baseTypeEndianFlag:0,invalid:255},1:{size:1,type:de.SINT8,baseTypeEndianFlag:0,invalid:127},2:{size:1,type:de.UINT8,baseTypeEndianFlag:0,invalid:255},3:{size:2,type:de.SINT16,baseTypeEndianFlag:128,invalid:32767},4:{size:2,type:de.UINT16,baseTypeEndianFlag:128,invalid:65535},5:{size:4,type:de.SINT32,baseTypeEndianFlag:128,invalid:2147483647},6:{size:4,type:de.UINT32,baseTypeEndianFlag:128,invalid:4294967295},7:{size:1,type:de.STRING,baseTypeEndianFlag:0,invalid:0},8:{size:4,type:de.FLOAT32,baseTypeEndianFlag:128,invalid:4294967295},9:{size:8,type:de.FLOAT64,baseTypeEndianFlag:128,invalid:18446744073709552e3},10:{size:1,type:de.UINT8Z,baseTypeEndianFlag:0,invalid:0},11:{size:2,type:de.UINT16Z,baseTypeEndianFlag:128,invalid:0},12:{size:4,type:de.UINT32Z,baseTypeEndianFlag:128,invalid:0},13:{size:1,type:de.BYTE,baseTypeEndianFlag:0,invalid:255},14:{size:8,type:de.SINT64,baseTypeEndianFlag:128,invalid:9223372036854776e3},15:{size:8,type:de.UINT64,baseTypeEndianFlag:128,invalid:18446744073709552e3},16:{size:8,type:de.UINT64Z,baseTypeEndianFlag:128,invalid:0}},Bn=["sint8","uint8","sint16","uint16","sint32","uint32","float32","float64","uint8z","uint16z","uint32z","byte","sint64","uint64","uint64z"],Gl=new Set(Bn),Zl={enum:"number",sint8:"number",uint8:"number",sint16:"number",uint16:"number",sint32:"number",uint32:"number",string:"string",float32:"number",float64:"number",uint8z:"number",uint16z:"number",uint32z:"number",byte:"number",sint64:"bigint",uint64:"bigint",uint64z:"bigint"},Kl=["sint64","uint64","uint64z"],ql=["float32","float64"],Vl={enum:de.UINT8,sint8:de.SINT8,uint8:de.UINT8,sint16:de.SINT16,uint16:de.UINT16,sint32:de.SINT32,uint32:de.UINT32,string:de.STRING,float32:de.FLOAT32,float64:de.FLOAT64,uint8z:de.UINT8Z,uint16z:de.UINT16Z,uint32z:de.UINT32Z,byte:de.BYTE,sint64:de.SINT64,uint64:de.UINT64,uint64z:de.UINT64Z},Jl={[de.ENUM]:"enum",[de.SINT8]:"sint8",[de.UINT8]:"uint8",[de.SINT16]:"sint16",[de.UINT16]:"uint16",[de.SINT32]:"sint32",[de.UINT32]:"uint32",[de.STRING]:"string",[de.FLOAT32]:"float32",[de.FLOAT64]:"float64",[de.UINT8Z]:"uint8z",[de.UINT16Z]:"uint16z",[de.UINT32Z]:"uint32z",[de.BYTE]:"byte",[de.SINT64]:"sint64",[de.UINT64]:"uint64",[de.UINT64Z]:"uint64z"},Mn=e=>e==null,Yl=e=>typeof e=="object",On=e=>typeof e=="boolean",zn=e=>typeof e=="object"&&e instanceof Date,Nn=e=>typeof e=="string",Xl=e=>typeof e=="bigint",Wn=e=>{if(typeof e=="number")return!isNaN(e)&&isFinite(e);if(typeof e=="bigint")return!0;const s=parseFloat(e);return!isNaN(s)&&isFinite(s)},Ql=e=>!Un(e),Un=e=>!(Mn(e)||!Wn(e)&&!zn(e)&&!Nn(e)&&!On(e)),ae={BaseType:de,BaseTypeMask:Hl,BaseTypeDefinitions:jl,NumericFieldTypes:Bn,NumericFieldTypesSet:Gl,BigIntFieldTypes:Kl,FloatingPointFieldTypes:ql,FieldTypeToBaseType:Vl,BaseTypeToFieldType:Jl,FieldTypeToJsType:Zl,isNullOrUndefined:Mn,isObject:Yl,isBoolean:On,isDate:zn,isString:Nn,isBigInt:Xl,isNumeric:Wn,isNumberStringDateOrBoolean:Un,isNotNumberStringDateOrBoolean:Ql,MAX_FIELD_SIZE:255,FIELD_DEFAULT_SCALE:1,FIELD_DEFAULT_OFFSET:0,MESG_DEFINITION_MASK:64,LOCAL_MESG_NUM_MASK:15,ARCH_LITTLE_ENDIAN:0,DEV_DATA_MASK:32,NULL_TERMINATOR:"\0"},wa=6310656e5,$l=e=>new Date((e??0)*1e3+wa),eo=e=>(e.getTime()-wa)/1e3,so={FIT_EPOCH_MS:wa,convertDateTimeToDate:$l,convertDateToDateTime:eo,FitBaseType:ae.BaseType,BaseTypeToFieldType:ae.BaseTypeToFieldType,FieldTypeToBaseType:ae.FieldTypeToBaseType},Os={version:{major:21,minor:208,patch:0,type:"Release"},CommonFields:{PartIndex:250,Timestamp:253,MessageIndex:254},messages:{0:{num:0,name:"fileId",messagesKey:"fileIdMesgs",fields:{0:{num:0,name:"type",type:"file",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"manufacturer",type:"manufacturer",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"product",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"faveroProduct",type:"faveroProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:263}]},{name:"garminProduct",type:"garminProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:1},{name:"manufacturer",value:15},{name:"manufacturer",value:13},{name:"manufacturer",value:89}]}]},3:{num:3,name:"serialNumber",type:"uint32z",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"timeCreated",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"number",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"productName",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},49:{num:49,name:"fileCreator",messagesKey:"fileCreatorMesgs",fields:{0:{num:0,name:"softwareVersion",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"hardwareVersion",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},162:{num:162,name:"timestampCorrelation",messagesKey:"timestampCorrelationMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"fractionalTimestamp",type:"uint16",baseType:"uint16",array:!1,scale:32768,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"systemTimestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"fractionalSystemTimestamp",type:"uint16",baseType:"uint16",array:!1,scale:32768,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"localTimestamp",type:"localDateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"systemTimestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},35:{num:35,name:"software",messagesKey:"softwareMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"version",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"partNumber",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},106:{num:106,name:"slaveDevice",messagesKey:"slaveDeviceMesgs",fields:{0:{num:0,name:"manufacturer",type:"manufacturer",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"product",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"faveroProduct",type:"faveroProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:263}]},{name:"garminProduct",type:"garminProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:1},{name:"manufacturer",value:15},{name:"manufacturer",value:13},{name:"manufacturer",value:89}]}]}}},1:{num:1,name:"capabilities",messagesKey:"capabilitiesMesgs",fields:{0:{num:0,name:"languages",type:"uint8z",baseType:"uint8z",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"sports",type:"sportBits0",baseType:"uint8z",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},21:{num:21,name:"workoutsSupported",type:"workoutCapabilities",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"connectivitySupported",type:"connectivityCapabilities",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},37:{num:37,name:"fileCapabilities",messagesKey:"fileCapabilitiesMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"type",type:"file",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"flags",type:"fileFlags",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"directory",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"maxCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"maxSize",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"bytes",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},38:{num:38,name:"mesgCapabilities",messagesKey:"mesgCapabilitiesMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"file",type:"file",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"mesgNum",type:"mesgNum",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"countType",type:"mesgCount",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"count",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"numPerFile",type:"uint16",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"countType",value:0}]},{name:"maxPerFile",type:"uint16",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"countType",value:1}]},{name:"maxPerFileType",type:"uint16",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"countType",value:2}]}]}}},39:{num:39,name:"fieldCapabilities",messagesKey:"fieldCapabilitiesMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"file",type:"file",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"mesgNum",type:"mesgNum",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"fieldNum",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"count",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},2:{num:2,name:"deviceSettings",messagesKey:"deviceSettingsMesgs",fields:{0:{num:0,name:"activeTimeZone",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"utcOffset",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"timeOffset",type:"uint32",baseType:"uint32",array:!0,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"timeMode",type:"timeMode",baseType:"enum",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"timeZoneOffset",type:"sint8",baseType:"sint8",array:!0,scale:4,offset:0,units:"hr",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"backlightMode",type:"backlightMode",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},36:{num:36,name:"activityTrackerEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},39:{num:39,name:"clockTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},40:{num:40,name:"pagesEnabled",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},46:{num:46,name:"moveAlertEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},47:{num:47,name:"dateMode",type:"dateMode",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},55:{num:55,name:"displayOrientation",type:"displayOrientation",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},56:{num:56,name:"mountingSide",type:"side",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},57:{num:57,name:"defaultPage",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},58:{num:58,name:"autosyncMinSteps",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"steps",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},59:{num:59,name:"autosyncMinTime",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"minutes",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},80:{num:80,name:"lactateThresholdAutodetectEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},86:{num:86,name:"bleAutoUploadEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},89:{num:89,name:"autoSyncFrequency",type:"autoSyncFrequency",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},90:{num:90,name:"autoActivityDetect",type:"autoActivityDetect",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},94:{num:94,name:"numberOfScreens",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},95:{num:95,name:"smartNotificationDisplayOrientation",type:"displayOrientation",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},134:{num:134,name:"tapInterface",type:"switch",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},174:{num:174,name:"tapSensitivity",type:"tapSensitivity",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},3:{num:3,name:"userProfile",messagesKey:"userProfileMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"friendlyName",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"gender",type:"gender",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"age",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"years",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"height",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"weight",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"kg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"language",type:"language",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"elevSetting",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"weightSetting",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"restingHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"defaultMaxRunningHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"defaultMaxBikingHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"defaultMaxHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"hrSetting",type:"displayHeart",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"speedSetting",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"distSetting",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},16:{num:16,name:"powerSetting",type:"displayPower",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},17:{num:17,name:"activityClass",type:"activityClass",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},18:{num:18,name:"positionSetting",type:"displayPosition",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},21:{num:21,name:"temperatureSetting",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"localId",type:"userLocalId",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"globalId",type:"byte",baseType:"byte",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},28:{num:28,name:"wakeTime",type:"localtimeIntoDay",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},29:{num:29,name:"sleepTime",type:"localtimeIntoDay",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},30:{num:30,name:"heightSetting",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},31:{num:31,name:"userRunningStepLength",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},32:{num:32,name:"userWalkingStepLength",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},47:{num:47,name:"depthSetting",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},49:{num:49,name:"diveCount",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},4:{num:4,name:"hrmProfile",messagesKey:"hrmProfileMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"enabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"hrmAntId",type:"uint16z",baseType:"uint16z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"logHrv",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"hrmAntIdTransType",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},5:{num:5,name:"sdmProfile",messagesKey:"sdmProfileMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"enabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"sdmAntId",type:"uint16z",baseType:"uint16z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"sdmCalFactor",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"odometer",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"speedSource",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"sdmAntIdTransType",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"odometerRollover",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},6:{num:6,name:"bikeProfile",messagesKey:"bikeProfileMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"odometer",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"bikeSpdAntId",type:"uint16z",baseType:"uint16z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"bikeCadAntId",type:"uint16z",baseType:"uint16z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"bikeSpdcadAntId",type:"uint16z",baseType:"uint16z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"bikePowerAntId",type:"uint16z",baseType:"uint16z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"customWheelsize",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"autoWheelsize",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"bikeWeight",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"kg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"powerCalFactor",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"autoWheelCal",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"autoPowerZero",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"id",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"spdEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},16:{num:16,name:"cadEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},17:{num:17,name:"spdcadEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},18:{num:18,name:"powerEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},19:{num:19,name:"crankLength",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:-110,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},20:{num:20,name:"enabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},21:{num:21,name:"bikeSpdAntIdTransType",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"bikeCadAntIdTransType",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"bikeSpdcadAntIdTransType",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"bikePowerAntIdTransType",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},37:{num:37,name:"odometerRollover",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},38:{num:38,name:"frontGearNum",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},39:{num:39,name:"frontGear",type:"uint8z",baseType:"uint8z",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},40:{num:40,name:"rearGearNum",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},41:{num:41,name:"rearGear",type:"uint8z",baseType:"uint8z",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},44:{num:44,name:"shimanoDi2Enabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},127:{num:127,name:"connectivity",messagesKey:"connectivityMesgs",fields:{0:{num:0,name:"bluetoothEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"bluetoothLeEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"antEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"liveTrackingEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"weatherConditionsEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"weatherAlertsEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"autoActivityUploadEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"courseDownloadEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"workoutDownloadEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"gpsEphemerisDownloadEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"incidentDetectionEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"grouptrackEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},159:{num:159,name:"watchfaceSettings",messagesKey:"watchfaceSettingsMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"mode",type:"watchfaceMode",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"layout",type:"byte",baseType:"byte",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"digitalLayout",type:"digitalWatchfaceLayout",baseType:"enum",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"mode",value:0}]},{name:"analogLayout",type:"analogWatchfaceLayout",baseType:"enum",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"mode",value:1}]}]}}},188:{num:188,name:"ohrSettings",messagesKey:"ohrSettingsMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"enabled",type:"switch",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},216:{num:216,name:"timeInZone",messagesKey:"timeInZoneMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"referenceMesg",type:"mesgNum",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"referenceIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"timeInHrZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"timeInSpeedZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"timeInCadenceZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"timeInPowerZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"hrZoneHighBoundary",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"speedZoneHighBoundary",type:"uint16",baseType:"uint16",array:!0,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"cadenceZoneHighBondary",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"powerZoneHighBoundary",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"hrCalcType",type:"hrZoneCalc",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"maxHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"restingHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"thresholdHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"pwrCalcType",type:"pwrZoneCalc",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"functionalThresholdPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},7:{num:7,name:"zonesTarget",messagesKey:"zonesTargetMesgs",fields:{1:{num:1,name:"maxHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"thresholdHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"functionalThresholdPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"hrCalcType",type:"hrZoneCalc",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"pwrCalcType",type:"pwrZoneCalc",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},12:{num:12,name:"sport",messagesKey:"sportMesgs",fields:{0:{num:0,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},8:{num:8,name:"hrZone",messagesKey:"hrZoneMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"highBpm",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},53:{num:53,name:"speedZone",messagesKey:"speedZoneMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"highValue",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},131:{num:131,name:"cadenceZone",messagesKey:"cadenceZoneMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"highValue",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},9:{num:9,name:"powerZone",messagesKey:"powerZoneMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"highValue",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},10:{num:10,name:"metZone",messagesKey:"metZoneMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"highBpm",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"calories",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"kcal / min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"fatCalories",type:"uint8",baseType:"uint8",array:!1,scale:10,offset:0,units:"kcal / min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},13:{num:13,name:"trainingSettings",messagesKey:"trainingSettingsMesgs",fields:{31:{num:31,name:"targetDistance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},32:{num:32,name:"targetSpeed",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},33:{num:33,name:"targetTime",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},153:{num:153,name:"preciseTargetSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e6,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},258:{num:258,name:"diveSettings",messagesKey:"diveSettingsMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"model",type:"tissueModelType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"gfLow",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"gfHigh",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"waterType",type:"waterType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"waterDensity",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"kg/m^3",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"po2Warn",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"po2Critical",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"po2Deco",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"safetyStopEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"bottomDepth",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"bottomTime",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"apneaCountdownEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"apneaCountdownTime",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"backlightMode",type:"diveBacklightMode",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"backlightBrightness",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},16:{num:16,name:"backlightTimeout",type:"backlightTimeout",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},17:{num:17,name:"repeatDiveInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},18:{num:18,name:"safetyStopTime",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},19:{num:19,name:"heartRateSourceType",type:"sourceType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},20:{num:20,name:"heartRateSource",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"heartRateAntplusDeviceType",type:"antplusDeviceType",baseType:"uint8",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"heartRateSourceType",value:1}]},{name:"heartRateLocalDeviceType",type:"localDeviceType",baseType:"uint8",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"heartRateSourceType",value:5}]}]},21:{num:21,name:"travelGas",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"ccrLowSetpointSwitchMode",type:"ccrSetpointSwitchMode",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"ccrLowSetpoint",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"ccrLowSetpointDepth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},25:{num:25,name:"ccrHighSetpointSwitchMode",type:"ccrSetpointSwitchMode",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},26:{num:26,name:"ccrHighSetpoint",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},27:{num:27,name:"ccrHighSetpointDepth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},29:{num:29,name:"gasConsumptionDisplay",type:"gasConsumptionRateType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},30:{num:30,name:"upKeyEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},35:{num:35,name:"diveSounds",type:"tone",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},36:{num:36,name:"lastStopMultiple",type:"uint8",baseType:"uint8",array:!1,scale:10,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},37:{num:37,name:"noFlyTimeMode",type:"noFlyTimeMode",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},262:{num:262,name:"diveAlarm",messagesKey:"diveAlarmMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"depth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"time",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"enabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"alarmType",type:"diveAlarmType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"sound",type:"tone",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"diveTypes",type:"subSport",baseType:"enum",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"id",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"popupEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"triggerOnDescent",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"triggerOnAscent",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"repeating",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"speed",type:"sint32",baseType:"sint32",array:!1,scale:1e3,offset:0,units:"mps",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},393:{num:393,name:"diveApneaAlarm",messagesKey:"diveApneaAlarmMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"depth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"time",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"enabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"alarmType",type:"diveAlarmType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"sound",type:"tone",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"diveTypes",type:"subSport",baseType:"enum",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"id",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"popupEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"triggerOnDescent",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"triggerOnAscent",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"repeating",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"speed",type:"sint32",baseType:"sint32",array:!1,scale:1e3,offset:0,units:"mps",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},259:{num:259,name:"diveGas",messagesKey:"diveGasMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"heliumContent",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"oxygenContent",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"status",type:"diveGasStatus",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"mode",type:"diveGasMode",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},15:{num:15,name:"goal",messagesKey:"goalMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"startDate",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"endDate",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"type",type:"goal",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"value",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"repeat",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"targetValue",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"recurrence",type:"goalRecurrence",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"recurrenceValue",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"enabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"source",type:"goalSource",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},34:{num:34,name:"activity",messagesKey:"activityMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"totalTimerTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"numSessions",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"type",type:"activity",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"event",type:"event",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"eventType",type:"eventType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"localTimestamp",type:"localDateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"eventGroup",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},18:{num:18,name:"session",messagesKey:"sessionMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"event",type:"event",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"eventType",type:"eventType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"startTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"startPositionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"startPositionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"totalElapsedTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"totalTimerTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"totalDistance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"totalCycles",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"cycles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"totalStrides",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"strides",bits:[],components:[],hasComponents:!1,map:[{name:"sport",value:1},{name:"sport",value:11}]},{name:"totalStrokes",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"strokes",bits:[],components:[],hasComponents:!1,map:[{name:"sport",value:2},{name:"sport",value:5},{name:"sport",value:15},{name:"sport",value:37}]}]},11:{num:11,name:"totalCalories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"totalFatCalories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"avgSpeed",type:"uint16",baseType:"uint16",array:!1,scale:[1e3],offset:[0],units:["m/s"],bits:[16],components:["124"],isAccumulated:!1,hasComponents:!0,subFields:[]},15:{num:15,name:"maxSpeed",type:"uint16",baseType:"uint16",array:!1,scale:[1e3],offset:[0],units:["m/s"],bits:[16],components:["125"],isAccumulated:!1,hasComponents:!0,subFields:[]},16:{num:16,name:"avgHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},17:{num:17,name:"maxHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},18:{num:18,name:"avgCadence",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"avgRunningCadence",type:"uint8",baseType:"uint8",scale:1,offset:0,units:"strides/min",bits:[],components:[],hasComponents:!1,map:[{name:"sport",value:1}]}]},19:{num:19,name:"maxCadence",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"maxRunningCadence",type:"uint8",baseType:"uint8",scale:1,offset:0,units:"strides/min",bits:[],components:[],hasComponents:!1,map:[{name:"sport",value:1}]}]},20:{num:20,name:"avgPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},21:{num:21,name:"maxPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"totalAscent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"totalDescent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"totalTrainingEffect",type:"uint8",baseType:"uint8",array:!1,scale:10,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},25:{num:25,name:"firstLapIndex",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},26:{num:26,name:"numLaps",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},27:{num:27,name:"eventGroup",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},28:{num:28,name:"trigger",type:"sessionTrigger",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},29:{num:29,name:"necLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},30:{num:30,name:"necLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},31:{num:31,name:"swcLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},32:{num:32,name:"swcLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},33:{num:33,name:"numLengths",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"lengths",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},34:{num:34,name:"normalizedPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},35:{num:35,name:"trainingStressScore",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"tss",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},36:{num:36,name:"intensityFactor",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"if",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},37:{num:37,name:"leftRightBalance",type:"leftRightBalance100",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},38:{num:38,name:"endPositionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},39:{num:39,name:"endPositionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},41:{num:41,name:"avgStrokeCount",type:"uint32",baseType:"uint32",array:!1,scale:10,offset:0,units:"strokes/lap",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},42:{num:42,name:"avgStrokeDistance",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},43:{num:43,name:"swimStroke",type:"swimStroke",baseType:"enum",array:!1,scale:1,offset:0,units:"swim_stroke",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},44:{num:44,name:"poolLength",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},45:{num:45,name:"thresholdPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},46:{num:46,name:"poolLengthUnit",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},47:{num:47,name:"numActiveLengths",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"lengths",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},48:{num:48,name:"totalWork",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"J",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},49:{num:49,name:"avgAltitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["126"],isAccumulated:!1,hasComponents:!0,subFields:[]},50:{num:50,name:"maxAltitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["128"],isAccumulated:!1,hasComponents:!0,subFields:[]},51:{num:51,name:"gpsAccuracy",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},52:{num:52,name:"avgGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},53:{num:53,name:"avgPosGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},54:{num:54,name:"avgNegGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},55:{num:55,name:"maxPosGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},56:{num:56,name:"maxNegGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},57:{num:57,name:"avgTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},58:{num:58,name:"maxTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},59:{num:59,name:"totalMovingTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},60:{num:60,name:"avgPosVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},61:{num:61,name:"avgNegVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},62:{num:62,name:"maxPosVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},63:{num:63,name:"maxNegVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},64:{num:64,name:"minHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},65:{num:65,name:"timeInHrZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},66:{num:66,name:"timeInSpeedZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},67:{num:67,name:"timeInCadenceZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},68:{num:68,name:"timeInPowerZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},69:{num:69,name:"avgLapTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},70:{num:70,name:"bestLapIndex",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},71:{num:71,name:"minAltitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["127"],isAccumulated:!1,hasComponents:!0,subFields:[]},78:{num:78,name:"activeTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},82:{num:82,name:"playerScore",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},83:{num:83,name:"opponentScore",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},84:{num:84,name:"opponentName",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},85:{num:85,name:"strokeCount",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},86:{num:86,name:"zoneCount",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},87:{num:87,name:"maxBallSpeed",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},88:{num:88,name:"avgBallSpeed",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},89:{num:89,name:"avgVerticalOscillation",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},90:{num:90,name:"avgStanceTimePercent",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},91:{num:91,name:"avgStanceTime",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},92:{num:92,name:"avgFractionalCadence",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},93:{num:93,name:"maxFractionalCadence",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},94:{num:94,name:"totalFractionalCycles",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"cycles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},95:{num:95,name:"avgTotalHemoglobinConc",type:"uint16",baseType:"uint16",array:!0,scale:100,offset:0,units:"g/dL",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},96:{num:96,name:"minTotalHemoglobinConc",type:"uint16",baseType:"uint16",array:!0,scale:100,offset:0,units:"g/dL",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},97:{num:97,name:"maxTotalHemoglobinConc",type:"uint16",baseType:"uint16",array:!0,scale:100,offset:0,units:"g/dL",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},98:{num:98,name:"avgSaturatedHemoglobinPercent",type:"uint16",baseType:"uint16",array:!0,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},99:{num:99,name:"minSaturatedHemoglobinPercent",type:"uint16",baseType:"uint16",array:!0,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},100:{num:100,name:"maxSaturatedHemoglobinPercent",type:"uint16",baseType:"uint16",array:!0,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},101:{num:101,name:"avgLeftTorqueEffectiveness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},102:{num:102,name:"avgRightTorqueEffectiveness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},103:{num:103,name:"avgLeftPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},104:{num:104,name:"avgRightPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},105:{num:105,name:"avgCombinedPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},110:{num:110,name:"sportProfileName",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},111:{num:111,name:"sportIndex",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},112:{num:112,name:"timeStanding",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},113:{num:113,name:"standCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},114:{num:114,name:"avgLeftPco",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},115:{num:115,name:"avgRightPco",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},116:{num:116,name:"avgLeftPowerPhase",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},117:{num:117,name:"avgLeftPowerPhasePeak",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},118:{num:118,name:"avgRightPowerPhase",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},119:{num:119,name:"avgRightPowerPhasePeak",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},120:{num:120,name:"avgPowerPosition",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},121:{num:121,name:"maxPowerPosition",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},122:{num:122,name:"avgCadencePosition",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},123:{num:123,name:"maxCadencePosition",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},124:{num:124,name:"enhancedAvgSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},125:{num:125,name:"enhancedMaxSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},126:{num:126,name:"enhancedAvgAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},127:{num:127,name:"enhancedMinAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},128:{num:128,name:"enhancedMaxAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},129:{num:129,name:"avgLevMotorPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},130:{num:130,name:"maxLevMotorPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},131:{num:131,name:"levBatteryConsumption",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},132:{num:132,name:"avgVerticalRatio",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},133:{num:133,name:"avgStanceTimeBalance",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},134:{num:134,name:"avgStepLength",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},137:{num:137,name:"totalAnaerobicTrainingEffect",type:"uint8",baseType:"uint8",array:!1,scale:10,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},139:{num:139,name:"avgVam",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},140:{num:140,name:"avgDepth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},141:{num:141,name:"maxDepth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},142:{num:142,name:"surfaceInterval",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},143:{num:143,name:"startCns",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},144:{num:144,name:"endCns",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},145:{num:145,name:"startN2",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},146:{num:146,name:"endN2",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},147:{num:147,name:"avgRespirationRate",type:"uint8",baseType:"uint8",array:!1,scale:[1],offset:[0],units:[""],bits:[8],components:["169"],isAccumulated:!1,hasComponents:!0,subFields:[]},148:{num:148,name:"maxRespirationRate",type:"uint8",baseType:"uint8",array:!1,scale:[1],offset:[0],units:[""],bits:[8],components:["170"],isAccumulated:!1,hasComponents:!0,subFields:[]},149:{num:149,name:"minRespirationRate",type:"uint8",baseType:"uint8",array:!1,scale:[1],offset:[0],units:[""],bits:[8],components:["180"],isAccumulated:!1,hasComponents:!0,subFields:[]},150:{num:150,name:"minTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},155:{num:155,name:"o2Toxicity",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"OTUs",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},156:{num:156,name:"diveNumber",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},168:{num:168,name:"trainingLoadPeak",type:"sint32",baseType:"sint32",array:!1,scale:65536,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},169:{num:169,name:"enhancedAvgRespirationRate",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"Breaths/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},170:{num:170,name:"enhancedMaxRespirationRate",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"Breaths/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},180:{num:180,name:"enhancedMinRespirationRate",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},181:{num:181,name:"totalGrit",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"kGrit",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},182:{num:182,name:"totalFlow",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"Flow",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},183:{num:183,name:"jumpCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},186:{num:186,name:"avgGrit",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"kGrit",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},187:{num:187,name:"avgFlow",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"Flow",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},192:{num:192,name:"workoutFeel",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},193:{num:193,name:"workoutRpe",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},194:{num:194,name:"avgSpo2",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},195:{num:195,name:"avgStress",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},196:{num:196,name:"metabolicCalories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},197:{num:197,name:"sdrrHrv",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"mS",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},198:{num:198,name:"rmssdHrv",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"mS",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},199:{num:199,name:"totalFractionalAscent",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},200:{num:200,name:"totalFractionalDescent",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},208:{num:208,name:"avgCoreTemperature",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},209:{num:209,name:"minCoreTemperature",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},210:{num:210,name:"maxCoreTemperature",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},19:{num:19,name:"lap",messagesKey:"lapMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"event",type:"event",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"eventType",type:"eventType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"startTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"startPositionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"startPositionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"endPositionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"endPositionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"totalElapsedTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"totalTimerTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"totalDistance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"totalCycles",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"cycles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"totalStrides",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"strides",bits:[],components:[],hasComponents:!1,map:[{name:"sport",value:1},{name:"sport",value:11}]},{name:"totalStrokes",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"strokes",bits:[],components:[],hasComponents:!1,map:[{name:"sport",value:2},{name:"sport",value:5},{name:"sport",value:15},{name:"sport",value:37}]}]},11:{num:11,name:"totalCalories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"totalFatCalories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"avgSpeed",type:"uint16",baseType:"uint16",array:!1,scale:[1e3],offset:[0],units:["m/s"],bits:[16],components:["110"],isAccumulated:!1,hasComponents:!0,subFields:[]},14:{num:14,name:"maxSpeed",type:"uint16",baseType:"uint16",array:!1,scale:[1e3],offset:[0],units:["m/s"],bits:[16],components:["111"],isAccumulated:!1,hasComponents:!0,subFields:[]},15:{num:15,name:"avgHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},16:{num:16,name:"maxHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},17:{num:17,name:"avgCadence",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"avgRunningCadence",type:"uint8",baseType:"uint8",scale:1,offset:0,units:"strides/min",bits:[],components:[],hasComponents:!1,map:[{name:"sport",value:1}]}]},18:{num:18,name:"maxCadence",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"maxRunningCadence",type:"uint8",baseType:"uint8",scale:1,offset:0,units:"strides/min",bits:[],components:[],hasComponents:!1,map:[{name:"sport",value:1}]}]},19:{num:19,name:"avgPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},20:{num:20,name:"maxPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},21:{num:21,name:"totalAscent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"totalDescent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"intensity",type:"intensity",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"lapTrigger",type:"lapTrigger",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},25:{num:25,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},26:{num:26,name:"eventGroup",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},32:{num:32,name:"numLengths",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"lengths",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},33:{num:33,name:"normalizedPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},34:{num:34,name:"leftRightBalance",type:"leftRightBalance100",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},35:{num:35,name:"firstLengthIndex",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},37:{num:37,name:"avgStrokeDistance",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},38:{num:38,name:"swimStroke",type:"swimStroke",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},39:{num:39,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},40:{num:40,name:"numActiveLengths",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"lengths",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},41:{num:41,name:"totalWork",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"J",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},42:{num:42,name:"avgAltitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["112"],isAccumulated:!1,hasComponents:!0,subFields:[]},43:{num:43,name:"maxAltitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["114"],isAccumulated:!1,hasComponents:!0,subFields:[]},44:{num:44,name:"gpsAccuracy",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},45:{num:45,name:"avgGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},46:{num:46,name:"avgPosGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},47:{num:47,name:"avgNegGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},48:{num:48,name:"maxPosGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},49:{num:49,name:"maxNegGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},50:{num:50,name:"avgTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},51:{num:51,name:"maxTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},52:{num:52,name:"totalMovingTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},53:{num:53,name:"avgPosVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},54:{num:54,name:"avgNegVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},55:{num:55,name:"maxPosVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},56:{num:56,name:"maxNegVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},57:{num:57,name:"timeInHrZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},58:{num:58,name:"timeInSpeedZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},59:{num:59,name:"timeInCadenceZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},60:{num:60,name:"timeInPowerZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},61:{num:61,name:"repetitionNum",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},62:{num:62,name:"minAltitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["113"],isAccumulated:!1,hasComponents:!0,subFields:[]},63:{num:63,name:"minHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},70:{num:70,name:"activeTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},71:{num:71,name:"wktStepIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},74:{num:74,name:"opponentScore",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},75:{num:75,name:"strokeCount",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},76:{num:76,name:"zoneCount",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},77:{num:77,name:"avgVerticalOscillation",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},78:{num:78,name:"avgStanceTimePercent",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},79:{num:79,name:"avgStanceTime",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},80:{num:80,name:"avgFractionalCadence",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},81:{num:81,name:"maxFractionalCadence",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},82:{num:82,name:"totalFractionalCycles",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"cycles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},83:{num:83,name:"playerScore",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},84:{num:84,name:"avgTotalHemoglobinConc",type:"uint16",baseType:"uint16",array:!0,scale:100,offset:0,units:"g/dL",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},85:{num:85,name:"minTotalHemoglobinConc",type:"uint16",baseType:"uint16",array:!0,scale:100,offset:0,units:"g/dL",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},86:{num:86,name:"maxTotalHemoglobinConc",type:"uint16",baseType:"uint16",array:!0,scale:100,offset:0,units:"g/dL",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},87:{num:87,name:"avgSaturatedHemoglobinPercent",type:"uint16",baseType:"uint16",array:!0,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},88:{num:88,name:"minSaturatedHemoglobinPercent",type:"uint16",baseType:"uint16",array:!0,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},89:{num:89,name:"maxSaturatedHemoglobinPercent",type:"uint16",baseType:"uint16",array:!0,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},91:{num:91,name:"avgLeftTorqueEffectiveness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},92:{num:92,name:"avgRightTorqueEffectiveness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},93:{num:93,name:"avgLeftPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},94:{num:94,name:"avgRightPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},95:{num:95,name:"avgCombinedPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},98:{num:98,name:"timeStanding",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},99:{num:99,name:"standCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},100:{num:100,name:"avgLeftPco",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},101:{num:101,name:"avgRightPco",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},102:{num:102,name:"avgLeftPowerPhase",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},103:{num:103,name:"avgLeftPowerPhasePeak",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},104:{num:104,name:"avgRightPowerPhase",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},105:{num:105,name:"avgRightPowerPhasePeak",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},106:{num:106,name:"avgPowerPosition",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},107:{num:107,name:"maxPowerPosition",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},108:{num:108,name:"avgCadencePosition",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},109:{num:109,name:"maxCadencePosition",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},110:{num:110,name:"enhancedAvgSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},111:{num:111,name:"enhancedMaxSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},112:{num:112,name:"enhancedAvgAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},113:{num:113,name:"enhancedMinAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},114:{num:114,name:"enhancedMaxAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},115:{num:115,name:"avgLevMotorPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},116:{num:116,name:"maxLevMotorPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},117:{num:117,name:"levBatteryConsumption",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},118:{num:118,name:"avgVerticalRatio",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},119:{num:119,name:"avgStanceTimeBalance",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},120:{num:120,name:"avgStepLength",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},121:{num:121,name:"avgVam",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},122:{num:122,name:"avgDepth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},123:{num:123,name:"maxDepth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},124:{num:124,name:"minTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},136:{num:136,name:"enhancedAvgRespirationRate",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"Breaths/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},137:{num:137,name:"enhancedMaxRespirationRate",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"Breaths/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},147:{num:147,name:"avgRespirationRate",type:"uint8",baseType:"uint8",array:!1,scale:[1],offset:[0],units:[""],bits:[8],components:["136"],isAccumulated:!1,hasComponents:!0,subFields:[]},148:{num:148,name:"maxRespirationRate",type:"uint8",baseType:"uint8",array:!1,scale:[1],offset:[0],units:[""],bits:[8],components:["137"],isAccumulated:!1,hasComponents:!0,subFields:[]},149:{num:149,name:"totalGrit",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"kGrit",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},150:{num:150,name:"totalFlow",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"Flow",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},151:{num:151,name:"jumpCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},153:{num:153,name:"avgGrit",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"kGrit",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},154:{num:154,name:"avgFlow",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"Flow",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},156:{num:156,name:"totalFractionalAscent",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},157:{num:157,name:"totalFractionalDescent",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},158:{num:158,name:"avgCoreTemperature",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},159:{num:159,name:"minCoreTemperature",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},160:{num:160,name:"maxCoreTemperature",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},101:{num:101,name:"length",messagesKey:"lengthMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"event",type:"event",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"eventType",type:"eventType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"startTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"totalElapsedTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"totalTimerTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"totalStrokes",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"strokes",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"avgSpeed",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"swimStroke",type:"swimStroke",baseType:"enum",array:!1,scale:1,offset:0,units:"swim_stroke",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"avgSwimmingCadence",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"strokes/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"eventGroup",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"totalCalories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"lengthType",type:"lengthType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},18:{num:18,name:"playerScore",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},19:{num:19,name:"opponentScore",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},20:{num:20,name:"strokeCount",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},21:{num:21,name:"zoneCount",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"enhancedAvgRespirationRate",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"Breaths/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"enhancedMaxRespirationRate",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"Breaths/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"avgRespirationRate",type:"uint8",baseType:"uint8",array:!1,scale:[1],offset:[0],units:[""],bits:[8],components:["22"],isAccumulated:!1,hasComponents:!0,subFields:[]},25:{num:25,name:"maxRespirationRate",type:"uint8",baseType:"uint8",array:!1,scale:[1],offset:[0],units:[""],bits:[8],components:["23"],isAccumulated:!1,hasComponents:!0,subFields:[]}}},20:{num:20,name:"record",messagesKey:"recordMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"positionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"positionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"altitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["78"],isAccumulated:!1,hasComponents:!0,subFields:[]},3:{num:3,name:"heartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"cadence",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"distance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!0,hasComponents:!1,subFields:[]},6:{num:6,name:"speed",type:"uint16",baseType:"uint16",array:!1,scale:[1e3],offset:[0],units:["m/s"],bits:[16],components:["73"],isAccumulated:!1,hasComponents:!0,subFields:[]},7:{num:7,name:"power",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"compressedSpeedDistance",type:"byte",baseType:"byte",array:!0,scale:[100,16],offset:[0,0],units:["m/s","m"],bits:[12,12],components:["6","5"],isAccumulated:!1,hasComponents:!0,subFields:[]},9:{num:9,name:"grade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"resistance",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"timeFromCourse",type:"sint32",baseType:"sint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"cycleLength",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"temperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},17:{num:17,name:"speed1s",type:"uint8",baseType:"uint8",array:!0,scale:16,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},18:{num:18,name:"cycles",type:"uint8",baseType:"uint8",array:!1,scale:[1],offset:[0],units:["cycles"],bits:[8],components:["19"],isAccumulated:!1,hasComponents:!0,subFields:[]},19:{num:19,name:"totalCycles",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"cycles",bits:[],components:[],isAccumulated:!0,hasComponents:!1,subFields:[]},28:{num:28,name:"compressedAccumulatedPower",type:"uint16",baseType:"uint16",array:!1,scale:[1],offset:[0],units:["watts"],bits:[16],components:["29"],isAccumulated:!1,hasComponents:!0,subFields:[]},29:{num:29,name:"accumulatedPower",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!0,hasComponents:!1,subFields:[]},30:{num:30,name:"leftRightBalance",type:"leftRightBalance",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},31:{num:31,name:"gpsAccuracy",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},32:{num:32,name:"verticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},33:{num:33,name:"calories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},39:{num:39,name:"verticalOscillation",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},40:{num:40,name:"stanceTimePercent",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},41:{num:41,name:"stanceTime",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},42:{num:42,name:"activityType",type:"activityType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},43:{num:43,name:"leftTorqueEffectiveness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},44:{num:44,name:"rightTorqueEffectiveness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},45:{num:45,name:"leftPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},46:{num:46,name:"rightPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},47:{num:47,name:"combinedPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},48:{num:48,name:"time128",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},49:{num:49,name:"strokeType",type:"strokeType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},50:{num:50,name:"zone",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},51:{num:51,name:"ballSpeed",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},52:{num:52,name:"cadence256",type:"uint16",baseType:"uint16",array:!1,scale:256,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},53:{num:53,name:"fractionalCadence",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},54:{num:54,name:"totalHemoglobinConc",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"g/dL",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},55:{num:55,name:"totalHemoglobinConcMin",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"g/dL",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},56:{num:56,name:"totalHemoglobinConcMax",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"g/dL",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},57:{num:57,name:"saturatedHemoglobinPercent",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},58:{num:58,name:"saturatedHemoglobinPercentMin",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},59:{num:59,name:"saturatedHemoglobinPercentMax",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},62:{num:62,name:"deviceIndex",type:"deviceIndex",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},67:{num:67,name:"leftPco",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},68:{num:68,name:"rightPco",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},69:{num:69,name:"leftPowerPhase",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},70:{num:70,name:"leftPowerPhasePeak",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},71:{num:71,name:"rightPowerPhase",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},72:{num:72,name:"rightPowerPhasePeak",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},73:{num:73,name:"enhancedSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},78:{num:78,name:"enhancedAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},81:{num:81,name:"batterySoc",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},82:{num:82,name:"motorPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},83:{num:83,name:"verticalRatio",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},84:{num:84,name:"stanceTimeBalance",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},85:{num:85,name:"stepLength",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},87:{num:87,name:"cycleLength16",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},91:{num:91,name:"absolutePressure",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"Pa",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},92:{num:92,name:"depth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},93:{num:93,name:"nextStopDepth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},94:{num:94,name:"nextStopTime",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},95:{num:95,name:"timeToSurface",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},96:{num:96,name:"ndlTime",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},97:{num:97,name:"cnsLoad",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},98:{num:98,name:"n2Load",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},99:{num:99,name:"respirationRate",type:"uint8",baseType:"uint8",array:!1,scale:[1],offset:[0],units:["s"],bits:[8],components:["108"],isAccumulated:!1,hasComponents:!0,subFields:[]},108:{num:108,name:"enhancedRespirationRate",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"Breaths/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},114:{num:114,name:"grit",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},115:{num:115,name:"flow",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},116:{num:116,name:"currentStress",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},117:{num:117,name:"ebikeTravelRange",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"km",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},118:{num:118,name:"ebikeBatteryLevel",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},119:{num:119,name:"ebikeAssistMode",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"depends on sensor",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},120:{num:120,name:"ebikeAssistLevelPercent",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},123:{num:123,name:"airTimeRemaining",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},124:{num:124,name:"pressureSac",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"bar/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},125:{num:125,name:"volumeSac",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"L/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},126:{num:126,name:"rmv",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"L/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},127:{num:127,name:"ascentRate",type:"sint32",baseType:"sint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},129:{num:129,name:"po2",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},139:{num:139,name:"coreTemperature",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},21:{num:21,name:"event",messagesKey:"eventMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"event",type:"event",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"eventType",type:"eventType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"data16",type:"uint16",baseType:"uint16",array:!1,scale:[1],offset:[0],units:[""],bits:[16],components:["3"],isAccumulated:!1,hasComponents:!0,subFields:[]},3:{num:3,name:"data",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"timerTrigger",type:"timerTrigger",baseType:"enum",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:0}]},{name:"coursePointIndex",type:"messageIndex",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:10}]},{name:"batteryLevel",type:"uint16",baseType:"uint16",scale:1e3,offset:0,units:"V",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:11}]},{name:"virtualPartnerSpeed",type:"uint16",baseType:"uint16",scale:1e3,offset:0,units:"m/s",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:12}]},{name:"hrHighAlert",type:"uint8",baseType:"uint8",scale:1,offset:0,units:"bpm",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:13}]},{name:"hrLowAlert",type:"uint8",baseType:"uint8",scale:1,offset:0,units:"bpm",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:14}]},{name:"speedHighAlert",type:"uint32",baseType:"uint32",scale:1e3,offset:0,units:"m/s",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:15}]},{name:"speedLowAlert",type:"uint32",baseType:"uint32",scale:1e3,offset:0,units:"m/s",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:16}]},{name:"cadHighAlert",type:"uint16",baseType:"uint16",scale:1,offset:0,units:"rpm",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:17}]},{name:"cadLowAlert",type:"uint16",baseType:"uint16",scale:1,offset:0,units:"rpm",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:18}]},{name:"powerHighAlert",type:"uint16",baseType:"uint16",scale:1,offset:0,units:"watts",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:19}]},{name:"powerLowAlert",type:"uint16",baseType:"uint16",scale:1,offset:0,units:"watts",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:20}]},{name:"timeDurationAlert",type:"uint32",baseType:"uint32",scale:1e3,offset:0,units:"s",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:23}]},{name:"distanceDurationAlert",type:"uint32",baseType:"uint32",scale:100,offset:0,units:"m",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:24}]},{name:"calorieDurationAlert",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"calories",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:25}]},{name:"fitnessEquipmentState",type:"fitnessEquipmentState",baseType:"enum",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:27}]},{name:"sportPoint",type:"uint32",baseType:"uint32",scale:[1,1],offset:[0,0],units:["",""],bits:[16,16],components:["7","8"],hasComponents:!0,map:[{name:"event",value:33}]},{name:"gearChangeData",type:"uint32",baseType:"uint32",scale:[1,1,1,1],offset:[0,0,0,0],units:["","","",""],bits:[8,8,8,8],components:["11","12","9","10"],hasComponents:!0,map:[{name:"event",value:42},{name:"event",value:43}]},{name:"riderPosition",type:"riderPositionType",baseType:"enum",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:44}]},{name:"commTimeout",type:"commTimeoutType",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:47}]},{name:"diveAlert",type:"diveAlert",baseType:"enum",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:56}]},{name:"autoActivityDetectDuration",type:"uint16",baseType:"uint16",scale:1,offset:0,units:"min",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:54}]},{name:"radarThreatAlert",type:"uint32",baseType:"uint32",scale:[1,1,10,10],offset:[0,0,0,0],units:["","","",""],bits:[8,8,8,8],components:["21","22","23","24"],hasComponents:!0,map:[{name:"event",value:75}]}]},4:{num:4,name:"eventGroup",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"score",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"opponentScore",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"frontGearNum",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"frontGear",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"rearGearNum",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"rearGear",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"deviceIndex",type:"deviceIndex",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"activityType",type:"activityType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"startTimestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"autoActivityDetectStartTimestamp",type:"dateTime",baseType:"uint32",scale:1,offset:0,units:"s",bits:[],components:[],hasComponents:!1,map:[{name:"event",value:54}]}]},21:{num:21,name:"radarThreatLevelMax",type:"radarThreatLevelType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"radarThreatCount",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"radarThreatAvgApproachSpeed",type:"uint8",baseType:"uint8",array:!1,scale:10,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"radarThreatMaxApproachSpeed",type:"uint8",baseType:"uint8",array:!1,scale:10,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},23:{num:23,name:"deviceInfo",messagesKey:"deviceInfoMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"deviceIndex",type:"deviceIndex",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"deviceType",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"bleDeviceType",type:"bleDeviceType",baseType:"uint8",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"sourceType",value:3}]},{name:"antplusDeviceType",type:"antplusDeviceType",baseType:"uint8",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"sourceType",value:1}]},{name:"antDeviceType",type:"uint8",baseType:"uint8",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"sourceType",value:0}]},{name:"localDeviceType",type:"localDeviceType",baseType:"uint8",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"sourceType",value:5}]}]},2:{num:2,name:"manufacturer",type:"manufacturer",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"serialNumber",type:"uint32z",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"product",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"faveroProduct",type:"faveroProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:263}]},{name:"garminProduct",type:"garminProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:1},{name:"manufacturer",value:15},{name:"manufacturer",value:13},{name:"manufacturer",value:89}]}]},5:{num:5,name:"softwareVersion",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"hardwareVersion",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"cumOperatingTime",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"batteryVoltage",type:"uint16",baseType:"uint16",array:!1,scale:256,offset:0,units:"V",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"batteryStatus",type:"batteryStatus",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},18:{num:18,name:"sensorPosition",type:"bodyLocation",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},19:{num:19,name:"descriptor",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},20:{num:20,name:"antTransmissionType",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},21:{num:21,name:"antDeviceNumber",type:"uint16z",baseType:"uint16z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"antNetwork",type:"antNetwork",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},25:{num:25,name:"sourceType",type:"sourceType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},27:{num:27,name:"productName",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},32:{num:32,name:"batteryLevel",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},375:{num:375,name:"deviceAuxBatteryInfo",messagesKey:"deviceAuxBatteryInfoMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"deviceIndex",type:"deviceIndex",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"batteryVoltage",type:"uint16",baseType:"uint16",array:!1,scale:256,offset:0,units:"V",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"batteryStatus",type:"batteryStatus",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"batteryIdentifier",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},72:{num:72,name:"trainingFile",messagesKey:"trainingFileMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"type",type:"file",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"manufacturer",type:"manufacturer",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"product",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"faveroProduct",type:"faveroProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:263}]},{name:"garminProduct",type:"garminProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:1},{name:"manufacturer",value:15},{name:"manufacturer",value:13},{name:"manufacturer",value:89}]}]},3:{num:3,name:"serialNumber",type:"uint32z",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"timeCreated",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},128:{num:128,name:"weatherConditions",messagesKey:"weatherConditionsMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"weatherReport",type:"weatherReport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"temperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"condition",type:"weatherStatus",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"windDirection",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"windSpeed",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"precipitationProbability",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"temperatureFeelsLike",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"relativeHumidity",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"location",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"observedAtTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"observedLocationLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"observedLocationLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"dayOfWeek",type:"dayOfWeek",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"highTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"lowTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},129:{num:129,name:"weatherAlert",messagesKey:"weatherAlertMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"reportId",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"issueTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"expireTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"severity",type:"weatherSeverity",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"type",type:"weatherSevereType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},160:{num:160,name:"gpsMetadata",messagesKey:"gpsMetadataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"positionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"positionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"enhancedAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"enhancedSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"heading",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"utcTimestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"velocity",type:"sint16",baseType:"sint16",array:!0,scale:100,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},161:{num:161,name:"cameraEvent",messagesKey:"cameraEventMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"cameraEventType",type:"cameraEventType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"cameraFileUuid",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"cameraOrientation",type:"cameraOrientationType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},164:{num:164,name:"gyroscopeData",messagesKey:"gyroscopeDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"sampleTimeOffset",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"gyroX",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"gyroY",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"gyroZ",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"calibratedGyroX",type:"float32",baseType:"float32",array:!0,scale:1,offset:0,units:"deg/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"calibratedGyroY",type:"float32",baseType:"float32",array:!0,scale:1,offset:0,units:"deg/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"calibratedGyroZ",type:"float32",baseType:"float32",array:!0,scale:1,offset:0,units:"deg/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},165:{num:165,name:"accelerometerData",messagesKey:"accelerometerDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"sampleTimeOffset",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"accelX",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"accelY",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"accelZ",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"calibratedAccelX",type:"float32",baseType:"float32",array:!0,scale:1,offset:0,units:"g",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"calibratedAccelY",type:"float32",baseType:"float32",array:!0,scale:1,offset:0,units:"g",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"calibratedAccelZ",type:"float32",baseType:"float32",array:!0,scale:1,offset:0,units:"g",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"compressedCalibratedAccelX",type:"sint16",baseType:"sint16",array:!0,scale:1,offset:0,units:"mG",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"compressedCalibratedAccelY",type:"sint16",baseType:"sint16",array:!0,scale:1,offset:0,units:"mG",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"compressedCalibratedAccelZ",type:"sint16",baseType:"sint16",array:!0,scale:1,offset:0,units:"mG",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},208:{num:208,name:"magnetometerData",messagesKey:"magnetometerDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"sampleTimeOffset",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"magX",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"magY",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"magZ",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"calibratedMagX",type:"float32",baseType:"float32",array:!0,scale:1,offset:0,units:"G",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"calibratedMagY",type:"float32",baseType:"float32",array:!0,scale:1,offset:0,units:"G",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"calibratedMagZ",type:"float32",baseType:"float32",array:!0,scale:1,offset:0,units:"G",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},209:{num:209,name:"barometerData",messagesKey:"barometerDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"sampleTimeOffset",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"baroPres",type:"uint32",baseType:"uint32",array:!0,scale:1,offset:0,units:"Pa",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},167:{num:167,name:"threeDSensorCalibration",messagesKey:"threeDSensorCalibrationMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"sensorType",type:"sensorType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"calibrationFactor",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"accelCalFactor",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"g",bits:[],components:[],hasComponents:!1,map:[{name:"sensorType",value:0}]},{name:"gyroCalFactor",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"deg/s",bits:[],components:[],hasComponents:!1,map:[{name:"sensorType",value:1}]}]},2:{num:2,name:"calibrationDivisor",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"levelShift",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"offsetCal",type:"sint32",baseType:"sint32",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"orientationMatrix",type:"sint32",baseType:"sint32",array:!0,scale:65535,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},210:{num:210,name:"oneDSensorCalibration",messagesKey:"oneDSensorCalibrationMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"sensorType",type:"sensorType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"calibrationFactor",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"baroCalFactor",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"Pa",bits:[],components:[],hasComponents:!1,map:[{name:"sensorType",value:3}]}]},2:{num:2,name:"calibrationDivisor",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"counts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"levelShift",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"offsetCal",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},169:{num:169,name:"videoFrame",messagesKey:"videoFrameMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"frameNumber",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},174:{num:174,name:"obdiiData",messagesKey:"obdiiDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"timeOffset",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"pid",type:"byte",baseType:"byte",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"rawData",type:"byte",baseType:"byte",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"pidDataSize",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"systemTime",type:"uint32",baseType:"uint32",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"startTimestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"startTimestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},177:{num:177,name:"nmeaSentence",messagesKey:"nmeaSentenceMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"sentence",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},178:{num:178,name:"aviationAttitude",messagesKey:"aviationAttitudeMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"systemTime",type:"uint32",baseType:"uint32",array:!0,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"pitch",type:"sint16",baseType:"sint16",array:!0,scale:10430.38,offset:0,units:"radians",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"roll",type:"sint16",baseType:"sint16",array:!0,scale:10430.38,offset:0,units:"radians",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"accelLateral",type:"sint16",baseType:"sint16",array:!0,scale:100,offset:0,units:"m/s^2",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"accelNormal",type:"sint16",baseType:"sint16",array:!0,scale:100,offset:0,units:"m/s^2",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"turnRate",type:"sint16",baseType:"sint16",array:!0,scale:1024,offset:0,units:"radians/second",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"stage",type:"attitudeStage",baseType:"enum",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"attitudeStageComplete",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"track",type:"uint16",baseType:"uint16",array:!0,scale:10430.38,offset:0,units:"radians",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"validity",type:"attitudeValidity",baseType:"uint16",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},184:{num:184,name:"video",messagesKey:"videoMesgs",fields:{0:{num:0,name:"url",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"hostingProvider",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"duration",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},185:{num:185,name:"videoTitle",messagesKey:"videoTitleMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"messageCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"text",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},186:{num:186,name:"videoDescription",messagesKey:"videoDescriptionMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"messageCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"text",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},187:{num:187,name:"videoClip",messagesKey:"videoClipMesgs",fields:{0:{num:0,name:"clipNumber",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"startTimestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"startTimestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"endTimestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"endTimestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"clipStart",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"clipEnd",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},225:{num:225,name:"set",messagesKey:"setMesgs",fields:{254:{num:254,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"duration",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"repetitions",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"weight",type:"uint16",baseType:"uint16",array:!1,scale:16,offset:0,units:"kg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"setType",type:"setType",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"startTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"category",type:"exerciseCategory",baseType:"uint16",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"categorySubtype",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"weightDisplayUnit",type:"fitBaseUnit",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"wktStepIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},285:{num:285,name:"jump",messagesKey:"jumpMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"distance",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"height",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"rotations",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"hangTime",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"score",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"positionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"positionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"speed",type:"uint16",baseType:"uint16",array:!1,scale:[1e3],offset:[0],units:["m/s"],bits:[16],components:["8"],isAccumulated:!1,hasComponents:!0,subFields:[]},8:{num:8,name:"enhancedSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},312:{num:312,name:"split",messagesKey:"splitMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"splitType",type:"splitType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"totalElapsedTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"totalTimerTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"totalDistance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"avgSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"startTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"totalAscent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"totalDescent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},21:{num:21,name:"startPositionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"startPositionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"endPositionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"endPositionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},25:{num:25,name:"maxSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},26:{num:26,name:"avgVertSpeed",type:"sint32",baseType:"sint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},27:{num:27,name:"endTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},28:{num:28,name:"totalCalories",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},74:{num:74,name:"startElevation",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},78:{num:78,name:"activeTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},110:{num:110,name:"totalMovingTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},313:{num:313,name:"splitSummary",messagesKey:"splitSummaryMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"splitType",type:"splitType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"numSplits",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"totalTimerTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"totalDistance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"avgSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"maxSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"totalAscent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"totalDescent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"avgHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"maxHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"avgVertSpeed",type:"sint32",baseType:"sint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"totalCalories",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},65:{num:65,name:"activeTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},77:{num:77,name:"totalMovingTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},317:{num:317,name:"climbPro",messagesKey:"climbProMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"positionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"positionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"climbProEvent",type:"climbProEvent",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"climbNumber",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"climbCategory",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"currentDist",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},206:{num:206,name:"fieldDescription",messagesKey:"fieldDescriptionMesgs",fields:{0:{num:0,name:"developerDataIndex",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"fieldDefinitionNumber",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"fitBaseTypeId",type:"fitBaseType",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"fieldName",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"array",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"components",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"scale",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"offset",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"units",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"bits",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"accumulate",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"fitBaseUnitId",type:"fitBaseUnit",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"nativeMesgNum",type:"mesgNum",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"nativeFieldNum",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},207:{num:207,name:"developerDataId",messagesKey:"developerDataIdMesgs",fields:{0:{num:0,name:"developerId",type:"byte",baseType:"byte",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"applicationId",type:"byte",baseType:"byte",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"manufacturerId",type:"manufacturer",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"developerDataIndex",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"applicationVersion",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},31:{num:31,name:"course",messagesKey:"courseMesgs",fields:{4:{num:4,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"capabilities",type:"courseCapabilities",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},32:{num:32,name:"coursePoint",messagesKey:"coursePointMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"positionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"positionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"distance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"type",type:"coursePoint",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"favorite",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},148:{num:148,name:"segmentId",messagesKey:"segmentIdMesgs",fields:{0:{num:0,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"uuid",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"enabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"userProfilePrimaryKey",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"deviceId",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"defaultRaceLeader",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"deleteStatus",type:"segmentDeleteStatus",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"selectionType",type:"segmentSelectionType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},149:{num:149,name:"segmentLeaderboardEntry",messagesKey:"segmentLeaderboardEntryMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"type",type:"segmentLeaderboardType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"groupPrimaryKey",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"activityId",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"segmentTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"activityIdString",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},150:{num:150,name:"segmentPoint",messagesKey:"segmentPointMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"positionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"positionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"distance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"altitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["6"],isAccumulated:!1,hasComponents:!0,subFields:[]},5:{num:5,name:"leaderTime",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"enhancedAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},142:{num:142,name:"segmentLap",messagesKey:"segmentLapMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"event",type:"event",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"eventType",type:"eventType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"startTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"startPositionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"startPositionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"endPositionLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"endPositionLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"totalElapsedTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"totalTimerTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"totalDistance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"totalCycles",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"cycles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"totalStrokes",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"strokes",bits:[],components:[],hasComponents:!1,map:[{name:"sport",value:2}]}]},11:{num:11,name:"totalCalories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"totalFatCalories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"avgSpeed",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"maxSpeed",type:"uint16",baseType:"uint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"avgHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},16:{num:16,name:"maxHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},17:{num:17,name:"avgCadence",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},18:{num:18,name:"maxCadence",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},19:{num:19,name:"avgPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},20:{num:20,name:"maxPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},21:{num:21,name:"totalAscent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"totalDescent",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"eventGroup",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},25:{num:25,name:"necLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},26:{num:26,name:"necLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},27:{num:27,name:"swcLat",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},28:{num:28,name:"swcLong",type:"sint32",baseType:"sint32",array:!1,scale:1,offset:0,units:"semicircles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},29:{num:29,name:"name",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},30:{num:30,name:"normalizedPower",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},31:{num:31,name:"leftRightBalance",type:"leftRightBalance100",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},32:{num:32,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},33:{num:33,name:"totalWork",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"J",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},34:{num:34,name:"avgAltitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["91"],isAccumulated:!1,hasComponents:!0,subFields:[]},35:{num:35,name:"maxAltitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["92"],isAccumulated:!1,hasComponents:!0,subFields:[]},36:{num:36,name:"gpsAccuracy",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},37:{num:37,name:"avgGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},38:{num:38,name:"avgPosGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},39:{num:39,name:"avgNegGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},40:{num:40,name:"maxPosGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},41:{num:41,name:"maxNegGrade",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},42:{num:42,name:"avgTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},43:{num:43,name:"maxTemperature",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},44:{num:44,name:"totalMovingTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},45:{num:45,name:"avgPosVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},46:{num:46,name:"avgNegVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},47:{num:47,name:"maxPosVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},48:{num:48,name:"maxNegVerticalSpeed",type:"sint16",baseType:"sint16",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},49:{num:49,name:"timeInHrZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},50:{num:50,name:"timeInSpeedZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},51:{num:51,name:"timeInCadenceZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},52:{num:52,name:"timeInPowerZone",type:"uint32",baseType:"uint32",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},53:{num:53,name:"repetitionNum",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},54:{num:54,name:"minAltitude",type:"uint16",baseType:"uint16",array:!1,scale:[5],offset:[500],units:["m"],bits:[16],components:["93"],isAccumulated:!1,hasComponents:!0,subFields:[]},55:{num:55,name:"minHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},56:{num:56,name:"activeTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},57:{num:57,name:"wktStepIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},58:{num:58,name:"sportEvent",type:"sportEvent",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},59:{num:59,name:"avgLeftTorqueEffectiveness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},60:{num:60,name:"avgRightTorqueEffectiveness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},61:{num:61,name:"avgLeftPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},62:{num:62,name:"avgRightPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},63:{num:63,name:"avgCombinedPedalSmoothness",type:"uint8",baseType:"uint8",array:!1,scale:2,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},64:{num:64,name:"status",type:"segmentLapStatus",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},65:{num:65,name:"uuid",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},66:{num:66,name:"avgFractionalCadence",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},67:{num:67,name:"maxFractionalCadence",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},68:{num:68,name:"totalFractionalCycles",type:"uint8",baseType:"uint8",array:!1,scale:128,offset:0,units:"cycles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},69:{num:69,name:"frontGearShiftCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},70:{num:70,name:"rearGearShiftCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},71:{num:71,name:"timeStanding",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},72:{num:72,name:"standCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},73:{num:73,name:"avgLeftPco",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},74:{num:74,name:"avgRightPco",type:"sint8",baseType:"sint8",array:!1,scale:1,offset:0,units:"mm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},75:{num:75,name:"avgLeftPowerPhase",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},76:{num:76,name:"avgLeftPowerPhasePeak",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},77:{num:77,name:"avgRightPowerPhase",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},78:{num:78,name:"avgRightPowerPhasePeak",type:"uint8",baseType:"uint8",array:!0,scale:.7111111,offset:0,units:"degrees",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},79:{num:79,name:"avgPowerPosition",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},80:{num:80,name:"maxPowerPosition",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"watts",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},81:{num:81,name:"avgCadencePosition",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},82:{num:82,name:"maxCadencePosition",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"rpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},83:{num:83,name:"manufacturer",type:"manufacturer",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},84:{num:84,name:"totalGrit",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"kGrit",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},85:{num:85,name:"totalFlow",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"Flow",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},86:{num:86,name:"avgGrit",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"kGrit",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},87:{num:87,name:"avgFlow",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"Flow",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},89:{num:89,name:"totalFractionalAscent",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},90:{num:90,name:"totalFractionalDescent",type:"uint8",baseType:"uint8",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},91:{num:91,name:"enhancedAvgAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},92:{num:92,name:"enhancedMaxAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},93:{num:93,name:"enhancedMinAltitude",type:"uint32",baseType:"uint32",array:!1,scale:5,offset:500,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},151:{num:151,name:"segmentFile",messagesKey:"segmentFileMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"fileUuid",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"enabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"userProfilePrimaryKey",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"leaderType",type:"segmentLeaderboardType",baseType:"enum",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"leaderGroupPrimaryKey",type:"uint32",baseType:"uint32",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"leaderActivityId",type:"uint32",baseType:"uint32",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"leaderActivityIdString",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"defaultRaceLeader",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},26:{num:26,name:"workout",messagesKey:"workoutMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"capabilities",type:"workoutCapabilities",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"numValidSteps",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"wktName",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"poolLength",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"poolLengthUnit",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},17:{num:17,name:"wktDescription",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},158:{num:158,name:"workoutSession",messagesKey:"workoutSessionMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"numValidSteps",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"firstStepIndex",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"poolLength",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"poolLengthUnit",type:"displayMeasure",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},27:{num:27,name:"workoutStep",messagesKey:"workoutStepMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"wktStepName",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"durationType",type:"wktStepDuration",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"durationValue",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"durationTime",type:"uint32",baseType:"uint32",scale:1e3,offset:0,units:"s",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:0},{name:"durationType",value:28}]},{name:"durationDistance",type:"uint32",baseType:"uint32",scale:100,offset:0,units:"m",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:1}]},{name:"durationHr",type:"workoutHr",baseType:"uint32",scale:1,offset:0,units:"% or bpm",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:2},{name:"durationType",value:3}]},{name:"durationCalories",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"calories",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:4}]},{name:"durationStep",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:6},{name:"durationType",value:7},{name:"durationType",value:8},{name:"durationType",value:9},{name:"durationType",value:10},{name:"durationType",value:11},{name:"durationType",value:12},{name:"durationType",value:13}]},{name:"durationPower",type:"workoutPower",baseType:"uint32",scale:1,offset:0,units:"% or watts",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:14},{name:"durationType",value:15}]},{name:"durationReps",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:29}]}]},3:{num:3,name:"targetType",type:"wktStepTarget",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"targetValue",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"targetSpeedZone",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:0}]},{name:"targetHrZone",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:1}]},{name:"targetCadenceZone",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:3}]},{name:"targetPowerZone",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:4}]},{name:"repeatSteps",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:6}]},{name:"repeatTime",type:"uint32",baseType:"uint32",scale:1e3,offset:0,units:"s",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:7}]},{name:"repeatDistance",type:"uint32",baseType:"uint32",scale:100,offset:0,units:"m",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:8}]},{name:"repeatCalories",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"calories",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:9}]},{name:"repeatHr",type:"workoutHr",baseType:"uint32",scale:1,offset:0,units:"% or bpm",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:10},{name:"durationType",value:11}]},{name:"repeatPower",type:"workoutPower",baseType:"uint32",scale:1,offset:0,units:"% or watts",bits:[],components:[],hasComponents:!1,map:[{name:"durationType",value:12},{name:"durationType",value:13}]},{name:"targetStrokeType",type:"swimStroke",baseType:"enum",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:11}]}]},5:{num:5,name:"customTargetValueLow",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"customTargetSpeedLow",type:"uint32",baseType:"uint32",scale:1e3,offset:0,units:"m/s",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:0}]},{name:"customTargetHeartRateLow",type:"workoutHr",baseType:"uint32",scale:1,offset:0,units:"% or bpm",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:1}]},{name:"customTargetCadenceLow",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"rpm",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:3}]},{name:"customTargetPowerLow",type:"workoutPower",baseType:"uint32",scale:1,offset:0,units:"% or watts",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:4}]}]},6:{num:6,name:"customTargetValueHigh",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"customTargetSpeedHigh",type:"uint32",baseType:"uint32",scale:1e3,offset:0,units:"m/s",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:0}]},{name:"customTargetHeartRateHigh",type:"workoutHr",baseType:"uint32",scale:1,offset:0,units:"% or bpm",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:1}]},{name:"customTargetCadenceHigh",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"rpm",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:3}]},{name:"customTargetPowerHigh",type:"workoutPower",baseType:"uint32",scale:1,offset:0,units:"% or watts",bits:[],components:[],hasComponents:!1,map:[{name:"targetType",value:4}]}]},7:{num:7,name:"intensity",type:"intensity",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"notes",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"equipment",type:"workoutEquipment",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"exerciseCategory",type:"exerciseCategory",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"exerciseName",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"exerciseWeight",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"kg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"weightDisplayUnit",type:"fitBaseUnit",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},19:{num:19,name:"secondaryTargetType",type:"wktStepTarget",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},20:{num:20,name:"secondaryTargetValue",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"secondaryTargetSpeedZone",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:0}]},{name:"secondaryTargetHrZone",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:1}]},{name:"secondaryTargetCadenceZone",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:3}]},{name:"secondaryTargetPowerZone",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:4}]},{name:"secondaryTargetStrokeType",type:"swimStroke",baseType:"enum",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:11}]}]},21:{num:21,name:"secondaryCustomTargetValueLow",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"secondaryCustomTargetSpeedLow",type:"uint32",baseType:"uint32",scale:1e3,offset:0,units:"m/s",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:0}]},{name:"secondaryCustomTargetHeartRateLow",type:"workoutHr",baseType:"uint32",scale:1,offset:0,units:"% or bpm",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:1}]},{name:"secondaryCustomTargetCadenceLow",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"rpm",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:3}]},{name:"secondaryCustomTargetPowerLow",type:"workoutPower",baseType:"uint32",scale:1,offset:0,units:"% or watts",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:4}]}]},22:{num:22,name:"secondaryCustomTargetValueHigh",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"secondaryCustomTargetSpeedHigh",type:"uint32",baseType:"uint32",scale:1e3,offset:0,units:"m/s",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:0}]},{name:"secondaryCustomTargetHeartRateHigh",type:"workoutHr",baseType:"uint32",scale:1,offset:0,units:"% or bpm",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:1}]},{name:"secondaryCustomTargetCadenceHigh",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"rpm",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:3}]},{name:"secondaryCustomTargetPowerHigh",type:"workoutPower",baseType:"uint32",scale:1,offset:0,units:"% or watts",bits:[],components:[],hasComponents:!1,map:[{name:"secondaryTargetType",value:4}]}]}}},264:{num:264,name:"exerciseTitle",messagesKey:"exerciseTitleMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"exerciseCategory",type:"exerciseCategory",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"exerciseName",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"wktStepName",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},28:{num:28,name:"schedule",messagesKey:"scheduleMesgs",fields:{0:{num:0,name:"manufacturer",type:"manufacturer",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"product",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"faveroProduct",type:"faveroProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:263}]},{name:"garminProduct",type:"garminProduct",baseType:"uint16",scale:1,offset:0,units:"",bits:[],components:[],hasComponents:!1,map:[{name:"manufacturer",value:1},{name:"manufacturer",value:15},{name:"manufacturer",value:13},{name:"manufacturer",value:89}]}]},2:{num:2,name:"serialNumber",type:"uint32z",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"timeCreated",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"completed",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"type",type:"schedule",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"scheduledTime",type:"localDateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},33:{num:33,name:"totals",messagesKey:"totalsMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timerTime",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"distance",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"calories",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"elapsedTime",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"sessions",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"activeTime",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"sportIndex",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},30:{num:30,name:"weightScale",messagesKey:"weightScaleMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"weight",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"kg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"percentFat",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"percentHydration",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"%",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"visceralFatMass",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"kg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"boneMass",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"kg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"muscleMass",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"kg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"basalMet",type:"uint16",baseType:"uint16",array:!1,scale:4,offset:0,units:"kcal/day",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"physiqueRating",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"activeMet",type:"uint16",baseType:"uint16",array:!1,scale:4,offset:0,units:"kcal/day",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"metabolicAge",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"years",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"visceralFatRating",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"userProfileIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"bmi",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"kg/m^2",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},51:{num:51,name:"bloodPressure",messagesKey:"bloodPressureMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"systolicPressure",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"mmHg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"diastolicPressure",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"mmHg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"meanArterialPressure",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"mmHg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"map3SampleMean",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"mmHg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"mapMorningValues",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"mmHg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"mapEveningValues",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"mmHg",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"heartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"heartRateType",type:"hrType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"status",type:"bpStatus",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"userProfileIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},103:{num:103,name:"monitoringInfo",messagesKey:"monitoringInfoMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"localTimestamp",type:"localDateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"activityType",type:"activityType",baseType:"enum",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"cyclesToDistance",type:"uint16",baseType:"uint16",array:!0,scale:5e3,offset:0,units:"m/cycle",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"cyclesToCalories",type:"uint16",baseType:"uint16",array:!0,scale:5e3,offset:0,units:"kcal/cycle",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"restingMetabolicRate",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal / day",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},55:{num:55,name:"monitoring",messagesKey:"monitoringMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"deviceIndex",type:"deviceIndex",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"calories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"distance",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"cycles",type:"uint32",baseType:"uint32",array:!1,scale:2,offset:0,units:"cycles",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[{name:"steps",type:"uint32",baseType:"uint32",scale:1,offset:0,units:"steps",bits:[],components:[],hasComponents:!1,map:[{name:"activityType",value:6},{name:"activityType",value:1}]},{name:"strokes",type:"uint32",baseType:"uint32",scale:2,offset:0,units:"strokes",bits:[],components:[],hasComponents:!1,map:[{name:"activityType",value:2},{name:"activityType",value:5}]}]},4:{num:4,name:"activeTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"activityType",type:"activityType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"activitySubtype",type:"activitySubtype",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"activityLevel",type:"activityLevel",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"distance16",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"100 * m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"cycles16",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"2 * cycles (steps)",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"activeTime16",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"localTimestamp",type:"localDateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"temperature",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"temperatureMin",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"temperatureMax",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},16:{num:16,name:"activityTime",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"minutes",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},19:{num:19,name:"activeCalories",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"kcal",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"currentActivityTypeIntensity",type:"byte",baseType:"byte",array:!1,scale:[1,1],offset:[0,0],units:["",""],bits:[5,3],components:["5","28"],isAccumulated:!1,hasComponents:!0,subFields:[]},25:{num:25,name:"timestampMin8",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},26:{num:26,name:"timestamp16",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},27:{num:27,name:"heartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},28:{num:28,name:"intensity",type:"uint8",baseType:"uint8",array:!1,scale:10,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},29:{num:29,name:"durationMin",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},30:{num:30,name:"duration",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},31:{num:31,name:"ascent",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},32:{num:32,name:"descent",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},33:{num:33,name:"moderateActivityMinutes",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"minutes",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},34:{num:34,name:"vigorousActivityMinutes",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"minutes",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},211:{num:211,name:"monitoringHrData",messagesKey:"monitoringHrDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"restingHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"currentDayRestingHeartRate",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},269:{num:269,name:"spo2Data",messagesKey:"spo2DataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"readingSpo2",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"readingConfidence",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"mode",type:"spo2MeasurementType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},132:{num:132,name:"hr",messagesKey:"hrMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"fractionalTimestamp",type:"uint16",baseType:"uint16",array:!1,scale:32768,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"time256",type:"uint8",baseType:"uint8",array:!1,scale:[256],offset:[0],units:["s"],bits:[8],components:["0"],isAccumulated:!1,hasComponents:!0,subFields:[]},6:{num:6,name:"filteredBpm",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"eventTimestamp",type:"uint32",baseType:"uint32",array:!0,scale:1024,offset:0,units:"s",bits:[],components:[],isAccumulated:!0,hasComponents:!1,subFields:[]},10:{num:10,name:"eventTimestamp12",type:"byte",baseType:"byte",array:!0,scale:[1024,1024,1024,1024,1024,1024,1024,1024,1024,1024],offset:[0,0,0,0,0,0,0,0,0,0],units:["s","","","","","","","","",""],bits:[12,12,12,12,12,12,12,12,12,12],components:["9","9","9","9","9","9","9","9","9","9"],isAccumulated:!1,hasComponents:!0,subFields:[]}}},227:{num:227,name:"stressLevel",messagesKey:"stressLevelMesgs",fields:{0:{num:0,name:"stressLevelValue",type:"sint16",baseType:"sint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"stressLevelTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},229:{num:229,name:"maxMetData",messagesKey:"maxMetDataMesgs",fields:{0:{num:0,name:"updateTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"vo2Max",type:"uint16",baseType:"uint16",array:!1,scale:10,offset:0,units:"mL/kg/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"sport",type:"sport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"subSport",type:"subSport",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"maxMetCategory",type:"maxMetCategory",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"calibratedData",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"hrSource",type:"maxMetHeartRateSource",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"speedSource",type:"maxMetSpeedSource",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},314:{num:314,name:"hsaBodyBatteryData",messagesKey:"hsaBodyBatteryDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"processingInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"level",type:"sint8",baseType:"sint8",array:!0,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"charged",type:"sint16",baseType:"sint16",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"uncharged",type:"sint16",baseType:"sint16",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},315:{num:315,name:"hsaEvent",messagesKey:"hsaEventMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"eventId",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},302:{num:302,name:"hsaAccelerometerData",messagesKey:"hsaAccelerometerDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"samplingInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"accelX",type:"sint16",baseType:"sint16",array:!0,scale:1.024,offset:0,units:"mG",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"accelY",type:"sint16",baseType:"sint16",array:!0,scale:1.024,offset:0,units:"mG",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"accelZ",type:"sint16",baseType:"sint16",array:!0,scale:1.024,offset:0,units:"mG",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"timestamp32k",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},376:{num:376,name:"hsaGyroscopeData",messagesKey:"hsaGyroscopeDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"samplingInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"1/32768 s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"gyroX",type:"sint16",baseType:"sint16",array:!0,scale:28.57143,offset:0,units:"deg/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"gyroY",type:"sint16",baseType:"sint16",array:!0,scale:28.57143,offset:0,units:"deg/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"gyroZ",type:"sint16",baseType:"sint16",array:!0,scale:28.57143,offset:0,units:"deg/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"timestamp32k",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"1/32768 s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},304:{num:304,name:"hsaStepData",messagesKey:"hsaStepDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"processingInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"steps",type:"uint32",baseType:"uint32",array:!0,scale:1,offset:0,units:"steps",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},305:{num:305,name:"hsaSpo2Data",messagesKey:"hsaSpo2DataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"processingInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"readingSpo2",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"confidence",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},306:{num:306,name:"hsaStressData",messagesKey:"hsaStressDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"processingInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"stressLevel",type:"sint8",baseType:"sint8",array:!0,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},307:{num:307,name:"hsaRespirationData",messagesKey:"hsaRespirationDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"processingInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"respirationRate",type:"sint16",baseType:"sint16",array:!0,scale:100,offset:0,units:"breaths/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},308:{num:308,name:"hsaHeartRateData",messagesKey:"hsaHeartRateDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"processingInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"status",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"heartRate",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"bpm",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},389:{num:389,name:"hsaConfigurationData",messagesKey:"hsaConfigurationDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"data",type:"byte",baseType:"byte",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"dataSize",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},409:{num:409,name:"hsaWristTemperatureData",messagesKey:"hsaWristTemperatureDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"processingInterval",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"value",type:"uint16",baseType:"uint16",array:!0,scale:1e3,offset:0,units:"C",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},145:{num:145,name:"memoGlob",messagesKey:"memoGlobMesgs",fields:{250:{num:250,name:"partIndex",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"memo",type:"byte",baseType:"byte",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"mesgNum",type:"mesgNum",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"parentIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"fieldNum",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"data",type:"uint8z",baseType:"uint8z",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},275:{num:275,name:"sleepLevel",messagesKey:"sleepLevelMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"sleepLevel",type:"sleepLevel",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},82:{num:82,name:"antChannelId",messagesKey:"antChannelIdMesgs",fields:{0:{num:0,name:"channelNumber",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"deviceType",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"deviceNumber",type:"uint16z",baseType:"uint16z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"transmissionType",type:"uint8z",baseType:"uint8z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"deviceIndex",type:"deviceIndex",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},80:{num:80,name:"antRx",messagesKey:"antRxMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"fractionalTimestamp",type:"uint16",baseType:"uint16",array:!1,scale:32768,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"mesgId",type:"byte",baseType:"byte",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"mesgData",type:"byte",baseType:"byte",array:!0,scale:[1,1,1,1,1,1,1,1,1],offset:[0,0,0,0,0,0,0,0,0],units:["","","","","","","","",""],bits:[8,8,8,8,8,8,8,8,8],components:["3","4","4","4","4","4","4","4","4"],isAccumulated:!1,hasComponents:!0,subFields:[]},3:{num:3,name:"channelNumber",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"data",type:"byte",baseType:"byte",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},81:{num:81,name:"antTx",messagesKey:"antTxMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"fractionalTimestamp",type:"uint16",baseType:"uint16",array:!1,scale:32768,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"mesgId",type:"byte",baseType:"byte",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"mesgData",type:"byte",baseType:"byte",array:!0,scale:[1,1,1,1,1,1,1,1,1],offset:[0,0,0,0,0,0,0,0,0],units:["","","","","","","","",""],bits:[8,8,8,8,8,8,8,8,8],components:["3","4","4","4","4","4","4","4","4"],isAccumulated:!1,hasComponents:!0,subFields:[]},3:{num:3,name:"channelNumber",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"data",type:"byte",baseType:"byte",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},200:{num:200,name:"exdScreenConfiguration",messagesKey:"exdScreenConfigurationMesgs",fields:{0:{num:0,name:"screenIndex",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"fieldCount",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"layout",type:"exdLayout",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"screenEnabled",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},201:{num:201,name:"exdDataFieldConfiguration",messagesKey:"exdDataFieldConfigurationMesgs",fields:{0:{num:0,name:"screenIndex",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"conceptField",type:"byte",baseType:"byte",array:!1,scale:[1,1],offset:[0,0],units:["",""],bits:[4,4],components:["2","3"],isAccumulated:!1,hasComponents:!0,subFields:[]},2:{num:2,name:"fieldId",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"conceptCount",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"displayType",type:"exdDisplayType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"title",type:"string",baseType:"string",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},202:{num:202,name:"exdDataConceptConfiguration",messagesKey:"exdDataConceptConfigurationMesgs",fields:{0:{num:0,name:"screenIndex",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"conceptField",type:"byte",baseType:"byte",array:!1,scale:[1,1],offset:[0,0],units:["",""],bits:[4,4],components:["2","3"],isAccumulated:!1,hasComponents:!0,subFields:[]},2:{num:2,name:"fieldId",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"conceptIndex",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"dataPage",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"conceptKey",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"scaling",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"dataUnits",type:"exdDataUnits",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"qualifier",type:"exdQualifiers",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"descriptor",type:"exdDescriptors",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"isSigned",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},268:{num:268,name:"diveSummary",messagesKey:"diveSummaryMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"referenceMesg",type:"mesgNum",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"referenceIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"avgDepth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"maxDepth",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"surfaceInterval",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"startCns",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"endCns",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"startN2",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"endN2",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"percent",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"o2Toxicity",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"OTUs",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"diveNumber",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"bottomTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},12:{num:12,name:"avgPressureSac",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"bar/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},13:{num:13,name:"avgVolumeSac",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"L/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"avgRmv",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"L/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"descentTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},16:{num:16,name:"ascentTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},17:{num:17,name:"avgAscentRate",type:"sint32",baseType:"sint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},22:{num:22,name:"avgDescentRate",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},23:{num:23,name:"maxAscentRate",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},24:{num:24,name:"maxDescentRate",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},25:{num:25,name:"hangTime",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},289:{num:289,name:"aadAccelFeatures",messagesKey:"aadAccelFeaturesMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"time",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"energyTotal",type:"uint32",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"zeroCrossCnt",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"instance",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"timeAboveThreshold",type:"uint16",baseType:"uint16",array:!1,scale:25,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},78:{num:78,name:"hrv",messagesKey:"hrvMesgs",fields:{0:{num:0,name:"time",type:"uint16",baseType:"uint16",array:!0,scale:1e3,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},290:{num:290,name:"beatIntervals",messagesKey:"beatIntervalsMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"time",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},370:{num:370,name:"hrvStatusSummary",messagesKey:"hrvStatusSummaryMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"weeklyAverage",type:"uint16",baseType:"uint16",array:!1,scale:128,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"lastNightAverage",type:"uint16",baseType:"uint16",array:!1,scale:128,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"lastNight5MinHigh",type:"uint16",baseType:"uint16",array:!1,scale:128,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"baselineLowUpper",type:"uint16",baseType:"uint16",array:!1,scale:128,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"baselineBalancedLower",type:"uint16",baseType:"uint16",array:!1,scale:128,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"baselineBalancedUpper",type:"uint16",baseType:"uint16",array:!1,scale:128,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"status",type:"hrvStatus",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},371:{num:371,name:"hrvValue",messagesKey:"hrvValueMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"value",type:"uint16",baseType:"uint16",array:!1,scale:128,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},372:{num:372,name:"rawBbi",messagesKey:"rawBbiMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"timestampMs",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"data",type:"uint16",baseType:"uint16",array:!0,scale:[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],offset:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],units:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],bits:[14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1,14,1,1],components:["2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4","2","3","4"],isAccumulated:!1,hasComponents:!0,subFields:[]},2:{num:2,name:"time",type:"uint16",baseType:"uint16",array:!0,scale:1,offset:0,units:"ms",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"quality",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"gap",type:"uint8",baseType:"uint8",array:!0,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},297:{num:297,name:"respirationRate",messagesKey:"respirationRateMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"respirationRate",type:"sint16",baseType:"sint16",array:!1,scale:100,offset:0,units:"breaths/min",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},387:{num:387,name:"chronoShotSession",messagesKey:"chronoShotSessionMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"minSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"maxSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"avgSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"shotCount",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"projectileType",type:"projectileType",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"grainWeight",type:"uint32",baseType:"uint32",array:!1,scale:10,offset:0,units:"gr",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"standardDeviation",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},388:{num:388,name:"chronoShotData",messagesKey:"chronoShotDataMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"shotSpeed",type:"uint32",baseType:"uint32",array:!1,scale:1e3,offset:0,units:"m/s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"shotNum",type:"uint16",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},319:{num:319,name:"tankUpdate",messagesKey:"tankUpdateMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"sensor",type:"antChannelId",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"pressure",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"bar",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},323:{num:323,name:"tankSummary",messagesKey:"tankSummaryMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"s",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"sensor",type:"antChannelId",baseType:"uint32z",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"startPressure",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"bar",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"endPressure",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"bar",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"volumeUsed",type:"uint32",baseType:"uint32",array:!1,scale:100,offset:0,units:"L",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},346:{num:346,name:"sleepAssessment",messagesKey:"sleepAssessmentMesgs",fields:{0:{num:0,name:"combinedAwakeScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"awakeTimeScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"awakeningsCountScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"deepSleepScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"sleepDurationScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"lightSleepScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"overallSleepScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"sleepQualityScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},8:{num:8,name:"sleepRecoveryScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},9:{num:9,name:"remSleepScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},10:{num:10,name:"sleepRestlessnessScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},11:{num:11,name:"awakeningsCount",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},14:{num:14,name:"interruptionsScore",type:"uint8",baseType:"uint8",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},15:{num:15,name:"averageStressDuringSleep",type:"uint16",baseType:"uint16",array:!1,scale:100,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},470:{num:470,name:"sleepDisruptionSeverityPeriod",messagesKey:"sleepDisruptionSeverityPeriodMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"severity",type:"sleepDisruptionSeverity",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},471:{num:471,name:"sleepDisruptionOvernightSeverity",messagesKey:"sleepDisruptionOvernightSeverityMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"severity",type:"sleepDisruptionSeverity",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},412:{num:412,name:"napEvent",messagesKey:"napEventMesgs",fields:{254:{num:254,name:"messageIndex",type:"messageIndex",baseType:"uint16",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"startTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"seconds",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"startTimezoneOffset",type:"sint16",baseType:"sint16",array:!1,scale:1,offset:0,units:"minutes",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"endTime",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"seconds",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},3:{num:3,name:"endTimezoneOffset",type:"sint16",baseType:"sint16",array:!1,scale:1,offset:0,units:"minutes",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"feedback",type:"napPeriodFeedback",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},5:{num:5,name:"isDeleted",type:"bool",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},6:{num:6,name:"source",type:"napSource",baseType:"enum",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},7:{num:7,name:"updateTimestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},398:{num:398,name:"skinTempOvernight",messagesKey:"skinTempOvernightMesgs",fields:{253:{num:253,name:"timestamp",type:"dateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},0:{num:0,name:"localTimestamp",type:"localDateTime",baseType:"uint32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},1:{num:1,name:"averageDeviation",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},2:{num:2,name:"average7DayDeviation",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]},4:{num:4,name:"nightlyValue",type:"float32",baseType:"float32",array:!1,scale:1,offset:0,units:"",bits:[],components:[],isAccumulated:!1,hasComponents:!1,subFields:[]}}},105:{num:105,name:"pad",messagesKey:"padMesgs",fields:{}}},types:{file:{1:"device",2:"settings",3:"sport",4:"activity",5:"workout",6:"course",7:"schedules",9:"weight",10:"totals",11:"goals",14:"bloodPressure",15:"monitoringA",20:"activitySummary",28:"monitoringDaily",32:"monitoringB",34:"segment",35:"segmentList",40:"exdConfiguration",247:"mfgRangeMin",254:"mfgRangeMax"},mesgNum:{0:"fileId",1:"capabilities",2:"deviceSettings",3:"userProfile",4:"hrmProfile",5:"sdmProfile",6:"bikeProfile",7:"zonesTarget",8:"hrZone",9:"powerZone",10:"metZone",12:"sport",13:"trainingSettings",15:"goal",18:"session",19:"lap",20:"record",21:"event",23:"deviceInfo",26:"workout",27:"workoutStep",28:"schedule",30:"weightScale",31:"course",32:"coursePoint",33:"totals",34:"activity",35:"software",37:"fileCapabilities",38:"mesgCapabilities",39:"fieldCapabilities",49:"fileCreator",51:"bloodPressure",53:"speedZone",55:"monitoring",72:"trainingFile",78:"hrv",80:"antRx",81:"antTx",82:"antChannelId",101:"length",103:"monitoringInfo",105:"pad",106:"slaveDevice",127:"connectivity",128:"weatherConditions",129:"weatherAlert",131:"cadenceZone",132:"hr",142:"segmentLap",145:"memoGlob",148:"segmentId",149:"segmentLeaderboardEntry",150:"segmentPoint",151:"segmentFile",158:"workoutSession",159:"watchfaceSettings",160:"gpsMetadata",161:"cameraEvent",162:"timestampCorrelation",164:"gyroscopeData",165:"accelerometerData",167:"threeDSensorCalibration",169:"videoFrame",174:"obdiiData",177:"nmeaSentence",178:"aviationAttitude",184:"video",185:"videoTitle",186:"videoDescription",187:"videoClip",188:"ohrSettings",200:"exdScreenConfiguration",201:"exdDataFieldConfiguration",202:"exdDataConceptConfiguration",206:"fieldDescription",207:"developerDataId",208:"magnetometerData",209:"barometerData",210:"oneDSensorCalibration",211:"monitoringHrData",216:"timeInZone",225:"set",227:"stressLevel",229:"maxMetData",258:"diveSettings",259:"diveGas",262:"diveAlarm",264:"exerciseTitle",268:"diveSummary",269:"spo2Data",275:"sleepLevel",285:"jump",289:"aadAccelFeatures",290:"beatIntervals",297:"respirationRate",302:"hsaAccelerometerData",304:"hsaStepData",305:"hsaSpo2Data",306:"hsaStressData",307:"hsaRespirationData",308:"hsaHeartRateData",312:"split",313:"splitSummary",314:"hsaBodyBatteryData",315:"hsaEvent",317:"climbPro",319:"tankUpdate",323:"tankSummary",346:"sleepAssessment",370:"hrvStatusSummary",371:"hrvValue",372:"rawBbi",375:"deviceAuxBatteryInfo",376:"hsaGyroscopeData",387:"chronoShotSession",388:"chronoShotData",389:"hsaConfigurationData",393:"diveApneaAlarm",398:"skinTempOvernight",409:"hsaWristTemperatureData",412:"napEvent",470:"sleepDisruptionSeverityPeriod",471:"sleepDisruptionOvernightSeverity",65280:"mfgRangeMin",65534:"mfgRangeMax"},checksum:{0:"clear",1:"ok"},fileFlags:{2:"read",4:"write",8:"erase"},mesgCount:{0:"numPerFile",1:"maxPerFile",2:"maxPerFileType"},dateTime:{268435456:"min"},localDateTime:{268435456:"min"},messageIndex:{32768:"selected",28672:"reserved",4095:"mask"},deviceIndex:{0:"creator"},gender:{0:"female",1:"male"},language:{0:"english",1:"french",2:"italian",3:"german",4:"spanish",5:"croatian",6:"czech",7:"danish",8:"dutch",9:"finnish",10:"greek",11:"hungarian",12:"norwegian",13:"polish",14:"portuguese",15:"slovakian",16:"slovenian",17:"swedish",18:"russian",19:"turkish",20:"latvian",21:"ukrainian",22:"arabic",23:"farsi",24:"bulgarian",25:"romanian",26:"chinese",27:"japanese",28:"korean",29:"taiwanese",30:"thai",31:"hebrew",32:"brazilianPortuguese",33:"indonesian",34:"malaysian",35:"vietnamese",36:"burmese",37:"mongolian",254:"custom"},languageBits0:{1:"english",2:"french",4:"italian",8:"german",16:"spanish",32:"croatian",64:"czech",128:"danish"},languageBits1:{1:"dutch",2:"finnish",4:"greek",8:"hungarian",16:"norwegian",32:"polish",64:"portuguese",128:"slovakian"},languageBits2:{1:"slovenian",2:"swedish",4:"russian",8:"turkish",16:"latvian",32:"ukrainian",64:"arabic",128:"farsi"},languageBits3:{1:"bulgarian",2:"romanian",4:"chinese",8:"japanese",16:"korean",32:"taiwanese",64:"thai",128:"hebrew"},languageBits4:{1:"brazilianPortuguese",2:"indonesian",4:"malaysian",8:"vietnamese",16:"burmese",32:"mongolian"},timeZone:{0:"almaty",1:"bangkok",2:"bombay",3:"brasilia",4:"cairo",5:"capeVerdeIs",6:"darwin",7:"eniwetok",8:"fiji",9:"hongKong",10:"islamabad",11:"kabul",12:"magadan",13:"midAtlantic",14:"moscow",15:"muscat",16:"newfoundland",17:"samoa",18:"sydney",19:"tehran",20:"tokyo",21:"usAlaska",22:"usAtlantic",23:"usCentral",24:"usEastern",25:"usHawaii",26:"usMountain",27:"usPacific",28:"other",29:"auckland",30:"kathmandu",31:"europeWesternWet",32:"europeCentralCet",33:"europeEasternEet",34:"jakarta",35:"perth",36:"adelaide",37:"brisbane",38:"tasmania",39:"iceland",40:"amsterdam",41:"athens",42:"barcelona",43:"berlin",44:"brussels",45:"budapest",46:"copenhagen",47:"dublin",48:"helsinki",49:"lisbon",50:"london",51:"madrid",52:"munich",53:"oslo",54:"paris",55:"prague",56:"reykjavik",57:"rome",58:"stockholm",59:"vienna",60:"warsaw",61:"zurich",62:"quebec",63:"ontario",64:"manitoba",65:"saskatchewan",66:"alberta",67:"britishColumbia",68:"boise",69:"boston",70:"chicago",71:"dallas",72:"denver",73:"kansasCity",74:"lasVegas",75:"losAngeles",76:"miami",77:"minneapolis",78:"newYork",79:"newOrleans",80:"phoenix",81:"santaFe",82:"seattle",83:"washingtonDc",84:"usArizona",85:"chita",86:"ekaterinburg",87:"irkutsk",88:"kaliningrad",89:"krasnoyarsk",90:"novosibirsk",91:"petropavlovskKamchatskiy",92:"samara",93:"vladivostok",94:"mexicoCentral",95:"mexicoMountain",96:"mexicoPacific",97:"capeTown",98:"winkhoek",99:"lagos",100:"riyahd",101:"venezuela",102:"australiaLh",103:"santiago",253:"manual",254:"automatic"},displayMeasure:{0:"metric",1:"statute",2:"nautical"},displayHeart:{0:"bpm",1:"max",2:"reserve"},displayPower:{0:"watts",1:"percentFtp"},displayPosition:{0:"degree",1:"degreeMinute",2:"degreeMinuteSecond",3:"austrianGrid",4:"britishGrid",5:"dutchGrid",6:"hungarianGrid",7:"finnishGrid",8:"germanGrid",9:"icelandicGrid",10:"indonesianEquatorial",11:"indonesianIrian",12:"indonesianSouthern",13:"indiaZone0",14:"indiaZoneIA",15:"indiaZoneIB",16:"indiaZoneIIA",17:"indiaZoneIIB",18:"indiaZoneIIIA",19:"indiaZoneIIIB",20:"indiaZoneIVA",21:"indiaZoneIVB",22:"irishTransverse",23:"irishGrid",24:"loran",25:"maidenheadGrid",26:"mgrsGrid",27:"newZealandGrid",28:"newZealandTransverse",29:"qatarGrid",30:"modifiedSwedishGrid",31:"swedishGrid",32:"southAfricanGrid",33:"swissGrid",34:"taiwanGrid",35:"unitedStatesGrid",36:"utmUpsGrid",37:"westMalayan",38:"borneoRso",39:"estonianGrid",40:"latvianGrid",41:"swedishRef99Grid"},switch:{0:"off",1:"on",2:"auto"},sport:{0:"generic",1:"running",2:"cycling",3:"transition",4:"fitnessEquipment",5:"swimming",6:"basketball",7:"soccer",8:"tennis",9:"americanFootball",10:"training",11:"walking",12:"crossCountrySkiing",13:"alpineSkiing",14:"snowboarding",15:"rowing",16:"mountaineering",17:"hiking",18:"multisport",19:"paddling",20:"flying",21:"eBiking",22:"motorcycling",23:"boating",24:"driving",25:"golf",26:"hangGliding",27:"horsebackRiding",28:"hunting",29:"fishing",30:"inlineSkating",31:"rockClimbing",32:"sailing",33:"iceSkating",34:"skyDiving",35:"snowshoeing",36:"snowmobiling",37:"standUpPaddleboarding",38:"surfing",39:"wakeboarding",40:"waterSkiing",41:"kayaking",42:"rafting",43:"windsurfing",44:"kitesurfing",45:"tactical",46:"jumpmaster",47:"boxing",48:"floorClimbing",49:"baseball",53:"diving",56:"shooting",58:"winterSport",59:"grinding",62:"hiit",63:"videoGaming",64:"racket",65:"wheelchairPushWalk",66:"wheelchairPushRun",67:"meditation",68:"paraSport",69:"discGolf",70:"teamSport",71:"cricket",72:"rugby",73:"hockey",74:"lacrosse",75:"volleyball",76:"waterTubing",77:"wakesurfing",78:"waterSport",79:"archery",80:"mixedMartialArts",81:"motorSports",82:"snorkeling",83:"dance",84:"jumpRope",85:"poolApnea",86:"mobility",87:"geocaching",88:"canoeing",254:"all"},sportBits0:{1:"generic",2:"running",4:"cycling",8:"transition",16:"fitnessEquipment",32:"swimming",64:"basketball",128:"soccer"},sportBits1:{1:"tennis",2:"americanFootball",4:"training",8:"walking",16:"crossCountrySkiing",32:"alpineSkiing",64:"snowboarding",128:"rowing"},sportBits2:{1:"mountaineering",2:"hiking",4:"multisport",8:"paddling",16:"flying",32:"eBiking",64:"motorcycling",128:"boating"},sportBits3:{1:"driving",2:"golf",4:"hangGliding",8:"horsebackRiding",16:"hunting",32:"fishing",64:"inlineSkating",128:"rockClimbing"},sportBits4:{1:"sailing",2:"iceSkating",4:"skyDiving",8:"snowshoeing",16:"snowmobiling",32:"standUpPaddleboarding",64:"surfing",128:"wakeboarding"},sportBits5:{1:"waterSkiing",2:"kayaking",4:"rafting",8:"windsurfing",16:"kitesurfing",32:"tactical",64:"jumpmaster",128:"boxing"},sportBits6:{1:"floorClimbing"},subSport:{0:"generic",1:"treadmill",2:"street",3:"trail",4:"track",5:"spin",6:"indoorCycling",7:"road",8:"mountain",9:"downhill",10:"recumbent",11:"cyclocross",12:"handCycling",13:"trackCycling",14:"indoorRowing",15:"elliptical",16:"stairClimbing",17:"lapSwimming",18:"openWater",19:"flexibilityTraining",20:"strengthTraining",21:"warmUp",22:"match",23:"exercise",24:"challenge",25:"indoorSkiing",26:"cardioTraining",27:"indoorWalking",28:"eBikeFitness",29:"bmx",30:"casualWalking",31:"speedWalking",32:"bikeToRunTransition",33:"runToBikeTransition",34:"swimToBikeTransition",35:"atv",36:"motocross",37:"backcountry",38:"resort",39:"rcDrone",40:"wingsuit",41:"whitewater",42:"skateSkiing",43:"yoga",44:"pilates",45:"indoorRunning",46:"gravelCycling",47:"eBikeMountain",48:"commuting",49:"mixedSurface",50:"navigate",51:"trackMe",52:"map",53:"singleGasDiving",54:"multiGasDiving",55:"gaugeDiving",56:"apneaDiving",57:"apneaHunting",58:"virtualActivity",59:"obstacle",62:"breathing",63:"ccrDiving",65:"sailRace",66:"expedition",67:"ultra",68:"indoorClimbing",69:"bouldering",70:"hiit",71:"indoorGrinding",72:"huntingWithDogs",73:"amrap",74:"emom",75:"tabata",77:"esport",78:"triathlon",79:"duathlon",80:"brick",81:"swimRun",82:"adventureRace",83:"truckerWorkout",84:"pickleball",85:"padel",86:"indoorWheelchairWalk",87:"indoorWheelchairRun",88:"indoorHandCycling",90:"field",91:"ice",92:"ultimate",93:"platform",94:"squash",95:"badminton",96:"racquetball",97:"tableTennis",98:"overland",99:"trollingMotor",110:"flyCanopy",111:"flyParaglide",112:"flyParamotor",113:"flyPressurized",114:"flyNavigate",115:"flyTimer",116:"flyAltimeter",117:"flyWx",118:"flyVfr",119:"flyIfr",121:"dynamicApnea",123:"enduro",124:"rucking",125:"rally",126:"poolTriathlon",127:"eBikeEnduro",254:"all"},sportEvent:{0:"uncategorized",1:"geocaching",2:"fitness",3:"recreation",4:"race",5:"specialEvent",6:"training",7:"transportation",8:"touring"},activity:{0:"manual",1:"autoMultiSport"},intensity:{0:"active",1:"rest",2:"warmup",3:"cooldown",4:"recovery",5:"interval",6:"other"},sessionTrigger:{0:"activityEnd",1:"manual",2:"autoMultiSport",3:"fitnessEquipment"},autolapTrigger:{0:"time",1:"distance",2:"positionStart",3:"positionLap",4:"positionWaypoint",5:"positionMarked",6:"off",13:"autoSelect"},lapTrigger:{0:"manual",1:"time",2:"distance",3:"positionStart",4:"positionLap",5:"positionWaypoint",6:"positionMarked",7:"sessionEnd",8:"fitnessEquipment"},timeMode:{0:"hour12",1:"hour24",2:"military",3:"hour12WithSeconds",4:"hour24WithSeconds",5:"utc"},backlightMode:{0:"off",1:"manual",2:"keyAndMessages",3:"autoBrightness",4:"smartNotifications",5:"keyAndMessagesNight",6:"keyAndMessagesAndSmartNotifications"},dateMode:{0:"dayMonth",1:"monthDay"},backlightTimeout:{0:"infinite"},event:{0:"timer",3:"workout",4:"workoutStep",5:"powerDown",6:"powerUp",7:"offCourse",8:"session",9:"lap",10:"coursePoint",11:"battery",12:"virtualPartnerPace",13:"hrHighAlert",14:"hrLowAlert",15:"speedHighAlert",16:"speedLowAlert",17:"cadHighAlert",18:"cadLowAlert",19:"powerHighAlert",20:"powerLowAlert",21:"recoveryHr",22:"batteryLow",23:"timeDurationAlert",24:"distanceDurationAlert",25:"calorieDurationAlert",26:"activity",27:"fitnessEquipment",28:"length",32:"userMarker",33:"sportPoint",36:"calibration",42:"frontGearChange",43:"rearGearChange",44:"riderPositionChange",45:"elevHighAlert",46:"elevLowAlert",47:"commTimeout",54:"autoActivityDetect",56:"diveAlert",57:"diveGasSwitched",71:"tankPressureReserve",72:"tankPressureCritical",73:"tankLost",75:"radarThreatAlert",76:"tankBatteryLow",81:"tankPodConnected",82:"tankPodDisconnected"},eventType:{0:"start",1:"stop",2:"consecutiveDepreciated",3:"marker",4:"stopAll",5:"beginDepreciated",6:"endDepreciated",7:"endAllDepreciated",8:"stopDisable",9:"stopDisableAll"},timerTrigger:{0:"manual",1:"auto",2:"fitnessEquipment"},fitnessEquipmentState:{0:"ready",1:"inUse",2:"paused",3:"unknown"},tone:{0:"off",1:"tone",2:"vibrate",3:"toneAndVibrate"},autoscroll:{0:"none",1:"slow",2:"medium",3:"fast"},activityClass:{127:"level",100:"levelMax",128:"athlete"},hrZoneCalc:{0:"custom",1:"percentMaxHr",2:"percentHrr",3:"percentLthr"},pwrZoneCalc:{0:"custom",1:"percentFtp"},wktStepDuration:{0:"time",1:"distance",2:"hrLessThan",3:"hrGreaterThan",4:"calories",5:"open",6:"repeatUntilStepsCmplt",7:"repeatUntilTime",8:"repeatUntilDistance",9:"repeatUntilCalories",10:"repeatUntilHrLessThan",11:"repeatUntilHrGreaterThan",12:"repeatUntilPowerLessThan",13:"repeatUntilPowerGreaterThan",14:"powerLessThan",15:"powerGreaterThan",16:"trainingPeaksTss",17:"repeatUntilPowerLastLapLessThan",18:"repeatUntilMaxPowerLastLapLessThan",19:"power3sLessThan",20:"power10sLessThan",21:"power30sLessThan",22:"power3sGreaterThan",23:"power10sGreaterThan",24:"power30sGreaterThan",25:"powerLapLessThan",26:"powerLapGreaterThan",27:"repeatUntilTrainingPeaksTss",28:"repetitionTime",29:"reps",31:"timeOnly"},wktStepTarget:{0:"speed",1:"heartRate",2:"open",3:"cadence",4:"power",5:"grade",6:"resistance",7:"power3s",8:"power10s",9:"power30s",10:"powerLap",11:"swimStroke",12:"speedLap",13:"heartRateLap"},goal:{0:"time",1:"distance",2:"calories",3:"frequency",4:"steps",5:"ascent",6:"activeMinutes"},goalRecurrence:{0:"off",1:"daily",2:"weekly",3:"monthly",4:"yearly",5:"custom"},goalSource:{0:"auto",1:"community",2:"user"},schedule:{0:"workout",1:"course"},coursePoint:{0:"generic",1:"summit",2:"valley",3:"water",4:"food",5:"danger",6:"left",7:"right",8:"straight",9:"firstAid",10:"fourthCategory",11:"thirdCategory",12:"secondCategory",13:"firstCategory",14:"horsCategory",15:"sprint",16:"leftFork",17:"rightFork",18:"middleFork",19:"slightLeft",20:"sharpLeft",21:"slightRight",22:"sharpRight",23:"uTurn",24:"segmentStart",25:"segmentEnd",27:"campsite",28:"aidStation",29:"restArea",30:"generalDistance",31:"service",32:"energyGel",33:"sportsDrink",34:"mileMarker",35:"checkpoint",36:"shelter",37:"meetingSpot",38:"overlook",39:"toilet",40:"shower",41:"gear",42:"sharpCurve",43:"steepIncline",44:"tunnel",45:"bridge",46:"obstacle",47:"crossing",48:"store",49:"transition",50:"navaid",51:"transport",52:"alert",53:"info"},manufacturer:{1:"garmin",2:"garminFr405Antfs",3:"zephyr",4:"dayton",5:"idt",6:"srm",7:"quarq",8:"ibike",9:"saris",10:"sparkHk",11:"tanita",12:"echowell",13:"dynastreamOem",14:"nautilus",15:"dynastream",16:"timex",17:"metrigear",18:"xelic",19:"beurer",20:"cardiosport",21:"aAndD",22:"hmm",23:"suunto",24:"thitaElektronik",25:"gpulse",26:"cleanMobile",27:"pedalBrain",28:"peaksware",29:"saxonar",30:"lemondFitness",31:"dexcom",32:"wahooFitness",33:"octaneFitness",34:"archinoetics",35:"theHurtBox",36:"citizenSystems",37:"magellan",38:"osynce",39:"holux",40:"concept2",41:"shimano",42:"oneGiantLeap",43:"aceSensor",44:"brimBrothers",45:"xplova",46:"perceptionDigital",47:"bf1systems",48:"pioneer",49:"spantec",50:"metalogics",51:"4iiiis",52:"seikoEpson",53:"seikoEpsonOem",54:"iforPowell",55:"maxwellGuider",56:"starTrac",57:"breakaway",58:"alatechTechnologyLtd",59:"mioTechnologyEurope",60:"rotor",61:"geonaute",62:"idBike",63:"specialized",64:"wtek",65:"physicalEnterprises",66:"northPoleEngineering",67:"bkool",68:"cateye",69:"stagesCycling",70:"sigmasport",71:"tomtom",72:"peripedal",73:"wattbike",76:"moxy",77:"ciclosport",78:"powerbahn",79:"acornProjectsAps",80:"lifebeam",81:"bontrager",82:"wellgo",83:"scosche",84:"magura",85:"woodway",86:"elite",87:"nielsenKellerman",88:"dkCity",89:"tacx",90:"directionTechnology",91:"magtonic",92:"1partcarbon",93:"insideRideTechnologies",94:"soundOfMotion",95:"stryd",96:"icg",97:"miPulse",98:"bsxAthletics",99:"look",100:"campagnoloSrl",101:"bodyBikeSmart",102:"praxisworks",103:"limitsTechnology",104:"topactionTechnology",105:"cosinuss",106:"fitcare",107:"magene",108:"giantManufacturingCo",109:"tigrasport",110:"salutron",111:"technogym",112:"brytonSensors",113:"latitudeLimited",114:"soaringTechnology",115:"igpsport",116:"thinkrider",117:"gopherSport",118:"waterrower",119:"orangetheory",120:"inpeak",121:"kinetic",122:"johnsonHealthTech",123:"polarElectro",124:"seesense",125:"nciTechnology",126:"iqsquare",127:"leomo",128:"ifitCom",129:"corosByte",130:"versaDesign",131:"chileaf",132:"cycplus",133:"gravaaByte",134:"sigeyi",135:"coospo",136:"geoid",137:"bosch",138:"kyto",139:"kineticSports",140:"decathlonByte",141:"tqSystems",142:"tagHeuer",143:"keiserFitness",144:"zwiftByte",145:"porscheEp",146:"blackbird",147:"meilanByte",148:"ezon",149:"laisi",150:"myzone",151:"abawo",152:"bafang",153:"luhongTechnology",255:"development",257:"healthandlife",258:"lezyne",259:"scribeLabs",260:"zwift",261:"watteam",262:"recon",263:"faveroElectronics",264:"dynovelo",265:"strava",266:"precor",267:"bryton",268:"sram",269:"navman",270:"cobi",271:"spivi",272:"mioMagellan",273:"evesports",274:"sensitivusGauge",275:"podoon",276:"lifeTimeFitness",277:"falcoEMotors",278:"minoura",279:"cycliq",280:"luxottica",281:"trainerRoad",282:"theSufferfest",283:"fullspeedahead",284:"virtualtraining",285:"feedbacksports",286:"omata",287:"vdo",288:"magneticdays",289:"hammerhead",290:"kineticByKurt",291:"shapelog",292:"dabuziduo",293:"jetblack",294:"coros",295:"virtugo",296:"velosense",297:"cycligentinc",298:"trailforks",299:"mahleEbikemotion",300:"nurvv",301:"microprogram",302:"zone5cloud",303:"greenteg",304:"yamahaMotors",305:"whoop",306:"gravaa",307:"onelap",308:"monarkExercise",309:"form",310:"decathlon",311:"syncros",312:"heatup",313:"cannondale",314:"trueFitness",315:"rGTCycling",316:"vasa",317:"raceRepublic",318:"fazua",319:"orekaTraining",320:"lsec",321:"lululemonStudio",322:"shanyue",323:"spinningMda",324:"hilldating",325:"aeroSensor",326:"nike",327:"magicshine",328:"ictrainer",329:"absoluteCycling",330:"eoSwimbetter",331:"mywhoosh",332:"ravemen",333:"tektroRacingProducts",334:"daradInnovationCorporation",335:"cycloptim",337:"runna",339:"zepp",340:"peloton",341:"carv",342:"tissot",345:"realVelo",346:"wetech",347:"jespr",348:"huawei",349:"gotoes",350:"cadenceApp",5759:"actigraphcorp"},garminProduct:{1:"hrm1",2:"axh01",3:"axb01",4:"axb02",5:"hrm2ss",6:"dsiAlf02",7:"hrm3ss",8:"hrmRunSingleByteProductId",9:"bsm",10:"bcm",11:"axs01",12:"hrmTriSingleByteProductId",13:"hrm4RunSingleByteProductId",14:"fr225SingleByteProductId",15:"gen3BsmSingleByteProductId",16:"gen3BcmSingleByteProductId",22:"hrmFitSingleByteProductId",255:"oHR",473:"fr301China",474:"fr301Japan",475:"fr301Korea",494:"fr301Taiwan",717:"fr405",782:"fr50",987:"fr405Japan",988:"fr60",1011:"dsiAlf01",1018:"fr310xt",1036:"edge500",1124:"fr110",1169:"edge800",1199:"edge500Taiwan",1213:"edge500Japan",1253:"chirp",1274:"fr110Japan",1325:"edge200",1328:"fr910xt",1333:"edge800Taiwan",1334:"edge800Japan",1341:"alf04",1345:"fr610",1360:"fr210Japan",1380:"vectorSs",1381:"vectorCp",1386:"edge800China",1387:"edge500China",1405:"approachG10",1410:"fr610Japan",1422:"edge500Korea",1436:"fr70",1446:"fr310xt4t",1461:"amx",1482:"fr10",1497:"edge800Korea",1499:"swim",1537:"fr910xtChina",1551:"fenix",1555:"edge200Taiwan",1561:"edge510",1567:"edge810",1570:"tempe",1600:"fr910xtJapan",1623:"fr620",1632:"fr220",1664:"fr910xtKorea",1688:"fr10Japan",1721:"edge810Japan",1735:"virbElite",1736:"edgeTouring",1742:"edge510Japan",1743:"hrmTri",1752:"hrmRun",1765:"fr920xt",1821:"edge510Asia",1822:"edge810China",1823:"edge810Taiwan",1836:"edge1000",1837:"vivoFit",1853:"virbRemote",1885:"vivoKi",1903:"fr15",1907:"vivoActive",1918:"edge510Korea",1928:"fr620Japan",1929:"fr620China",1930:"fr220Japan",1931:"fr220China",1936:"approachS6",1956:"vivoSmart",1967:"fenix2",1988:"epix",2050:"fenix3",2052:"edge1000Taiwan",2053:"edge1000Japan",2061:"fr15Japan",2067:"edge520",2070:"edge1000China",2072:"fr620Russia",2073:"fr220Russia",2079:"vectorS",2100:"edge1000Korea",2130:"fr920xtTaiwan",2131:"fr920xtChina",2132:"fr920xtJapan",2134:"virbx",2135:"vivoSmartApac",2140:"etrexTouch",2147:"edge25",2148:"fr25",2150:"vivoFit2",2153:"fr225",2156:"fr630",2157:"fr230",2158:"fr735xt",2160:"vivoActiveApac",2161:"vector2",2162:"vector2s",2172:"virbxe",2173:"fr620Taiwan",2174:"fr220Taiwan",2175:"truswing",2187:"d2airvenu",2188:"fenix3China",2189:"fenix3Twn",2192:"variaHeadlight",2193:"variaTaillightOld",2204:"edgeExplore1000",2219:"fr225Asia",2225:"variaRadarTaillight",2226:"variaRadarDisplay",2238:"edge20",2260:"edge520Asia",2261:"edge520Japan",2262:"d2Bravo",2266:"approachS20",2271:"vivoSmart2",2274:"edge1000Thai",2276:"variaRemote",2288:"edge25Asia",2289:"edge25Jpn",2290:"edge20Asia",2292:"approachX40",2293:"fenix3Japan",2294:"vivoSmartEmea",2310:"fr630Asia",2311:"fr630Jpn",2313:"fr230Jpn",2327:"hrm4Run",2332:"epixJapan",2337:"vivoActiveHr",2347:"vivoSmartGpsHr",2348:"vivoSmartHr",2361:"vivoSmartHrAsia",2362:"vivoSmartGpsHrAsia",2368:"vivoMove",2379:"variaTaillight",2396:"fr235Asia",2397:"fr235Japan",2398:"variaVision",2406:"vivoFit3",2407:"fenix3Korea",2408:"fenix3Sea",2413:"fenix3Hr",2417:"virbUltra30",2429:"indexSmartScale",2431:"fr235",2432:"fenix3Chronos",2441:"oregon7xx",2444:"rino7xx",2457:"epixKorea",2473:"fenix3HrChn",2474:"fenix3HrTwn",2475:"fenix3HrJpn",2476:"fenix3HrSea",2477:"fenix3HrKor",2496:"nautix",2497:"vivoActiveHrApac",2503:"fr35",2512:"oregon7xxWw",2530:"edge820",2531:"edgeExplore820",2533:"fr735xtApac",2534:"fr735xtJapan",2544:"fenix5s",2547:"d2BravoTitanium",2567:"variaUt800",2593:"runningDynamicsPod",2599:"edge820China",2600:"edge820Japan",2604:"fenix5x",2606:"vivoFitJr",2622:"vivoSmart3",2623:"vivoSport",2628:"edge820Taiwan",2629:"edge820Korea",2630:"edge820Sea",2650:"fr35Hebrew",2656:"approachS60",2667:"fr35Apac",2668:"fr35Japan",2675:"fenix3ChronosAsia",2687:"virb360",2691:"fr935",2697:"fenix5",2700:"vivoactive3",2733:"fr235ChinaNfc",2769:"foretrex601_701",2772:"vivoMoveHr",2713:"edge1030",2727:"fr35Sea",2787:"vector3",2796:"fenix5Asia",2797:"fenix5sAsia",2798:"fenix5xAsia",2806:"approachZ80",2814:"fr35Korea",2819:"d2charlie",2831:"vivoSmart3Apac",2832:"vivoSportApac",2833:"fr935Asia",2859:"descent",2878:"vivoFit4",2886:"fr645",2888:"fr645m",2891:"fr30",2900:"fenix5sPlus",2909:"edge130",2924:"edge1030Asia",2927:"vivosmart4",2945:"vivoMoveHrAsia",2962:"approachX10",2977:"fr30Asia",2988:"vivoactive3mW",3003:"fr645Asia",3004:"fr645mAsia",3011:"edgeExplore",3028:"gpsmap66",3049:"approachS10",3066:"vivoactive3mL",3076:"fr245",3077:"fr245Music",3085:"approachG80",3092:"edge130Asia",3095:"edge1030Bontrager",3110:"fenix5Plus",3111:"fenix5xPlus",3112:"edge520Plus",3113:"fr945",3121:"edge530",3122:"edge830",3126:"instinctEsports",3134:"fenix5sPlusApac",3135:"fenix5xPlusApac",3142:"edge520PlusApac",3143:"descentT1",3144:"fr235lAsia",3145:"fr245Asia",3163:"vivoActive3mApac",3192:"gen3Bsm",3193:"gen3Bcm",3218:"vivoSmart4Asia",3224:"vivoactive4Small",3225:"vivoactive4Large",3226:"venu",3246:"marqDriver",3247:"marqAviator",3248:"marqCaptain",3249:"marqCommander",3250:"marqExpedition",3251:"marqAthlete",3258:"descentMk2",3282:"fr45",3284:"gpsmap66i",3287:"fenix6SSport",3288:"fenix6S",3289:"fenix6Sport",3290:"fenix6",3291:"fenix6x",3299:"hrmDual",3300:"hrmPro",3308:"vivoMove3Premium",3314:"approachS40",3321:"fr245mAsia",3349:"edge530Apac",3350:"edge830Apac",3378:"vivoMove3",3387:"vivoActive4SmallAsia",3388:"vivoActive4LargeAsia",3389:"vivoActive4OledAsia",3405:"swim2",3420:"marqDriverAsia",3421:"marqAviatorAsia",3422:"vivoMove3Asia",3441:"fr945Asia",3446:"vivoActive3tChn",3448:"marqCaptainAsia",3449:"marqCommanderAsia",3450:"marqExpeditionAsia",3451:"marqAthleteAsia",3461:"indexSmartScale2",3466:"instinctSolar",3469:"fr45Asia",3473:"vivoactive3Daimler",3498:"legacyRey",3499:"legacyDarthVader",3500:"legacyCaptainMarvel",3501:"legacyFirstAvenger",3512:"fenix6sSportAsia",3513:"fenix6sAsia",3514:"fenix6SportAsia",3515:"fenix6Asia",3516:"fenix6xAsia",3535:"legacyCaptainMarvelAsia",3536:"legacyFirstAvengerAsia",3537:"legacyReyAsia",3538:"legacyDarthVaderAsia",3542:"descentMk2s",3558:"edge130Plus",3570:"edge1030Plus",3578:"rally200",3589:"fr745",3596:"venusqMusic",3599:"venusqMusicV2",3600:"venusq",3615:"lily",3624:"marqAdventurer",3638:"enduro",3639:"swim2Apac",3648:"marqAdventurerAsia",3652:"fr945Lte",3702:"descentMk2Asia",3703:"venu2",3704:"venu2s",3737:"venuDaimlerAsia",3739:"marqGolfer",3740:"venuDaimler",3794:"fr745Asia",3808:"variaRct715",3809:"lilyAsia",3812:"edge1030PlusAsia",3813:"edge130PlusAsia",3823:"approachS12",3872:"enduroAsia",3837:"venusqAsia",3843:"edge1040",3850:"marqGolferAsia",3851:"venu2Plus",3865:"gnss",3869:"fr55",3888:"instinct2",3889:"instinct2s",3905:"fenix7s",3906:"fenix7",3907:"fenix7x",3908:"fenix7sApac",3909:"fenix7Apac",3910:"fenix7xApac",3927:"approachG12",3930:"descentMk2sAsia",3934:"approachS42",3943:"epixGen2",3944:"epixGen2Apac",3949:"venu2sAsia",3950:"venu2Asia",3978:"fr945LteAsia",3982:"vivoMoveSport",3983:"vivomoveTrend",3986:"approachS12Asia",3990:"fr255Music",3991:"fr255SmallMusic",3992:"fr255",3993:"fr255Small",4001:"approachG12Asia",4002:"approachS42Asia",4005:"descentG1",4017:"venu2PlusAsia",4024:"fr955",4033:"fr55Asia",4061:"edge540",4062:"edge840",4063:"vivosmart5",4071:"instinct2Asia",4105:"marqGen2",4115:"venusq2",4116:"venusq2music",4124:"marqGen2Aviator",4125:"d2AirX10",4130:"hrmProPlus",4132:"descentG1Asia",4135:"tactix7",4155:"instinctCrossover",4169:"edgeExplore2",4222:"descentMk3",4223:"descentMk3i",4233:"approachS70",4257:"fr265Large",4258:"fr265Small",4260:"venu3",4261:"venu3s",4265:"tacxNeoSmart",4266:"tacxNeo2Smart",4267:"tacxNeo2TSmart",4268:"tacxNeoSmartBike",4269:"tacxSatoriSmart",4270:"tacxFlowSmart",4271:"tacxVortexSmart",4272:"tacxBushidoSmart",4273:"tacxGeniusSmart",4274:"tacxFluxFluxSSmart",4275:"tacxFlux2Smart",4276:"tacxMagnum",4305:"edge1040Asia",4312:"epixGen2Pro42",4313:"epixGen2Pro47",4314:"epixGen2Pro51",4315:"fr965",4341:"enduro2",4374:"fenix7sProSolar",4375:"fenix7ProSolar",4376:"fenix7xProSolar",4380:"lily2",4394:"instinct2x",4426:"vivoactive5",4432:"fr165",4433:"fr165Music",4440:"edge1050",4442:"descentT2",4446:"hrmFit",4472:"marqGen2Commander",4477:"lilyAthlete",4525:"rallyX10",4532:"fenix8Solar",4533:"fenix8SolarLarge",4534:"fenix8Small",4536:"fenix8",4556:"d2Mach1Pro",4575:"enduro3",4583:"instinctE40mm",4584:"instinctE45mm",4585:"instinct3Solar45mm",4586:"instinct3Amoled45mm",4587:"instinct3Amoled50mm",4588:"descentG2",4603:"venuX1",4606:"hrm200",4625:"vivoactive6",4631:"fenix8Pro",4633:"edge550",4634:"edge850",4643:"venu4",4644:"venu4s",4647:"approachS44",4655:"edgeMtb",4656:"approachS50",4666:"fenixE",4745:"bounce2",4759:"instinct3Solar50mm",4775:"tactix8Amoled",4776:"tactix8Solar",4814:"fr170Music",4815:"fr170",4825:"approachJ1",4879:"d2Mach2",4916:"fr702026",4678:"instinctCrossoverAmoled",4944:"d2AirX15",5056:"d2Mach2Pro",10007:"sdm4",10014:"edgeRemote",20533:"tacxTrainingAppWin",20534:"tacxTrainingAppMac",20565:"tacxTrainingAppMacCatalyst",20119:"trainingCenter",30045:"tacxTrainingAppAndroid",30046:"tacxTrainingAppIos",30047:"tacxTrainingAppLegacy",65531:"connectiqSimulator",65532:"androidAntplusPlugin",65534:"connect"},antplusDeviceType:{1:"antfs",11:"bikePower",12:"environmentSensorLegacy",15:"multiSportSpeedDistance",16:"control",17:"fitnessEquipment",18:"bloodPressure",19:"geocacheNode",20:"lightElectricVehicle",25:"envSensor",26:"racquet",27:"controlHub",31:"muscleOxygen",34:"shifting",35:"bikeLightMain",36:"bikeLightShared",38:"exd",40:"bikeRadar",46:"bikeAero",119:"weightScale",120:"heartRate",121:"bikeSpeedCadence",122:"bikeCadence",123:"bikeSpeed",124:"strideSpeedDistance"},antNetwork:{0:"public",1:"antplus",2:"antfs",3:"private"},workoutCapabilities:{1:"interval",2:"custom",4:"fitnessEquipment",8:"firstbeat",16:"newLeaf",32:"tcx",128:"speed",256:"heartRate",512:"distance",1024:"cadence",2048:"power",4096:"grade",8192:"resistance",16384:"protected"},batteryStatus:{1:"new",2:"good",3:"ok",4:"low",5:"critical",6:"charging",7:"unknown"},hrType:{0:"normal",1:"irregular"},courseCapabilities:{1:"processed",2:"valid",4:"time",8:"distance",16:"position",32:"heartRate",64:"power",128:"cadence",256:"training",512:"navigation",1024:"bikeway",4096:"aviation"},weight:{65534:"calculating"},workoutHr:{100:"bpmOffset"},workoutPower:{1e3:"wattsOffset"},bpStatus:{0:"noError",1:"errorIncompleteData",2:"errorNoMeasurement",3:"errorDataOutOfRange",4:"errorIrregularHeartRate"},userLocalId:{0:"localMin",15:"localMax",16:"stationaryMin",255:"stationaryMax",256:"portableMin",65534:"portableMax"},swimStroke:{0:"freestyle",1:"backstroke",2:"breaststroke",3:"butterfly",4:"drill",5:"mixed",6:"im",7:"imByRound",8:"rimo"},activityType:{0:"generic",1:"running",2:"cycling",3:"transition",4:"fitnessEquipment",5:"swimming",6:"walking",8:"sedentary",254:"all"},activitySubtype:{0:"generic",1:"treadmill",2:"street",3:"trail",4:"track",5:"spin",6:"indoorCycling",7:"road",8:"mountain",9:"downhill",10:"recumbent",11:"cyclocross",12:"handCycling",13:"trackCycling",14:"indoorRowing",15:"elliptical",16:"stairClimbing",17:"lapSwimming",18:"openWater",254:"all"},activityLevel:{0:"low",1:"medium",2:"high"},side:{0:"right",1:"left"},leftRightBalance:{127:"mask",128:"right"},leftRightBalance100:{16383:"mask",32768:"right"},lengthType:{0:"idle",1:"active"},dayOfWeek:{0:"sunday",1:"monday",2:"tuesday",3:"wednesday",4:"thursday",5:"friday",6:"saturday"},connectivityCapabilities:{1:"bluetooth",2:"bluetoothLe",4:"ant",8:"activityUpload",16:"courseDownload",32:"workoutDownload",64:"liveTrack",128:"weatherConditions",256:"weatherAlerts",512:"gpsEphemerisDownload",1024:"explicitArchive",2048:"setupIncomplete",4096:"continueSyncAfterSoftwareUpdate",8192:"connectIqAppDownload",16384:"golfCourseDownload",32768:"deviceInitiatesSync",65536:"connectIqWatchAppDownload",131072:"connectIqWidgetDownload",262144:"connectIqWatchFaceDownload",524288:"connectIqDataFieldDownload",1048576:"connectIqAppManagment",2097152:"swingSensor",4194304:"swingSensorRemote",8388608:"incidentDetection",16777216:"audioPrompts",33554432:"wifiVerification",67108864:"trueUp",134217728:"findMyWatch",268435456:"remoteManualSync",536870912:"liveTrackAutoStart",1073741824:"liveTrackMessaging",2147483648:"instantInput"},weatherReport:{0:"current",1:"forecast",1:"hourlyForecast",2:"dailyForecast"},weatherStatus:{0:"clear",1:"partlyCloudy",2:"mostlyCloudy",3:"rain",4:"snow",5:"windy",6:"thunderstorms",7:"wintryMix",8:"fog",11:"hazy",12:"hail",13:"scatteredShowers",14:"scatteredThunderstorms",15:"unknownPrecipitation",16:"lightRain",17:"heavyRain",18:"lightSnow",19:"heavySnow",20:"lightRainSnow",21:"heavyRainSnow",22:"cloudy"},weatherSeverity:{0:"unknown",1:"warning",2:"watch",3:"advisory",4:"statement"},weatherSevereType:{0:"unspecified",1:"tornado",2:"tsunami",3:"hurricane",4:"extremeWind",5:"typhoon",6:"inlandHurricane",7:"hurricaneForceWind",8:"waterspout",9:"severeThunderstorm",10:"wreckhouseWinds",11:"lesSuetesWind",12:"avalanche",13:"flashFlood",14:"tropicalStorm",15:"inlandTropicalStorm",16:"blizzard",17:"iceStorm",18:"freezingRain",19:"debrisFlow",20:"flashFreeze",21:"dustStorm",22:"highWind",23:"winterStorm",24:"heavyFreezingSpray",25:"extremeCold",26:"windChill",27:"coldWave",28:"heavySnowAlert",29:"lakeEffectBlowingSnow",30:"snowSquall",31:"lakeEffectSnow",32:"winterWeather",33:"sleet",34:"snowfall",35:"snowAndBlowingSnow",36:"blowingSnow",37:"snowAlert",38:"arcticOutflow",39:"freezingDrizzle",40:"storm",41:"stormSurge",42:"rainfall",43:"arealFlood",44:"coastalFlood",45:"lakeshoreFlood",46:"excessiveHeat",47:"heat",48:"weather",49:"highHeatAndHumidity",50:"humidexAndHealth",51:"humidex",52:"gale",53:"freezingSpray",54:"specialMarine",55:"squall",56:"strongWind",57:"lakeWind",58:"marineWeather",59:"wind",60:"smallCraftHazardousSeas",61:"hazardousSeas",62:"smallCraft",63:"smallCraftWinds",64:"smallCraftRoughBar",65:"highWaterLevel",66:"ashfall",67:"freezingFog",68:"denseFog",69:"denseSmoke",70:"blowingDust",71:"hardFreeze",72:"freeze",73:"frost",74:"fireWeather",75:"flood",76:"ripTide",77:"highSurf",78:"smog",79:"airQuality",80:"briskWind",81:"airStagnation",82:"lowWater",83:"hydrological",84:"specialWeather"},timeIntoDay:{},localtimeIntoDay:{},strokeType:{0:"noEvent",1:"other",2:"serve",3:"forehand",4:"backhand",5:"smash"},bodyLocation:{0:"leftLeg",1:"leftCalf",2:"leftShin",3:"leftHamstring",4:"leftQuad",5:"leftGlute",6:"rightLeg",7:"rightCalf",8:"rightShin",9:"rightHamstring",10:"rightQuad",11:"rightGlute",12:"torsoBack",13:"leftLowerBack",14:"leftUpperBack",15:"rightLowerBack",16:"rightUpperBack",17:"torsoFront",18:"leftAbdomen",19:"leftChest",20:"rightAbdomen",21:"rightChest",22:"leftArm",23:"leftShoulder",24:"leftBicep",25:"leftTricep",26:"leftBrachioradialis",27:"leftForearmExtensors",28:"rightArm",29:"rightShoulder",30:"rightBicep",31:"rightTricep",32:"rightBrachioradialis",33:"rightForearmExtensors",34:"neck",35:"throat",36:"waistMidBack",37:"waistFront",38:"waistLeft",39:"waistRight"},segmentLapStatus:{0:"end",1:"fail"},segmentLeaderboardType:{0:"overall",1:"personalBest",2:"connections",3:"group",4:"challenger",5:"kom",6:"qom",7:"pr",8:"goal",9:"carrot",10:"clubLeader",11:"rival",12:"last",13:"recentBest",14:"courseRecord"},segmentDeleteStatus:{0:"doNotDelete",1:"deleteOne",2:"deleteAll"},segmentSelectionType:{0:"starred",1:"suggested"},sourceType:{0:"ant",1:"antplus",2:"bluetooth",3:"bluetoothLowEnergy",4:"wifi",5:"local"},localDeviceType:{0:"gps",1:"glonass",2:"gpsGlonass",3:"accelerometer",4:"barometer",5:"temperature",10:"whr",12:"sensorHub"},bleDeviceType:{0:"connectedGps",1:"heartRate",2:"bikePower",3:"bikeSpeedCadence",4:"bikeSpeed",5:"bikeCadence",6:"footpod",7:"bikeTrainer"},antChannelId:{4026531840:"antExtendedDeviceNumberUpperNibble",251658240:"antTransmissionTypeLowerNibble",16711680:"antDeviceType",65535:"antDeviceNumber"},displayOrientation:{0:"auto",1:"portrait",2:"landscape",3:"portraitFlipped",4:"landscapeFlipped"},workoutEquipment:{0:"none",1:"swimFins",2:"swimKickboard",3:"swimPaddles",4:"swimPullBuoy",5:"swimSnorkel"},watchfaceMode:{0:"digital",1:"analog",2:"connectIq",3:"disabled"},digitalWatchfaceLayout:{0:"traditional",1:"modern",2:"bold"},analogWatchfaceLayout:{0:"minimal",1:"traditional",2:"modern"},riderPositionType:{0:"seated",1:"standing",2:"transitionToSeated",3:"transitionToStanding"},powerPhaseType:{0:"powerPhaseStartAngle",1:"powerPhaseEndAngle",2:"powerPhaseArcLength",3:"powerPhaseCenter"},cameraEventType:{0:"videoStart",1:"videoSplit",2:"videoEnd",3:"photoTaken",4:"videoSecondStreamStart",5:"videoSecondStreamSplit",6:"videoSecondStreamEnd",7:"videoSplitStart",8:"videoSecondStreamSplitStart",11:"videoPause",12:"videoSecondStreamPause",13:"videoResume",14:"videoSecondStreamResume"},sensorType:{0:"accelerometer",1:"gyroscope",2:"compass",3:"barometer"},bikeLightNetworkConfigType:{0:"auto",4:"individual",5:"highVisibility",6:"trail"},commTimeoutType:{0:"wildcardPairingTimeout",1:"pairingTimeout",2:"connectionLost",3:"connectionTimeout"},cameraOrientationType:{0:"cameraOrientation0",1:"cameraOrientation90",2:"cameraOrientation180",3:"cameraOrientation270"},attitudeStage:{0:"failed",1:"aligning",2:"degraded",3:"valid"},attitudeValidity:{1:"trackAngleHeadingValid",2:"pitchValid",4:"rollValid",8:"lateralBodyAccelValid",16:"normalBodyAccelValid",32:"turnRateValid",64:"hwFail",128:"magInvalid",256:"noGps",512:"gpsInvalid",1024:"solutionCoasting",2048:"trueTrackAngle",4096:"magneticHeading"},autoSyncFrequency:{0:"never",1:"occasionally",2:"frequent",3:"onceADay",4:"remote"},exdLayout:{0:"fullScreen",1:"halfVertical",2:"halfHorizontal",3:"halfVerticalRightSplit",4:"halfHorizontalBottomSplit",5:"fullQuarterSplit",6:"halfVerticalLeftSplit",7:"halfHorizontalTopSplit",8:"dynamic"},exdDisplayType:{0:"numerical",1:"simple",2:"graph",3:"bar",4:"circleGraph",5:"virtualPartner",6:"balance",7:"stringList",8:"string",9:"simpleDynamicIcon",10:"gauge"},exdDataUnits:{0:"noUnits",1:"laps",2:"milesPerHour",3:"kilometersPerHour",4:"feetPerHour",5:"metersPerHour",6:"degreesCelsius",7:"degreesFarenheit",8:"zone",9:"gear",10:"rpm",11:"bpm",12:"degrees",13:"millimeters",14:"meters",15:"kilometers",16:"feet",17:"yards",18:"kilofeet",19:"miles",20:"time",21:"enumTurnType",22:"percent",23:"watts",24:"wattsPerKilogram",25:"enumBatteryStatus",26:"enumBikeLightBeamAngleMode",27:"enumBikeLightBatteryStatus",28:"enumBikeLightNetworkConfigType",29:"lights",30:"seconds",31:"minutes",32:"hours",33:"calories",34:"kilojoules",35:"milliseconds",36:"secondPerMile",37:"secondPerKilometer",38:"centimeter",39:"enumCoursePoint",40:"bradians",41:"enumSport",42:"inchesHg",43:"mmHg",44:"mbars",45:"hectoPascals",46:"feetPerMin",47:"metersPerMin",48:"metersPerSec",49:"eightCardinal"},exdQualifiers:{0:"noQualifier",1:"instantaneous",2:"average",3:"lap",4:"maximum",5:"maximumAverage",6:"maximumLap",7:"lastLap",8:"averageLap",9:"toDestination",10:"toGo",11:"toNext",12:"nextCoursePoint",13:"total",14:"threeSecondAverage",15:"tenSecondAverage",16:"thirtySecondAverage",17:"percentMaximum",18:"percentMaximumAverage",19:"lapPercentMaximum",20:"elapsed",21:"sunrise",22:"sunset",23:"comparedToVirtualPartner",24:"maximum24h",25:"minimum24h",26:"minimum",27:"first",28:"second",29:"third",30:"shifter",31:"lastSport",32:"moving",33:"stopped",34:"estimatedTotal",242:"zone9",243:"zone8",244:"zone7",245:"zone6",246:"zone5",247:"zone4",248:"zone3",249:"zone2",250:"zone1"},exdDescriptors:{0:"bikeLightBatteryStatus",1:"beamAngleStatus",2:"bateryLevel",3:"lightNetworkMode",4:"numberLightsConnected",5:"cadence",6:"distance",7:"estimatedTimeOfArrival",8:"heading",9:"time",10:"batteryLevel",11:"trainerResistance",12:"trainerTargetPower",13:"timeSeated",14:"timeStanding",15:"elevation",16:"grade",17:"ascent",18:"descent",19:"verticalSpeed",20:"di2BatteryLevel",21:"frontGear",22:"rearGear",23:"gearRatio",24:"heartRate",25:"heartRateZone",26:"timeInHeartRateZone",27:"heartRateReserve",28:"calories",29:"gpsAccuracy",30:"gpsSignalStrength",31:"temperature",32:"timeOfDay",33:"balance",34:"pedalSmoothness",35:"power",36:"functionalThresholdPower",37:"intensityFactor",38:"work",39:"powerRatio",40:"normalizedPower",41:"trainingStressScore",42:"timeOnZone",43:"speed",44:"laps",45:"reps",46:"workoutStep",47:"courseDistance",48:"navigationDistance",49:"courseEstimatedTimeOfArrival",50:"navigationEstimatedTimeOfArrival",51:"courseTime",52:"navigationTime",53:"courseHeading",54:"navigationHeading",55:"powerZone",56:"torqueEffectiveness",57:"timerTime",58:"powerWeightRatio",59:"leftPlatformCenterOffset",60:"rightPlatformCenterOffset",61:"leftPowerPhaseStartAngle",62:"rightPowerPhaseStartAngle",63:"leftPowerPhaseFinishAngle",64:"rightPowerPhaseFinishAngle",65:"gears",66:"pace",67:"trainingEffect",68:"verticalOscillation",69:"verticalRatio",70:"groundContactTime",71:"leftGroundContactTimeBalance",72:"rightGroundContactTimeBalance",73:"strideLength",74:"runningCadence",75:"performanceCondition",76:"courseType",77:"timeInPowerZone",78:"navigationTurn",79:"courseLocation",80:"navigationLocation",81:"compass",82:"gearCombo",83:"muscleOxygen",84:"icon",85:"compassHeading",86:"gpsHeading",87:"gpsElevation",88:"anaerobicTrainingEffect",89:"course",90:"offCourse",91:"glideRatio",92:"verticalDistance",93:"vmg",94:"ambientPressure",95:"pressure",96:"vam"},autoActivityDetect:{0:"none",1:"running",2:"cycling",4:"swimming",8:"walking",32:"elliptical",1024:"sedentary"},supportedExdScreenLayouts:{1:"fullScreen",2:"halfVertical",4:"halfHorizontal",8:"halfVerticalRightSplit",16:"halfHorizontalBottomSplit",32:"fullQuarterSplit",64:"halfVerticalLeftSplit",128:"halfHorizontalTopSplit"},fitBaseType:{0:"enum",1:"sint8",2:"uint8",131:"sint16",132:"uint16",133:"sint32",134:"uint32",7:"string",136:"float32",137:"float64",10:"uint8z",139:"uint16z",140:"uint32z",13:"byte",142:"sint64",143:"uint64",144:"uint64z"},turnType:{0:"arrivingIdx",1:"arrivingLeftIdx",2:"arrivingRightIdx",3:"arrivingViaIdx",4:"arrivingViaLeftIdx",5:"arrivingViaRightIdx",6:"bearKeepLeftIdx",7:"bearKeepRightIdx",8:"continueIdx",9:"exitLeftIdx",10:"exitRightIdx",11:"ferryIdx",12:"roundabout45Idx",13:"roundabout90Idx",14:"roundabout135Idx",15:"roundabout180Idx",16:"roundabout225Idx",17:"roundabout270Idx",18:"roundabout315Idx",19:"roundabout360Idx",20:"roundaboutNeg45Idx",21:"roundaboutNeg90Idx",22:"roundaboutNeg135Idx",23:"roundaboutNeg180Idx",24:"roundaboutNeg225Idx",25:"roundaboutNeg270Idx",26:"roundaboutNeg315Idx",27:"roundaboutNeg360Idx",28:"roundaboutGenericIdx",29:"roundaboutNegGenericIdx",30:"sharpTurnLeftIdx",31:"sharpTurnRightIdx",32:"turnLeftIdx",33:"turnRightIdx",34:"uturnLeftIdx",35:"uturnRightIdx",36:"iconInvIdx",37:"iconIdxCnt"},bikeLightBeamAngleMode:{0:"manual",1:"auto"},fitBaseUnit:{0:"other",1:"kilogram",2:"pound"},setType:{0:"rest",1:"active"},maxMetCategory:{0:"generic",1:"cycling"},exerciseCategory:{0:"benchPress",1:"calfRaise",2:"cardio",3:"carry",4:"chop",5:"core",6:"crunch",7:"curl",8:"deadlift",9:"flye",10:"hipRaise",11:"hipStability",12:"hipSwing",13:"hyperextension",14:"lateralRaise",15:"legCurl",16:"legRaise",17:"lunge",18:"olympicLift",19:"plank",20:"plyo",21:"pullUp",22:"pushUp",23:"row",24:"shoulderPress",25:"shoulderStability",26:"shrug",27:"sitUp",28:"squat",29:"totalBody",30:"tricepsExtension",31:"warmUp",32:"run",33:"bike",34:"cardioSensors",35:"move",36:"pose",37:"bandedExercises",38:"battleRope",39:"elliptical",40:"floorClimb",41:"indoorBike",42:"indoorRow",43:"ladder",44:"sandbag",45:"sled",46:"sledgeHammer",47:"stairStepper",49:"suspension",50:"tire",52:"runIndoor",53:"bikeOutdoor",65534:"unknown"},benchPressExerciseName:{0:"alternatingDumbbellChestPressOnSwissBall",1:"barbellBenchPress",2:"barbellBoardBenchPress",3:"barbellFloorPress",4:"closeGripBarbellBenchPress",5:"declineDumbbellBenchPress",6:"dumbbellBenchPress",7:"dumbbellFloorPress",8:"inclineBarbellBenchPress",9:"inclineDumbbellBenchPress",10:"inclineSmithMachineBenchPress",11:"isometricBarbellBenchPress",12:"kettlebellChestPress",13:"neutralGripDumbbellBenchPress",14:"neutralGripDumbbellInclineBenchPress",15:"oneArmFloorPress",16:"weightedOneArmFloorPress",17:"partialLockout",18:"reverseGripBarbellBenchPress",19:"reverseGripInclineBenchPress",20:"singleArmCableChestPress",21:"singleArmDumbbellBenchPress",22:"smithMachineBenchPress",23:"swissBallDumbbellChestPress",24:"tripleStopBarbellBenchPress",25:"wideGripBarbellBenchPress",26:"alternatingDumbbellChestPress"},calfRaiseExerciseName:{0:"3WayCalfRaise",1:"3WayWeightedCalfRaise",2:"3WaySingleLegCalfRaise",3:"3WayWeightedSingleLegCalfRaise",4:"donkeyCalfRaise",5:"weightedDonkeyCalfRaise",6:"seatedCalfRaise",7:"weightedSeatedCalfRaise",8:"seatedDumbbellToeRaise",9:"singleLegBentKneeCalfRaise",10:"weightedSingleLegBentKneeCalfRaise",11:"singleLegDeclinePushUp",12:"singleLegDonkeyCalfRaise",13:"weightedSingleLegDonkeyCalfRaise",14:"singleLegHipRaiseWithKneeHold",15:"singleLegStandingCalfRaise",16:"singleLegStandingDumbbellCalfRaise",17:"standingBarbellCalfRaise",18:"standingCalfRaise",19:"weightedStandingCalfRaise",20:"standingDumbbellCalfRaise"},cardioExerciseName:{0:"bobAndWeaveCircle",1:"weightedBobAndWeaveCircle",2:"cardioCoreCrawl",3:"weightedCardioCoreCrawl",4:"doubleUnder",5:"weightedDoubleUnder",6:"jumpRope",7:"weightedJumpRope",8:"jumpRopeCrossover",9:"weightedJumpRopeCrossover",10:"jumpRopeJog",11:"weightedJumpRopeJog",12:"jumpingJacks",13:"weightedJumpingJacks",14:"skiMoguls",15:"weightedSkiMoguls",16:"splitJacks",17:"weightedSplitJacks",18:"squatJacks",19:"weightedSquatJacks",20:"tripleUnder",21:"weightedTripleUnder",22:"elliptical",23:"spinning",24:"polePaddleForwardWheelchair",25:"polePaddleBackwardWheelchair",26:"poleHandcycleForwardWheelchair",27:"poleHandcycleBackwardWheelchair",28:"poleRainbowWheelchair",29:"doublePunchForwardWheelchair",30:"doublePunchDownWheelchair",31:"doublePunchSidewaysWheelchair",32:"doublePunchUpWheelchair",33:"sitSkiWheelchair",34:"sittingJacksWheelchair",35:"punchForwardWheelchair",36:"punchDownWheelchair",37:"punchSidewaysWheelchair",38:"punchUpWheelchair",39:"punchBagWheelchair",40:"poleDdFfUuWheelchair",41:"butterflyArmsWheelchair",42:"punch"},carryExerciseName:{0:"barHolds",1:"farmersWalk",2:"farmersWalkOnToes",3:"hexDumbbellHold",4:"overheadCarry",5:"dumbbellWaiterCarry",6:"farmersCarryWalkLunge",7:"farmersCarry",8:"farmersCarryOnToes"},chopExerciseName:{0:"cablePullThrough",1:"cableRotationalLift",2:"cableWoodchop",3:"crossChopToKnee",4:"weightedCrossChopToKnee",5:"dumbbellChop",6:"halfKneelingRotation",7:"weightedHalfKneelingRotation",8:"halfKneelingRotationalChop",9:"halfKneelingRotationalReverseChop",10:"halfKneelingStabilityChop",11:"halfKneelingStabilityReverseChop",12:"kneelingRotationalChop",13:"kneelingRotationalReverseChop",14:"kneelingStabilityChop",15:"kneelingWoodchopper",16:"medicineBallWoodChops",17:"powerSquatChops",18:"weightedPowerSquatChops",19:"standingRotationalChop",20:"standingSplitRotationalChop",21:"standingSplitRotationalReverseChop",22:"standingStabilityReverseChop"},coreExerciseName:{0:"absJabs",1:"weightedAbsJabs",2:"alternatingPlateReach",3:"barbellRollout",4:"weightedBarbellRollout",5:"bodyBarObliqueTwist",6:"cableCorePress",7:"cableSideBend",8:"sideBend",9:"weightedSideBend",10:"crescentCircle",11:"weightedCrescentCircle",12:"cyclingRussianTwist",13:"weightedCyclingRussianTwist",14:"elevatedFeetRussianTwist",15:"weightedElevatedFeetRussianTwist",16:"halfTurkishGetUp",17:"kettlebellWindmill",18:"kneelingAbWheel",19:"weightedKneelingAbWheel",20:"modifiedFrontLever",21:"openKneeTucks",22:"weightedOpenKneeTucks",23:"sideAbsLegLift",24:"weightedSideAbsLegLift",25:"swissBallJackknife",26:"weightedSwissBallJackknife",27:"swissBallPike",28:"weightedSwissBallPike",29:"swissBallRollout",30:"weightedSwissBallRollout",31:"triangleHipPress",32:"weightedTriangleHipPress",33:"trxSuspendedJackknife",34:"weightedTrxSuspendedJackknife",35:"uBoat",36:"weightedUBoat",37:"windmillSwitches",38:"weightedWindmillSwitches",39:"alternatingSlideOut",40:"weightedAlternatingSlideOut",41:"ghdBackExtensions",42:"weightedGhdBackExtensions",43:"overheadWalk",44:"inchworm",45:"weightedModifiedFrontLever",46:"russianTwist",47:"abdominalLegRotations",48:"armAndLegExtensionOnKnees",49:"bicycle",50:"bicepCurlWithLegExtension",51:"catCow",52:"corkscrew",53:"crissCross",54:"crissCrossWithBall",55:"doubleLegStretch",56:"kneeFolds",57:"lowerLift",58:"neckPull",59:"pelvicClocks",60:"rollOver",61:"rollUp",62:"rolling",63:"rowing1",64:"rowing2",65:"scissors",66:"singleLegCircles",67:"singleLegStretch",68:"snakeTwist1And2",69:"swan",70:"swimming",71:"teaser",72:"theHundred",73:"bicepCurlWithLegExtensionWithWeights",75:"hangingLSit",77:"lowerLiftWithWeights",79:"ringLSit",80:"rowing1WithWeights",81:"rowing2WithWeights",82:"scissorsWithWeights",83:"singleLegStretchWithWeights",84:"toesToElbows",85:"weightedCrissCross",86:"weightedDoubleLegStretch",87:"weightedTheHundred",88:"lSit",89:"turkishGetUp",90:"weightedRingLSit",91:"weightedHangingLSit",92:"weightedLSit",93:"sideBendLowWheelchair",94:"sideBendMidWheelchair",95:"sideBendHighWheelchair",96:"seatedSideBend"},crunchExerciseName:{0:"bicycleCrunch",1:"cableCrunch",2:"circularArmCrunch",3:"crossedArmsCrunch",4:"weightedCrossedArmsCrunch",5:"crossLegReverseCrunch",6:"weightedCrossLegReverseCrunch",7:"crunchChop",8:"weightedCrunchChop",9:"doubleCrunch",10:"weightedDoubleCrunch",11:"elbowToKneeCrunch",12:"weightedElbowToKneeCrunch",13:"flutterKicks",14:"weightedFlutterKicks",15:"foamRollerReverseCrunchOnBench",16:"weightedFoamRollerReverseCrunchOnBench",17:"foamRollerReverseCrunchWithDumbbell",18:"foamRollerReverseCrunchWithMedicineBall",19:"frogPress",20:"hangingKneeRaiseObliqueCrunch",21:"weightedHangingKneeRaiseObliqueCrunch",22:"hipCrossover",23:"weightedHipCrossover",24:"hollowRock",25:"weightedHollowRock",26:"inclineReverseCrunch",27:"weightedInclineReverseCrunch",28:"kneelingCableCrunch",29:"kneelingCrossCrunch",30:"weightedKneelingCrossCrunch",31:"kneelingObliqueCableCrunch",32:"kneesToElbow",33:"legExtensions",34:"weightedLegExtensions",35:"legLevers",36:"mcgillCurlUp",37:"weightedMcgillCurlUp",38:"modifiedPilatesRollUpWithBall",39:"weightedModifiedPilatesRollUpWithBall",40:"pilatesCrunch",41:"weightedPilatesCrunch",42:"pilatesRollUpWithBall",43:"weightedPilatesRollUpWithBall",44:"raisedLegsCrunch",45:"weightedRaisedLegsCrunch",46:"reverseCrunch",47:"weightedReverseCrunch",48:"reverseCrunchOnABench",49:"weightedReverseCrunchOnABench",50:"reverseCurlAndLift",51:"weightedReverseCurlAndLift",52:"rotationalLift",53:"weightedRotationalLift",54:"seatedAlternatingReverseCrunch",55:"weightedSeatedAlternatingReverseCrunch",56:"seatedLegU",57:"weightedSeatedLegU",58:"sideToSideCrunchAndWeave",59:"weightedSideToSideCrunchAndWeave",60:"singleLegReverseCrunch",61:"weightedSingleLegReverseCrunch",62:"skaterCrunchCross",63:"weightedSkaterCrunchCross",64:"standingCableCrunch",65:"standingSideCrunch",66:"stepClimb",67:"weightedStepClimb",68:"swissBallCrunch",69:"swissBallReverseCrunch",70:"weightedSwissBallReverseCrunch",71:"swissBallRussianTwist",72:"weightedSwissBallRussianTwist",73:"swissBallSideCrunch",74:"weightedSwissBallSideCrunch",75:"thoracicCrunchesOnFoamRoller",76:"weightedThoracicCrunchesOnFoamRoller",77:"tricepsCrunch",78:"weightedBicycleCrunch",79:"weightedCrunch",80:"weightedSwissBallCrunch",81:"toesToBar",82:"weightedToesToBar",83:"crunch",84:"straightLegCrunchWithBall",86:"legClimbCrunch"},curlExerciseName:{0:"alternatingDumbbellBicepsCurl",1:"alternatingDumbbellBicepsCurlOnSwissBall",2:"alternatingInclineDumbbellBicepsCurl",3:"barbellBicepsCurl",4:"barbellReverseWristCurl",5:"barbellWristCurl",6:"behindTheBackBarbellReverseWristCurl",7:"behindTheBackOneArmCableCurl",8:"cableBicepsCurl",9:"cableHammerCurl",10:"cheatingBarbellBicepsCurl",11:"closeGripEzBarBicepsCurl",12:"crossBodyDumbbellHammerCurl",13:"deadHangBicepsCurl",14:"declineHammerCurl",15:"dumbbellBicepsCurlWithStaticHold",16:"dumbbellHammerCurl",17:"dumbbellReverseWristCurl",18:"dumbbellWristCurl",19:"ezBarPreacherCurl",20:"forwardBendBicepsCurl",21:"hammerCurlToPress",22:"inclineDumbbellBicepsCurl",23:"inclineOffsetThumbDumbbellCurl",24:"kettlebellBicepsCurl",25:"lyingConcentrationCableCurl",26:"oneArmPreacherCurl",27:"platePinchCurl",28:"preacherCurlWithCable",29:"reverseEzBarCurl",30:"reverseGripWristCurl",31:"reverseGripBarbellBicepsCurl",32:"seatedAlternatingDumbbellBicepsCurl",33:"seatedDumbbellBicepsCurl",34:"seatedReverseDumbbellCurl",35:"splitStanceOffsetPinkyDumbbellCurl",36:"standingAlternatingDumbbellCurls",37:"standingDumbbellBicepsCurl",38:"standingEzBarBicepsCurl",39:"staticCurl",40:"swissBallDumbbellOverheadTricepsExtension",41:"swissBallEzBarPreacherCurl",42:"twistingStandingDumbbellBicepsCurl",43:"wideGripEzBarBicepsCurl",44:"oneArmConcentrationCurl",45:"standingZottmanBicepsCurl",46:"dumbbellBicepsCurl",47:"dragCurlWheelchair",48:"dumbbellBicepsCurlWheelchair",49:"bottleCurl",50:"seatedBottleCurl"},deadliftExerciseName:{0:"barbellDeadlift",1:"barbellStraightLegDeadlift",2:"dumbbellDeadlift",3:"dumbbellSingleLegDeadliftToRow",4:"dumbbellStraightLegDeadlift",5:"kettlebellFloorToShelf",6:"oneArmOneLegDeadlift",7:"rackPull",8:"rotationalDumbbellStraightLegDeadlift",9:"singleArmDeadlift",10:"singleLegBarbellDeadlift",11:"singleLegBarbellStraightLegDeadlift",12:"singleLegDeadliftWithBarbell",13:"singleLegRdlCircuit",14:"singleLegRomanianDeadliftWithDumbbell",15:"sumoDeadlift",16:"sumoDeadliftHighPull",17:"trapBarDeadlift",18:"wideGripBarbellDeadlift",20:"kettlebellDeadlift",21:"kettlebellSumoDeadlift",23:"romanianDeadlift",24:"singleLegRomanianDeadliftCircuit",25:"straightLegDeadlift"},flyeExerciseName:{0:"cableCrossover",1:"declineDumbbellFlye",2:"dumbbellFlye",3:"inclineDumbbellFlye",4:"kettlebellFlye",5:"kneelingRearFlye",6:"singleArmStandingCableReverseFlye",7:"swissBallDumbbellFlye",8:"armRotations",9:"hugATree",10:"faceDownInclineReverseFlye",11:"inclineReverseFlye",12:"rearDeltFlyWheelchair"},hipRaiseExerciseName:{0:"barbellHipThrustOnFloor",1:"barbellHipThrustWithBench",2:"bentKneeSwissBallReverseHipRaise",3:"weightedBentKneeSwissBallReverseHipRaise",4:"bridgeWithLegExtension",5:"weightedBridgeWithLegExtension",6:"clamBridge",7:"frontKickTabletop",8:"weightedFrontKickTabletop",9:"hipExtensionAndCross",10:"weightedHipExtensionAndCross",11:"hipRaise",12:"weightedHipRaise",13:"hipRaiseWithFeetOnSwissBall",14:"weightedHipRaiseWithFeetOnSwissBall",15:"hipRaiseWithHeadOnBosuBall",16:"weightedHipRaiseWithHeadOnBosuBall",17:"hipRaiseWithHeadOnSwissBall",18:"weightedHipRaiseWithHeadOnSwissBall",19:"hipRaiseWithKneeSqueeze",20:"weightedHipRaiseWithKneeSqueeze",21:"inclineRearLegExtension",22:"weightedInclineRearLegExtension",23:"kettlebellSwing",24:"marchingHipRaise",25:"weightedMarchingHipRaise",26:"marchingHipRaiseWithFeetOnASwissBall",27:"weightedMarchingHipRaiseWithFeetOnASwissBall",28:"reverseHipRaise",29:"weightedReverseHipRaise",30:"singleLegHipRaise",31:"weightedSingleLegHipRaise",32:"singleLegHipRaiseWithFootOnBench",33:"weightedSingleLegHipRaiseWithFootOnBench",34:"singleLegHipRaiseWithFootOnBosuBall",35:"weightedSingleLegHipRaiseWithFootOnBosuBall",36:"singleLegHipRaiseWithFootOnFoamRoller",37:"weightedSingleLegHipRaiseWithFootOnFoamRoller",38:"singleLegHipRaiseWithFootOnMedicineBall",39:"weightedSingleLegHipRaiseWithFootOnMedicineBall",40:"singleLegHipRaiseWithHeadOnBosuBall",41:"weightedSingleLegHipRaiseWithHeadOnBosuBall",42:"weightedClamBridge",43:"singleLegSwissBallHipRaiseAndLegCurl",44:"clams",45:"innerThighCircles",46:"innerThighSideLift",47:"legCircles",48:"legLift",49:"legLiftInExternalRotation"},hipStabilityExerciseName:{0:"bandSideLyingLegRaise",1:"deadBug",2:"weightedDeadBug",3:"externalHipRaise",4:"weightedExternalHipRaise",5:"fireHydrantKicks",6:"weightedFireHydrantKicks",7:"hipCircles",8:"weightedHipCircles",9:"innerThighLift",10:"weightedInnerThighLift",11:"lateralWalksWithBandAtAnkles",12:"pretzelSideKick",13:"weightedPretzelSideKick",14:"proneHipInternalRotation",15:"weightedProneHipInternalRotation",16:"quadruped",17:"quadrupedHipExtension",18:"weightedQuadrupedHipExtension",19:"quadrupedWithLegLift",20:"weightedQuadrupedWithLegLift",21:"sideLyingLegRaise",22:"weightedSideLyingLegRaise",23:"slidingHipAdduction",24:"weightedSlidingHipAdduction",25:"standingAdduction",26:"weightedStandingAdduction",27:"standingCableHipAbduction",28:"standingHipAbduction",29:"weightedStandingHipAbduction",30:"standingRearLegRaise",31:"weightedStandingRearLegRaise",32:"supineHipInternalRotation",33:"weightedSupineHipInternalRotation",34:"lyingAbductionStretch"},hipSwingExerciseName:{0:"singleArmKettlebellSwing",1:"singleArmDumbbellSwing",2:"stepOutSwing",3:"oneArmSwing"},hyperextensionExerciseName:{0:"backExtensionWithOppositeArmAndLegReach",1:"weightedBackExtensionWithOppositeArmAndLegReach",2:"baseRotations",3:"weightedBaseRotations",4:"bentKneeReverseHyperextension",5:"weightedBentKneeReverseHyperextension",6:"hollowHoldAndRoll",7:"weightedHollowHoldAndRoll",8:"kicks",9:"weightedKicks",10:"kneeRaises",11:"weightedKneeRaises",12:"kneelingSuperman",13:"weightedKneelingSuperman",14:"latPullDownWithRow",15:"medicineBallDeadliftToReach",16:"oneArmOneLegRow",17:"oneArmRowWithBand",18:"overheadLungeWithMedicineBall",19:"plankKneeTucks",20:"weightedPlankKneeTucks",21:"sideStep",22:"weightedSideStep",23:"singleLegBackExtension",24:"weightedSingleLegBackExtension",25:"spineExtension",26:"weightedSpineExtension",27:"staticBackExtension",28:"weightedStaticBackExtension",29:"supermanFromFloor",30:"weightedSupermanFromFloor",31:"swissBallBackExtension",32:"weightedSwissBallBackExtension",33:"swissBallHyperextension",34:"weightedSwissBallHyperextension",35:"swissBallOppositeArmAndLegLift",36:"weightedSwissBallOppositeArmAndLegLift",37:"supermanOnSwissBall",38:"cobra",39:"supineFloorBarre"},lateralRaiseExerciseName:{0:"45DegreeCableExternalRotation",1:"alternatingLateralRaiseWithStaticHold",2:"barMuscleUp",3:"bentOverLateralRaise",4:"cableDiagonalRaise",5:"cableFrontRaise",6:"calorieRow",7:"comboShoulderRaise",8:"dumbbellDiagonalRaise",9:"dumbbellVRaise",10:"frontRaise",11:"leaningDumbbellLateralRaise",12:"lyingDumbbellRaise",13:"muscleUp",14:"oneArmCableLateralRaise",15:"overhandGripRearLateralRaise",16:"plateRaises",17:"ringDip",18:"weightedRingDip",19:"ringMuscleUp",20:"weightedRingMuscleUp",21:"ropeClimb",22:"weightedRopeClimb",23:"scaption",24:"seatedLateralRaise",25:"seatedRearLateralRaise",26:"sideLyingLateralRaise",27:"standingLift",28:"suspendedRow",29:"underhandGripRearLateralRaise",30:"wallSlide",31:"weightedWallSlide",32:"armCircles",33:"shavingTheHead",34:"dumbbellLateralRaise",36:"ringDipKipping",37:"wallWalk",38:"dumbbellFrontRaiseWheelchair",39:"dumbbellLateralRaiseWheelchair",40:"poleDoubleArmOverheadAndForwardWheelchair",41:"poleStraightArmOverheadWheelchair"},legCurlExerciseName:{0:"legCurl",1:"weightedLegCurl",2:"goodMorning",3:"seatedBarbellGoodMorning",4:"singleLegBarbellGoodMorning",5:"singleLegSlidingLegCurl",6:"slidingLegCurl",7:"splitBarbellGoodMorning",8:"splitStanceExtension",9:"staggeredStanceGoodMorning",10:"swissBallHipRaiseAndLegCurl",11:"zercherGoodMorning",12:"bandGoodMorning",13:"barGoodMorning"},legRaiseExerciseName:{0:"hangingKneeRaise",1:"hangingLegRaise",2:"weightedHangingLegRaise",3:"hangingSingleLegRaise",4:"weightedHangingSingleLegRaise",5:"kettlebellLegRaises",6:"legLoweringDrill",7:"weightedLegLoweringDrill",8:"lyingStraightLegRaise",9:"weightedLyingStraightLegRaise",10:"medicineBallLegDrops",11:"quadrupedLegRaise",12:"weightedQuadrupedLegRaise",13:"reverseLegRaise",14:"weightedReverseLegRaise",15:"reverseLegRaiseOnSwissBall",16:"weightedReverseLegRaiseOnSwissBall",17:"singleLegLoweringDrill",18:"weightedSingleLegLoweringDrill",19:"weightedHangingKneeRaise",20:"lateralStepover",21:"weightedLateralStepover"},lungeExerciseName:{0:"overheadLunge",1:"lungeMatrix",2:"weightedLungeMatrix",3:"alternatingBarbellForwardLunge",4:"alternatingDumbbellLungeWithReach",5:"backFootElevatedDumbbellSplitSquat",6:"barbellBoxLunge",7:"barbellBulgarianSplitSquat",8:"barbellCrossoverLunge",9:"barbellFrontSplitSquat",10:"barbellLunge",11:"barbellReverseLunge",12:"barbellSideLunge",13:"barbellSplitSquat",14:"coreControlRearLunge",15:"diagonalLunge",16:"dropLunge",17:"dumbbellBoxLunge",18:"dumbbellBulgarianSplitSquat",19:"dumbbellCrossoverLunge",20:"dumbbellDiagonalLunge",21:"dumbbellLunge",22:"dumbbellLungeAndRotation",23:"dumbbellOverheadBulgarianSplitSquat",24:"dumbbellReverseLungeToHighKneeAndPress",25:"dumbbellSideLunge",26:"elevatedFrontFootBarbellSplitSquat",27:"frontFootElevatedDumbbellSplitSquat",28:"gunslingerLunge",29:"lawnmowerLunge",30:"lowLungeWithIsometricAdduction",31:"lowSideToSideLunge",32:"lunge",33:"weightedLunge",34:"lungeWithArmReach",35:"lungeWithDiagonalReach",36:"lungeWithSideBend",37:"offsetDumbbellLunge",38:"offsetDumbbellReverseLunge",39:"overheadBulgarianSplitSquat",40:"overheadDumbbellReverseLunge",41:"overheadDumbbellSplitSquat",42:"overheadLungeWithRotation",43:"reverseBarbellBoxLunge",44:"reverseBoxLunge",45:"reverseDumbbellBoxLunge",46:"reverseDumbbellCrossoverLunge",47:"reverseDumbbellDiagonalLunge",48:"reverseLungeWithReachBack",49:"weightedReverseLungeWithReachBack",50:"reverseLungeWithTwistAndOverheadReach",51:"weightedReverseLungeWithTwistAndOverheadReach",52:"reverseSlidingBoxLunge",53:"weightedReverseSlidingBoxLunge",54:"reverseSlidingLunge",55:"weightedReverseSlidingLunge",56:"runnersLungeToBalance",57:"weightedRunnersLungeToBalance",58:"shiftingSideLunge",59:"sideAndCrossoverLunge",60:"weightedSideAndCrossoverLunge",61:"sideLunge",62:"weightedSideLunge",63:"sideLungeAndPress",64:"sideLungeJumpOff",65:"sideLungeSweep",66:"weightedSideLungeSweep",67:"sideLungeToCrossoverTap",68:"weightedSideLungeToCrossoverTap",69:"sideToSideLungeChops",70:"weightedSideToSideLungeChops",71:"siffJumpLunge",72:"weightedSiffJumpLunge",73:"singleArmReverseLungeAndPress",74:"slidingLateralLunge",75:"weightedSlidingLateralLunge",76:"walkingBarbellLunge",77:"walkingDumbbellLunge",78:"walkingLunge",79:"weightedWalkingLunge",80:"wideGripOverheadBarbellSplitSquat",81:"alternatingDumbbellLunge",82:"dumbbellReverseLunge",83:"overheadDumbbellLunge",84:"scissorPowerSwitch",85:"dumbbellOverheadWalkingLunge",86:"curtsyLunge",87:"weightedCurtsyLunge",88:"weightedShiftingSideLunge",89:"weightedSideLungeAndPress",90:"weightedSideLungeJumpOff"},olympicLiftExerciseName:{0:"barbellHangPowerClean",1:"barbellHangSquatClean",2:"barbellPowerClean",3:"barbellPowerSnatch",4:"barbellSquatClean",5:"cleanAndJerk",6:"barbellHangPowerSnatch",7:"barbellHangPull",8:"barbellHighPull",9:"barbellSnatch",10:"barbellSplitJerk",11:"clean",12:"dumbbellClean",13:"dumbbellHangPull",14:"oneHandDumbbellSplitSnatch",15:"pushJerk",16:"singleArmDumbbellSnatch",17:"singleArmHangSnatch",18:"singleArmKettlebellSnatch",19:"splitJerk",20:"squatCleanAndJerk",21:"dumbbellHangSnatch",22:"dumbbellPowerCleanAndJerk",23:"dumbbellPowerCleanAndPushPress",24:"dumbbellPowerCleanAndStrictPress",25:"dumbbellSnatch",26:"medicineBallClean",27:"cleanAndPress",28:"snatch"},plankExerciseName:{0:"45DegreePlank",1:"weighted45DegreePlank",2:"90DegreeStaticHold",3:"weighted90DegreeStaticHold",4:"bearCrawl",5:"weightedBearCrawl",6:"crossBodyMountainClimber",7:"weightedCrossBodyMountainClimber",8:"elbowPlankPikeJacks",9:"weightedElbowPlankPikeJacks",10:"elevatedFeetPlank",11:"weightedElevatedFeetPlank",12:"elevatorAbs",13:"weightedElevatorAbs",14:"extendedPlank",15:"weightedExtendedPlank",16:"fullPlankPasseTwist",17:"weightedFullPlankPasseTwist",18:"inchingElbowPlank",19:"weightedInchingElbowPlank",20:"inchwormToSidePlank",21:"weightedInchwormToSidePlank",22:"kneelingPlank",23:"weightedKneelingPlank",24:"kneelingSidePlankWithLegLift",25:"weightedKneelingSidePlankWithLegLift",26:"lateralRoll",27:"weightedLateralRoll",28:"lyingReversePlank",29:"weightedLyingReversePlank",30:"medicineBallMountainClimber",31:"weightedMedicineBallMountainClimber",32:"modifiedMountainClimberAndExtension",33:"weightedModifiedMountainClimberAndExtension",34:"mountainClimber",35:"weightedMountainClimber",36:"mountainClimberOnSlidingDiscs",37:"weightedMountainClimberOnSlidingDiscs",38:"mountainClimberWithFeetOnBosuBall",39:"weightedMountainClimberWithFeetOnBosuBall",40:"mountainClimberWithHandsOnBench",41:"mountainClimberWithHandsOnSwissBall",42:"weightedMountainClimberWithHandsOnSwissBall",43:"plank",44:"plankJacksWithFeetOnSlidingDiscs",45:"weightedPlankJacksWithFeetOnSlidingDiscs",46:"plankKneeTwist",47:"weightedPlankKneeTwist",48:"plankPikeJumps",49:"weightedPlankPikeJumps",50:"plankPikes",51:"weightedPlankPikes",52:"plankToStandUp",53:"weightedPlankToStandUp",54:"plankWithArmRaise",55:"weightedPlankWithArmRaise",56:"plankWithKneeToElbow",57:"weightedPlankWithKneeToElbow",58:"plankWithObliqueCrunch",59:"weightedPlankWithObliqueCrunch",60:"plyometricSidePlank",61:"weightedPlyometricSidePlank",62:"rollingSidePlank",63:"weightedRollingSidePlank",64:"sideKickPlank",65:"weightedSideKickPlank",66:"sidePlank",67:"weightedSidePlank",68:"sidePlankAndRow",69:"weightedSidePlankAndRow",70:"sidePlankLift",71:"weightedSidePlankLift",72:"sidePlankWithElbowOnBosuBall",73:"weightedSidePlankWithElbowOnBosuBall",74:"sidePlankWithFeetOnBench",75:"weightedSidePlankWithFeetOnBench",76:"sidePlankWithKneeCircle",77:"weightedSidePlankWithKneeCircle",78:"sidePlankWithKneeTuck",79:"weightedSidePlankWithKneeTuck",80:"sidePlankWithLegLift",81:"weightedSidePlankWithLegLift",82:"sidePlankWithReachUnder",83:"weightedSidePlankWithReachUnder",84:"singleLegElevatedFeetPlank",85:"weightedSingleLegElevatedFeetPlank",86:"singleLegFlexAndExtend",87:"weightedSingleLegFlexAndExtend",88:"singleLegSidePlank",89:"weightedSingleLegSidePlank",90:"spidermanPlank",91:"weightedSpidermanPlank",92:"straightArmPlank",93:"weightedStraightArmPlank",94:"straightArmPlankWithShoulderTouch",95:"weightedStraightArmPlankWithShoulderTouch",96:"swissBallPlank",97:"weightedSwissBallPlank",98:"swissBallPlankLegLift",99:"weightedSwissBallPlankLegLift",100:"swissBallPlankLegLiftAndHold",101:"swissBallPlankWithFeetOnBench",102:"weightedSwissBallPlankWithFeetOnBench",103:"swissBallProneJackknife",104:"weightedSwissBallProneJackknife",105:"swissBallSidePlank",106:"weightedSwissBallSidePlank",107:"threeWayPlank",108:"weightedThreeWayPlank",109:"towelPlankAndKneeIn",110:"weightedTowelPlankAndKneeIn",111:"tStabilization",112:"weightedTStabilization",113:"turkishGetUpToSidePlank",114:"weightedTurkishGetUpToSidePlank",115:"twoPointPlank",116:"weightedTwoPointPlank",117:"weightedPlank",118:"wideStancePlankWithDiagonalArmLift",119:"weightedWideStancePlankWithDiagonalArmLift",120:"wideStancePlankWithDiagonalLegLift",121:"weightedWideStancePlankWithDiagonalLegLift",122:"wideStancePlankWithLegLift",123:"weightedWideStancePlankWithLegLift",124:"wideStancePlankWithOppositeArmAndLegLift",125:"weightedMountainClimberWithHandsOnBench",126:"weightedSwissBallPlankLegLiftAndHold",127:"weightedWideStancePlankWithOppositeArmAndLegLift",128:"plankWithFeetOnSwissBall",129:"sidePlankToPlankWithReachUnder",130:"bridgeWithGluteLowerLift",131:"bridgeOneLegBridge",132:"plankWithArmVariations",133:"plankWithLegLift",134:"reversePlankWithLegPull",135:"ringPlankSprawls"},plyoExerciseName:{0:"alternatingJumpLunge",1:"weightedAlternatingJumpLunge",2:"barbellJumpSquat",3:"bodyWeightJumpSquat",4:"weightedJumpSquat",5:"crossKneeStrike",6:"weightedCrossKneeStrike",7:"depthJump",8:"weightedDepthJump",9:"dumbbellJumpSquat",10:"dumbbellSplitJump",11:"frontKneeStrike",12:"weightedFrontKneeStrike",13:"highBoxJump",14:"weightedHighBoxJump",15:"isometricExplosiveBodyWeightJumpSquat",16:"weightedIsometricExplosiveJumpSquat",17:"lateralLeapAndHop",18:"weightedLateralLeapAndHop",19:"lateralPlyoSquats",20:"weightedLateralPlyoSquats",21:"lateralSlide",22:"weightedLateralSlide",23:"medicineBallOverheadThrows",24:"medicineBallSideThrow",25:"medicineBallSlam",26:"sideToSideMedicineBallThrows",27:"sideToSideShuffleJump",28:"weightedSideToSideShuffleJump",29:"squatJumpOntoBox",30:"weightedSquatJumpOntoBox",31:"squatJumpsInAndOut",32:"weightedSquatJumpsInAndOut",33:"boxJump",34:"boxJumpOvers",35:"boxJumpOversOverTheBox",36:"starJumpSquats",37:"jumpSquat"},pullUpExerciseName:{0:"bandedPullUps",1:"30DegreeLatPulldown",2:"bandAssistedChinUp",3:"closeGripChinUp",4:"weightedCloseGripChinUp",5:"closeGripLatPulldown",6:"crossoverChinUp",7:"weightedCrossoverChinUp",8:"ezBarPullover",9:"hangingHurdle",10:"weightedHangingHurdle",11:"kneelingLatPulldown",12:"kneelingUnderhandGripLatPulldown",13:"latPulldown",14:"mixedGripChinUp",15:"weightedMixedGripChinUp",16:"mixedGripPullUp",17:"weightedMixedGripPullUp",18:"reverseGripPulldown",19:"standingCablePullover",20:"straightArmPulldown",21:"swissBallEzBarPullover",22:"towelPullUp",23:"weightedTowelPullUp",24:"weightedPullUp",25:"wideGripLatPulldown",26:"wideGripPullUp",27:"weightedWideGripPullUp",28:"burpeePullUp",29:"weightedBurpeePullUp",30:"jumpingPullUps",31:"weightedJumpingPullUps",32:"kippingPullUp",33:"weightedKippingPullUp",34:"lPullUp",35:"weightedLPullUp",36:"suspendedChinUp",37:"weightedSuspendedChinUp",38:"pullUp",39:"chinUp",40:"neutralGripChinUp",41:"weightedChinUp",42:"bandAssistedPullUp",43:"neutralGripPullUp",44:"weightedNeutralGripChinUp",45:"weightedNeutralGripPullUp"},pushUpExerciseName:{0:"chestPressWithBand",1:"alternatingStaggeredPushUp",2:"weightedAlternatingStaggeredPushUp",3:"alternatingHandsMedicineBallPushUp",4:"weightedAlternatingHandsMedicineBallPushUp",5:"bosuBallPushUp",6:"weightedBosuBallPushUp",7:"clappingPushUp",8:"weightedClappingPushUp",9:"closeGripMedicineBallPushUp",10:"weightedCloseGripMedicineBallPushUp",11:"closeHandsPushUp",12:"weightedCloseHandsPushUp",13:"declinePushUp",14:"weightedDeclinePushUp",15:"diamondPushUp",16:"weightedDiamondPushUp",17:"explosiveCrossoverPushUp",18:"weightedExplosiveCrossoverPushUp",19:"explosivePushUp",20:"weightedExplosivePushUp",21:"feetElevatedSideToSidePushUp",22:"weightedFeetElevatedSideToSidePushUp",23:"handReleasePushUp",24:"weightedHandReleasePushUp",25:"handstandPushUp",26:"weightedHandstandPushUp",27:"inclinePushUp",28:"weightedInclinePushUp",29:"isometricExplosivePushUp",30:"weightedIsometricExplosivePushUp",31:"judoPushUp",32:"weightedJudoPushUp",33:"kneelingPushUp",34:"weightedKneelingPushUp",35:"medicineBallChestPass",36:"medicineBallPushUp",37:"weightedMedicineBallPushUp",38:"oneArmPushUp",39:"weightedOneArmPushUp",40:"weightedPushUp",41:"pushUpAndRow",42:"weightedPushUpAndRow",43:"pushUpPlus",44:"weightedPushUpPlus",45:"pushUpWithFeetOnSwissBall",46:"weightedPushUpWithFeetOnSwissBall",47:"pushUpWithOneHandOnMedicineBall",48:"weightedPushUpWithOneHandOnMedicineBall",49:"shoulderPushUp",50:"weightedShoulderPushUp",51:"singleArmMedicineBallPushUp",52:"weightedSingleArmMedicineBallPushUp",53:"spidermanPushUp",54:"weightedSpidermanPushUp",55:"stackedFeetPushUp",56:"weightedStackedFeetPushUp",57:"staggeredHandsPushUp",58:"weightedStaggeredHandsPushUp",59:"suspendedPushUp",60:"weightedSuspendedPushUp",61:"swissBallPushUp",62:"weightedSwissBallPushUp",63:"swissBallPushUpPlus",64:"weightedSwissBallPushUpPlus",65:"tPushUp",66:"weightedTPushUp",67:"tripleStopPushUp",68:"weightedTripleStopPushUp",69:"wideHandsPushUp",70:"weightedWideHandsPushUp",71:"paralletteHandstandPushUp",72:"weightedParalletteHandstandPushUp",73:"ringHandstandPushUp",74:"weightedRingHandstandPushUp",75:"ringPushUp",76:"weightedRingPushUp",77:"pushUp",78:"pilatesPushup",79:"dynamicPushUp",80:"kippingHandstandPushUp",81:"shoulderTappingPushUp",82:"bicepsPushUp",83:"hinduPushUp",84:"pikePushUp",85:"wideGripPushUp",86:"weightedBicepsPushUp",87:"weightedHinduPushUp",88:"weightedPikePushUp",89:"kippingParalletteHandstandPushUp",90:"wallPushUp"},rowExerciseName:{0:"barbellStraightLegDeadliftToRow",1:"cableRowStanding",2:"dumbbellRow",3:"elevatedFeetInvertedRow",4:"weightedElevatedFeetInvertedRow",5:"facePull",6:"facePullWithExternalRotation",7:"invertedRowWithFeetOnSwissBall",8:"weightedInvertedRowWithFeetOnSwissBall",9:"kettlebellRow",10:"modifiedInvertedRow",11:"weightedModifiedInvertedRow",12:"neutralGripAlternatingDumbbellRow",13:"oneArmBentOverRow",14:"oneLeggedDumbbellRow",15:"renegadeRow",16:"reverseGripBarbellRow",17:"ropeHandleCableRow",18:"seatedCableRow",19:"seatedDumbbellRow",20:"singleArmCableRow",21:"singleArmCableRowAndRotation",22:"singleArmInvertedRow",23:"weightedSingleArmInvertedRow",24:"singleArmNeutralGripDumbbellRow",25:"singleArmNeutralGripDumbbellRowAndRotation",26:"suspendedInvertedRow",27:"weightedSuspendedInvertedRow",28:"tBarRow",29:"towelGripInvertedRow",30:"weightedTowelGripInvertedRow",31:"underhandGripCableRow",32:"vGripCableRow",33:"wideGripSeatedCableRow",34:"alternatingDumbbellRow",35:"invertedRow",36:"row",37:"weightedRow",38:"indoorRow",39:"bandedFacePulls",40:"chestSupportedDumbbellRow",41:"declineRingRow",42:"elevatedRingRow",43:"rdlBentOverRowWithBarbellDumbbell",44:"ringRow",45:"barbellRow",46:"bentOverRowWithBarbell",47:"bentOverRowWithDumbell",48:"seatedUnderhandGripCableRow",49:"trxInvertedRow",50:"weightedInvertedRow",51:"weightedTrxInvertedRow",52:"dumbbellRowWheelchair"},shoulderPressExerciseName:{0:"alternatingDumbbellShoulderPress",1:"arnoldPress",2:"barbellFrontSquatToPushPress",3:"barbellPushPress",4:"barbellShoulderPress",5:"deadCurlPress",6:"dumbbellAlternatingShoulderPressAndTwist",7:"dumbbellHammerCurlToLungeToPress",8:"dumbbellPushPress",9:"floorInvertedShoulderPress",10:"weightedFloorInvertedShoulderPress",11:"invertedShoulderPress",12:"weightedInvertedShoulderPress",13:"oneArmPushPress",14:"overheadBarbellPress",15:"overheadDumbbellPress",16:"seatedBarbellShoulderPress",17:"seatedDumbbellShoulderPress",18:"singleArmDumbbellShoulderPress",19:"singleArmStepUpAndPress",20:"smithMachineOverheadPress",21:"splitStanceHammerCurlToPress",22:"swissBallDumbbellShoulderPress",23:"weightPlateFrontRaise",24:"dumbbellShoulderPress",25:"militaryPress",27:"strictPress",28:"dumbbellFrontRaise",29:"dumbbellCurlToOverheadPressWheelchair",30:"arnoldPressWheelchair",31:"overheadDumbbellPressWheelchair"},shoulderStabilityExerciseName:{0:"90DegreeCableExternalRotation",1:"bandExternalRotation",2:"bandInternalRotation",3:"bentArmLateralRaiseAndExternalRotation",4:"cableExternalRotation",5:"dumbbellFacePullWithExternalRotation",6:"floorIRaise",7:"weightedFloorIRaise",8:"floorTRaise",9:"weightedFloorTRaise",10:"floorYRaise",11:"weightedFloorYRaise",12:"inclineIRaise",13:"weightedInclineIRaise",14:"inclineLRaise",15:"weightedInclineLRaise",16:"inclineTRaise",17:"weightedInclineTRaise",18:"inclineWRaise",19:"weightedInclineWRaise",20:"inclineYRaise",21:"weightedInclineYRaise",22:"lyingExternalRotation",23:"seatedDumbbellExternalRotation",24:"standingLRaise",25:"swissBallIRaise",26:"weightedSwissBallIRaise",27:"swissBallTRaise",28:"weightedSwissBallTRaise",29:"swissBallWRaise",30:"weightedSwissBallWRaise",31:"swissBallYRaise",32:"weightedSwissBallYRaise",33:"cableInternalRotation",34:"lyingInternalRotation",35:"seatedDumbbellInternalRotation"},shrugExerciseName:{0:"barbellJumpShrug",1:"barbellShrug",2:"barbellUprightRow",3:"behindTheBackSmithMachineShrug",4:"dumbbellJumpShrug",5:"dumbbellShrug",6:"dumbbellUprightRow",7:"inclineDumbbellShrug",8:"overheadBarbellShrug",9:"overheadDumbbellShrug",10:"scaptionAndShrug",11:"scapularRetraction",12:"serratusChairShrug",13:"weightedSerratusChairShrug",14:"serratusShrug",15:"weightedSerratusShrug",16:"wideGripJumpShrug",17:"wideGripBarbellShrug",18:"behindTheBackShrug",19:"dumbbellShrugWheelchair",20:"shrugWheelchair",21:"shrugArmDownWheelchair",22:"shrugArmMidWheelchair",23:"shrugArmUpWheelchair",24:"uprightRow"},sitUpExerciseName:{0:"alternatingSitUp",1:"weightedAlternatingSitUp",2:"bentKneeVUp",3:"weightedBentKneeVUp",4:"butterflySitUp",5:"weightedButterflySitup",6:"crossPunchRollUp",7:"weightedCrossPunchRollUp",8:"crossedArmsSitUp",9:"weightedCrossedArmsSitUp",10:"getUpSitUp",11:"weightedGetUpSitUp",12:"hoveringSitUp",13:"weightedHoveringSitUp",14:"kettlebellSitUp",15:"medicineBallAlternatingVUp",16:"medicineBallSitUp",17:"medicineBallVUp",18:"modifiedSitUp",19:"negativeSitUp",20:"oneArmFullSitUp",21:"recliningCircle",22:"weightedRecliningCircle",23:"reverseCurlUp",24:"weightedReverseCurlUp",25:"singleLegSwissBallJackknife",26:"weightedSingleLegSwissBallJackknife",27:"theTeaser",28:"theTeaserWeighted",29:"threePartRollDown",30:"weightedThreePartRollDown",31:"vUp",32:"weightedVUp",33:"weightedRussianTwistOnSwissBall",34:"weightedSitUp",35:"xAbs",36:"weightedXAbs",37:"sitUp",38:"ghdSitUps",39:"sitUpTurkishGetUp",40:"russianTwistOnSwissBall"},squatExerciseName:{0:"legPress",1:"backSquatWithBodyBar",2:"backSquats",3:"weightedBackSquats",4:"balancingSquat",5:"weightedBalancingSquat",6:"barbellBackSquat",7:"barbellBoxSquat",8:"barbellFrontSquat",9:"barbellHackSquat",10:"barbellHangSquatSnatch",11:"barbellLateralStepUp",12:"barbellQuarterSquat",13:"barbellSiffSquat",14:"barbellSquatSnatch",15:"barbellSquatWithHeelsRaised",16:"barbellStepover",17:"barbellStepUp",18:"benchSquatWithRotationalChop",19:"weightedBenchSquatWithRotationalChop",20:"bodyWeightWallSquat",21:"weightedWallSquat",22:"boxStepSquat",23:"weightedBoxStepSquat",24:"bracedSquat",25:"crossedArmBarbellFrontSquat",26:"crossoverDumbbellStepUp",27:"dumbbellFrontSquat",28:"dumbbellSplitSquat",29:"dumbbellSquat",30:"dumbbellSquatClean",31:"dumbbellStepover",32:"dumbbellStepUp",33:"elevatedSingleLegSquat",34:"weightedElevatedSingleLegSquat",35:"figureFourSquats",36:"weightedFigureFourSquats",37:"gobletSquat",38:"kettlebellSquat",39:"kettlebellSwingOverhead",40:"kettlebellSwingWithFlipToSquat",41:"lateralDumbbellStepUp",42:"oneLeggedSquat",43:"overheadDumbbellSquat",44:"overheadSquat",45:"partialSingleLegSquat",46:"weightedPartialSingleLegSquat",47:"pistolSquat",48:"weightedPistolSquat",49:"plieSlides",50:"weightedPlieSlides",51:"plieSquat",52:"weightedPlieSquat",53:"prisonerSquat",54:"weightedPrisonerSquat",55:"singleLegBenchGetUp",56:"weightedSingleLegBenchGetUp",57:"singleLegBenchSquat",58:"weightedSingleLegBenchSquat",59:"singleLegSquatOnSwissBall",60:"weightedSingleLegSquatOnSwissBall",61:"squat",62:"weightedSquat",63:"squatsWithBand",64:"staggeredSquat",65:"weightedStaggeredSquat",66:"stepUp",67:"weightedStepUp",68:"suitcaseSquats",69:"sumoSquat",70:"sumoSquatSlideIn",71:"weightedSumoSquatSlideIn",72:"sumoSquatToHighPull",73:"sumoSquatToStand",74:"weightedSumoSquatToStand",75:"sumoSquatWithRotation",76:"weightedSumoSquatWithRotation",77:"swissBallBodyWeightWallSquat",78:"weightedSwissBallWallSquat",79:"thrusters",80:"unevenSquat",81:"weightedUnevenSquat",82:"waistSlimmingSquat",83:"wallBall",84:"wideStanceBarbellSquat",85:"wideStanceGobletSquat",86:"zercherSquat",87:"kbsOverhead",88:"squatAndSideKick",89:"squatJumpsInNOut",90:"pilatesPlieSquatsParallelTurnedOutFlatAndHeels",91:"releveStraightLegAndKneeBentWithOneLegVariation",92:"alternatingBoxDumbbellStepUps",93:"dumbbellOverheadSquatSingleArm",94:"dumbbellSquatSnatch",95:"medicineBallSquat",97:"wallBallSquatAndPress",98:"squatAmericanSwing",100:"airSquat",101:"dumbbellThrusters",102:"overheadBarbellSquat"},totalBodyExerciseName:{0:"burpee",1:"weightedBurpee",2:"burpeeBoxJump",3:"weightedBurpeeBoxJump",4:"highPullBurpee",5:"manMakers",6:"oneArmBurpee",7:"squatThrusts",8:"weightedSquatThrusts",9:"squatPlankPushUp",10:"weightedSquatPlankPushUp",11:"standingTRotationBalance",12:"weightedStandingTRotationBalance",13:"barbellBurpee",15:"burpeeBoxJumpOverYesLiterallyJumpingOverTheBox",16:"burpeeBoxJumpStepUpOver",17:"lateralBarbellBurpee",18:"totalBodyBurpeeOverBar",19:"burpeeBoxJumpOver",20:"burpeeWheelchair"},moveExerciseName:{0:"archAndCurl",1:"armCirclesWithBallBandAndWeight",2:"armStretch",3:"backMassage",4:"bellyBreathing",5:"bridgeWithBall",6:"diamondLegCrunch",7:"diamondLegLift",8:"eightPointShoulderOpener",9:"footRolling",10:"footwork",11:"footworkOnDisc",12:"forwardFold",13:"frogWithBand",14:"halfRollUp",15:"hamstringCurl",16:"hamstringStretch",17:"hipStretch",18:"hugATreeWithBallBandAndWeight",19:"kneeCircles",20:"kneeFoldsOnDisc",21:"lateralFlexion",22:"legStretchWithBand",23:"legStretchWithLegCircles",24:"lowerLiftOnDisc",25:"lungeSquat",26:"lungesWithKneeLift",27:"mermaidStretch",28:"neutralPelvicPosition",29:"pelvicClocksOnDisc",30:"pilatesPlieSquatsParallelTurnedOutFlatAndHeelsWithChair",31:"piriformisStretch",32:"plankKneeCrosses",33:"plankKneePulls",34:"plankUpDowns",35:"prayerMudra",36:"psoasLungeStretch",37:"ribcageBreathing",38:"rollDown",39:"rollUpWithWeightAndBand",40:"saw",41:"scapularStabilization",42:"scissorsOnDisc",43:"seatedHipStretchup",44:"seatedTwist",45:"shavingTheHeadWithBallBandAndWeight",46:"spinalTwist",47:"spinalTwistStretch",48:"spineStretchForward",49:"squatOpenArmTwistPose",50:"squatsWithBall",51:"standAndHang",52:"standingSideStretch",53:"standingSingleLegForwardBendWithItBandOpener",54:"straightLegCrunchWithLegLift",55:"straightLegCrunchWithLegLiftWithBall",56:"straightLegCrunchWithLegsCrossed",57:"straightLegCrunchWithLegsCrossedWithBall",58:"straightLegDiagonalCrunch",59:"straightLegDiagonalCrunchWithBall",60:"tailboneCurl",61:"throatLock",62:"tickTockSideRoll",63:"twist",64:"vLegCrunches",65:"vSit",66:"forwardFoldWheelchair",67:"forwardFoldPlusWheelchair",68:"armCirclesLowForwardWheelchair",69:"armCirclesMidForwardWheelchair",70:"armCirclesHighForwardWheelchair",71:"armCirclesLowBackwardWheelchair",72:"armCirclesMidBackwardWheelchair",73:"armCirclesHighBackwardWheelchair",74:"coreTwistsWheelchair",75:"armRaiseWheelchair",76:"chestExpandWheelchair",77:"armExtendWheelchair",78:"forwardBendWheelchair",79:"toeTouchWheelchair",80:"extendedToeTouchWheelchair",81:"seatedArmCircles",82:"trunkRotations",83:"seatedTrunkRotations",84:"toeTouch"},poseExerciseName:{0:"allFours",1:"ankleToKnee",2:"babyCobra",3:"boat",4:"boundAngle",5:"boundSeatedSingleLegForwardBend",6:"bow",7:"bowedHalfMoon",8:"bridge",9:"cat",10:"chair",11:"childs",12:"corpse",13:"cowFace",14:"cow",15:"devotionalWarrior",16:"dolphinPlank",17:"dolphin",18:"downDogKneeToNose",19:"downDogSplit",20:"downDogSplitOpenHipBentKnee",21:"downwardFacingDog",22:"eagle",23:"easySeated",24:"extendedPuppy",25:"extendedSideAngle",26:"fish",27:"fourLimbedStaff",28:"fullSplit",29:"gate",30:"halfChairHalfAnkleToKnee",31:"halfMoon",32:"headToKnee",33:"heron",34:"heros",35:"highLunge",36:"kneesChestChin",37:"lizard",38:"locust",39:"lowLunge",40:"lowLungeTwist",41:"lowLungeWithKneeDown",42:"mermaid",43:"mountain",44:"oneLeggedDownwardFacingPoseOpenHipBentKnee",45:"oneLeggedPigeon",46:"peacefulWarrior",47:"plank",48:"plow",49:"reclinedHandToFoot",50:"revolvedHalfMoon",51:"revolvedHeadToKnee",52:"revolvedTriangle",53:"runnersLunge",54:"seatedEasySideBend",55:"seatedEasyTwist",56:"seatedLongLegForwardBend",57:"seatedWideLegForwardBend",58:"shoulderStand",59:"sideBoat",60:"sidePlank",61:"sphinx",62:"squatOpenArmTwist",63:"squatPalmPress",64:"staff",65:"standingArmsUp",66:"standingForwardBendHalfwayUp",67:"standingForwardBend",68:"standingSideOpener",69:"standingSingleLegForwardBend",70:"standingSplit",71:"standingWideLegForwardBend",72:"standingWideLegForwardBendWithTwist",73:"supineSpinalTwist",74:"tableTop",75:"threadTheNeedle",76:"thunderbolt",77:"thunderboltPoseBothSidesArmStretch",78:"tree",79:"triangle",80:"upDog",81:"upwardFacingPlank",82:"warriorOne",83:"warriorThree",84:"warriorTwo",85:"wheel",86:"wideSideLunge",87:"deepBreathingWheelchair",88:"deepBreathingLowWheelchair",89:"deepBreathingMidWheelchair",90:"deepBreathingHighWheelchair",91:"prayerWheelchair",92:"overheadPrayerWheelchair",93:"cactusWheelchair",94:"breathingPunchesWheelchair",95:"breathingPunchesExtendedWheelchair",96:"breathingPunchesOverheadWheelchair",97:"breathingPunchesOverheadAndDownWheelchair",98:"breathingPunchesSideWheelchair",99:"breathingPunchesExtendedSideWheelchair",100:"breathingPunchesOverheadSideWheelchair",101:"breathingPunchesOverheadAndDownSideWheelchair",102:"leftHandBackWheelchair",103:"triangleWheelchair",104:"threadTheNeedleWheelchair",105:"neckFlexionAndExtensionWheelchair",106:"neckLateralFlexionWheelchair",107:"spineFlexionAndExtensionWheelchair",108:"spineRotationWheelchair",109:"spineLateralFlexionWheelchair",110:"alternativeSkiingWheelchair",111:"reachForwardWheelchair",112:"warriorWheelchair",113:"reverseWarriorWheelchair",114:"downwardFacingDogToCobra",115:"seatedCatCow"},tricepsExtensionExerciseName:{0:"benchDip",1:"weightedBenchDip",2:"bodyWeightDip",3:"cableKickback",4:"cableLyingTricepsExtension",5:"cableOverheadTricepsExtension",6:"dumbbellKickback",7:"dumbbellLyingTricepsExtension",8:"ezBarOverheadTricepsExtension",9:"inclineDip",10:"weightedInclineDip",11:"inclineEzBarLyingTricepsExtension",12:"lyingDumbbellPulloverToExtension",13:"lyingEzBarTricepsExtension",14:"lyingTricepsExtensionToCloseGripBenchPress",15:"overheadDumbbellTricepsExtension",16:"recliningTricepsPress",17:"reverseGripPressdown",18:"reverseGripTricepsPressdown",19:"ropePressdown",20:"seatedBarbellOverheadTricepsExtension",21:"seatedDumbbellOverheadTricepsExtension",22:"seatedEzBarOverheadTricepsExtension",23:"seatedSingleArmOverheadDumbbellExtension",24:"singleArmDumbbellOverheadTricepsExtension",25:"singleDumbbellSeatedOverheadTricepsExtension",26:"singleLegBenchDipAndKick",27:"weightedSingleLegBenchDipAndKick",28:"singleLegDip",29:"weightedSingleLegDip",30:"staticLyingTricepsExtension",31:"suspendedDip",32:"weightedSuspendedDip",33:"swissBallDumbbellLyingTricepsExtension",34:"swissBallEzBarLyingTricepsExtension",35:"swissBallEzBarOverheadTricepsExtension",36:"tabletopDip",37:"weightedTabletopDip",38:"tricepsExtensionOnFloor",39:"tricepsPressdown",40:"weightedDip",41:"alternatingDumbbellLyingTricepsExtension",42:"tricepsPress",43:"dumbbellKickbackWheelchair",44:"overheadDumbbellTricepsExtensionWheelchair"},warmUpExerciseName:{0:"quadrupedRocking",1:"neckTilts",2:"ankleCircles",3:"ankleDorsiflexionWithBand",4:"ankleInternalRotation",5:"armCircles",6:"bentOverReachToSky",7:"catCamel",8:"elbowToFootLunge",9:"forwardAndBackwardLegSwings",10:"groiners",11:"invertedHamstringStretch",12:"lateralDuckUnder",13:"neckRotations",14:"oppositeArmAndLegBalance",15:"reachRollAndLift",16:"scorpion",17:"shoulderCircles",18:"sideToSideLegSwings",19:"sleeperStretch",20:"slideOut",21:"swissBallHipCrossover",22:"swissBallReachRollAndLift",23:"swissBallWindshieldWipers",24:"thoracicRotation",25:"walkingHighKicks",26:"walkingHighKnees",27:"walkingKneeHugs",28:"walkingLegCradles",29:"walkout",30:"walkoutFromPushUpPosition",31:"bicepsStretch",32:"glutesStretch",33:"standingHamstringStretch",34:"stretch90_90",35:"stretchAbs",36:"stretchButterfly",37:"stretchCalf",38:"stretchCatCow",39:"stretchChildsPose",40:"stretchCobra",41:"stretchForearms",42:"stretchForwardGlutes",43:"stretchFrontSplit",44:"stretchHamstring",45:"stretchHipFlexorAndQuad",46:"stretchLat",47:"stretchLevatorScapulae",48:"stretchLungeWithSpinalTwist",49:"stretchLungingHipFlexor",50:"stretchLyingAbduction",51:"stretchLyingItBand",52:"stretchLyingKneeToChest",53:"stretchLyingPiriformis",54:"stretchLyingSpinalTwist",55:"stretchNeck",56:"stretchObliques",57:"stretchOverUnderShoulder",58:"stretchPectoral",59:"stretchPigeonPose",60:"stretchPiriformis",61:"stretchQuad",62:"stretchScorpion",63:"stretchShoulder",64:"stretchSide",65:"stretchSideLunge",66:"stretchSideSplit",67:"stretchStandingItBand",68:"stretchStraddle",69:"stretchTriceps",70:"stretchWallChestAndShoulder",71:"neckRotationsWheelchair",72:"halfKneelingArmRotation",73:"threeWayAnkleMobilization",74:"ninetyNinetyHipSwitch",75:"activeFrog",76:"shoulderSweeps",77:"ankleLunges",78:"backRollFoamRoller",79:"bearCrawl",80:"latissimusDorsiFoamRoll",81:"reverseTHipOpener",82:"shoulderRolls",83:"chestOpeners",84:"tricepsStretch",85:"upperBackStretch",86:"hipCircles",87:"ankleStretch",88:"marchingInPlace",89:"tricepsStretchWheelchair",90:"upperBackStretchWheelchair"},runExerciseName:{0:"run",1:"walk",2:"jog",3:"sprint",4:"runOrWalk",5:"speedWalk",6:"warmUp"},bikeExerciseName:{0:"bike",1:"ride",2:"sprint"},bandedExercisesExerciseName:{1:"abTwist",2:"backExtension",3:"bicycleCrunch",4:"calfRaises",5:"chestPress",6:"clamShells",7:"curl",8:"deadbug",9:"deadlift",10:"donkeyKick",11:"externalRotation",12:"externalRotationAt90DegreeAbduction",13:"facePull",14:"fireHydrant",15:"fly",16:"frontRaise",17:"gluteBridge",18:"hamstringCurls",19:"highPlankLegLifts",20:"hipExtension",21:"internalRotation",22:"jumpingJack",23:"kneelingCrunch",24:"lateralBandWalks",25:"lateralRaise",26:"latpull",27:"legAbduction",28:"legAdduction",29:"legExtension",30:"lunge",31:"plank",32:"pullApart",33:"pushUps",34:"reverseCrunch",35:"row",36:"shoulderAbduction",37:"shoulderExtension",38:"shoulderExternalRotation",39:"shoulderFlexionTo90Degrees",40:"sidePlankLegLifts",41:"sideRaise",42:"squat",43:"squatToPress",44:"tricepExtension",45:"tricepKickback",46:"uprightRow",47:"wallCrawlWithExternalRotation",49:"lateralRaiseWheelchair",50:"tricepsExtensionWheelchair",51:"chestFlyInclineWheelchair",52:"chestFlyDeclineWheelchair",53:"pullDownWheelchair",54:"straightArmPullDownWheelchair",55:"curlWheelchair",56:"overheadCurlWheelchair",57:"facePullWheelchair",58:"aroundTheWorldWheelchair",59:"pullApartWheelchair",60:"sideCurlWheelchair",61:"overheadPressWheelchair"},battleRopeExerciseName:{0:"alternatingFigureEight",1:"alternatingJumpWave",2:"alternatingKneelingToStandingWave",3:"alternatingLungeWave",4:"alternatingSquatWave",5:"alternatingWave",6:"alternatingWaveWithLateralShuffle",7:"clapWave",8:"doubleArmFigureEight",9:"doubleArmSideToSideSnake",10:"doubleArmSideWave",11:"doubleArmSlam",12:"doubleArmWave",13:"grapplerToss",14:"hipToss",15:"inAndOutWave",16:"insideCircle",17:"jumpingJacks",18:"outsideCircle",19:"rainbow",20:"sidePlankWave",21:"sidewinder",22:"sittingRussianTwist",23:"snakeWave",24:"splitJack",25:"stageCoach",26:"ultimateWarrior",27:"upperCuts"},ellipticalExerciseName:{0:"elliptical"},floorClimbExerciseName:{0:"floorClimb"},indoorBikeExerciseName:{0:"airBike",1:"assaultBike",3:"stationaryBike"},indoorRowExerciseName:{0:"rowingMachine"},ladderExerciseName:{0:"agility",1:"speed"},sandbagExerciseName:{0:"aroundTheWorld",1:"backSquat",2:"bearCrawlPullThrough",3:"bearHugSquat",4:"clean",5:"cleanAndPress",6:"curl",7:"frontCarry",8:"frontSquat",9:"lunge",10:"overheadPress",11:"plankPullThrough",12:"rotationalLunge",13:"row",14:"russianTwist",15:"shouldering",16:"shoveling",17:"sideLunge",18:"sprint",19:"zercherSquat"},sledExerciseName:{0:"backwardDrag",1:"chestPress",2:"forwardDrag",3:"lowPush",4:"push",5:"row"},sledgeHammerExerciseName:{0:"lateralSwing",1:"hammerSlam"},stairStepperExerciseName:{0:"stairStepper"},suspensionExerciseName:{0:"chestFly",1:"chestPress",2:"crunch",3:"curl",4:"dip",5:"facePull",6:"gluteBridge",7:"hamstringCurl",8:"hipDrop",9:"invertedRow",10:"kneeDriveJump",11:"kneeToChest",12:"latPullover",13:"lunge",14:"mountainClimber",15:"pendulum",16:"pike",17:"plank",18:"powerPull",19:"pullUp",20:"pushUp",21:"reverseMountainClimber",22:"reversePlank",23:"rollout",24:"row",25:"sideLunge",26:"sidePlank",27:"singleLegDeadlift",28:"singleLegSquat",29:"sitUp",30:"split",31:"squat",32:"squatJump",33:"tricepPress",34:"yFly"},tireExerciseName:{0:"flip"},bikeOutdoorExerciseName:{0:"bike"},runIndoorExerciseName:{0:"indoorTrackRun",1:"treadmill"},waterType:{0:"fresh",1:"salt",2:"en13319",3:"custom"},tissueModelType:{0:"zhl16c"},diveGasStatus:{0:"disabled",1:"enabled",2:"backupOnly"},diveAlert:{0:"ndlReached",1:"gasSwitchPrompted",2:"nearSurface",3:"approachingNdl",4:"po2Warn",5:"po2CritHigh",6:"po2CritLow",7:"timeAlert",8:"depthAlert",9:"decoCeilingBroken",10:"decoComplete",11:"safetyStopBroken",12:"safetyStopComplete",13:"cnsWarning",14:"cnsCritical",15:"otuWarning",16:"otuCritical",17:"ascentCritical",18:"alertDismissedByKey",19:"alertDismissedByTimeout",20:"batteryLow",21:"batteryCritical",22:"safetyStopStarted",23:"approachingFirstDecoStop",24:"setpointSwitchAutoLow",25:"setpointSwitchAutoHigh",26:"setpointSwitchManualLow",27:"setpointSwitchManualHigh",28:"autoSetpointSwitchIgnored",29:"switchedToOpenCircuit",30:"switchedToClosedCircuit",32:"tankBatteryLow",33:"po2CcrDilLow",34:"decoStopCleared",35:"apneaNeutralBuoyancy",36:"apneaTargetDepth",37:"apneaSurface",38:"apneaHighSpeed",39:"apneaLowSpeed"},diveAlarmType:{0:"depth",1:"time",2:"speed"},diveBacklightMode:{0:"atDepth",1:"alwaysOn"},sleepLevel:{0:"unmeasurable",1:"awake",2:"light",3:"deep",4:"rem"},spo2MeasurementType:{0:"offWrist",1:"spotCheck",2:"continuousCheck",3:"periodic"},ccrSetpointSwitchMode:{0:"manual",1:"automatic"},diveGasMode:{0:"openCircuit",1:"closedCircuitDiluent"},projectileType:{0:"arrow",1:"rifleCartridge",2:"pistolCartridge",3:"shotshell",4:"airRiflePellet",5:"other"},faveroProduct:{10:"assiomaUno",12:"assiomaDuo"},splitType:{1:"ascentSplit",2:"descentSplit",3:"intervalActive",4:"intervalRest",5:"intervalWarmup",6:"intervalCooldown",7:"intervalRecovery",8:"intervalOther",9:"climbActive",10:"climbRest",11:"surfActive",12:"runActive",13:"runRest",14:"workoutRound",17:"rwdRun",18:"rwdWalk",21:"windsurfActive",22:"rwdStand",23:"transition",28:"skiLiftSplit",29:"skiRunSplit"},climbProEvent:{0:"approach",1:"start",2:"complete"},gasConsumptionRateType:{0:"pressureSac",1:"volumeSac",2:"rmv"},tapSensitivity:{0:"high",1:"medium",2:"low"},radarThreatLevelType:{0:"threatUnknown",1:"threatNone",2:"threatApproaching",3:"threatApproachingFast"},sleepDisruptionSeverity:{0:"none",1:"low",2:"medium",3:"high"},napPeriodFeedback:{0:"none",1:"multipleNapsDuringDay",2:"jetlagIdealTimingIdealDuration",3:"jetlagIdealTimingLongDuration",4:"jetlagLateTimingIdealDuration",5:"jetlagLateTimingLongDuration",6:"idealTimingIdealDurationLowNeed",7:"idealTimingIdealDurationHighNeed",8:"idealTimingLongDurationLowNeed",9:"idealTimingLongDurationHighNeed",10:"lateTimingIdealDurationLowNeed",11:"lateTimingIdealDurationHighNeed",12:"lateTimingLongDurationLowNeed",13:"lateTimingLongDurationHighNeed",14:"idealDurationLowNeed",15:"idealDurationHighNeed",16:"longDurationLowNeed",17:"longDurationHighNeed"},napSource:{0:"automatic",1:"manualDevice",2:"manualGc"},maxMetSpeedSource:{0:"onboardGps",1:"connectedGps",2:"cadence"},maxMetHeartRateSource:{0:"whr",1:"hrm"},hrvStatus:{0:"none",1:"poor",2:"low",3:"unbalanced",4:"balanced"},noFlyTimeMode:{0:"standard",1:"flat24Hours"}},MesgNum:{FILE_ID:0,FILE_CREATOR:49,TIMESTAMP_CORRELATION:162,SOFTWARE:35,SLAVE_DEVICE:106,CAPABILITIES:1,FILE_CAPABILITIES:37,MESG_CAPABILITIES:38,FIELD_CAPABILITIES:39,DEVICE_SETTINGS:2,USER_PROFILE:3,HRM_PROFILE:4,SDM_PROFILE:5,BIKE_PROFILE:6,CONNECTIVITY:127,WATCHFACE_SETTINGS:159,OHR_SETTINGS:188,TIME_IN_ZONE:216,ZONES_TARGET:7,SPORT:12,HR_ZONE:8,SPEED_ZONE:53,CADENCE_ZONE:131,POWER_ZONE:9,MET_ZONE:10,TRAINING_SETTINGS:13,DIVE_SETTINGS:258,DIVE_ALARM:262,DIVE_APNEA_ALARM:393,DIVE_GAS:259,GOAL:15,ACTIVITY:34,SESSION:18,LAP:19,LENGTH:101,RECORD:20,EVENT:21,DEVICE_INFO:23,DEVICE_AUX_BATTERY_INFO:375,TRAINING_FILE:72,WEATHER_CONDITIONS:128,WEATHER_ALERT:129,GPS_METADATA:160,CAMERA_EVENT:161,GYROSCOPE_DATA:164,ACCELEROMETER_DATA:165,MAGNETOMETER_DATA:208,BAROMETER_DATA:209,THREE_D_SENSOR_CALIBRATION:167,ONE_D_SENSOR_CALIBRATION:210,VIDEO_FRAME:169,OBDII_DATA:174,NMEA_SENTENCE:177,AVIATION_ATTITUDE:178,VIDEO:184,VIDEO_TITLE:185,VIDEO_DESCRIPTION:186,VIDEO_CLIP:187,SET:225,JUMP:285,SPLIT:312,SPLIT_SUMMARY:313,CLIMB_PRO:317,FIELD_DESCRIPTION:206,DEVELOPER_DATA_ID:207,COURSE:31,COURSE_POINT:32,SEGMENT_ID:148,SEGMENT_LEADERBOARD_ENTRY:149,SEGMENT_POINT:150,SEGMENT_LAP:142,SEGMENT_FILE:151,WORKOUT:26,WORKOUT_SESSION:158,WORKOUT_STEP:27,EXERCISE_TITLE:264,SCHEDULE:28,TOTALS:33,WEIGHT_SCALE:30,BLOOD_PRESSURE:51,MONITORING_INFO:103,MONITORING:55,MONITORING_HR_DATA:211,SPO2_DATA:269,HR:132,STRESS_LEVEL:227,MAX_MET_DATA:229,HSA_BODY_BATTERY_DATA:314,HSA_EVENT:315,HSA_ACCELEROMETER_DATA:302,HSA_GYROSCOPE_DATA:376,HSA_STEP_DATA:304,HSA_SPO2_DATA:305,HSA_STRESS_DATA:306,HSA_RESPIRATION_DATA:307,HSA_HEART_RATE_DATA:308,HSA_CONFIGURATION_DATA:389,HSA_WRIST_TEMPERATURE_DATA:409,MEMO_GLOB:145,SLEEP_LEVEL:275,ANT_CHANNEL_ID:82,ANT_RX:80,ANT_TX:81,EXD_SCREEN_CONFIGURATION:200,EXD_DATA_FIELD_CONFIGURATION:201,EXD_DATA_CONCEPT_CONFIGURATION:202,DIVE_SUMMARY:268,AAD_ACCEL_FEATURES:289,HRV:78,BEAT_INTERVALS:290,HRV_STATUS_SUMMARY:370,HRV_VALUE:371,RAW_BBI:372,RESPIRATION_RATE:297,CHRONO_SHOT_SESSION:387,CHRONO_SHOT_DATA:388,TANK_UPDATE:319,TANK_SUMMARY:323,SLEEP_ASSESSMENT:346,SLEEP_DISRUPTION_SEVERITY_PERIOD:470,SLEEP_DISRUPTION_OVERNIGHT_SEVERITY:471,NAP_EVENT:412,SKIN_TEMP_OVERNIGHT:398,PAD:105}},to=new TextEncoder;class ao{globalMessageNumber;localMesgNum;fieldDefinitions=[];developerFieldDefinitions=[];constructor(s,t,{fieldDescriptions:a=null}={}){try{if(t==null)throw new Error("mesg is missing or null");if(s==null)throw new Error("mesgNum is missing or null");const i=Os.messages[s];if(i==null)throw new Error(`mesgNum: ${s} could not be found in the Profile`);if(this.globalMessageNumber=s,this.localMesgNum=0,Object.keys(t).forEach(n=>{if(t[n]==null)return;const o=Object.entries(i.fields).find(([,h])=>h.name===n);if(o==null)return;const l=ae.FieldTypeToBaseType[o[1].baseType],r=ae.BaseTypeDefinitions[l];let m=o[1].components.length>1?ae.FIELD_DEFAULT_SCALE:o[1].scale,v=o[1].components.length>1?ae.FIELD_DEFAULT_OFFSET:o[1].offset;m=Array.isArray(m)?m[0]:m??ae.FIELD_DEFAULT_SCALE,v=Array.isArray(v)?v[0]:v??ae.FIELD_DEFAULT_OFFSET,this.fieldDefinitions.push({name:n,num:o[1].num,size:this.#s(t[n],r),baseType:l,baseTypeEndianFlag:r.baseTypeEndianFlag,type:o[1].type,scale:m,offset:v,components:o[1].components})}),Object.keys(t.developerFields??{})?.sort()?.forEach(n=>{const{developerDataIdMesg:o,fieldDescriptionMesg:l}=this.#e(a,n),r=ae.BaseTypeDefinitions[l.fitBaseTypeId&ae.BaseTypeMask];this.developerFieldDefinitions.push({key:n,baseType:l.fitBaseTypeId&ae.BaseTypeMask,fieldDefinitionNumber:l.fieldDefinitionNumber,size:this.#s(t.developerFields[n],r),developerDataIndex:o.developerDataIndex,type:ae.BaseTypeToFieldType[r.type],scale:1,offset:0,components:[]})}),this.fieldDefinitions.length===0)throw new Error("No valid fields were found in the message");if(this.fieldDefinitions.some(n=>n.size>ae.MAX_FIELD_SIZE))throw new Error(`Some field sizes are greater than ${ae.MAX_FIELD_SIZE}`,{cause:this.fieldDefinitions});this.developerFieldDefinitions.forEach(n=>{if(n.size>ae.MAX_FIELD_SIZE)throw new Error(`Developer field size for key '${n.key}' is greater than ${ae.MAX_FIELD_SIZE}`,{cause:n})})}catch(i){throw new Error("Could not construct MesgDefinition from Message",{cause:{cause:{message:i.message,cause:i.cause}}})}}write(s){let t=ae.MESG_DEFINITION_MASK|this.localMesgNum&ae.LOCAL_MESG_NUM_MASK;this.developerFieldDefinitions.length>0&&(t|=ae.DEV_DATA_MASK),s.writeUInt8(t),s.writeUInt8(0),s.writeUInt8(ae.ARCH_LITTLE_ENDIAN),s.writeUInt16(this.globalMessageNumber),s.writeUInt8(this.fieldDefinitions.length),this.fieldDefinitions.forEach(a=>{s.writeUInt8(a.num),s.writeUInt8(a.size),s.writeUInt8(a.baseType|a.baseTypeEndianFlag)}),this.developerFieldDefinitions.length>0&&(s.writeUInt8(this.developerFieldDefinitions.length),this.developerFieldDefinitions.forEach(a=>{s.writeUInt8(a.fieldDefinitionNumber),s.writeUInt8(a.size),s.writeUInt8(a.developerDataIndex)}))}equals(s){if(this.globalMessageNumber!==s.globalMessageNumber||this.fieldDefinitions.length!==s.fieldDefinitions.length||this.developerFieldDefinitions.length!==s.developerFieldDefinitions.length)return!1;for(let t=0;t<this.fieldDefinitions.length;t++){const a=this.fieldDefinitions[t];if(s.fieldDefinitions.find(i=>a.num===i.num&&a.size===i.size&&a.baseType===i.baseType)==null)return!1}for(let t=0;t<this.developerFieldDefinitions.length;t++){const a=this.developerFieldDefinitions[t];if(s.developerFieldDefinitions.find(i=>a.fieldDefinitionNumber===i.fieldDefinitionNumber&&a.size===i.size&&a.developerDataIndex===i.developerDataIndex)==null)return!1}return!0}#s(s,t){const a=Array.isArray(s)?s:[s];return t.type===ae.BaseType.STRING?a.reduce((n,o)=>n+to.encode(o).length+1,0):t.size*a.length}#e(s,t){try{if(s==null)throw new Error("no developer data field descriptions provided",{cause:{fieldDescriptions:s}});const{developerDataIdMesg:a,fieldDescriptionMesg:i}=s?.[t]??{};if(a==null||i==null)throw new Error(`could not find a developer field description for key ${t}`);const n=[];if(i.fitBaseTypeId==null&&n.push(`fieldDescriptionMesg fitBaseTypeId is ${i.fitBaseTypeId}`),i.fieldDefinitionNumber==null&&n.push(`fieldDescriptionMesg fieldDefinitionNumber is ${i.fieldDefinitionNumber}`),i.developerDataIndex==null&&n.push(`fieldDescriptionMesg developerDataIndex is ${i.developerDataIndex}`),a.developerDataIndex==null&&n.push(`developerDataIdMesg developerDataIndex is ${a.developerDataIndex}`),a.developerDataIndex!==i.developerDataIndex&&n.push(`developerDataIndex values do not match in fieldDescription ${a.developerDataIndex} != ${i.developerDataIndex}`),n.length>0)throw new Error("missing or invalid values in the fieldDescription,",{cause:{developerDataIdMesg:a,fieldDescriptionMesg:i,cause:n}});return{key:t,developerDataIdMesg:a,fieldDescriptionMesg:i}}catch(a){throw new Error(`invalid field description for key ${t}`,{cause:{key:t,cause:{message:a.message,cause:a.cause}}})}}}const Hn=1048576,no=Hn*500,za=Hn/2,io=no;class lo{#s=null;#e=null;#t=0;#o=0;#i=null;#l=new TextEncoder;constructor({initialByteLength:s=za,maxByteLength:t=io,resizeByBytes:a=za}={}){this.#s=new ArrayBuffer(s,{maxByteLength:t}),this.#e=new DataView(this.#s),this.#o=a,this.#i={[ae.BaseType.ENUM]:{setValue:this.#e.setUint8.bind(this.#e),size:1,mask:255},[ae.BaseType.UINT8]:{setValue:this.#e.setUint8.bind(this.#e),size:1,mask:255},[ae.BaseType.UINT16]:{setValue:this.#e.setUint16.bind(this.#e),size:2,mask:65535},[ae.BaseType.UINT32]:{setValue:this.#e.setUint32.bind(this.#e),size:4,mask:4294967295},[ae.BaseType.UINT64]:{setValue:this.#e.setBigUint64.bind(this.#e),size:8,mask:0xFFFFFFFFFFFFFFFFn},[ae.BaseType.SINT8]:{setValue:this.#e.setInt8.bind(this.#e),size:1,mask:255},[ae.BaseType.SINT16]:{setValue:this.#e.setInt16.bind(this.#e),size:2,mask:65535},[ae.BaseType.SINT32]:{setValue:this.#e.setInt32.bind(this.#e),size:4,mask:4294967295},[ae.BaseType.SINT64]:{setValue:this.#e.setBigInt64.bind(this.#e),size:8,mask:0xFFFFFFFFFFFFFFFFn},[ae.BaseType.FLOAT32]:{setValue:this.#e.setFloat32.bind(this.#e),size:4},[ae.BaseType.FLOAT64]:{setValue:this.#e.setFloat64.bind(this.#e),size:8},[ae.BaseType.UINT8Z]:{setValue:this.#e.setUint8.bind(this.#e),size:1,mask:255},[ae.BaseType.UINT16Z]:{setValue:this.#e.setUint16.bind(this.#e),size:2,mask:65535},[ae.BaseType.UINT32Z]:{setValue:this.#e.setUint32.bind(this.#e),size:4,mask:4294967295},[ae.BaseType.UINT64Z]:{setValue:this.#e.setBigUint64.bind(this.#e),size:8,mask:0xFFFFFFFFFFFFFFFFn},[ae.BaseType.BYTE]:{setValue:this.#e.setUint8.bind(this.#e),size:1,mask:255}}}get length(){return this.#t}get uint8Array(){return new Uint8Array(this.#s.slice(0,this.#t))}writeUInt8(s){return this.write(s,ae.BaseType.UINT8)}writeUInt16(s){return this.write(s,ae.BaseType.UINT16)}writeUInt32(s){return this.write(s,ae.BaseType.UINT32)}writeUInt64(s){return this.write(s,ae.BaseType.UINT64)}writeSInt8(s){return this.write(s,ae.BaseType.SINT8)}writeSInt16(s){return this.write(s,ae.BaseType.SINT16)}writeSInt32(s){return this.write(s,ae.BaseType.SINT32)}writeSInt64(s){return this.write(s,ae.BaseType.SINT64)}writeFloat32(s){return this.write(s,ae.BaseType.FLOAT32)}writeFloat64(s){return this.write(s,ae.BaseType.FLOAT64)}writeUInt8z(s){return this.write(s,ae.BaseType.UINT8Z)}writeUInt16z(s){return this.write(s,ae.BaseType.UINT16Z)}writeUInt32z(s){return this.write(s,ae.BaseType.UINT32Z)}writeUInt64z(s){return this.write(s,ae.BaseType.UINT64Z)}writeByte(s){return this.write(s,ae.BaseType.BYTE)}writeString(s){s=Array.isArray(s)?s.join(ae.NULL_TERMINATOR):s;const t=this.#l.encode(s);return this.#n(t.byteLength),new Uint8Array(this.#s,this.#t,t.byteLength).set(t),this.#t+=t.byteLength,this.writeUInt8(ae.NULL_TERMINATOR),this}write(s,t){if(t===ae.BaseType.STRING)return this.writeString(s);this.#a(t,s)}set(s,t=0){return this.#n(s.byteLength+t),new Uint8Array(this.#s).set(s,t),this.#t=Math.max(this.#t,s.byteLength+t),this}[Symbol.iterator](){let s=0;const t=this.#t,a=this.#e;return{next(){return s<t?{value:a.getUint8(s++),done:!1}:{done:!0}}}}#a(s,t){(Array.isArray(t)?t:[t]).forEach(i=>this.#r(s,i))}#r(s,t){const a=this.#i[s];this.#n(a.size);const i=a.mask==null?t:t&a.mask;return a.setValue(this.#t,i,!0),this.#t+=a.size,this}#n(s=1){if(this.#s.byteLength-this.#t>=s)return;const t=this.#s.byteLength+Math.max(this.#o,s);if(t>this.#s.maxByteLength)throw new Error("Can not resize OutputStream. Set a larger initial size.");this.#s.resize(t)}}const At=14,oo=12;class ro{constructor({fieldDescriptions:s=null}={}){this.#m={};for(const[t,{developerDataIdMesg:a,fieldDescriptionMesg:i}]of Object.entries(s??{}))this.addDeveloperField(t,a,i);this.#s()}close(){return this.#e(),this.#t(),this.#u.uint8Array}writeMesg(s){return this.onMesg(s.mesgNum,s)}onMesg(s,t){try{const a=this.#r(s,t);this.#d(a),this.#u.writeUInt8(a.localMesgNum),a.fieldDefinitions.forEach(i=>{const n=this.#o(t[i.name],i),o=ae.BaseTypeDefinitions[i.baseType];this.#u.write(n,o.type)}),a.developerFieldDefinitions.forEach(i=>{const n=this.#o(t.developerFields[i.key],i),o=ae.BaseTypeDefinitions[i.baseType];this.#u.write(n,o.type)})}catch(a){throw new Error("Could not write Message",{cause:{mesg:t,cause:{message:a.message,cause:a.cause}}})}return this}addDeveloperField(s,t,a){if(t.developerDataIndex==null||a.developerDataIndex==null)throw new Error("addDeveloperField() - one or more developerDataIndex values are null.",{cause:{key:s,developerDataIdMesg:t,fieldDescriptionMesg:a}});if(t.developerDataIndex!==a.developerDataIndex)throw new Error("addDeveloperField() - developerDataIndex values do not match.",{cause:{key:s,developerDataIdMesg:t,fieldDescriptionMesg:a}});return this.#m[s]={developerDataIdMesg:t,fieldDescriptionMesg:a},this}#s(){Array(At).fill(0).forEach(s=>{this.#u.writeUInt8(s)})}#e(){const s=new ArrayBuffer(At),t=new DataView(s);t.setUint8(0,At),t.setUint8(1,2),t.setUint16(2,Os.version.major*1e3+Os.version.minor,!0),t.setUint32(4,this.#u.length-At,!0),t.setUint8(8,46),t.setUint8(9,70),t.setUint8(10,73),t.setUint8(11,84);const a=zt.calculateCRC(new Uint8Array(s),0,oo);t.setUint16(12,a,!0),this.#u.set(new Uint8Array(s))}#t(){const s=zt.calculateCRC(this.#u.uint8Array,0,this.#u.length);this.#u.writeUInt16(s)}#o(s,t){return(Array.isArray(s)?s:[s]).map(i=>this.#i(i,t))}#i(s,t){try{if(ae.isNotNumberStringDateOrBoolean(s))return ae.BaseTypeDefinitions[t.baseType].invalid;if(ae.NumericFieldTypes.includes(t.type)){if(!ae.isNumeric(s))throw new Error;ae.isString(s)&&(s=ae.BigIntFieldTypes.includes(t.type)?BigInt(s):Number(s));const n=t.scale!=ae.FIELD_DEFAULT_SCALE||t.offset!=ae.FIELD_DEFAULT_OFFSET;if(!n&&!this.#l(s,t.type))throw new Error;if(n){const o=this.#a(s,t.scale,t.offset),l=ae.FloatingPointFieldTypes.includes(t.type)||ae.isBigInt(o)?o:Math.round(o);return ae.BigIntFieldTypes.includes(t.type)?BigInt(l):Number(l)}return s}if(t.type==="dateTime"){if(ae.isDate(s))return so.convertDateToDateTime(s);if(!ae.isNumeric(s))throw new Error;return s}if(t.type==="string"){if(!ae.isString(s))throw new Error;return s}if(ae.isNumeric(s))return s;const a=Os.types[t.type],[i]=Object.entries(a).find(([,n])=>n===s);return i}catch{throw new Error(`Could not convert "${s}" to "${t.type}"`,{cause:{value:s,fieldDefinition:t}})}}#l=(s,t)=>{const a=ae.FieldTypeToJsType[t];return typeof s===a};#a(s,t,a){return ae.isBigInt(s)?(s+BigInt(a))*BigInt(t):(s+a)*t}#r=(s,t)=>{const a=new ao(s,t,{fieldDescriptions:this.#m});return a.localMesgNum=this.#n(a),a};#n=s=>{const t=this.#c.findIndex(a=>a?.equals(s)??!1);return(t!==-1?t:this.#p++)&ae.LOCAL_MESG_NUM_MASK};#d=s=>{const t=s.localMesgNum;return(this.#c[t]==null||!this.#c[t].equals(s))&&this.#f(s),t};#f(s){return s.write(this.#u),this.#c[s.localMesgNum]=s,this}#c=Array(16).fill(null);#p=0;#u=new lo;#m=null}function st(e){return e!=="rest"&&e!=="race"}function uo(e){switch(e){case"swim":return"swimming";case"bike":return"cycling";case"run":return"running";case"strength":return"training";case"brick":return"multisport";default:return"generic"}}function co(e){switch(e){case"swim":return"lap_swimming";case"bike":return"road";case"run":return"road";case"strength":return"strength_training";case"brick":return"triathlon";default:return"generic"}}function mo(e){switch(e){case"warmup":return"warmup";case"cooldown":return"cooldown";case"rest":return"rest";case"recovery":return"recovery";case"work":return"active";default:return"active"}}function fo(e,s){switch(s){case"seconds":return e*1e3;case"minutes":return e*60*1e3;case"hours":return e*3600*1e3;case"meters":return e*100;case"kilometers":return e*1e5;case"miles":return e*160934;default:return e*1e3}}function po(e){switch(e){case"seconds":case"minutes":case"hours":return"time";case"meters":case"kilometers":case"miles":return"distance";default:return"time"}}function ho(e){const s=[];let t=0;const a=(n,o=!1)=>{const l=po(n.duration?.unit??"minutes"),r=fo(n.duration?.value??0,n.duration?.unit??"minutes"),m={messageIndex:t,workoutStepName:n.name||"",intensity:mo(n.type),durationType:l,durationValue:r,notes:n.notes||""};if(n.intensity){const v=n.intensity.value??50;switch(n.intensity.unit){case"percent_ftp":m.targetType="power",m.targetValue=0,m.customTargetValueLow=n.intensity.valueLow??v-5,m.customTargetValueHigh=n.intensity.valueHigh??v+5;break;case"percent_lthr":case"hr_zone":m.targetType="heart_rate",m.targetValue=0,n.intensity.valueLow!==void 0&&n.intensity.valueHigh!==void 0?(m.customTargetValueLow=n.intensity.valueLow,m.customTargetValueHigh=n.intensity.valueHigh):m.targetValue=v;break;case"rpe":m.targetType="open";break;default:m.targetType="open"}}else m.targetType="open";return n.cadence&&(m.customTargetCadenceLow=n.cadence.low??80,m.customTargetCadenceHigh=n.cadence.high??100),s.push(m),t++,t-1},i=n=>{const o=t;t++;const l=[];for(const m of n.steps)l.push(a(m,!0));const r={messageIndex:o,workoutStepName:n.name||"Intervals",durationType:"repeat_until_steps_cmplt",durationValue:n.repeats,targetType:"open",intensity:"interval"};s.splice(o,0,r),t++};if(e.warmup)for(const n of e.warmup)a(n);for(const n of e.main)"repeats"in n?i(n):a(n);if(e.cooldown)for(const n of e.cooldown)a(n);return{steps:s,totalSteps:s.length}}function bo(e){const s=[],t=e.durationMinutes||60,a=Math.min(15,Math.max(5,Math.round(t*.1)));s.push({messageIndex:0,workoutStepName:"Warm Up",intensity:"warmup",durationType:"time",durationValue:a*60*1e3,targetType:"open"});const i=Math.min(10,Math.max(5,Math.round(t*.1))),n=t-a-i;let o="active";return e.type==="recovery"?o="recovery":e.type==="rest"?o="rest":(e.type==="intervals"||e.type==="vo2max")&&(o="interval"),s.push({messageIndex:1,workoutStepName:"Main Set",intensity:o,durationType:"time",durationValue:n*60*1e3,targetType:"open",notes:e.description||""}),s.push({messageIndex:2,workoutStepName:"Cool Down",intensity:"cooldown",durationType:"time",durationValue:i*60*1e3,targetType:"open"}),{steps:s,totalSteps:3}}async function jn(e,s){if(!st(e.sport))throw new Error(`FIT export not supported for ${e.sport} workouts`);const t=new ro;t.onMesg(Os.MesgNum.FILE_ID,{type:"workout",manufacturer:"development",product:1,serialNumber:Math.floor(Math.random()*1e6),timeCreated:new Date});const{steps:a,totalSteps:i}=e.structure?ho(e.structure):bo(e);t.onMesg(Os.MesgNum.WORKOUT,{workoutName:e.name,sport:uo(e.sport),subSport:co(e.sport),numValidSteps:i});for(const n of a)t.onMesg(Os.MesgNum.WORKOUT_STEP,n);return t.close()}function tt(e){return e==="bike"}function yo(e){const s=[];let t=0;const a=n=>{const o=n.intensity?.value??50,l=i(n);if(s.push([t,o]),n.intensity?.valueLow!==void 0&&n.intensity?.valueHigh!==void 0){const r=n.intensity.valueLow,m=n.intensity.valueHigh;s[s.length-1]=[t,r],t+=l,s.push([t,m])}else t+=l,s.push([t,o])},i=n=>{const o=n.duration?.unit??"minutes",l=n.duration?.value??0;switch(o){case"seconds":return l/60;case"minutes":return l;case"hours":return l*60;default:return o==="meters"?l/1e3/30*60:o==="kilometers"?l/30*60:l}};if(e.warmup)for(const n of e.warmup)a(n);for(const n of e.main??[])if("repeats"in n){const o=n;for(let l=0;l<(o.repeats??1);l++)for(const r of o.steps??[])a(r)}else a(n);if(e.cooldown)for(const n of e.cooldown)a(n);return s}function go(e){const s=e.durationMinutes||60,t=[];let a=65;switch(e.type){case"recovery":a=55;break;case"endurance":a=65;break;case"tempo":a=80;break;case"threshold":a=95;break;case"vo2max":a=110;break;case"intervals":a=85;break}const i=Math.min(15,Math.max(5,Math.round(s*.1)));t.push([0,40]),t.push([i,65]);const n=Math.min(10,Math.max(5,Math.round(s*.1))),o=s-i-n;return t.push([i,a]),t.push([i+o,a]),t.push([i+o,60]),t.push([s,40]),t}function Gn(e,s){if(!tt(e.sport))throw new Error("ERG/MRC export only supports bike workouts");const t=e.structure?yo(e.structure):go(e);let a=e.name;e.description&&(a+=` - ${e.description}`);const i=["[COURSE HEADER]","VERSION = 2","UNITS = ENGLISH",`DESCRIPTION = ${a.replace(/[\r\n]/g," ")}`,`FILE NAME = ${e.name}`,"MINUTES PERCENT","[END COURSE HEADER]","[COURSE DATA]"];for(const[n,o]of t)i.push(`${n.toFixed(2)} ${o.toFixed(0)}`);return i.push("[END COURSE DATA]"),i.join(`
29
+ `)}function oa(e){return e.replace(/-/g,"")}function As(e){return e.replace(/\\/g,"\\\\").replace(/;/g,"\\;").replace(/,/g,"\\,").replace(/\n/g,"\\n").replace(/\\n/g,"\\n")}function js(e){if(e.length<=75)return e;const t=[];let a=e;for(t.push(a.substring(0,75)),a=a.substring(75);a.length>0;)t.push(" "+a.substring(0,74)),a=a.substring(74);return t.join(`\r
30
+ `)}function vo(e,s){return`${e}-${s}@claude-coach`}function To(e,s,t){const a=vo(e.id,s.date),i=oa(s.date),n=Dn(e.sport),o=Ca(e.durationMinutes),l=As(`${n} ${e.sport.charAt(0).toUpperCase()+e.sport.slice(1)}: ${e.name}`);let r="";e.description&&(r+=e.description+"\\n\\n"),o&&(r+=`Duration: ${o}\\n`),e.primaryZone&&(r+=`Target Zone: ${e.primaryZone}\\n`),e.humanReadable&&(r+="\\nWorkout Structure:\\n"+e.humanReadable.replace(/\\n/g,"\\n")),r=As(r.trim());const m=[e.sport,e.type,t].join(",");return["BEGIN:VEVENT",js(`UID:${a}`),`DTSTAMP:${new Date().toISOString().replace(/[-:]/g,"").split(".")[0]}Z`,`DTSTART;VALUE=DATE:${i}`,`DTEND;VALUE=DATE:${i}`,js(`SUMMARY:${l}`),js(`DESCRIPTION:${r}`),js(`CATEGORIES:${As(m)}`),"TRANSP:TRANSPARENT","END:VEVENT"].join(`\r
31
+ `)}function Co(e){const s=new Date().toISOString().replace(/[-:]/g,"").split(".")[0]+"Z",t=e.meta?.event??"Training Plan",a=e.meta?.eventDate??"",i=["BEGIN:VCALENDAR","VERSION:2.0","PRODID:-//Claude Coach//Training Plan//EN","CALSCALE:GREGORIAN","METHOD:PUBLISH",`X-WR-CALNAME:${As(t)} Training`,`X-WR-CALDESC:${As(`Training plan for ${t} on ${a}`)}`].join(`\r
32
+ `),n=[];for(const l of e.weeks??[])for(const r of l.days??[])for(const m of r.workouts??[])m.sport==="rest"&&!m.name||n.push(To(m,r,t));if(a){const l=["BEGIN:VEVENT","UID:race-day@claude-coach",`DTSTAMP:${s}`,`DTSTART;VALUE=DATE:${oa(a)}`,`DTEND;VALUE=DATE:${oa(a)}`,js(`SUMMARY:🏆 RACE DAY: ${As(t)}`),js(`DESCRIPTION:${As(`Race day for ${t}!`)}`),`CATEGORIES:race,${As(t)}`,"TRANSP:OPAQUE","END:VEVENT"].join(`\r
33
33
  `);n.push(l)}return i+`\r
34
34
  `+n.join(`\r
35
35
  `)+`\r
36
- `+"END:VCALENDAR"}var At=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ao(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Ft(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Jt={exports:{}};var Wa;function Fo(){return Wa||(Wa=1,(function(e,s){(function(t){e.exports=t()})(function(){return(function t(a,i,n){function o(m,v){if(!i[m]){if(!a[m]){var h=typeof Ft=="function"&&Ft;if(!v&&h)return h(m,!0);if(l)return l(m,!0);var d=new Error("Cannot find module '"+m+"'");throw d.code="MODULE_NOT_FOUND",d}var c=i[m]={exports:{}};a[m][0].call(c.exports,function(g){var p=a[m][1][g];return o(p||g)},c,c.exports,t,a,i,n)}return i[m].exports}for(var l=typeof Ft=="function"&&Ft,r=0;r<n.length;r++)o(n[r]);return o})({1:[function(t,a,i){var n=t("./utils"),o=t("./support"),l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";i.encode=function(r){for(var m,v,h,d,c,g,p,b=[],y=0,w=r.length,F=w,x=n.getTypeOf(r)!=="string";y<r.length;)F=w-y,h=x?(m=r[y++],v=y<w?r[y++]:0,y<w?r[y++]:0):(m=r.charCodeAt(y++),v=y<w?r.charCodeAt(y++):0,y<w?r.charCodeAt(y++):0),d=m>>2,c=(3&m)<<4|v>>4,g=1<F?(15&v)<<2|h>>6:64,p=2<F?63&h:64,b.push(l.charAt(d)+l.charAt(c)+l.charAt(g)+l.charAt(p));return b.join("")},i.decode=function(r){var m,v,h,d,c,g,p=0,b=0,y="data:";if(r.substr(0,y.length)===y)throw new Error("Invalid base64 input, it looks like a data url.");var w,F=3*(r=r.replace(/[^A-Za-z0-9+/=]/g,"")).length/4;if(r.charAt(r.length-1)===l.charAt(64)&&F--,r.charAt(r.length-2)===l.charAt(64)&&F--,F%1!=0)throw new Error("Invalid base64 input, bad content length.");for(w=o.uint8array?new Uint8Array(0|F):new Array(0|F);p<r.length;)m=l.indexOf(r.charAt(p++))<<2|(d=l.indexOf(r.charAt(p++)))>>4,v=(15&d)<<4|(c=l.indexOf(r.charAt(p++)))>>2,h=(3&c)<<6|(g=l.indexOf(r.charAt(p++))),w[b++]=m,c!==64&&(w[b++]=v),g!==64&&(w[b++]=h);return w}},{"./support":30,"./utils":32}],2:[function(t,a,i){var n=t("./external"),o=t("./stream/DataWorker"),l=t("./stream/Crc32Probe"),r=t("./stream/DataLengthProbe");function m(v,h,d,c,g){this.compressedSize=v,this.uncompressedSize=h,this.crc32=d,this.compression=c,this.compressedContent=g}m.prototype={getContentWorker:function(){var v=new o(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new r("data_length")),h=this;return v.on("end",function(){if(this.streamInfo.data_length!==h.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),v},getCompressedWorker:function(){return new o(n.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},m.createWorkerFrom=function(v,h,d){return v.pipe(new l).pipe(new r("uncompressedSize")).pipe(h.compressWorker(d)).pipe(new r("compressedSize")).withStreamInfo("compression",h)},a.exports=m},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(t,a,i){var n=t("./stream/GenericWorker");i.STORE={magic:"\0\0",compressWorker:function(){return new n("STORE compression")},uncompressWorker:function(){return new n("STORE decompression")}},i.DEFLATE=t("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(t,a,i){var n=t("./utils"),o=(function(){for(var l,r=[],m=0;m<256;m++){l=m;for(var v=0;v<8;v++)l=1&l?3988292384^l>>>1:l>>>1;r[m]=l}return r})();a.exports=function(l,r){return l!==void 0&&l.length?n.getTypeOf(l)!=="string"?(function(m,v,h,d){var c=o,g=d+h;m^=-1;for(var p=d;p<g;p++)m=m>>>8^c[255&(m^v[p])];return-1^m})(0|r,l,l.length,0):(function(m,v,h,d){var c=o,g=d+h;m^=-1;for(var p=d;p<g;p++)m=m>>>8^c[255&(m^v.charCodeAt(p))];return-1^m})(0|r,l,l.length,0):0}},{"./utils":32}],5:[function(t,a,i){i.base64=!1,i.binary=!1,i.dir=!1,i.createFolders=!0,i.date=null,i.compression=null,i.compressionOptions=null,i.comment=null,i.unixPermissions=null,i.dosPermissions=null},{}],6:[function(t,a,i){var n=null;n=typeof Promise<"u"?Promise:t("lie"),a.exports={Promise:n}},{lie:37}],7:[function(t,a,i){var n=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",o=t("pako"),l=t("./utils"),r=t("./stream/GenericWorker"),m=n?"uint8array":"array";function v(h,d){r.call(this,"FlateWorker/"+h),this._pako=null,this._pakoAction=h,this._pakoOptions=d,this.meta={}}i.magic="\b\0",l.inherits(v,r),v.prototype.processChunk=function(h){this.meta=h.meta,this._pako===null&&this._createPako(),this._pako.push(l.transformTo(m,h.data),!1)},v.prototype.flush=function(){r.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},v.prototype.cleanUp=function(){r.prototype.cleanUp.call(this),this._pako=null},v.prototype._createPako=function(){this._pako=new o[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var h=this;this._pako.onData=function(d){h.push({data:d,meta:h.meta})}},i.compressWorker=function(h){return new v("Deflate",h)},i.uncompressWorker=function(){return new v("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(t,a,i){function n(c,g){var p,b="";for(p=0;p<g;p++)b+=String.fromCharCode(255&c),c>>>=8;return b}function o(c,g,p,b,y,w){var F,x,S=c.file,U=c.compression,P=w!==m.utf8encode,j=l.transformTo("string",w(S.name)),O=l.transformTo("string",m.utf8encode(S.name)),Y=S.comment,se=l.transformTo("string",w(Y)),k=l.transformTo("string",m.utf8encode(Y)),G=O.length!==S.name.length,f=k.length!==Y.length,V="",ce="",X="",ge=S.dir,Q=S.date,ne={crc32:0,compressedSize:0,uncompressedSize:0};g&&!p||(ne.crc32=c.crc32,ne.compressedSize=c.compressedSize,ne.uncompressedSize=c.uncompressedSize);var E=0;g&&(E|=8),P||!G&&!f||(E|=2048);var I=0,H=0;ge&&(I|=16),y==="UNIX"?(H=798,I|=(function(q,fe){var Ce=q;return q||(Ce=fe?16893:33204),(65535&Ce)<<16})(S.unixPermissions,ge)):(H=20,I|=(function(q){return 63&(q||0)})(S.dosPermissions)),F=Q.getUTCHours(),F<<=6,F|=Q.getUTCMinutes(),F<<=5,F|=Q.getUTCSeconds()/2,x=Q.getUTCFullYear()-1980,x<<=4,x|=Q.getUTCMonth()+1,x<<=5,x|=Q.getUTCDate(),G&&(ce=n(1,1)+n(v(j),4)+O,V+="up"+n(ce.length,2)+ce),f&&(X=n(1,1)+n(v(se),4)+k,V+="uc"+n(X.length,2)+X);var J="";return J+=`
37
- \0`,J+=n(E,2),J+=U.magic,J+=n(F,2),J+=n(x,2),J+=n(ne.crc32,4),J+=n(ne.compressedSize,4),J+=n(ne.uncompressedSize,4),J+=n(j.length,2),J+=n(V.length,2),{fileRecord:h.LOCAL_FILE_HEADER+J+j+V,dirRecord:h.CENTRAL_FILE_HEADER+n(H,2)+J+n(se.length,2)+"\0\0\0\0"+n(I,4)+n(b,4)+j+V+se}}var l=t("../utils"),r=t("../stream/GenericWorker"),m=t("../utf8"),v=t("../crc32"),h=t("../signature");function d(c,g,p,b){r.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=g,this.zipPlatform=p,this.encodeFileName=b,this.streamFiles=c,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}l.inherits(d,r),d.prototype.push=function(c){var g=c.meta.percent||0,p=this.entriesCount,b=this._sources.length;this.accumulate?this.contentBuffer.push(c):(this.bytesWritten+=c.data.length,r.prototype.push.call(this,{data:c.data,meta:{currentFile:this.currentFile,percent:p?(g+100*(p-b-1))/p:100}}))},d.prototype.openedSource=function(c){this.currentSourceOffset=this.bytesWritten,this.currentFile=c.file.name;var g=this.streamFiles&&!c.file.dir;if(g){var p=o(c,g,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:p.fileRecord,meta:{percent:0}})}else this.accumulate=!0},d.prototype.closedSource=function(c){this.accumulate=!1;var g=this.streamFiles&&!c.file.dir,p=o(c,g,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(p.dirRecord),g)this.push({data:(function(b){return h.DATA_DESCRIPTOR+n(b.crc32,4)+n(b.compressedSize,4)+n(b.uncompressedSize,4)})(c),meta:{percent:100}});else for(this.push({data:p.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},d.prototype.flush=function(){for(var c=this.bytesWritten,g=0;g<this.dirRecords.length;g++)this.push({data:this.dirRecords[g],meta:{percent:100}});var p=this.bytesWritten-c,b=(function(y,w,F,x,S){var U=l.transformTo("string",S(x));return h.CENTRAL_DIRECTORY_END+"\0\0\0\0"+n(y,2)+n(y,2)+n(w,4)+n(F,4)+n(U.length,2)+U})(this.dirRecords.length,p,c,this.zipComment,this.encodeFileName);this.push({data:b,meta:{percent:100}})},d.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},d.prototype.registerPrevious=function(c){this._sources.push(c);var g=this;return c.on("data",function(p){g.processChunk(p)}),c.on("end",function(){g.closedSource(g.previous.streamInfo),g._sources.length?g.prepareNextSource():g.end()}),c.on("error",function(p){g.error(p)}),this},d.prototype.resume=function(){return!!r.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},d.prototype.error=function(c){var g=this._sources;if(!r.prototype.error.call(this,c))return!1;for(var p=0;p<g.length;p++)try{g[p].error(c)}catch{}return!0},d.prototype.lock=function(){r.prototype.lock.call(this);for(var c=this._sources,g=0;g<c.length;g++)c[g].lock()},a.exports=d},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(t,a,i){var n=t("../compressions"),o=t("./ZipFileWorker");i.generateWorker=function(l,r,m){var v=new o(r.streamFiles,m,r.platform,r.encodeFileName),h=0;try{l.forEach(function(d,c){h++;var g=(function(w,F){var x=w||F,S=n[x];if(!S)throw new Error(x+" is not a valid compression method !");return S})(c.options.compression,r.compression),p=c.options.compressionOptions||r.compressionOptions||{},b=c.dir,y=c.date;c._compressWorker(g,p).withStreamInfo("file",{name:d,dir:b,date:y,comment:c.comment||"",unixPermissions:c.unixPermissions,dosPermissions:c.dosPermissions}).pipe(v)}),v.entriesCount=h}catch(d){v.error(d)}return v}},{"../compressions":3,"./ZipFileWorker":8}],10:[function(t,a,i){function n(){if(!(this instanceof n))return new n;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var o=new n;for(var l in this)typeof this[l]!="function"&&(o[l]=this[l]);return o}}(n.prototype=t("./object")).loadAsync=t("./load"),n.support=t("./support"),n.defaults=t("./defaults"),n.version="3.10.1",n.loadAsync=function(o,l){return new n().loadAsync(o,l)},n.external=t("./external"),a.exports=n},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(t,a,i){var n=t("./utils"),o=t("./external"),l=t("./utf8"),r=t("./zipEntries"),m=t("./stream/Crc32Probe"),v=t("./nodejsUtils");function h(d){return new o.Promise(function(c,g){var p=d.decompressed.getContentWorker().pipe(new m);p.on("error",function(b){g(b)}).on("end",function(){p.streamInfo.crc32!==d.decompressed.crc32?g(new Error("Corrupted zip : CRC32 mismatch")):c()}).resume()})}a.exports=function(d,c){var g=this;return c=n.extend(c||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:l.utf8decode}),v.isNode&&v.isStream(d)?o.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):n.prepareContent("the loaded zip file",d,!0,c.optimizedBinaryString,c.base64).then(function(p){var b=new r(c);return b.load(p),b}).then(function(p){var b=[o.Promise.resolve(p)],y=p.files;if(c.checkCRC32)for(var w=0;w<y.length;w++)b.push(h(y[w]));return o.Promise.all(b)}).then(function(p){for(var b=p.shift(),y=b.files,w=0;w<y.length;w++){var F=y[w],x=F.fileNameStr,S=n.resolve(F.fileNameStr);g.file(S,F.decompressed,{binary:!0,optimizedBinaryString:!0,date:F.date,dir:F.dir,comment:F.fileCommentStr.length?F.fileCommentStr:null,unixPermissions:F.unixPermissions,dosPermissions:F.dosPermissions,createFolders:c.createFolders}),F.dir||(g.file(S).unsafeOriginalName=x)}return b.zipComment.length&&(g.comment=b.zipComment),g})}},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(t,a,i){var n=t("../utils"),o=t("../stream/GenericWorker");function l(r,m){o.call(this,"Nodejs stream input adapter for "+r),this._upstreamEnded=!1,this._bindStream(m)}n.inherits(l,o),l.prototype._bindStream=function(r){var m=this;(this._stream=r).pause(),r.on("data",function(v){m.push({data:v,meta:{percent:0}})}).on("error",function(v){m.isPaused?this.generatedError=v:m.error(v)}).on("end",function(){m.isPaused?m._upstreamEnded=!0:m.end()})},l.prototype.pause=function(){return!!o.prototype.pause.call(this)&&(this._stream.pause(),!0)},l.prototype.resume=function(){return!!o.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},a.exports=l},{"../stream/GenericWorker":28,"../utils":32}],13:[function(t,a,i){var n=t("readable-stream").Readable;function o(l,r,m){n.call(this,r),this._helper=l;var v=this;l.on("data",function(h,d){v.push(h)||v._helper.pause(),m&&m(d)}).on("error",function(h){v.emit("error",h)}).on("end",function(){v.push(null)})}t("../utils").inherits(o,n),o.prototype._read=function(){this._helper.resume()},a.exports=o},{"../utils":32,"readable-stream":16}],14:[function(t,a,i){a.exports={isNode:typeof Buffer<"u",newBufferFrom:function(n,o){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(n,o);if(typeof n=="number")throw new Error('The "data" argument must not be a number');return new Buffer(n,o)},allocBuffer:function(n){if(Buffer.alloc)return Buffer.alloc(n);var o=new Buffer(n);return o.fill(0),o},isBuffer:function(n){return Buffer.isBuffer(n)},isStream:function(n){return n&&typeof n.on=="function"&&typeof n.pause=="function"&&typeof n.resume=="function"}}},{}],15:[function(t,a,i){function n(S,U,P){var j,O=l.getTypeOf(U),Y=l.extend(P||{},v);Y.date=Y.date||new Date,Y.compression!==null&&(Y.compression=Y.compression.toUpperCase()),typeof Y.unixPermissions=="string"&&(Y.unixPermissions=parseInt(Y.unixPermissions,8)),Y.unixPermissions&&16384&Y.unixPermissions&&(Y.dir=!0),Y.dosPermissions&&16&Y.dosPermissions&&(Y.dir=!0),Y.dir&&(S=y(S)),Y.createFolders&&(j=b(S))&&w.call(this,j,!0);var se=O==="string"&&Y.binary===!1&&Y.base64===!1;P&&P.binary!==void 0||(Y.binary=!se),(U instanceof h&&U.uncompressedSize===0||Y.dir||!U||U.length===0)&&(Y.base64=!1,Y.binary=!0,U="",Y.compression="STORE",O="string");var k=null;k=U instanceof h||U instanceof r?U:g.isNode&&g.isStream(U)?new p(S,U):l.prepareContent(S,U,Y.binary,Y.optimizedBinaryString,Y.base64);var G=new d(S,k,Y);this.files[S]=G}var o=t("./utf8"),l=t("./utils"),r=t("./stream/GenericWorker"),m=t("./stream/StreamHelper"),v=t("./defaults"),h=t("./compressedObject"),d=t("./zipObject"),c=t("./generate"),g=t("./nodejsUtils"),p=t("./nodejs/NodejsStreamInputAdapter"),b=function(S){S.slice(-1)==="/"&&(S=S.substring(0,S.length-1));var U=S.lastIndexOf("/");return 0<U?S.substring(0,U):""},y=function(S){return S.slice(-1)!=="/"&&(S+="/"),S},w=function(S,U){return U=U!==void 0?U:v.createFolders,S=y(S),this.files[S]||n.call(this,S,null,{dir:!0,createFolders:U}),this.files[S]};function F(S){return Object.prototype.toString.call(S)==="[object RegExp]"}var x={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(S){var U,P,j;for(U in this.files)j=this.files[U],(P=U.slice(this.root.length,U.length))&&U.slice(0,this.root.length)===this.root&&S(P,j)},filter:function(S){var U=[];return this.forEach(function(P,j){S(P,j)&&U.push(j)}),U},file:function(S,U,P){if(arguments.length!==1)return S=this.root+S,n.call(this,S,U,P),this;if(F(S)){var j=S;return this.filter(function(Y,se){return!se.dir&&j.test(Y)})}var O=this.files[this.root+S];return O&&!O.dir?O:null},folder:function(S){if(!S)return this;if(F(S))return this.filter(function(O,Y){return Y.dir&&S.test(O)});var U=this.root+S,P=w.call(this,U),j=this.clone();return j.root=P.name,j},remove:function(S){S=this.root+S;var U=this.files[S];if(U||(S.slice(-1)!=="/"&&(S+="/"),U=this.files[S]),U&&!U.dir)delete this.files[S];else for(var P=this.filter(function(O,Y){return Y.name.slice(0,S.length)===S}),j=0;j<P.length;j++)delete this.files[P[j].name];return this},generate:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(S){var U,P={};try{if((P=l.extend(S||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:o.utf8encode})).type=P.type.toLowerCase(),P.compression=P.compression.toUpperCase(),P.type==="binarystring"&&(P.type="string"),!P.type)throw new Error("No output type specified.");l.checkSupport(P.type),P.platform!=="darwin"&&P.platform!=="freebsd"&&P.platform!=="linux"&&P.platform!=="sunos"||(P.platform="UNIX"),P.platform==="win32"&&(P.platform="DOS");var j=P.comment||this.comment||"";U=c.generateWorker(this,P,j)}catch(O){(U=new r("error")).error(O)}return new m(U,P.type||"string",P.mimeType)},generateAsync:function(S,U){return this.generateInternalStream(S).accumulate(U)},generateNodeStream:function(S,U){return(S=S||{}).type||(S.type="nodebuffer"),this.generateInternalStream(S).toNodejsStream(U)}};a.exports=x},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(t,a,i){a.exports=t("stream")},{stream:void 0}],17:[function(t,a,i){var n=t("./DataReader");function o(l){n.call(this,l);for(var r=0;r<this.data.length;r++)l[r]=255&l[r]}t("../utils").inherits(o,n),o.prototype.byteAt=function(l){return this.data[this.zero+l]},o.prototype.lastIndexOfSignature=function(l){for(var r=l.charCodeAt(0),m=l.charCodeAt(1),v=l.charCodeAt(2),h=l.charCodeAt(3),d=this.length-4;0<=d;--d)if(this.data[d]===r&&this.data[d+1]===m&&this.data[d+2]===v&&this.data[d+3]===h)return d-this.zero;return-1},o.prototype.readAndCheckSignature=function(l){var r=l.charCodeAt(0),m=l.charCodeAt(1),v=l.charCodeAt(2),h=l.charCodeAt(3),d=this.readData(4);return r===d[0]&&m===d[1]&&v===d[2]&&h===d[3]},o.prototype.readData=function(l){if(this.checkOffset(l),l===0)return[];var r=this.data.slice(this.zero+this.index,this.zero+this.index+l);return this.index+=l,r},a.exports=o},{"../utils":32,"./DataReader":18}],18:[function(t,a,i){var n=t("../utils");function o(l){this.data=l,this.length=l.length,this.index=0,this.zero=0}o.prototype={checkOffset:function(l){this.checkIndex(this.index+l)},checkIndex:function(l){if(this.length<this.zero+l||l<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+l+"). Corrupted zip ?")},setIndex:function(l){this.checkIndex(l),this.index=l},skip:function(l){this.setIndex(this.index+l)},byteAt:function(){},readInt:function(l){var r,m=0;for(this.checkOffset(l),r=this.index+l-1;r>=this.index;r--)m=(m<<8)+this.byteAt(r);return this.index+=l,m},readString:function(l){return n.transformTo("string",this.readData(l))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var l=this.readInt(4);return new Date(Date.UTC(1980+(l>>25&127),(l>>21&15)-1,l>>16&31,l>>11&31,l>>5&63,(31&l)<<1))}},a.exports=o},{"../utils":32}],19:[function(t,a,i){var n=t("./Uint8ArrayReader");function o(l){n.call(this,l)}t("../utils").inherits(o,n),o.prototype.readData=function(l){this.checkOffset(l);var r=this.data.slice(this.zero+this.index,this.zero+this.index+l);return this.index+=l,r},a.exports=o},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(t,a,i){var n=t("./DataReader");function o(l){n.call(this,l)}t("../utils").inherits(o,n),o.prototype.byteAt=function(l){return this.data.charCodeAt(this.zero+l)},o.prototype.lastIndexOfSignature=function(l){return this.data.lastIndexOf(l)-this.zero},o.prototype.readAndCheckSignature=function(l){return l===this.readData(4)},o.prototype.readData=function(l){this.checkOffset(l);var r=this.data.slice(this.zero+this.index,this.zero+this.index+l);return this.index+=l,r},a.exports=o},{"../utils":32,"./DataReader":18}],21:[function(t,a,i){var n=t("./ArrayReader");function o(l){n.call(this,l)}t("../utils").inherits(o,n),o.prototype.readData=function(l){if(this.checkOffset(l),l===0)return new Uint8Array(0);var r=this.data.subarray(this.zero+this.index,this.zero+this.index+l);return this.index+=l,r},a.exports=o},{"../utils":32,"./ArrayReader":17}],22:[function(t,a,i){var n=t("../utils"),o=t("../support"),l=t("./ArrayReader"),r=t("./StringReader"),m=t("./NodeBufferReader"),v=t("./Uint8ArrayReader");a.exports=function(h){var d=n.getTypeOf(h);return n.checkSupport(d),d!=="string"||o.uint8array?d==="nodebuffer"?new m(h):o.uint8array?new v(n.transformTo("uint8array",h)):new l(n.transformTo("array",h)):new r(h)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(t,a,i){i.LOCAL_FILE_HEADER="PK",i.CENTRAL_FILE_HEADER="PK",i.CENTRAL_DIRECTORY_END="PK",i.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x07",i.ZIP64_CENTRAL_DIRECTORY_END="PK",i.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(t,a,i){var n=t("./GenericWorker"),o=t("../utils");function l(r){n.call(this,"ConvertWorker to "+r),this.destType=r}o.inherits(l,n),l.prototype.processChunk=function(r){this.push({data:o.transformTo(this.destType,r.data),meta:r.meta})},a.exports=l},{"../utils":32,"./GenericWorker":28}],25:[function(t,a,i){var n=t("./GenericWorker"),o=t("../crc32");function l(){n.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}t("../utils").inherits(l,n),l.prototype.processChunk=function(r){this.streamInfo.crc32=o(r.data,this.streamInfo.crc32||0),this.push(r)},a.exports=l},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(t,a,i){var n=t("../utils"),o=t("./GenericWorker");function l(r){o.call(this,"DataLengthProbe for "+r),this.propName=r,this.withStreamInfo(r,0)}n.inherits(l,o),l.prototype.processChunk=function(r){if(r){var m=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=m+r.data.length}o.prototype.processChunk.call(this,r)},a.exports=l},{"../utils":32,"./GenericWorker":28}],27:[function(t,a,i){var n=t("../utils"),o=t("./GenericWorker");function l(r){o.call(this,"DataWorker");var m=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,r.then(function(v){m.dataIsReady=!0,m.data=v,m.max=v&&v.length||0,m.type=n.getTypeOf(v),m.isPaused||m._tickAndRepeat()},function(v){m.error(v)})}n.inherits(l,o),l.prototype.cleanUp=function(){o.prototype.cleanUp.call(this),this.data=null},l.prototype.resume=function(){return!!o.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,n.delay(this._tickAndRepeat,[],this)),!0)},l.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(n.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},l.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var r=null,m=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":r=this.data.substring(this.index,m);break;case"uint8array":r=this.data.subarray(this.index,m);break;case"array":case"nodebuffer":r=this.data.slice(this.index,m)}return this.index=m,this.push({data:r,meta:{percent:this.max?this.index/this.max*100:0}})},a.exports=l},{"../utils":32,"./GenericWorker":28}],28:[function(t,a,i){function n(o){this.name=o||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}n.prototype={push:function(o){this.emit("data",o)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(o){this.emit("error",o)}return!0},error:function(o){return!this.isFinished&&(this.isPaused?this.generatedError=o:(this.isFinished=!0,this.emit("error",o),this.previous&&this.previous.error(o),this.cleanUp()),!0)},on:function(o,l){return this._listeners[o].push(l),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(o,l){if(this._listeners[o])for(var r=0;r<this._listeners[o].length;r++)this._listeners[o][r].call(this,l)},pipe:function(o){return o.registerPrevious(this)},registerPrevious:function(o){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=o.streamInfo,this.mergeStreamInfo(),this.previous=o;var l=this;return o.on("data",function(r){l.processChunk(r)}),o.on("end",function(){l.end()}),o.on("error",function(r){l.error(r)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var o=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),o=!0),this.previous&&this.previous.resume(),!o},flush:function(){},processChunk:function(o){this.push(o)},withStreamInfo:function(o,l){return this.extraStreamInfo[o]=l,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var o in this.extraStreamInfo)Object.prototype.hasOwnProperty.call(this.extraStreamInfo,o)&&(this.streamInfo[o]=this.extraStreamInfo[o])},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var o="Worker "+this.name;return this.previous?this.previous+" -> "+o:o}},a.exports=n},{}],29:[function(t,a,i){var n=t("../utils"),o=t("./ConvertWorker"),l=t("./GenericWorker"),r=t("../base64"),m=t("../support"),v=t("../external"),h=null;if(m.nodestream)try{h=t("../nodejs/NodejsStreamOutputAdapter")}catch{}function d(g,p){return new v.Promise(function(b,y){var w=[],F=g._internalType,x=g._outputType,S=g._mimeType;g.on("data",function(U,P){w.push(U),p&&p(P)}).on("error",function(U){w=[],y(U)}).on("end",function(){try{var U=(function(P,j,O){switch(P){case"blob":return n.newBlob(n.transformTo("arraybuffer",j),O);case"base64":return r.encode(j);default:return n.transformTo(P,j)}})(x,(function(P,j){var O,Y=0,se=null,k=0;for(O=0;O<j.length;O++)k+=j[O].length;switch(P){case"string":return j.join("");case"array":return Array.prototype.concat.apply([],j);case"uint8array":for(se=new Uint8Array(k),O=0;O<j.length;O++)se.set(j[O],Y),Y+=j[O].length;return se;case"nodebuffer":return Buffer.concat(j);default:throw new Error("concat : unsupported type '"+P+"'")}})(F,w),S);b(U)}catch(P){y(P)}w=[]}).resume()})}function c(g,p,b){var y=p;switch(p){case"blob":case"arraybuffer":y="uint8array";break;case"base64":y="string"}try{this._internalType=y,this._outputType=p,this._mimeType=b,n.checkSupport(y),this._worker=g.pipe(new o(y)),g.lock()}catch(w){this._worker=new l("error"),this._worker.error(w)}}c.prototype={accumulate:function(g){return d(this,g)},on:function(g,p){var b=this;return g==="data"?this._worker.on(g,function(y){p.call(b,y.data,y.meta)}):this._worker.on(g,function(){n.delay(p,arguments,b)}),this},resume:function(){return n.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(g){if(n.checkSupport("nodestream"),this._outputType!=="nodebuffer")throw new Error(this._outputType+" is not supported by this method");return new h(this,{objectMode:this._outputType!=="nodebuffer"},g)}},a.exports=c},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(t,a,i){if(i.base64=!0,i.array=!0,i.string=!0,i.arraybuffer=typeof ArrayBuffer<"u"&&typeof Uint8Array<"u",i.nodebuffer=typeof Buffer<"u",i.uint8array=typeof Uint8Array<"u",typeof ArrayBuffer>"u")i.blob=!1;else{var n=new ArrayBuffer(0);try{i.blob=new Blob([n],{type:"application/zip"}).size===0}catch{try{var o=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);o.append(n),i.blob=o.getBlob("application/zip").size===0}catch{i.blob=!1}}}try{i.nodestream=!!t("readable-stream").Readable}catch{i.nodestream=!1}},{"readable-stream":16}],31:[function(t,a,i){for(var n=t("./utils"),o=t("./support"),l=t("./nodejsUtils"),r=t("./stream/GenericWorker"),m=new Array(256),v=0;v<256;v++)m[v]=252<=v?6:248<=v?5:240<=v?4:224<=v?3:192<=v?2:1;m[254]=m[254]=1;function h(){r.call(this,"utf-8 decode"),this.leftOver=null}function d(){r.call(this,"utf-8 encode")}i.utf8encode=function(c){return o.nodebuffer?l.newBufferFrom(c,"utf-8"):(function(g){var p,b,y,w,F,x=g.length,S=0;for(w=0;w<x;w++)(64512&(b=g.charCodeAt(w)))==55296&&w+1<x&&(64512&(y=g.charCodeAt(w+1)))==56320&&(b=65536+(b-55296<<10)+(y-56320),w++),S+=b<128?1:b<2048?2:b<65536?3:4;for(p=o.uint8array?new Uint8Array(S):new Array(S),w=F=0;F<S;w++)(64512&(b=g.charCodeAt(w)))==55296&&w+1<x&&(64512&(y=g.charCodeAt(w+1)))==56320&&(b=65536+(b-55296<<10)+(y-56320),w++),b<128?p[F++]=b:(b<2048?p[F++]=192|b>>>6:(b<65536?p[F++]=224|b>>>12:(p[F++]=240|b>>>18,p[F++]=128|b>>>12&63),p[F++]=128|b>>>6&63),p[F++]=128|63&b);return p})(c)},i.utf8decode=function(c){return o.nodebuffer?n.transformTo("nodebuffer",c).toString("utf-8"):(function(g){var p,b,y,w,F=g.length,x=new Array(2*F);for(p=b=0;p<F;)if((y=g[p++])<128)x[b++]=y;else if(4<(w=m[y]))x[b++]=65533,p+=w-1;else{for(y&=w===2?31:w===3?15:7;1<w&&p<F;)y=y<<6|63&g[p++],w--;1<w?x[b++]=65533:y<65536?x[b++]=y:(y-=65536,x[b++]=55296|y>>10&1023,x[b++]=56320|1023&y)}return x.length!==b&&(x.subarray?x=x.subarray(0,b):x.length=b),n.applyFromCharCode(x)})(c=n.transformTo(o.uint8array?"uint8array":"array",c))},n.inherits(h,r),h.prototype.processChunk=function(c){var g=n.transformTo(o.uint8array?"uint8array":"array",c.data);if(this.leftOver&&this.leftOver.length){if(o.uint8array){var p=g;(g=new Uint8Array(p.length+this.leftOver.length)).set(this.leftOver,0),g.set(p,this.leftOver.length)}else g=this.leftOver.concat(g);this.leftOver=null}var b=(function(w,F){var x;for((F=F||w.length)>w.length&&(F=w.length),x=F-1;0<=x&&(192&w[x])==128;)x--;return x<0||x===0?F:x+m[w[x]]>F?x:F})(g),y=g;b!==g.length&&(o.uint8array?(y=g.subarray(0,b),this.leftOver=g.subarray(b,g.length)):(y=g.slice(0,b),this.leftOver=g.slice(b,g.length))),this.push({data:i.utf8decode(y),meta:c.meta})},h.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:i.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},i.Utf8DecodeWorker=h,n.inherits(d,r),d.prototype.processChunk=function(c){this.push({data:i.utf8encode(c.data),meta:c.meta})},i.Utf8EncodeWorker=d},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(t,a,i){var n=t("./support"),o=t("./base64"),l=t("./nodejsUtils"),r=t("./external");function m(p){return p}function v(p,b){for(var y=0;y<p.length;++y)b[y]=255&p.charCodeAt(y);return b}t("setimmediate"),i.newBlob=function(p,b){i.checkSupport("blob");try{return new Blob([p],{type:b})}catch{try{var y=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return y.append(p),y.getBlob(b)}catch{throw new Error("Bug : can't construct the Blob.")}}};var h={stringifyByChunk:function(p,b,y){var w=[],F=0,x=p.length;if(x<=y)return String.fromCharCode.apply(null,p);for(;F<x;)b==="array"||b==="nodebuffer"?w.push(String.fromCharCode.apply(null,p.slice(F,Math.min(F+y,x)))):w.push(String.fromCharCode.apply(null,p.subarray(F,Math.min(F+y,x)))),F+=y;return w.join("")},stringifyByChar:function(p){for(var b="",y=0;y<p.length;y++)b+=String.fromCharCode(p[y]);return b},applyCanBeUsed:{uint8array:(function(){try{return n.uint8array&&String.fromCharCode.apply(null,new Uint8Array(1)).length===1}catch{return!1}})(),nodebuffer:(function(){try{return n.nodebuffer&&String.fromCharCode.apply(null,l.allocBuffer(1)).length===1}catch{return!1}})()}};function d(p){var b=65536,y=i.getTypeOf(p),w=!0;if(y==="uint8array"?w=h.applyCanBeUsed.uint8array:y==="nodebuffer"&&(w=h.applyCanBeUsed.nodebuffer),w)for(;1<b;)try{return h.stringifyByChunk(p,y,b)}catch{b=Math.floor(b/2)}return h.stringifyByChar(p)}function c(p,b){for(var y=0;y<p.length;y++)b[y]=p[y];return b}i.applyFromCharCode=d;var g={};g.string={string:m,array:function(p){return v(p,new Array(p.length))},arraybuffer:function(p){return g.string.uint8array(p).buffer},uint8array:function(p){return v(p,new Uint8Array(p.length))},nodebuffer:function(p){return v(p,l.allocBuffer(p.length))}},g.array={string:d,array:m,arraybuffer:function(p){return new Uint8Array(p).buffer},uint8array:function(p){return new Uint8Array(p)},nodebuffer:function(p){return l.newBufferFrom(p)}},g.arraybuffer={string:function(p){return d(new Uint8Array(p))},array:function(p){return c(new Uint8Array(p),new Array(p.byteLength))},arraybuffer:m,uint8array:function(p){return new Uint8Array(p)},nodebuffer:function(p){return l.newBufferFrom(new Uint8Array(p))}},g.uint8array={string:d,array:function(p){return c(p,new Array(p.length))},arraybuffer:function(p){return p.buffer},uint8array:m,nodebuffer:function(p){return l.newBufferFrom(p)}},g.nodebuffer={string:d,array:function(p){return c(p,new Array(p.length))},arraybuffer:function(p){return g.nodebuffer.uint8array(p).buffer},uint8array:function(p){return c(p,new Uint8Array(p.length))},nodebuffer:m},i.transformTo=function(p,b){if(b=b||"",!p)return b;i.checkSupport(p);var y=i.getTypeOf(b);return g[y][p](b)},i.resolve=function(p){for(var b=p.split("/"),y=[],w=0;w<b.length;w++){var F=b[w];F==="."||F===""&&w!==0&&w!==b.length-1||(F===".."?y.pop():y.push(F))}return y.join("/")},i.getTypeOf=function(p){return typeof p=="string"?"string":Object.prototype.toString.call(p)==="[object Array]"?"array":n.nodebuffer&&l.isBuffer(p)?"nodebuffer":n.uint8array&&p instanceof Uint8Array?"uint8array":n.arraybuffer&&p instanceof ArrayBuffer?"arraybuffer":void 0},i.checkSupport=function(p){if(!n[p.toLowerCase()])throw new Error(p+" is not supported by this platform")},i.MAX_VALUE_16BITS=65535,i.MAX_VALUE_32BITS=-1,i.pretty=function(p){var b,y,w="";for(y=0;y<(p||"").length;y++)w+="\\x"+((b=p.charCodeAt(y))<16?"0":"")+b.toString(16).toUpperCase();return w},i.delay=function(p,b,y){setImmediate(function(){p.apply(y||null,b||[])})},i.inherits=function(p,b){function y(){}y.prototype=b.prototype,p.prototype=new y},i.extend=function(){var p,b,y={};for(p=0;p<arguments.length;p++)for(b in arguments[p])Object.prototype.hasOwnProperty.call(arguments[p],b)&&y[b]===void 0&&(y[b]=arguments[p][b]);return y},i.prepareContent=function(p,b,y,w,F){return r.Promise.resolve(b).then(function(x){return n.blob&&(x instanceof Blob||["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(x))!==-1)&&typeof FileReader<"u"?new r.Promise(function(S,U){var P=new FileReader;P.onload=function(j){S(j.target.result)},P.onerror=function(j){U(j.target.error)},P.readAsArrayBuffer(x)}):x}).then(function(x){var S=i.getTypeOf(x);return S?(S==="arraybuffer"?x=i.transformTo("uint8array",x):S==="string"&&(F?x=o.decode(x):y&&w!==!0&&(x=(function(U){return v(U,n.uint8array?new Uint8Array(U.length):new Array(U.length))})(x))),x):r.Promise.reject(new Error("Can't read the data of '"+p+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})}},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,setimmediate:54}],33:[function(t,a,i){var n=t("./reader/readerFor"),o=t("./utils"),l=t("./signature"),r=t("./zipEntry"),m=t("./support");function v(h){this.files=[],this.loadOptions=h}v.prototype={checkSignature:function(h){if(!this.reader.readAndCheckSignature(h)){this.reader.index-=4;var d=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+o.pretty(d)+", expected "+o.pretty(h)+")")}},isSignature:function(h,d){var c=this.reader.index;this.reader.setIndex(h);var g=this.reader.readString(4)===d;return this.reader.setIndex(c),g},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var h=this.reader.readData(this.zipCommentLength),d=m.uint8array?"uint8array":"array",c=o.transformTo(d,h);this.zipComment=this.loadOptions.decodeFileName(c)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var h,d,c,g=this.zip64EndOfCentralSize-44;0<g;)h=this.reader.readInt(2),d=this.reader.readInt(4),c=this.reader.readData(d),this.zip64ExtensibleData[h]={id:h,length:d,value:c}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var h,d;for(h=0;h<this.files.length;h++)d=this.files[h],this.reader.setIndex(d.localHeaderOffset),this.checkSignature(l.LOCAL_FILE_HEADER),d.readLocalPart(this.reader),d.handleUTF8(),d.processAttributes()},readCentralDir:function(){var h;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(l.CENTRAL_FILE_HEADER);)(h=new r({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(h);if(this.centralDirRecords!==this.files.length&&this.centralDirRecords!==0&&this.files.length===0)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var h=this.reader.lastIndexOfSignature(l.CENTRAL_DIRECTORY_END);if(h<0)throw this.isSignature(0,l.LOCAL_FILE_HEADER)?new Error("Corrupted zip: can't find end of central directory"):new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html");this.reader.setIndex(h);var d=h;if(this.checkSignature(l.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===o.MAX_VALUE_16BITS||this.diskWithCentralDirStart===o.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===o.MAX_VALUE_16BITS||this.centralDirRecords===o.MAX_VALUE_16BITS||this.centralDirSize===o.MAX_VALUE_32BITS||this.centralDirOffset===o.MAX_VALUE_32BITS){if(this.zip64=!0,(h=this.reader.lastIndexOfSignature(l.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(h),this.checkSignature(l.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,l.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(l.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(l.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var c=this.centralDirOffset+this.centralDirSize;this.zip64&&(c+=20,c+=12+this.zip64EndOfCentralSize);var g=d-c;if(0<g)this.isSignature(d,l.CENTRAL_FILE_HEADER)||(this.reader.zero=g);else if(g<0)throw new Error("Corrupted zip: missing "+Math.abs(g)+" bytes.")},prepareReader:function(h){this.reader=n(h)},load:function(h){this.prepareReader(h),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},a.exports=v},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utils":32,"./zipEntry":34}],34:[function(t,a,i){var n=t("./reader/readerFor"),o=t("./utils"),l=t("./compressedObject"),r=t("./crc32"),m=t("./utf8"),v=t("./compressions"),h=t("./support");function d(c,g){this.options=c,this.loadOptions=g}d.prototype={isEncrypted:function(){return(1&this.bitFlag)==1},useUTF8:function(){return(2048&this.bitFlag)==2048},readLocalPart:function(c){var g,p;if(c.skip(22),this.fileNameLength=c.readInt(2),p=c.readInt(2),this.fileName=c.readData(this.fileNameLength),c.skip(p),this.compressedSize===-1||this.uncompressedSize===-1)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if((g=(function(b){for(var y in v)if(Object.prototype.hasOwnProperty.call(v,y)&&v[y].magic===b)return v[y];return null})(this.compressionMethod))===null)throw new Error("Corrupted zip : compression "+o.pretty(this.compressionMethod)+" unknown (inner file : "+o.transformTo("string",this.fileName)+")");this.decompressed=new l(this.compressedSize,this.uncompressedSize,this.crc32,g,c.readData(this.compressedSize))},readCentralPart:function(c){this.versionMadeBy=c.readInt(2),c.skip(2),this.bitFlag=c.readInt(2),this.compressionMethod=c.readString(2),this.date=c.readDate(),this.crc32=c.readInt(4),this.compressedSize=c.readInt(4),this.uncompressedSize=c.readInt(4);var g=c.readInt(2);if(this.extraFieldsLength=c.readInt(2),this.fileCommentLength=c.readInt(2),this.diskNumberStart=c.readInt(2),this.internalFileAttributes=c.readInt(2),this.externalFileAttributes=c.readInt(4),this.localHeaderOffset=c.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");c.skip(g),this.readExtraFields(c),this.parseZIP64ExtraField(c),this.fileComment=c.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var c=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),c==0&&(this.dosPermissions=63&this.externalFileAttributes),c==3&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||this.fileNameStr.slice(-1)!=="/"||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var c=n(this.extraFields[1].value);this.uncompressedSize===o.MAX_VALUE_32BITS&&(this.uncompressedSize=c.readInt(8)),this.compressedSize===o.MAX_VALUE_32BITS&&(this.compressedSize=c.readInt(8)),this.localHeaderOffset===o.MAX_VALUE_32BITS&&(this.localHeaderOffset=c.readInt(8)),this.diskNumberStart===o.MAX_VALUE_32BITS&&(this.diskNumberStart=c.readInt(4))}},readExtraFields:function(c){var g,p,b,y=c.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});c.index+4<y;)g=c.readInt(2),p=c.readInt(2),b=c.readData(p),this.extraFields[g]={id:g,length:p,value:b};c.setIndex(y)},handleUTF8:function(){var c=h.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=m.utf8decode(this.fileName),this.fileCommentStr=m.utf8decode(this.fileComment);else{var g=this.findExtraFieldUnicodePath();if(g!==null)this.fileNameStr=g;else{var p=o.transformTo(c,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(p)}var b=this.findExtraFieldUnicodeComment();if(b!==null)this.fileCommentStr=b;else{var y=o.transformTo(c,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(y)}}},findExtraFieldUnicodePath:function(){var c=this.extraFields[28789];if(c){var g=n(c.value);return g.readInt(1)!==1||r(this.fileName)!==g.readInt(4)?null:m.utf8decode(g.readData(c.length-5))}return null},findExtraFieldUnicodeComment:function(){var c=this.extraFields[25461];if(c){var g=n(c.value);return g.readInt(1)!==1||r(this.fileComment)!==g.readInt(4)?null:m.utf8decode(g.readData(c.length-5))}return null}},a.exports=d},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(t,a,i){function n(g,p,b){this.name=g,this.dir=b.dir,this.date=b.date,this.comment=b.comment,this.unixPermissions=b.unixPermissions,this.dosPermissions=b.dosPermissions,this._data=p,this._dataBinary=b.binary,this.options={compression:b.compression,compressionOptions:b.compressionOptions}}var o=t("./stream/StreamHelper"),l=t("./stream/DataWorker"),r=t("./utf8"),m=t("./compressedObject"),v=t("./stream/GenericWorker");n.prototype={internalStream:function(g){var p=null,b="string";try{if(!g)throw new Error("No output type specified.");var y=(b=g.toLowerCase())==="string"||b==="text";b!=="binarystring"&&b!=="text"||(b="string"),p=this._decompressWorker();var w=!this._dataBinary;w&&!y&&(p=p.pipe(new r.Utf8EncodeWorker)),!w&&y&&(p=p.pipe(new r.Utf8DecodeWorker))}catch(F){(p=new v("error")).error(F)}return new o(p,b,"")},async:function(g,p){return this.internalStream(g).accumulate(p)},nodeStream:function(g,p){return this.internalStream(g||"nodebuffer").toNodejsStream(p)},_compressWorker:function(g,p){if(this._data instanceof m&&this._data.compression.magic===g.magic)return this._data.getCompressedWorker();var b=this._decompressWorker();return this._dataBinary||(b=b.pipe(new r.Utf8EncodeWorker)),m.createWorkerFrom(b,g,p)},_decompressWorker:function(){return this._data instanceof m?this._data.getContentWorker():this._data instanceof v?this._data:new l(this._data)}};for(var h=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],d=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},c=0;c<h.length;c++)n.prototype[h[c]]=d;a.exports=n},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(t,a,i){(function(n){var o,l,r=n.MutationObserver||n.WebKitMutationObserver;if(r){var m=0,v=new r(g),h=n.document.createTextNode("");v.observe(h,{characterData:!0}),o=function(){h.data=m=++m%2}}else if(n.setImmediate||n.MessageChannel===void 0)o="document"in n&&"onreadystatechange"in n.document.createElement("script")?function(){var p=n.document.createElement("script");p.onreadystatechange=function(){g(),p.onreadystatechange=null,p.parentNode.removeChild(p),p=null},n.document.documentElement.appendChild(p)}:function(){setTimeout(g,0)};else{var d=new n.MessageChannel;d.port1.onmessage=g,o=function(){d.port2.postMessage(0)}}var c=[];function g(){var p,b;l=!0;for(var y=c.length;y;){for(b=c,c=[],p=-1;++p<y;)b[p]();y=c.length}l=!1}a.exports=function(p){c.push(p)!==1||l||o()}}).call(this,typeof At<"u"?At:typeof self<"u"?self:typeof window<"u"?window:{})},{}],37:[function(t,a,i){var n=t("immediate");function o(){}var l={},r=["REJECTED"],m=["FULFILLED"],v=["PENDING"];function h(y){if(typeof y!="function")throw new TypeError("resolver must be a function");this.state=v,this.queue=[],this.outcome=void 0,y!==o&&p(this,y)}function d(y,w,F){this.promise=y,typeof w=="function"&&(this.onFulfilled=w,this.callFulfilled=this.otherCallFulfilled),typeof F=="function"&&(this.onRejected=F,this.callRejected=this.otherCallRejected)}function c(y,w,F){n(function(){var x;try{x=w(F)}catch(S){return l.reject(y,S)}x===y?l.reject(y,new TypeError("Cannot resolve promise with itself")):l.resolve(y,x)})}function g(y){var w=y&&y.then;if(y&&(typeof y=="object"||typeof y=="function")&&typeof w=="function")return function(){w.apply(y,arguments)}}function p(y,w){var F=!1;function x(P){F||(F=!0,l.reject(y,P))}function S(P){F||(F=!0,l.resolve(y,P))}var U=b(function(){w(S,x)});U.status==="error"&&x(U.value)}function b(y,w){var F={};try{F.value=y(w),F.status="success"}catch(x){F.status="error",F.value=x}return F}(a.exports=h).prototype.finally=function(y){if(typeof y!="function")return this;var w=this.constructor;return this.then(function(F){return w.resolve(y()).then(function(){return F})},function(F){return w.resolve(y()).then(function(){throw F})})},h.prototype.catch=function(y){return this.then(null,y)},h.prototype.then=function(y,w){if(typeof y!="function"&&this.state===m||typeof w!="function"&&this.state===r)return this;var F=new this.constructor(o);return this.state!==v?c(F,this.state===m?y:w,this.outcome):this.queue.push(new d(F,y,w)),F},d.prototype.callFulfilled=function(y){l.resolve(this.promise,y)},d.prototype.otherCallFulfilled=function(y){c(this.promise,this.onFulfilled,y)},d.prototype.callRejected=function(y){l.reject(this.promise,y)},d.prototype.otherCallRejected=function(y){c(this.promise,this.onRejected,y)},l.resolve=function(y,w){var F=b(g,w);if(F.status==="error")return l.reject(y,F.value);var x=F.value;if(x)p(y,x);else{y.state=m,y.outcome=w;for(var S=-1,U=y.queue.length;++S<U;)y.queue[S].callFulfilled(w)}return y},l.reject=function(y,w){y.state=r,y.outcome=w;for(var F=-1,x=y.queue.length;++F<x;)y.queue[F].callRejected(w);return y},h.resolve=function(y){return y instanceof this?y:l.resolve(new this(o),y)},h.reject=function(y){var w=new this(o);return l.reject(w,y)},h.all=function(y){var w=this;if(Object.prototype.toString.call(y)!=="[object Array]")return this.reject(new TypeError("must be an array"));var F=y.length,x=!1;if(!F)return this.resolve([]);for(var S=new Array(F),U=0,P=-1,j=new this(o);++P<F;)O(y[P],P);return j;function O(Y,se){w.resolve(Y).then(function(k){S[se]=k,++U!==F||x||(x=!0,l.resolve(j,S))},function(k){x||(x=!0,l.reject(j,k))})}},h.race=function(y){var w=this;if(Object.prototype.toString.call(y)!=="[object Array]")return this.reject(new TypeError("must be an array"));var F=y.length,x=!1;if(!F)return this.resolve([]);for(var S=-1,U=new this(o);++S<F;)P=y[S],w.resolve(P).then(function(j){x||(x=!0,l.resolve(U,j))},function(j){x||(x=!0,l.reject(U,j))});var P;return U}},{immediate:36}],38:[function(t,a,i){var n={};(0,t("./lib/utils/common").assign)(n,t("./lib/deflate"),t("./lib/inflate"),t("./lib/zlib/constants")),a.exports=n},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(t,a,i){var n=t("./zlib/deflate"),o=t("./utils/common"),l=t("./utils/strings"),r=t("./zlib/messages"),m=t("./zlib/zstream"),v=Object.prototype.toString,h=0,d=-1,c=0,g=8;function p(y){if(!(this instanceof p))return new p(y);this.options=o.assign({level:d,method:g,chunkSize:16384,windowBits:15,memLevel:8,strategy:c,to:""},y||{});var w=this.options;w.raw&&0<w.windowBits?w.windowBits=-w.windowBits:w.gzip&&0<w.windowBits&&w.windowBits<16&&(w.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new m,this.strm.avail_out=0;var F=n.deflateInit2(this.strm,w.level,w.method,w.windowBits,w.memLevel,w.strategy);if(F!==h)throw new Error(r[F]);if(w.header&&n.deflateSetHeader(this.strm,w.header),w.dictionary){var x;if(x=typeof w.dictionary=="string"?l.string2buf(w.dictionary):v.call(w.dictionary)==="[object ArrayBuffer]"?new Uint8Array(w.dictionary):w.dictionary,(F=n.deflateSetDictionary(this.strm,x))!==h)throw new Error(r[F]);this._dict_set=!0}}function b(y,w){var F=new p(w);if(F.push(y,!0),F.err)throw F.msg||r[F.err];return F.result}p.prototype.push=function(y,w){var F,x,S=this.strm,U=this.options.chunkSize;if(this.ended)return!1;x=w===~~w?w:w===!0?4:0,typeof y=="string"?S.input=l.string2buf(y):v.call(y)==="[object ArrayBuffer]"?S.input=new Uint8Array(y):S.input=y,S.next_in=0,S.avail_in=S.input.length;do{if(S.avail_out===0&&(S.output=new o.Buf8(U),S.next_out=0,S.avail_out=U),(F=n.deflate(S,x))!==1&&F!==h)return this.onEnd(F),!(this.ended=!0);S.avail_out!==0&&(S.avail_in!==0||x!==4&&x!==2)||(this.options.to==="string"?this.onData(l.buf2binstring(o.shrinkBuf(S.output,S.next_out))):this.onData(o.shrinkBuf(S.output,S.next_out)))}while((0<S.avail_in||S.avail_out===0)&&F!==1);return x===4?(F=n.deflateEnd(this.strm),this.onEnd(F),this.ended=!0,F===h):x!==2||(this.onEnd(h),!(S.avail_out=0))},p.prototype.onData=function(y){this.chunks.push(y)},p.prototype.onEnd=function(y){y===h&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=y,this.msg=this.strm.msg},i.Deflate=p,i.deflate=b,i.deflateRaw=function(y,w){return(w=w||{}).raw=!0,b(y,w)},i.gzip=function(y,w){return(w=w||{}).gzip=!0,b(y,w)}},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(t,a,i){var n=t("./zlib/inflate"),o=t("./utils/common"),l=t("./utils/strings"),r=t("./zlib/constants"),m=t("./zlib/messages"),v=t("./zlib/zstream"),h=t("./zlib/gzheader"),d=Object.prototype.toString;function c(p){if(!(this instanceof c))return new c(p);this.options=o.assign({chunkSize:16384,windowBits:0,to:""},p||{});var b=this.options;b.raw&&0<=b.windowBits&&b.windowBits<16&&(b.windowBits=-b.windowBits,b.windowBits===0&&(b.windowBits=-15)),!(0<=b.windowBits&&b.windowBits<16)||p&&p.windowBits||(b.windowBits+=32),15<b.windowBits&&b.windowBits<48&&(15&b.windowBits)==0&&(b.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new v,this.strm.avail_out=0;var y=n.inflateInit2(this.strm,b.windowBits);if(y!==r.Z_OK)throw new Error(m[y]);this.header=new h,n.inflateGetHeader(this.strm,this.header)}function g(p,b){var y=new c(b);if(y.push(p,!0),y.err)throw y.msg||m[y.err];return y.result}c.prototype.push=function(p,b){var y,w,F,x,S,U,P=this.strm,j=this.options.chunkSize,O=this.options.dictionary,Y=!1;if(this.ended)return!1;w=b===~~b?b:b===!0?r.Z_FINISH:r.Z_NO_FLUSH,typeof p=="string"?P.input=l.binstring2buf(p):d.call(p)==="[object ArrayBuffer]"?P.input=new Uint8Array(p):P.input=p,P.next_in=0,P.avail_in=P.input.length;do{if(P.avail_out===0&&(P.output=new o.Buf8(j),P.next_out=0,P.avail_out=j),(y=n.inflate(P,r.Z_NO_FLUSH))===r.Z_NEED_DICT&&O&&(U=typeof O=="string"?l.string2buf(O):d.call(O)==="[object ArrayBuffer]"?new Uint8Array(O):O,y=n.inflateSetDictionary(this.strm,U)),y===r.Z_BUF_ERROR&&Y===!0&&(y=r.Z_OK,Y=!1),y!==r.Z_STREAM_END&&y!==r.Z_OK)return this.onEnd(y),!(this.ended=!0);P.next_out&&(P.avail_out!==0&&y!==r.Z_STREAM_END&&(P.avail_in!==0||w!==r.Z_FINISH&&w!==r.Z_SYNC_FLUSH)||(this.options.to==="string"?(F=l.utf8border(P.output,P.next_out),x=P.next_out-F,S=l.buf2string(P.output,F),P.next_out=x,P.avail_out=j-x,x&&o.arraySet(P.output,P.output,F,x,0),this.onData(S)):this.onData(o.shrinkBuf(P.output,P.next_out)))),P.avail_in===0&&P.avail_out===0&&(Y=!0)}while((0<P.avail_in||P.avail_out===0)&&y!==r.Z_STREAM_END);return y===r.Z_STREAM_END&&(w=r.Z_FINISH),w===r.Z_FINISH?(y=n.inflateEnd(this.strm),this.onEnd(y),this.ended=!0,y===r.Z_OK):w!==r.Z_SYNC_FLUSH||(this.onEnd(r.Z_OK),!(P.avail_out=0))},c.prototype.onData=function(p){this.chunks.push(p)},c.prototype.onEnd=function(p){p===r.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=p,this.msg=this.strm.msg},i.Inflate=c,i.inflate=g,i.inflateRaw=function(p,b){return(b=b||{}).raw=!0,g(p,b)},i.ungzip=g},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(t,a,i){var n=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";i.assign=function(r){for(var m=Array.prototype.slice.call(arguments,1);m.length;){var v=m.shift();if(v){if(typeof v!="object")throw new TypeError(v+"must be non-object");for(var h in v)v.hasOwnProperty(h)&&(r[h]=v[h])}}return r},i.shrinkBuf=function(r,m){return r.length===m?r:r.subarray?r.subarray(0,m):(r.length=m,r)};var o={arraySet:function(r,m,v,h,d){if(m.subarray&&r.subarray)r.set(m.subarray(v,v+h),d);else for(var c=0;c<h;c++)r[d+c]=m[v+c]},flattenChunks:function(r){var m,v,h,d,c,g;for(m=h=0,v=r.length;m<v;m++)h+=r[m].length;for(g=new Uint8Array(h),m=d=0,v=r.length;m<v;m++)c=r[m],g.set(c,d),d+=c.length;return g}},l={arraySet:function(r,m,v,h,d){for(var c=0;c<h;c++)r[d+c]=m[v+c]},flattenChunks:function(r){return[].concat.apply([],r)}};i.setTyped=function(r){r?(i.Buf8=Uint8Array,i.Buf16=Uint16Array,i.Buf32=Int32Array,i.assign(i,o)):(i.Buf8=Array,i.Buf16=Array,i.Buf32=Array,i.assign(i,l))},i.setTyped(n)},{}],42:[function(t,a,i){var n=t("./common"),o=!0,l=!0;try{String.fromCharCode.apply(null,[0])}catch{o=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{l=!1}for(var r=new n.Buf8(256),m=0;m<256;m++)r[m]=252<=m?6:248<=m?5:240<=m?4:224<=m?3:192<=m?2:1;function v(h,d){if(d<65537&&(h.subarray&&l||!h.subarray&&o))return String.fromCharCode.apply(null,n.shrinkBuf(h,d));for(var c="",g=0;g<d;g++)c+=String.fromCharCode(h[g]);return c}r[254]=r[254]=1,i.string2buf=function(h){var d,c,g,p,b,y=h.length,w=0;for(p=0;p<y;p++)(64512&(c=h.charCodeAt(p)))==55296&&p+1<y&&(64512&(g=h.charCodeAt(p+1)))==56320&&(c=65536+(c-55296<<10)+(g-56320),p++),w+=c<128?1:c<2048?2:c<65536?3:4;for(d=new n.Buf8(w),p=b=0;b<w;p++)(64512&(c=h.charCodeAt(p)))==55296&&p+1<y&&(64512&(g=h.charCodeAt(p+1)))==56320&&(c=65536+(c-55296<<10)+(g-56320),p++),c<128?d[b++]=c:(c<2048?d[b++]=192|c>>>6:(c<65536?d[b++]=224|c>>>12:(d[b++]=240|c>>>18,d[b++]=128|c>>>12&63),d[b++]=128|c>>>6&63),d[b++]=128|63&c);return d},i.buf2binstring=function(h){return v(h,h.length)},i.binstring2buf=function(h){for(var d=new n.Buf8(h.length),c=0,g=d.length;c<g;c++)d[c]=h.charCodeAt(c);return d},i.buf2string=function(h,d){var c,g,p,b,y=d||h.length,w=new Array(2*y);for(c=g=0;c<y;)if((p=h[c++])<128)w[g++]=p;else if(4<(b=r[p]))w[g++]=65533,c+=b-1;else{for(p&=b===2?31:b===3?15:7;1<b&&c<y;)p=p<<6|63&h[c++],b--;1<b?w[g++]=65533:p<65536?w[g++]=p:(p-=65536,w[g++]=55296|p>>10&1023,w[g++]=56320|1023&p)}return v(w,g)},i.utf8border=function(h,d){var c;for((d=d||h.length)>h.length&&(d=h.length),c=d-1;0<=c&&(192&h[c])==128;)c--;return c<0||c===0?d:c+r[h[c]]>d?c:d}},{"./common":41}],43:[function(t,a,i){a.exports=function(n,o,l,r){for(var m=65535&n|0,v=n>>>16&65535|0,h=0;l!==0;){for(l-=h=2e3<l?2e3:l;v=v+(m=m+o[r++]|0)|0,--h;);m%=65521,v%=65521}return m|v<<16|0}},{}],44:[function(t,a,i){a.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(t,a,i){var n=(function(){for(var o,l=[],r=0;r<256;r++){o=r;for(var m=0;m<8;m++)o=1&o?3988292384^o>>>1:o>>>1;l[r]=o}return l})();a.exports=function(o,l,r,m){var v=n,h=m+r;o^=-1;for(var d=m;d<h;d++)o=o>>>8^v[255&(o^l[d])];return-1^o}},{}],46:[function(t,a,i){var n,o=t("../utils/common"),l=t("./trees"),r=t("./adler32"),m=t("./crc32"),v=t("./messages"),h=0,d=4,c=0,g=-2,p=-1,b=4,y=2,w=8,F=9,x=286,S=30,U=19,P=2*x+1,j=15,O=3,Y=258,se=Y+O+1,k=42,G=113,f=1,V=2,ce=3,X=4;function ge(u,z){return u.msg=v[z],z}function Q(u){return(u<<1)-(4<u?9:0)}function ne(u){for(var z=u.length;0<=--z;)u[z]=0}function E(u){var z=u.state,B=z.pending;B>u.avail_out&&(B=u.avail_out),B!==0&&(o.arraySet(u.output,z.pending_buf,z.pending_out,B,u.next_out),u.next_out+=B,z.pending_out+=B,u.total_out+=B,u.avail_out-=B,z.pending-=B,z.pending===0&&(z.pending_out=0))}function I(u,z){l._tr_flush_block(u,0<=u.block_start?u.block_start:-1,u.strstart-u.block_start,z),u.block_start=u.strstart,E(u.strm)}function H(u,z){u.pending_buf[u.pending++]=z}function J(u,z){u.pending_buf[u.pending++]=z>>>8&255,u.pending_buf[u.pending++]=255&z}function q(u,z){var B,C,T=u.max_chain_length,_=u.strstart,Z=u.prev_length,K=u.nice_match,R=u.strstart>u.w_size-se?u.strstart-(u.w_size-se):0,M=u.window,N=u.w_mask,W=u.prev,$=u.strstart+Y,he=M[_+Z-1],ye=M[_+Z];u.prev_length>=u.good_match&&(T>>=2),K>u.lookahead&&(K=u.lookahead);do if(M[(B=z)+Z]===ye&&M[B+Z-1]===he&&M[B]===M[_]&&M[++B]===M[_+1]){_+=2,B++;do;while(M[++_]===M[++B]&&M[++_]===M[++B]&&M[++_]===M[++B]&&M[++_]===M[++B]&&M[++_]===M[++B]&&M[++_]===M[++B]&&M[++_]===M[++B]&&M[++_]===M[++B]&&_<$);if(C=Y-($-_),_=$-Y,Z<C){if(u.match_start=z,K<=(Z=C))break;he=M[_+Z-1],ye=M[_+Z]}}while((z=W[z&N])>R&&--T!=0);return Z<=u.lookahead?Z:u.lookahead}function fe(u){var z,B,C,T,_,Z,K,R,M,N,W=u.w_size;do{if(T=u.window_size-u.lookahead-u.strstart,u.strstart>=W+(W-se)){for(o.arraySet(u.window,u.window,W,W,0),u.match_start-=W,u.strstart-=W,u.block_start-=W,z=B=u.hash_size;C=u.head[--z],u.head[z]=W<=C?C-W:0,--B;);for(z=B=W;C=u.prev[--z],u.prev[z]=W<=C?C-W:0,--B;);T+=W}if(u.strm.avail_in===0)break;if(Z=u.strm,K=u.window,R=u.strstart+u.lookahead,M=T,N=void 0,N=Z.avail_in,M<N&&(N=M),B=N===0?0:(Z.avail_in-=N,o.arraySet(K,Z.input,Z.next_in,N,R),Z.state.wrap===1?Z.adler=r(Z.adler,K,N,R):Z.state.wrap===2&&(Z.adler=m(Z.adler,K,N,R)),Z.next_in+=N,Z.total_in+=N,N),u.lookahead+=B,u.lookahead+u.insert>=O)for(_=u.strstart-u.insert,u.ins_h=u.window[_],u.ins_h=(u.ins_h<<u.hash_shift^u.window[_+1])&u.hash_mask;u.insert&&(u.ins_h=(u.ins_h<<u.hash_shift^u.window[_+O-1])&u.hash_mask,u.prev[_&u.w_mask]=u.head[u.ins_h],u.head[u.ins_h]=_,_++,u.insert--,!(u.lookahead+u.insert<O)););}while(u.lookahead<se&&u.strm.avail_in!==0)}function Ce(u,z){for(var B,C;;){if(u.lookahead<se){if(fe(u),u.lookahead<se&&z===h)return f;if(u.lookahead===0)break}if(B=0,u.lookahead>=O&&(u.ins_h=(u.ins_h<<u.hash_shift^u.window[u.strstart+O-1])&u.hash_mask,B=u.prev[u.strstart&u.w_mask]=u.head[u.ins_h],u.head[u.ins_h]=u.strstart),B!==0&&u.strstart-B<=u.w_size-se&&(u.match_length=q(u,B)),u.match_length>=O)if(C=l._tr_tally(u,u.strstart-u.match_start,u.match_length-O),u.lookahead-=u.match_length,u.match_length<=u.max_lazy_match&&u.lookahead>=O){for(u.match_length--;u.strstart++,u.ins_h=(u.ins_h<<u.hash_shift^u.window[u.strstart+O-1])&u.hash_mask,B=u.prev[u.strstart&u.w_mask]=u.head[u.ins_h],u.head[u.ins_h]=u.strstart,--u.match_length!=0;);u.strstart++}else u.strstart+=u.match_length,u.match_length=0,u.ins_h=u.window[u.strstart],u.ins_h=(u.ins_h<<u.hash_shift^u.window[u.strstart+1])&u.hash_mask;else C=l._tr_tally(u,0,u.window[u.strstart]),u.lookahead--,u.strstart++;if(C&&(I(u,!1),u.strm.avail_out===0))return f}return u.insert=u.strstart<O-1?u.strstart:O-1,z===d?(I(u,!0),u.strm.avail_out===0?ce:X):u.last_lit&&(I(u,!1),u.strm.avail_out===0)?f:V}function me(u,z){for(var B,C,T;;){if(u.lookahead<se){if(fe(u),u.lookahead<se&&z===h)return f;if(u.lookahead===0)break}if(B=0,u.lookahead>=O&&(u.ins_h=(u.ins_h<<u.hash_shift^u.window[u.strstart+O-1])&u.hash_mask,B=u.prev[u.strstart&u.w_mask]=u.head[u.ins_h],u.head[u.ins_h]=u.strstart),u.prev_length=u.match_length,u.prev_match=u.match_start,u.match_length=O-1,B!==0&&u.prev_length<u.max_lazy_match&&u.strstart-B<=u.w_size-se&&(u.match_length=q(u,B),u.match_length<=5&&(u.strategy===1||u.match_length===O&&4096<u.strstart-u.match_start)&&(u.match_length=O-1)),u.prev_length>=O&&u.match_length<=u.prev_length){for(T=u.strstart+u.lookahead-O,C=l._tr_tally(u,u.strstart-1-u.prev_match,u.prev_length-O),u.lookahead-=u.prev_length-1,u.prev_length-=2;++u.strstart<=T&&(u.ins_h=(u.ins_h<<u.hash_shift^u.window[u.strstart+O-1])&u.hash_mask,B=u.prev[u.strstart&u.w_mask]=u.head[u.ins_h],u.head[u.ins_h]=u.strstart),--u.prev_length!=0;);if(u.match_available=0,u.match_length=O-1,u.strstart++,C&&(I(u,!1),u.strm.avail_out===0))return f}else if(u.match_available){if((C=l._tr_tally(u,0,u.window[u.strstart-1]))&&I(u,!1),u.strstart++,u.lookahead--,u.strm.avail_out===0)return f}else u.match_available=1,u.strstart++,u.lookahead--}return u.match_available&&(C=l._tr_tally(u,0,u.window[u.strstart-1]),u.match_available=0),u.insert=u.strstart<O-1?u.strstart:O-1,z===d?(I(u,!0),u.strm.avail_out===0?ce:X):u.last_lit&&(I(u,!1),u.strm.avail_out===0)?f:V}function ee(u,z,B,C,T){this.good_length=u,this.max_lazy=z,this.nice_length=B,this.max_chain=C,this.func=T}function le(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=w,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new o.Buf16(2*P),this.dyn_dtree=new o.Buf16(2*(2*S+1)),this.bl_tree=new o.Buf16(2*(2*U+1)),ne(this.dyn_ltree),ne(this.dyn_dtree),ne(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new o.Buf16(j+1),this.heap=new o.Buf16(2*x+1),ne(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new o.Buf16(2*x+1),ne(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function re(u){var z;return u&&u.state?(u.total_in=u.total_out=0,u.data_type=y,(z=u.state).pending=0,z.pending_out=0,z.wrap<0&&(z.wrap=-z.wrap),z.status=z.wrap?k:G,u.adler=z.wrap===2?0:1,z.last_flush=h,l._tr_init(z),c):ge(u,g)}function ve(u){var z=re(u);return z===c&&(function(B){B.window_size=2*B.w_size,ne(B.head),B.max_lazy_match=n[B.level].max_lazy,B.good_match=n[B.level].good_length,B.nice_match=n[B.level].nice_length,B.max_chain_length=n[B.level].max_chain,B.strstart=0,B.block_start=0,B.lookahead=0,B.insert=0,B.match_length=B.prev_length=O-1,B.match_available=0,B.ins_h=0})(u.state),z}function Te(u,z,B,C,T,_){if(!u)return g;var Z=1;if(z===p&&(z=6),C<0?(Z=0,C=-C):15<C&&(Z=2,C-=16),T<1||F<T||B!==w||C<8||15<C||z<0||9<z||_<0||b<_)return ge(u,g);C===8&&(C=9);var K=new le;return(u.state=K).strm=u,K.wrap=Z,K.gzhead=null,K.w_bits=C,K.w_size=1<<K.w_bits,K.w_mask=K.w_size-1,K.hash_bits=T+7,K.hash_size=1<<K.hash_bits,K.hash_mask=K.hash_size-1,K.hash_shift=~~((K.hash_bits+O-1)/O),K.window=new o.Buf8(2*K.w_size),K.head=new o.Buf16(K.hash_size),K.prev=new o.Buf16(K.w_size),K.lit_bufsize=1<<T+6,K.pending_buf_size=4*K.lit_bufsize,K.pending_buf=new o.Buf8(K.pending_buf_size),K.d_buf=1*K.lit_bufsize,K.l_buf=3*K.lit_bufsize,K.level=z,K.strategy=_,K.method=B,ve(u)}n=[new ee(0,0,0,0,function(u,z){var B=65535;for(B>u.pending_buf_size-5&&(B=u.pending_buf_size-5);;){if(u.lookahead<=1){if(fe(u),u.lookahead===0&&z===h)return f;if(u.lookahead===0)break}u.strstart+=u.lookahead,u.lookahead=0;var C=u.block_start+B;if((u.strstart===0||u.strstart>=C)&&(u.lookahead=u.strstart-C,u.strstart=C,I(u,!1),u.strm.avail_out===0)||u.strstart-u.block_start>=u.w_size-se&&(I(u,!1),u.strm.avail_out===0))return f}return u.insert=0,z===d?(I(u,!0),u.strm.avail_out===0?ce:X):(u.strstart>u.block_start&&(I(u,!1),u.strm.avail_out),f)}),new ee(4,4,8,4,Ce),new ee(4,5,16,8,Ce),new ee(4,6,32,32,Ce),new ee(4,4,16,16,me),new ee(8,16,32,32,me),new ee(8,16,128,128,me),new ee(8,32,128,256,me),new ee(32,128,258,1024,me),new ee(32,258,258,4096,me)],i.deflateInit=function(u,z){return Te(u,z,w,15,8,0)},i.deflateInit2=Te,i.deflateReset=ve,i.deflateResetKeep=re,i.deflateSetHeader=function(u,z){return u&&u.state?u.state.wrap!==2?g:(u.state.gzhead=z,c):g},i.deflate=function(u,z){var B,C,T,_;if(!u||!u.state||5<z||z<0)return u?ge(u,g):g;if(C=u.state,!u.output||!u.input&&u.avail_in!==0||C.status===666&&z!==d)return ge(u,u.avail_out===0?-5:g);if(C.strm=u,B=C.last_flush,C.last_flush=z,C.status===k)if(C.wrap===2)u.adler=0,H(C,31),H(C,139),H(C,8),C.gzhead?(H(C,(C.gzhead.text?1:0)+(C.gzhead.hcrc?2:0)+(C.gzhead.extra?4:0)+(C.gzhead.name?8:0)+(C.gzhead.comment?16:0)),H(C,255&C.gzhead.time),H(C,C.gzhead.time>>8&255),H(C,C.gzhead.time>>16&255),H(C,C.gzhead.time>>24&255),H(C,C.level===9?2:2<=C.strategy||C.level<2?4:0),H(C,255&C.gzhead.os),C.gzhead.extra&&C.gzhead.extra.length&&(H(C,255&C.gzhead.extra.length),H(C,C.gzhead.extra.length>>8&255)),C.gzhead.hcrc&&(u.adler=m(u.adler,C.pending_buf,C.pending,0)),C.gzindex=0,C.status=69):(H(C,0),H(C,0),H(C,0),H(C,0),H(C,0),H(C,C.level===9?2:2<=C.strategy||C.level<2?4:0),H(C,3),C.status=G);else{var Z=w+(C.w_bits-8<<4)<<8;Z|=(2<=C.strategy||C.level<2?0:C.level<6?1:C.level===6?2:3)<<6,C.strstart!==0&&(Z|=32),Z+=31-Z%31,C.status=G,J(C,Z),C.strstart!==0&&(J(C,u.adler>>>16),J(C,65535&u.adler)),u.adler=1}if(C.status===69)if(C.gzhead.extra){for(T=C.pending;C.gzindex<(65535&C.gzhead.extra.length)&&(C.pending!==C.pending_buf_size||(C.gzhead.hcrc&&C.pending>T&&(u.adler=m(u.adler,C.pending_buf,C.pending-T,T)),E(u),T=C.pending,C.pending!==C.pending_buf_size));)H(C,255&C.gzhead.extra[C.gzindex]),C.gzindex++;C.gzhead.hcrc&&C.pending>T&&(u.adler=m(u.adler,C.pending_buf,C.pending-T,T)),C.gzindex===C.gzhead.extra.length&&(C.gzindex=0,C.status=73)}else C.status=73;if(C.status===73)if(C.gzhead.name){T=C.pending;do{if(C.pending===C.pending_buf_size&&(C.gzhead.hcrc&&C.pending>T&&(u.adler=m(u.adler,C.pending_buf,C.pending-T,T)),E(u),T=C.pending,C.pending===C.pending_buf_size)){_=1;break}_=C.gzindex<C.gzhead.name.length?255&C.gzhead.name.charCodeAt(C.gzindex++):0,H(C,_)}while(_!==0);C.gzhead.hcrc&&C.pending>T&&(u.adler=m(u.adler,C.pending_buf,C.pending-T,T)),_===0&&(C.gzindex=0,C.status=91)}else C.status=91;if(C.status===91)if(C.gzhead.comment){T=C.pending;do{if(C.pending===C.pending_buf_size&&(C.gzhead.hcrc&&C.pending>T&&(u.adler=m(u.adler,C.pending_buf,C.pending-T,T)),E(u),T=C.pending,C.pending===C.pending_buf_size)){_=1;break}_=C.gzindex<C.gzhead.comment.length?255&C.gzhead.comment.charCodeAt(C.gzindex++):0,H(C,_)}while(_!==0);C.gzhead.hcrc&&C.pending>T&&(u.adler=m(u.adler,C.pending_buf,C.pending-T,T)),_===0&&(C.status=103)}else C.status=103;if(C.status===103&&(C.gzhead.hcrc?(C.pending+2>C.pending_buf_size&&E(u),C.pending+2<=C.pending_buf_size&&(H(C,255&u.adler),H(C,u.adler>>8&255),u.adler=0,C.status=G)):C.status=G),C.pending!==0){if(E(u),u.avail_out===0)return C.last_flush=-1,c}else if(u.avail_in===0&&Q(z)<=Q(B)&&z!==d)return ge(u,-5);if(C.status===666&&u.avail_in!==0)return ge(u,-5);if(u.avail_in!==0||C.lookahead!==0||z!==h&&C.status!==666){var K=C.strategy===2?(function(R,M){for(var N;;){if(R.lookahead===0&&(fe(R),R.lookahead===0)){if(M===h)return f;break}if(R.match_length=0,N=l._tr_tally(R,0,R.window[R.strstart]),R.lookahead--,R.strstart++,N&&(I(R,!1),R.strm.avail_out===0))return f}return R.insert=0,M===d?(I(R,!0),R.strm.avail_out===0?ce:X):R.last_lit&&(I(R,!1),R.strm.avail_out===0)?f:V})(C,z):C.strategy===3?(function(R,M){for(var N,W,$,he,ye=R.window;;){if(R.lookahead<=Y){if(fe(R),R.lookahead<=Y&&M===h)return f;if(R.lookahead===0)break}if(R.match_length=0,R.lookahead>=O&&0<R.strstart&&(W=ye[$=R.strstart-1])===ye[++$]&&W===ye[++$]&&W===ye[++$]){he=R.strstart+Y;do;while(W===ye[++$]&&W===ye[++$]&&W===ye[++$]&&W===ye[++$]&&W===ye[++$]&&W===ye[++$]&&W===ye[++$]&&W===ye[++$]&&$<he);R.match_length=Y-(he-$),R.match_length>R.lookahead&&(R.match_length=R.lookahead)}if(R.match_length>=O?(N=l._tr_tally(R,1,R.match_length-O),R.lookahead-=R.match_length,R.strstart+=R.match_length,R.match_length=0):(N=l._tr_tally(R,0,R.window[R.strstart]),R.lookahead--,R.strstart++),N&&(I(R,!1),R.strm.avail_out===0))return f}return R.insert=0,M===d?(I(R,!0),R.strm.avail_out===0?ce:X):R.last_lit&&(I(R,!1),R.strm.avail_out===0)?f:V})(C,z):n[C.level].func(C,z);if(K!==ce&&K!==X||(C.status=666),K===f||K===ce)return u.avail_out===0&&(C.last_flush=-1),c;if(K===V&&(z===1?l._tr_align(C):z!==5&&(l._tr_stored_block(C,0,0,!1),z===3&&(ne(C.head),C.lookahead===0&&(C.strstart=0,C.block_start=0,C.insert=0))),E(u),u.avail_out===0))return C.last_flush=-1,c}return z!==d?c:C.wrap<=0?1:(C.wrap===2?(H(C,255&u.adler),H(C,u.adler>>8&255),H(C,u.adler>>16&255),H(C,u.adler>>24&255),H(C,255&u.total_in),H(C,u.total_in>>8&255),H(C,u.total_in>>16&255),H(C,u.total_in>>24&255)):(J(C,u.adler>>>16),J(C,65535&u.adler)),E(u),0<C.wrap&&(C.wrap=-C.wrap),C.pending!==0?c:1)},i.deflateEnd=function(u){var z;return u&&u.state?(z=u.state.status)!==k&&z!==69&&z!==73&&z!==91&&z!==103&&z!==G&&z!==666?ge(u,g):(u.state=null,z===G?ge(u,-3):c):g},i.deflateSetDictionary=function(u,z){var B,C,T,_,Z,K,R,M,N=z.length;if(!u||!u.state||(_=(B=u.state).wrap)===2||_===1&&B.status!==k||B.lookahead)return g;for(_===1&&(u.adler=r(u.adler,z,N,0)),B.wrap=0,N>=B.w_size&&(_===0&&(ne(B.head),B.strstart=0,B.block_start=0,B.insert=0),M=new o.Buf8(B.w_size),o.arraySet(M,z,N-B.w_size,B.w_size,0),z=M,N=B.w_size),Z=u.avail_in,K=u.next_in,R=u.input,u.avail_in=N,u.next_in=0,u.input=z,fe(B);B.lookahead>=O;){for(C=B.strstart,T=B.lookahead-(O-1);B.ins_h=(B.ins_h<<B.hash_shift^B.window[C+O-1])&B.hash_mask,B.prev[C&B.w_mask]=B.head[B.ins_h],B.head[B.ins_h]=C,C++,--T;);B.strstart=C,B.lookahead=O-1,fe(B)}return B.strstart+=B.lookahead,B.block_start=B.strstart,B.insert=B.lookahead,B.lookahead=0,B.match_length=B.prev_length=O-1,B.match_available=0,u.next_in=K,u.input=R,u.avail_in=Z,B.wrap=_,c},i.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(t,a,i){a.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},{}],48:[function(t,a,i){a.exports=function(n,o){var l,r,m,v,h,d,c,g,p,b,y,w,F,x,S,U,P,j,O,Y,se,k,G,f,V;l=n.state,r=n.next_in,f=n.input,m=r+(n.avail_in-5),v=n.next_out,V=n.output,h=v-(o-n.avail_out),d=v+(n.avail_out-257),c=l.dmax,g=l.wsize,p=l.whave,b=l.wnext,y=l.window,w=l.hold,F=l.bits,x=l.lencode,S=l.distcode,U=(1<<l.lenbits)-1,P=(1<<l.distbits)-1;e:do{F<15&&(w+=f[r++]<<F,F+=8,w+=f[r++]<<F,F+=8),j=x[w&U];s:for(;;){if(w>>>=O=j>>>24,F-=O,(O=j>>>16&255)===0)V[v++]=65535&j;else{if(!(16&O)){if((64&O)==0){j=x[(65535&j)+(w&(1<<O)-1)];continue s}if(32&O){l.mode=12;break e}n.msg="invalid literal/length code",l.mode=30;break e}Y=65535&j,(O&=15)&&(F<O&&(w+=f[r++]<<F,F+=8),Y+=w&(1<<O)-1,w>>>=O,F-=O),F<15&&(w+=f[r++]<<F,F+=8,w+=f[r++]<<F,F+=8),j=S[w&P];t:for(;;){if(w>>>=O=j>>>24,F-=O,!(16&(O=j>>>16&255))){if((64&O)==0){j=S[(65535&j)+(w&(1<<O)-1)];continue t}n.msg="invalid distance code",l.mode=30;break e}if(se=65535&j,F<(O&=15)&&(w+=f[r++]<<F,(F+=8)<O&&(w+=f[r++]<<F,F+=8)),c<(se+=w&(1<<O)-1)){n.msg="invalid distance too far back",l.mode=30;break e}if(w>>>=O,F-=O,(O=v-h)<se){if(p<(O=se-O)&&l.sane){n.msg="invalid distance too far back",l.mode=30;break e}if(G=y,(k=0)===b){if(k+=g-O,O<Y){for(Y-=O;V[v++]=y[k++],--O;);k=v-se,G=V}}else if(b<O){if(k+=g+b-O,(O-=b)<Y){for(Y-=O;V[v++]=y[k++],--O;);if(k=0,b<Y){for(Y-=O=b;V[v++]=y[k++],--O;);k=v-se,G=V}}}else if(k+=b-O,O<Y){for(Y-=O;V[v++]=y[k++],--O;);k=v-se,G=V}for(;2<Y;)V[v++]=G[k++],V[v++]=G[k++],V[v++]=G[k++],Y-=3;Y&&(V[v++]=G[k++],1<Y&&(V[v++]=G[k++]))}else{for(k=v-se;V[v++]=V[k++],V[v++]=V[k++],V[v++]=V[k++],2<(Y-=3););Y&&(V[v++]=V[k++],1<Y&&(V[v++]=V[k++]))}break}}break}}while(r<m&&v<d);r-=Y=F>>3,w&=(1<<(F-=Y<<3))-1,n.next_in=r,n.next_out=v,n.avail_in=r<m?m-r+5:5-(r-m),n.avail_out=v<d?d-v+257:257-(v-d),l.hold=w,l.bits=F}},{}],49:[function(t,a,i){var n=t("../utils/common"),o=t("./adler32"),l=t("./crc32"),r=t("./inffast"),m=t("./inftrees"),v=1,h=2,d=0,c=-2,g=1,p=852,b=592;function y(k){return(k>>>24&255)+(k>>>8&65280)+((65280&k)<<8)+((255&k)<<24)}function w(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new n.Buf16(320),this.work=new n.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function F(k){var G;return k&&k.state?(G=k.state,k.total_in=k.total_out=G.total=0,k.msg="",G.wrap&&(k.adler=1&G.wrap),G.mode=g,G.last=0,G.havedict=0,G.dmax=32768,G.head=null,G.hold=0,G.bits=0,G.lencode=G.lendyn=new n.Buf32(p),G.distcode=G.distdyn=new n.Buf32(b),G.sane=1,G.back=-1,d):c}function x(k){var G;return k&&k.state?((G=k.state).wsize=0,G.whave=0,G.wnext=0,F(k)):c}function S(k,G){var f,V;return k&&k.state?(V=k.state,G<0?(f=0,G=-G):(f=1+(G>>4),G<48&&(G&=15)),G&&(G<8||15<G)?c:(V.window!==null&&V.wbits!==G&&(V.window=null),V.wrap=f,V.wbits=G,x(k))):c}function U(k,G){var f,V;return k?(V=new w,(k.state=V).window=null,(f=S(k,G))!==d&&(k.state=null),f):c}var P,j,O=!0;function Y(k){if(O){var G;for(P=new n.Buf32(512),j=new n.Buf32(32),G=0;G<144;)k.lens[G++]=8;for(;G<256;)k.lens[G++]=9;for(;G<280;)k.lens[G++]=7;for(;G<288;)k.lens[G++]=8;for(m(v,k.lens,0,288,P,0,k.work,{bits:9}),G=0;G<32;)k.lens[G++]=5;m(h,k.lens,0,32,j,0,k.work,{bits:5}),O=!1}k.lencode=P,k.lenbits=9,k.distcode=j,k.distbits=5}function se(k,G,f,V){var ce,X=k.state;return X.window===null&&(X.wsize=1<<X.wbits,X.wnext=0,X.whave=0,X.window=new n.Buf8(X.wsize)),V>=X.wsize?(n.arraySet(X.window,G,f-X.wsize,X.wsize,0),X.wnext=0,X.whave=X.wsize):(V<(ce=X.wsize-X.wnext)&&(ce=V),n.arraySet(X.window,G,f-V,ce,X.wnext),(V-=ce)?(n.arraySet(X.window,G,f-V,V,0),X.wnext=V,X.whave=X.wsize):(X.wnext+=ce,X.wnext===X.wsize&&(X.wnext=0),X.whave<X.wsize&&(X.whave+=ce))),0}i.inflateReset=x,i.inflateReset2=S,i.inflateResetKeep=F,i.inflateInit=function(k){return U(k,15)},i.inflateInit2=U,i.inflate=function(k,G){var f,V,ce,X,ge,Q,ne,E,I,H,J,q,fe,Ce,me,ee,le,re,ve,Te,u,z,B,C,T=0,_=new n.Buf8(4),Z=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!k||!k.state||!k.output||!k.input&&k.avail_in!==0)return c;(f=k.state).mode===12&&(f.mode=13),ge=k.next_out,ce=k.output,ne=k.avail_out,X=k.next_in,V=k.input,Q=k.avail_in,E=f.hold,I=f.bits,H=Q,J=ne,z=d;e:for(;;)switch(f.mode){case g:if(f.wrap===0){f.mode=13;break}for(;I<16;){if(Q===0)break e;Q--,E+=V[X++]<<I,I+=8}if(2&f.wrap&&E===35615){_[f.check=0]=255&E,_[1]=E>>>8&255,f.check=l(f.check,_,2,0),I=E=0,f.mode=2;break}if(f.flags=0,f.head&&(f.head.done=!1),!(1&f.wrap)||(((255&E)<<8)+(E>>8))%31){k.msg="incorrect header check",f.mode=30;break}if((15&E)!=8){k.msg="unknown compression method",f.mode=30;break}if(I-=4,u=8+(15&(E>>>=4)),f.wbits===0)f.wbits=u;else if(u>f.wbits){k.msg="invalid window size",f.mode=30;break}f.dmax=1<<u,k.adler=f.check=1,f.mode=512&E?10:12,I=E=0;break;case 2:for(;I<16;){if(Q===0)break e;Q--,E+=V[X++]<<I,I+=8}if(f.flags=E,(255&f.flags)!=8){k.msg="unknown compression method",f.mode=30;break}if(57344&f.flags){k.msg="unknown header flags set",f.mode=30;break}f.head&&(f.head.text=E>>8&1),512&f.flags&&(_[0]=255&E,_[1]=E>>>8&255,f.check=l(f.check,_,2,0)),I=E=0,f.mode=3;case 3:for(;I<32;){if(Q===0)break e;Q--,E+=V[X++]<<I,I+=8}f.head&&(f.head.time=E),512&f.flags&&(_[0]=255&E,_[1]=E>>>8&255,_[2]=E>>>16&255,_[3]=E>>>24&255,f.check=l(f.check,_,4,0)),I=E=0,f.mode=4;case 4:for(;I<16;){if(Q===0)break e;Q--,E+=V[X++]<<I,I+=8}f.head&&(f.head.xflags=255&E,f.head.os=E>>8),512&f.flags&&(_[0]=255&E,_[1]=E>>>8&255,f.check=l(f.check,_,2,0)),I=E=0,f.mode=5;case 5:if(1024&f.flags){for(;I<16;){if(Q===0)break e;Q--,E+=V[X++]<<I,I+=8}f.length=E,f.head&&(f.head.extra_len=E),512&f.flags&&(_[0]=255&E,_[1]=E>>>8&255,f.check=l(f.check,_,2,0)),I=E=0}else f.head&&(f.head.extra=null);f.mode=6;case 6:if(1024&f.flags&&(Q<(q=f.length)&&(q=Q),q&&(f.head&&(u=f.head.extra_len-f.length,f.head.extra||(f.head.extra=new Array(f.head.extra_len)),n.arraySet(f.head.extra,V,X,q,u)),512&f.flags&&(f.check=l(f.check,V,q,X)),Q-=q,X+=q,f.length-=q),f.length))break e;f.length=0,f.mode=7;case 7:if(2048&f.flags){if(Q===0)break e;for(q=0;u=V[X+q++],f.head&&u&&f.length<65536&&(f.head.name+=String.fromCharCode(u)),u&&q<Q;);if(512&f.flags&&(f.check=l(f.check,V,q,X)),Q-=q,X+=q,u)break e}else f.head&&(f.head.name=null);f.length=0,f.mode=8;case 8:if(4096&f.flags){if(Q===0)break e;for(q=0;u=V[X+q++],f.head&&u&&f.length<65536&&(f.head.comment+=String.fromCharCode(u)),u&&q<Q;);if(512&f.flags&&(f.check=l(f.check,V,q,X)),Q-=q,X+=q,u)break e}else f.head&&(f.head.comment=null);f.mode=9;case 9:if(512&f.flags){for(;I<16;){if(Q===0)break e;Q--,E+=V[X++]<<I,I+=8}if(E!==(65535&f.check)){k.msg="header crc mismatch",f.mode=30;break}I=E=0}f.head&&(f.head.hcrc=f.flags>>9&1,f.head.done=!0),k.adler=f.check=0,f.mode=12;break;case 10:for(;I<32;){if(Q===0)break e;Q--,E+=V[X++]<<I,I+=8}k.adler=f.check=y(E),I=E=0,f.mode=11;case 11:if(f.havedict===0)return k.next_out=ge,k.avail_out=ne,k.next_in=X,k.avail_in=Q,f.hold=E,f.bits=I,2;k.adler=f.check=1,f.mode=12;case 12:if(G===5||G===6)break e;case 13:if(f.last){E>>>=7&I,I-=7&I,f.mode=27;break}for(;I<3;){if(Q===0)break e;Q--,E+=V[X++]<<I,I+=8}switch(f.last=1&E,I-=1,3&(E>>>=1)){case 0:f.mode=14;break;case 1:if(Y(f),f.mode=20,G!==6)break;E>>>=2,I-=2;break e;case 2:f.mode=17;break;case 3:k.msg="invalid block type",f.mode=30}E>>>=2,I-=2;break;case 14:for(E>>>=7&I,I-=7&I;I<32;){if(Q===0)break e;Q--,E+=V[X++]<<I,I+=8}if((65535&E)!=(E>>>16^65535)){k.msg="invalid stored block lengths",f.mode=30;break}if(f.length=65535&E,I=E=0,f.mode=15,G===6)break e;case 15:f.mode=16;case 16:if(q=f.length){if(Q<q&&(q=Q),ne<q&&(q=ne),q===0)break e;n.arraySet(ce,V,X,q,ge),Q-=q,X+=q,ne-=q,ge+=q,f.length-=q;break}f.mode=12;break;case 17:for(;I<14;){if(Q===0)break e;Q--,E+=V[X++]<<I,I+=8}if(f.nlen=257+(31&E),E>>>=5,I-=5,f.ndist=1+(31&E),E>>>=5,I-=5,f.ncode=4+(15&E),E>>>=4,I-=4,286<f.nlen||30<f.ndist){k.msg="too many length or distance symbols",f.mode=30;break}f.have=0,f.mode=18;case 18:for(;f.have<f.ncode;){for(;I<3;){if(Q===0)break e;Q--,E+=V[X++]<<I,I+=8}f.lens[Z[f.have++]]=7&E,E>>>=3,I-=3}for(;f.have<19;)f.lens[Z[f.have++]]=0;if(f.lencode=f.lendyn,f.lenbits=7,B={bits:f.lenbits},z=m(0,f.lens,0,19,f.lencode,0,f.work,B),f.lenbits=B.bits,z){k.msg="invalid code lengths set",f.mode=30;break}f.have=0,f.mode=19;case 19:for(;f.have<f.nlen+f.ndist;){for(;ee=(T=f.lencode[E&(1<<f.lenbits)-1])>>>16&255,le=65535&T,!((me=T>>>24)<=I);){if(Q===0)break e;Q--,E+=V[X++]<<I,I+=8}if(le<16)E>>>=me,I-=me,f.lens[f.have++]=le;else{if(le===16){for(C=me+2;I<C;){if(Q===0)break e;Q--,E+=V[X++]<<I,I+=8}if(E>>>=me,I-=me,f.have===0){k.msg="invalid bit length repeat",f.mode=30;break}u=f.lens[f.have-1],q=3+(3&E),E>>>=2,I-=2}else if(le===17){for(C=me+3;I<C;){if(Q===0)break e;Q--,E+=V[X++]<<I,I+=8}I-=me,u=0,q=3+(7&(E>>>=me)),E>>>=3,I-=3}else{for(C=me+7;I<C;){if(Q===0)break e;Q--,E+=V[X++]<<I,I+=8}I-=me,u=0,q=11+(127&(E>>>=me)),E>>>=7,I-=7}if(f.have+q>f.nlen+f.ndist){k.msg="invalid bit length repeat",f.mode=30;break}for(;q--;)f.lens[f.have++]=u}}if(f.mode===30)break;if(f.lens[256]===0){k.msg="invalid code -- missing end-of-block",f.mode=30;break}if(f.lenbits=9,B={bits:f.lenbits},z=m(v,f.lens,0,f.nlen,f.lencode,0,f.work,B),f.lenbits=B.bits,z){k.msg="invalid literal/lengths set",f.mode=30;break}if(f.distbits=6,f.distcode=f.distdyn,B={bits:f.distbits},z=m(h,f.lens,f.nlen,f.ndist,f.distcode,0,f.work,B),f.distbits=B.bits,z){k.msg="invalid distances set",f.mode=30;break}if(f.mode=20,G===6)break e;case 20:f.mode=21;case 21:if(6<=Q&&258<=ne){k.next_out=ge,k.avail_out=ne,k.next_in=X,k.avail_in=Q,f.hold=E,f.bits=I,r(k,J),ge=k.next_out,ce=k.output,ne=k.avail_out,X=k.next_in,V=k.input,Q=k.avail_in,E=f.hold,I=f.bits,f.mode===12&&(f.back=-1);break}for(f.back=0;ee=(T=f.lencode[E&(1<<f.lenbits)-1])>>>16&255,le=65535&T,!((me=T>>>24)<=I);){if(Q===0)break e;Q--,E+=V[X++]<<I,I+=8}if(ee&&(240&ee)==0){for(re=me,ve=ee,Te=le;ee=(T=f.lencode[Te+((E&(1<<re+ve)-1)>>re)])>>>16&255,le=65535&T,!(re+(me=T>>>24)<=I);){if(Q===0)break e;Q--,E+=V[X++]<<I,I+=8}E>>>=re,I-=re,f.back+=re}if(E>>>=me,I-=me,f.back+=me,f.length=le,ee===0){f.mode=26;break}if(32&ee){f.back=-1,f.mode=12;break}if(64&ee){k.msg="invalid literal/length code",f.mode=30;break}f.extra=15&ee,f.mode=22;case 22:if(f.extra){for(C=f.extra;I<C;){if(Q===0)break e;Q--,E+=V[X++]<<I,I+=8}f.length+=E&(1<<f.extra)-1,E>>>=f.extra,I-=f.extra,f.back+=f.extra}f.was=f.length,f.mode=23;case 23:for(;ee=(T=f.distcode[E&(1<<f.distbits)-1])>>>16&255,le=65535&T,!((me=T>>>24)<=I);){if(Q===0)break e;Q--,E+=V[X++]<<I,I+=8}if((240&ee)==0){for(re=me,ve=ee,Te=le;ee=(T=f.distcode[Te+((E&(1<<re+ve)-1)>>re)])>>>16&255,le=65535&T,!(re+(me=T>>>24)<=I);){if(Q===0)break e;Q--,E+=V[X++]<<I,I+=8}E>>>=re,I-=re,f.back+=re}if(E>>>=me,I-=me,f.back+=me,64&ee){k.msg="invalid distance code",f.mode=30;break}f.offset=le,f.extra=15&ee,f.mode=24;case 24:if(f.extra){for(C=f.extra;I<C;){if(Q===0)break e;Q--,E+=V[X++]<<I,I+=8}f.offset+=E&(1<<f.extra)-1,E>>>=f.extra,I-=f.extra,f.back+=f.extra}if(f.offset>f.dmax){k.msg="invalid distance too far back",f.mode=30;break}f.mode=25;case 25:if(ne===0)break e;if(q=J-ne,f.offset>q){if((q=f.offset-q)>f.whave&&f.sane){k.msg="invalid distance too far back",f.mode=30;break}fe=q>f.wnext?(q-=f.wnext,f.wsize-q):f.wnext-q,q>f.length&&(q=f.length),Ce=f.window}else Ce=ce,fe=ge-f.offset,q=f.length;for(ne<q&&(q=ne),ne-=q,f.length-=q;ce[ge++]=Ce[fe++],--q;);f.length===0&&(f.mode=21);break;case 26:if(ne===0)break e;ce[ge++]=f.length,ne--,f.mode=21;break;case 27:if(f.wrap){for(;I<32;){if(Q===0)break e;Q--,E|=V[X++]<<I,I+=8}if(J-=ne,k.total_out+=J,f.total+=J,J&&(k.adler=f.check=f.flags?l(f.check,ce,J,ge-J):o(f.check,ce,J,ge-J)),J=ne,(f.flags?E:y(E))!==f.check){k.msg="incorrect data check",f.mode=30;break}I=E=0}f.mode=28;case 28:if(f.wrap&&f.flags){for(;I<32;){if(Q===0)break e;Q--,E+=V[X++]<<I,I+=8}if(E!==(4294967295&f.total)){k.msg="incorrect length check",f.mode=30;break}I=E=0}f.mode=29;case 29:z=1;break e;case 30:z=-3;break e;case 31:return-4;default:return c}return k.next_out=ge,k.avail_out=ne,k.next_in=X,k.avail_in=Q,f.hold=E,f.bits=I,(f.wsize||J!==k.avail_out&&f.mode<30&&(f.mode<27||G!==4))&&se(k,k.output,k.next_out,J-k.avail_out)?(f.mode=31,-4):(H-=k.avail_in,J-=k.avail_out,k.total_in+=H,k.total_out+=J,f.total+=J,f.wrap&&J&&(k.adler=f.check=f.flags?l(f.check,ce,J,k.next_out-J):o(f.check,ce,J,k.next_out-J)),k.data_type=f.bits+(f.last?64:0)+(f.mode===12?128:0)+(f.mode===20||f.mode===15?256:0),(H==0&&J===0||G===4)&&z===d&&(z=-5),z)},i.inflateEnd=function(k){if(!k||!k.state)return c;var G=k.state;return G.window&&(G.window=null),k.state=null,d},i.inflateGetHeader=function(k,G){var f;return k&&k.state?(2&(f=k.state).wrap)==0?c:((f.head=G).done=!1,d):c},i.inflateSetDictionary=function(k,G){var f,V=G.length;return k&&k.state?(f=k.state).wrap!==0&&f.mode!==11?c:f.mode===11&&o(1,G,V,0)!==f.check?-3:se(k,G,V,V)?(f.mode=31,-4):(f.havedict=1,d):c},i.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(t,a,i){var n=t("../utils/common"),o=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],l=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],r=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],m=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];a.exports=function(v,h,d,c,g,p,b,y){var w,F,x,S,U,P,j,O,Y,se=y.bits,k=0,G=0,f=0,V=0,ce=0,X=0,ge=0,Q=0,ne=0,E=0,I=null,H=0,J=new n.Buf16(16),q=new n.Buf16(16),fe=null,Ce=0;for(k=0;k<=15;k++)J[k]=0;for(G=0;G<c;G++)J[h[d+G]]++;for(ce=se,V=15;1<=V&&J[V]===0;V--);if(V<ce&&(ce=V),V===0)return g[p++]=20971520,g[p++]=20971520,y.bits=1,0;for(f=1;f<V&&J[f]===0;f++);for(ce<f&&(ce=f),k=Q=1;k<=15;k++)if(Q<<=1,(Q-=J[k])<0)return-1;if(0<Q&&(v===0||V!==1))return-1;for(q[1]=0,k=1;k<15;k++)q[k+1]=q[k]+J[k];for(G=0;G<c;G++)h[d+G]!==0&&(b[q[h[d+G]]++]=G);if(P=v===0?(I=fe=b,19):v===1?(I=o,H-=257,fe=l,Ce-=257,256):(I=r,fe=m,-1),k=f,U=p,ge=G=E=0,x=-1,S=(ne=1<<(X=ce))-1,v===1&&852<ne||v===2&&592<ne)return 1;for(;;){for(j=k-ge,Y=b[G]<P?(O=0,b[G]):b[G]>P?(O=fe[Ce+b[G]],I[H+b[G]]):(O=96,0),w=1<<k-ge,f=F=1<<X;g[U+(E>>ge)+(F-=w)]=j<<24|O<<16|Y|0,F!==0;);for(w=1<<k-1;E&w;)w>>=1;if(w!==0?(E&=w-1,E+=w):E=0,G++,--J[k]==0){if(k===V)break;k=h[d+b[G]]}if(ce<k&&(E&S)!==x){for(ge===0&&(ge=ce),U+=f,Q=1<<(X=k-ge);X+ge<V&&!((Q-=J[X+ge])<=0);)X++,Q<<=1;if(ne+=1<<X,v===1&&852<ne||v===2&&592<ne)return 1;g[x=E&S]=ce<<24|X<<16|U-p|0}}return E!==0&&(g[U+E]=k-ge<<24|64<<16|0),y.bits=ce,0}},{"../utils/common":41}],51:[function(t,a,i){a.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],52:[function(t,a,i){var n=t("../utils/common"),o=0,l=1;function r(T){for(var _=T.length;0<=--_;)T[_]=0}var m=0,v=29,h=256,d=h+1+v,c=30,g=19,p=2*d+1,b=15,y=16,w=7,F=256,x=16,S=17,U=18,P=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],j=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],O=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],Y=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],se=new Array(2*(d+2));r(se);var k=new Array(2*c);r(k);var G=new Array(512);r(G);var f=new Array(256);r(f);var V=new Array(v);r(V);var ce,X,ge,Q=new Array(c);function ne(T,_,Z,K,R){this.static_tree=T,this.extra_bits=_,this.extra_base=Z,this.elems=K,this.max_length=R,this.has_stree=T&&T.length}function E(T,_){this.dyn_tree=T,this.max_code=0,this.stat_desc=_}function I(T){return T<256?G[T]:G[256+(T>>>7)]}function H(T,_){T.pending_buf[T.pending++]=255&_,T.pending_buf[T.pending++]=_>>>8&255}function J(T,_,Z){T.bi_valid>y-Z?(T.bi_buf|=_<<T.bi_valid&65535,H(T,T.bi_buf),T.bi_buf=_>>y-T.bi_valid,T.bi_valid+=Z-y):(T.bi_buf|=_<<T.bi_valid&65535,T.bi_valid+=Z)}function q(T,_,Z){J(T,Z[2*_],Z[2*_+1])}function fe(T,_){for(var Z=0;Z|=1&T,T>>>=1,Z<<=1,0<--_;);return Z>>>1}function Ce(T,_,Z){var K,R,M=new Array(b+1),N=0;for(K=1;K<=b;K++)M[K]=N=N+Z[K-1]<<1;for(R=0;R<=_;R++){var W=T[2*R+1];W!==0&&(T[2*R]=fe(M[W]++,W))}}function me(T){var _;for(_=0;_<d;_++)T.dyn_ltree[2*_]=0;for(_=0;_<c;_++)T.dyn_dtree[2*_]=0;for(_=0;_<g;_++)T.bl_tree[2*_]=0;T.dyn_ltree[2*F]=1,T.opt_len=T.static_len=0,T.last_lit=T.matches=0}function ee(T){8<T.bi_valid?H(T,T.bi_buf):0<T.bi_valid&&(T.pending_buf[T.pending++]=T.bi_buf),T.bi_buf=0,T.bi_valid=0}function le(T,_,Z,K){var R=2*_,M=2*Z;return T[R]<T[M]||T[R]===T[M]&&K[_]<=K[Z]}function re(T,_,Z){for(var K=T.heap[Z],R=Z<<1;R<=T.heap_len&&(R<T.heap_len&&le(_,T.heap[R+1],T.heap[R],T.depth)&&R++,!le(_,K,T.heap[R],T.depth));)T.heap[Z]=T.heap[R],Z=R,R<<=1;T.heap[Z]=K}function ve(T,_,Z){var K,R,M,N,W=0;if(T.last_lit!==0)for(;K=T.pending_buf[T.d_buf+2*W]<<8|T.pending_buf[T.d_buf+2*W+1],R=T.pending_buf[T.l_buf+W],W++,K===0?q(T,R,_):(q(T,(M=f[R])+h+1,_),(N=P[M])!==0&&J(T,R-=V[M],N),q(T,M=I(--K),Z),(N=j[M])!==0&&J(T,K-=Q[M],N)),W<T.last_lit;);q(T,F,_)}function Te(T,_){var Z,K,R,M=_.dyn_tree,N=_.stat_desc.static_tree,W=_.stat_desc.has_stree,$=_.stat_desc.elems,he=-1;for(T.heap_len=0,T.heap_max=p,Z=0;Z<$;Z++)M[2*Z]!==0?(T.heap[++T.heap_len]=he=Z,T.depth[Z]=0):M[2*Z+1]=0;for(;T.heap_len<2;)M[2*(R=T.heap[++T.heap_len]=he<2?++he:0)]=1,T.depth[R]=0,T.opt_len--,W&&(T.static_len-=N[2*R+1]);for(_.max_code=he,Z=T.heap_len>>1;1<=Z;Z--)re(T,M,Z);for(R=$;Z=T.heap[1],T.heap[1]=T.heap[T.heap_len--],re(T,M,1),K=T.heap[1],T.heap[--T.heap_max]=Z,T.heap[--T.heap_max]=K,M[2*R]=M[2*Z]+M[2*K],T.depth[R]=(T.depth[Z]>=T.depth[K]?T.depth[Z]:T.depth[K])+1,M[2*Z+1]=M[2*K+1]=R,T.heap[1]=R++,re(T,M,1),2<=T.heap_len;);T.heap[--T.heap_max]=T.heap[1],(function(ye,be){var Pe,Ee,Je,xe,Ye,Rs,We=be.dyn_tree,ds=be.max_code,at=be.stat_desc.static_tree,Ht=be.stat_desc.has_stree,jt=be.stat_desc.extra_bits,Ue=be.stat_desc.extra_base,Ze=be.stat_desc.max_length,vt=0;for(xe=0;xe<=b;xe++)ye.bl_count[xe]=0;for(We[2*ye.heap[ye.heap_max]+1]=0,Pe=ye.heap_max+1;Pe<p;Pe++)Ze<(xe=We[2*We[2*(Ee=ye.heap[Pe])+1]+1]+1)&&(xe=Ze,vt++),We[2*Ee+1]=xe,ds<Ee||(ye.bl_count[xe]++,Ye=0,Ue<=Ee&&(Ye=jt[Ee-Ue]),Rs=We[2*Ee],ye.opt_len+=Rs*(xe+Ye),Ht&&(ye.static_len+=Rs*(at[2*Ee+1]+Ye)));if(vt!==0){do{for(xe=Ze-1;ye.bl_count[xe]===0;)xe--;ye.bl_count[xe]--,ye.bl_count[xe+1]+=2,ye.bl_count[Ze]--,vt-=2}while(0<vt);for(xe=Ze;xe!==0;xe--)for(Ee=ye.bl_count[xe];Ee!==0;)ds<(Je=ye.heap[--Pe])||(We[2*Je+1]!==xe&&(ye.opt_len+=(xe-We[2*Je+1])*We[2*Je],We[2*Je+1]=xe),Ee--)}})(T,_),Ce(M,he,T.bl_count)}function u(T,_,Z){var K,R,M=-1,N=_[1],W=0,$=7,he=4;for(N===0&&($=138,he=3),_[2*(Z+1)+1]=65535,K=0;K<=Z;K++)R=N,N=_[2*(K+1)+1],++W<$&&R===N||(W<he?T.bl_tree[2*R]+=W:R!==0?(R!==M&&T.bl_tree[2*R]++,T.bl_tree[2*x]++):W<=10?T.bl_tree[2*S]++:T.bl_tree[2*U]++,M=R,he=(W=0)===N?($=138,3):R===N?($=6,3):($=7,4))}function z(T,_,Z){var K,R,M=-1,N=_[1],W=0,$=7,he=4;for(N===0&&($=138,he=3),K=0;K<=Z;K++)if(R=N,N=_[2*(K+1)+1],!(++W<$&&R===N)){if(W<he)for(;q(T,R,T.bl_tree),--W!=0;);else R!==0?(R!==M&&(q(T,R,T.bl_tree),W--),q(T,x,T.bl_tree),J(T,W-3,2)):W<=10?(q(T,S,T.bl_tree),J(T,W-3,3)):(q(T,U,T.bl_tree),J(T,W-11,7));M=R,he=(W=0)===N?($=138,3):R===N?($=6,3):($=7,4)}}r(Q);var B=!1;function C(T,_,Z,K){J(T,(m<<1)+(K?1:0),3),(function(R,M,N,W){ee(R),H(R,N),H(R,~N),n.arraySet(R.pending_buf,R.window,M,N,R.pending),R.pending+=N})(T,_,Z)}i._tr_init=function(T){B||((function(){var _,Z,K,R,M,N=new Array(b+1);for(R=K=0;R<v-1;R++)for(V[R]=K,_=0;_<1<<P[R];_++)f[K++]=R;for(f[K-1]=R,R=M=0;R<16;R++)for(Q[R]=M,_=0;_<1<<j[R];_++)G[M++]=R;for(M>>=7;R<c;R++)for(Q[R]=M<<7,_=0;_<1<<j[R]-7;_++)G[256+M++]=R;for(Z=0;Z<=b;Z++)N[Z]=0;for(_=0;_<=143;)se[2*_+1]=8,_++,N[8]++;for(;_<=255;)se[2*_+1]=9,_++,N[9]++;for(;_<=279;)se[2*_+1]=7,_++,N[7]++;for(;_<=287;)se[2*_+1]=8,_++,N[8]++;for(Ce(se,d+1,N),_=0;_<c;_++)k[2*_+1]=5,k[2*_]=fe(_,5);ce=new ne(se,P,h+1,d,b),X=new ne(k,j,0,c,b),ge=new ne(new Array(0),O,0,g,w)})(),B=!0),T.l_desc=new E(T.dyn_ltree,ce),T.d_desc=new E(T.dyn_dtree,X),T.bl_desc=new E(T.bl_tree,ge),T.bi_buf=0,T.bi_valid=0,me(T)},i._tr_stored_block=C,i._tr_flush_block=function(T,_,Z,K){var R,M,N=0;0<T.level?(T.strm.data_type===2&&(T.strm.data_type=(function(W){var $,he=4093624447;for($=0;$<=31;$++,he>>>=1)if(1&he&&W.dyn_ltree[2*$]!==0)return o;if(W.dyn_ltree[18]!==0||W.dyn_ltree[20]!==0||W.dyn_ltree[26]!==0)return l;for($=32;$<h;$++)if(W.dyn_ltree[2*$]!==0)return l;return o})(T)),Te(T,T.l_desc),Te(T,T.d_desc),N=(function(W){var $;for(u(W,W.dyn_ltree,W.l_desc.max_code),u(W,W.dyn_dtree,W.d_desc.max_code),Te(W,W.bl_desc),$=g-1;3<=$&&W.bl_tree[2*Y[$]+1]===0;$--);return W.opt_len+=3*($+1)+5+5+4,$})(T),R=T.opt_len+3+7>>>3,(M=T.static_len+3+7>>>3)<=R&&(R=M)):R=M=Z+5,Z+4<=R&&_!==-1?C(T,_,Z,K):T.strategy===4||M===R?(J(T,2+(K?1:0),3),ve(T,se,k)):(J(T,4+(K?1:0),3),(function(W,$,he,ye){var be;for(J(W,$-257,5),J(W,he-1,5),J(W,ye-4,4),be=0;be<ye;be++)J(W,W.bl_tree[2*Y[be]+1],3);z(W,W.dyn_ltree,$-1),z(W,W.dyn_dtree,he-1)})(T,T.l_desc.max_code+1,T.d_desc.max_code+1,N+1),ve(T,T.dyn_ltree,T.dyn_dtree)),me(T),K&&ee(T)},i._tr_tally=function(T,_,Z){return T.pending_buf[T.d_buf+2*T.last_lit]=_>>>8&255,T.pending_buf[T.d_buf+2*T.last_lit+1]=255&_,T.pending_buf[T.l_buf+T.last_lit]=255&Z,T.last_lit++,_===0?T.dyn_ltree[2*Z]++:(T.matches++,_--,T.dyn_ltree[2*(f[Z]+h+1)]++,T.dyn_dtree[2*I(_)]++),T.last_lit===T.lit_bufsize-1},i._tr_align=function(T){J(T,2,3),q(T,F,se),(function(_){_.bi_valid===16?(H(_,_.bi_buf),_.bi_buf=0,_.bi_valid=0):8<=_.bi_valid&&(_.pending_buf[_.pending++]=255&_.bi_buf,_.bi_buf>>=8,_.bi_valid-=8)})(T)}},{"../utils/common":41}],53:[function(t,a,i){a.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(t,a,i){(function(n){(function(o,l){if(!o.setImmediate){var r,m,v,h,d=1,c={},g=!1,p=o.document,b=Object.getPrototypeOf&&Object.getPrototypeOf(o);b=b&&b.setTimeout?b:o,r={}.toString.call(o.process)==="[object process]"?function(x){process.nextTick(function(){w(x)})}:(function(){if(o.postMessage&&!o.importScripts){var x=!0,S=o.onmessage;return o.onmessage=function(){x=!1},o.postMessage("","*"),o.onmessage=S,x}})()?(h="setImmediate$"+Math.random()+"$",o.addEventListener?o.addEventListener("message",F,!1):o.attachEvent("onmessage",F),function(x){o.postMessage(h+x,"*")}):o.MessageChannel?((v=new MessageChannel).port1.onmessage=function(x){w(x.data)},function(x){v.port2.postMessage(x)}):p&&"onreadystatechange"in p.createElement("script")?(m=p.documentElement,function(x){var S=p.createElement("script");S.onreadystatechange=function(){w(x),S.onreadystatechange=null,m.removeChild(S),S=null},m.appendChild(S)}):function(x){setTimeout(w,0,x)},b.setImmediate=function(x){typeof x!="function"&&(x=new Function(""+x));for(var S=new Array(arguments.length-1),U=0;U<S.length;U++)S[U]=arguments[U+1];var P={callback:x,args:S};return c[d]=P,r(d),d++},b.clearImmediate=y}function y(x){delete c[x]}function w(x){if(g)setTimeout(w,0,x);else{var S=c[x];if(S){g=!0;try{(function(U){var P=U.callback,j=U.args;switch(j.length){case 0:P();break;case 1:P(j[0]);break;case 2:P(j[0],j[1]);break;case 3:P(j[0],j[1],j[2]);break;default:P.apply(l,j)}})(S)}finally{y(x),g=!1}}}}function F(x){x.source===o&&typeof x.data=="string"&&x.data.indexOf(h)===0&&w(+x.data.slice(h.length))}})(typeof self>"u"?n===void 0?this:n:self)}).call(this,typeof At<"u"?At:typeof self<"u"?self:typeof window<"u"?window:{})},{}]},{},[10])(10)})})(Jt)),Jt.exports}var ko=Fo();const So=Ao(ko);function ft(e,s,t){const a=e instanceof Uint8Array?new Blob([new Uint8Array(e)],{type:t}):new Blob([e],{type:t}),i=URL.createObjectURL(a),n=document.createElement("a");n.href=i,n.download=s,document.body.appendChild(n),n.click(),document.body.removeChild(n),URL.revokeObjectURL(i)}function Ut(e){return e.replace(/[<>:"/\\|?*]/g,"").replace(/\s+/g,"_").substring(0,100)}function _o(e){const s=[];return et(e)&&s.push("zwo"),st(e)&&s.push("fit"),tt(e)&&s.push("mrc"),s}async function xo(e,s,t){const a=Ut(e.name);try{switch(s){case"zwo":{if(!et(e.sport))return{success:!1,filename:"",error:"Zwift export only supports bike and run workouts"};const i=Bn(e,t),n=`${a}.zwo`;return ft(i,n,"application/xml"),{success:!0,filename:n}}case"fit":{if(!st(e.sport))return{success:!1,filename:"",error:`FIT export not supported for ${e.sport} workouts`};const i=await Gn(e,t),n=`${a}.fit`;return ft(i,n,"application/vnd.ant.fit"),{success:!0,filename:n}}case"mrc":{if(!tt(e.sport))return{success:!1,filename:"",error:"MRC export only supports bike workouts"};const i=Zn(e,t),n=`${a}.mrc`;return ft(i,n,"text/plain"),{success:!0,filename:n}}default:return{success:!1,filename:"",error:`Unknown format: ${s}`}}}catch(i){return{success:!1,filename:"",error:i instanceof Error?i.message:"Unknown error"}}}function Eo(e){try{const s=wo(e),a=`${Ut(e.meta.event)}_training_plan.ics`;return ft(s,a,"text/calendar"),{success:!0,filename:a}}catch(s){return{success:!1,filename:"",error:s instanceof Error?s.message:"Unknown error"}}}async function Po(e,s,t){const a=Ut(e.name);try{switch(s){case"zwo":return et(e.sport)?{content:Bn(e,t),filename:`${a}.zwo`}:null;case"fit":return st(e.sport)?{content:await Gn(e,t),filename:`${a}.fit`}:null;case"mrc":return tt(e.sport)?{content:Zn(e,t),filename:`${a}.mrc`}:null;default:return null}}catch{return null}}async function Ro(e,s,t){const a=[];let i=0,n=0;const o=new So;for(const l of e.weeks??[])for(const r of l.days??[])for(const m of r.workouts??[]){if(m.sport==="rest"){n++;continue}if(s==="zwo"&&!et(m.sport)){n++;continue}if(s==="fit"&&!st(m.sport)){n++;continue}if(s==="mrc"&&!tt(m.sport)){n++;continue}try{const v=await Po(m,s,t);v?(o.file(v.filename,v.content),i++):n++}catch(v){a.push(`${m.name}: ${v instanceof Error?v.message:"Unknown error"}`)}}if(i>0){const l=await o.generateAsync({type:"uint8array"}),m=`${Ut(e.meta.event)}_workouts_${s}.zip`;ft(l,m,"application/zip")}return{exported:i,skipped:n,errors:a}}var Io=ue("<div> </div>"),Do=ue('<div class="export-menu svelte-dkgmtr"><button class="export-option svelte-dkgmtr"><span class="export-icon calendar svelte-dkgmtr"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-dkgmtr"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg></span> <div><div class="export-name svelte-dkgmtr">Calendar (.ics)</div> <div class="export-desc svelte-dkgmtr">Apple, Google, Outlook</div></div></button> <div class="export-divider svelte-dkgmtr"></div> <button class="export-option svelte-dkgmtr"><span class="export-icon svelte-dkgmtr">Z</span> <div><div class="export-name svelte-dkgmtr">Zwift (.zwo)</div> <div class="export-desc svelte-dkgmtr">Bike & run workouts</div></div></button> <button class="export-option svelte-dkgmtr"><span class="export-icon svelte-dkgmtr">G</span> <div><div class="export-name svelte-dkgmtr">Garmin (.fit)</div> <div class="export-desc svelte-dkgmtr">All workout types</div></div></button> <button class="export-option svelte-dkgmtr"><span class="export-icon svelte-dkgmtr">E</span> <div><div class="export-name svelte-dkgmtr">ERG/MRC (.mrc)</div> <div class="export-desc svelte-dkgmtr">Bike workouts only</div></div></button></div>'),Lo=ue('<button class="clear-filter svelte-dkgmtr">Clear</button>'),Bo=ue('<div class="check-icon svelte-dkgmtr">✓</div>'),Mo=ue('<button><div> </div> <div class="sport-info svelte-dkgmtr"><div class="sport-name svelte-dkgmtr"> </div> <div class="sport-hours svelte-dkgmtr"> </div></div> <!></button>'),Oo=ue("<button> </button>"),zo=ue('<aside><div class="event-header svelte-dkgmtr"><h1 class="event-name svelte-dkgmtr"> </h1> <div class="event-date svelte-dkgmtr"> </div> <div class="athlete-name svelte-dkgmtr"> </div></div> <div class="progress-section svelte-dkgmtr"><div class="progress-ring-container svelte-dkgmtr"><svg class="progress-ring svelte-dkgmtr" width="140" height="140"><defs><linearGradient id="progressGradient" x1="0%" y1="0%" x2="100%" y2="0%"><stop offset="0%" style="stop-color: var(--accent)"></stop><stop offset="100%" style="stop-color: var(--run)"></stop></linearGradient></defs><circle class="progress-ring-bg svelte-dkgmtr" cx="70" cy="70" r="60"></circle><circle class="progress-ring-fill svelte-dkgmtr" cx="70" cy="70" r="60"></circle></svg> <div class="progress-text svelte-dkgmtr"><div class="progress-percent svelte-dkgmtr"> </div> <div class="progress-label svelte-dkgmtr">Complete</div></div></div></div> <div class="stats-grid svelte-dkgmtr"><div class="stat-card svelte-dkgmtr"><div class="stat-value svelte-dkgmtr"> </div> <div class="stat-label svelte-dkgmtr">Weeks</div></div> <div class="stat-card svelte-dkgmtr"><div class="stat-value svelte-dkgmtr"> </div> <div class="stat-label svelte-dkgmtr">Hours</div></div> <div class="stat-card svelte-dkgmtr"><div class="stat-value svelte-dkgmtr"> </div> <div class="stat-label svelte-dkgmtr">Workouts</div></div> <div class="stat-card svelte-dkgmtr"><div class="stat-value svelte-dkgmtr"> </div> <div class="stat-label svelte-dkgmtr">Days Left</div></div></div> <button class="settings-btn svelte-dkgmtr"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-dkgmtr"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg> Settings</button> <div class="export-section svelte-dkgmtr"><!> <div class="export-main svelte-dkgmtr"><button class="export-main-btn svelte-dkgmtr"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-dkgmtr"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg> <div class="export-main-text svelte-dkgmtr"><span class="export-main-title svelte-dkgmtr">Export Plan</span> <span class="export-main-desc svelte-dkgmtr">Calendar, Zwift, Garmin, TrainerRoad</span></div> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg></button> <!></div> <button class="import-help-link svelte-dkgmtr"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-dkgmtr"><circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><line x1="12" y1="17" x2="12.01" y2="17"></line></svg> How to import workouts in training apps</button></div> <div class="sport-stats svelte-dkgmtr"><div class="sport-stats-header svelte-dkgmtr"><h3 class="svelte-dkgmtr">Filter by Sport</h3> <!></div> <!></div> <div class="filters-section svelte-dkgmtr"><h3 class="svelte-dkgmtr">Filter by Status</h3> <div class="filter-group svelte-dkgmtr"></div></div></aside>');function No(e,s){gs(s,!0);const t=Ie(()=>()=>{let M=0,N=0,W=0;const $={swim:0,bike:0,run:0,strength:0,brick:0,race:0};return s.plan.weeks?.forEach(he=>{he.days?.forEach(ye=>{ye.workouts?.forEach(be=>{be.sport!=="rest"&&(M++,s.completed[be.id]&&N++,be.durationMinutes&&(W+=be.durationMinutes,$[be.sport]!==void 0&&($[be.sport]+=be.durationMinutes/60)))})})}),{totalWorkouts:M,completedCount:N,totalHours:Math.round(W/60),sportHours:$,progress:M>0?Math.round(N/M*100):0}}),a=Ie(()=>377-A(t)().progress/100*377),i=Ie(()=>Ll(s.plan.meta?.eventDate??"")),n=Ie(()=>Object.entries(A(t)().sportHours).filter(([M,N])=>N>0).map(([M])=>M));function o(M){s.filters.sport===M?s.onFilterChange({...s.filters,sport:"all"}):s.onFilterChange({...s.filters,sport:M})}function l(M){s.onFilterChange({...s.filters,status:M})}let r=Fe(!1),m=Fe(null);function v(){te(r,!1),te(m,{message:"Exporting calendar...",isError:!1},!0);const M=Eo(s.plan);M.success?te(m,{message:`Downloaded ${M.filename}`,isError:!1},!0):te(m,{message:M.error||"Export failed",isError:!0},!0),setTimeout(()=>{te(m,null)},3e3)}async function h(M){te(r,!1),te(m,{message:`Exporting ${M.toUpperCase()} files...`,isError:!1},!0);const N=await Ro(s.plan,M,s.settings);N.errors.length===0?te(m,{message:`Exported ${N.exported} workouts (${N.skipped} skipped)`,isError:!1},!0):te(m,{message:`Exported ${N.exported}, ${N.errors.length} errors`,isError:!0},!0),setTimeout(()=>{te(m,null)},4e3)}var d=zo();let c;var g=L(d),p=L(g),b=L(p),y=D(p,2),w=L(y),F=D(y,2),x=L(F),S=D(g,2),U=L(S),P=L(U),j=D(L(P),2),O=D(P,2),Y=L(O),se=L(Y),k=D(S,2),G=L(k),f=L(G),V=L(f),ce=D(G,2),X=L(ce),ge=L(X),Q=D(ce,2),ne=L(Q),E=L(ne),I=D(Q,2),H=L(I),J=L(H),q=D(k,2),fe=D(q,2),Ce=L(fe);{var me=M=>{var N=Io();let W;var $=L(N);_e(()=>{W=Re(N,1,"export-status svelte-dkgmtr",null,W,{error:A(m).isError}),pe($,A(m).message)}),oe(M,N)};Ae(Ce,M=>{A(m)&&M(me)})}var ee=D(Ce,2),le=L(ee),re=D(L(le),4);let ve;var Te=D(le,2);{var u=M=>{var N=Do(),W=L(N),$=D(W,4),he=D($,2),ye=D(he,2);ie("click",W,v),ie("click",$,()=>h("zwo")),ie("click",he,()=>h("fit")),ie("click",ye,()=>h("mrc")),oe(M,N)};Ae(Te,M=>{A(r)&&M(u)})}var z=D(ee,2),B=D(fe,2),C=L(B),T=D(L(C),2);{var _=M=>{var N=Lo();ie("click",N,()=>s.onFilterChange({...s.filters,sport:"all"})),oe(M,N)};Ae(T,M=>{s.filters.sport!=="all"&&M(_)})}var Z=D(C,2);He(Z,17,()=>A(n),ss,(M,N)=>{var W=Mo();let $;var he=L(W),ye=L(he),be=D(he,2),Pe=L(be),Ee=L(Pe),Je=D(Pe,2),xe=L(Je),Ye=D(be,2);{var Rs=We=>{var ds=Bo();oe(We,ds)};Ae(Ye,We=>{s.filters.sport===A(N)&&We(Rs)})}_e((We,ds,at)=>{$=Re(W,1,`sport-stat ${A(N)??""}`,"svelte-dkgmtr",$,{active:s.filters.sport===A(N)}),Re(he,1,`sport-icon ${A(N)??""}`,"svelte-dkgmtr"),pe(ye,We),pe(Ee,ds),pe(xe,`${at??""} hours`)},[()=>Ln(A(N)),()=>A(N).charAt(0).toUpperCase()+A(N).slice(1),()=>A(t)().sportHours[A(N)].toFixed(1)]),ie("click",W,()=>o(A(N))),oe(M,W)});var K=D(B,2),R=D(L(K),2);He(R,20,()=>[["all","All"],["pending","Pending"],["completed","Completed"]],ss,(M,N)=>{var W=Ie(()=>Va(N,2));let $=()=>A(W)[0],he=()=>A(W)[1];var ye=Oo();let be;var Pe=L(ye);_e(()=>{be=Re(ye,1,"filter-chip svelte-dkgmtr",null,be,{active:s.filters.status===$()}),pe(Pe,he())}),ie("click",ye,()=>l($())),oe(M,ye)}),_e((M,N,W,$)=>{c=Re(d,1,"sidebar svelte-dkgmtr",null,c,{open:s.open}),pe(b,s.plan.meta?.event??"Training Plan"),pe(w,M),pe(x,s.plan.meta?.athlete??"Athlete"),Ca(j,`stroke-dashoffset: ${A(a)??""}`),pe(se,`${N??""}%`),pe(V,s.plan.meta?.totalWeeks??0),pe(ge,W),pe(E,$),pe(J,A(i)),ve=Re(re,0,"dropdown-arrow svelte-dkgmtr",null,ve,{open:A(r)})},[()=>Il(s.plan.meta?.eventDate??""),()=>A(t)().progress,()=>A(t)().totalHours,()=>A(t)().totalWorkouts]),ie("click",q,function(...M){s.onSettingsClick?.apply(this,M)}),ie("click",le,()=>te(r,!A(r))),ie("click",z,function(...M){s.onImportHelpClick?.apply(this,M)}),oe(e,d),vs()}Ps(["click"]);function Wo(){const e=document.getElementById("plan-data");if(!e)throw new Error("Plan data not found");return JSON.parse(e.textContent||"{}")}const qe=Wo(),Kn=`plan-${qe.meta.id}-completed`;function Uo(){const e=localStorage.getItem(Kn);return e?JSON.parse(e):{}}function Ho(e){localStorage.setItem(Kn,JSON.stringify(e))}const qn=`plan-${qe.meta.id}-changes`;function Ua(){return{moved:{},edited:{},deleted:[],added:{}}}function jo(){const e=localStorage.getItem(qn);if(!e)return Ua();try{const s=JSON.parse(e);return{moved:s.moved||{},edited:s.edited||{},deleted:s.deleted||[],added:s.added||{}}}catch{return Ua()}}function kt(e){localStorage.setItem(qn,JSON.stringify(e))}function Go(){return`user-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function Zo(e,s){const t=s.edited[e.id];return t?{...e,...t}:e}function Ha(e,s){return s.deleted.includes(e)}var Ko=ue('<div class="workout-duration svelte-ynjai0"> </div>'),qo=ue('<button draggable="true"><div class="workout-sport svelte-ynjai0"> </div> <div class="workout-name svelte-ynjai0"> </div> <!></button>');function Vo(e,s){gs(s,!0);let t=Fe(!1);function a(c){te(t,!0),c.dataTransfer.setData("text/plain",s.workout.id),c.dataTransfer.effectAllowed="move"}function i(){te(t,!1)}var n=qo();let o;var l=L(n),r=L(l),m=D(l,2),v=L(m),h=D(m,2);{var d=c=>{var g=Ko(),p=L(g);_e(b=>pe(p,b),[()=>wa(s.workout.durationMinutes)]),oe(c,g)};Ae(h,c=>{s.workout.durationMinutes&&c(d)})}_e(()=>{o=Re(n,1,`workout-card ${s.workout.sport??""}`,"svelte-ynjai0",o,{completed:s.isCompleted,dragging:A(t)}),pe(r,s.workout.sport),pe(v,s.workout.name)}),_s("dragstart",n,a),_s("dragend",n,i),ie("click",n,function(...c){s.onClick?.apply(this,c)}),oe(e,n),vs()}Ps(["click"]);var Jo=ue('<div class="empty-day svelte-ldqnzx">Rest</div>'),Yo=ue('<div role="listbox" tabindex="0"><div class="day-header svelte-ldqnzx"><span class="day-name svelte-ldqnzx"> </span> <span class="day-date svelte-ldqnzx"> </span></div> <!> <button class="add-workout-btn svelte-ldqnzx" title="Add workout"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-ldqnzx"><path d="M12 5v14M5 12h14"></path></svg></button></div>'),Xo=ue('<div class="week-card svelte-ldqnzx"><div class="week-header svelte-ldqnzx"><div class="week-title svelte-ldqnzx"><span class="week-number svelte-ldqnzx"> </span> <span> </span> <span class="week-focus svelte-ldqnzx"> </span></div> <div class="week-hours svelte-ldqnzx"><span class="svelte-ldqnzx"> </span> hrs</div></div> <div class="days-grid svelte-ldqnzx"></div></div>');function Qo(e,s){gs(s,!0);let t=Fe(null);const a=Ie(()=>(s.week.phase??"base").toLowerCase());function i(x,S){x.preventDefault(),te(t,S,!0)}function n(){te(t,null)}function o(x,S){x.preventDefault(),te(t,null);const U=x.dataTransfer?.getData("text/plain");U&&s.onDrop(U,S)}var l=Xo(),r=L(l),m=L(r),v=L(m),h=L(v),d=D(v,2),c=L(d),g=D(d,2),p=L(g),b=D(m,2),y=L(b),w=L(y),F=D(r,2);He(F,21,()=>s.fullWeek,x=>x.date,(x,S)=>{const U=Ie(()=>A(S).date===s.today),P=Ie(()=>(A(S).workouts??[]).filter(s.filterWorkout)),j=Ie(()=>A(t)===A(S).date);var O=Yo();let Y;var se=L(O),k=L(se),G=L(k),f=D(k,2),V=L(f),ce=D(se,2);{var X=ne=>{var E=cl(),I=ts(E);He(I,17,()=>A(P),H=>H.id,(H,J)=>{{let q=Ie(()=>!!s.completed[A(J).id]);Vo(H,{get workout(){return A(J)},get day(){return A(S)},get settings(){return s.settings},get isCompleted(){return A(q)},onClick:()=>s.onWorkoutClick(A(J),A(S))})}}),oe(ne,E)},ge=ne=>{var E=Jo();oe(ne,E)};Ae(ce,ne=>{A(P).length>0?ne(X):A(S).workouts.length===0&&ne(ge,1)})}var Q=D(ce,2);_e((ne,E)=>{Y=Re(O,1,"day-column svelte-ldqnzx",null,Y,{today:A(U),"drag-over":A(j)}),pe(G,ne),pe(V,E)},[()=>A(S).dayOfWeek.slice(0,3),()=>Wt(A(S).date).getDate()]),_s("dragover",O,ne=>i(ne,A(S).date)),_s("dragleave",O,n),_s("drop",O,ne=>o(ne,A(S).date)),ie("click",Q,()=>s.onAddWorkout(A(S))),oe(x,O)}),_e(()=>{Ca(l,`animation-delay: ${s.animationDelay??""}s`),pe(h,`W${s.week.weekNumber??""}`),Re(d,1,`week-phase ${A(a)??""}`,"svelte-ldqnzx"),pe(c,s.week.phase??"Base"),pe(p,s.week.focus??""),pe(w,s.week.targetHours??0)}),oe(e,l),vs()}Ps(["click"]);var $o=ue('<button><span class="phase-label svelte-aq400f"> </span></button>'),er=ue("<div><!></div>"),sr=ue('<div class="phase-timeline svelte-aq400f"></div> <div class="weeks-container svelte-aq400f"></div>',1);function tr(e,s){gs(s,!0);const t=Ml();function a(h,d){return s.changes.moved[h]||d}function i(h){const d=Bl(s.settings.firstDayOfWeek),c=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],g={};h.days?.forEach(S=>{g[S.dayOfWeek]=S});const p=h.days?.[0];if(!p)return d.map(S=>({date:"",dayOfWeek:S,workouts:[]}));const b=Wt(p.date),y=c.indexOf(p.dayOfWeek);function w(S){let P=c.indexOf(S)-y;P<-3&&(P+=7),P>3&&(P-=7);const j=new Date(b);return j.setDate(j.getDate()+P),Dn(j)}const F=d.map(S=>{const U=g[S];return U?U.date:w(S)}),x={};return F.forEach(S=>x[S]=[]),s.plan.weeks?.forEach(S=>{S.days?.forEach(U=>{U.workouts?.forEach(P=>{if(Ha(P.id,s.changes))return;const j=a(P.id,U.date);if(F.includes(j)){const O=Zo(P,s.changes);x[j].push(O)}})})}),Object.entries(s.changes.added??{}).forEach(([S,{date:U,workout:P}])=>{F.includes(U)&&!Ha(S,s.changes)&&x[U].push(P)}),d.map((S,U)=>{const P=F[U];return{date:P,dayOfWeek:S,workouts:x[P]||[]}})}function n(h){return!(s.filters.sport!=="all"&&h.sport!==s.filters.sport||s.filters.status==="completed"&&!s.completed[h.id]||s.filters.status==="pending"&&s.completed[h.id])}function o(h){if(s.changes.added?.[h])return s.changes.added[h].date;for(const d of s.plan.weeks??[])for(const c of d.days??[])for(const g of c.workouts??[])if(g.id===h)return c.date;return""}function l(h,d){const c=o(h);s.onWorkoutMove(h,c,d)}var r=sr(),m=ts(r);He(m,21,()=>s.plan.phases??[],ss,(h,d)=>{const c=Ie(()=>A(d).endWeek-A(d).startWeek+1),g=Ie(()=>A(d).name.toLowerCase());var p=$o(),b=L(p),y=L(b);_e(()=>{Re(p,1,`phase-segment ${A(g)??""}`,"svelte-aq400f"),Ca(p,`flex: ${A(c)??""}`),pe(y,A(d).name)}),ie("click",p,()=>{document.querySelector(`[data-week="${A(d).startWeek}"]`)?.scrollIntoView({behavior:"smooth",block:"start"})}),oe(h,p)});var v=D(m,2);He(v,23,()=>s.plan.weeks??[],h=>h.weekNumber,(h,d,c)=>{var g=er(),p=L(g);{let b=Ie(()=>i(A(d))),y=Ie(()=>A(c)*.05);Qo(p,{get week(){return A(d)},get fullWeek(){return A(b)},get settings(){return s.settings},get today(){return t},get completed(){return s.completed},filterWorkout:n,get onWorkoutClick(){return s.onWorkoutClick},onDrop:l,get onAddWorkout(){return s.onAddWorkout},get animationDelay(){return A(y)}})}_e(()=>kl(g,"data-week",A(d).weekNumber)),oe(h,g)}),oe(e,r),vs()}Ps(["click"]);var ar=ue('<div><div> </div> <h2 class="modal-title svelte-12rtkin"> </h2> <div class="modal-date svelte-12rtkin"> </div></div>'),nr=ue('<div><h2 class="modal-title svelte-12rtkin"> </h2> <div class="modal-date svelte-12rtkin"> </div></div>'),ir=ue('<div class="modal-stat svelte-12rtkin"><div class="modal-stat-value svelte-12rtkin"> </div> <div class="modal-stat-label svelte-12rtkin">Duration</div></div>'),lr=ue('<div class="modal-stat svelte-12rtkin"><div class="modal-stat-value svelte-12rtkin"> </div> <div class="modal-stat-label svelte-12rtkin">Distance</div></div>'),or=ue('<div class="modal-stat svelte-12rtkin"><div class="modal-stat-value svelte-12rtkin"> </div> <div class="modal-stat-label svelte-12rtkin">Target Zone</div></div>'),rr=ue('<div class="modal-section svelte-12rtkin"><h4 class="modal-section-title svelte-12rtkin">Description</h4> <p class="modal-description svelte-12rtkin"> </p></div>'),ur=ue('<div class="modal-section svelte-12rtkin"><h4 class="modal-section-title svelte-12rtkin">Workout Structure</h4> <pre class="workout-structure svelte-12rtkin"> </pre></div>'),cr=ue('<div class="modal-stats svelte-12rtkin"><!> <!> <!></div> <!> <!>',1),ja=ue("<option> </option>"),mr=ue('<div class="form-grid svelte-12rtkin"><div class="form-row svelte-12rtkin"><label class="form-label svelte-12rtkin" for="edit-sport">Sport</label> <select id="edit-sport" class="form-select svelte-12rtkin"></select></div> <div class="form-row svelte-12rtkin"><label class="form-label svelte-12rtkin" for="edit-type">Type</label> <select id="edit-type" class="form-select svelte-12rtkin"></select></div></div> <div class="form-row full svelte-12rtkin"><label class="form-label svelte-12rtkin" for="edit-name">Name</label> <input id="edit-name" type="text" class="form-input svelte-12rtkin" placeholder="Easy Run"/></div> <div class="form-row full svelte-12rtkin"><label class="form-label svelte-12rtkin" for="edit-description">Description</label> <textarea id="edit-description" class="form-textarea svelte-12rtkin" placeholder="Conversational pace, focus on form" rows="2"></textarea></div> <div class="form-grid svelte-12rtkin"><div class="form-row svelte-12rtkin"><label class="form-label svelte-12rtkin" for="edit-duration">Duration (minutes)</label> <input id="edit-duration" type="number" class="form-input svelte-12rtkin" placeholder="60"/></div> <div class="form-row svelte-12rtkin"><label class="form-label svelte-12rtkin" for="edit-distance">Distance (meters)</label> <input id="edit-distance" type="number" class="form-input svelte-12rtkin" placeholder="10000"/></div></div> <div class="form-row full svelte-12rtkin"><label class="form-label svelte-12rtkin" for="edit-zone">Target Zone</label> <input id="edit-zone" type="text" class="form-input svelte-12rtkin" placeholder="Zone 2"/></div> <div class="form-row full svelte-12rtkin"><label class="form-label svelte-12rtkin" for="edit-structure">Workout Structure</label> <textarea id="edit-structure" class="form-textarea mono svelte-12rtkin" placeholder="Warm-up: 10min easy Main: 4x1km @ threshold Cool-down: 10min easy" rows="5"></textarea></div>',1),fr=ue('<button class="export-option svelte-12rtkin"><span class="export-icon svelte-12rtkin">Z</span> <div class="export-info svelte-12rtkin"><div class="export-name svelte-12rtkin">Zwift (.zwo)</div> <div class="export-desc svelte-12rtkin">For Zwift indoor training</div></div></button>'),pr=ue('<button class="export-option svelte-12rtkin"><span class="export-icon svelte-12rtkin">G</span> <div class="export-info svelte-12rtkin"><div class="export-name svelte-12rtkin">Garmin (.fit)</div> <div class="export-desc svelte-12rtkin">For Garmin Connect</div></div></button>'),dr=ue('<button class="export-option svelte-12rtkin"><span class="export-icon svelte-12rtkin">E</span> <div class="export-info svelte-12rtkin"><div class="export-name svelte-12rtkin">ERG/MRC (.mrc)</div> <div class="export-desc svelte-12rtkin">For TrainerRoad, etc.</div></div></button>'),hr=ue('<div class="export-menu svelte-12rtkin"><!> <!> <!> <div class="export-divider svelte-12rtkin"></div> <button class="export-help-link svelte-12rtkin"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-12rtkin"><circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><line x1="12" y1="17" x2="12.01" y2="17"></line></svg> How to import files</button></div>'),br=ue('<div class="export-dropdown svelte-12rtkin"><button class="icon-btn export svelte-12rtkin" title="Export"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-12rtkin"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg></button> <!></div>'),yr=ue("<div> </div>"),gr=ue("<span>↩</span> Mark Incomplete",1),vr=ue("<span>✓</span> Mark Complete",1),Tr=ue('<div class="footer-left svelte-12rtkin"><button class="icon-btn edit svelte-12rtkin" title="Edit"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-12rtkin"><path d="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"></path><path d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"></path></svg></button> <button class="icon-btn delete svelte-12rtkin" title="Delete"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-12rtkin"><path d="M3 6h18M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"></path></svg></button> <!></div> <div class="footer-right svelte-12rtkin"><!> <button><!></button></div>',1),Cr=ue('<button class="cancel-btn svelte-12rtkin">Cancel</button> <button class="save-btn svelte-12rtkin"> </button>',1),wr=ue('<div class="confirm-overlay svelte-12rtkin"><div class="confirm-dialog svelte-12rtkin"><p class="svelte-12rtkin">Delete this workout?</p> <div class="confirm-actions svelte-12rtkin"><button class="cancel-btn svelte-12rtkin">Cancel</button> <button class="delete-btn svelte-12rtkin">Delete</button></div></div></div>'),Ar=ue('<div class="modal-overlay active svelte-12rtkin" role="dialog" aria-modal="true" tabindex="-1"><div class="modal svelte-12rtkin"><div class="modal-header svelte-12rtkin"><!> <button class="modal-close svelte-12rtkin">×</button></div> <div class="modal-body svelte-12rtkin"><!></div> <div class="modal-footer svelte-12rtkin"><!></div> <!></div></div>');function Fr(e,s){gs(s,!0);let t=Ma(s,"mode",3,"view"),a=Ma(s,"isCompleted",3,!1),i=Fe(Oe(Qe(()=>t()))),n=Fe(!1),o=Fe(!1),l=Fe(null),r=Fe(Oe(Qe(()=>s.workout?.sport||"run"))),m=Fe(Oe(Qe(()=>s.workout?.type||"endurance"))),v=Fe(Oe(Qe(()=>s.workout?.name||""))),h=Fe(Oe(Qe(()=>s.workout?.description||""))),d=Fe(Oe(Qe(()=>s.workout?.durationMinutes?.toString()||""))),c=Fe(Oe(Qe(()=>s.workout?.distanceMeters?.toString()||""))),g=Fe(Oe(Qe(()=>s.workout?.primaryZone||""))),p=Fe(Oe(Qe(()=>s.workout?.humanReadable||"")));const b=["swim","bike","run","strength","brick","race","rest"],y=["rest","recovery","endurance","tempo","threshold","intervals","vo2max","sprint","race","brick","technique","openwater","hills","long"];function w(ee){ee.key==="Escape"&&(A(n)?te(n,!1):A(i)!=="view"?(te(i,(s.workout,"view"),!0),s.workout||s.onClose()):s.onClose())}function F(ee){ee.target.classList.contains("modal-overlay")&&s.onClose()}function x(){te(r,s.workout?.sport||"run",!0),te(m,s.workout?.type||"endurance",!0),te(v,s.workout?.name||"",!0),te(h,s.workout?.description||"",!0),te(d,s.workout?.durationMinutes?.toString()||"",!0),te(c,s.workout?.distanceMeters?.toString()||"",!0),te(g,s.workout?.primaryZone||"",!0),te(p,s.workout?.humanReadable||"",!0),te(i,"edit")}function S(){t()==="create"?s.onClose():te(i,"view")}function U(){const ee={sport:A(r),type:A(m),name:A(v),description:A(h),durationMinutes:A(d)?parseInt(A(d)):void 0,distanceMeters:A(c)?parseInt(A(c)):void 0,primaryZone:A(g)||void 0,humanReadable:A(p)||void 0};s.onSave(ee),t()!=="create"&&te(i,"view")}function P(){s.workout&&s.onDelete(s.workout.id)}async function j(ee){if(!s.workout)return;te(o,!1),te(l,{message:"Exporting...",isError:!1},!0);const le=await xo(s.workout,ee,s.settings);le.success?te(l,{message:`Downloaded ${le.filename}`,isError:!1},!0):te(l,{message:le.error||"Export failed",isError:!0},!0),setTimeout(()=>{te(l,null)},3e3)}const O=Ie(()=>s.workout?_o(s.workout.sport):[]),Y=Ie(()=>A(O).length>0),se=Ie(()=>s.workout||{id:"",sport:A(r),type:A(m),name:A(v),description:A(h),durationMinutes:A(d)?parseInt(A(d)):void 0,distanceMeters:A(c)?parseInt(A(c)):void 0,primaryZone:A(g),humanReadable:A(p),completed:!1});var k=Ar();_s("keydown",pt,w);var G=L(k),f=L(G),V=L(f);{var ce=ee=>{var le=ar(),re=L(le),ve=L(re),Te=D(re,2),u=L(Te),z=D(Te,2),B=L(z);_e((C,T)=>{Re(re,1,`modal-sport-badge ${A(se).sport??""}`,"svelte-12rtkin"),pe(ve,C),pe(u,A(se).name),pe(B,T)},[()=>A(se).sport.toUpperCase(),()=>Oa(s.day.date)]),oe(ee,le)},X=ee=>{var le=nr(),re=L(le),ve=L(re),Te=D(re,2),u=L(Te);_e(z=>{pe(ve,A(i)==="create"?"New Workout":"Edit Workout"),pe(u,z)},[()=>Oa(s.day.date)]),oe(ee,le)};Ae(V,ee=>{A(i)==="view"?ee(ce):ee(X,-1)})}var ge=D(V,2),Q=D(f,2),ne=L(Q);{var E=ee=>{var le=cr(),re=ts(le),ve=L(re);{var Te=R=>{var M=ir(),N=L(M),W=L(N);_e($=>pe(W,$),[()=>wa(A(se).durationMinutes)]),oe(R,M)};Ae(ve,R=>{A(se).durationMinutes&&R(Te)})}var u=D(ve,2);{var z=R=>{var M=lr(),N=L(M),W=L(N);_e($=>pe(W,$),[()=>Rl(A(se).distanceMeters,A(se).sport,s.settings)]),oe(R,M)};Ae(u,R=>{A(se).distanceMeters&&R(z)})}var B=D(u,2);{var C=R=>{var M=or(),N=L(M),W=L(N);_e($=>pe(W,$),[()=>Dl(A(se).sport,A(se).primaryZone,s.settings)]),oe(R,M)};Ae(B,R=>{A(se).primaryZone&&R(C)})}var T=D(re,2);{var _=R=>{var M=rr(),N=D(L(M),2),W=L(N);_e(()=>pe(W,A(se).description)),oe(R,M)};Ae(T,R=>{A(se).description&&R(_)})}var Z=D(T,2);{var K=R=>{var M=ur(),N=D(L(M),2),W=L(N);_e($=>pe(W,$),[()=>A(se).humanReadable.replace(/\\n/g,`
38
- `)]),oe(R,M)};Ae(Z,R=>{A(se).humanReadable&&R(K)})}oe(ee,le)},I=ee=>{var le=mr(),re=ts(le),ve=L(re),Te=D(L(ve),2);He(Te,21,()=>b,ss,(be,Pe)=>{var Ee=ja(),Je=L(Ee),xe={};_e(Ye=>{pe(Je,Ye),xe!==(xe=A(Pe))&&(Ee.value=(Ee.__value=A(Pe))??"")},[()=>A(Pe).charAt(0).toUpperCase()+A(Pe).slice(1)]),oe(be,Ee)});var u=D(ve,2),z=D(L(u),2);He(z,21,()=>y,ss,(be,Pe)=>{var Ee=ja(),Je=L(Ee),xe={};_e(Ye=>{pe(Je,Ye),xe!==(xe=A(Pe))&&(Ee.value=(Ee.__value=A(Pe))??"")},[()=>A(Pe).charAt(0).toUpperCase()+A(Pe).slice(1)]),oe(be,Ee)});var B=D(re,2),C=D(L(B),2),T=D(B,2),_=D(L(T),2),Z=D(T,2),K=L(Z),R=D(L(K),2),M=D(K,2),N=D(L(M),2),W=D(Z,2),$=D(L(W),2),he=D(W,2),ye=D(L(he),2);Hs(Te,()=>A(r),be=>te(r,be)),Hs(z,()=>A(m),be=>te(m,be)),Me(C,()=>A(v),be=>te(v,be)),Me(_,()=>A(h),be=>te(h,be)),Me(R,()=>A(d),be=>te(d,be)),Me(N,()=>A(c),be=>te(c,be)),Me($,()=>A(g),be=>te(g,be)),Me(ye,()=>A(p),be=>te(p,be)),oe(ee,le)};Ae(ne,ee=>{A(i)==="view"?ee(E):ee(I,-1)})}var H=D(Q,2),J=L(H);{var q=ee=>{var le=Tr(),re=ts(le),ve=L(re),Te=D(ve,2),u=D(Te,2);{var z=N=>{var W=br(),$=L(W),he=D($,2);{var ye=be=>{var Pe=hr(),Ee=L(Pe);{var Je=Ue=>{var Ze=fr();ie("click",Ze,()=>j("zwo")),oe(Ue,Ze)},xe=Ie(()=>et(A(se).sport));Ae(Ee,Ue=>{A(xe)&&Ue(Je)})}var Ye=D(Ee,2);{var Rs=Ue=>{var Ze=pr();ie("click",Ze,()=>j("fit")),oe(Ue,Ze)},We=Ie(()=>st(A(se).sport));Ae(Ye,Ue=>{A(We)&&Ue(Rs)})}var ds=D(Ye,2);{var at=Ue=>{var Ze=dr();ie("click",Ze,()=>j("mrc")),oe(Ue,Ze)},Ht=Ie(()=>tt(A(se).sport));Ae(ds,Ue=>{A(Ht)&&Ue(at)})}var jt=D(ds,4);ie("click",jt,function(...Ue){s.onImportHelpClick?.apply(this,Ue)}),oe(be,Pe)};Ae(he,be=>{A(o)&&be(ye)})}ie("click",$,()=>te(o,!A(o))),oe(N,W)};Ae(u,N=>{A(Y)&&N(z)})}var B=D(re,2),C=L(B);{var T=N=>{var W=yr();let $;var he=L(W);_e(()=>{$=Re(W,1,"export-status svelte-12rtkin",null,$,{error:A(l).isError}),pe(he,A(l).message)}),oe(N,W)};Ae(C,N=>{A(l)&&N(T)})}var _=D(C,2);let Z;var K=L(_);{var R=N=>{var W=gr();oe(N,W)},M=N=>{var W=vr();oe(N,W)};Ae(K,N=>{a()?N(R):N(M,-1)})}_e(()=>Z=Re(_,1,"complete-btn svelte-12rtkin",null,Z,{mark:!a(),unmark:a()})),ie("click",ve,x),ie("click",Te,()=>te(n,!0)),ie("click",_,()=>s.onToggleComplete(A(se).id)),oe(ee,le)},fe=ee=>{var le=Cr(),re=ts(le),ve=D(re,2),Te=L(ve);_e(()=>{ve.disabled=!A(v),pe(Te,A(i)==="create"?"Add Workout":"Save Changes")}),ie("click",re,S),ie("click",ve,U),oe(ee,le)};Ae(J,ee=>{A(i)==="view"?ee(q):ee(fe,-1)})}var Ce=D(H,2);{var me=ee=>{var le=wr(),re=L(le),ve=D(L(re),2),Te=L(ve),u=D(Te,2);ie("click",Te,()=>te(n,!1)),ie("click",u,P),oe(ee,le)};Ae(Ce,ee=>{A(n)&&ee(me)})}ie("click",k,F),ie("keydown",k,w),ie("click",ge,function(...ee){s.onClose?.apply(this,ee)}),oe(e,k),vs()}Ps(["click","keydown"]);const kr={theme:"dark",units:{swim:"meters",bike:"kilometers",run:"kilometers"},firstDayOfWeek:"monday",run:{lthr:165,hrZones:[{zone:1,name:"Recovery",low:0,high:134},{zone:2,name:"Aerobic",low:134,high:147},{zone:3,name:"Tempo",low:147,high:156},{zone:4,name:"Threshold",low:156,high:165},{zone:5,name:"VO2max",low:165,high:180}],thresholdPace:"4:30",paceZones:[{zone:"E",name:"Easy",pace:"5:20"},{zone:"M",name:"Marathon",pace:"4:50"},{zone:"T",name:"Threshold",pace:"4:30"},{zone:"I",name:"Interval",pace:"4:00"},{zone:"R",name:"Repetition",pace:"3:40"}]},bike:{lthr:160,hrZones:[{zone:1,name:"Recovery",low:0,high:130},{zone:2,name:"Aerobic",low:130,high:142},{zone:3,name:"Tempo",low:142,high:151},{zone:4,name:"Threshold",low:151,high:160},{zone:5,name:"VO2max",low:160,high:175}],ftp:200,powerZones:[{zone:1,name:"Active Recovery",low:0,high:110},{zone:2,name:"Endurance",low:110,high:150},{zone:3,name:"Tempo",low:150,high:180},{zone:4,name:"Threshold",low:180,high:210},{zone:5,name:"VO2max",low:210,high:240}]},swim:{css:"1:50",cssSeconds:110,paceZones:[{zone:1,name:"Recovery",offset:20,pace:"2:10"},{zone:2,name:"Aerobic",offset:10,pace:"2:00"},{zone:3,name:"Tempo",offset:5,pace:"1:55"},{zone:4,name:"Threshold",offset:0,pace:"1:50"},{zone:5,name:"VO2max",offset:-5,pace:"1:45"}]}},Vn=`plan-${qe.meta.id}-settings`;function Sr(){const e=JSON.parse(JSON.stringify(kr));qe.preferences&&(e.units.swim=qe.preferences.swim||e.units.swim,e.units.bike=qe.preferences.bike||e.units.bike,e.units.run=qe.preferences.run||e.units.run,e.firstDayOfWeek=qe.preferences.firstDayOfWeek||e.firstDayOfWeek);const s=qe.zones;s?.run?.hr&&(e.run.lthr=s.run.hr.lthr,s.run.hr.zones&&(e.run.hrZones=s.run.hr.zones.map(a=>({zone:a.zone,name:a.name,low:a.hrLow,high:a.hrHigh})))),s?.run?.pace&&(e.run.thresholdPace=s.run.pace.thresholdPace||e.run.thresholdPace,s.run.pace.zones&&(e.run.paceZones=s.run.pace.zones.map(a=>({zone:a.zone,name:a.name,pace:a.pace})))),s?.bike?.hr&&(e.bike.lthr=s.bike.hr.lthr,s.bike.hr.zones&&(e.bike.hrZones=s.bike.hr.zones.map(a=>({zone:a.zone,name:a.name,low:a.hrLow,high:a.hrHigh})))),s?.bike?.power&&(e.bike.ftp=s.bike.power.ftp,s.bike.power.zones&&(e.bike.powerZones=s.bike.power.zones.map(a=>({zone:a.zone,name:a.name,low:a.wattsLow,high:a.wattsHigh})))),s?.swim&&(e.swim.css=s.swim.css||e.swim.css,e.swim.cssSeconds=s.swim.cssSeconds||e.swim.cssSeconds,s.swim.zones&&(e.swim.paceZones=s.swim.zones.map(a=>({zone:a.zone,name:a.name,offset:a.paceOffset,pace:a.pace}))));const t=localStorage.getItem(Vn);if(t){const a=JSON.parse(t);a.theme&&(e.theme=a.theme),a.units&&(e.units={...e.units,...a.units}),a.firstDayOfWeek&&(e.firstDayOfWeek=a.firstDayOfWeek),a.run&&(e.run={...e.run,...a.run}),a.bike&&(e.bike={...e.bike,...a.bike}),a.swim&&(e.swim={...e.swim,...a.swim})}return e}function _r(e){localStorage.setItem(Vn,JSON.stringify(e))}function Jn(e){if(!e)return 0;const s=e.split(":");return parseInt(s[0]??"0")*60+parseInt(s[1]??"0")}function Yn(e){const s=Math.floor(e/60),t=Math.round(e%60);return`${s}:${t.toString().padStart(2,"0")}`}function xr(e){return[{zone:1,name:"Recovery",lowPct:0,highPct:81},{zone:2,name:"Aerobic",lowPct:81,highPct:89},{zone:3,name:"Tempo",lowPct:89,highPct:94},{zone:4,name:"Threshold",lowPct:94,highPct:100},{zone:5,name:"VO2max",lowPct:100,highPct:106}].map(t=>({zone:t.zone,name:t.name,low:Math.round(e*t.lowPct/100),high:Math.round(e*t.highPct/100)}))}function Er(e){return[{zone:1,name:"Active Recovery",lowPct:0,highPct:55},{zone:2,name:"Endurance",lowPct:55,highPct:75},{zone:3,name:"Tempo",lowPct:75,highPct:90},{zone:4,name:"Threshold",lowPct:90,highPct:105},{zone:5,name:"VO2max",lowPct:105,highPct:120}].map(t=>({zone:t.zone,name:t.name,low:Math.round(e*t.lowPct/100),high:Math.round(e*t.highPct/100)}))}function Pr(e){const s=Jn(e);return[{zone:"E",name:"Easy",factor:1.18},{zone:"M",name:"Marathon",factor:1.07},{zone:"T",name:"Threshold",factor:1},{zone:"I",name:"Interval",factor:.89},{zone:"R",name:"Repetition",factor:.82}].map(a=>({zone:a.zone,name:a.name,pace:Yn(Math.round(s*a.factor))}))}function Rr(e){const s=Jn(e);return[{zone:1,name:"Recovery",offset:20},{zone:2,name:"Aerobic",offset:10},{zone:3,name:"Tempo",offset:5},{zone:4,name:"Threshold",offset:0},{zone:5,name:"VO2max",offset:-5}].map(a=>({zone:a.zone,name:a.name,offset:a.offset,pace:Yn(s+a.offset)}))}const Ir="0.2.0";var Dr=ue("<button> </button>"),Lr=ue('<div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Appearance</h4> <div class="theme-toggle svelte-1uhipit"><button><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-1uhipit"><circle cx="12" cy="12" r="5"></circle><path d="M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42"></path></svg> Light</button> <button><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-1uhipit"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path></svg> Dark</button></div></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Distance Units</h4> <div class="settings-row svelte-1uhipit"><span class="settings-label svelte-1uhipit">Swim</span> <select class="settings-select svelte-1uhipit"><option>Meters</option><option>Yards</option></select></div> <div class="settings-row svelte-1uhipit"><span class="settings-label svelte-1uhipit">Bike</span> <select class="settings-select svelte-1uhipit"><option>Kilometers</option><option>Miles</option></select></div> <div class="settings-row svelte-1uhipit"><span class="settings-label svelte-1uhipit">Run</span> <select class="settings-select svelte-1uhipit"><option>Kilometers</option><option>Miles</option></select></div></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Calendar</h4> <div class="settings-row svelte-1uhipit"><span class="settings-label svelte-1uhipit">First day of week</span> <select class="settings-select svelte-1uhipit"><option>Monday</option><option>Sunday</option></select></div></div>',1),Yt=ue('<div class="zone-row svelte-1uhipit"><span> </span> <span class="zone-name svelte-1uhipit"> </span> <input type="number" class="zone-input svelte-1uhipit"/> <input type="number" class="zone-input svelte-1uhipit"/></div>'),Br=ue('<div class="zone-row svelte-1uhipit"><span> </span> <span class="zone-name svelte-1uhipit"> </span> <input type="text" class="pace-input svelte-1uhipit"/></div>'),Mr=ue('<div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Heart Rate Zones</h4> <div class="threshold-row svelte-1uhipit"><span class="threshold-label svelte-1uhipit">Run LTHR</span> <input type="number" class="threshold-input svelte-1uhipit" min="100" max="220"/> <button class="recalc-btn svelte-1uhipit">Recalculate</button></div> <div class="zones-grid svelte-1uhipit"><div class="zone-row header svelte-1uhipit"><span>Zone</span><span>Name</span><span>Low</span><span>High</span></div> <!></div> <details class="help-details svelte-1uhipit"><summary class="svelte-1uhipit">How to find your LTHR</summary> <div class="help-content svelte-1uhipit"><p class="svelte-1uhipit"><strong>30-Minute Test:</strong></p> <ol class="svelte-1uhipit"><li class="svelte-1uhipit">Warm up for 15 minutes</li> <li class="svelte-1uhipit">Run as hard as you can sustain for 30 minutes</li> <li class="svelte-1uhipit">Your average HR for the last 20 minutes is your LTHR</li></ol></div></details></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Pace Zones</h4> <div class="threshold-row svelte-1uhipit"><span class="threshold-label svelte-1uhipit">Threshold Pace</span> <input type="text" class="threshold-input svelte-1uhipit" placeholder="4:30"/> <button class="recalc-btn svelte-1uhipit">Recalculate</button></div> <div class="zones-grid svelte-1uhipit"><div class="zone-row header svelte-1uhipit"><span>Zone</span><span>Name</span><span colspan="2">Pace/km</span></div> <!></div> <details class="help-details svelte-1uhipit"><summary class="svelte-1uhipit">How to find your Threshold Pace</summary> <div class="help-content svelte-1uhipit"><p class="svelte-1uhipit"><strong>Option 1: Race-Based</strong></p> <ul class="svelte-1uhipit"><li class="svelte-1uhipit">Recent 5K race pace + 15-20 sec/km</li> <li class="svelte-1uhipit">Recent 10K race pace + 5-10 sec/km</li></ul> <p class="svelte-1uhipit"><strong>Option 2: 30-Minute Test</strong></p> <p class="svelte-1uhipit">Run 30 minutes at max sustainable effort. Average pace = threshold.</p></div></details></div>',1),Or=ue('<div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Heart Rate Zones</h4> <div class="threshold-row svelte-1uhipit"><span class="threshold-label svelte-1uhipit">Bike LTHR</span> <input type="number" class="threshold-input svelte-1uhipit" min="100" max="220"/> <button class="recalc-btn svelte-1uhipit">Recalculate</button></div> <div class="zones-grid svelte-1uhipit"><div class="zone-row header svelte-1uhipit"><span>Zone</span><span>Name</span><span>Low</span><span>High</span></div> <!></div> <details class="help-details svelte-1uhipit"><summary class="svelte-1uhipit">How to find your LTHR</summary> <div class="help-content svelte-1uhipit"><p class="svelte-1uhipit"><strong>30-Minute Test:</strong></p> <ol class="svelte-1uhipit"><li class="svelte-1uhipit">Warm up for 15 minutes</li> <li class="svelte-1uhipit">Bike as hard as you can sustain for 30 minutes</li> <li class="svelte-1uhipit">Your average HR for the last 20 minutes is your LTHR</li></ol> <p class="help-note svelte-1uhipit">Bike LTHR is typically 5-10 bpm lower than run.</p></div></details></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Power Zones</h4> <div class="threshold-row svelte-1uhipit"><span class="threshold-label svelte-1uhipit">FTP (watts)</span> <input type="number" class="threshold-input svelte-1uhipit" min="50" max="500"/> <button class="recalc-btn svelte-1uhipit">Recalculate</button></div> <div class="zones-grid svelte-1uhipit"><div class="zone-row header svelte-1uhipit"><span>Zone</span><span>Name</span><span>Low W</span><span>High W</span></div> <!></div> <details class="help-details svelte-1uhipit"><summary class="svelte-1uhipit">How to find your FTP</summary> <div class="help-content svelte-1uhipit"><p class="svelte-1uhipit"><strong>20-Minute Test:</strong></p> <ol class="svelte-1uhipit"><li class="svelte-1uhipit">Warm up for 20 minutes including a few hard efforts</li> <li class="svelte-1uhipit">Ride as hard as you can sustain for 20 minutes</li> <li class="svelte-1uhipit">FTP = Average power × 0.95</li></ol> <p class="svelte-1uhipit"><strong>Ramp Test:</strong> Most trainer apps (Zwift, TrainerRoad) have built-in FTP tests.</p></div></details></div>',1),zr=ue('<div class="zone-row svelte-1uhipit"><span> </span> <span class="zone-name svelte-1uhipit"> </span> <span class="zone-name svelte-1uhipit"> </span> <input type="text" class="pace-input svelte-1uhipit"/></div>'),Nr=ue('<div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Pace Zones</h4> <div class="threshold-row svelte-1uhipit"><span class="threshold-label svelte-1uhipit">CSS (per 100m)</span> <input type="text" class="threshold-input svelte-1uhipit" placeholder="1:45"/> <button class="recalc-btn svelte-1uhipit">Recalculate</button></div> <div class="zones-grid svelte-1uhipit"><div class="zone-row header svelte-1uhipit"><span>Zone</span><span>Name</span><span>Offset</span><span>Pace/100</span></div> <!></div> <details class="help-details svelte-1uhipit"><summary class="svelte-1uhipit">How to find your CSS</summary> <div class="help-content svelte-1uhipit"><p class="svelte-1uhipit"><strong>CSS Test (Critical Swim Speed):</strong></p> <ol class="svelte-1uhipit"><li class="svelte-1uhipit">Warm up for 10 minutes</li> <li class="svelte-1uhipit">Swim 400m all-out, record time (T400)</li> <li class="svelte-1uhipit">Rest 5-10 minutes</li> <li class="svelte-1uhipit">Swim 200m all-out, record time (T200)</li> <li class="svelte-1uhipit">CSS = (T400 - T200) ÷ 2 = pace per 100m</li></ol> <p class="svelte-1uhipit"><strong>Example:</strong> 400m in 6:40 (400s), 200m in 3:00 (180s)<br/> CSS = (400 - 180) ÷ 2 = 110 sec/100m = 1:50/100m</p></div></details></div>'),Wr=ue("<div> </div>"),Ur=ue(`<div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Your Data</h4> <div class="data-explainer svelte-1uhipit"><p class="svelte-1uhipit">Your training data is stored <strong>only on this device</strong>, in your browser's
36
+ `+"END:VCALENDAR"}var Ft=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function wo(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function kt(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Vt={exports:{}};var Na;function Ao(){return Na||(Na=1,(function(e,s){(function(t){e.exports=t()})(function(){return(function t(a,i,n){function o(m,v){if(!i[m]){if(!a[m]){var h=typeof kt=="function"&&kt;if(!v&&h)return h(m,!0);if(l)return l(m,!0);var d=new Error("Cannot find module '"+m+"'");throw d.code="MODULE_NOT_FOUND",d}var c=i[m]={exports:{}};a[m][0].call(c.exports,function(g){var p=a[m][1][g];return o(p||g)},c,c.exports,t,a,i,n)}return i[m].exports}for(var l=typeof kt=="function"&&kt,r=0;r<n.length;r++)o(n[r]);return o})({1:[function(t,a,i){var n=t("./utils"),o=t("./support"),l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";i.encode=function(r){for(var m,v,h,d,c,g,p,b=[],y=0,w=r.length,F=w,P=n.getTypeOf(r)!=="string";y<r.length;)F=w-y,h=P?(m=r[y++],v=y<w?r[y++]:0,y<w?r[y++]:0):(m=r.charCodeAt(y++),v=y<w?r.charCodeAt(y++):0,y<w?r.charCodeAt(y++):0),d=m>>2,c=(3&m)<<4|v>>4,g=1<F?(15&v)<<2|h>>6:64,p=2<F?63&h:64,b.push(l.charAt(d)+l.charAt(c)+l.charAt(g)+l.charAt(p));return b.join("")},i.decode=function(r){var m,v,h,d,c,g,p=0,b=0,y="data:";if(r.substr(0,y.length)===y)throw new Error("Invalid base64 input, it looks like a data url.");var w,F=3*(r=r.replace(/[^A-Za-z0-9+/=]/g,"")).length/4;if(r.charAt(r.length-1)===l.charAt(64)&&F--,r.charAt(r.length-2)===l.charAt(64)&&F--,F%1!=0)throw new Error("Invalid base64 input, bad content length.");for(w=o.uint8array?new Uint8Array(0|F):new Array(0|F);p<r.length;)m=l.indexOf(r.charAt(p++))<<2|(d=l.indexOf(r.charAt(p++)))>>4,v=(15&d)<<4|(c=l.indexOf(r.charAt(p++)))>>2,h=(3&c)<<6|(g=l.indexOf(r.charAt(p++))),w[b++]=m,c!==64&&(w[b++]=v),g!==64&&(w[b++]=h);return w}},{"./support":30,"./utils":32}],2:[function(t,a,i){var n=t("./external"),o=t("./stream/DataWorker"),l=t("./stream/Crc32Probe"),r=t("./stream/DataLengthProbe");function m(v,h,d,c,g){this.compressedSize=v,this.uncompressedSize=h,this.crc32=d,this.compression=c,this.compressedContent=g}m.prototype={getContentWorker:function(){var v=new o(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new r("data_length")),h=this;return v.on("end",function(){if(this.streamInfo.data_length!==h.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),v},getCompressedWorker:function(){return new o(n.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},m.createWorkerFrom=function(v,h,d){return v.pipe(new l).pipe(new r("uncompressedSize")).pipe(h.compressWorker(d)).pipe(new r("compressedSize")).withStreamInfo("compression",h)},a.exports=m},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(t,a,i){var n=t("./stream/GenericWorker");i.STORE={magic:"\0\0",compressWorker:function(){return new n("STORE compression")},uncompressWorker:function(){return new n("STORE decompression")}},i.DEFLATE=t("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(t,a,i){var n=t("./utils"),o=(function(){for(var l,r=[],m=0;m<256;m++){l=m;for(var v=0;v<8;v++)l=1&l?3988292384^l>>>1:l>>>1;r[m]=l}return r})();a.exports=function(l,r){return l!==void 0&&l.length?n.getTypeOf(l)!=="string"?(function(m,v,h,d){var c=o,g=d+h;m^=-1;for(var p=d;p<g;p++)m=m>>>8^c[255&(m^v[p])];return-1^m})(0|r,l,l.length,0):(function(m,v,h,d){var c=o,g=d+h;m^=-1;for(var p=d;p<g;p++)m=m>>>8^c[255&(m^v.charCodeAt(p))];return-1^m})(0|r,l,l.length,0):0}},{"./utils":32}],5:[function(t,a,i){i.base64=!1,i.binary=!1,i.dir=!1,i.createFolders=!0,i.date=null,i.compression=null,i.compressionOptions=null,i.comment=null,i.unixPermissions=null,i.dosPermissions=null},{}],6:[function(t,a,i){var n=null;n=typeof Promise<"u"?Promise:t("lie"),a.exports={Promise:n}},{lie:37}],7:[function(t,a,i){var n=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",o=t("pako"),l=t("./utils"),r=t("./stream/GenericWorker"),m=n?"uint8array":"array";function v(h,d){r.call(this,"FlateWorker/"+h),this._pako=null,this._pakoAction=h,this._pakoOptions=d,this.meta={}}i.magic="\b\0",l.inherits(v,r),v.prototype.processChunk=function(h){this.meta=h.meta,this._pako===null&&this._createPako(),this._pako.push(l.transformTo(m,h.data),!1)},v.prototype.flush=function(){r.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},v.prototype.cleanUp=function(){r.prototype.cleanUp.call(this),this._pako=null},v.prototype._createPako=function(){this._pako=new o[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var h=this;this._pako.onData=function(d){h.push({data:d,meta:h.meta})}},i.compressWorker=function(h){return new v("Deflate",h)},i.uncompressWorker=function(){return new v("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(t,a,i){function n(c,g){var p,b="";for(p=0;p<g;p++)b+=String.fromCharCode(255&c),c>>>=8;return b}function o(c,g,p,b,y,w){var F,P,_=c.file,N=c.compression,I=w!==m.utf8encode,H=l.transformTo("string",w(_.name)),O=l.transformTo("string",m.utf8encode(_.name)),q=_.comment,se=l.transformTo("string",w(q)),k=l.transformTo("string",m.utf8encode(q)),j=O.length!==_.name.length,f=k.length!==q.length,K="",ce="",Y="",ye=_.dir,Q=_.date,ne={crc32:0,compressedSize:0,uncompressedSize:0};g&&!p||(ne.crc32=c.crc32,ne.compressedSize=c.compressedSize,ne.uncompressedSize=c.uncompressedSize);var R=0;g&&(R|=8),I||!j&&!f||(R|=2048);var S=0,X=0;ye&&(S|=16),y==="UNIX"?(X=798,S|=(function(V,me){var Ce=V;return V||(Ce=me?16893:33204),(65535&Ce)<<16})(_.unixPermissions,ye)):(X=20,S|=(function(V){return 63&(V||0)})(_.dosPermissions)),F=Q.getUTCHours(),F<<=6,F|=Q.getUTCMinutes(),F<<=5,F|=Q.getUTCSeconds()/2,P=Q.getUTCFullYear()-1980,P<<=4,P|=Q.getUTCMonth()+1,P<<=5,P|=Q.getUTCDate(),j&&(ce=n(1,1)+n(v(H),4)+O,K+="up"+n(ce.length,2)+ce),f&&(Y=n(1,1)+n(v(se),4)+k,K+="uc"+n(Y.length,2)+Y);var J="";return J+=`
37
+ \0`,J+=n(R,2),J+=N.magic,J+=n(F,2),J+=n(P,2),J+=n(ne.crc32,4),J+=n(ne.compressedSize,4),J+=n(ne.uncompressedSize,4),J+=n(H.length,2),J+=n(K.length,2),{fileRecord:h.LOCAL_FILE_HEADER+J+H+K,dirRecord:h.CENTRAL_FILE_HEADER+n(X,2)+J+n(se.length,2)+"\0\0\0\0"+n(S,4)+n(b,4)+H+K+se}}var l=t("../utils"),r=t("../stream/GenericWorker"),m=t("../utf8"),v=t("../crc32"),h=t("../signature");function d(c,g,p,b){r.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=g,this.zipPlatform=p,this.encodeFileName=b,this.streamFiles=c,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}l.inherits(d,r),d.prototype.push=function(c){var g=c.meta.percent||0,p=this.entriesCount,b=this._sources.length;this.accumulate?this.contentBuffer.push(c):(this.bytesWritten+=c.data.length,r.prototype.push.call(this,{data:c.data,meta:{currentFile:this.currentFile,percent:p?(g+100*(p-b-1))/p:100}}))},d.prototype.openedSource=function(c){this.currentSourceOffset=this.bytesWritten,this.currentFile=c.file.name;var g=this.streamFiles&&!c.file.dir;if(g){var p=o(c,g,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:p.fileRecord,meta:{percent:0}})}else this.accumulate=!0},d.prototype.closedSource=function(c){this.accumulate=!1;var g=this.streamFiles&&!c.file.dir,p=o(c,g,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(p.dirRecord),g)this.push({data:(function(b){return h.DATA_DESCRIPTOR+n(b.crc32,4)+n(b.compressedSize,4)+n(b.uncompressedSize,4)})(c),meta:{percent:100}});else for(this.push({data:p.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},d.prototype.flush=function(){for(var c=this.bytesWritten,g=0;g<this.dirRecords.length;g++)this.push({data:this.dirRecords[g],meta:{percent:100}});var p=this.bytesWritten-c,b=(function(y,w,F,P,_){var N=l.transformTo("string",_(P));return h.CENTRAL_DIRECTORY_END+"\0\0\0\0"+n(y,2)+n(y,2)+n(w,4)+n(F,4)+n(N.length,2)+N})(this.dirRecords.length,p,c,this.zipComment,this.encodeFileName);this.push({data:b,meta:{percent:100}})},d.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},d.prototype.registerPrevious=function(c){this._sources.push(c);var g=this;return c.on("data",function(p){g.processChunk(p)}),c.on("end",function(){g.closedSource(g.previous.streamInfo),g._sources.length?g.prepareNextSource():g.end()}),c.on("error",function(p){g.error(p)}),this},d.prototype.resume=function(){return!!r.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},d.prototype.error=function(c){var g=this._sources;if(!r.prototype.error.call(this,c))return!1;for(var p=0;p<g.length;p++)try{g[p].error(c)}catch{}return!0},d.prototype.lock=function(){r.prototype.lock.call(this);for(var c=this._sources,g=0;g<c.length;g++)c[g].lock()},a.exports=d},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(t,a,i){var n=t("../compressions"),o=t("./ZipFileWorker");i.generateWorker=function(l,r,m){var v=new o(r.streamFiles,m,r.platform,r.encodeFileName),h=0;try{l.forEach(function(d,c){h++;var g=(function(w,F){var P=w||F,_=n[P];if(!_)throw new Error(P+" is not a valid compression method !");return _})(c.options.compression,r.compression),p=c.options.compressionOptions||r.compressionOptions||{},b=c.dir,y=c.date;c._compressWorker(g,p).withStreamInfo("file",{name:d,dir:b,date:y,comment:c.comment||"",unixPermissions:c.unixPermissions,dosPermissions:c.dosPermissions}).pipe(v)}),v.entriesCount=h}catch(d){v.error(d)}return v}},{"../compressions":3,"./ZipFileWorker":8}],10:[function(t,a,i){function n(){if(!(this instanceof n))return new n;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var o=new n;for(var l in this)typeof this[l]!="function"&&(o[l]=this[l]);return o}}(n.prototype=t("./object")).loadAsync=t("./load"),n.support=t("./support"),n.defaults=t("./defaults"),n.version="3.10.1",n.loadAsync=function(o,l){return new n().loadAsync(o,l)},n.external=t("./external"),a.exports=n},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(t,a,i){var n=t("./utils"),o=t("./external"),l=t("./utf8"),r=t("./zipEntries"),m=t("./stream/Crc32Probe"),v=t("./nodejsUtils");function h(d){return new o.Promise(function(c,g){var p=d.decompressed.getContentWorker().pipe(new m);p.on("error",function(b){g(b)}).on("end",function(){p.streamInfo.crc32!==d.decompressed.crc32?g(new Error("Corrupted zip : CRC32 mismatch")):c()}).resume()})}a.exports=function(d,c){var g=this;return c=n.extend(c||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:l.utf8decode}),v.isNode&&v.isStream(d)?o.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):n.prepareContent("the loaded zip file",d,!0,c.optimizedBinaryString,c.base64).then(function(p){var b=new r(c);return b.load(p),b}).then(function(p){var b=[o.Promise.resolve(p)],y=p.files;if(c.checkCRC32)for(var w=0;w<y.length;w++)b.push(h(y[w]));return o.Promise.all(b)}).then(function(p){for(var b=p.shift(),y=b.files,w=0;w<y.length;w++){var F=y[w],P=F.fileNameStr,_=n.resolve(F.fileNameStr);g.file(_,F.decompressed,{binary:!0,optimizedBinaryString:!0,date:F.date,dir:F.dir,comment:F.fileCommentStr.length?F.fileCommentStr:null,unixPermissions:F.unixPermissions,dosPermissions:F.dosPermissions,createFolders:c.createFolders}),F.dir||(g.file(_).unsafeOriginalName=P)}return b.zipComment.length&&(g.comment=b.zipComment),g})}},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(t,a,i){var n=t("../utils"),o=t("../stream/GenericWorker");function l(r,m){o.call(this,"Nodejs stream input adapter for "+r),this._upstreamEnded=!1,this._bindStream(m)}n.inherits(l,o),l.prototype._bindStream=function(r){var m=this;(this._stream=r).pause(),r.on("data",function(v){m.push({data:v,meta:{percent:0}})}).on("error",function(v){m.isPaused?this.generatedError=v:m.error(v)}).on("end",function(){m.isPaused?m._upstreamEnded=!0:m.end()})},l.prototype.pause=function(){return!!o.prototype.pause.call(this)&&(this._stream.pause(),!0)},l.prototype.resume=function(){return!!o.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},a.exports=l},{"../stream/GenericWorker":28,"../utils":32}],13:[function(t,a,i){var n=t("readable-stream").Readable;function o(l,r,m){n.call(this,r),this._helper=l;var v=this;l.on("data",function(h,d){v.push(h)||v._helper.pause(),m&&m(d)}).on("error",function(h){v.emit("error",h)}).on("end",function(){v.push(null)})}t("../utils").inherits(o,n),o.prototype._read=function(){this._helper.resume()},a.exports=o},{"../utils":32,"readable-stream":16}],14:[function(t,a,i){a.exports={isNode:typeof Buffer<"u",newBufferFrom:function(n,o){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(n,o);if(typeof n=="number")throw new Error('The "data" argument must not be a number');return new Buffer(n,o)},allocBuffer:function(n){if(Buffer.alloc)return Buffer.alloc(n);var o=new Buffer(n);return o.fill(0),o},isBuffer:function(n){return Buffer.isBuffer(n)},isStream:function(n){return n&&typeof n.on=="function"&&typeof n.pause=="function"&&typeof n.resume=="function"}}},{}],15:[function(t,a,i){function n(_,N,I){var H,O=l.getTypeOf(N),q=l.extend(I||{},v);q.date=q.date||new Date,q.compression!==null&&(q.compression=q.compression.toUpperCase()),typeof q.unixPermissions=="string"&&(q.unixPermissions=parseInt(q.unixPermissions,8)),q.unixPermissions&&16384&q.unixPermissions&&(q.dir=!0),q.dosPermissions&&16&q.dosPermissions&&(q.dir=!0),q.dir&&(_=y(_)),q.createFolders&&(H=b(_))&&w.call(this,H,!0);var se=O==="string"&&q.binary===!1&&q.base64===!1;I&&I.binary!==void 0||(q.binary=!se),(N instanceof h&&N.uncompressedSize===0||q.dir||!N||N.length===0)&&(q.base64=!1,q.binary=!0,N="",q.compression="STORE",O="string");var k=null;k=N instanceof h||N instanceof r?N:g.isNode&&g.isStream(N)?new p(_,N):l.prepareContent(_,N,q.binary,q.optimizedBinaryString,q.base64);var j=new d(_,k,q);this.files[_]=j}var o=t("./utf8"),l=t("./utils"),r=t("./stream/GenericWorker"),m=t("./stream/StreamHelper"),v=t("./defaults"),h=t("./compressedObject"),d=t("./zipObject"),c=t("./generate"),g=t("./nodejsUtils"),p=t("./nodejs/NodejsStreamInputAdapter"),b=function(_){_.slice(-1)==="/"&&(_=_.substring(0,_.length-1));var N=_.lastIndexOf("/");return 0<N?_.substring(0,N):""},y=function(_){return _.slice(-1)!=="/"&&(_+="/"),_},w=function(_,N){return N=N!==void 0?N:v.createFolders,_=y(_),this.files[_]||n.call(this,_,null,{dir:!0,createFolders:N}),this.files[_]};function F(_){return Object.prototype.toString.call(_)==="[object RegExp]"}var P={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(_){var N,I,H;for(N in this.files)H=this.files[N],(I=N.slice(this.root.length,N.length))&&N.slice(0,this.root.length)===this.root&&_(I,H)},filter:function(_){var N=[];return this.forEach(function(I,H){_(I,H)&&N.push(H)}),N},file:function(_,N,I){if(arguments.length!==1)return _=this.root+_,n.call(this,_,N,I),this;if(F(_)){var H=_;return this.filter(function(q,se){return!se.dir&&H.test(q)})}var O=this.files[this.root+_];return O&&!O.dir?O:null},folder:function(_){if(!_)return this;if(F(_))return this.filter(function(O,q){return q.dir&&_.test(O)});var N=this.root+_,I=w.call(this,N),H=this.clone();return H.root=I.name,H},remove:function(_){_=this.root+_;var N=this.files[_];if(N||(_.slice(-1)!=="/"&&(_+="/"),N=this.files[_]),N&&!N.dir)delete this.files[_];else for(var I=this.filter(function(O,q){return q.name.slice(0,_.length)===_}),H=0;H<I.length;H++)delete this.files[I[H].name];return this},generate:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(_){var N,I={};try{if((I=l.extend(_||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:o.utf8encode})).type=I.type.toLowerCase(),I.compression=I.compression.toUpperCase(),I.type==="binarystring"&&(I.type="string"),!I.type)throw new Error("No output type specified.");l.checkSupport(I.type),I.platform!=="darwin"&&I.platform!=="freebsd"&&I.platform!=="linux"&&I.platform!=="sunos"||(I.platform="UNIX"),I.platform==="win32"&&(I.platform="DOS");var H=I.comment||this.comment||"";N=c.generateWorker(this,I,H)}catch(O){(N=new r("error")).error(O)}return new m(N,I.type||"string",I.mimeType)},generateAsync:function(_,N){return this.generateInternalStream(_).accumulate(N)},generateNodeStream:function(_,N){return(_=_||{}).type||(_.type="nodebuffer"),this.generateInternalStream(_).toNodejsStream(N)}};a.exports=P},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(t,a,i){a.exports=t("stream")},{stream:void 0}],17:[function(t,a,i){var n=t("./DataReader");function o(l){n.call(this,l);for(var r=0;r<this.data.length;r++)l[r]=255&l[r]}t("../utils").inherits(o,n),o.prototype.byteAt=function(l){return this.data[this.zero+l]},o.prototype.lastIndexOfSignature=function(l){for(var r=l.charCodeAt(0),m=l.charCodeAt(1),v=l.charCodeAt(2),h=l.charCodeAt(3),d=this.length-4;0<=d;--d)if(this.data[d]===r&&this.data[d+1]===m&&this.data[d+2]===v&&this.data[d+3]===h)return d-this.zero;return-1},o.prototype.readAndCheckSignature=function(l){var r=l.charCodeAt(0),m=l.charCodeAt(1),v=l.charCodeAt(2),h=l.charCodeAt(3),d=this.readData(4);return r===d[0]&&m===d[1]&&v===d[2]&&h===d[3]},o.prototype.readData=function(l){if(this.checkOffset(l),l===0)return[];var r=this.data.slice(this.zero+this.index,this.zero+this.index+l);return this.index+=l,r},a.exports=o},{"../utils":32,"./DataReader":18}],18:[function(t,a,i){var n=t("../utils");function o(l){this.data=l,this.length=l.length,this.index=0,this.zero=0}o.prototype={checkOffset:function(l){this.checkIndex(this.index+l)},checkIndex:function(l){if(this.length<this.zero+l||l<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+l+"). Corrupted zip ?")},setIndex:function(l){this.checkIndex(l),this.index=l},skip:function(l){this.setIndex(this.index+l)},byteAt:function(){},readInt:function(l){var r,m=0;for(this.checkOffset(l),r=this.index+l-1;r>=this.index;r--)m=(m<<8)+this.byteAt(r);return this.index+=l,m},readString:function(l){return n.transformTo("string",this.readData(l))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var l=this.readInt(4);return new Date(Date.UTC(1980+(l>>25&127),(l>>21&15)-1,l>>16&31,l>>11&31,l>>5&63,(31&l)<<1))}},a.exports=o},{"../utils":32}],19:[function(t,a,i){var n=t("./Uint8ArrayReader");function o(l){n.call(this,l)}t("../utils").inherits(o,n),o.prototype.readData=function(l){this.checkOffset(l);var r=this.data.slice(this.zero+this.index,this.zero+this.index+l);return this.index+=l,r},a.exports=o},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(t,a,i){var n=t("./DataReader");function o(l){n.call(this,l)}t("../utils").inherits(o,n),o.prototype.byteAt=function(l){return this.data.charCodeAt(this.zero+l)},o.prototype.lastIndexOfSignature=function(l){return this.data.lastIndexOf(l)-this.zero},o.prototype.readAndCheckSignature=function(l){return l===this.readData(4)},o.prototype.readData=function(l){this.checkOffset(l);var r=this.data.slice(this.zero+this.index,this.zero+this.index+l);return this.index+=l,r},a.exports=o},{"../utils":32,"./DataReader":18}],21:[function(t,a,i){var n=t("./ArrayReader");function o(l){n.call(this,l)}t("../utils").inherits(o,n),o.prototype.readData=function(l){if(this.checkOffset(l),l===0)return new Uint8Array(0);var r=this.data.subarray(this.zero+this.index,this.zero+this.index+l);return this.index+=l,r},a.exports=o},{"../utils":32,"./ArrayReader":17}],22:[function(t,a,i){var n=t("../utils"),o=t("../support"),l=t("./ArrayReader"),r=t("./StringReader"),m=t("./NodeBufferReader"),v=t("./Uint8ArrayReader");a.exports=function(h){var d=n.getTypeOf(h);return n.checkSupport(d),d!=="string"||o.uint8array?d==="nodebuffer"?new m(h):o.uint8array?new v(n.transformTo("uint8array",h)):new l(n.transformTo("array",h)):new r(h)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(t,a,i){i.LOCAL_FILE_HEADER="PK",i.CENTRAL_FILE_HEADER="PK",i.CENTRAL_DIRECTORY_END="PK",i.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x07",i.ZIP64_CENTRAL_DIRECTORY_END="PK",i.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(t,a,i){var n=t("./GenericWorker"),o=t("../utils");function l(r){n.call(this,"ConvertWorker to "+r),this.destType=r}o.inherits(l,n),l.prototype.processChunk=function(r){this.push({data:o.transformTo(this.destType,r.data),meta:r.meta})},a.exports=l},{"../utils":32,"./GenericWorker":28}],25:[function(t,a,i){var n=t("./GenericWorker"),o=t("../crc32");function l(){n.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}t("../utils").inherits(l,n),l.prototype.processChunk=function(r){this.streamInfo.crc32=o(r.data,this.streamInfo.crc32||0),this.push(r)},a.exports=l},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(t,a,i){var n=t("../utils"),o=t("./GenericWorker");function l(r){o.call(this,"DataLengthProbe for "+r),this.propName=r,this.withStreamInfo(r,0)}n.inherits(l,o),l.prototype.processChunk=function(r){if(r){var m=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=m+r.data.length}o.prototype.processChunk.call(this,r)},a.exports=l},{"../utils":32,"./GenericWorker":28}],27:[function(t,a,i){var n=t("../utils"),o=t("./GenericWorker");function l(r){o.call(this,"DataWorker");var m=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,r.then(function(v){m.dataIsReady=!0,m.data=v,m.max=v&&v.length||0,m.type=n.getTypeOf(v),m.isPaused||m._tickAndRepeat()},function(v){m.error(v)})}n.inherits(l,o),l.prototype.cleanUp=function(){o.prototype.cleanUp.call(this),this.data=null},l.prototype.resume=function(){return!!o.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,n.delay(this._tickAndRepeat,[],this)),!0)},l.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(n.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},l.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var r=null,m=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":r=this.data.substring(this.index,m);break;case"uint8array":r=this.data.subarray(this.index,m);break;case"array":case"nodebuffer":r=this.data.slice(this.index,m)}return this.index=m,this.push({data:r,meta:{percent:this.max?this.index/this.max*100:0}})},a.exports=l},{"../utils":32,"./GenericWorker":28}],28:[function(t,a,i){function n(o){this.name=o||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}n.prototype={push:function(o){this.emit("data",o)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(o){this.emit("error",o)}return!0},error:function(o){return!this.isFinished&&(this.isPaused?this.generatedError=o:(this.isFinished=!0,this.emit("error",o),this.previous&&this.previous.error(o),this.cleanUp()),!0)},on:function(o,l){return this._listeners[o].push(l),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(o,l){if(this._listeners[o])for(var r=0;r<this._listeners[o].length;r++)this._listeners[o][r].call(this,l)},pipe:function(o){return o.registerPrevious(this)},registerPrevious:function(o){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=o.streamInfo,this.mergeStreamInfo(),this.previous=o;var l=this;return o.on("data",function(r){l.processChunk(r)}),o.on("end",function(){l.end()}),o.on("error",function(r){l.error(r)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var o=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),o=!0),this.previous&&this.previous.resume(),!o},flush:function(){},processChunk:function(o){this.push(o)},withStreamInfo:function(o,l){return this.extraStreamInfo[o]=l,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var o in this.extraStreamInfo)Object.prototype.hasOwnProperty.call(this.extraStreamInfo,o)&&(this.streamInfo[o]=this.extraStreamInfo[o])},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var o="Worker "+this.name;return this.previous?this.previous+" -> "+o:o}},a.exports=n},{}],29:[function(t,a,i){var n=t("../utils"),o=t("./ConvertWorker"),l=t("./GenericWorker"),r=t("../base64"),m=t("../support"),v=t("../external"),h=null;if(m.nodestream)try{h=t("../nodejs/NodejsStreamOutputAdapter")}catch{}function d(g,p){return new v.Promise(function(b,y){var w=[],F=g._internalType,P=g._outputType,_=g._mimeType;g.on("data",function(N,I){w.push(N),p&&p(I)}).on("error",function(N){w=[],y(N)}).on("end",function(){try{var N=(function(I,H,O){switch(I){case"blob":return n.newBlob(n.transformTo("arraybuffer",H),O);case"base64":return r.encode(H);default:return n.transformTo(I,H)}})(P,(function(I,H){var O,q=0,se=null,k=0;for(O=0;O<H.length;O++)k+=H[O].length;switch(I){case"string":return H.join("");case"array":return Array.prototype.concat.apply([],H);case"uint8array":for(se=new Uint8Array(k),O=0;O<H.length;O++)se.set(H[O],q),q+=H[O].length;return se;case"nodebuffer":return Buffer.concat(H);default:throw new Error("concat : unsupported type '"+I+"'")}})(F,w),_);b(N)}catch(I){y(I)}w=[]}).resume()})}function c(g,p,b){var y=p;switch(p){case"blob":case"arraybuffer":y="uint8array";break;case"base64":y="string"}try{this._internalType=y,this._outputType=p,this._mimeType=b,n.checkSupport(y),this._worker=g.pipe(new o(y)),g.lock()}catch(w){this._worker=new l("error"),this._worker.error(w)}}c.prototype={accumulate:function(g){return d(this,g)},on:function(g,p){var b=this;return g==="data"?this._worker.on(g,function(y){p.call(b,y.data,y.meta)}):this._worker.on(g,function(){n.delay(p,arguments,b)}),this},resume:function(){return n.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(g){if(n.checkSupport("nodestream"),this._outputType!=="nodebuffer")throw new Error(this._outputType+" is not supported by this method");return new h(this,{objectMode:this._outputType!=="nodebuffer"},g)}},a.exports=c},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(t,a,i){if(i.base64=!0,i.array=!0,i.string=!0,i.arraybuffer=typeof ArrayBuffer<"u"&&typeof Uint8Array<"u",i.nodebuffer=typeof Buffer<"u",i.uint8array=typeof Uint8Array<"u",typeof ArrayBuffer>"u")i.blob=!1;else{var n=new ArrayBuffer(0);try{i.blob=new Blob([n],{type:"application/zip"}).size===0}catch{try{var o=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);o.append(n),i.blob=o.getBlob("application/zip").size===0}catch{i.blob=!1}}}try{i.nodestream=!!t("readable-stream").Readable}catch{i.nodestream=!1}},{"readable-stream":16}],31:[function(t,a,i){for(var n=t("./utils"),o=t("./support"),l=t("./nodejsUtils"),r=t("./stream/GenericWorker"),m=new Array(256),v=0;v<256;v++)m[v]=252<=v?6:248<=v?5:240<=v?4:224<=v?3:192<=v?2:1;m[254]=m[254]=1;function h(){r.call(this,"utf-8 decode"),this.leftOver=null}function d(){r.call(this,"utf-8 encode")}i.utf8encode=function(c){return o.nodebuffer?l.newBufferFrom(c,"utf-8"):(function(g){var p,b,y,w,F,P=g.length,_=0;for(w=0;w<P;w++)(64512&(b=g.charCodeAt(w)))==55296&&w+1<P&&(64512&(y=g.charCodeAt(w+1)))==56320&&(b=65536+(b-55296<<10)+(y-56320),w++),_+=b<128?1:b<2048?2:b<65536?3:4;for(p=o.uint8array?new Uint8Array(_):new Array(_),w=F=0;F<_;w++)(64512&(b=g.charCodeAt(w)))==55296&&w+1<P&&(64512&(y=g.charCodeAt(w+1)))==56320&&(b=65536+(b-55296<<10)+(y-56320),w++),b<128?p[F++]=b:(b<2048?p[F++]=192|b>>>6:(b<65536?p[F++]=224|b>>>12:(p[F++]=240|b>>>18,p[F++]=128|b>>>12&63),p[F++]=128|b>>>6&63),p[F++]=128|63&b);return p})(c)},i.utf8decode=function(c){return o.nodebuffer?n.transformTo("nodebuffer",c).toString("utf-8"):(function(g){var p,b,y,w,F=g.length,P=new Array(2*F);for(p=b=0;p<F;)if((y=g[p++])<128)P[b++]=y;else if(4<(w=m[y]))P[b++]=65533,p+=w-1;else{for(y&=w===2?31:w===3?15:7;1<w&&p<F;)y=y<<6|63&g[p++],w--;1<w?P[b++]=65533:y<65536?P[b++]=y:(y-=65536,P[b++]=55296|y>>10&1023,P[b++]=56320|1023&y)}return P.length!==b&&(P.subarray?P=P.subarray(0,b):P.length=b),n.applyFromCharCode(P)})(c=n.transformTo(o.uint8array?"uint8array":"array",c))},n.inherits(h,r),h.prototype.processChunk=function(c){var g=n.transformTo(o.uint8array?"uint8array":"array",c.data);if(this.leftOver&&this.leftOver.length){if(o.uint8array){var p=g;(g=new Uint8Array(p.length+this.leftOver.length)).set(this.leftOver,0),g.set(p,this.leftOver.length)}else g=this.leftOver.concat(g);this.leftOver=null}var b=(function(w,F){var P;for((F=F||w.length)>w.length&&(F=w.length),P=F-1;0<=P&&(192&w[P])==128;)P--;return P<0||P===0?F:P+m[w[P]]>F?P:F})(g),y=g;b!==g.length&&(o.uint8array?(y=g.subarray(0,b),this.leftOver=g.subarray(b,g.length)):(y=g.slice(0,b),this.leftOver=g.slice(b,g.length))),this.push({data:i.utf8decode(y),meta:c.meta})},h.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:i.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},i.Utf8DecodeWorker=h,n.inherits(d,r),d.prototype.processChunk=function(c){this.push({data:i.utf8encode(c.data),meta:c.meta})},i.Utf8EncodeWorker=d},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(t,a,i){var n=t("./support"),o=t("./base64"),l=t("./nodejsUtils"),r=t("./external");function m(p){return p}function v(p,b){for(var y=0;y<p.length;++y)b[y]=255&p.charCodeAt(y);return b}t("setimmediate"),i.newBlob=function(p,b){i.checkSupport("blob");try{return new Blob([p],{type:b})}catch{try{var y=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return y.append(p),y.getBlob(b)}catch{throw new Error("Bug : can't construct the Blob.")}}};var h={stringifyByChunk:function(p,b,y){var w=[],F=0,P=p.length;if(P<=y)return String.fromCharCode.apply(null,p);for(;F<P;)b==="array"||b==="nodebuffer"?w.push(String.fromCharCode.apply(null,p.slice(F,Math.min(F+y,P)))):w.push(String.fromCharCode.apply(null,p.subarray(F,Math.min(F+y,P)))),F+=y;return w.join("")},stringifyByChar:function(p){for(var b="",y=0;y<p.length;y++)b+=String.fromCharCode(p[y]);return b},applyCanBeUsed:{uint8array:(function(){try{return n.uint8array&&String.fromCharCode.apply(null,new Uint8Array(1)).length===1}catch{return!1}})(),nodebuffer:(function(){try{return n.nodebuffer&&String.fromCharCode.apply(null,l.allocBuffer(1)).length===1}catch{return!1}})()}};function d(p){var b=65536,y=i.getTypeOf(p),w=!0;if(y==="uint8array"?w=h.applyCanBeUsed.uint8array:y==="nodebuffer"&&(w=h.applyCanBeUsed.nodebuffer),w)for(;1<b;)try{return h.stringifyByChunk(p,y,b)}catch{b=Math.floor(b/2)}return h.stringifyByChar(p)}function c(p,b){for(var y=0;y<p.length;y++)b[y]=p[y];return b}i.applyFromCharCode=d;var g={};g.string={string:m,array:function(p){return v(p,new Array(p.length))},arraybuffer:function(p){return g.string.uint8array(p).buffer},uint8array:function(p){return v(p,new Uint8Array(p.length))},nodebuffer:function(p){return v(p,l.allocBuffer(p.length))}},g.array={string:d,array:m,arraybuffer:function(p){return new Uint8Array(p).buffer},uint8array:function(p){return new Uint8Array(p)},nodebuffer:function(p){return l.newBufferFrom(p)}},g.arraybuffer={string:function(p){return d(new Uint8Array(p))},array:function(p){return c(new Uint8Array(p),new Array(p.byteLength))},arraybuffer:m,uint8array:function(p){return new Uint8Array(p)},nodebuffer:function(p){return l.newBufferFrom(new Uint8Array(p))}},g.uint8array={string:d,array:function(p){return c(p,new Array(p.length))},arraybuffer:function(p){return p.buffer},uint8array:m,nodebuffer:function(p){return l.newBufferFrom(p)}},g.nodebuffer={string:d,array:function(p){return c(p,new Array(p.length))},arraybuffer:function(p){return g.nodebuffer.uint8array(p).buffer},uint8array:function(p){return c(p,new Uint8Array(p.length))},nodebuffer:m},i.transformTo=function(p,b){if(b=b||"",!p)return b;i.checkSupport(p);var y=i.getTypeOf(b);return g[y][p](b)},i.resolve=function(p){for(var b=p.split("/"),y=[],w=0;w<b.length;w++){var F=b[w];F==="."||F===""&&w!==0&&w!==b.length-1||(F===".."?y.pop():y.push(F))}return y.join("/")},i.getTypeOf=function(p){return typeof p=="string"?"string":Object.prototype.toString.call(p)==="[object Array]"?"array":n.nodebuffer&&l.isBuffer(p)?"nodebuffer":n.uint8array&&p instanceof Uint8Array?"uint8array":n.arraybuffer&&p instanceof ArrayBuffer?"arraybuffer":void 0},i.checkSupport=function(p){if(!n[p.toLowerCase()])throw new Error(p+" is not supported by this platform")},i.MAX_VALUE_16BITS=65535,i.MAX_VALUE_32BITS=-1,i.pretty=function(p){var b,y,w="";for(y=0;y<(p||"").length;y++)w+="\\x"+((b=p.charCodeAt(y))<16?"0":"")+b.toString(16).toUpperCase();return w},i.delay=function(p,b,y){setImmediate(function(){p.apply(y||null,b||[])})},i.inherits=function(p,b){function y(){}y.prototype=b.prototype,p.prototype=new y},i.extend=function(){var p,b,y={};for(p=0;p<arguments.length;p++)for(b in arguments[p])Object.prototype.hasOwnProperty.call(arguments[p],b)&&y[b]===void 0&&(y[b]=arguments[p][b]);return y},i.prepareContent=function(p,b,y,w,F){return r.Promise.resolve(b).then(function(P){return n.blob&&(P instanceof Blob||["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(P))!==-1)&&typeof FileReader<"u"?new r.Promise(function(_,N){var I=new FileReader;I.onload=function(H){_(H.target.result)},I.onerror=function(H){N(H.target.error)},I.readAsArrayBuffer(P)}):P}).then(function(P){var _=i.getTypeOf(P);return _?(_==="arraybuffer"?P=i.transformTo("uint8array",P):_==="string"&&(F?P=o.decode(P):y&&w!==!0&&(P=(function(N){return v(N,n.uint8array?new Uint8Array(N.length):new Array(N.length))})(P))),P):r.Promise.reject(new Error("Can't read the data of '"+p+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})}},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,setimmediate:54}],33:[function(t,a,i){var n=t("./reader/readerFor"),o=t("./utils"),l=t("./signature"),r=t("./zipEntry"),m=t("./support");function v(h){this.files=[],this.loadOptions=h}v.prototype={checkSignature:function(h){if(!this.reader.readAndCheckSignature(h)){this.reader.index-=4;var d=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+o.pretty(d)+", expected "+o.pretty(h)+")")}},isSignature:function(h,d){var c=this.reader.index;this.reader.setIndex(h);var g=this.reader.readString(4)===d;return this.reader.setIndex(c),g},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var h=this.reader.readData(this.zipCommentLength),d=m.uint8array?"uint8array":"array",c=o.transformTo(d,h);this.zipComment=this.loadOptions.decodeFileName(c)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var h,d,c,g=this.zip64EndOfCentralSize-44;0<g;)h=this.reader.readInt(2),d=this.reader.readInt(4),c=this.reader.readData(d),this.zip64ExtensibleData[h]={id:h,length:d,value:c}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var h,d;for(h=0;h<this.files.length;h++)d=this.files[h],this.reader.setIndex(d.localHeaderOffset),this.checkSignature(l.LOCAL_FILE_HEADER),d.readLocalPart(this.reader),d.handleUTF8(),d.processAttributes()},readCentralDir:function(){var h;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(l.CENTRAL_FILE_HEADER);)(h=new r({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(h);if(this.centralDirRecords!==this.files.length&&this.centralDirRecords!==0&&this.files.length===0)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var h=this.reader.lastIndexOfSignature(l.CENTRAL_DIRECTORY_END);if(h<0)throw this.isSignature(0,l.LOCAL_FILE_HEADER)?new Error("Corrupted zip: can't find end of central directory"):new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html");this.reader.setIndex(h);var d=h;if(this.checkSignature(l.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===o.MAX_VALUE_16BITS||this.diskWithCentralDirStart===o.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===o.MAX_VALUE_16BITS||this.centralDirRecords===o.MAX_VALUE_16BITS||this.centralDirSize===o.MAX_VALUE_32BITS||this.centralDirOffset===o.MAX_VALUE_32BITS){if(this.zip64=!0,(h=this.reader.lastIndexOfSignature(l.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(h),this.checkSignature(l.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,l.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(l.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(l.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var c=this.centralDirOffset+this.centralDirSize;this.zip64&&(c+=20,c+=12+this.zip64EndOfCentralSize);var g=d-c;if(0<g)this.isSignature(d,l.CENTRAL_FILE_HEADER)||(this.reader.zero=g);else if(g<0)throw new Error("Corrupted zip: missing "+Math.abs(g)+" bytes.")},prepareReader:function(h){this.reader=n(h)},load:function(h){this.prepareReader(h),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},a.exports=v},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utils":32,"./zipEntry":34}],34:[function(t,a,i){var n=t("./reader/readerFor"),o=t("./utils"),l=t("./compressedObject"),r=t("./crc32"),m=t("./utf8"),v=t("./compressions"),h=t("./support");function d(c,g){this.options=c,this.loadOptions=g}d.prototype={isEncrypted:function(){return(1&this.bitFlag)==1},useUTF8:function(){return(2048&this.bitFlag)==2048},readLocalPart:function(c){var g,p;if(c.skip(22),this.fileNameLength=c.readInt(2),p=c.readInt(2),this.fileName=c.readData(this.fileNameLength),c.skip(p),this.compressedSize===-1||this.uncompressedSize===-1)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if((g=(function(b){for(var y in v)if(Object.prototype.hasOwnProperty.call(v,y)&&v[y].magic===b)return v[y];return null})(this.compressionMethod))===null)throw new Error("Corrupted zip : compression "+o.pretty(this.compressionMethod)+" unknown (inner file : "+o.transformTo("string",this.fileName)+")");this.decompressed=new l(this.compressedSize,this.uncompressedSize,this.crc32,g,c.readData(this.compressedSize))},readCentralPart:function(c){this.versionMadeBy=c.readInt(2),c.skip(2),this.bitFlag=c.readInt(2),this.compressionMethod=c.readString(2),this.date=c.readDate(),this.crc32=c.readInt(4),this.compressedSize=c.readInt(4),this.uncompressedSize=c.readInt(4);var g=c.readInt(2);if(this.extraFieldsLength=c.readInt(2),this.fileCommentLength=c.readInt(2),this.diskNumberStart=c.readInt(2),this.internalFileAttributes=c.readInt(2),this.externalFileAttributes=c.readInt(4),this.localHeaderOffset=c.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");c.skip(g),this.readExtraFields(c),this.parseZIP64ExtraField(c),this.fileComment=c.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var c=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),c==0&&(this.dosPermissions=63&this.externalFileAttributes),c==3&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||this.fileNameStr.slice(-1)!=="/"||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var c=n(this.extraFields[1].value);this.uncompressedSize===o.MAX_VALUE_32BITS&&(this.uncompressedSize=c.readInt(8)),this.compressedSize===o.MAX_VALUE_32BITS&&(this.compressedSize=c.readInt(8)),this.localHeaderOffset===o.MAX_VALUE_32BITS&&(this.localHeaderOffset=c.readInt(8)),this.diskNumberStart===o.MAX_VALUE_32BITS&&(this.diskNumberStart=c.readInt(4))}},readExtraFields:function(c){var g,p,b,y=c.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});c.index+4<y;)g=c.readInt(2),p=c.readInt(2),b=c.readData(p),this.extraFields[g]={id:g,length:p,value:b};c.setIndex(y)},handleUTF8:function(){var c=h.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=m.utf8decode(this.fileName),this.fileCommentStr=m.utf8decode(this.fileComment);else{var g=this.findExtraFieldUnicodePath();if(g!==null)this.fileNameStr=g;else{var p=o.transformTo(c,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(p)}var b=this.findExtraFieldUnicodeComment();if(b!==null)this.fileCommentStr=b;else{var y=o.transformTo(c,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(y)}}},findExtraFieldUnicodePath:function(){var c=this.extraFields[28789];if(c){var g=n(c.value);return g.readInt(1)!==1||r(this.fileName)!==g.readInt(4)?null:m.utf8decode(g.readData(c.length-5))}return null},findExtraFieldUnicodeComment:function(){var c=this.extraFields[25461];if(c){var g=n(c.value);return g.readInt(1)!==1||r(this.fileComment)!==g.readInt(4)?null:m.utf8decode(g.readData(c.length-5))}return null}},a.exports=d},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(t,a,i){function n(g,p,b){this.name=g,this.dir=b.dir,this.date=b.date,this.comment=b.comment,this.unixPermissions=b.unixPermissions,this.dosPermissions=b.dosPermissions,this._data=p,this._dataBinary=b.binary,this.options={compression:b.compression,compressionOptions:b.compressionOptions}}var o=t("./stream/StreamHelper"),l=t("./stream/DataWorker"),r=t("./utf8"),m=t("./compressedObject"),v=t("./stream/GenericWorker");n.prototype={internalStream:function(g){var p=null,b="string";try{if(!g)throw new Error("No output type specified.");var y=(b=g.toLowerCase())==="string"||b==="text";b!=="binarystring"&&b!=="text"||(b="string"),p=this._decompressWorker();var w=!this._dataBinary;w&&!y&&(p=p.pipe(new r.Utf8EncodeWorker)),!w&&y&&(p=p.pipe(new r.Utf8DecodeWorker))}catch(F){(p=new v("error")).error(F)}return new o(p,b,"")},async:function(g,p){return this.internalStream(g).accumulate(p)},nodeStream:function(g,p){return this.internalStream(g||"nodebuffer").toNodejsStream(p)},_compressWorker:function(g,p){if(this._data instanceof m&&this._data.compression.magic===g.magic)return this._data.getCompressedWorker();var b=this._decompressWorker();return this._dataBinary||(b=b.pipe(new r.Utf8EncodeWorker)),m.createWorkerFrom(b,g,p)},_decompressWorker:function(){return this._data instanceof m?this._data.getContentWorker():this._data instanceof v?this._data:new l(this._data)}};for(var h=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],d=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},c=0;c<h.length;c++)n.prototype[h[c]]=d;a.exports=n},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(t,a,i){(function(n){var o,l,r=n.MutationObserver||n.WebKitMutationObserver;if(r){var m=0,v=new r(g),h=n.document.createTextNode("");v.observe(h,{characterData:!0}),o=function(){h.data=m=++m%2}}else if(n.setImmediate||n.MessageChannel===void 0)o="document"in n&&"onreadystatechange"in n.document.createElement("script")?function(){var p=n.document.createElement("script");p.onreadystatechange=function(){g(),p.onreadystatechange=null,p.parentNode.removeChild(p),p=null},n.document.documentElement.appendChild(p)}:function(){setTimeout(g,0)};else{var d=new n.MessageChannel;d.port1.onmessage=g,o=function(){d.port2.postMessage(0)}}var c=[];function g(){var p,b;l=!0;for(var y=c.length;y;){for(b=c,c=[],p=-1;++p<y;)b[p]();y=c.length}l=!1}a.exports=function(p){c.push(p)!==1||l||o()}}).call(this,typeof Ft<"u"?Ft:typeof self<"u"?self:typeof window<"u"?window:{})},{}],37:[function(t,a,i){var n=t("immediate");function o(){}var l={},r=["REJECTED"],m=["FULFILLED"],v=["PENDING"];function h(y){if(typeof y!="function")throw new TypeError("resolver must be a function");this.state=v,this.queue=[],this.outcome=void 0,y!==o&&p(this,y)}function d(y,w,F){this.promise=y,typeof w=="function"&&(this.onFulfilled=w,this.callFulfilled=this.otherCallFulfilled),typeof F=="function"&&(this.onRejected=F,this.callRejected=this.otherCallRejected)}function c(y,w,F){n(function(){var P;try{P=w(F)}catch(_){return l.reject(y,_)}P===y?l.reject(y,new TypeError("Cannot resolve promise with itself")):l.resolve(y,P)})}function g(y){var w=y&&y.then;if(y&&(typeof y=="object"||typeof y=="function")&&typeof w=="function")return function(){w.apply(y,arguments)}}function p(y,w){var F=!1;function P(I){F||(F=!0,l.reject(y,I))}function _(I){F||(F=!0,l.resolve(y,I))}var N=b(function(){w(_,P)});N.status==="error"&&P(N.value)}function b(y,w){var F={};try{F.value=y(w),F.status="success"}catch(P){F.status="error",F.value=P}return F}(a.exports=h).prototype.finally=function(y){if(typeof y!="function")return this;var w=this.constructor;return this.then(function(F){return w.resolve(y()).then(function(){return F})},function(F){return w.resolve(y()).then(function(){throw F})})},h.prototype.catch=function(y){return this.then(null,y)},h.prototype.then=function(y,w){if(typeof y!="function"&&this.state===m||typeof w!="function"&&this.state===r)return this;var F=new this.constructor(o);return this.state!==v?c(F,this.state===m?y:w,this.outcome):this.queue.push(new d(F,y,w)),F},d.prototype.callFulfilled=function(y){l.resolve(this.promise,y)},d.prototype.otherCallFulfilled=function(y){c(this.promise,this.onFulfilled,y)},d.prototype.callRejected=function(y){l.reject(this.promise,y)},d.prototype.otherCallRejected=function(y){c(this.promise,this.onRejected,y)},l.resolve=function(y,w){var F=b(g,w);if(F.status==="error")return l.reject(y,F.value);var P=F.value;if(P)p(y,P);else{y.state=m,y.outcome=w;for(var _=-1,N=y.queue.length;++_<N;)y.queue[_].callFulfilled(w)}return y},l.reject=function(y,w){y.state=r,y.outcome=w;for(var F=-1,P=y.queue.length;++F<P;)y.queue[F].callRejected(w);return y},h.resolve=function(y){return y instanceof this?y:l.resolve(new this(o),y)},h.reject=function(y){var w=new this(o);return l.reject(w,y)},h.all=function(y){var w=this;if(Object.prototype.toString.call(y)!=="[object Array]")return this.reject(new TypeError("must be an array"));var F=y.length,P=!1;if(!F)return this.resolve([]);for(var _=new Array(F),N=0,I=-1,H=new this(o);++I<F;)O(y[I],I);return H;function O(q,se){w.resolve(q).then(function(k){_[se]=k,++N!==F||P||(P=!0,l.resolve(H,_))},function(k){P||(P=!0,l.reject(H,k))})}},h.race=function(y){var w=this;if(Object.prototype.toString.call(y)!=="[object Array]")return this.reject(new TypeError("must be an array"));var F=y.length,P=!1;if(!F)return this.resolve([]);for(var _=-1,N=new this(o);++_<F;)I=y[_],w.resolve(I).then(function(H){P||(P=!0,l.resolve(N,H))},function(H){P||(P=!0,l.reject(N,H))});var I;return N}},{immediate:36}],38:[function(t,a,i){var n={};(0,t("./lib/utils/common").assign)(n,t("./lib/deflate"),t("./lib/inflate"),t("./lib/zlib/constants")),a.exports=n},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(t,a,i){var n=t("./zlib/deflate"),o=t("./utils/common"),l=t("./utils/strings"),r=t("./zlib/messages"),m=t("./zlib/zstream"),v=Object.prototype.toString,h=0,d=-1,c=0,g=8;function p(y){if(!(this instanceof p))return new p(y);this.options=o.assign({level:d,method:g,chunkSize:16384,windowBits:15,memLevel:8,strategy:c,to:""},y||{});var w=this.options;w.raw&&0<w.windowBits?w.windowBits=-w.windowBits:w.gzip&&0<w.windowBits&&w.windowBits<16&&(w.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new m,this.strm.avail_out=0;var F=n.deflateInit2(this.strm,w.level,w.method,w.windowBits,w.memLevel,w.strategy);if(F!==h)throw new Error(r[F]);if(w.header&&n.deflateSetHeader(this.strm,w.header),w.dictionary){var P;if(P=typeof w.dictionary=="string"?l.string2buf(w.dictionary):v.call(w.dictionary)==="[object ArrayBuffer]"?new Uint8Array(w.dictionary):w.dictionary,(F=n.deflateSetDictionary(this.strm,P))!==h)throw new Error(r[F]);this._dict_set=!0}}function b(y,w){var F=new p(w);if(F.push(y,!0),F.err)throw F.msg||r[F.err];return F.result}p.prototype.push=function(y,w){var F,P,_=this.strm,N=this.options.chunkSize;if(this.ended)return!1;P=w===~~w?w:w===!0?4:0,typeof y=="string"?_.input=l.string2buf(y):v.call(y)==="[object ArrayBuffer]"?_.input=new Uint8Array(y):_.input=y,_.next_in=0,_.avail_in=_.input.length;do{if(_.avail_out===0&&(_.output=new o.Buf8(N),_.next_out=0,_.avail_out=N),(F=n.deflate(_,P))!==1&&F!==h)return this.onEnd(F),!(this.ended=!0);_.avail_out!==0&&(_.avail_in!==0||P!==4&&P!==2)||(this.options.to==="string"?this.onData(l.buf2binstring(o.shrinkBuf(_.output,_.next_out))):this.onData(o.shrinkBuf(_.output,_.next_out)))}while((0<_.avail_in||_.avail_out===0)&&F!==1);return P===4?(F=n.deflateEnd(this.strm),this.onEnd(F),this.ended=!0,F===h):P!==2||(this.onEnd(h),!(_.avail_out=0))},p.prototype.onData=function(y){this.chunks.push(y)},p.prototype.onEnd=function(y){y===h&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=y,this.msg=this.strm.msg},i.Deflate=p,i.deflate=b,i.deflateRaw=function(y,w){return(w=w||{}).raw=!0,b(y,w)},i.gzip=function(y,w){return(w=w||{}).gzip=!0,b(y,w)}},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(t,a,i){var n=t("./zlib/inflate"),o=t("./utils/common"),l=t("./utils/strings"),r=t("./zlib/constants"),m=t("./zlib/messages"),v=t("./zlib/zstream"),h=t("./zlib/gzheader"),d=Object.prototype.toString;function c(p){if(!(this instanceof c))return new c(p);this.options=o.assign({chunkSize:16384,windowBits:0,to:""},p||{});var b=this.options;b.raw&&0<=b.windowBits&&b.windowBits<16&&(b.windowBits=-b.windowBits,b.windowBits===0&&(b.windowBits=-15)),!(0<=b.windowBits&&b.windowBits<16)||p&&p.windowBits||(b.windowBits+=32),15<b.windowBits&&b.windowBits<48&&(15&b.windowBits)==0&&(b.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new v,this.strm.avail_out=0;var y=n.inflateInit2(this.strm,b.windowBits);if(y!==r.Z_OK)throw new Error(m[y]);this.header=new h,n.inflateGetHeader(this.strm,this.header)}function g(p,b){var y=new c(b);if(y.push(p,!0),y.err)throw y.msg||m[y.err];return y.result}c.prototype.push=function(p,b){var y,w,F,P,_,N,I=this.strm,H=this.options.chunkSize,O=this.options.dictionary,q=!1;if(this.ended)return!1;w=b===~~b?b:b===!0?r.Z_FINISH:r.Z_NO_FLUSH,typeof p=="string"?I.input=l.binstring2buf(p):d.call(p)==="[object ArrayBuffer]"?I.input=new Uint8Array(p):I.input=p,I.next_in=0,I.avail_in=I.input.length;do{if(I.avail_out===0&&(I.output=new o.Buf8(H),I.next_out=0,I.avail_out=H),(y=n.inflate(I,r.Z_NO_FLUSH))===r.Z_NEED_DICT&&O&&(N=typeof O=="string"?l.string2buf(O):d.call(O)==="[object ArrayBuffer]"?new Uint8Array(O):O,y=n.inflateSetDictionary(this.strm,N)),y===r.Z_BUF_ERROR&&q===!0&&(y=r.Z_OK,q=!1),y!==r.Z_STREAM_END&&y!==r.Z_OK)return this.onEnd(y),!(this.ended=!0);I.next_out&&(I.avail_out!==0&&y!==r.Z_STREAM_END&&(I.avail_in!==0||w!==r.Z_FINISH&&w!==r.Z_SYNC_FLUSH)||(this.options.to==="string"?(F=l.utf8border(I.output,I.next_out),P=I.next_out-F,_=l.buf2string(I.output,F),I.next_out=P,I.avail_out=H-P,P&&o.arraySet(I.output,I.output,F,P,0),this.onData(_)):this.onData(o.shrinkBuf(I.output,I.next_out)))),I.avail_in===0&&I.avail_out===0&&(q=!0)}while((0<I.avail_in||I.avail_out===0)&&y!==r.Z_STREAM_END);return y===r.Z_STREAM_END&&(w=r.Z_FINISH),w===r.Z_FINISH?(y=n.inflateEnd(this.strm),this.onEnd(y),this.ended=!0,y===r.Z_OK):w!==r.Z_SYNC_FLUSH||(this.onEnd(r.Z_OK),!(I.avail_out=0))},c.prototype.onData=function(p){this.chunks.push(p)},c.prototype.onEnd=function(p){p===r.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=p,this.msg=this.strm.msg},i.Inflate=c,i.inflate=g,i.inflateRaw=function(p,b){return(b=b||{}).raw=!0,g(p,b)},i.ungzip=g},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(t,a,i){var n=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";i.assign=function(r){for(var m=Array.prototype.slice.call(arguments,1);m.length;){var v=m.shift();if(v){if(typeof v!="object")throw new TypeError(v+"must be non-object");for(var h in v)v.hasOwnProperty(h)&&(r[h]=v[h])}}return r},i.shrinkBuf=function(r,m){return r.length===m?r:r.subarray?r.subarray(0,m):(r.length=m,r)};var o={arraySet:function(r,m,v,h,d){if(m.subarray&&r.subarray)r.set(m.subarray(v,v+h),d);else for(var c=0;c<h;c++)r[d+c]=m[v+c]},flattenChunks:function(r){var m,v,h,d,c,g;for(m=h=0,v=r.length;m<v;m++)h+=r[m].length;for(g=new Uint8Array(h),m=d=0,v=r.length;m<v;m++)c=r[m],g.set(c,d),d+=c.length;return g}},l={arraySet:function(r,m,v,h,d){for(var c=0;c<h;c++)r[d+c]=m[v+c]},flattenChunks:function(r){return[].concat.apply([],r)}};i.setTyped=function(r){r?(i.Buf8=Uint8Array,i.Buf16=Uint16Array,i.Buf32=Int32Array,i.assign(i,o)):(i.Buf8=Array,i.Buf16=Array,i.Buf32=Array,i.assign(i,l))},i.setTyped(n)},{}],42:[function(t,a,i){var n=t("./common"),o=!0,l=!0;try{String.fromCharCode.apply(null,[0])}catch{o=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{l=!1}for(var r=new n.Buf8(256),m=0;m<256;m++)r[m]=252<=m?6:248<=m?5:240<=m?4:224<=m?3:192<=m?2:1;function v(h,d){if(d<65537&&(h.subarray&&l||!h.subarray&&o))return String.fromCharCode.apply(null,n.shrinkBuf(h,d));for(var c="",g=0;g<d;g++)c+=String.fromCharCode(h[g]);return c}r[254]=r[254]=1,i.string2buf=function(h){var d,c,g,p,b,y=h.length,w=0;for(p=0;p<y;p++)(64512&(c=h.charCodeAt(p)))==55296&&p+1<y&&(64512&(g=h.charCodeAt(p+1)))==56320&&(c=65536+(c-55296<<10)+(g-56320),p++),w+=c<128?1:c<2048?2:c<65536?3:4;for(d=new n.Buf8(w),p=b=0;b<w;p++)(64512&(c=h.charCodeAt(p)))==55296&&p+1<y&&(64512&(g=h.charCodeAt(p+1)))==56320&&(c=65536+(c-55296<<10)+(g-56320),p++),c<128?d[b++]=c:(c<2048?d[b++]=192|c>>>6:(c<65536?d[b++]=224|c>>>12:(d[b++]=240|c>>>18,d[b++]=128|c>>>12&63),d[b++]=128|c>>>6&63),d[b++]=128|63&c);return d},i.buf2binstring=function(h){return v(h,h.length)},i.binstring2buf=function(h){for(var d=new n.Buf8(h.length),c=0,g=d.length;c<g;c++)d[c]=h.charCodeAt(c);return d},i.buf2string=function(h,d){var c,g,p,b,y=d||h.length,w=new Array(2*y);for(c=g=0;c<y;)if((p=h[c++])<128)w[g++]=p;else if(4<(b=r[p]))w[g++]=65533,c+=b-1;else{for(p&=b===2?31:b===3?15:7;1<b&&c<y;)p=p<<6|63&h[c++],b--;1<b?w[g++]=65533:p<65536?w[g++]=p:(p-=65536,w[g++]=55296|p>>10&1023,w[g++]=56320|1023&p)}return v(w,g)},i.utf8border=function(h,d){var c;for((d=d||h.length)>h.length&&(d=h.length),c=d-1;0<=c&&(192&h[c])==128;)c--;return c<0||c===0?d:c+r[h[c]]>d?c:d}},{"./common":41}],43:[function(t,a,i){a.exports=function(n,o,l,r){for(var m=65535&n|0,v=n>>>16&65535|0,h=0;l!==0;){for(l-=h=2e3<l?2e3:l;v=v+(m=m+o[r++]|0)|0,--h;);m%=65521,v%=65521}return m|v<<16|0}},{}],44:[function(t,a,i){a.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(t,a,i){var n=(function(){for(var o,l=[],r=0;r<256;r++){o=r;for(var m=0;m<8;m++)o=1&o?3988292384^o>>>1:o>>>1;l[r]=o}return l})();a.exports=function(o,l,r,m){var v=n,h=m+r;o^=-1;for(var d=m;d<h;d++)o=o>>>8^v[255&(o^l[d])];return-1^o}},{}],46:[function(t,a,i){var n,o=t("../utils/common"),l=t("./trees"),r=t("./adler32"),m=t("./crc32"),v=t("./messages"),h=0,d=4,c=0,g=-2,p=-1,b=4,y=2,w=8,F=9,P=286,_=30,N=19,I=2*P+1,H=15,O=3,q=258,se=q+O+1,k=42,j=113,f=1,K=2,ce=3,Y=4;function ye(u,z){return u.msg=v[z],z}function Q(u){return(u<<1)-(4<u?9:0)}function ne(u){for(var z=u.length;0<=--z;)u[z]=0}function R(u){var z=u.state,M=z.pending;M>u.avail_out&&(M=u.avail_out),M!==0&&(o.arraySet(u.output,z.pending_buf,z.pending_out,M,u.next_out),u.next_out+=M,z.pending_out+=M,u.total_out+=M,u.avail_out-=M,z.pending-=M,z.pending===0&&(z.pending_out=0))}function S(u,z){l._tr_flush_block(u,0<=u.block_start?u.block_start:-1,u.strstart-u.block_start,z),u.block_start=u.strstart,R(u.strm)}function X(u,z){u.pending_buf[u.pending++]=z}function J(u,z){u.pending_buf[u.pending++]=z>>>8&255,u.pending_buf[u.pending++]=255&z}function V(u,z){var M,C,T=u.max_chain_length,x=u.strstart,G=u.prev_length,Z=u.nice_match,E=u.strstart>u.w_size-se?u.strstart-(u.w_size-se):0,D=u.window,W=u.w_mask,U=u.prev,ee=u.strstart+q,he=D[x+G-1],be=D[x+G];u.prev_length>=u.good_match&&(T>>=2),Z>u.lookahead&&(Z=u.lookahead);do if(D[(M=z)+G]===be&&D[M+G-1]===he&&D[M]===D[x]&&D[++M]===D[x+1]){x+=2,M++;do;while(D[++x]===D[++M]&&D[++x]===D[++M]&&D[++x]===D[++M]&&D[++x]===D[++M]&&D[++x]===D[++M]&&D[++x]===D[++M]&&D[++x]===D[++M]&&D[++x]===D[++M]&&x<ee);if(C=q-(ee-x),x=ee-q,G<C){if(u.match_start=z,Z<=(G=C))break;he=D[x+G-1],be=D[x+G]}}while((z=U[z&W])>E&&--T!=0);return G<=u.lookahead?G:u.lookahead}function me(u){var z,M,C,T,x,G,Z,E,D,W,U=u.w_size;do{if(T=u.window_size-u.lookahead-u.strstart,u.strstart>=U+(U-se)){for(o.arraySet(u.window,u.window,U,U,0),u.match_start-=U,u.strstart-=U,u.block_start-=U,z=M=u.hash_size;C=u.head[--z],u.head[z]=U<=C?C-U:0,--M;);for(z=M=U;C=u.prev[--z],u.prev[z]=U<=C?C-U:0,--M;);T+=U}if(u.strm.avail_in===0)break;if(G=u.strm,Z=u.window,E=u.strstart+u.lookahead,D=T,W=void 0,W=G.avail_in,D<W&&(W=D),M=W===0?0:(G.avail_in-=W,o.arraySet(Z,G.input,G.next_in,W,E),G.state.wrap===1?G.adler=r(G.adler,Z,W,E):G.state.wrap===2&&(G.adler=m(G.adler,Z,W,E)),G.next_in+=W,G.total_in+=W,W),u.lookahead+=M,u.lookahead+u.insert>=O)for(x=u.strstart-u.insert,u.ins_h=u.window[x],u.ins_h=(u.ins_h<<u.hash_shift^u.window[x+1])&u.hash_mask;u.insert&&(u.ins_h=(u.ins_h<<u.hash_shift^u.window[x+O-1])&u.hash_mask,u.prev[x&u.w_mask]=u.head[u.ins_h],u.head[u.ins_h]=x,x++,u.insert--,!(u.lookahead+u.insert<O)););}while(u.lookahead<se&&u.strm.avail_in!==0)}function Ce(u,z){for(var M,C;;){if(u.lookahead<se){if(me(u),u.lookahead<se&&z===h)return f;if(u.lookahead===0)break}if(M=0,u.lookahead>=O&&(u.ins_h=(u.ins_h<<u.hash_shift^u.window[u.strstart+O-1])&u.hash_mask,M=u.prev[u.strstart&u.w_mask]=u.head[u.ins_h],u.head[u.ins_h]=u.strstart),M!==0&&u.strstart-M<=u.w_size-se&&(u.match_length=V(u,M)),u.match_length>=O)if(C=l._tr_tally(u,u.strstart-u.match_start,u.match_length-O),u.lookahead-=u.match_length,u.match_length<=u.max_lazy_match&&u.lookahead>=O){for(u.match_length--;u.strstart++,u.ins_h=(u.ins_h<<u.hash_shift^u.window[u.strstart+O-1])&u.hash_mask,M=u.prev[u.strstart&u.w_mask]=u.head[u.ins_h],u.head[u.ins_h]=u.strstart,--u.match_length!=0;);u.strstart++}else u.strstart+=u.match_length,u.match_length=0,u.ins_h=u.window[u.strstart],u.ins_h=(u.ins_h<<u.hash_shift^u.window[u.strstart+1])&u.hash_mask;else C=l._tr_tally(u,0,u.window[u.strstart]),u.lookahead--,u.strstart++;if(C&&(S(u,!1),u.strm.avail_out===0))return f}return u.insert=u.strstart<O-1?u.strstart:O-1,z===d?(S(u,!0),u.strm.avail_out===0?ce:Y):u.last_lit&&(S(u,!1),u.strm.avail_out===0)?f:K}function fe(u,z){for(var M,C,T;;){if(u.lookahead<se){if(me(u),u.lookahead<se&&z===h)return f;if(u.lookahead===0)break}if(M=0,u.lookahead>=O&&(u.ins_h=(u.ins_h<<u.hash_shift^u.window[u.strstart+O-1])&u.hash_mask,M=u.prev[u.strstart&u.w_mask]=u.head[u.ins_h],u.head[u.ins_h]=u.strstart),u.prev_length=u.match_length,u.prev_match=u.match_start,u.match_length=O-1,M!==0&&u.prev_length<u.max_lazy_match&&u.strstart-M<=u.w_size-se&&(u.match_length=V(u,M),u.match_length<=5&&(u.strategy===1||u.match_length===O&&4096<u.strstart-u.match_start)&&(u.match_length=O-1)),u.prev_length>=O&&u.match_length<=u.prev_length){for(T=u.strstart+u.lookahead-O,C=l._tr_tally(u,u.strstart-1-u.prev_match,u.prev_length-O),u.lookahead-=u.prev_length-1,u.prev_length-=2;++u.strstart<=T&&(u.ins_h=(u.ins_h<<u.hash_shift^u.window[u.strstart+O-1])&u.hash_mask,M=u.prev[u.strstart&u.w_mask]=u.head[u.ins_h],u.head[u.ins_h]=u.strstart),--u.prev_length!=0;);if(u.match_available=0,u.match_length=O-1,u.strstart++,C&&(S(u,!1),u.strm.avail_out===0))return f}else if(u.match_available){if((C=l._tr_tally(u,0,u.window[u.strstart-1]))&&S(u,!1),u.strstart++,u.lookahead--,u.strm.avail_out===0)return f}else u.match_available=1,u.strstart++,u.lookahead--}return u.match_available&&(C=l._tr_tally(u,0,u.window[u.strstart-1]),u.match_available=0),u.insert=u.strstart<O-1?u.strstart:O-1,z===d?(S(u,!0),u.strm.avail_out===0?ce:Y):u.last_lit&&(S(u,!1),u.strm.avail_out===0)?f:K}function $(u,z,M,C,T){this.good_length=u,this.max_lazy=z,this.nice_length=M,this.max_chain=C,this.func=T}function ie(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=w,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new o.Buf16(2*I),this.dyn_dtree=new o.Buf16(2*(2*_+1)),this.bl_tree=new o.Buf16(2*(2*N+1)),ne(this.dyn_ltree),ne(this.dyn_dtree),ne(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new o.Buf16(H+1),this.heap=new o.Buf16(2*P+1),ne(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new o.Buf16(2*P+1),ne(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function re(u){var z;return u&&u.state?(u.total_in=u.total_out=0,u.data_type=y,(z=u.state).pending=0,z.pending_out=0,z.wrap<0&&(z.wrap=-z.wrap),z.status=z.wrap?k:j,u.adler=z.wrap===2?0:1,z.last_flush=h,l._tr_init(z),c):ye(u,g)}function ve(u){var z=re(u);return z===c&&(function(M){M.window_size=2*M.w_size,ne(M.head),M.max_lazy_match=n[M.level].max_lazy,M.good_match=n[M.level].good_length,M.nice_match=n[M.level].nice_length,M.max_chain_length=n[M.level].max_chain,M.strstart=0,M.block_start=0,M.lookahead=0,M.insert=0,M.match_length=M.prev_length=O-1,M.match_available=0,M.ins_h=0})(u.state),z}function Te(u,z,M,C,T,x){if(!u)return g;var G=1;if(z===p&&(z=6),C<0?(G=0,C=-C):15<C&&(G=2,C-=16),T<1||F<T||M!==w||C<8||15<C||z<0||9<z||x<0||b<x)return ye(u,g);C===8&&(C=9);var Z=new ie;return(u.state=Z).strm=u,Z.wrap=G,Z.gzhead=null,Z.w_bits=C,Z.w_size=1<<Z.w_bits,Z.w_mask=Z.w_size-1,Z.hash_bits=T+7,Z.hash_size=1<<Z.hash_bits,Z.hash_mask=Z.hash_size-1,Z.hash_shift=~~((Z.hash_bits+O-1)/O),Z.window=new o.Buf8(2*Z.w_size),Z.head=new o.Buf16(Z.hash_size),Z.prev=new o.Buf16(Z.w_size),Z.lit_bufsize=1<<T+6,Z.pending_buf_size=4*Z.lit_bufsize,Z.pending_buf=new o.Buf8(Z.pending_buf_size),Z.d_buf=1*Z.lit_bufsize,Z.l_buf=3*Z.lit_bufsize,Z.level=z,Z.strategy=x,Z.method=M,ve(u)}n=[new $(0,0,0,0,function(u,z){var M=65535;for(M>u.pending_buf_size-5&&(M=u.pending_buf_size-5);;){if(u.lookahead<=1){if(me(u),u.lookahead===0&&z===h)return f;if(u.lookahead===0)break}u.strstart+=u.lookahead,u.lookahead=0;var C=u.block_start+M;if((u.strstart===0||u.strstart>=C)&&(u.lookahead=u.strstart-C,u.strstart=C,S(u,!1),u.strm.avail_out===0)||u.strstart-u.block_start>=u.w_size-se&&(S(u,!1),u.strm.avail_out===0))return f}return u.insert=0,z===d?(S(u,!0),u.strm.avail_out===0?ce:Y):(u.strstart>u.block_start&&(S(u,!1),u.strm.avail_out),f)}),new $(4,4,8,4,Ce),new $(4,5,16,8,Ce),new $(4,6,32,32,Ce),new $(4,4,16,16,fe),new $(8,16,32,32,fe),new $(8,16,128,128,fe),new $(8,32,128,256,fe),new $(32,128,258,1024,fe),new $(32,258,258,4096,fe)],i.deflateInit=function(u,z){return Te(u,z,w,15,8,0)},i.deflateInit2=Te,i.deflateReset=ve,i.deflateResetKeep=re,i.deflateSetHeader=function(u,z){return u&&u.state?u.state.wrap!==2?g:(u.state.gzhead=z,c):g},i.deflate=function(u,z){var M,C,T,x;if(!u||!u.state||5<z||z<0)return u?ye(u,g):g;if(C=u.state,!u.output||!u.input&&u.avail_in!==0||C.status===666&&z!==d)return ye(u,u.avail_out===0?-5:g);if(C.strm=u,M=C.last_flush,C.last_flush=z,C.status===k)if(C.wrap===2)u.adler=0,X(C,31),X(C,139),X(C,8),C.gzhead?(X(C,(C.gzhead.text?1:0)+(C.gzhead.hcrc?2:0)+(C.gzhead.extra?4:0)+(C.gzhead.name?8:0)+(C.gzhead.comment?16:0)),X(C,255&C.gzhead.time),X(C,C.gzhead.time>>8&255),X(C,C.gzhead.time>>16&255),X(C,C.gzhead.time>>24&255),X(C,C.level===9?2:2<=C.strategy||C.level<2?4:0),X(C,255&C.gzhead.os),C.gzhead.extra&&C.gzhead.extra.length&&(X(C,255&C.gzhead.extra.length),X(C,C.gzhead.extra.length>>8&255)),C.gzhead.hcrc&&(u.adler=m(u.adler,C.pending_buf,C.pending,0)),C.gzindex=0,C.status=69):(X(C,0),X(C,0),X(C,0),X(C,0),X(C,0),X(C,C.level===9?2:2<=C.strategy||C.level<2?4:0),X(C,3),C.status=j);else{var G=w+(C.w_bits-8<<4)<<8;G|=(2<=C.strategy||C.level<2?0:C.level<6?1:C.level===6?2:3)<<6,C.strstart!==0&&(G|=32),G+=31-G%31,C.status=j,J(C,G),C.strstart!==0&&(J(C,u.adler>>>16),J(C,65535&u.adler)),u.adler=1}if(C.status===69)if(C.gzhead.extra){for(T=C.pending;C.gzindex<(65535&C.gzhead.extra.length)&&(C.pending!==C.pending_buf_size||(C.gzhead.hcrc&&C.pending>T&&(u.adler=m(u.adler,C.pending_buf,C.pending-T,T)),R(u),T=C.pending,C.pending!==C.pending_buf_size));)X(C,255&C.gzhead.extra[C.gzindex]),C.gzindex++;C.gzhead.hcrc&&C.pending>T&&(u.adler=m(u.adler,C.pending_buf,C.pending-T,T)),C.gzindex===C.gzhead.extra.length&&(C.gzindex=0,C.status=73)}else C.status=73;if(C.status===73)if(C.gzhead.name){T=C.pending;do{if(C.pending===C.pending_buf_size&&(C.gzhead.hcrc&&C.pending>T&&(u.adler=m(u.adler,C.pending_buf,C.pending-T,T)),R(u),T=C.pending,C.pending===C.pending_buf_size)){x=1;break}x=C.gzindex<C.gzhead.name.length?255&C.gzhead.name.charCodeAt(C.gzindex++):0,X(C,x)}while(x!==0);C.gzhead.hcrc&&C.pending>T&&(u.adler=m(u.adler,C.pending_buf,C.pending-T,T)),x===0&&(C.gzindex=0,C.status=91)}else C.status=91;if(C.status===91)if(C.gzhead.comment){T=C.pending;do{if(C.pending===C.pending_buf_size&&(C.gzhead.hcrc&&C.pending>T&&(u.adler=m(u.adler,C.pending_buf,C.pending-T,T)),R(u),T=C.pending,C.pending===C.pending_buf_size)){x=1;break}x=C.gzindex<C.gzhead.comment.length?255&C.gzhead.comment.charCodeAt(C.gzindex++):0,X(C,x)}while(x!==0);C.gzhead.hcrc&&C.pending>T&&(u.adler=m(u.adler,C.pending_buf,C.pending-T,T)),x===0&&(C.status=103)}else C.status=103;if(C.status===103&&(C.gzhead.hcrc?(C.pending+2>C.pending_buf_size&&R(u),C.pending+2<=C.pending_buf_size&&(X(C,255&u.adler),X(C,u.adler>>8&255),u.adler=0,C.status=j)):C.status=j),C.pending!==0){if(R(u),u.avail_out===0)return C.last_flush=-1,c}else if(u.avail_in===0&&Q(z)<=Q(M)&&z!==d)return ye(u,-5);if(C.status===666&&u.avail_in!==0)return ye(u,-5);if(u.avail_in!==0||C.lookahead!==0||z!==h&&C.status!==666){var Z=C.strategy===2?(function(E,D){for(var W;;){if(E.lookahead===0&&(me(E),E.lookahead===0)){if(D===h)return f;break}if(E.match_length=0,W=l._tr_tally(E,0,E.window[E.strstart]),E.lookahead--,E.strstart++,W&&(S(E,!1),E.strm.avail_out===0))return f}return E.insert=0,D===d?(S(E,!0),E.strm.avail_out===0?ce:Y):E.last_lit&&(S(E,!1),E.strm.avail_out===0)?f:K})(C,z):C.strategy===3?(function(E,D){for(var W,U,ee,he,be=E.window;;){if(E.lookahead<=q){if(me(E),E.lookahead<=q&&D===h)return f;if(E.lookahead===0)break}if(E.match_length=0,E.lookahead>=O&&0<E.strstart&&(U=be[ee=E.strstart-1])===be[++ee]&&U===be[++ee]&&U===be[++ee]){he=E.strstart+q;do;while(U===be[++ee]&&U===be[++ee]&&U===be[++ee]&&U===be[++ee]&&U===be[++ee]&&U===be[++ee]&&U===be[++ee]&&U===be[++ee]&&ee<he);E.match_length=q-(he-ee),E.match_length>E.lookahead&&(E.match_length=E.lookahead)}if(E.match_length>=O?(W=l._tr_tally(E,1,E.match_length-O),E.lookahead-=E.match_length,E.strstart+=E.match_length,E.match_length=0):(W=l._tr_tally(E,0,E.window[E.strstart]),E.lookahead--,E.strstart++),W&&(S(E,!1),E.strm.avail_out===0))return f}return E.insert=0,D===d?(S(E,!0),E.strm.avail_out===0?ce:Y):E.last_lit&&(S(E,!1),E.strm.avail_out===0)?f:K})(C,z):n[C.level].func(C,z);if(Z!==ce&&Z!==Y||(C.status=666),Z===f||Z===ce)return u.avail_out===0&&(C.last_flush=-1),c;if(Z===K&&(z===1?l._tr_align(C):z!==5&&(l._tr_stored_block(C,0,0,!1),z===3&&(ne(C.head),C.lookahead===0&&(C.strstart=0,C.block_start=0,C.insert=0))),R(u),u.avail_out===0))return C.last_flush=-1,c}return z!==d?c:C.wrap<=0?1:(C.wrap===2?(X(C,255&u.adler),X(C,u.adler>>8&255),X(C,u.adler>>16&255),X(C,u.adler>>24&255),X(C,255&u.total_in),X(C,u.total_in>>8&255),X(C,u.total_in>>16&255),X(C,u.total_in>>24&255)):(J(C,u.adler>>>16),J(C,65535&u.adler)),R(u),0<C.wrap&&(C.wrap=-C.wrap),C.pending!==0?c:1)},i.deflateEnd=function(u){var z;return u&&u.state?(z=u.state.status)!==k&&z!==69&&z!==73&&z!==91&&z!==103&&z!==j&&z!==666?ye(u,g):(u.state=null,z===j?ye(u,-3):c):g},i.deflateSetDictionary=function(u,z){var M,C,T,x,G,Z,E,D,W=z.length;if(!u||!u.state||(x=(M=u.state).wrap)===2||x===1&&M.status!==k||M.lookahead)return g;for(x===1&&(u.adler=r(u.adler,z,W,0)),M.wrap=0,W>=M.w_size&&(x===0&&(ne(M.head),M.strstart=0,M.block_start=0,M.insert=0),D=new o.Buf8(M.w_size),o.arraySet(D,z,W-M.w_size,M.w_size,0),z=D,W=M.w_size),G=u.avail_in,Z=u.next_in,E=u.input,u.avail_in=W,u.next_in=0,u.input=z,me(M);M.lookahead>=O;){for(C=M.strstart,T=M.lookahead-(O-1);M.ins_h=(M.ins_h<<M.hash_shift^M.window[C+O-1])&M.hash_mask,M.prev[C&M.w_mask]=M.head[M.ins_h],M.head[M.ins_h]=C,C++,--T;);M.strstart=C,M.lookahead=O-1,me(M)}return M.strstart+=M.lookahead,M.block_start=M.strstart,M.insert=M.lookahead,M.lookahead=0,M.match_length=M.prev_length=O-1,M.match_available=0,u.next_in=Z,u.input=E,u.avail_in=G,M.wrap=x,c},i.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(t,a,i){a.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},{}],48:[function(t,a,i){a.exports=function(n,o){var l,r,m,v,h,d,c,g,p,b,y,w,F,P,_,N,I,H,O,q,se,k,j,f,K;l=n.state,r=n.next_in,f=n.input,m=r+(n.avail_in-5),v=n.next_out,K=n.output,h=v-(o-n.avail_out),d=v+(n.avail_out-257),c=l.dmax,g=l.wsize,p=l.whave,b=l.wnext,y=l.window,w=l.hold,F=l.bits,P=l.lencode,_=l.distcode,N=(1<<l.lenbits)-1,I=(1<<l.distbits)-1;e:do{F<15&&(w+=f[r++]<<F,F+=8,w+=f[r++]<<F,F+=8),H=P[w&N];s:for(;;){if(w>>>=O=H>>>24,F-=O,(O=H>>>16&255)===0)K[v++]=65535&H;else{if(!(16&O)){if((64&O)==0){H=P[(65535&H)+(w&(1<<O)-1)];continue s}if(32&O){l.mode=12;break e}n.msg="invalid literal/length code",l.mode=30;break e}q=65535&H,(O&=15)&&(F<O&&(w+=f[r++]<<F,F+=8),q+=w&(1<<O)-1,w>>>=O,F-=O),F<15&&(w+=f[r++]<<F,F+=8,w+=f[r++]<<F,F+=8),H=_[w&I];t:for(;;){if(w>>>=O=H>>>24,F-=O,!(16&(O=H>>>16&255))){if((64&O)==0){H=_[(65535&H)+(w&(1<<O)-1)];continue t}n.msg="invalid distance code",l.mode=30;break e}if(se=65535&H,F<(O&=15)&&(w+=f[r++]<<F,(F+=8)<O&&(w+=f[r++]<<F,F+=8)),c<(se+=w&(1<<O)-1)){n.msg="invalid distance too far back",l.mode=30;break e}if(w>>>=O,F-=O,(O=v-h)<se){if(p<(O=se-O)&&l.sane){n.msg="invalid distance too far back",l.mode=30;break e}if(j=y,(k=0)===b){if(k+=g-O,O<q){for(q-=O;K[v++]=y[k++],--O;);k=v-se,j=K}}else if(b<O){if(k+=g+b-O,(O-=b)<q){for(q-=O;K[v++]=y[k++],--O;);if(k=0,b<q){for(q-=O=b;K[v++]=y[k++],--O;);k=v-se,j=K}}}else if(k+=b-O,O<q){for(q-=O;K[v++]=y[k++],--O;);k=v-se,j=K}for(;2<q;)K[v++]=j[k++],K[v++]=j[k++],K[v++]=j[k++],q-=3;q&&(K[v++]=j[k++],1<q&&(K[v++]=j[k++]))}else{for(k=v-se;K[v++]=K[k++],K[v++]=K[k++],K[v++]=K[k++],2<(q-=3););q&&(K[v++]=K[k++],1<q&&(K[v++]=K[k++]))}break}}break}}while(r<m&&v<d);r-=q=F>>3,w&=(1<<(F-=q<<3))-1,n.next_in=r,n.next_out=v,n.avail_in=r<m?m-r+5:5-(r-m),n.avail_out=v<d?d-v+257:257-(v-d),l.hold=w,l.bits=F}},{}],49:[function(t,a,i){var n=t("../utils/common"),o=t("./adler32"),l=t("./crc32"),r=t("./inffast"),m=t("./inftrees"),v=1,h=2,d=0,c=-2,g=1,p=852,b=592;function y(k){return(k>>>24&255)+(k>>>8&65280)+((65280&k)<<8)+((255&k)<<24)}function w(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new n.Buf16(320),this.work=new n.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function F(k){var j;return k&&k.state?(j=k.state,k.total_in=k.total_out=j.total=0,k.msg="",j.wrap&&(k.adler=1&j.wrap),j.mode=g,j.last=0,j.havedict=0,j.dmax=32768,j.head=null,j.hold=0,j.bits=0,j.lencode=j.lendyn=new n.Buf32(p),j.distcode=j.distdyn=new n.Buf32(b),j.sane=1,j.back=-1,d):c}function P(k){var j;return k&&k.state?((j=k.state).wsize=0,j.whave=0,j.wnext=0,F(k)):c}function _(k,j){var f,K;return k&&k.state?(K=k.state,j<0?(f=0,j=-j):(f=1+(j>>4),j<48&&(j&=15)),j&&(j<8||15<j)?c:(K.window!==null&&K.wbits!==j&&(K.window=null),K.wrap=f,K.wbits=j,P(k))):c}function N(k,j){var f,K;return k?(K=new w,(k.state=K).window=null,(f=_(k,j))!==d&&(k.state=null),f):c}var I,H,O=!0;function q(k){if(O){var j;for(I=new n.Buf32(512),H=new n.Buf32(32),j=0;j<144;)k.lens[j++]=8;for(;j<256;)k.lens[j++]=9;for(;j<280;)k.lens[j++]=7;for(;j<288;)k.lens[j++]=8;for(m(v,k.lens,0,288,I,0,k.work,{bits:9}),j=0;j<32;)k.lens[j++]=5;m(h,k.lens,0,32,H,0,k.work,{bits:5}),O=!1}k.lencode=I,k.lenbits=9,k.distcode=H,k.distbits=5}function se(k,j,f,K){var ce,Y=k.state;return Y.window===null&&(Y.wsize=1<<Y.wbits,Y.wnext=0,Y.whave=0,Y.window=new n.Buf8(Y.wsize)),K>=Y.wsize?(n.arraySet(Y.window,j,f-Y.wsize,Y.wsize,0),Y.wnext=0,Y.whave=Y.wsize):(K<(ce=Y.wsize-Y.wnext)&&(ce=K),n.arraySet(Y.window,j,f-K,ce,Y.wnext),(K-=ce)?(n.arraySet(Y.window,j,f-K,K,0),Y.wnext=K,Y.whave=Y.wsize):(Y.wnext+=ce,Y.wnext===Y.wsize&&(Y.wnext=0),Y.whave<Y.wsize&&(Y.whave+=ce))),0}i.inflateReset=P,i.inflateReset2=_,i.inflateResetKeep=F,i.inflateInit=function(k){return N(k,15)},i.inflateInit2=N,i.inflate=function(k,j){var f,K,ce,Y,ye,Q,ne,R,S,X,J,V,me,Ce,fe,$,ie,re,ve,Te,u,z,M,C,T=0,x=new n.Buf8(4),G=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!k||!k.state||!k.output||!k.input&&k.avail_in!==0)return c;(f=k.state).mode===12&&(f.mode=13),ye=k.next_out,ce=k.output,ne=k.avail_out,Y=k.next_in,K=k.input,Q=k.avail_in,R=f.hold,S=f.bits,X=Q,J=ne,z=d;e:for(;;)switch(f.mode){case g:if(f.wrap===0){f.mode=13;break}for(;S<16;){if(Q===0)break e;Q--,R+=K[Y++]<<S,S+=8}if(2&f.wrap&&R===35615){x[f.check=0]=255&R,x[1]=R>>>8&255,f.check=l(f.check,x,2,0),S=R=0,f.mode=2;break}if(f.flags=0,f.head&&(f.head.done=!1),!(1&f.wrap)||(((255&R)<<8)+(R>>8))%31){k.msg="incorrect header check",f.mode=30;break}if((15&R)!=8){k.msg="unknown compression method",f.mode=30;break}if(S-=4,u=8+(15&(R>>>=4)),f.wbits===0)f.wbits=u;else if(u>f.wbits){k.msg="invalid window size",f.mode=30;break}f.dmax=1<<u,k.adler=f.check=1,f.mode=512&R?10:12,S=R=0;break;case 2:for(;S<16;){if(Q===0)break e;Q--,R+=K[Y++]<<S,S+=8}if(f.flags=R,(255&f.flags)!=8){k.msg="unknown compression method",f.mode=30;break}if(57344&f.flags){k.msg="unknown header flags set",f.mode=30;break}f.head&&(f.head.text=R>>8&1),512&f.flags&&(x[0]=255&R,x[1]=R>>>8&255,f.check=l(f.check,x,2,0)),S=R=0,f.mode=3;case 3:for(;S<32;){if(Q===0)break e;Q--,R+=K[Y++]<<S,S+=8}f.head&&(f.head.time=R),512&f.flags&&(x[0]=255&R,x[1]=R>>>8&255,x[2]=R>>>16&255,x[3]=R>>>24&255,f.check=l(f.check,x,4,0)),S=R=0,f.mode=4;case 4:for(;S<16;){if(Q===0)break e;Q--,R+=K[Y++]<<S,S+=8}f.head&&(f.head.xflags=255&R,f.head.os=R>>8),512&f.flags&&(x[0]=255&R,x[1]=R>>>8&255,f.check=l(f.check,x,2,0)),S=R=0,f.mode=5;case 5:if(1024&f.flags){for(;S<16;){if(Q===0)break e;Q--,R+=K[Y++]<<S,S+=8}f.length=R,f.head&&(f.head.extra_len=R),512&f.flags&&(x[0]=255&R,x[1]=R>>>8&255,f.check=l(f.check,x,2,0)),S=R=0}else f.head&&(f.head.extra=null);f.mode=6;case 6:if(1024&f.flags&&(Q<(V=f.length)&&(V=Q),V&&(f.head&&(u=f.head.extra_len-f.length,f.head.extra||(f.head.extra=new Array(f.head.extra_len)),n.arraySet(f.head.extra,K,Y,V,u)),512&f.flags&&(f.check=l(f.check,K,V,Y)),Q-=V,Y+=V,f.length-=V),f.length))break e;f.length=0,f.mode=7;case 7:if(2048&f.flags){if(Q===0)break e;for(V=0;u=K[Y+V++],f.head&&u&&f.length<65536&&(f.head.name+=String.fromCharCode(u)),u&&V<Q;);if(512&f.flags&&(f.check=l(f.check,K,V,Y)),Q-=V,Y+=V,u)break e}else f.head&&(f.head.name=null);f.length=0,f.mode=8;case 8:if(4096&f.flags){if(Q===0)break e;for(V=0;u=K[Y+V++],f.head&&u&&f.length<65536&&(f.head.comment+=String.fromCharCode(u)),u&&V<Q;);if(512&f.flags&&(f.check=l(f.check,K,V,Y)),Q-=V,Y+=V,u)break e}else f.head&&(f.head.comment=null);f.mode=9;case 9:if(512&f.flags){for(;S<16;){if(Q===0)break e;Q--,R+=K[Y++]<<S,S+=8}if(R!==(65535&f.check)){k.msg="header crc mismatch",f.mode=30;break}S=R=0}f.head&&(f.head.hcrc=f.flags>>9&1,f.head.done=!0),k.adler=f.check=0,f.mode=12;break;case 10:for(;S<32;){if(Q===0)break e;Q--,R+=K[Y++]<<S,S+=8}k.adler=f.check=y(R),S=R=0,f.mode=11;case 11:if(f.havedict===0)return k.next_out=ye,k.avail_out=ne,k.next_in=Y,k.avail_in=Q,f.hold=R,f.bits=S,2;k.adler=f.check=1,f.mode=12;case 12:if(j===5||j===6)break e;case 13:if(f.last){R>>>=7&S,S-=7&S,f.mode=27;break}for(;S<3;){if(Q===0)break e;Q--,R+=K[Y++]<<S,S+=8}switch(f.last=1&R,S-=1,3&(R>>>=1)){case 0:f.mode=14;break;case 1:if(q(f),f.mode=20,j!==6)break;R>>>=2,S-=2;break e;case 2:f.mode=17;break;case 3:k.msg="invalid block type",f.mode=30}R>>>=2,S-=2;break;case 14:for(R>>>=7&S,S-=7&S;S<32;){if(Q===0)break e;Q--,R+=K[Y++]<<S,S+=8}if((65535&R)!=(R>>>16^65535)){k.msg="invalid stored block lengths",f.mode=30;break}if(f.length=65535&R,S=R=0,f.mode=15,j===6)break e;case 15:f.mode=16;case 16:if(V=f.length){if(Q<V&&(V=Q),ne<V&&(V=ne),V===0)break e;n.arraySet(ce,K,Y,V,ye),Q-=V,Y+=V,ne-=V,ye+=V,f.length-=V;break}f.mode=12;break;case 17:for(;S<14;){if(Q===0)break e;Q--,R+=K[Y++]<<S,S+=8}if(f.nlen=257+(31&R),R>>>=5,S-=5,f.ndist=1+(31&R),R>>>=5,S-=5,f.ncode=4+(15&R),R>>>=4,S-=4,286<f.nlen||30<f.ndist){k.msg="too many length or distance symbols",f.mode=30;break}f.have=0,f.mode=18;case 18:for(;f.have<f.ncode;){for(;S<3;){if(Q===0)break e;Q--,R+=K[Y++]<<S,S+=8}f.lens[G[f.have++]]=7&R,R>>>=3,S-=3}for(;f.have<19;)f.lens[G[f.have++]]=0;if(f.lencode=f.lendyn,f.lenbits=7,M={bits:f.lenbits},z=m(0,f.lens,0,19,f.lencode,0,f.work,M),f.lenbits=M.bits,z){k.msg="invalid code lengths set",f.mode=30;break}f.have=0,f.mode=19;case 19:for(;f.have<f.nlen+f.ndist;){for(;$=(T=f.lencode[R&(1<<f.lenbits)-1])>>>16&255,ie=65535&T,!((fe=T>>>24)<=S);){if(Q===0)break e;Q--,R+=K[Y++]<<S,S+=8}if(ie<16)R>>>=fe,S-=fe,f.lens[f.have++]=ie;else{if(ie===16){for(C=fe+2;S<C;){if(Q===0)break e;Q--,R+=K[Y++]<<S,S+=8}if(R>>>=fe,S-=fe,f.have===0){k.msg="invalid bit length repeat",f.mode=30;break}u=f.lens[f.have-1],V=3+(3&R),R>>>=2,S-=2}else if(ie===17){for(C=fe+3;S<C;){if(Q===0)break e;Q--,R+=K[Y++]<<S,S+=8}S-=fe,u=0,V=3+(7&(R>>>=fe)),R>>>=3,S-=3}else{for(C=fe+7;S<C;){if(Q===0)break e;Q--,R+=K[Y++]<<S,S+=8}S-=fe,u=0,V=11+(127&(R>>>=fe)),R>>>=7,S-=7}if(f.have+V>f.nlen+f.ndist){k.msg="invalid bit length repeat",f.mode=30;break}for(;V--;)f.lens[f.have++]=u}}if(f.mode===30)break;if(f.lens[256]===0){k.msg="invalid code -- missing end-of-block",f.mode=30;break}if(f.lenbits=9,M={bits:f.lenbits},z=m(v,f.lens,0,f.nlen,f.lencode,0,f.work,M),f.lenbits=M.bits,z){k.msg="invalid literal/lengths set",f.mode=30;break}if(f.distbits=6,f.distcode=f.distdyn,M={bits:f.distbits},z=m(h,f.lens,f.nlen,f.ndist,f.distcode,0,f.work,M),f.distbits=M.bits,z){k.msg="invalid distances set",f.mode=30;break}if(f.mode=20,j===6)break e;case 20:f.mode=21;case 21:if(6<=Q&&258<=ne){k.next_out=ye,k.avail_out=ne,k.next_in=Y,k.avail_in=Q,f.hold=R,f.bits=S,r(k,J),ye=k.next_out,ce=k.output,ne=k.avail_out,Y=k.next_in,K=k.input,Q=k.avail_in,R=f.hold,S=f.bits,f.mode===12&&(f.back=-1);break}for(f.back=0;$=(T=f.lencode[R&(1<<f.lenbits)-1])>>>16&255,ie=65535&T,!((fe=T>>>24)<=S);){if(Q===0)break e;Q--,R+=K[Y++]<<S,S+=8}if($&&(240&$)==0){for(re=fe,ve=$,Te=ie;$=(T=f.lencode[Te+((R&(1<<re+ve)-1)>>re)])>>>16&255,ie=65535&T,!(re+(fe=T>>>24)<=S);){if(Q===0)break e;Q--,R+=K[Y++]<<S,S+=8}R>>>=re,S-=re,f.back+=re}if(R>>>=fe,S-=fe,f.back+=fe,f.length=ie,$===0){f.mode=26;break}if(32&$){f.back=-1,f.mode=12;break}if(64&$){k.msg="invalid literal/length code",f.mode=30;break}f.extra=15&$,f.mode=22;case 22:if(f.extra){for(C=f.extra;S<C;){if(Q===0)break e;Q--,R+=K[Y++]<<S,S+=8}f.length+=R&(1<<f.extra)-1,R>>>=f.extra,S-=f.extra,f.back+=f.extra}f.was=f.length,f.mode=23;case 23:for(;$=(T=f.distcode[R&(1<<f.distbits)-1])>>>16&255,ie=65535&T,!((fe=T>>>24)<=S);){if(Q===0)break e;Q--,R+=K[Y++]<<S,S+=8}if((240&$)==0){for(re=fe,ve=$,Te=ie;$=(T=f.distcode[Te+((R&(1<<re+ve)-1)>>re)])>>>16&255,ie=65535&T,!(re+(fe=T>>>24)<=S);){if(Q===0)break e;Q--,R+=K[Y++]<<S,S+=8}R>>>=re,S-=re,f.back+=re}if(R>>>=fe,S-=fe,f.back+=fe,64&$){k.msg="invalid distance code",f.mode=30;break}f.offset=ie,f.extra=15&$,f.mode=24;case 24:if(f.extra){for(C=f.extra;S<C;){if(Q===0)break e;Q--,R+=K[Y++]<<S,S+=8}f.offset+=R&(1<<f.extra)-1,R>>>=f.extra,S-=f.extra,f.back+=f.extra}if(f.offset>f.dmax){k.msg="invalid distance too far back",f.mode=30;break}f.mode=25;case 25:if(ne===0)break e;if(V=J-ne,f.offset>V){if((V=f.offset-V)>f.whave&&f.sane){k.msg="invalid distance too far back",f.mode=30;break}me=V>f.wnext?(V-=f.wnext,f.wsize-V):f.wnext-V,V>f.length&&(V=f.length),Ce=f.window}else Ce=ce,me=ye-f.offset,V=f.length;for(ne<V&&(V=ne),ne-=V,f.length-=V;ce[ye++]=Ce[me++],--V;);f.length===0&&(f.mode=21);break;case 26:if(ne===0)break e;ce[ye++]=f.length,ne--,f.mode=21;break;case 27:if(f.wrap){for(;S<32;){if(Q===0)break e;Q--,R|=K[Y++]<<S,S+=8}if(J-=ne,k.total_out+=J,f.total+=J,J&&(k.adler=f.check=f.flags?l(f.check,ce,J,ye-J):o(f.check,ce,J,ye-J)),J=ne,(f.flags?R:y(R))!==f.check){k.msg="incorrect data check",f.mode=30;break}S=R=0}f.mode=28;case 28:if(f.wrap&&f.flags){for(;S<32;){if(Q===0)break e;Q--,R+=K[Y++]<<S,S+=8}if(R!==(4294967295&f.total)){k.msg="incorrect length check",f.mode=30;break}S=R=0}f.mode=29;case 29:z=1;break e;case 30:z=-3;break e;case 31:return-4;default:return c}return k.next_out=ye,k.avail_out=ne,k.next_in=Y,k.avail_in=Q,f.hold=R,f.bits=S,(f.wsize||J!==k.avail_out&&f.mode<30&&(f.mode<27||j!==4))&&se(k,k.output,k.next_out,J-k.avail_out)?(f.mode=31,-4):(X-=k.avail_in,J-=k.avail_out,k.total_in+=X,k.total_out+=J,f.total+=J,f.wrap&&J&&(k.adler=f.check=f.flags?l(f.check,ce,J,k.next_out-J):o(f.check,ce,J,k.next_out-J)),k.data_type=f.bits+(f.last?64:0)+(f.mode===12?128:0)+(f.mode===20||f.mode===15?256:0),(X==0&&J===0||j===4)&&z===d&&(z=-5),z)},i.inflateEnd=function(k){if(!k||!k.state)return c;var j=k.state;return j.window&&(j.window=null),k.state=null,d},i.inflateGetHeader=function(k,j){var f;return k&&k.state?(2&(f=k.state).wrap)==0?c:((f.head=j).done=!1,d):c},i.inflateSetDictionary=function(k,j){var f,K=j.length;return k&&k.state?(f=k.state).wrap!==0&&f.mode!==11?c:f.mode===11&&o(1,j,K,0)!==f.check?-3:se(k,j,K,K)?(f.mode=31,-4):(f.havedict=1,d):c},i.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(t,a,i){var n=t("../utils/common"),o=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],l=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],r=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],m=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];a.exports=function(v,h,d,c,g,p,b,y){var w,F,P,_,N,I,H,O,q,se=y.bits,k=0,j=0,f=0,K=0,ce=0,Y=0,ye=0,Q=0,ne=0,R=0,S=null,X=0,J=new n.Buf16(16),V=new n.Buf16(16),me=null,Ce=0;for(k=0;k<=15;k++)J[k]=0;for(j=0;j<c;j++)J[h[d+j]]++;for(ce=se,K=15;1<=K&&J[K]===0;K--);if(K<ce&&(ce=K),K===0)return g[p++]=20971520,g[p++]=20971520,y.bits=1,0;for(f=1;f<K&&J[f]===0;f++);for(ce<f&&(ce=f),k=Q=1;k<=15;k++)if(Q<<=1,(Q-=J[k])<0)return-1;if(0<Q&&(v===0||K!==1))return-1;for(V[1]=0,k=1;k<15;k++)V[k+1]=V[k]+J[k];for(j=0;j<c;j++)h[d+j]!==0&&(b[V[h[d+j]]++]=j);if(I=v===0?(S=me=b,19):v===1?(S=o,X-=257,me=l,Ce-=257,256):(S=r,me=m,-1),k=f,N=p,ye=j=R=0,P=-1,_=(ne=1<<(Y=ce))-1,v===1&&852<ne||v===2&&592<ne)return 1;for(;;){for(H=k-ye,q=b[j]<I?(O=0,b[j]):b[j]>I?(O=me[Ce+b[j]],S[X+b[j]]):(O=96,0),w=1<<k-ye,f=F=1<<Y;g[N+(R>>ye)+(F-=w)]=H<<24|O<<16|q|0,F!==0;);for(w=1<<k-1;R&w;)w>>=1;if(w!==0?(R&=w-1,R+=w):R=0,j++,--J[k]==0){if(k===K)break;k=h[d+b[j]]}if(ce<k&&(R&_)!==P){for(ye===0&&(ye=ce),N+=f,Q=1<<(Y=k-ye);Y+ye<K&&!((Q-=J[Y+ye])<=0);)Y++,Q<<=1;if(ne+=1<<Y,v===1&&852<ne||v===2&&592<ne)return 1;g[P=R&_]=ce<<24|Y<<16|N-p|0}}return R!==0&&(g[N+R]=k-ye<<24|64<<16|0),y.bits=ce,0}},{"../utils/common":41}],51:[function(t,a,i){a.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],52:[function(t,a,i){var n=t("../utils/common"),o=0,l=1;function r(T){for(var x=T.length;0<=--x;)T[x]=0}var m=0,v=29,h=256,d=h+1+v,c=30,g=19,p=2*d+1,b=15,y=16,w=7,F=256,P=16,_=17,N=18,I=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],H=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],O=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],q=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],se=new Array(2*(d+2));r(se);var k=new Array(2*c);r(k);var j=new Array(512);r(j);var f=new Array(256);r(f);var K=new Array(v);r(K);var ce,Y,ye,Q=new Array(c);function ne(T,x,G,Z,E){this.static_tree=T,this.extra_bits=x,this.extra_base=G,this.elems=Z,this.max_length=E,this.has_stree=T&&T.length}function R(T,x){this.dyn_tree=T,this.max_code=0,this.stat_desc=x}function S(T){return T<256?j[T]:j[256+(T>>>7)]}function X(T,x){T.pending_buf[T.pending++]=255&x,T.pending_buf[T.pending++]=x>>>8&255}function J(T,x,G){T.bi_valid>y-G?(T.bi_buf|=x<<T.bi_valid&65535,X(T,T.bi_buf),T.bi_buf=x>>y-T.bi_valid,T.bi_valid+=G-y):(T.bi_buf|=x<<T.bi_valid&65535,T.bi_valid+=G)}function V(T,x,G){J(T,G[2*x],G[2*x+1])}function me(T,x){for(var G=0;G|=1&T,T>>>=1,G<<=1,0<--x;);return G>>>1}function Ce(T,x,G){var Z,E,D=new Array(b+1),W=0;for(Z=1;Z<=b;Z++)D[Z]=W=W+G[Z-1]<<1;for(E=0;E<=x;E++){var U=T[2*E+1];U!==0&&(T[2*E]=me(D[U]++,U))}}function fe(T){var x;for(x=0;x<d;x++)T.dyn_ltree[2*x]=0;for(x=0;x<c;x++)T.dyn_dtree[2*x]=0;for(x=0;x<g;x++)T.bl_tree[2*x]=0;T.dyn_ltree[2*F]=1,T.opt_len=T.static_len=0,T.last_lit=T.matches=0}function $(T){8<T.bi_valid?X(T,T.bi_buf):0<T.bi_valid&&(T.pending_buf[T.pending++]=T.bi_buf),T.bi_buf=0,T.bi_valid=0}function ie(T,x,G,Z){var E=2*x,D=2*G;return T[E]<T[D]||T[E]===T[D]&&Z[x]<=Z[G]}function re(T,x,G){for(var Z=T.heap[G],E=G<<1;E<=T.heap_len&&(E<T.heap_len&&ie(x,T.heap[E+1],T.heap[E],T.depth)&&E++,!ie(x,Z,T.heap[E],T.depth));)T.heap[G]=T.heap[E],G=E,E<<=1;T.heap[G]=Z}function ve(T,x,G){var Z,E,D,W,U=0;if(T.last_lit!==0)for(;Z=T.pending_buf[T.d_buf+2*U]<<8|T.pending_buf[T.d_buf+2*U+1],E=T.pending_buf[T.l_buf+U],U++,Z===0?V(T,E,x):(V(T,(D=f[E])+h+1,x),(W=I[D])!==0&&J(T,E-=K[D],W),V(T,D=S(--Z),G),(W=H[D])!==0&&J(T,Z-=Q[D],W)),U<T.last_lit;);V(T,F,x)}function Te(T,x){var G,Z,E,D=x.dyn_tree,W=x.stat_desc.static_tree,U=x.stat_desc.has_stree,ee=x.stat_desc.elems,he=-1;for(T.heap_len=0,T.heap_max=p,G=0;G<ee;G++)D[2*G]!==0?(T.heap[++T.heap_len]=he=G,T.depth[G]=0):D[2*G+1]=0;for(;T.heap_len<2;)D[2*(E=T.heap[++T.heap_len]=he<2?++he:0)]=1,T.depth[E]=0,T.opt_len--,U&&(T.static_len-=W[2*E+1]);for(x.max_code=he,G=T.heap_len>>1;1<=G;G--)re(T,D,G);for(E=ee;G=T.heap[1],T.heap[1]=T.heap[T.heap_len--],re(T,D,1),Z=T.heap[1],T.heap[--T.heap_max]=G,T.heap[--T.heap_max]=Z,D[2*E]=D[2*G]+D[2*Z],T.depth[E]=(T.depth[G]>=T.depth[Z]?T.depth[G]:T.depth[Z])+1,D[2*G+1]=D[2*Z+1]=E,T.heap[1]=E++,re(T,D,1),2<=T.heap_len;);T.heap[--T.heap_max]=T.heap[1],(function(be,ge){var Re,Ee,Ze,xe,Xe,Ts,We=ge.dyn_tree,Cs=ge.max_code,at=ge.stat_desc.static_tree,Ue=ge.stat_desc.has_stree,cs=ge.stat_desc.extra_bits,Aa=ge.stat_desc.extra_base,nt=ge.stat_desc.max_length,Tt=0;for(xe=0;xe<=b;xe++)be.bl_count[xe]=0;for(We[2*be.heap[be.heap_max]+1]=0,Re=be.heap_max+1;Re<p;Re++)nt<(xe=We[2*We[2*(Ee=be.heap[Re])+1]+1]+1)&&(xe=nt,Tt++),We[2*Ee+1]=xe,Cs<Ee||(be.bl_count[xe]++,Xe=0,Aa<=Ee&&(Xe=cs[Ee-Aa]),Ts=We[2*Ee],be.opt_len+=Ts*(xe+Xe),Ue&&(be.static_len+=Ts*(at[2*Ee+1]+Xe)));if(Tt!==0){do{for(xe=nt-1;be.bl_count[xe]===0;)xe--;be.bl_count[xe]--,be.bl_count[xe+1]+=2,be.bl_count[nt]--,Tt-=2}while(0<Tt);for(xe=nt;xe!==0;xe--)for(Ee=be.bl_count[xe];Ee!==0;)Cs<(Ze=be.heap[--Re])||(We[2*Ze+1]!==xe&&(be.opt_len+=(xe-We[2*Ze+1])*We[2*Ze],We[2*Ze+1]=xe),Ee--)}})(T,x),Ce(D,he,T.bl_count)}function u(T,x,G){var Z,E,D=-1,W=x[1],U=0,ee=7,he=4;for(W===0&&(ee=138,he=3),x[2*(G+1)+1]=65535,Z=0;Z<=G;Z++)E=W,W=x[2*(Z+1)+1],++U<ee&&E===W||(U<he?T.bl_tree[2*E]+=U:E!==0?(E!==D&&T.bl_tree[2*E]++,T.bl_tree[2*P]++):U<=10?T.bl_tree[2*_]++:T.bl_tree[2*N]++,D=E,he=(U=0)===W?(ee=138,3):E===W?(ee=6,3):(ee=7,4))}function z(T,x,G){var Z,E,D=-1,W=x[1],U=0,ee=7,he=4;for(W===0&&(ee=138,he=3),Z=0;Z<=G;Z++)if(E=W,W=x[2*(Z+1)+1],!(++U<ee&&E===W)){if(U<he)for(;V(T,E,T.bl_tree),--U!=0;);else E!==0?(E!==D&&(V(T,E,T.bl_tree),U--),V(T,P,T.bl_tree),J(T,U-3,2)):U<=10?(V(T,_,T.bl_tree),J(T,U-3,3)):(V(T,N,T.bl_tree),J(T,U-11,7));D=E,he=(U=0)===W?(ee=138,3):E===W?(ee=6,3):(ee=7,4)}}r(Q);var M=!1;function C(T,x,G,Z){J(T,(m<<1)+(Z?1:0),3),(function(E,D,W,U){$(E),X(E,W),X(E,~W),n.arraySet(E.pending_buf,E.window,D,W,E.pending),E.pending+=W})(T,x,G)}i._tr_init=function(T){M||((function(){var x,G,Z,E,D,W=new Array(b+1);for(E=Z=0;E<v-1;E++)for(K[E]=Z,x=0;x<1<<I[E];x++)f[Z++]=E;for(f[Z-1]=E,E=D=0;E<16;E++)for(Q[E]=D,x=0;x<1<<H[E];x++)j[D++]=E;for(D>>=7;E<c;E++)for(Q[E]=D<<7,x=0;x<1<<H[E]-7;x++)j[256+D++]=E;for(G=0;G<=b;G++)W[G]=0;for(x=0;x<=143;)se[2*x+1]=8,x++,W[8]++;for(;x<=255;)se[2*x+1]=9,x++,W[9]++;for(;x<=279;)se[2*x+1]=7,x++,W[7]++;for(;x<=287;)se[2*x+1]=8,x++,W[8]++;for(Ce(se,d+1,W),x=0;x<c;x++)k[2*x+1]=5,k[2*x]=me(x,5);ce=new ne(se,I,h+1,d,b),Y=new ne(k,H,0,c,b),ye=new ne(new Array(0),O,0,g,w)})(),M=!0),T.l_desc=new R(T.dyn_ltree,ce),T.d_desc=new R(T.dyn_dtree,Y),T.bl_desc=new R(T.bl_tree,ye),T.bi_buf=0,T.bi_valid=0,fe(T)},i._tr_stored_block=C,i._tr_flush_block=function(T,x,G,Z){var E,D,W=0;0<T.level?(T.strm.data_type===2&&(T.strm.data_type=(function(U){var ee,he=4093624447;for(ee=0;ee<=31;ee++,he>>>=1)if(1&he&&U.dyn_ltree[2*ee]!==0)return o;if(U.dyn_ltree[18]!==0||U.dyn_ltree[20]!==0||U.dyn_ltree[26]!==0)return l;for(ee=32;ee<h;ee++)if(U.dyn_ltree[2*ee]!==0)return l;return o})(T)),Te(T,T.l_desc),Te(T,T.d_desc),W=(function(U){var ee;for(u(U,U.dyn_ltree,U.l_desc.max_code),u(U,U.dyn_dtree,U.d_desc.max_code),Te(U,U.bl_desc),ee=g-1;3<=ee&&U.bl_tree[2*q[ee]+1]===0;ee--);return U.opt_len+=3*(ee+1)+5+5+4,ee})(T),E=T.opt_len+3+7>>>3,(D=T.static_len+3+7>>>3)<=E&&(E=D)):E=D=G+5,G+4<=E&&x!==-1?C(T,x,G,Z):T.strategy===4||D===E?(J(T,2+(Z?1:0),3),ve(T,se,k)):(J(T,4+(Z?1:0),3),(function(U,ee,he,be){var ge;for(J(U,ee-257,5),J(U,he-1,5),J(U,be-4,4),ge=0;ge<be;ge++)J(U,U.bl_tree[2*q[ge]+1],3);z(U,U.dyn_ltree,ee-1),z(U,U.dyn_dtree,he-1)})(T,T.l_desc.max_code+1,T.d_desc.max_code+1,W+1),ve(T,T.dyn_ltree,T.dyn_dtree)),fe(T),Z&&$(T)},i._tr_tally=function(T,x,G){return T.pending_buf[T.d_buf+2*T.last_lit]=x>>>8&255,T.pending_buf[T.d_buf+2*T.last_lit+1]=255&x,T.pending_buf[T.l_buf+T.last_lit]=255&G,T.last_lit++,x===0?T.dyn_ltree[2*G]++:(T.matches++,x--,T.dyn_ltree[2*(f[G]+h+1)]++,T.dyn_dtree[2*S(x)]++),T.last_lit===T.lit_bufsize-1},i._tr_align=function(T){J(T,2,3),V(T,F,se),(function(x){x.bi_valid===16?(X(x,x.bi_buf),x.bi_buf=0,x.bi_valid=0):8<=x.bi_valid&&(x.pending_buf[x.pending++]=255&x.bi_buf,x.bi_buf>>=8,x.bi_valid-=8)})(T)}},{"../utils/common":41}],53:[function(t,a,i){a.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(t,a,i){(function(n){(function(o,l){if(!o.setImmediate){var r,m,v,h,d=1,c={},g=!1,p=o.document,b=Object.getPrototypeOf&&Object.getPrototypeOf(o);b=b&&b.setTimeout?b:o,r={}.toString.call(o.process)==="[object process]"?function(P){process.nextTick(function(){w(P)})}:(function(){if(o.postMessage&&!o.importScripts){var P=!0,_=o.onmessage;return o.onmessage=function(){P=!1},o.postMessage("","*"),o.onmessage=_,P}})()?(h="setImmediate$"+Math.random()+"$",o.addEventListener?o.addEventListener("message",F,!1):o.attachEvent("onmessage",F),function(P){o.postMessage(h+P,"*")}):o.MessageChannel?((v=new MessageChannel).port1.onmessage=function(P){w(P.data)},function(P){v.port2.postMessage(P)}):p&&"onreadystatechange"in p.createElement("script")?(m=p.documentElement,function(P){var _=p.createElement("script");_.onreadystatechange=function(){w(P),_.onreadystatechange=null,m.removeChild(_),_=null},m.appendChild(_)}):function(P){setTimeout(w,0,P)},b.setImmediate=function(P){typeof P!="function"&&(P=new Function(""+P));for(var _=new Array(arguments.length-1),N=0;N<_.length;N++)_[N]=arguments[N+1];var I={callback:P,args:_};return c[d]=I,r(d),d++},b.clearImmediate=y}function y(P){delete c[P]}function w(P){if(g)setTimeout(w,0,P);else{var _=c[P];if(_){g=!0;try{(function(N){var I=N.callback,H=N.args;switch(H.length){case 0:I();break;case 1:I(H[0]);break;case 2:I(H[0],H[1]);break;case 3:I(H[0],H[1],H[2]);break;default:I.apply(l,H)}})(_)}finally{y(P),g=!1}}}}function F(P){P.source===o&&typeof P.data=="string"&&P.data.indexOf(h)===0&&w(+P.data.slice(h.length))}})(typeof self>"u"?n===void 0?this:n:self)}).call(this,typeof Ft<"u"?Ft:typeof self<"u"?self:typeof window<"u"?window:{})},{}]},{},[10])(10)})})(Vt)),Vt.exports}var Fo=Ao();const ko=wo(Fo);function pt(e,s,t){const a=e instanceof Uint8Array?new Blob([new Uint8Array(e)],{type:t}):new Blob([e],{type:t}),i=URL.createObjectURL(a),n=document.createElement("a");n.href=i,n.download=s,document.body.appendChild(n),n.click(),document.body.removeChild(n),URL.revokeObjectURL(i)}function Ht(e){return e.replace(/[<>:"/\\|?*]/g,"").replace(/\s+/g,"_").substring(0,100)}function So(e){const s=[];return et(e)&&s.push("zwo"),st(e)&&s.push("fit"),tt(e)&&s.push("mrc"),s}async function _o(e,s,t){const a=Ht(e.name);try{switch(s){case"zwo":{if(!et(e.sport))return{success:!1,filename:"",error:"Zwift export only supports bike and run workouts"};const i=Ln(e,t),n=`${a}.zwo`;return pt(i,n,"application/xml"),{success:!0,filename:n}}case"fit":{if(!st(e.sport))return{success:!1,filename:"",error:`FIT export not supported for ${e.sport} workouts`};const i=await jn(e,t),n=`${a}.fit`;return pt(i,n,"application/vnd.ant.fit"),{success:!0,filename:n}}case"mrc":{if(!tt(e.sport))return{success:!1,filename:"",error:"MRC export only supports bike workouts"};const i=Gn(e,t),n=`${a}.mrc`;return pt(i,n,"text/plain"),{success:!0,filename:n}}default:return{success:!1,filename:"",error:`Unknown format: ${s}`}}}catch(i){return{success:!1,filename:"",error:i instanceof Error?i.message:"Unknown error"}}}function xo(e){try{const s=Co(e),a=`${Ht(e.meta.event)}_training_plan.ics`;return pt(s,a,"text/calendar"),{success:!0,filename:a}}catch(s){return{success:!1,filename:"",error:s instanceof Error?s.message:"Unknown error"}}}async function Eo(e,s,t){const a=Ht(e.name);try{switch(s){case"zwo":return et(e.sport)?{content:Ln(e,t),filename:`${a}.zwo`}:null;case"fit":return st(e.sport)?{content:await jn(e,t),filename:`${a}.fit`}:null;case"mrc":return tt(e.sport)?{content:Gn(e,t),filename:`${a}.mrc`}:null;default:return null}}catch{return null}}async function Po(e,s,t){const a=[];let i=0,n=0;const o=new ko;for(const l of e.weeks??[])for(const r of l.days??[])for(const m of r.workouts??[]){if(m.sport==="rest"){n++;continue}if(s==="zwo"&&!et(m.sport)){n++;continue}if(s==="fit"&&!st(m.sport)){n++;continue}if(s==="mrc"&&!tt(m.sport)){n++;continue}try{const v=await Eo(m,s,t);v?(o.file(v.filename,v.content),i++):n++}catch(v){a.push(`${m.name}: ${v instanceof Error?v.message:"Unknown error"}`)}}if(i>0){const l=await o.generateAsync({type:"uint8array"}),m=`${Ht(e.meta.event)}_workouts_${s}.zip`;pt(l,m,"application/zip")}return{exported:i,skipped:n,errors:a}}var Ro=ue("<div> </div>"),Io=ue('<div class="export-menu svelte-dkgmtr"><button class="export-option svelte-dkgmtr"><span class="export-icon calendar svelte-dkgmtr"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-dkgmtr"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg></span> <div><div class="export-name svelte-dkgmtr">Calendar (.ics)</div> <div class="export-desc svelte-dkgmtr">Apple, Google, Outlook</div></div></button> <div class="export-divider svelte-dkgmtr"></div> <button class="export-option svelte-dkgmtr"><span class="export-icon svelte-dkgmtr">Z</span> <div><div class="export-name svelte-dkgmtr">Zwift (.zwo)</div> <div class="export-desc svelte-dkgmtr">Bike & run workouts</div></div></button> <button class="export-option svelte-dkgmtr"><span class="export-icon svelte-dkgmtr">G</span> <div><div class="export-name svelte-dkgmtr">Garmin (.fit)</div> <div class="export-desc svelte-dkgmtr">All workout types</div></div></button> <button class="export-option svelte-dkgmtr"><span class="export-icon svelte-dkgmtr">E</span> <div><div class="export-name svelte-dkgmtr">ERG/MRC (.mrc)</div> <div class="export-desc svelte-dkgmtr">Bike workouts only</div></div></button></div>'),Do=ue('<button class="clear-filter svelte-dkgmtr">Clear</button>'),Lo=ue('<div class="check-icon svelte-dkgmtr">✓</div>'),Bo=ue('<button><div> </div> <div class="sport-info svelte-dkgmtr"><div class="sport-name svelte-dkgmtr"> </div> <div class="sport-hours svelte-dkgmtr"> </div></div> <!></button>'),Mo=ue("<button> </button>"),Oo=ue('<aside><div class="event-header svelte-dkgmtr"><h1 class="event-name svelte-dkgmtr"> </h1> <div class="event-date svelte-dkgmtr"> </div> <div class="athlete-name svelte-dkgmtr"> </div></div> <div class="progress-section svelte-dkgmtr"><div class="progress-ring-container svelte-dkgmtr"><svg class="progress-ring svelte-dkgmtr" width="140" height="140"><defs><linearGradient id="progressGradient" x1="0%" y1="0%" x2="100%" y2="0%"><stop offset="0%" style="stop-color: var(--accent)"></stop><stop offset="100%" style="stop-color: var(--run)"></stop></linearGradient></defs><circle class="progress-ring-bg svelte-dkgmtr" cx="70" cy="70" r="60"></circle><circle class="progress-ring-fill svelte-dkgmtr" cx="70" cy="70" r="60"></circle></svg> <div class="progress-text svelte-dkgmtr"><div class="progress-percent svelte-dkgmtr"> </div> <div class="progress-label svelte-dkgmtr">Complete</div></div></div></div> <div class="stats-grid svelte-dkgmtr"><div class="stat-card svelte-dkgmtr"><div class="stat-value svelte-dkgmtr"> </div> <div class="stat-label svelte-dkgmtr">Weeks</div></div> <div class="stat-card svelte-dkgmtr"><div class="stat-value svelte-dkgmtr"> </div> <div class="stat-label svelte-dkgmtr">Hours</div></div> <div class="stat-card svelte-dkgmtr"><div class="stat-value svelte-dkgmtr"> </div> <div class="stat-label svelte-dkgmtr">Workouts</div></div> <div class="stat-card svelte-dkgmtr"><div class="stat-value svelte-dkgmtr"> </div> <div class="stat-label svelte-dkgmtr">Days Left</div></div></div> <button class="settings-btn svelte-dkgmtr"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-dkgmtr"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg> Settings</button> <div class="export-section svelte-dkgmtr"><!> <div class="export-main svelte-dkgmtr"><button class="export-main-btn svelte-dkgmtr"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-dkgmtr"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg> <div class="export-main-text svelte-dkgmtr"><span class="export-main-title svelte-dkgmtr">Export Plan</span> <span class="export-main-desc svelte-dkgmtr">Calendar, Zwift, Garmin, TrainerRoad</span></div> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg></button> <!></div> <button class="import-help-link svelte-dkgmtr"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-dkgmtr"><circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><line x1="12" y1="17" x2="12.01" y2="17"></line></svg> How to import workouts in training apps</button></div> <div class="sport-stats svelte-dkgmtr"><div class="sport-stats-header svelte-dkgmtr"><h3 class="svelte-dkgmtr">Filter by Sport</h3> <!></div> <!></div> <div class="filters-section svelte-dkgmtr"><h3 class="svelte-dkgmtr">Filter by Status</h3> <div class="filter-group svelte-dkgmtr"></div></div></aside>');function zo(e,s){ys(s,!0);const t=Pe(()=>()=>{let D=0,W=0,U=0;const ee={swim:0,bike:0,run:0,strength:0,brick:0,race:0};return s.plan.weeks?.forEach(he=>{he.days?.forEach(be=>{be.workouts?.forEach(ge=>{ge.sport!=="rest"&&(D++,s.completed[ge.id]&&W++,ge.durationMinutes&&(U+=ge.durationMinutes,ee[ge.sport]!==void 0&&(ee[ge.sport]+=ge.durationMinutes/60)))})})}),{totalWorkouts:D,completedCount:W,totalHours:Math.round(U/60),sportHours:ee,progress:D>0?Math.round(W/D*100):0}}),a=Pe(()=>377-A(t)().progress/100*377),i=Pe(()=>Dl(s.plan.meta?.eventDate??"")),n=Pe(()=>Object.entries(A(t)().sportHours).filter(([D,W])=>W>0).map(([D])=>D));function o(D){s.filters.sport===D?s.onFilterChange({...s.filters,sport:"all"}):s.onFilterChange({...s.filters,sport:D})}function l(D){s.onFilterChange({...s.filters,status:D})}let r=Fe(!1),m=Fe(null);function v(){te(r,!1),te(m,{message:"Exporting calendar...",isError:!1},!0);const D=xo(s.plan);D.success?te(m,{message:`Downloaded ${D.filename}`,isError:!1},!0):te(m,{message:D.error||"Export failed",isError:!0},!0),setTimeout(()=>{te(m,null)},3e3)}async function h(D){te(r,!1),te(m,{message:`Exporting ${D.toUpperCase()} files...`,isError:!1},!0);const W=await Po(s.plan,D,s.settings);W.errors.length===0?te(m,{message:`Exported ${W.exported} workouts (${W.skipped} skipped)`,isError:!1},!0):te(m,{message:`Exported ${W.exported}, ${W.errors.length} errors`,isError:!0},!0),setTimeout(()=>{te(m,null)},4e3)}var d=Oo();let c;var g=B(d),p=B(g),b=B(p),y=L(p,2),w=B(y),F=L(y,2),P=B(F),_=L(g,2),N=B(_),I=B(N),H=L(B(I),2),O=L(I,2),q=B(O),se=B(q),k=L(_,2),j=B(k),f=B(j),K=B(f),ce=L(j,2),Y=B(ce),ye=B(Y),Q=L(ce,2),ne=B(Q),R=B(ne),S=L(Q,2),X=B(S),J=B(X),V=L(k,2),me=L(V,2),Ce=B(me);{var fe=D=>{var W=Ro();let U;var ee=B(W);_e(()=>{U=Ie(W,1,"export-status svelte-dkgmtr",null,U,{error:A(m).isError}),pe(ee,A(m).message)}),oe(D,W)};Ae(Ce,D=>{A(m)&&D(fe)})}var $=L(Ce,2),ie=B($),re=L(B(ie),4);let ve;var Te=L(ie,2);{var u=D=>{var W=Io(),U=B(W),ee=L(U,4),he=L(ee,2),be=L(he,2);le("click",U,v),le("click",ee,()=>h("zwo")),le("click",he,()=>h("fit")),le("click",be,()=>h("mrc")),oe(D,W)};Ae(Te,D=>{A(r)&&D(u)})}var z=L($,2),M=L(me,2),C=B(M),T=L(B(C),2);{var x=D=>{var W=Do();le("click",W,()=>s.onFilterChange({...s.filters,sport:"all"})),oe(D,W)};Ae(T,D=>{s.filters.sport!=="all"&&D(x)})}var G=L(C,2);He(G,17,()=>A(n),es,(D,W)=>{var U=Bo();let ee;var he=B(U),be=B(he),ge=L(he,2),Re=B(ge),Ee=B(Re),Ze=L(Re,2),xe=B(Ze),Xe=L(ge,2);{var Ts=We=>{var Cs=Lo();oe(We,Cs)};Ae(Xe,We=>{s.filters.sport===A(W)&&We(Ts)})}_e((We,Cs,at)=>{ee=Ie(U,1,`sport-stat ${A(W)??""}`,"svelte-dkgmtr",ee,{active:s.filters.sport===A(W)}),Ie(he,1,`sport-icon ${A(W)??""}`,"svelte-dkgmtr"),pe(be,We),pe(Ee,Cs),pe(xe,`${at??""} hours`)},[()=>Dn(A(W)),()=>A(W).charAt(0).toUpperCase()+A(W).slice(1),()=>A(t)().sportHours[A(W)].toFixed(1)]),le("click",U,()=>o(A(W))),oe(D,U)});var Z=L(M,2),E=L(B(Z),2);He(E,20,()=>[["all","All"],["pending","Pending"],["completed","Completed"]],es,(D,W)=>{var U=Pe(()=>qa(W,2));let ee=()=>A(U)[0],he=()=>A(U)[1];var be=Mo();let ge;var Re=B(be);_e(()=>{ge=Ie(be,1,"filter-chip svelte-dkgmtr",null,ge,{active:s.filters.status===ee()}),pe(Re,he())}),le("click",be,()=>l(ee())),oe(D,be)}),_e((D,W,U,ee)=>{c=Ie(d,1,"sidebar svelte-dkgmtr",null,c,{open:s.open}),pe(b,s.plan.meta?.event??"Training Plan"),pe(w,D),pe(P,s.plan.meta?.athlete??"Athlete"),Ta(H,`stroke-dashoffset: ${A(a)??""}`),pe(se,`${W??""}%`),pe(K,s.plan.meta?.totalWeeks??0),pe(ye,U),pe(R,ee),pe(J,A(i)),ve=Ie(re,0,"dropdown-arrow svelte-dkgmtr",null,ve,{open:A(r)})},[()=>Rl(s.plan.meta?.eventDate??""),()=>A(t)().progress,()=>A(t)().totalHours,()=>A(t)().totalWorkouts]),le("click",V,function(...D){s.onSettingsClick?.apply(this,D)}),le("click",ie,()=>te(r,!A(r))),le("click",z,function(...D){s.onImportHelpClick?.apply(this,D)}),oe(e,d),gs()}Rs(["click"]);function No(e){const s={};return e.weeks?.forEach(t=>{t.days?.forEach(a=>{a.workouts?.forEach(i=>{i.completed&&(s[i.id]=!0)})})}),s}function Wo(){const e=document.getElementById("plan-data");if(!e)throw new Error("Plan data not found");return JSON.parse(e.textContent||"{}")}const Ye=Wo();function Uo(){return No(Ye)}const Zn=`plan-${Ye.meta.id}-changes`;function Wa(){return{moved:{},edited:{},deleted:[],added:{}}}function Ho(){const e=localStorage.getItem(Zn);if(!e)return Wa();try{const s=JSON.parse(e);return{moved:s.moved||{},edited:s.edited||{},deleted:s.deleted||[],added:s.added||{}}}catch{return Wa()}}function St(e){localStorage.setItem(Zn,JSON.stringify(e))}function jo(){return`user-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function Go(e,s){const t=s.edited[e.id];return t?{...e,...t}:e}function Ua(e,s){return s.deleted.includes(e)}var Zo=ue('<div class="workout-duration svelte-ynjai0"> </div>'),Ko=ue('<button draggable="true"><div class="workout-sport svelte-ynjai0"> </div> <div class="workout-name svelte-ynjai0"> </div> <!></button>');function qo(e,s){ys(s,!0);let t=Fe(!1);function a(c){te(t,!0),c.dataTransfer.setData("text/plain",s.workout.id),c.dataTransfer.effectAllowed="move"}function i(){te(t,!1)}var n=Ko();let o;var l=B(n),r=B(l),m=L(l,2),v=B(m),h=L(m,2);{var d=c=>{var g=Zo(),p=B(g);_e(b=>pe(p,b),[()=>Ca(s.workout.durationMinutes)]),oe(c,g)};Ae(h,c=>{s.workout.durationMinutes&&c(d)})}_e(()=>{o=Ie(n,1,`workout-card ${s.workout.sport??""}`,"svelte-ynjai0",o,{completed:s.isCompleted,dragging:A(t)}),pe(r,s.workout.sport),pe(v,s.workout.name)}),xs("dragstart",n,a),xs("dragend",n,i),le("click",n,function(...c){s.onClick?.apply(this,c)}),oe(e,n),gs()}Rs(["click"]);var Vo=ue('<div class="empty-day svelte-ldqnzx">Rest</div>'),Jo=ue('<div role="listbox" tabindex="0"><div class="day-header svelte-ldqnzx"><span class="day-name svelte-ldqnzx"> </span> <span class="day-date svelte-ldqnzx"> </span></div> <!> <button class="add-workout-btn svelte-ldqnzx" title="Add workout"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-ldqnzx"><path d="M12 5v14M5 12h14"></path></svg></button></div>'),Yo=ue('<div class="week-card svelte-ldqnzx"><div class="week-header svelte-ldqnzx"><div class="week-title svelte-ldqnzx"><span class="week-number svelte-ldqnzx"> </span> <span> </span> <span class="week-focus svelte-ldqnzx"> </span></div> <div class="week-hours svelte-ldqnzx"><span class="svelte-ldqnzx"> </span> hrs</div></div> <div class="days-grid svelte-ldqnzx"></div></div>');function Xo(e,s){ys(s,!0);let t=Fe(null);const a=Pe(()=>(s.week.phase??"base").toLowerCase());function i(P,_){P.preventDefault(),te(t,_,!0)}function n(){te(t,null)}function o(P,_){P.preventDefault(),te(t,null);const N=P.dataTransfer?.getData("text/plain");N&&s.onDrop(N,_)}var l=Yo(),r=B(l),m=B(r),v=B(m),h=B(v),d=L(v,2),c=B(d),g=L(d,2),p=B(g),b=L(m,2),y=B(b),w=B(y),F=L(r,2);He(F,21,()=>s.fullWeek,P=>P.date,(P,_)=>{const N=Pe(()=>A(_).date===s.today),I=Pe(()=>(A(_).workouts??[]).filter(s.filterWorkout)),H=Pe(()=>A(t)===A(_).date);var O=Jo();let q;var se=B(O),k=B(se),j=B(k),f=L(k,2),K=B(f),ce=L(se,2);{var Y=ne=>{var R=ul(),S=ss(R);He(S,17,()=>A(I),X=>X.id,(X,J)=>{{let V=Pe(()=>!!s.completed[A(J).id]);qo(X,{get workout(){return A(J)},get day(){return A(_)},get settings(){return s.settings},get isCompleted(){return A(V)},onClick:()=>s.onWorkoutClick(A(J),A(_))})}}),oe(ne,R)},ye=ne=>{var R=Vo();oe(ne,R)};Ae(ce,ne=>{A(I).length>0?ne(Y):A(_).workouts.length===0&&ne(ye,1)})}var Q=L(ce,2);_e((ne,R)=>{q=Ie(O,1,"day-column svelte-ldqnzx",null,q,{today:A(N),"drag-over":A(H)}),pe(j,ne),pe(K,R)},[()=>A(_).dayOfWeek.slice(0,3),()=>Ut(A(_).date).getDate()]),xs("dragover",O,ne=>i(ne,A(_).date)),xs("dragleave",O,n),xs("drop",O,ne=>o(ne,A(_).date)),le("click",Q,()=>s.onAddWorkout(A(_))),oe(P,O)}),_e(()=>{Ta(l,`animation-delay: ${s.animationDelay??""}s`),pe(h,`W${s.week.weekNumber??""}`),Ie(d,1,`week-phase ${A(a)??""}`,"svelte-ldqnzx"),pe(c,s.week.phase??"Base"),pe(p,s.week.focus??""),pe(w,s.week.targetHours??0)}),oe(e,l),gs()}Rs(["click"]);var Qo=ue('<button><span class="phase-label svelte-aq400f"> </span></button>'),$o=ue("<div><!></div>"),er=ue('<div class="phase-timeline svelte-aq400f"></div> <div class="weeks-container svelte-aq400f"></div>',1);function sr(e,s){ys(s,!0);const t=Bl();function a(h,d){return s.changes.moved[h]||d}function i(h){const d=Ll(s.settings.firstDayOfWeek),c=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],g={};h.days?.forEach(_=>{g[_.dayOfWeek]=_});const p=h.days?.[0];if(!p)return d.map(_=>({date:"",dayOfWeek:_,workouts:[]}));const b=Ut(p.date),y=c.indexOf(p.dayOfWeek);function w(_){let I=c.indexOf(_)-y;I<-3&&(I+=7),I>3&&(I-=7);const H=new Date(b);return H.setDate(H.getDate()+I),In(H)}const F=d.map(_=>{const N=g[_];return N?N.date:w(_)}),P={};return F.forEach(_=>P[_]=[]),s.plan.weeks?.forEach(_=>{_.days?.forEach(N=>{N.workouts?.forEach(I=>{if(Ua(I.id,s.changes))return;const H=a(I.id,N.date);if(F.includes(H)){const O=Go(I,s.changes);P[H].push(O)}})})}),Object.entries(s.changes.added??{}).forEach(([_,{date:N,workout:I}])=>{F.includes(N)&&!Ua(_,s.changes)&&P[N].push(I)}),d.map((_,N)=>{const I=F[N];return{date:I,dayOfWeek:_,workouts:P[I]||[]}})}function n(h){return!(s.filters.sport!=="all"&&h.sport!==s.filters.sport||s.filters.status==="completed"&&!s.completed[h.id]||s.filters.status==="pending"&&s.completed[h.id])}function o(h){if(s.changes.added?.[h])return s.changes.added[h].date;for(const d of s.plan.weeks??[])for(const c of d.days??[])for(const g of c.workouts??[])if(g.id===h)return c.date;return""}function l(h,d){const c=o(h);s.onWorkoutMove(h,c,d)}var r=er(),m=ss(r);He(m,21,()=>s.plan.phases??[],es,(h,d)=>{const c=Pe(()=>A(d).endWeek-A(d).startWeek+1),g=Pe(()=>A(d).name.toLowerCase());var p=Qo(),b=B(p),y=B(b);_e(()=>{Ie(p,1,`phase-segment ${A(g)??""}`,"svelte-aq400f"),Ta(p,`flex: ${A(c)??""}`),pe(y,A(d).name)}),le("click",p,()=>{document.querySelector(`[data-week="${A(d).startWeek}"]`)?.scrollIntoView({behavior:"smooth",block:"start"})}),oe(h,p)});var v=L(m,2);He(v,23,()=>s.plan.weeks??[],h=>h.weekNumber,(h,d,c)=>{var g=$o(),p=B(g);{let b=Pe(()=>i(A(d))),y=Pe(()=>A(c)*.05);Xo(p,{get week(){return A(d)},get fullWeek(){return A(b)},get settings(){return s.settings},get today(){return t},get completed(){return s.completed},filterWorkout:n,get onWorkoutClick(){return s.onWorkoutClick},onDrop:l,get onAddWorkout(){return s.onAddWorkout},get animationDelay(){return A(y)}})}_e(()=>Fl(g,"data-week",A(d).weekNumber)),oe(h,g)}),oe(e,r),gs()}Rs(["click"]);var tr=ue('<div><div> </div> <h2 class="modal-title svelte-12rtkin"> </h2> <div class="modal-date svelte-12rtkin"> </div></div>'),ar=ue('<div><h2 class="modal-title svelte-12rtkin"> </h2> <div class="modal-date svelte-12rtkin"> </div></div>'),nr=ue('<div class="modal-stat svelte-12rtkin"><div class="modal-stat-value svelte-12rtkin"> </div> <div class="modal-stat-label svelte-12rtkin">Duration</div></div>'),ir=ue('<div class="modal-stat svelte-12rtkin"><div class="modal-stat-value svelte-12rtkin"> </div> <div class="modal-stat-label svelte-12rtkin">Distance</div></div>'),lr=ue('<div class="modal-stat svelte-12rtkin"><div class="modal-stat-value svelte-12rtkin"> </div> <div class="modal-stat-label svelte-12rtkin">Target Zone</div></div>'),or=ue('<div class="modal-section svelte-12rtkin"><h4 class="modal-section-title svelte-12rtkin">Description</h4> <p class="modal-description svelte-12rtkin"> </p></div>'),rr=ue('<div class="modal-section svelte-12rtkin"><h4 class="modal-section-title svelte-12rtkin">Workout Structure</h4> <pre class="workout-structure svelte-12rtkin"> </pre></div>'),ur=ue('<div class="modal-stats svelte-12rtkin"><!> <!> <!></div> <!> <!>',1),Ha=ue("<option> </option>"),cr=ue('<div class="form-grid svelte-12rtkin"><div class="form-row svelte-12rtkin"><label class="form-label svelte-12rtkin" for="edit-sport">Sport</label> <select id="edit-sport" class="form-select svelte-12rtkin"></select></div> <div class="form-row svelte-12rtkin"><label class="form-label svelte-12rtkin" for="edit-type">Type</label> <select id="edit-type" class="form-select svelte-12rtkin"></select></div></div> <div class="form-row full svelte-12rtkin"><label class="form-label svelte-12rtkin" for="edit-name">Name</label> <input id="edit-name" type="text" class="form-input svelte-12rtkin" placeholder="Easy Run"/></div> <div class="form-row full svelte-12rtkin"><label class="form-label svelte-12rtkin" for="edit-description">Description</label> <textarea id="edit-description" class="form-textarea svelte-12rtkin" placeholder="Conversational pace, focus on form" rows="2"></textarea></div> <div class="form-grid svelte-12rtkin"><div class="form-row svelte-12rtkin"><label class="form-label svelte-12rtkin" for="edit-duration">Duration (minutes)</label> <input id="edit-duration" type="number" class="form-input svelte-12rtkin" placeholder="60"/></div> <div class="form-row svelte-12rtkin"><label class="form-label svelte-12rtkin" for="edit-distance">Distance (meters)</label> <input id="edit-distance" type="number" class="form-input svelte-12rtkin" placeholder="10000"/></div></div> <div class="form-row full svelte-12rtkin"><label class="form-label svelte-12rtkin" for="edit-zone">Target Zone</label> <input id="edit-zone" type="text" class="form-input svelte-12rtkin" placeholder="Zone 2"/></div> <div class="form-row full svelte-12rtkin"><label class="form-label svelte-12rtkin" for="edit-structure">Workout Structure</label> <textarea id="edit-structure" class="form-textarea mono svelte-12rtkin" placeholder="Warm-up: 10min easy Main: 4x1km @ threshold Cool-down: 10min easy" rows="5"></textarea></div>',1),mr=ue('<button class="export-option svelte-12rtkin"><span class="export-icon svelte-12rtkin">Z</span> <div class="export-info svelte-12rtkin"><div class="export-name svelte-12rtkin">Zwift (.zwo)</div> <div class="export-desc svelte-12rtkin">For Zwift indoor training</div></div></button>'),fr=ue('<button class="export-option svelte-12rtkin"><span class="export-icon svelte-12rtkin">G</span> <div class="export-info svelte-12rtkin"><div class="export-name svelte-12rtkin">Garmin (.fit)</div> <div class="export-desc svelte-12rtkin">For Garmin Connect</div></div></button>'),pr=ue('<button class="export-option svelte-12rtkin"><span class="export-icon svelte-12rtkin">E</span> <div class="export-info svelte-12rtkin"><div class="export-name svelte-12rtkin">ERG/MRC (.mrc)</div> <div class="export-desc svelte-12rtkin">For TrainerRoad, etc.</div></div></button>'),dr=ue('<div class="export-menu svelte-12rtkin"><!> <!> <!> <div class="export-divider svelte-12rtkin"></div> <button class="export-help-link svelte-12rtkin"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-12rtkin"><circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><line x1="12" y1="17" x2="12.01" y2="17"></line></svg> How to import files</button></div>'),hr=ue('<div class="export-dropdown svelte-12rtkin"><button class="icon-btn export svelte-12rtkin" title="Export"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-12rtkin"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg></button> <!></div>'),br=ue("<div> </div>"),yr=ue('<div class="complete-status done svelte-12rtkin" title="Recorded as completed in your plan"><span>✓</span> Completed</div>'),gr=ue('<div class="complete-status pending svelte-12rtkin" title="Your coach records this from synced activity data">Not yet completed</div>'),vr=ue('<div class="footer-left svelte-12rtkin"><button class="icon-btn edit svelte-12rtkin" title="Edit"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-12rtkin"><path d="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"></path><path d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"></path></svg></button> <button class="icon-btn delete svelte-12rtkin" title="Delete"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-12rtkin"><path d="M3 6h18M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"></path></svg></button> <!></div> <div class="footer-right svelte-12rtkin"><!> <!></div>',1),Tr=ue('<button class="cancel-btn svelte-12rtkin">Cancel</button> <button class="save-btn svelte-12rtkin"> </button>',1),Cr=ue('<div class="confirm-overlay svelte-12rtkin"><div class="confirm-dialog svelte-12rtkin"><p class="svelte-12rtkin">Delete this workout?</p> <div class="confirm-actions svelte-12rtkin"><button class="cancel-btn svelte-12rtkin">Cancel</button> <button class="delete-btn svelte-12rtkin">Delete</button></div></div></div>'),wr=ue('<div class="modal-overlay active svelte-12rtkin" role="dialog" aria-modal="true" tabindex="-1"><div class="modal svelte-12rtkin"><div class="modal-header svelte-12rtkin"><!> <button class="modal-close svelte-12rtkin">×</button></div> <div class="modal-body svelte-12rtkin"><!></div> <div class="modal-footer svelte-12rtkin"><!></div> <!></div></div>');function Ar(e,s){ys(s,!0);let t=Ba(s,"mode",3,"view"),a=Ba(s,"isCompleted",3,!1),i=Fe(Oe(Je(()=>t()))),n=Fe(!1),o=Fe(!1),l=Fe(null),r=Fe(Oe(Je(()=>s.workout?.sport||"run"))),m=Fe(Oe(Je(()=>s.workout?.type||"endurance"))),v=Fe(Oe(Je(()=>s.workout?.name||""))),h=Fe(Oe(Je(()=>s.workout?.description||""))),d=Fe(Oe(Je(()=>s.workout?.durationMinutes?.toString()||""))),c=Fe(Oe(Je(()=>s.workout?.distanceMeters?.toString()||""))),g=Fe(Oe(Je(()=>s.workout?.primaryZone||""))),p=Fe(Oe(Je(()=>s.workout?.humanReadable||"")));const b=["swim","bike","run","strength","brick","race","rest"],y=["rest","recovery","endurance","tempo","threshold","intervals","vo2max","sprint","race","brick","technique","openwater","hills","long"];function w($){$.key==="Escape"&&(A(n)?te(n,!1):A(i)!=="view"?(te(i,(s.workout,"view"),!0),s.workout||s.onClose()):s.onClose())}function F($){$.target.classList.contains("modal-overlay")&&s.onClose()}function P(){te(r,s.workout?.sport||"run",!0),te(m,s.workout?.type||"endurance",!0),te(v,s.workout?.name||"",!0),te(h,s.workout?.description||"",!0),te(d,s.workout?.durationMinutes?.toString()||"",!0),te(c,s.workout?.distanceMeters?.toString()||"",!0),te(g,s.workout?.primaryZone||"",!0),te(p,s.workout?.humanReadable||"",!0),te(i,"edit")}function _(){t()==="create"?s.onClose():te(i,"view")}function N(){const $={sport:A(r),type:A(m),name:A(v),description:A(h),durationMinutes:A(d)?parseInt(A(d)):void 0,distanceMeters:A(c)?parseInt(A(c)):void 0,primaryZone:A(g)||void 0,humanReadable:A(p)||void 0};s.onSave($),t()!=="create"&&te(i,"view")}function I(){s.workout&&s.onDelete(s.workout.id)}async function H($){if(!s.workout)return;te(o,!1),te(l,{message:"Exporting...",isError:!1},!0);const ie=await _o(s.workout,$,s.settings);ie.success?te(l,{message:`Downloaded ${ie.filename}`,isError:!1},!0):te(l,{message:ie.error||"Export failed",isError:!0},!0),setTimeout(()=>{te(l,null)},3e3)}const O=Pe(()=>s.workout?So(s.workout.sport):[]),q=Pe(()=>A(O).length>0),se=Pe(()=>s.workout||{id:"",sport:A(r),type:A(m),name:A(v),description:A(h),durationMinutes:A(d)?parseInt(A(d)):void 0,distanceMeters:A(c)?parseInt(A(c)):void 0,primaryZone:A(g),humanReadable:A(p),completed:!1});var k=wr();xs("keydown",dt,w);var j=B(k),f=B(j),K=B(f);{var ce=$=>{var ie=tr(),re=B(ie),ve=B(re),Te=L(re,2),u=B(Te),z=L(Te,2),M=B(z);_e((C,T)=>{Ie(re,1,`modal-sport-badge ${A(se).sport??""}`,"svelte-12rtkin"),pe(ve,C),pe(u,A(se).name),pe(M,T)},[()=>A(se).sport.toUpperCase(),()=>Ma(s.day.date)]),oe($,ie)},Y=$=>{var ie=ar(),re=B(ie),ve=B(re),Te=L(re,2),u=B(Te);_e(z=>{pe(ve,A(i)==="create"?"New Workout":"Edit Workout"),pe(u,z)},[()=>Ma(s.day.date)]),oe($,ie)};Ae(K,$=>{A(i)==="view"?$(ce):$(Y,-1)})}var ye=L(K,2),Q=L(f,2),ne=B(Q);{var R=$=>{var ie=ur(),re=ss(ie),ve=B(re);{var Te=E=>{var D=nr(),W=B(D),U=B(W);_e(ee=>pe(U,ee),[()=>Ca(A(se).durationMinutes)]),oe(E,D)};Ae(ve,E=>{A(se).durationMinutes&&E(Te)})}var u=L(ve,2);{var z=E=>{var D=ir(),W=B(D),U=B(W);_e(ee=>pe(U,ee),[()=>Pl(A(se).distanceMeters,A(se).sport,s.settings)]),oe(E,D)};Ae(u,E=>{A(se).distanceMeters&&E(z)})}var M=L(u,2);{var C=E=>{var D=lr(),W=B(D),U=B(W);_e(ee=>pe(U,ee),[()=>Il(A(se).sport,A(se).primaryZone,s.settings)]),oe(E,D)};Ae(M,E=>{A(se).primaryZone&&E(C)})}var T=L(re,2);{var x=E=>{var D=or(),W=L(B(D),2),U=B(W);_e(()=>pe(U,A(se).description)),oe(E,D)};Ae(T,E=>{A(se).description&&E(x)})}var G=L(T,2);{var Z=E=>{var D=rr(),W=L(B(D),2),U=B(W);_e(ee=>pe(U,ee),[()=>A(se).humanReadable.replace(/\\n/g,`
38
+ `)]),oe(E,D)};Ae(G,E=>{A(se).humanReadable&&E(Z)})}oe($,ie)},S=$=>{var ie=cr(),re=ss(ie),ve=B(re),Te=L(B(ve),2);He(Te,21,()=>b,es,(ge,Re)=>{var Ee=Ha(),Ze=B(Ee),xe={};_e(Xe=>{pe(Ze,Xe),xe!==(xe=A(Re))&&(Ee.value=(Ee.__value=A(Re))??"")},[()=>A(Re).charAt(0).toUpperCase()+A(Re).slice(1)]),oe(ge,Ee)});var u=L(ve,2),z=L(B(u),2);He(z,21,()=>y,es,(ge,Re)=>{var Ee=Ha(),Ze=B(Ee),xe={};_e(Xe=>{pe(Ze,Xe),xe!==(xe=A(Re))&&(Ee.value=(Ee.__value=A(Re))??"")},[()=>A(Re).charAt(0).toUpperCase()+A(Re).slice(1)]),oe(ge,Ee)});var M=L(re,2),C=L(B(M),2),T=L(M,2),x=L(B(T),2),G=L(T,2),Z=B(G),E=L(B(Z),2),D=L(Z,2),W=L(B(D),2),U=L(G,2),ee=L(B(U),2),he=L(U,2),be=L(B(he),2);Hs(Te,()=>A(r),ge=>te(r,ge)),Hs(z,()=>A(m),ge=>te(m,ge)),Me(C,()=>A(v),ge=>te(v,ge)),Me(x,()=>A(h),ge=>te(h,ge)),Me(E,()=>A(d),ge=>te(d,ge)),Me(W,()=>A(c),ge=>te(c,ge)),Me(ee,()=>A(g),ge=>te(g,ge)),Me(be,()=>A(p),ge=>te(p,ge)),oe($,ie)};Ae(ne,$=>{A(i)==="view"?$(R):$(S,-1)})}var X=L(Q,2),J=B(X);{var V=$=>{var ie=vr(),re=ss(ie),ve=B(re),Te=L(ve,2),u=L(Te,2);{var z=E=>{var D=hr(),W=B(D),U=L(W,2);{var ee=he=>{var be=dr(),ge=B(be);{var Re=Ue=>{var cs=mr();le("click",cs,()=>H("zwo")),oe(Ue,cs)},Ee=Pe(()=>et(A(se).sport));Ae(ge,Ue=>{A(Ee)&&Ue(Re)})}var Ze=L(ge,2);{var xe=Ue=>{var cs=fr();le("click",cs,()=>H("fit")),oe(Ue,cs)},Xe=Pe(()=>st(A(se).sport));Ae(Ze,Ue=>{A(Xe)&&Ue(xe)})}var Ts=L(Ze,2);{var We=Ue=>{var cs=pr();le("click",cs,()=>H("mrc")),oe(Ue,cs)},Cs=Pe(()=>tt(A(se).sport));Ae(Ts,Ue=>{A(Cs)&&Ue(We)})}var at=L(Ts,4);le("click",at,function(...Ue){s.onImportHelpClick?.apply(this,Ue)}),oe(he,be)};Ae(U,he=>{A(o)&&he(ee)})}le("click",W,()=>te(o,!A(o))),oe(E,D)};Ae(u,E=>{A(q)&&E(z)})}var M=L(re,2),C=B(M);{var T=E=>{var D=br();let W;var U=B(D);_e(()=>{W=Ie(D,1,"export-status svelte-12rtkin",null,W,{error:A(l).isError}),pe(U,A(l).message)}),oe(E,D)};Ae(C,E=>{A(l)&&E(T)})}var x=L(C,2);{var G=E=>{var D=yr();oe(E,D)},Z=E=>{var D=gr();oe(E,D)};Ae(x,E=>{a()?E(G):E(Z,-1)})}le("click",ve,P),le("click",Te,()=>te(n,!0)),oe($,ie)},me=$=>{var ie=Tr(),re=ss(ie),ve=L(re,2),Te=B(ve);_e(()=>{ve.disabled=!A(v),pe(Te,A(i)==="create"?"Add Workout":"Save Changes")}),le("click",re,_),le("click",ve,N),oe($,ie)};Ae(J,$=>{A(i)==="view"?$(V):$(me,-1)})}var Ce=L(X,2);{var fe=$=>{var ie=Cr(),re=B(ie),ve=L(B(re),2),Te=B(ve),u=L(Te,2);le("click",Te,()=>te(n,!1)),le("click",u,I),oe($,ie)};Ae(Ce,$=>{A(n)&&$(fe)})}le("click",k,F),le("keydown",k,w),le("click",ye,function(...$){s.onClose?.apply(this,$)}),oe(e,k),gs()}Rs(["click","keydown"]);const Fr={theme:"dark",units:{swim:"meters",bike:"kilometers",run:"kilometers"},firstDayOfWeek:"monday",run:{lthr:165,hrZones:[{zone:1,name:"Recovery",low:0,high:134},{zone:2,name:"Aerobic",low:134,high:147},{zone:3,name:"Tempo",low:147,high:156},{zone:4,name:"Threshold",low:156,high:165},{zone:5,name:"VO2max",low:165,high:180}],thresholdPace:"4:30",paceZones:[{zone:"E",name:"Easy",pace:"5:20"},{zone:"M",name:"Marathon",pace:"4:50"},{zone:"T",name:"Threshold",pace:"4:30"},{zone:"I",name:"Interval",pace:"4:00"},{zone:"R",name:"Repetition",pace:"3:40"}]},bike:{lthr:160,hrZones:[{zone:1,name:"Recovery",low:0,high:130},{zone:2,name:"Aerobic",low:130,high:142},{zone:3,name:"Tempo",low:142,high:151},{zone:4,name:"Threshold",low:151,high:160},{zone:5,name:"VO2max",low:160,high:175}],ftp:200,powerZones:[{zone:1,name:"Active Recovery",low:0,high:110},{zone:2,name:"Endurance",low:110,high:150},{zone:3,name:"Tempo",low:150,high:180},{zone:4,name:"Threshold",low:180,high:210},{zone:5,name:"VO2max",low:210,high:240}]},swim:{css:"1:50",cssSeconds:110,paceZones:[{zone:1,name:"Recovery",offset:20,pace:"2:10"},{zone:2,name:"Aerobic",offset:10,pace:"2:00"},{zone:3,name:"Tempo",offset:5,pace:"1:55"},{zone:4,name:"Threshold",offset:0,pace:"1:50"},{zone:5,name:"VO2max",offset:-5,pace:"1:45"}]}},Kn=`plan-${Ye.meta.id}-settings`;function kr(){const e=JSON.parse(JSON.stringify(Fr));Ye.preferences&&(e.units.swim=Ye.preferences.swim||e.units.swim,e.units.bike=Ye.preferences.bike||e.units.bike,e.units.run=Ye.preferences.run||e.units.run,e.firstDayOfWeek=Ye.preferences.firstDayOfWeek||e.firstDayOfWeek);const s=Ye.zones;s?.run?.hr&&(e.run.lthr=s.run.hr.lthr,s.run.hr.zones&&(e.run.hrZones=s.run.hr.zones.map(a=>({zone:a.zone,name:a.name,low:a.hrLow,high:a.hrHigh})))),s?.run?.pace&&(e.run.thresholdPace=s.run.pace.thresholdPace||e.run.thresholdPace,s.run.pace.zones&&(e.run.paceZones=s.run.pace.zones.map(a=>({zone:a.zone,name:a.name,pace:a.pace})))),s?.bike?.hr&&(e.bike.lthr=s.bike.hr.lthr,s.bike.hr.zones&&(e.bike.hrZones=s.bike.hr.zones.map(a=>({zone:a.zone,name:a.name,low:a.hrLow,high:a.hrHigh})))),s?.bike?.power&&(e.bike.ftp=s.bike.power.ftp,s.bike.power.zones&&(e.bike.powerZones=s.bike.power.zones.map(a=>({zone:a.zone,name:a.name,low:a.wattsLow,high:a.wattsHigh})))),s?.swim&&(e.swim.css=s.swim.css||e.swim.css,e.swim.cssSeconds=s.swim.cssSeconds||e.swim.cssSeconds,s.swim.zones&&(e.swim.paceZones=s.swim.zones.map(a=>({zone:a.zone,name:a.name,offset:a.paceOffset,pace:a.pace}))));const t=localStorage.getItem(Kn);if(t){const a=JSON.parse(t);a.theme&&(e.theme=a.theme),a.units&&(e.units={...e.units,...a.units}),a.firstDayOfWeek&&(e.firstDayOfWeek=a.firstDayOfWeek),a.run&&(e.run={...e.run,...a.run}),a.bike&&(e.bike={...e.bike,...a.bike}),a.swim&&(e.swim={...e.swim,...a.swim})}return e}function Sr(e){localStorage.setItem(Kn,JSON.stringify(e))}function qn(e){if(!e)return 0;const s=e.split(":");return parseInt(s[0]??"0")*60+parseInt(s[1]??"0")}function Vn(e){const s=Math.floor(e/60),t=Math.round(e%60);return`${s}:${t.toString().padStart(2,"0")}`}function _r(e){return[{zone:1,name:"Recovery",lowPct:0,highPct:81},{zone:2,name:"Aerobic",lowPct:81,highPct:89},{zone:3,name:"Tempo",lowPct:89,highPct:94},{zone:4,name:"Threshold",lowPct:94,highPct:100},{zone:5,name:"VO2max",lowPct:100,highPct:106}].map(t=>({zone:t.zone,name:t.name,low:Math.round(e*t.lowPct/100),high:Math.round(e*t.highPct/100)}))}function xr(e){return[{zone:1,name:"Active Recovery",lowPct:0,highPct:55},{zone:2,name:"Endurance",lowPct:55,highPct:75},{zone:3,name:"Tempo",lowPct:75,highPct:90},{zone:4,name:"Threshold",lowPct:90,highPct:105},{zone:5,name:"VO2max",lowPct:105,highPct:120}].map(t=>({zone:t.zone,name:t.name,low:Math.round(e*t.lowPct/100),high:Math.round(e*t.highPct/100)}))}function Er(e){const s=qn(e);return[{zone:"E",name:"Easy",factor:1.18},{zone:"M",name:"Marathon",factor:1.07},{zone:"T",name:"Threshold",factor:1},{zone:"I",name:"Interval",factor:.89},{zone:"R",name:"Repetition",factor:.82}].map(a=>({zone:a.zone,name:a.name,pace:Vn(Math.round(s*a.factor))}))}function Pr(e){const s=qn(e);return[{zone:1,name:"Recovery",offset:20},{zone:2,name:"Aerobic",offset:10},{zone:3,name:"Tempo",offset:5},{zone:4,name:"Threshold",offset:0},{zone:5,name:"VO2max",offset:-5}].map(a=>({zone:a.zone,name:a.name,offset:a.offset,pace:Vn(s+a.offset)}))}const Rr="0.3.0";var Ir=ue("<button> </button>"),Dr=ue('<div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Appearance</h4> <div class="theme-toggle svelte-1uhipit"><button><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-1uhipit"><circle cx="12" cy="12" r="5"></circle><path d="M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42"></path></svg> Light</button> <button><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-1uhipit"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path></svg> Dark</button></div></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Distance Units</h4> <div class="settings-row svelte-1uhipit"><span class="settings-label svelte-1uhipit">Swim</span> <select class="settings-select svelte-1uhipit"><option>Meters</option><option>Yards</option></select></div> <div class="settings-row svelte-1uhipit"><span class="settings-label svelte-1uhipit">Bike</span> <select class="settings-select svelte-1uhipit"><option>Kilometers</option><option>Miles</option></select></div> <div class="settings-row svelte-1uhipit"><span class="settings-label svelte-1uhipit">Run</span> <select class="settings-select svelte-1uhipit"><option>Kilometers</option><option>Miles</option></select></div></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Calendar</h4> <div class="settings-row svelte-1uhipit"><span class="settings-label svelte-1uhipit">First day of week</span> <select class="settings-select svelte-1uhipit"><option>Monday</option><option>Sunday</option></select></div></div>',1),Jt=ue('<div class="zone-row svelte-1uhipit"><span> </span> <span class="zone-name svelte-1uhipit"> </span> <input type="number" class="zone-input svelte-1uhipit"/> <input type="number" class="zone-input svelte-1uhipit"/></div>'),Lr=ue('<div class="zone-row svelte-1uhipit"><span> </span> <span class="zone-name svelte-1uhipit"> </span> <input type="text" class="pace-input svelte-1uhipit"/></div>'),Br=ue('<div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Heart Rate Zones</h4> <div class="threshold-row svelte-1uhipit"><span class="threshold-label svelte-1uhipit">Run LTHR</span> <input type="number" class="threshold-input svelte-1uhipit" min="100" max="220"/> <button class="recalc-btn svelte-1uhipit">Recalculate</button></div> <div class="zones-grid svelte-1uhipit"><div class="zone-row header svelte-1uhipit"><span>Zone</span><span>Name</span><span>Low</span><span>High</span></div> <!></div> <details class="help-details svelte-1uhipit"><summary class="svelte-1uhipit">How to find your LTHR</summary> <div class="help-content svelte-1uhipit"><p class="svelte-1uhipit"><strong>30-Minute Test:</strong></p> <ol class="svelte-1uhipit"><li class="svelte-1uhipit">Warm up for 15 minutes</li> <li class="svelte-1uhipit">Run as hard as you can sustain for 30 minutes</li> <li class="svelte-1uhipit">Your average HR for the last 20 minutes is your LTHR</li></ol></div></details></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Pace Zones</h4> <div class="threshold-row svelte-1uhipit"><span class="threshold-label svelte-1uhipit">Threshold Pace</span> <input type="text" class="threshold-input svelte-1uhipit" placeholder="4:30"/> <button class="recalc-btn svelte-1uhipit">Recalculate</button></div> <div class="zones-grid svelte-1uhipit"><div class="zone-row header svelte-1uhipit"><span>Zone</span><span>Name</span><span colspan="2">Pace/km</span></div> <!></div> <details class="help-details svelte-1uhipit"><summary class="svelte-1uhipit">How to find your Threshold Pace</summary> <div class="help-content svelte-1uhipit"><p class="svelte-1uhipit"><strong>Option 1: Race-Based</strong></p> <ul class="svelte-1uhipit"><li class="svelte-1uhipit">Recent 5K race pace + 15-20 sec/km</li> <li class="svelte-1uhipit">Recent 10K race pace + 5-10 sec/km</li></ul> <p class="svelte-1uhipit"><strong>Option 2: 30-Minute Test</strong></p> <p class="svelte-1uhipit">Run 30 minutes at max sustainable effort. Average pace = threshold.</p></div></details></div>',1),Mr=ue('<div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Heart Rate Zones</h4> <div class="threshold-row svelte-1uhipit"><span class="threshold-label svelte-1uhipit">Bike LTHR</span> <input type="number" class="threshold-input svelte-1uhipit" min="100" max="220"/> <button class="recalc-btn svelte-1uhipit">Recalculate</button></div> <div class="zones-grid svelte-1uhipit"><div class="zone-row header svelte-1uhipit"><span>Zone</span><span>Name</span><span>Low</span><span>High</span></div> <!></div> <details class="help-details svelte-1uhipit"><summary class="svelte-1uhipit">How to find your LTHR</summary> <div class="help-content svelte-1uhipit"><p class="svelte-1uhipit"><strong>30-Minute Test:</strong></p> <ol class="svelte-1uhipit"><li class="svelte-1uhipit">Warm up for 15 minutes</li> <li class="svelte-1uhipit">Bike as hard as you can sustain for 30 minutes</li> <li class="svelte-1uhipit">Your average HR for the last 20 minutes is your LTHR</li></ol> <p class="help-note svelte-1uhipit">Bike LTHR is typically 5-10 bpm lower than run.</p></div></details></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Power Zones</h4> <div class="threshold-row svelte-1uhipit"><span class="threshold-label svelte-1uhipit">FTP (watts)</span> <input type="number" class="threshold-input svelte-1uhipit" min="50" max="500"/> <button class="recalc-btn svelte-1uhipit">Recalculate</button></div> <div class="zones-grid svelte-1uhipit"><div class="zone-row header svelte-1uhipit"><span>Zone</span><span>Name</span><span>Low W</span><span>High W</span></div> <!></div> <details class="help-details svelte-1uhipit"><summary class="svelte-1uhipit">How to find your FTP</summary> <div class="help-content svelte-1uhipit"><p class="svelte-1uhipit"><strong>20-Minute Test:</strong></p> <ol class="svelte-1uhipit"><li class="svelte-1uhipit">Warm up for 20 minutes including a few hard efforts</li> <li class="svelte-1uhipit">Ride as hard as you can sustain for 20 minutes</li> <li class="svelte-1uhipit">FTP = Average power × 0.95</li></ol> <p class="svelte-1uhipit"><strong>Ramp Test:</strong> Most trainer apps (Zwift, TrainerRoad) have built-in FTP tests.</p></div></details></div>',1),Or=ue('<div class="zone-row svelte-1uhipit"><span> </span> <span class="zone-name svelte-1uhipit"> </span> <span class="zone-name svelte-1uhipit"> </span> <input type="text" class="pace-input svelte-1uhipit"/></div>'),zr=ue('<div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Pace Zones</h4> <div class="threshold-row svelte-1uhipit"><span class="threshold-label svelte-1uhipit">CSS (per 100m)</span> <input type="text" class="threshold-input svelte-1uhipit" placeholder="1:45"/> <button class="recalc-btn svelte-1uhipit">Recalculate</button></div> <div class="zones-grid svelte-1uhipit"><div class="zone-row header svelte-1uhipit"><span>Zone</span><span>Name</span><span>Offset</span><span>Pace/100</span></div> <!></div> <details class="help-details svelte-1uhipit"><summary class="svelte-1uhipit">How to find your CSS</summary> <div class="help-content svelte-1uhipit"><p class="svelte-1uhipit"><strong>CSS Test (Critical Swim Speed):</strong></p> <ol class="svelte-1uhipit"><li class="svelte-1uhipit">Warm up for 10 minutes</li> <li class="svelte-1uhipit">Swim 400m all-out, record time (T400)</li> <li class="svelte-1uhipit">Rest 5-10 minutes</li> <li class="svelte-1uhipit">Swim 200m all-out, record time (T200)</li> <li class="svelte-1uhipit">CSS = (T400 - T200) ÷ 2 = pace per 100m</li></ol> <p class="svelte-1uhipit"><strong>Example:</strong> 400m in 6:40 (400s), 200m in 3:00 (180s)<br/> CSS = (400 - 180) ÷ 2 = 110 sec/100m = 1:50/100m</p></div></details></div>'),Nr=ue("<div> </div>"),Wr=ue(`<div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Your Data</h4> <div class="data-explainer svelte-1uhipit"><p class="svelte-1uhipit">Your training data is stored <strong>only on this device</strong>, in your browser's
39
39
  local storage. This includes your settings, completed workouts, and any changes you've
40
40
  made to your plan.</p> <p class="svelte-1uhipit">If you clear your browser data, switch browsers, or use a different device, your
41
41
  progress won't be there. Use the backup feature below to save your data and restore it
42
- later.</p></div></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Import to Other Apps</h4> <div class="data-action svelte-1uhipit"><div class="data-action-info svelte-1uhipit"><span class="data-action-title svelte-1uhipit">Import Help</span> <span class="data-action-desc svelte-1uhipit">Learn how to import exported workouts into Zwift, Garmin, TrainerRoad, and more.</span></div> <button class="data-btn help svelte-1uhipit"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-1uhipit"><circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><line x1="12" y1="17" x2="12.01" y2="17"></line></svg> View Guide</button></div></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Backup & Restore</h4> <div class="data-action svelte-1uhipit"><div class="data-action-info svelte-1uhipit"><span class="data-action-title svelte-1uhipit">Export Backup</span> <span class="data-action-desc svelte-1uhipit">Download a file containing all your data. Keep it somewhere safe.</span></div> <button class="data-btn export svelte-1uhipit"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-1uhipit"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg> Export</button></div> <div class="data-action svelte-1uhipit"><div class="data-action-info svelte-1uhipit"><span class="data-action-title svelte-1uhipit">Import Backup</span> <span class="data-action-desc svelte-1uhipit">Restore from a backup file. This will replace your current data.</span></div> <button class="data-btn import svelte-1uhipit"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-1uhipit"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="17 8 12 3 7 8"></polyline><line x1="12" y1="3" x2="12" y2="15"></line></svg> Import</button> <input type="file" accept=".json" style="display: none"/></div> <!></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Danger Zone</h4> <div class="data-action danger svelte-1uhipit"><div class="data-action-info svelte-1uhipit"><span class="data-action-title svelte-1uhipit">Clear All Data</span> <span class="data-action-desc svelte-1uhipit">Delete everything and start fresh. This cannot be undone.</span></div> <button class="data-btn danger svelte-1uhipit"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-1uhipit"><path d="M3 6h18M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"></path></svg> Clear</button></div></div>`,1),Hr=ue(`<div class="settings-section svelte-1uhipit"><div class="about-header svelte-1uhipit"><h3 class="about-title svelte-1uhipit">Claude Coach</h3> <span class="about-version svelte-1uhipit"> </span></div> <p class="about-description svelte-1uhipit">Personalized training plans for triathlons, marathons, and endurance events. Built with
43
- Claude.</p></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Created By</h4> <div class="about-author svelte-1uhipit"><span class="author-name svelte-1uhipit">Felix Rieseberg</span> <div class="author-links svelte-1uhipit"><a href="https://felixrieseberg.com" target="_blank" rel="noopener" class="author-link svelte-1uhipit">felixrieseberg.com</a> <span class="author-separator svelte-1uhipit">·</span> <a href="https://twitter.com/felixrieseberg" target="_blank" rel="noopener" class="author-link svelte-1uhipit">@felixrieseberg</a></div></div></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Links</h4> <div class="about-links svelte-1uhipit"><a href="https://github.com/felixrieseberg/claude-coach" target="_blank" rel="noopener" class="about-link svelte-1uhipit"><svg viewBox="0 0 24 24" fill="currentColor" class="svelte-1uhipit"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"></path></svg> GitHub Repository</a></div></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">License</h4> <p class="about-license svelte-1uhipit">MIT License. Free to use, modify, and distribute.</p></div>`,1),jr=ue('<div class="modal-overlay active svelte-1uhipit" role="dialog" aria-modal="true" tabindex="-1"><div class="modal settings-modal svelte-1uhipit"><div class="modal-fixed-header svelte-1uhipit"><div class="modal-header svelte-1uhipit"><h2 class="modal-title svelte-1uhipit">Settings</h2> <button class="modal-close svelte-1uhipit">×</button></div> <div class="settings-tabs svelte-1uhipit"></div></div> <div class="modal-body svelte-1uhipit"><!> <!> <!> <!> <!> <!></div></div></div>');function Gr(e,s){gs(s,!0);let t=Fe("general"),a=Oe(Qe(()=>JSON.parse(JSON.stringify(s.settings))));function i(E){E.key==="Escape"&&s.onClose()}function n(E){E.target.classList.contains("modal-overlay")&&s.onClose()}function o(){s.onChange(a)}function l(E){a.theme=E,o()}function r(E){a[E].hrZones=xr(a[E].lthr),o()}function m(){a.bike.powerZones=Er(a.bike.ftp),o()}function v(){a.run.paceZones=Pr(a.run.thresholdPace),o()}function h(){a.swim.paceZones=Rr(a.swim.css),o()}let d=Fe(null),c=Fe(null);function g(){const E={};for(let q=0;q<localStorage.length;q++){const fe=localStorage.key(q);fe&&(E[fe]=localStorage.getItem(fe)||"")}const I=new Blob([JSON.stringify(E,null,2)],{type:"application/json"}),H=URL.createObjectURL(I),J=document.createElement("a");J.href=H,J.download=`training-plan-backup-${new Date().toISOString().split("T")[0]}.json`,document.body.appendChild(J),J.click(),document.body.removeChild(J),URL.revokeObjectURL(H)}function p(){A(c)?.click()}async function b(E){const I=E.target,H=I.files?.[0];if(H){try{const J=await H.text(),q=JSON.parse(J);if(typeof q!="object"||q===null)throw new Error("Invalid file format");localStorage.clear();for(const[fe,Ce]of Object.entries(q))typeof Ce=="string"&&localStorage.setItem(fe,Ce);te(d,{message:"Data restored! Reloading...",isError:!1},!0),setTimeout(()=>window.location.reload(),1500)}catch{te(d,{message:"Could not read file. Make sure it's a valid backup.",isError:!0},!0),setTimeout(()=>te(d,null),4e3)}I.value=""}}function y(){confirm("This will delete all your settings, completed workouts, and changes. Are you sure?")&&(localStorage.clear(),window.location.reload())}var w=jr();_s("keydown",pt,i);var F=L(w),x=L(F),S=L(x),U=D(L(S),2),P=D(S,2);He(P,20,()=>[["general","General"],["run","Run"],["bike","Bike"],["swim","Swim"],["data","Data"],["about","About"]],ss,(E,I)=>{var H=Ie(()=>Va(I,2));let J=()=>A(H)[0],q=()=>A(H)[1];var fe=Dr();let Ce;var me=L(fe);_e(()=>{Ce=Re(fe,1,"settings-tab svelte-1uhipit",null,Ce,{active:A(t)===J()}),pe(me,q())}),ie("click",fe,()=>te(t,J(),!0)),oe(E,fe)});var j=D(x,2),O=L(j);{var Y=E=>{var I=Lr(),H=ts(I),J=D(L(H),2),q=L(J);let fe;var Ce=D(q,2);let me;var ee=D(H,2),le=D(L(ee),2),re=D(L(le),2),ve=L(re);ve.value=ve.__value="meters";var Te=D(ve);Te.value=Te.__value="yards";var u=D(le,2),z=D(L(u),2),B=L(z);B.value=B.__value="kilometers";var C=D(B);C.value=C.__value="miles";var T=D(u,2),_=D(L(T),2),Z=L(_);Z.value=Z.__value="kilometers";var K=D(Z);K.value=K.__value="miles";var R=D(ee,2),M=D(L(R),2),N=D(L(M),2),W=L(N);W.value=W.__value="monday";var $=D(W);$.value=$.__value="sunday",_e(()=>{fe=Re(q,1,"theme-btn svelte-1uhipit",null,fe,{active:a.theme==="light"}),me=Re(Ce,1,"theme-btn svelte-1uhipit",null,me,{active:a.theme==="dark"})}),ie("click",q,()=>l("light")),ie("click",Ce,()=>l("dark")),ie("change",re,o),Hs(re,()=>a.units.swim,he=>a.units.swim=he),ie("change",z,o),Hs(z,()=>a.units.bike,he=>a.units.bike=he),ie("change",_,o),Hs(_,()=>a.units.run,he=>a.units.run=he),ie("change",N,o),Hs(N,()=>a.firstDayOfWeek,he=>a.firstDayOfWeek=he),oe(E,I)};Ae(O,E=>{A(t)==="general"&&E(Y)})}var se=D(O,2);{var k=E=>{var I=Mr(),H=ts(I),J=D(L(H),2),q=D(L(J),2),fe=D(q,2),Ce=D(J,2),me=D(L(Ce),2);He(me,17,()=>a.run.hrZones,ss,(z,B,C)=>{var T=Yt(),_=L(T),Z=L(_),K=D(_,2),R=L(K),M=D(K,2),N=D(M,2);_e(()=>{Re(_,1,`zone-badge z${A(B).zone??""}`,"svelte-1uhipit"),pe(Z,`Z${A(B).zone??""}`),pe(R,A(B).name)}),ie("change",M,o),Me(M,()=>a.run.hrZones[C].low,W=>a.run.hrZones[C].low=W),ie("change",N,o),Me(N,()=>a.run.hrZones[C].high,W=>a.run.hrZones[C].high=W),oe(z,T)});var ee=D(H,2),le=D(L(ee),2),re=D(L(le),2),ve=D(re,2),Te=D(le,2),u=D(L(Te),2);He(u,17,()=>a.run.paceZones,ss,(z,B,C)=>{var T=Br(),_=L(T);Re(_,1,`zone-badge z${C+1}`,"svelte-1uhipit");var Z=L(_),K=D(_,2),R=L(K),M=D(K,2);_e(()=>{pe(Z,A(B).zone),pe(R,A(B).name)}),ie("change",M,o),Me(M,()=>a.run.paceZones[C].pace,N=>a.run.paceZones[C].pace=N),oe(z,T)}),Me(q,()=>a.run.lthr,z=>a.run.lthr=z),ie("click",fe,()=>r("run")),Me(re,()=>a.run.thresholdPace,z=>a.run.thresholdPace=z),ie("click",ve,v),oe(E,I)};Ae(se,E=>{A(t)==="run"&&E(k)})}var G=D(se,2);{var f=E=>{var I=Or(),H=ts(I),J=D(L(H),2),q=D(L(J),2),fe=D(q,2),Ce=D(J,2),me=D(L(Ce),2);He(me,17,()=>a.bike.hrZones,ss,(z,B,C)=>{var T=Yt(),_=L(T),Z=L(_),K=D(_,2),R=L(K),M=D(K,2),N=D(M,2);_e(()=>{Re(_,1,`zone-badge z${A(B).zone??""}`,"svelte-1uhipit"),pe(Z,`Z${A(B).zone??""}`),pe(R,A(B).name)}),ie("change",M,o),Me(M,()=>a.bike.hrZones[C].low,W=>a.bike.hrZones[C].low=W),ie("change",N,o),Me(N,()=>a.bike.hrZones[C].high,W=>a.bike.hrZones[C].high=W),oe(z,T)});var ee=D(H,2),le=D(L(ee),2),re=D(L(le),2),ve=D(re,2),Te=D(le,2),u=D(L(Te),2);He(u,17,()=>a.bike.powerZones,ss,(z,B,C)=>{var T=Yt(),_=L(T),Z=L(_),K=D(_,2),R=L(K),M=D(K,2),N=D(M,2);_e(()=>{Re(_,1,`zone-badge z${A(B).zone??""}`,"svelte-1uhipit"),pe(Z,`Z${A(B).zone??""}`),pe(R,A(B).name)}),ie("change",M,o),Me(M,()=>a.bike.powerZones[C].low,W=>a.bike.powerZones[C].low=W),ie("change",N,o),Me(N,()=>a.bike.powerZones[C].high,W=>a.bike.powerZones[C].high=W),oe(z,T)}),Me(q,()=>a.bike.lthr,z=>a.bike.lthr=z),ie("click",fe,()=>r("bike")),Me(re,()=>a.bike.ftp,z=>a.bike.ftp=z),ie("click",ve,m),oe(E,I)};Ae(G,E=>{A(t)==="bike"&&E(f)})}var V=D(G,2);{var ce=E=>{var I=Nr(),H=D(L(I),2),J=D(L(H),2),q=D(J,2),fe=D(H,2),Ce=D(L(fe),2);He(Ce,17,()=>a.swim.paceZones,ss,(me,ee,le)=>{var re=zr(),ve=L(re),Te=L(ve),u=D(ve,2),z=L(u),B=D(u,2),C=L(B),T=D(B,2);_e(()=>{Re(ve,1,`zone-badge z${A(ee).zone??""}`,"svelte-1uhipit"),pe(Te,`Z${A(ee).zone??""}`),pe(z,A(ee).name),pe(C,`${(A(ee).offset??0)>=0?"+":""}${A(ee).offset??""}s`)}),ie("change",T,o),Me(T,()=>a.swim.paceZones[le].pace,_=>a.swim.paceZones[le].pace=_),oe(me,re)}),Me(J,()=>a.swim.css,me=>a.swim.css=me),ie("click",q,h),oe(E,I)};Ae(V,E=>{A(t)==="swim"&&E(ce)})}var X=D(V,2);{var ge=E=>{var I=Ur(),H=D(ts(I),2),J=D(L(H),2),q=D(L(J),2),fe=D(H,2),Ce=D(L(fe),2),me=D(L(Ce),2),ee=D(Ce,2),le=D(L(ee),2),re=D(le,2);xl(re,C=>te(c,C),()=>A(c));var ve=D(ee,2);{var Te=C=>{var T=Wr();let _;var Z=L(T);_e(()=>{_=Re(T,1,"import-status svelte-1uhipit",null,_,{error:A(d).isError}),pe(Z,A(d).message)}),oe(C,T)};Ae(ve,C=>{A(d)&&C(Te)})}var u=D(fe,2),z=D(L(u),2),B=D(L(z),2);ie("click",q,function(...C){s.onOpenImportHelp?.apply(this,C)}),ie("click",me,g),ie("click",le,p),ie("change",re,b),ie("click",B,y),oe(E,I)};Ae(X,E=>{A(t)==="data"&&E(ge)})}var Q=D(X,2);{var ne=E=>{var I=Hr(),H=ts(I),J=L(H),q=D(L(J),2),fe=L(q);_e(()=>pe(fe,`v${Ir}`)),oe(E,I)};Ae(Q,E=>{A(t)==="about"&&E(ne)})}ie("click",w,n),ie("keydown",w,i),ie("click",U,function(...E){s.onClose?.apply(this,E)}),oe(e,w),vs()}Ps(["click","keydown","change"]);var Zr=ue("<button> </button>"),Kr=ue(`<div class="help-section svelte-1jd9mi2"><div class="file-type-badge svelte-1jd9mi2">.ics files</div> <p class="help-intro svelte-1jd9mi2">Calendar files (.ics) work with most calendar applications. Your workouts will appear as
42
+ later.</p></div></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Import to Other Apps</h4> <div class="data-action svelte-1uhipit"><div class="data-action-info svelte-1uhipit"><span class="data-action-title svelte-1uhipit">Import Help</span> <span class="data-action-desc svelte-1uhipit">Learn how to import exported workouts into Zwift, Garmin, TrainerRoad, and more.</span></div> <button class="data-btn help svelte-1uhipit"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-1uhipit"><circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><line x1="12" y1="17" x2="12.01" y2="17"></line></svg> View Guide</button></div></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Backup & Restore</h4> <div class="data-action svelte-1uhipit"><div class="data-action-info svelte-1uhipit"><span class="data-action-title svelte-1uhipit">Export Backup</span> <span class="data-action-desc svelte-1uhipit">Download a file containing all your data. Keep it somewhere safe.</span></div> <button class="data-btn export svelte-1uhipit"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-1uhipit"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg> Export</button></div> <div class="data-action svelte-1uhipit"><div class="data-action-info svelte-1uhipit"><span class="data-action-title svelte-1uhipit">Import Backup</span> <span class="data-action-desc svelte-1uhipit">Restore from a backup file. This will replace your current data.</span></div> <button class="data-btn import svelte-1uhipit"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-1uhipit"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="17 8 12 3 7 8"></polyline><line x1="12" y1="3" x2="12" y2="15"></line></svg> Import</button> <input type="file" accept=".json" style="display: none"/></div> <!></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Danger Zone</h4> <div class="data-action danger svelte-1uhipit"><div class="data-action-info svelte-1uhipit"><span class="data-action-title svelte-1uhipit">Clear All Data</span> <span class="data-action-desc svelte-1uhipit">Delete everything and start fresh. This cannot be undone.</span></div> <button class="data-btn danger svelte-1uhipit"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-1uhipit"><path d="M3 6h18M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"></path></svg> Clear</button></div></div>`,1),Ur=ue(`<div class="settings-section svelte-1uhipit"><div class="about-header svelte-1uhipit"><h3 class="about-title svelte-1uhipit">Claude Coach</h3> <span class="about-version svelte-1uhipit"> </span></div> <p class="about-description svelte-1uhipit">Personalized training plans for triathlons, marathons, and endurance events. Built with
43
+ Claude.</p></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Created By</h4> <div class="about-author svelte-1uhipit"><span class="author-name svelte-1uhipit">Felix Rieseberg</span> <div class="author-links svelte-1uhipit"><a href="https://felixrieseberg.com" target="_blank" rel="noopener" class="author-link svelte-1uhipit">felixrieseberg.com</a> <span class="author-separator svelte-1uhipit">·</span> <a href="https://twitter.com/felixrieseberg" target="_blank" rel="noopener" class="author-link svelte-1uhipit">@felixrieseberg</a></div></div></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">Links</h4> <div class="about-links svelte-1uhipit"><a href="https://github.com/felixrieseberg/claude-coach" target="_blank" rel="noopener" class="about-link svelte-1uhipit"><svg viewBox="0 0 24 24" fill="currentColor" class="svelte-1uhipit"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"></path></svg> GitHub Repository</a></div></div> <div class="settings-section svelte-1uhipit"><h4 class="settings-section-title svelte-1uhipit">License</h4> <p class="about-license svelte-1uhipit">MIT License. Free to use, modify, and distribute.</p></div>`,1),Hr=ue('<div class="modal-overlay active svelte-1uhipit" role="dialog" aria-modal="true" tabindex="-1"><div class="modal settings-modal svelte-1uhipit"><div class="modal-fixed-header svelte-1uhipit"><div class="modal-header svelte-1uhipit"><h2 class="modal-title svelte-1uhipit">Settings</h2> <button class="modal-close svelte-1uhipit">×</button></div> <div class="settings-tabs svelte-1uhipit"></div></div> <div class="modal-body svelte-1uhipit"><!> <!> <!> <!> <!> <!></div></div></div>');function jr(e,s){ys(s,!0);let t=Fe("general"),a=Oe(Je(()=>JSON.parse(JSON.stringify(s.settings))));function i(R){R.key==="Escape"&&s.onClose()}function n(R){R.target.classList.contains("modal-overlay")&&s.onClose()}function o(){s.onChange(a)}function l(R){a.theme=R,o()}function r(R){a[R].hrZones=_r(a[R].lthr),o()}function m(){a.bike.powerZones=xr(a.bike.ftp),o()}function v(){a.run.paceZones=Er(a.run.thresholdPace),o()}function h(){a.swim.paceZones=Pr(a.swim.css),o()}let d=Fe(null),c=Fe(null);function g(){const R={};for(let V=0;V<localStorage.length;V++){const me=localStorage.key(V);me&&(R[me]=localStorage.getItem(me)||"")}const S=new Blob([JSON.stringify(R,null,2)],{type:"application/json"}),X=URL.createObjectURL(S),J=document.createElement("a");J.href=X,J.download=`training-plan-backup-${new Date().toISOString().split("T")[0]}.json`,document.body.appendChild(J),J.click(),document.body.removeChild(J),URL.revokeObjectURL(X)}function p(){A(c)?.click()}async function b(R){const S=R.target,X=S.files?.[0];if(X){try{const J=await X.text(),V=JSON.parse(J);if(typeof V!="object"||V===null)throw new Error("Invalid file format");localStorage.clear();for(const[me,Ce]of Object.entries(V))typeof Ce=="string"&&localStorage.setItem(me,Ce);te(d,{message:"Data restored! Reloading...",isError:!1},!0),setTimeout(()=>window.location.reload(),1500)}catch{te(d,{message:"Could not read file. Make sure it's a valid backup.",isError:!0},!0),setTimeout(()=>te(d,null),4e3)}S.value=""}}function y(){confirm("This will delete all your settings, completed workouts, and changes. Are you sure?")&&(localStorage.clear(),window.location.reload())}var w=Hr();xs("keydown",dt,i);var F=B(w),P=B(F),_=B(P),N=L(B(_),2),I=L(_,2);He(I,20,()=>[["general","General"],["run","Run"],["bike","Bike"],["swim","Swim"],["data","Data"],["about","About"]],es,(R,S)=>{var X=Pe(()=>qa(S,2));let J=()=>A(X)[0],V=()=>A(X)[1];var me=Ir();let Ce;var fe=B(me);_e(()=>{Ce=Ie(me,1,"settings-tab svelte-1uhipit",null,Ce,{active:A(t)===J()}),pe(fe,V())}),le("click",me,()=>te(t,J(),!0)),oe(R,me)});var H=L(P,2),O=B(H);{var q=R=>{var S=Dr(),X=ss(S),J=L(B(X),2),V=B(J);let me;var Ce=L(V,2);let fe;var $=L(X,2),ie=L(B($),2),re=L(B(ie),2),ve=B(re);ve.value=ve.__value="meters";var Te=L(ve);Te.value=Te.__value="yards";var u=L(ie,2),z=L(B(u),2),M=B(z);M.value=M.__value="kilometers";var C=L(M);C.value=C.__value="miles";var T=L(u,2),x=L(B(T),2),G=B(x);G.value=G.__value="kilometers";var Z=L(G);Z.value=Z.__value="miles";var E=L($,2),D=L(B(E),2),W=L(B(D),2),U=B(W);U.value=U.__value="monday";var ee=L(U);ee.value=ee.__value="sunday",_e(()=>{me=Ie(V,1,"theme-btn svelte-1uhipit",null,me,{active:a.theme==="light"}),fe=Ie(Ce,1,"theme-btn svelte-1uhipit",null,fe,{active:a.theme==="dark"})}),le("click",V,()=>l("light")),le("click",Ce,()=>l("dark")),le("change",re,o),Hs(re,()=>a.units.swim,he=>a.units.swim=he),le("change",z,o),Hs(z,()=>a.units.bike,he=>a.units.bike=he),le("change",x,o),Hs(x,()=>a.units.run,he=>a.units.run=he),le("change",W,o),Hs(W,()=>a.firstDayOfWeek,he=>a.firstDayOfWeek=he),oe(R,S)};Ae(O,R=>{A(t)==="general"&&R(q)})}var se=L(O,2);{var k=R=>{var S=Br(),X=ss(S),J=L(B(X),2),V=L(B(J),2),me=L(V,2),Ce=L(J,2),fe=L(B(Ce),2);He(fe,17,()=>a.run.hrZones,es,(z,M,C)=>{var T=Jt(),x=B(T),G=B(x),Z=L(x,2),E=B(Z),D=L(Z,2),W=L(D,2);_e(()=>{Ie(x,1,`zone-badge z${A(M).zone??""}`,"svelte-1uhipit"),pe(G,`Z${A(M).zone??""}`),pe(E,A(M).name)}),le("change",D,o),Me(D,()=>a.run.hrZones[C].low,U=>a.run.hrZones[C].low=U),le("change",W,o),Me(W,()=>a.run.hrZones[C].high,U=>a.run.hrZones[C].high=U),oe(z,T)});var $=L(X,2),ie=L(B($),2),re=L(B(ie),2),ve=L(re,2),Te=L(ie,2),u=L(B(Te),2);He(u,17,()=>a.run.paceZones,es,(z,M,C)=>{var T=Lr(),x=B(T);Ie(x,1,`zone-badge z${C+1}`,"svelte-1uhipit");var G=B(x),Z=L(x,2),E=B(Z),D=L(Z,2);_e(()=>{pe(G,A(M).zone),pe(E,A(M).name)}),le("change",D,o),Me(D,()=>a.run.paceZones[C].pace,W=>a.run.paceZones[C].pace=W),oe(z,T)}),Me(V,()=>a.run.lthr,z=>a.run.lthr=z),le("click",me,()=>r("run")),Me(re,()=>a.run.thresholdPace,z=>a.run.thresholdPace=z),le("click",ve,v),oe(R,S)};Ae(se,R=>{A(t)==="run"&&R(k)})}var j=L(se,2);{var f=R=>{var S=Mr(),X=ss(S),J=L(B(X),2),V=L(B(J),2),me=L(V,2),Ce=L(J,2),fe=L(B(Ce),2);He(fe,17,()=>a.bike.hrZones,es,(z,M,C)=>{var T=Jt(),x=B(T),G=B(x),Z=L(x,2),E=B(Z),D=L(Z,2),W=L(D,2);_e(()=>{Ie(x,1,`zone-badge z${A(M).zone??""}`,"svelte-1uhipit"),pe(G,`Z${A(M).zone??""}`),pe(E,A(M).name)}),le("change",D,o),Me(D,()=>a.bike.hrZones[C].low,U=>a.bike.hrZones[C].low=U),le("change",W,o),Me(W,()=>a.bike.hrZones[C].high,U=>a.bike.hrZones[C].high=U),oe(z,T)});var $=L(X,2),ie=L(B($),2),re=L(B(ie),2),ve=L(re,2),Te=L(ie,2),u=L(B(Te),2);He(u,17,()=>a.bike.powerZones,es,(z,M,C)=>{var T=Jt(),x=B(T),G=B(x),Z=L(x,2),E=B(Z),D=L(Z,2),W=L(D,2);_e(()=>{Ie(x,1,`zone-badge z${A(M).zone??""}`,"svelte-1uhipit"),pe(G,`Z${A(M).zone??""}`),pe(E,A(M).name)}),le("change",D,o),Me(D,()=>a.bike.powerZones[C].low,U=>a.bike.powerZones[C].low=U),le("change",W,o),Me(W,()=>a.bike.powerZones[C].high,U=>a.bike.powerZones[C].high=U),oe(z,T)}),Me(V,()=>a.bike.lthr,z=>a.bike.lthr=z),le("click",me,()=>r("bike")),Me(re,()=>a.bike.ftp,z=>a.bike.ftp=z),le("click",ve,m),oe(R,S)};Ae(j,R=>{A(t)==="bike"&&R(f)})}var K=L(j,2);{var ce=R=>{var S=zr(),X=L(B(S),2),J=L(B(X),2),V=L(J,2),me=L(X,2),Ce=L(B(me),2);He(Ce,17,()=>a.swim.paceZones,es,(fe,$,ie)=>{var re=Or(),ve=B(re),Te=B(ve),u=L(ve,2),z=B(u),M=L(u,2),C=B(M),T=L(M,2);_e(()=>{Ie(ve,1,`zone-badge z${A($).zone??""}`,"svelte-1uhipit"),pe(Te,`Z${A($).zone??""}`),pe(z,A($).name),pe(C,`${(A($).offset??0)>=0?"+":""}${A($).offset??""}s`)}),le("change",T,o),Me(T,()=>a.swim.paceZones[ie].pace,x=>a.swim.paceZones[ie].pace=x),oe(fe,re)}),Me(J,()=>a.swim.css,fe=>a.swim.css=fe),le("click",V,h),oe(R,S)};Ae(K,R=>{A(t)==="swim"&&R(ce)})}var Y=L(K,2);{var ye=R=>{var S=Wr(),X=L(ss(S),2),J=L(B(X),2),V=L(B(J),2),me=L(X,2),Ce=L(B(me),2),fe=L(B(Ce),2),$=L(Ce,2),ie=L(B($),2),re=L(ie,2);_l(re,C=>te(c,C),()=>A(c));var ve=L($,2);{var Te=C=>{var T=Nr();let x;var G=B(T);_e(()=>{x=Ie(T,1,"import-status svelte-1uhipit",null,x,{error:A(d).isError}),pe(G,A(d).message)}),oe(C,T)};Ae(ve,C=>{A(d)&&C(Te)})}var u=L(me,2),z=L(B(u),2),M=L(B(z),2);le("click",V,function(...C){s.onOpenImportHelp?.apply(this,C)}),le("click",fe,g),le("click",ie,p),le("change",re,b),le("click",M,y),oe(R,S)};Ae(Y,R=>{A(t)==="data"&&R(ye)})}var Q=L(Y,2);{var ne=R=>{var S=Ur(),X=ss(S),J=B(X),V=L(B(J),2),me=B(V);_e(()=>pe(me,`v${Rr}`)),oe(R,S)};Ae(Q,R=>{A(t)==="about"&&R(ne)})}le("click",w,n),le("keydown",w,i),le("click",N,function(...R){s.onClose?.apply(this,R)}),oe(e,w),gs()}Rs(["click","keydown","change"]);var Gr=ue("<button> </button>"),Zr=ue(`<div class="help-section svelte-1jd9mi2"><div class="file-type-badge svelte-1jd9mi2">.ics files</div> <p class="help-intro svelte-1jd9mi2">Calendar files (.ics) work with most calendar applications. Your workouts will appear as
44
44
  events on the scheduled dates.</p> <div class="app-guide svelte-1jd9mi2"><h4 class="app-name svelte-1jd9mi2"><span class="app-logo svelte-1jd9mi2"><svg viewBox="0 0 24 24" fill="currentColor" class="svelte-1jd9mi2"><path d="M18.316 5.684H24v12.632h-5.684V5.684zM5.684 24h12.632v-5.684H5.684V24zM18.316 5.684V0H1.895A1.894 1.894 0 0 0 0 1.895v16.421h5.684V5.684h12.632zm-7.207 6.25v-.065c.272-.144.5-.349.687-.617s.279-.595.279-.982c0-.379-.099-.72-.3-1.025a2.05 2.05 0 0 0-.832-.714 2.703 2.703 0 0 0-1.197-.257c-.6 0-1.094.156-1.481.467-.386.311-.65.671-.793 1.078l1.085.452c.086-.249.224-.461.413-.633.189-.172.445-.257.767-.257.33 0 .602.088.816.264a.86.86 0 0 1 .322.703c0 .33-.12.589-.36.778-.24.19-.535.284-.886.284h-.567v1.085h.633c.407 0 .748.109 1.02.327.272.218.407.499.407.843 0 .336-.129.614-.387.832s-.565.327-.924.327c-.351 0-.651-.103-.897-.311-.248-.208-.422-.502-.521-.881l-1.096.452c.178.616.505 1.082.977 1.401.472.319.984.478 1.538.477a2.84 2.84 0 0 0 1.293-.291c.382-.193.684-.458.902-.794.218-.336.327-.72.327-1.149 0-.429-.115-.797-.344-1.105a2.067 2.067 0 0 0-.881-.689zm2.093-1.931l.602.913L15 10.045v5.744h1.187V8.446h-.827l-2.158 1.557zM22.105 0h-3.289v5.184H24V1.895A1.894 1.894 0 0 0 22.105 0zm-3.289 23.5l4.684-4.684h-4.684V23.5zM0 22.105C0 23.152.848 24 1.895 24h3.289v-5.184H0v3.289z"></path></svg></span> Google Calendar</h4> <ol class="step-list svelte-1jd9mi2"><li class="svelte-1jd9mi2">Open <strong class="svelte-1jd9mi2">Google Calendar</strong> in your web browser</li> <li class="svelte-1jd9mi2">Click the <strong class="svelte-1jd9mi2">+</strong> button next to "Other calendars" in the left sidebar</li> <li class="svelte-1jd9mi2">Select <strong class="svelte-1jd9mi2">"Import"</strong></li> <li class="svelte-1jd9mi2">Click <strong class="svelte-1jd9mi2">"Select file from your computer"</strong> and choose the .ics file</li> <li class="svelte-1jd9mi2">Choose which calendar to add the events to, or create a new one called "Training
45
45
  Plan"</li> <li class="svelte-1jd9mi2">Click <strong class="svelte-1jd9mi2">"Import"</strong></li></ol> <div class="tip svelte-1jd9mi2"><strong class="svelte-1jd9mi2">Tip:</strong> Create a separate calendar for your training plan so you can easily
46
46
  show/hide workouts and use a distinct color.</div></div> <div class="app-guide svelte-1jd9mi2"><h4 class="app-name svelte-1jd9mi2"><span class="app-logo svelte-1jd9mi2"><svg viewBox="0 0 24 24" fill="currentColor" class="svelte-1jd9mi2"><path d="M12.152 6.896c-.948 0-2.415-1.078-3.96-1.04-2.04.027-3.91 1.183-4.961 3.014-2.117 3.675-.546 9.103 1.519 12.09 1.013 1.454 2.208 3.09 3.792 3.039 1.52-.065 2.09-.987 3.935-.987 1.831 0 2.35.987 3.96.948 1.637-.026 2.676-1.48 3.676-2.948 1.156-1.688 1.636-3.325 1.662-3.415-.039-.013-3.182-1.221-3.22-4.857-.026-3.04 2.48-4.494 2.597-4.559-1.429-2.09-3.623-2.324-4.39-2.376-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83-1.207.052-2.662.805-3.532 1.818-.78.896-1.454 2.338-1.273 3.714 1.338.104 2.715-.688 3.559-1.701"></path></svg></span> Apple Calendar (Mac)</h4> <ol class="step-list svelte-1jd9mi2"><li class="svelte-1jd9mi2">Open the <strong class="svelte-1jd9mi2">Calendar</strong> app on your Mac</li> <li class="svelte-1jd9mi2">Go to <strong class="svelte-1jd9mi2">File</strong> → <strong class="svelte-1jd9mi2">Import...</strong> in the menu bar</li> <li class="svelte-1jd9mi2">Select the .ics file and click <strong class="svelte-1jd9mi2">"Import"</strong></li> <li class="svelte-1jd9mi2">Choose which calendar to add the events to</li> <li class="svelte-1jd9mi2">Click <strong class="svelte-1jd9mi2">"OK"</strong></li></ol> <div class="tip svelte-1jd9mi2"><strong class="svelte-1jd9mi2">Alternative:</strong> You can also double-click the .ics file to open it directly
47
- in Calendar.</div></div> <div class="app-guide svelte-1jd9mi2"><h4 class="app-name svelte-1jd9mi2"><span class="app-logo svelte-1jd9mi2"><svg viewBox="0 0 24 24" fill="currentColor" class="svelte-1jd9mi2"><path d="M12.152 6.896c-.948 0-2.415-1.078-3.96-1.04-2.04.027-3.91 1.183-4.961 3.014-2.117 3.675-.546 9.103 1.519 12.09 1.013 1.454 2.208 3.09 3.792 3.039 1.52-.065 2.09-.987 3.935-.987 1.831 0 2.35.987 3.96.948 1.637-.026 2.676-1.48 3.676-2.948 1.156-1.688 1.636-3.325 1.662-3.415-.039-.013-3.182-1.221-3.22-4.857-.026-3.04 2.48-4.494 2.597-4.559-1.429-2.09-3.623-2.324-4.39-2.376-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83-1.207.052-2.662.805-3.532 1.818-.78.896-1.454 2.338-1.273 3.714 1.338.104 2.715-.688 3.559-1.701"></path></svg></span> Apple Calendar (iPhone/iPad)</h4> <ol class="step-list svelte-1jd9mi2"><li class="svelte-1jd9mi2">Email the .ics file to yourself or save it to iCloud Drive</li> <li class="svelte-1jd9mi2">Open the file on your device</li> <li class="svelte-1jd9mi2">Tap <strong class="svelte-1jd9mi2">"Add All"</strong> to add the events</li> <li class="svelte-1jd9mi2">Choose which calendar to save them to</li></ol></div> <div class="app-guide svelte-1jd9mi2"><h4 class="app-name svelte-1jd9mi2"><span class="app-logo outlook-color svelte-1jd9mi2"><svg viewBox="0 0 24 24" fill="currentColor" class="svelte-1jd9mi2"><path d="M2 6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6zm2 0l8 5 8-5H4zm0 2v10h16V8l-8 5-8-5z"></path></svg></span> Outlook Calendar</h4> <ol class="step-list svelte-1jd9mi2"><li class="svelte-1jd9mi2">Open <strong class="svelte-1jd9mi2">Outlook</strong> (desktop or web)</li> <li class="svelte-1jd9mi2">Go to the <strong class="svelte-1jd9mi2">Calendar</strong> view</li> <li class="svelte-1jd9mi2">Click <strong class="svelte-1jd9mi2">"Add calendar"</strong> → <strong class="svelte-1jd9mi2">"Upload from file"</strong></li> <li class="svelte-1jd9mi2">Browse to select your .ics file</li> <li class="svelte-1jd9mi2">Choose a calendar and click <strong class="svelte-1jd9mi2">"Import"</strong></li></ol></div></div>`),qr=ue(`<div class="help-section svelte-1jd9mi2"><div class="file-type-badge svelte-1jd9mi2">.zwo files</div> <p class="help-intro svelte-1jd9mi2">Zwift workout files (.zwo) contain structured workouts with power targets. These work
47
+ in Calendar.</div></div> <div class="app-guide svelte-1jd9mi2"><h4 class="app-name svelte-1jd9mi2"><span class="app-logo svelte-1jd9mi2"><svg viewBox="0 0 24 24" fill="currentColor" class="svelte-1jd9mi2"><path d="M12.152 6.896c-.948 0-2.415-1.078-3.96-1.04-2.04.027-3.91 1.183-4.961 3.014-2.117 3.675-.546 9.103 1.519 12.09 1.013 1.454 2.208 3.09 3.792 3.039 1.52-.065 2.09-.987 3.935-.987 1.831 0 2.35.987 3.96.948 1.637-.026 2.676-1.48 3.676-2.948 1.156-1.688 1.636-3.325 1.662-3.415-.039-.013-3.182-1.221-3.22-4.857-.026-3.04 2.48-4.494 2.597-4.559-1.429-2.09-3.623-2.324-4.39-2.376-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83-1.207.052-2.662.805-3.532 1.818-.78.896-1.454 2.338-1.273 3.714 1.338.104 2.715-.688 3.559-1.701"></path></svg></span> Apple Calendar (iPhone/iPad)</h4> <ol class="step-list svelte-1jd9mi2"><li class="svelte-1jd9mi2">Email the .ics file to yourself or save it to iCloud Drive</li> <li class="svelte-1jd9mi2">Open the file on your device</li> <li class="svelte-1jd9mi2">Tap <strong class="svelte-1jd9mi2">"Add All"</strong> to add the events</li> <li class="svelte-1jd9mi2">Choose which calendar to save them to</li></ol></div> <div class="app-guide svelte-1jd9mi2"><h4 class="app-name svelte-1jd9mi2"><span class="app-logo outlook-color svelte-1jd9mi2"><svg viewBox="0 0 24 24" fill="currentColor" class="svelte-1jd9mi2"><path d="M2 6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6zm2 0l8 5 8-5H4zm0 2v10h16V8l-8 5-8-5z"></path></svg></span> Outlook Calendar</h4> <ol class="step-list svelte-1jd9mi2"><li class="svelte-1jd9mi2">Open <strong class="svelte-1jd9mi2">Outlook</strong> (desktop or web)</li> <li class="svelte-1jd9mi2">Go to the <strong class="svelte-1jd9mi2">Calendar</strong> view</li> <li class="svelte-1jd9mi2">Click <strong class="svelte-1jd9mi2">"Add calendar"</strong> → <strong class="svelte-1jd9mi2">"Upload from file"</strong></li> <li class="svelte-1jd9mi2">Browse to select your .ics file</li> <li class="svelte-1jd9mi2">Choose a calendar and click <strong class="svelte-1jd9mi2">"Import"</strong></li></ol></div></div>`),Kr=ue(`<div class="help-section svelte-1jd9mi2"><div class="file-type-badge svelte-1jd9mi2">.zwo files</div> <p class="help-intro svelte-1jd9mi2">Zwift workout files (.zwo) contain structured workouts with power targets. These work
48
48
  for bike and run workouts in Zwift.</p> <div class="app-guide svelte-1jd9mi2"><h4 class="app-name svelte-1jd9mi2"><span class="app-logo zwift-color svelte-1jd9mi2"><svg viewBox="0 0 48 48" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1jd9mi2"><path d="M10.952 6.776a5.452 5.452 0 0 0 0 10.905h4.258L6.245 33.019a5.452 5.452 0 0 0 4.707 8.204h22.524a5.452 5.452 0 1 0 0-10.905H28.74L42.5 6.776Z"></path></svg></span> Zwift (Windows)</h4> <ol class="step-list svelte-1jd9mi2"><li class="svelte-1jd9mi2">Close Zwift if it's currently running</li> <li class="svelte-1jd9mi2">Open File Explorer and navigate to:</li> <li class="svelte-1jd9mi2"><code class="path svelte-1jd9mi2">Documents\\Zwift\\Workouts\\[Your Zwift ID]</code></li> <li class="svelte-1jd9mi2">If you don't know your Zwift ID, look for a folder with numbers (like "123456")</li> <li class="svelte-1jd9mi2">Copy your .zwo files into this folder</li> <li class="svelte-1jd9mi2">Launch Zwift and go to <strong class="svelte-1jd9mi2">Workouts</strong></li> <li class="svelte-1jd9mi2">Click <strong class="svelte-1jd9mi2">"Custom Workouts"</strong> - your workouts should appear there</li></ol> <div class="tip svelte-1jd9mi2"><strong class="svelte-1jd9mi2">Can't find the folder?</strong> You can also open Zwift, go to Workouts, and look
49
49
  for a "Custom Workouts" section. Zwift will create the folder when you first access workouts.</div></div> <div class="app-guide svelte-1jd9mi2"><h4 class="app-name svelte-1jd9mi2"><span class="app-logo zwift-color svelte-1jd9mi2"><svg viewBox="0 0 48 48" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1jd9mi2"><path d="M10.952 6.776a5.452 5.452 0 0 0 0 10.905h4.258L6.245 33.019a5.452 5.452 0 0 0 4.707 8.204h22.524a5.452 5.452 0 1 0 0-10.905H28.74L42.5 6.776Z"></path></svg></span> Zwift (Mac)</h4> <ol class="step-list svelte-1jd9mi2"><li class="svelte-1jd9mi2">Close Zwift if it's currently running</li> <li class="svelte-1jd9mi2">Open Finder and press <strong class="svelte-1jd9mi2">Cmd + Shift + G</strong> to open "Go to Folder"</li> <li class="svelte-1jd9mi2">Type this path and press Enter:</li> <li class="svelte-1jd9mi2"><code class="path svelte-1jd9mi2">~/Documents/Zwift/Workouts/[Your Zwift ID]</code></li> <li class="svelte-1jd9mi2">Copy your .zwo files into this folder</li> <li class="svelte-1jd9mi2">Launch Zwift and go to <strong class="svelte-1jd9mi2">Workouts</strong></li> <li class="svelte-1jd9mi2">Your custom workouts will appear under <strong class="svelte-1jd9mi2">"Custom Workouts"</strong></li></ol></div> <div class="app-guide svelte-1jd9mi2"><h4 class="app-name svelte-1jd9mi2"><span class="app-logo zwift-color svelte-1jd9mi2"><svg viewBox="0 0 48 48" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1jd9mi2"><path d="M10.952 6.776a5.452 5.452 0 0 0 0 10.905h4.258L6.245 33.019a5.452 5.452 0 0 0 4.707 8.204h22.524a5.452 5.452 0 1 0 0-10.905H28.74L42.5 6.776Z"></path></svg></span> Zwift (iOS/Android)</h4> <p class="note svelte-1jd9mi2">Unfortunately, Zwift mobile apps don't support importing custom .zwo files directly.
50
50
  You'll need to:</p> <ol class="step-list svelte-1jd9mi2"><li class="svelte-1jd9mi2">Import the workouts on a computer first (as described above)</li> <li class="svelte-1jd9mi2">Make sure you're signed into the same Zwift account on both devices</li> <li class="svelte-1jd9mi2">The workouts will sync and appear in your Custom Workouts on mobile</li></ol></div> <div class="warning-box svelte-1jd9mi2"><strong class="svelte-1jd9mi2">Important:</strong> Make sure your FTP is set correctly in your Zwift settings. The
51
- workout power targets are based on percentages of FTP.</div></div>`),Vr=ue(`<div class="help-section svelte-1jd9mi2"><div class="file-type-badge svelte-1jd9mi2">.fit files</div> <p class="help-intro svelte-1jd9mi2">Garmin FIT files work with Garmin watches and bike computers. They include structured
51
+ workout power targets are based on percentages of FTP.</div></div>`),qr=ue(`<div class="help-section svelte-1jd9mi2"><div class="file-type-badge svelte-1jd9mi2">.fit files</div> <p class="help-intro svelte-1jd9mi2">Garmin FIT files work with Garmin watches and bike computers. They include structured
52
52
  workout targets that your device will guide you through.</p> <div class="app-guide svelte-1jd9mi2"><h4 class="app-name svelte-1jd9mi2"><span class="app-logo svelte-1jd9mi2"><svg viewBox="0 0 24 24" fill="currentColor" class="svelte-1jd9mi2"><path d="M6.265 12.024a.289.289 0 0 0-.236-.146h-.182a.289.289 0 0 0-.234.146l-1.449 3.025c-.041.079.004.138.094.138h.335c.132 0 .193-.061.228-.134.037-.073.116-.234.13-.266.02-.045.083-.071.175-.071h1.559c.089 0 .148.016.175.071.018.035.098.179.136.256a.24.24 0 0 0 .234.142h.486c.089 0 .13-.069.098-.132-.034-.061-1.549-3.029-1.549-3.029zm-.914 2.224c-.089 0-.132-.067-.094-.148l.571-1.222c.039-.081.1-.081.136 0l.555 1.222c.037.081-.006.148-.096.148H5.351zm12.105-2.201v3.001c0 .083.073.138.163.138h.396c.089 0 .163-.057.163-.146v-2.998c0-.089-.059-.163-.148-.163h-.411c-.09-.001-.163.054-.163.168zm-6.631 1.88c-.051-.073-.022-.154.063-.181 0 0 .342-.102.506-.25.165-.146.246-.36.246-.636a1 1 0 0 0-.096-.457.787.787 0 0 0-.27-.303 1.276 1.276 0 0 0-.423-.171c-.165-.035-.386-.047-.386-.047a8.81 8.81 0 0 0-.325-.008H8.495a.164.164 0 0 0-.163.163v2.998c0 .089.073.146.163.146h.388c.089 0 .163-.057.163-.146v-1.193s.002 0 .002-.002l.738-.002c.089 0 .205.061.258.134l.766 1.077c.071.096.138.132.228.132h.508c.089 0 .104-.085.073-.128-.032-.038-.794-1.126-.794-1.126zm-.311-.61a1.57 1.57 0 0 1-.213.028 8.807 8.807 0 0 1-.325.006h-.763a.164.164 0 0 1-.163-.163v-.608c0-.089.073-.163.163-.163h.762c.089 0 .236.004.325.006 0 0 .114.004.213.028a.629.629 0 0 1 .24.098.358.358 0 0 1 .126.148.473.473 0 0 1 0 .374.352.352 0 0 1-.126.148.617.617 0 0 1-.239.098zm11.803-1.439c-.089 0-.163.059-.163.146v1.919c0 .089-.051.11-.114.047l-1.921-1.992a.376.376 0 0 0-.276-.118h-.362c-.114 0-.163.061-.163.122v3.068c0 .061.059.12.148.12h.362c.089 0 .152-.049.152-.132l.002-2.021c0-.089.051-.11.114-.045l2.004 2.082a.36.36 0 0 0 .279.116h.272a.164.164 0 0 0 .163-.163v-2.986a.164.164 0 0 0-.163-.163h-.334zm-7.835 1.87c-.043.079-.116.077-.159 0l-.939-1.724a.262.262 0 0 0-.236-.146h-.51a.164.164 0 0 0-.163.163v2.996c0 .089.059.15.163.15h.317c.089 0 .154-.057.154-.142 0-.041.002-2.179.004-2.179.004 0 1.173 2.177 1.173 2.177a.105.105 0 0 0 .189 0s1.179-2.173 1.181-2.173c.004 0 .002 2.11.002 2.173 0 .087.069.142.159.142h.364c.089 0 .163-.045.163-.163V12.04a.164.164 0 0 0-.163-.163h-.488a.265.265 0 0 0-.244.142l-.967 1.729zM0 13.529c0 1.616 1.653 1.697 1.984 1.697 1.098 0 1.561-.297 1.58-.309a.29.29 0 0 0 .152-.264v-1.116a.186.186 0 0 0-.187-.187H2.151c-.104 0-.171.083-.171.187v.116c0 .104.067.187.171.187h.797a.14.14 0 0 1 .14.14v.52c-.157.065-.874.274-1.451.136-.836-.199-.901-.89-.901-1.096 0-.173.053-1.043 1.079-1.13.831-.071 1.378.264 1.384.268.098.051.199.014.254-.089l.104-.209c.043-.085.028-.175-.077-.246-.006-.004-.59-.319-1.494-.319C.055 11.813 0 13.354 0 13.529z"></path></svg></span> Garmin Connect (Web - Recommended)</h4> <ol class="step-list svelte-1jd9mi2"><li class="svelte-1jd9mi2">Go to <a href="https://connect.garmin.com" target="_blank" rel="noopener" class="svelte-1jd9mi2">connect.garmin.com</a> and sign in</li> <li class="svelte-1jd9mi2">Click <strong class="svelte-1jd9mi2">"Training"</strong> in the left menu</li> <li class="svelte-1jd9mi2">Select <strong class="svelte-1jd9mi2">"Workouts"</strong></li> <li class="svelte-1jd9mi2">Click <strong class="svelte-1jd9mi2">"Import Workout"</strong> in the top right</li> <li class="svelte-1jd9mi2">Select your .fit file and click <strong class="svelte-1jd9mi2">"Import"</strong></li> <li class="svelte-1jd9mi2">Review the workout and click <strong class="svelte-1jd9mi2">"Save"</strong></li> <li class="svelte-1jd9mi2">To send to your watch: click <strong class="svelte-1jd9mi2">"Send to Device"</strong> and select your Garmin device</li></ol> <div class="tip svelte-1jd9mi2"><strong class="svelte-1jd9mi2">Tip:</strong> You can schedule workouts directly to specific dates in your Garmin
53
53
  calendar.</div></div> <div class="app-guide svelte-1jd9mi2"><h4 class="app-name svelte-1jd9mi2"><span class="app-logo svelte-1jd9mi2"><svg viewBox="0 0 24 24" fill="currentColor" class="svelte-1jd9mi2"><path d="M6.265 12.024a.289.289 0 0 0-.236-.146h-.182a.289.289 0 0 0-.234.146l-1.449 3.025c-.041.079.004.138.094.138h.335c.132 0 .193-.061.228-.134.037-.073.116-.234.13-.266.02-.045.083-.071.175-.071h1.559c.089 0 .148.016.175.071.018.035.098.179.136.256a.24.24 0 0 0 .234.142h.486c.089 0 .13-.069.098-.132-.034-.061-1.549-3.029-1.549-3.029zm-.914 2.224c-.089 0-.132-.067-.094-.148l.571-1.222c.039-.081.1-.081.136 0l.555 1.222c.037.081-.006.148-.096.148H5.351zm12.105-2.201v3.001c0 .083.073.138.163.138h.396c.089 0 .163-.057.163-.146v-2.998c0-.089-.059-.163-.148-.163h-.411c-.09-.001-.163.054-.163.168zm-6.631 1.88c-.051-.073-.022-.154.063-.181 0 0 .342-.102.506-.25.165-.146.246-.36.246-.636a1 1 0 0 0-.096-.457.787.787 0 0 0-.27-.303 1.276 1.276 0 0 0-.423-.171c-.165-.035-.386-.047-.386-.047a8.81 8.81 0 0 0-.325-.008H8.495a.164.164 0 0 0-.163.163v2.998c0 .089.073.146.163.146h.388c.089 0 .163-.057.163-.146v-1.193s.002 0 .002-.002l.738-.002c.089 0 .205.061.258.134l.766 1.077c.071.096.138.132.228.132h.508c.089 0 .104-.085.073-.128-.032-.038-.794-1.126-.794-1.126zm-.311-.61a1.57 1.57 0 0 1-.213.028 8.807 8.807 0 0 1-.325.006h-.763a.164.164 0 0 1-.163-.163v-.608c0-.089.073-.163.163-.163h.762c.089 0 .236.004.325.006 0 0 .114.004.213.028a.629.629 0 0 1 .24.098.358.358 0 0 1 .126.148.473.473 0 0 1 0 .374.352.352 0 0 1-.126.148.617.617 0 0 1-.239.098zm11.803-1.439c-.089 0-.163.059-.163.146v1.919c0 .089-.051.11-.114.047l-1.921-1.992a.376.376 0 0 0-.276-.118h-.362c-.114 0-.163.061-.163.122v3.068c0 .061.059.12.148.12h.362c.089 0 .152-.049.152-.132l.002-2.021c0-.089.051-.11.114-.045l2.004 2.082a.36.36 0 0 0 .279.116h.272a.164.164 0 0 0 .163-.163v-2.986a.164.164 0 0 0-.163-.163h-.334zm-7.835 1.87c-.043.079-.116.077-.159 0l-.939-1.724a.262.262 0 0 0-.236-.146h-.51a.164.164 0 0 0-.163.163v2.996c0 .089.059.15.163.15h.317c.089 0 .154-.057.154-.142 0-.041.002-2.179.004-2.179.004 0 1.173 2.177 1.173 2.177a.105.105 0 0 0 .189 0s1.179-2.173 1.181-2.173c.004 0 .002 2.11.002 2.173 0 .087.069.142.159.142h.364c.089 0 .163-.045.163-.163V12.04a.164.164 0 0 0-.163-.163h-.488a.265.265 0 0 0-.244.142l-.967 1.729zM0 13.529c0 1.616 1.653 1.697 1.984 1.697 1.098 0 1.561-.297 1.58-.309a.29.29 0 0 0 .152-.264v-1.116a.186.186 0 0 0-.187-.187H2.151c-.104 0-.171.083-.171.187v.116c0 .104.067.187.171.187h.797a.14.14 0 0 1 .14.14v.52c-.157.065-.874.274-1.451.136-.836-.199-.901-.89-.901-1.096 0-.173.053-1.043 1.079-1.13.831-.071 1.378.264 1.384.268.098.051.199.014.254-.089l.104-.209c.043-.085.028-.175-.077-.246-.006-.004-.59-.319-1.494-.319C.055 11.813 0 13.354 0 13.529z"></path></svg></span> Garmin Connect (Mobile App)</h4> <ol class="step-list svelte-1jd9mi2"><li class="svelte-1jd9mi2">Open the <strong class="svelte-1jd9mi2">Garmin Connect</strong> app</li> <li class="svelte-1jd9mi2">Tap <strong class="svelte-1jd9mi2">"More"</strong> (bottom right) → <strong class="svelte-1jd9mi2">"Training & Planning"</strong></li> <li class="svelte-1jd9mi2">Tap <strong class="svelte-1jd9mi2">"Workouts"</strong></li> <li class="svelte-1jd9mi2">Tap the <strong class="svelte-1jd9mi2">+</strong> button → <strong class="svelte-1jd9mi2">"Import"</strong></li> <li class="svelte-1jd9mi2">Browse to select your .fit file</li> <li class="svelte-1jd9mi2">Tap <strong class="svelte-1jd9mi2">"Send to Device"</strong> to sync to your watch</li></ol></div> <div class="app-guide svelte-1jd9mi2"><h4 class="app-name svelte-1jd9mi2"><span class="app-logo svelte-1jd9mi2"><svg viewBox="0 0 24 24" fill="currentColor" class="svelte-1jd9mi2"><path d="M6.265 12.024a.289.289 0 0 0-.236-.146h-.182a.289.289 0 0 0-.234.146l-1.449 3.025c-.041.079.004.138.094.138h.335c.132 0 .193-.061.228-.134.037-.073.116-.234.13-.266.02-.045.083-.071.175-.071h1.559c.089 0 .148.016.175.071.018.035.098.179.136.256a.24.24 0 0 0 .234.142h.486c.089 0 .13-.069.098-.132-.034-.061-1.549-3.029-1.549-3.029zm-.914 2.224c-.089 0-.132-.067-.094-.148l.571-1.222c.039-.081.1-.081.136 0l.555 1.222c.037.081-.006.148-.096.148H5.351zm12.105-2.201v3.001c0 .083.073.138.163.138h.396c.089 0 .163-.057.163-.146v-2.998c0-.089-.059-.163-.148-.163h-.411c-.09-.001-.163.054-.163.168zm-6.631 1.88c-.051-.073-.022-.154.063-.181 0 0 .342-.102.506-.25.165-.146.246-.36.246-.636a1 1 0 0 0-.096-.457.787.787 0 0 0-.27-.303 1.276 1.276 0 0 0-.423-.171c-.165-.035-.386-.047-.386-.047a8.81 8.81 0 0 0-.325-.008H8.495a.164.164 0 0 0-.163.163v2.998c0 .089.073.146.163.146h.388c.089 0 .163-.057.163-.146v-1.193s.002 0 .002-.002l.738-.002c.089 0 .205.061.258.134l.766 1.077c.071.096.138.132.228.132h.508c.089 0 .104-.085.073-.128-.032-.038-.794-1.126-.794-1.126zm-.311-.61a1.57 1.57 0 0 1-.213.028 8.807 8.807 0 0 1-.325.006h-.763a.164.164 0 0 1-.163-.163v-.608c0-.089.073-.163.163-.163h.762c.089 0 .236.004.325.006 0 0 .114.004.213.028a.629.629 0 0 1 .24.098.358.358 0 0 1 .126.148.473.473 0 0 1 0 .374.352.352 0 0 1-.126.148.617.617 0 0 1-.239.098zm11.803-1.439c-.089 0-.163.059-.163.146v1.919c0 .089-.051.11-.114.047l-1.921-1.992a.376.376 0 0 0-.276-.118h-.362c-.114 0-.163.061-.163.122v3.068c0 .061.059.12.148.12h.362c.089 0 .152-.049.152-.132l.002-2.021c0-.089.051-.11.114-.045l2.004 2.082a.36.36 0 0 0 .279.116h.272a.164.164 0 0 0 .163-.163v-2.986a.164.164 0 0 0-.163-.163h-.334zm-7.835 1.87c-.043.079-.116.077-.159 0l-.939-1.724a.262.262 0 0 0-.236-.146h-.51a.164.164 0 0 0-.163.163v2.996c0 .089.059.15.163.15h.317c.089 0 .154-.057.154-.142 0-.041.002-2.179.004-2.179.004 0 1.173 2.177 1.173 2.177a.105.105 0 0 0 .189 0s1.179-2.173 1.181-2.173c.004 0 .002 2.11.002 2.173 0 .087.069.142.159.142h.364c.089 0 .163-.045.163-.163V12.04a.164.164 0 0 0-.163-.163h-.488a.265.265 0 0 0-.244.142l-.967 1.729zM0 13.529c0 1.616 1.653 1.697 1.984 1.697 1.098 0 1.561-.297 1.58-.309a.29.29 0 0 0 .152-.264v-1.116a.186.186 0 0 0-.187-.187H2.151c-.104 0-.171.083-.171.187v.116c0 .104.067.187.171.187h.797a.14.14 0 0 1 .14.14v.52c-.157.065-.874.274-1.451.136-.836-.199-.901-.89-.901-1.096 0-.173.053-1.043 1.079-1.13.831-.071 1.378.264 1.384.268.098.051.199.014.254-.089l.104-.209c.043-.085.028-.175-.077-.246-.006-.004-.59-.319-1.494-.319C.055 11.813 0 13.354 0 13.529z"></path></svg></span> Direct USB Transfer</h4> <ol class="step-list svelte-1jd9mi2"><li class="svelte-1jd9mi2">Connect your Garmin device to your computer via USB</li> <li class="svelte-1jd9mi2">Open the device in File Explorer/Finder (it appears as a drive)</li> <li class="svelte-1jd9mi2">Navigate to <code class="path svelte-1jd9mi2">GARMIN\\WORKOUT</code> or <code class="path svelte-1jd9mi2">GARMIN\\NewFiles</code></li> <li class="svelte-1jd9mi2">Copy your .fit files into this folder</li> <li class="svelte-1jd9mi2">Safely eject the device</li> <li class="svelte-1jd9mi2">On your watch, go to an activity and select <strong class="svelte-1jd9mi2">"Do Workout"</strong> to find your imported workout</li></ol> <div class="warning-box svelte-1jd9mi2"><strong class="svelte-1jd9mi2">Note:</strong> Folder names may vary slightly by device model. If WORKOUT folder
54
- doesn't exist, try NewFiles instead.</div></div></div>`),Jr=ue(`<div class="help-section svelte-1jd9mi2"><div class="file-type-badge svelte-1jd9mi2">.mrc files</div> <p class="help-intro svelte-1jd9mi2">MRC (ERG) files are a standard format for indoor cycling workouts. TrainerRoad and many
54
+ doesn't exist, try NewFiles instead.</div></div></div>`),Vr=ue(`<div class="help-section svelte-1jd9mi2"><div class="file-type-badge svelte-1jd9mi2">.mrc files</div> <p class="help-intro svelte-1jd9mi2">MRC (ERG) files are a standard format for indoor cycling workouts. TrainerRoad and many
55
55
  other trainer apps support this format.</p> <div class="app-guide svelte-1jd9mi2"><h4 class="app-name svelte-1jd9mi2"><span class="app-logo trainerroad-color svelte-1jd9mi2"><svg viewBox="0 0 24 24" fill="currentColor" class="svelte-1jd9mi2"><path d="M20.289 14.039c.157-.064.44-.199.51-.234 1.105-.56 1.92-1.222 2.42-1.966.527-.756.8-1.658.78-2.579 0-1.253-.456-2.193-1.398-2.874-.922-.668-2.225-.971-3.874-1.012H1.357L0 8.421h5.528c.014 0 .028.005.038.016a.02.02 0 01.004.019L2.785 16.85h3.668c.063 0 .12-.041.14-.102l2.759-8.303a.043.043 0 01.042-.024l2.823.001c.014 0 .028.005.038.015a.02.02 0 01.004.019L9.473 16.85h3.669c.064 0 .12-.042.14-.103l.742-2.26a.043.043 0 01.042-.024s2.452.005 2.452.003c.864 1.363 1.807 2.878 2.616 4.16l3.844-.002c.118 0 .19-.13.125-.229l-2.832-4.321c-.01-.022.013-.025.018-.035zm-.45-3.355c-.437.412-1.185.612-2.163.612h-2.583l.952-2.874 2.353.001c1.14.017 1.826.514 1.838 1.337.007.35-.138.688-.397.924z"></path></svg></span> TrainerRoad (Desktop)</h4> <ol class="step-list svelte-1jd9mi2"><li class="svelte-1jd9mi2">Open the <strong class="svelte-1jd9mi2">TrainerRoad</strong> application</li> <li class="svelte-1jd9mi2">Go to <strong class="svelte-1jd9mi2">"Career"</strong> → <strong class="svelte-1jd9mi2">"Workouts"</strong></li> <li class="svelte-1jd9mi2">Click <strong class="svelte-1jd9mi2">"Import Workout"</strong> or drag and drop your .mrc file</li> <li class="svelte-1jd9mi2">The workout will appear in your personal workout library</li> <li class="svelte-1jd9mi2">You can now add it to your calendar or start it directly</li></ol> <div class="tip svelte-1jd9mi2"><strong class="svelte-1jd9mi2">Tip:</strong> TrainerRoad will automatically convert the workout to use your current
56
- FTP settings.</div></div> <div class="app-guide svelte-1jd9mi2"><h4 class="app-name svelte-1jd9mi2"><span class="app-logo trainerroad-color svelte-1jd9mi2"><svg viewBox="0 0 24 24" fill="currentColor" class="svelte-1jd9mi2"><path d="M20.289 14.039c.157-.064.44-.199.51-.234 1.105-.56 1.92-1.222 2.42-1.966.527-.756.8-1.658.78-2.579 0-1.253-.456-2.193-1.398-2.874-.922-.668-2.225-.971-3.874-1.012H1.357L0 8.421h5.528c.014 0 .028.005.038.016a.02.02 0 01.004.019L2.785 16.85h3.668c.063 0 .12-.041.14-.102l2.759-8.303a.043.043 0 01.042-.024l2.823.001c.014 0 .028.005.038.015a.02.02 0 01.004.019L9.473 16.85h3.669c.064 0 .12-.042.14-.103l.742-2.26a.043.043 0 01.042-.024s2.452.005 2.452.003c.864 1.363 1.807 2.878 2.616 4.16l3.844-.002c.118 0 .19-.13.125-.229l-2.832-4.321c-.01-.022.013-.025.018-.035zm-.45-3.355c-.437.412-1.185.612-2.163.612h-2.583l.952-2.874 2.353.001c1.14.017 1.826.514 1.838 1.337.007.35-.138.688-.397.924z"></path></svg></span> TrainerRoad (Mobile)</h4> <ol class="step-list svelte-1jd9mi2"><li class="svelte-1jd9mi2">Save the .mrc file to your phone (via email or cloud storage)</li> <li class="svelte-1jd9mi2">Open the TrainerRoad app</li> <li class="svelte-1jd9mi2">Go to <strong class="svelte-1jd9mi2">"Train"</strong> → <strong class="svelte-1jd9mi2">"Custom"</strong></li> <li class="svelte-1jd9mi2">Tap <strong class="svelte-1jd9mi2">"Import"</strong> and select your file</li></ol></div> <div class="app-guide svelte-1jd9mi2"><h4 class="app-name svelte-1jd9mi2"><span class="app-logo rouvy-color svelte-1jd9mi2"><svg viewBox="0 0 24 24" fill="currentColor" class="svelte-1jd9mi2"><path d="M5 4h8a5 5 0 0 1 0 10h-3l6 6h-4l-6-6H5V4zm2 2v6h6a3 3 0 0 0 0-6H7z"></path></svg></span> Rouvy</h4> <ol class="step-list svelte-1jd9mi2"><li class="svelte-1jd9mi2">Open Rouvy on your computer</li> <li class="svelte-1jd9mi2">Go to <strong class="svelte-1jd9mi2">"Workouts"</strong></li> <li class="svelte-1jd9mi2">Click <strong class="svelte-1jd9mi2">"Import"</strong></li> <li class="svelte-1jd9mi2">Select your .mrc file</li> <li class="svelte-1jd9mi2">The workout will be added to your library</li></ol></div></div>`),Yr=ue(`<div class="help-section svelte-1jd9mi2"><p class="help-intro svelte-1jd9mi2">Many training apps support standard file formats. Here's a general guide for different
56
+ FTP settings.</div></div> <div class="app-guide svelte-1jd9mi2"><h4 class="app-name svelte-1jd9mi2"><span class="app-logo trainerroad-color svelte-1jd9mi2"><svg viewBox="0 0 24 24" fill="currentColor" class="svelte-1jd9mi2"><path d="M20.289 14.039c.157-.064.44-.199.51-.234 1.105-.56 1.92-1.222 2.42-1.966.527-.756.8-1.658.78-2.579 0-1.253-.456-2.193-1.398-2.874-.922-.668-2.225-.971-3.874-1.012H1.357L0 8.421h5.528c.014 0 .028.005.038.016a.02.02 0 01.004.019L2.785 16.85h3.668c.063 0 .12-.041.14-.102l2.759-8.303a.043.043 0 01.042-.024l2.823.001c.014 0 .028.005.038.015a.02.02 0 01.004.019L9.473 16.85h3.669c.064 0 .12-.042.14-.103l.742-2.26a.043.043 0 01.042-.024s2.452.005 2.452.003c.864 1.363 1.807 2.878 2.616 4.16l3.844-.002c.118 0 .19-.13.125-.229l-2.832-4.321c-.01-.022.013-.025.018-.035zm-.45-3.355c-.437.412-1.185.612-2.163.612h-2.583l.952-2.874 2.353.001c1.14.017 1.826.514 1.838 1.337.007.35-.138.688-.397.924z"></path></svg></span> TrainerRoad (Mobile)</h4> <ol class="step-list svelte-1jd9mi2"><li class="svelte-1jd9mi2">Save the .mrc file to your phone (via email or cloud storage)</li> <li class="svelte-1jd9mi2">Open the TrainerRoad app</li> <li class="svelte-1jd9mi2">Go to <strong class="svelte-1jd9mi2">"Train"</strong> → <strong class="svelte-1jd9mi2">"Custom"</strong></li> <li class="svelte-1jd9mi2">Tap <strong class="svelte-1jd9mi2">"Import"</strong> and select your file</li></ol></div> <div class="app-guide svelte-1jd9mi2"><h4 class="app-name svelte-1jd9mi2"><span class="app-logo rouvy-color svelte-1jd9mi2"><svg viewBox="0 0 24 24" fill="currentColor" class="svelte-1jd9mi2"><path d="M5 4h8a5 5 0 0 1 0 10h-3l6 6h-4l-6-6H5V4zm2 2v6h6a3 3 0 0 0 0-6H7z"></path></svg></span> Rouvy</h4> <ol class="step-list svelte-1jd9mi2"><li class="svelte-1jd9mi2">Open Rouvy on your computer</li> <li class="svelte-1jd9mi2">Go to <strong class="svelte-1jd9mi2">"Workouts"</strong></li> <li class="svelte-1jd9mi2">Click <strong class="svelte-1jd9mi2">"Import"</strong></li> <li class="svelte-1jd9mi2">Select your .mrc file</li> <li class="svelte-1jd9mi2">The workout will be added to your library</li></ol></div></div>`),Jr=ue(`<div class="help-section svelte-1jd9mi2"><p class="help-intro svelte-1jd9mi2">Many training apps support standard file formats. Here's a general guide for different
57
57
  file types.</p> <div class="file-format-guide svelte-1jd9mi2"><h4 class="format-title svelte-1jd9mi2"><span class="file-type-badge small svelte-1jd9mi2">.ics</span> Calendar Files</h4> <p class="svelte-1jd9mi2">Universal calendar format. Works with virtually any calendar application including
58
58
  Google Calendar, Apple Calendar, Outlook, and more.</p> <div class="compatible-apps svelte-1jd9mi2"><span class="app-tag svelte-1jd9mi2">Google Calendar</span> <span class="app-tag svelte-1jd9mi2">Apple Calendar</span> <span class="app-tag svelte-1jd9mi2">Outlook</span> <span class="app-tag svelte-1jd9mi2">Yahoo Calendar</span> <span class="app-tag svelte-1jd9mi2">Thunderbird</span></div></div> <div class="file-format-guide svelte-1jd9mi2"><h4 class="format-title svelte-1jd9mi2"><span class="file-type-badge small svelte-1jd9mi2">.zwo</span> Zwift Workout Files</h4> <p class="svelte-1jd9mi2">Structured workouts with power/pace targets. Primarily designed for Zwift but some
59
59
  other apps can convert these.</p> <div class="compatible-apps svelte-1jd9mi2"><span class="app-tag svelte-1jd9mi2">Zwift</span> <span class="app-tag svelte-1jd9mi2">What's on Zwift</span></div></div> <div class="file-format-guide svelte-1jd9mi2"><h4 class="format-title svelte-1jd9mi2"><span class="file-type-badge small svelte-1jd9mi2">.fit</span> Garmin FIT Files</h4> <p class="svelte-1jd9mi2">Industry-standard fitness file format. Works with Garmin devices and many other
60
- fitness platforms.</p> <div class="compatible-apps svelte-1jd9mi2"><span class="app-tag svelte-1jd9mi2">Garmin Connect</span> <span class="app-tag svelte-1jd9mi2">Wahoo SYSTM</span> <span class="app-tag svelte-1jd9mi2">Strava</span> <span class="app-tag svelte-1jd9mi2">Training Peaks</span></div></div> <div class="file-format-guide svelte-1jd9mi2"><h4 class="format-title svelte-1jd9mi2"><span class="file-type-badge small svelte-1jd9mi2">.mrc</span> ERG/MRC Files</h4> <p class="svelte-1jd9mi2">Classic indoor trainer workout format. Widely supported by bike trainer applications.</p> <div class="compatible-apps svelte-1jd9mi2"><span class="app-tag svelte-1jd9mi2">TrainerRoad</span> <span class="app-tag svelte-1jd9mi2">Rouvy</span> <span class="app-tag svelte-1jd9mi2">Wahoo SYSTM</span> <span class="app-tag svelte-1jd9mi2">PerfPro</span> <span class="app-tag svelte-1jd9mi2">Golden Cheetah</span></div></div> <div class="general-tips svelte-1jd9mi2"><h4 class="svelte-1jd9mi2">General Import Tips</h4> <ul class="svelte-1jd9mi2"><li class="svelte-1jd9mi2">Most apps have an "Import" option in the workouts or training section</li> <li class="svelte-1jd9mi2">If drag-and-drop doesn't work, look for a menu option or button</li> <li class="svelte-1jd9mi2">Some apps may require a premium subscription for workout imports</li> <li class="svelte-1jd9mi2">Make sure your FTP/threshold settings are up to date in the target app</li> <li class="svelte-1jd9mi2">If a workout looks wrong, check that units (watts, pace) match between apps</li></ul></div></div>`),Xr=ue('<div class="modal-overlay active svelte-1jd9mi2" role="dialog" aria-modal="true" tabindex="-1"><div class="modal import-help-modal svelte-1jd9mi2"><div class="modal-fixed-header svelte-1jd9mi2"><div class="modal-header svelte-1jd9mi2"><div><h2 class="modal-title svelte-1jd9mi2">Import Workouts to Your Apps</h2> <p class="modal-subtitle svelte-1jd9mi2">Step-by-step guides for importing your exported files</p></div> <button class="modal-close svelte-1jd9mi2">×</button></div> <div class="help-tabs svelte-1jd9mi2"></div></div> <div class="modal-body svelte-1jd9mi2"><!> <!> <!> <!> <!></div></div></div>');function Qr(e,s){gs(s,!0);let t=Fe("calendar");function a(P){P.key==="Escape"&&s.onClose()}function i(P){P.target.classList.contains("modal-overlay")&&s.onClose()}const n=[{id:"calendar",label:"Calendar Apps"},{id:"zwift",label:"Zwift"},{id:"garmin",label:"Garmin"},{id:"trainerroad",label:"TrainerRoad"},{id:"generic",label:"Other Apps"}];var o=Xr();_s("keydown",pt,a);var l=L(o),r=L(l),m=L(r),v=D(L(m),2),h=D(m,2);He(h,21,()=>n,ss,(P,j)=>{var O=Zr();let Y;var se=L(O);_e(()=>{Y=Re(O,1,"help-tab svelte-1jd9mi2",null,Y,{active:A(t)===A(j).id}),pe(se,A(j).label)}),ie("click",O,()=>te(t,A(j).id,!0)),oe(P,O)});var d=D(r,2),c=L(d);{var g=P=>{var j=Kr();oe(P,j)};Ae(c,P=>{A(t)==="calendar"&&P(g)})}var p=D(c,2);{var b=P=>{var j=qr();oe(P,j)};Ae(p,P=>{A(t)==="zwift"&&P(b)})}var y=D(p,2);{var w=P=>{var j=Vr();oe(P,j)};Ae(y,P=>{A(t)==="garmin"&&P(w)})}var F=D(y,2);{var x=P=>{var j=Jr();oe(P,j)};Ae(F,P=>{A(t)==="trainerroad"&&P(x)})}var S=D(F,2);{var U=P=>{var j=Yr();oe(P,j)};Ae(S,P=>{A(t)==="generic"&&P(U)})}ie("click",o,i),ie("keydown",o,a),ie("click",v,function(...P){s.onClose?.apply(this,P)}),oe(e,o),vs()}Ps(["click","keydown"]);var $r=ue('<div class="local-storage-banner svelte-5d96j5"><div class="banner-content svelte-5d96j5"><span class="banner-icon svelte-5d96j5"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-5d96j5"><circle cx="12" cy="12" r="10"></circle><path d="M12 16v-4M12 8h.01"></path></svg></span> <p class="svelte-5d96j5">Your changes are saved locally in this browser only. To back up or transfer your data, <button class="banner-link svelte-5d96j5">export it from Settings</button>.</p> <button class="banner-close svelte-5d96j5" aria-label="Dismiss"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-5d96j5"><path d="M18 6L6 18M6 6l12 12"></path></svg></button></div></div>'),eu=ue('<!> <div class="app"><!> <main class="main-content svelte-5d96j5"><div class="mobile-header svelte-5d96j5"><button class="menu-toggle svelte-5d96j5">☰</button> <h2 class="mobile-title svelte-5d96j5"> </h2></div> <!></main></div> <!> <!> <!>',1);function su(e,s){gs(s,!0);let t=Fe(Oe(Sr())),a=Fe(Oe(Uo())),i=Fe(Oe(jo())),n=Fe(Oe({sport:"all",status:"all"})),o=Fe(!1),l=Fe(!1),r=Fe(!1);const m=`plan-${qe.meta.id}-banner-dismissed`;let v=Fe(!1);function h(){localStorage.getItem(m)!=="true"&&te(v,!0)}function d(){te(v,!1),localStorage.setItem(m,"true")}let c=Fe(null);Ea(()=>{document.documentElement.setAttribute("data-theme",A(t).theme)}),Ea(()=>{qe.weeks?.forEach(H=>{H.days?.forEach(J=>{J.workouts?.forEach(q=>{q.completed=!!A(a)[q.id]})})})});function g(H){te(t,H,!0),_r(H)}function p(H){A(a)[H]?(delete A(a)[H],te(a,{...A(a)},!0)):te(a,{...A(a),[H]:!0},!0),Ho(A(a)),h()}function b(H,J){te(c,{mode:"view",workout:H,day:J},!0)}function y(H){te(c,{mode:"create",day:H},!0)}function w(){te(c,null)}function F(H,J,q){J===q?delete A(i).moved[H]:A(i).moved[H]=q,te(i,{...A(i)},!0),kt(A(i)),h()}function x(H){if(A(c))if(A(c).mode==="create"){const J=Go(),q={id:J,sport:H.sport||"run",type:H.type||"endurance",name:H.name||"Workout",description:H.description||"",durationMinutes:H.durationMinutes,distanceMeters:H.distanceMeters,primaryZone:H.primaryZone,humanReadable:H.humanReadable,completed:!1};A(i).added[J]={date:A(c).day.date,workout:q},te(i,{...A(i)},!0),kt(A(i)),h(),te(c,null)}else{const J=A(c).workout.id;A(i).added[J]?A(i).added[J].workout={...A(i).added[J].workout,...H}:A(i).edited[J]={...A(i).edited[J]||{},...H},te(i,{...A(i)},!0),kt(A(i)),h(),te(c,{...A(c),workout:{...A(c).workout,...H}},!0)}}function S(H){A(i).added[H]?delete A(i).added[H]:A(i).deleted.includes(H)||(A(i).deleted=[...A(i).deleted,H]),te(i,{...A(i)},!0),kt(A(i)),h(),te(c,null)}var U=eu(),P=ts(U);{var j=H=>{var J=$r(),q=L(J),fe=D(L(q),2),Ce=D(L(fe)),me=D(fe,2);ie("click",Ce,()=>{d(),te(l,!0)}),ie("click",me,d),oe(H,J)};Ae(P,H=>{A(v)&&H(j)})}var O=D(P,2),Y=L(O);No(Y,{get plan(){return qe},get settings(){return A(t)},get filters(){return A(n)},get completed(){return A(a)},onFilterChange:H=>te(n,H,!0),onSettingsClick:()=>te(l,!0),onImportHelpClick:()=>te(r,!0),get open(){return A(o)},set open(H){te(o,H,!0)}});var se=D(Y,2),k=L(se),G=L(k),f=D(G,2),V=L(f),ce=D(k,2);tr(ce,{get plan(){return qe},get settings(){return A(t)},get filters(){return A(n)},get completed(){return A(a)},get changes(){return A(i)},onWorkoutClick:b,onWorkoutMove:F,onAddWorkout:y});var X=D(O,2);{var ge=H=>{{let J=Ie(()=>A(c).mode==="view"?A(c).workout:null),q=Ie(()=>A(c).mode==="view"&&!!A(a)[A(c).workout.id]);Fr(H,{get workout(){return A(J)},get day(){return A(c).day},get mode(){return A(c).mode},get isCompleted(){return A(q)},get settings(){return A(t)},onClose:w,onToggleComplete:p,onSave:x,onDelete:S,onImportHelpClick:()=>te(r,!0)})}};Ae(X,H=>{A(c)&&H(ge)})}var Q=D(X,2);{var ne=H=>{Gr(H,{get settings(){return A(t)},onClose:()=>te(l,!1),onChange:g,onOpenImportHelp:()=>te(r,!0)})};Ae(Q,H=>{A(l)&&H(ne)})}var E=D(Q,2);{var I=H=>{Qr(H,{onClose:()=>te(r,!1)})};Ae(E,H=>{A(r)&&H(I)})}_e(()=>pe(V,qe.meta?.event??"Training Plan")),ie("click",G,()=>te(o,!A(o))),oe(e,U),vs()}Ps(["click"]);pl(su,{target:document.getElementById("app")});</script>
61
- <style rel="stylesheet" crossorigin>*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root,[data-theme=dark]{--bg-primary: #0a0a0b;--bg-secondary: #141416;--bg-tertiary: #1c1c1f;--bg-elevated: #232327;--text-primary: #fafafa;--text-secondary: #a1a1aa;--text-muted: #71717a;--border-subtle: rgba(255, 255, 255, .06);--border-medium: rgba(255, 255, 255, .1);--swim: #06b6d4;--swim-glow: rgba(6, 182, 212, .15);--swim-dark: #0e7490;--bike: #22c55e;--bike-glow: rgba(34, 197, 94, .15);--bike-dark: #15803d;--run: #f97316;--run-glow: rgba(249, 115, 22, .15);--run-dark: #c2410c;--strength: #a855f7;--strength-glow: rgba(168, 85, 247, .15);--strength-dark: #7e22ce;--brick: #ec4899;--brick-glow: rgba(236, 72, 153, .15);--brick-dark: #be185d;--race: #eab308;--race-glow: rgba(234, 179, 8, .2);--race-dark: #a16207;--rest: #52525b;--rest-glow: rgba(82, 82, 91, .15);--accent: #eab308;--accent-glow: rgba(234, 179, 8, .2);--phase-base: #3b82f6;--phase-build: #8b5cf6;--phase-peak: #ec4899;--phase-taper: #14b8a6;--transition-fast: .15s;--transition-normal: .25s;--transition-slow: .4s;--sidebar-width: 320px}[data-theme=light]{--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-tertiary: #f1f5f9;--bg-elevated: #e2e8f0;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--border-subtle: rgba(0, 0, 0, .06);--border-medium: rgba(0, 0, 0, .12);--swim: #0891b2;--swim-glow: rgba(8, 145, 178, .12);--swim-dark: #0e7490;--bike: #16a34a;--bike-glow: rgba(22, 163, 74, .12);--bike-dark: #15803d;--run: #ea580c;--run-glow: rgba(234, 88, 12, .12);--run-dark: #c2410c;--strength: #9333ea;--strength-glow: rgba(147, 51, 234, .12);--strength-dark: #7e22ce;--brick: #db2777;--brick-glow: rgba(219, 39, 119, .12);--brick-dark: #be185d;--race: #ca8a04;--race-glow: rgba(202, 138, 4, .15);--race-dark: #a16207;--rest: #71717a;--rest-glow: rgba(113, 113, 122, .1);--accent: #ca8a04;--accent-glow: rgba(202, 138, 4, .15)}html{font-size:15px;scroll-behavior:smooth}body{font-family:Outfit,-apple-system,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--bg-elevated);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app{display:flex;min-height:100vh}button{font-family:inherit;cursor:pointer}input,select{font-family:inherit}input:focus,select:focus{outline:none}.sidebar.svelte-dkgmtr{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border-subtle);padding:2rem 1.5rem;display:flex;flex-direction:column;gap:2rem;position:fixed;top:0;left:0;height:100vh;overflow-y:auto;z-index:100}.event-header.svelte-dkgmtr{text-align:center;padding-bottom:1.5rem;border-bottom:1px solid var(--border-subtle)}.event-name.svelte-dkgmtr{font-family:Playfair Display,serif;font-size:1.8rem;font-weight:700;letter-spacing:-.02em;background:linear-gradient(135deg,var(--text-primary),var(--text-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.event-date.svelte-dkgmtr{font-family:JetBrains Mono,monospace;font-size:.85rem;color:var(--accent);font-weight:500;letter-spacing:.05em}.athlete-name.svelte-dkgmtr{font-size:.9rem;color:var(--text-muted);margin-top:.5rem}.progress-section.svelte-dkgmtr{text-align:center}.progress-ring-container.svelte-dkgmtr{position:relative;width:140px;height:140px;margin:0 auto 1rem}.progress-ring.svelte-dkgmtr{transform:rotate(-90deg)}.progress-ring-bg.svelte-dkgmtr{fill:none;stroke:var(--bg-tertiary);stroke-width:8}.progress-ring-fill.svelte-dkgmtr{fill:none;stroke:url(#progressGradient);stroke-width:8;stroke-linecap:round;stroke-dasharray:377;transition:stroke-dashoffset 1s ease-out}.progress-text.svelte-dkgmtr{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.progress-percent.svelte-dkgmtr{font-family:JetBrains Mono,monospace;font-size:2rem;font-weight:500;color:var(--text-primary)}.progress-label.svelte-dkgmtr{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em}.stats-grid.svelte-dkgmtr{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-card.svelte-dkgmtr{background:var(--bg-tertiary);border-radius:12px;padding:1rem;text-align:center;border:1px solid var(--border-subtle)}.stat-value.svelte-dkgmtr{font-family:JetBrains Mono,monospace;font-size:1.4rem;font-weight:500;color:var(--text-primary)}.stat-label.svelte-dkgmtr{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-top:.25rem}.sport-stats.svelte-dkgmtr{display:flex;flex-direction:column;gap:.5rem}.sport-stats-header.svelte-dkgmtr{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.sport-stats-header.svelte-dkgmtr h3:where(.svelte-dkgmtr){font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.clear-filter.svelte-dkgmtr{font-size:.7rem;color:var(--accent);background:none;border:none;padding:0;cursor:pointer;text-transform:uppercase;letter-spacing:.05em;font-weight:500}.clear-filter.svelte-dkgmtr:hover{text-decoration:underline}.sport-stat.svelte-dkgmtr{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg-tertiary);border-radius:10px;border:1px solid var(--border-subtle);cursor:pointer;transition:all var(--transition-fast);width:100%;text-align:left}.sport-stat.svelte-dkgmtr:hover{background:var(--bg-elevated);border-color:var(--border-medium)}.sport-stat.active.svelte-dkgmtr{border-color:var(--text-muted)}.sport-stat.active.swim.svelte-dkgmtr{border-color:var(--swim);background:var(--swim-glow)}.sport-stat.active.bike.svelte-dkgmtr{border-color:var(--bike);background:var(--bike-glow)}.sport-stat.active.run.svelte-dkgmtr{border-color:var(--run);background:var(--run-glow)}.sport-stat.active.strength.svelte-dkgmtr{border-color:var(--strength);background:var(--strength-glow)}.sport-stat.active.brick.svelte-dkgmtr{border-color:var(--brick);background:var(--brick-glow)}.sport-stat.active.race.svelte-dkgmtr{border-color:var(--race);background:var(--race-glow)}.sport-icon.svelte-dkgmtr{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.sport-icon.swim.svelte-dkgmtr{background:var(--swim-glow)}.sport-icon.bike.svelte-dkgmtr{background:var(--bike-glow)}.sport-icon.run.svelte-dkgmtr{background:var(--run-glow)}.sport-icon.strength.svelte-dkgmtr{background:var(--strength-glow)}.sport-icon.brick.svelte-dkgmtr{background:var(--brick-glow)}.sport-icon.race.svelte-dkgmtr{background:var(--race-glow)}.sport-info.svelte-dkgmtr{flex:1}.sport-name.svelte-dkgmtr{font-size:.85rem;font-weight:500;color:var(--text-primary)}.sport-hours.svelte-dkgmtr{font-family:JetBrains Mono,monospace;font-size:.8rem;color:var(--text-muted)}.check-icon.svelte-dkgmtr{color:var(--accent);font-weight:600;font-size:.9rem}.filters-section.svelte-dkgmtr h3:where(.svelte-dkgmtr){font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:.75rem}.filter-group.svelte-dkgmtr{display:flex;flex-wrap:wrap;gap:.5rem}.filter-chip.svelte-dkgmtr{padding:.4rem .8rem;font-size:.8rem;font-weight:500;border-radius:20px;border:1px solid var(--border-medium);background:transparent;color:var(--text-secondary);transition:all var(--transition-fast)}.filter-chip.svelte-dkgmtr:hover{background:var(--bg-elevated);border-color:var(--border-medium);color:var(--text-primary)}.filter-chip.active.svelte-dkgmtr{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}.settings-btn.svelte-dkgmtr{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem 1rem;border-radius:10px;background:var(--bg-tertiary);border:1px solid var(--border-medium);color:var(--text-secondary);font-size:.85rem;font-weight:500;transition:all var(--transition-fast)}.settings-btn.svelte-dkgmtr:hover{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-medium)}.settings-btn.svelte-dkgmtr svg:where(.svelte-dkgmtr){width:18px;height:18px}.export-section.svelte-dkgmtr{display:flex;flex-direction:column;gap:.75rem}.export-status.svelte-dkgmtr{font-size:.75rem;color:var(--accent);padding:.4rem .75rem;background:var(--accent-glow);border-radius:6px;text-align:center}.export-status.error.svelte-dkgmtr{color:#ef4444;background:#ef44441a}.export-main.svelte-dkgmtr{position:relative}.export-main-btn.svelte-dkgmtr{display:flex;align-items:center;gap:.75rem;width:100%;padding:1rem 1.25rem;border-radius:12px;background:linear-gradient(135deg,var(--accent),var(--run));border:none;color:#fff;font-size:.85rem;font-weight:500;transition:all var(--transition-fast);cursor:pointer;text-align:left}.export-main-btn.svelte-dkgmtr:hover{transform:translateY(-1px);box-shadow:0 4px 12px #eab3084d}.export-main-btn.svelte-dkgmtr:active{transform:translateY(0)}.export-main-btn.svelte-dkgmtr>svg:where(.svelte-dkgmtr):first-child{width:24px;height:24px;flex-shrink:0}.export-main-text.svelte-dkgmtr{display:flex;flex-direction:column;gap:.15rem;flex:1}.export-main-title.svelte-dkgmtr{font-size:.95rem;font-weight:600}.export-main-desc.svelte-dkgmtr{font-size:.7rem;opacity:.85}.dropdown-arrow.svelte-dkgmtr{width:16px;height:16px;opacity:.8;transition:transform var(--transition-fast)}.dropdown-arrow.open.svelte-dkgmtr{transform:rotate(180deg)}.export-divider.svelte-dkgmtr{height:1px;background:var(--border-subtle);margin:.25rem 0}.export-menu.svelte-dkgmtr{position:absolute;bottom:calc(100% + 8px);left:0;right:0;background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:10px;padding:.5rem;z-index:10;box-shadow:0 4px 20px #0000004d}.export-option.svelte-dkgmtr{display:flex;align-items:center;gap:.75rem;width:100%;padding:.6rem;border:none;background:transparent;color:var(--text-primary);border-radius:6px;cursor:pointer;transition:background var(--transition-fast);text-align:left}.export-option.svelte-dkgmtr:hover{background:var(--bg-tertiary)}.export-icon.svelte-dkgmtr{width:28px;height:28px;border-radius:6px;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.75rem;color:var(--accent);flex-shrink:0}.export-icon.calendar.svelte-dkgmtr{background:var(--accent-glow)}.export-icon.calendar.svelte-dkgmtr svg:where(.svelte-dkgmtr){width:16px;height:16px}.export-name.svelte-dkgmtr{font-size:.8rem;font-weight:500}.export-desc.svelte-dkgmtr{font-size:.7rem;color:var(--text-muted)}.import-help-link.svelte-dkgmtr{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.6rem .75rem;border-radius:8px;background:transparent;border:1px dashed var(--border-medium);color:var(--text-muted);font-size:.75rem;font-weight:500;transition:all var(--transition-fast);margin-top:.5rem}.import-help-link.svelte-dkgmtr:hover{background:var(--bg-tertiary);color:var(--text-secondary);border-color:var(--border-medium);border-style:solid}.import-help-link.svelte-dkgmtr svg:where(.svelte-dkgmtr){width:14px;height:14px}@media(max-width:700px){.sidebar.svelte-dkgmtr{left:-100%;transition:left var(--transition-normal)}.sidebar.open.svelte-dkgmtr{left:0}}.workout-card.svelte-ynjai0{width:100%;text-align:left;padding:.6rem .75rem;border-radius:8px;cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent;position:relative;overflow:hidden}.workout-card.svelte-ynjai0:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}.workout-card.swim.svelte-ynjai0{background:var(--swim-glow)}.workout-card.swim.svelte-ynjai0:before{background:var(--swim)}.workout-card.bike.svelte-ynjai0{background:var(--bike-glow)}.workout-card.bike.svelte-ynjai0:before{background:var(--bike)}.workout-card.run.svelte-ynjai0{background:var(--run-glow)}.workout-card.run.svelte-ynjai0:before{background:var(--run)}.workout-card.strength.svelte-ynjai0{background:var(--strength-glow)}.workout-card.strength.svelte-ynjai0:before{background:var(--strength)}.workout-card.brick.svelte-ynjai0{background:var(--brick-glow)}.workout-card.brick.svelte-ynjai0:before{background:var(--brick)}.workout-card.race.svelte-ynjai0{background:var(--race-glow)}.workout-card.race.svelte-ynjai0:before{background:var(--race)}.workout-card.rest.svelte-ynjai0{background:var(--rest-glow)}.workout-card.rest.svelte-ynjai0:before{background:var(--rest)}.workout-card.svelte-ynjai0:hover{transform:translateY(-2px);box-shadow:0 4px 20px #0000004d}.workout-card.dragging.svelte-ynjai0{opacity:.5;transform:scale(.95);cursor:grabbing}.workout-card.svelte-ynjai0:not(.dragging){cursor:grab}.workout-card.completed.svelte-ynjai0{opacity:.6}.workout-card.completed.svelte-ynjai0:after{content:"✓";position:absolute;top:.4rem;right:.5rem;font-size:.7rem;color:var(--text-muted)}.workout-sport.svelte-ynjai0{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.2rem}.workout-card.swim.svelte-ynjai0 .workout-sport:where(.svelte-ynjai0){color:var(--swim)}.workout-card.bike.svelte-ynjai0 .workout-sport:where(.svelte-ynjai0){color:var(--bike)}.workout-card.run.svelte-ynjai0 .workout-sport:where(.svelte-ynjai0){color:var(--run)}.workout-card.strength.svelte-ynjai0 .workout-sport:where(.svelte-ynjai0){color:var(--strength)}.workout-card.brick.svelte-ynjai0 .workout-sport:where(.svelte-ynjai0){color:var(--brick)}.workout-card.race.svelte-ynjai0 .workout-sport:where(.svelte-ynjai0){color:var(--race)}.workout-card.rest.svelte-ynjai0 .workout-sport:where(.svelte-ynjai0){color:var(--rest)}.workout-name.svelte-ynjai0{font-size:.8rem;font-weight:500;color:var(--text-primary);line-height:1.3}.workout-duration.svelte-ynjai0{font-family:JetBrains Mono,monospace;font-size:.7rem;color:var(--text-muted);margin-top:.3rem}.week-card.svelte-ldqnzx{background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-subtle);overflow:hidden;opacity:0;transform:translateY(20px);animation:svelte-ldqnzx-slideUp .5s ease forwards}@keyframes svelte-ldqnzx-slideUp{to{opacity:1;transform:translateY(0)}}.week-header.svelte-ldqnzx{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border-subtle)}.week-title.svelte-ldqnzx{display:flex;align-items:center;gap:1rem}.week-number.svelte-ldqnzx{font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:500;padding:.3rem .6rem;border-radius:6px;background:var(--bg-primary);color:var(--text-secondary)}.week-phase.svelte-ldqnzx{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.week-phase.base.svelte-ldqnzx{color:var(--phase-base)}.week-phase.build.svelte-ldqnzx{color:var(--phase-build)}.week-phase.peak.svelte-ldqnzx{color:var(--phase-peak)}.week-phase.taper.svelte-ldqnzx{color:var(--phase-taper)}.week-phase.survival.svelte-ldqnzx{color:var(--text-muted)}.week-phase.bank.svelte-ldqnzx{color:var(--phase-base)}.week-focus.svelte-ldqnzx{font-size:.85rem;color:var(--text-muted)}.week-hours.svelte-ldqnzx{font-family:JetBrains Mono,monospace;font-size:.9rem;color:var(--text-secondary)}.week-hours.svelte-ldqnzx span:where(.svelte-ldqnzx){color:var(--text-primary);font-weight:500}.days-grid.svelte-ldqnzx{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border-subtle)}.day-column.svelte-ldqnzx{background:var(--bg-secondary);min-height:160px;padding:.75rem;display:flex;flex-direction:column;gap:.5rem;transition:background-color .15s ease}.day-column.today.svelte-ldqnzx{background:var(--bg-tertiary)}.day-column.today.svelte-ldqnzx .day-name:where(.svelte-ldqnzx){color:var(--accent)}.day-column.drag-over.svelte-ldqnzx{background:var(--accent-glow);outline:2px dashed var(--accent);outline-offset:-2px}.day-header.svelte-ldqnzx{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-subtle)}.day-name.svelte-ldqnzx{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.day-date.svelte-ldqnzx{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--text-muted)}.empty-day.svelte-ldqnzx{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.8rem;font-style:italic}.add-workout-btn.svelte-ldqnzx{margin-top:auto;padding:.5rem;border:1px dashed var(--border-medium);border-radius:8px;background:transparent;color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);opacity:0}.day-column.svelte-ldqnzx:hover .add-workout-btn:where(.svelte-ldqnzx){opacity:1}.add-workout-btn.svelte-ldqnzx:hover{background:var(--bg-elevated);border-color:var(--border-medium);color:var(--text-primary)}.add-workout-btn.svelte-ldqnzx svg:where(.svelte-ldqnzx){width:16px;height:16px}@media(max-width:1200px){.days-grid.svelte-ldqnzx{grid-template-columns:repeat(4,1fr)}}@media(max-width:900px){.days-grid.svelte-ldqnzx{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.days-grid.svelte-ldqnzx{grid-template-columns:1fr}}.phase-timeline.svelte-aq400f{display:flex;gap:4px;margin-bottom:1.5rem;padding:0 1rem}.phase-segment.svelte-aq400f{flex:1;height:28px;border-radius:6px;border:none;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:linear-gradient(135deg,#64748b,#475569)}.phase-segment.svelte-aq400f:hover{filter:brightness(1.2)}.phase-segment.svelte-aq400f:active{transform:scale(.98)}.phase-label.svelte-aq400f{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#ffffffe6;text-shadow:0 1px 2px rgba(0,0,0,.3)}.phase-segment.base.svelte-aq400f{background:linear-gradient(135deg,#3b82f6,#2563eb)}.phase-segment.build.svelte-aq400f{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.phase-segment.peak.svelte-aq400f{background:linear-gradient(135deg,#ec4899,#db2777)}.phase-segment.taper.svelte-aq400f{background:linear-gradient(135deg,#14b8a6,#0d9488)}.phase-segment.recovery.svelte-aq400f{background:linear-gradient(135deg,#6b7280,#4b5563)}.phase-segment.rebuild.svelte-aq400f{background:linear-gradient(135deg,#f97316,#ea580c)}.phase-segment.survival.svelte-aq400f{background:linear-gradient(135deg,#f59e0b,#d97706)}.phase-segment.bank.svelte-aq400f{background:linear-gradient(135deg,#10b981,#059669)}.weeks-container.svelte-aq400f{display:flex;flex-direction:column;gap:1.5rem}.modal-overlay.svelte-12rtkin{position:fixed;inset:0;background:#000c;backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:2rem;opacity:0;visibility:hidden;transition:all var(--transition-normal)}.modal-overlay.active.svelte-12rtkin{opacity:1;visibility:visible}.modal.svelte-12rtkin{background:var(--bg-secondary);border-radius:20px;max-width:600px;width:100%;max-height:85vh;overflow:hidden;transform:scale(.9) translateY(20px);transition:transform var(--transition-normal);border:1px solid var(--border-medium);position:relative;display:flex;flex-direction:column}.modal-overlay.active.svelte-12rtkin .modal:where(.svelte-12rtkin){transform:scale(1) translateY(0)}.modal-header.svelte-12rtkin{padding:1.5rem 2rem;border-bottom:1px solid var(--border-subtle);display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-shrink:0}.modal-sport-badge.svelte-12rtkin{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .8rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.modal-sport-badge.swim.svelte-12rtkin{background:var(--swim-glow);color:var(--swim)}.modal-sport-badge.bike.svelte-12rtkin{background:var(--bike-glow);color:var(--bike)}.modal-sport-badge.run.svelte-12rtkin{background:var(--run-glow);color:var(--run)}.modal-sport-badge.strength.svelte-12rtkin{background:var(--strength-glow);color:var(--strength)}.modal-sport-badge.brick.svelte-12rtkin{background:var(--brick-glow);color:var(--brick)}.modal-sport-badge.race.svelte-12rtkin{background:var(--race-glow);color:var(--race)}.modal-sport-badge.rest.svelte-12rtkin{background:var(--rest-glow);color:var(--rest)}.modal-title.svelte-12rtkin{font-size:1.4rem;font-weight:600;color:var(--text-primary)}.modal-date.svelte-12rtkin{font-family:JetBrains Mono,monospace;font-size:.85rem;color:var(--text-muted);margin-top:.25rem}.modal-close.svelte-12rtkin{width:36px;height:36px;border-radius:50%;border:1px solid var(--border-medium);background:transparent;color:var(--text-muted);font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);flex-shrink:0}.modal-close.svelte-12rtkin:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-body.svelte-12rtkin{padding:1.5rem 2rem;overflow-y:auto;flex:1}.modal-stats.svelte-12rtkin{display:flex;gap:1.5rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-subtle)}.modal-stat.svelte-12rtkin{text-align:center}.modal-stat-value.svelte-12rtkin{font-family:JetBrains Mono,monospace;font-size:1.5rem;font-weight:500;color:var(--text-primary)}.modal-stat-label.svelte-12rtkin{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.modal-section.svelte-12rtkin{margin-bottom:1.5rem}.modal-section-title.svelte-12rtkin{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:.75rem}.modal-description.svelte-12rtkin{font-size:.95rem;color:var(--text-secondary);line-height:1.7}.workout-structure.svelte-12rtkin{background:var(--bg-tertiary);border-radius:12px;padding:1rem;font-family:JetBrains Mono,monospace;font-size:.85rem;line-height:1.8;color:var(--text-secondary);white-space:pre-wrap;margin:0}.form-grid.svelte-12rtkin{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-row.svelte-12rtkin{display:flex;flex-direction:column;gap:.5rem}.form-row.full.svelte-12rtkin{margin-bottom:1rem}.form-label.svelte-12rtkin{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.form-input.svelte-12rtkin,.form-select.svelte-12rtkin,.form-textarea.svelte-12rtkin{background:var(--bg-tertiary);border:1px solid var(--border-medium);border-radius:8px;padding:.75rem 1rem;color:var(--text-primary);font-size:.9rem;transition:border-color var(--transition-fast)}.form-input.svelte-12rtkin:focus,.form-select.svelte-12rtkin:focus,.form-textarea.svelte-12rtkin:focus{outline:none;border-color:var(--accent)}.form-textarea.svelte-12rtkin{resize:vertical;min-height:60px}.form-textarea.mono.svelte-12rtkin{font-family:JetBrains Mono,monospace;font-size:.85rem;line-height:1.6}.modal-footer.svelte-12rtkin{padding:1rem 2rem;border-top:1px solid var(--border-subtle);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.footer-left.svelte-12rtkin{display:flex;gap:.5rem}.icon-btn.svelte-12rtkin{width:40px;height:40px;border-radius:10px;border:1px solid var(--border-medium);background:transparent;color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.icon-btn.svelte-12rtkin svg:where(.svelte-12rtkin){width:18px;height:18px}.icon-btn.svelte-12rtkin:hover{background:var(--bg-tertiary);color:var(--text-primary)}.icon-btn.delete.svelte-12rtkin:hover{background:#ef44441a;border-color:#ef4444;color:#ef4444}.icon-btn.edit.svelte-12rtkin:hover{background:var(--bg-elevated);border-color:var(--border-medium);color:var(--text-primary)}.complete-btn.svelte-12rtkin{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:10px;font-size:.9rem;font-weight:500;transition:all var(--transition-fast);border:none}.complete-btn.mark.svelte-12rtkin{background:var(--accent);color:var(--bg-primary)}.complete-btn.mark.svelte-12rtkin:hover{background:#fbbf24;transform:translateY(-2px)}.complete-btn.unmark.svelte-12rtkin{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-medium)}.complete-btn.unmark.svelte-12rtkin:hover{background:var(--bg-elevated)}.cancel-btn.svelte-12rtkin{padding:.75rem 1.5rem;border-radius:10px;font-size:.9rem;font-weight:500;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-medium);transition:all var(--transition-fast)}.cancel-btn.svelte-12rtkin:hover{background:var(--bg-elevated);color:var(--text-primary)}.save-btn.svelte-12rtkin{padding:.75rem 1.5rem;border-radius:10px;font-size:.9rem;font-weight:500;background:var(--accent);color:var(--bg-primary);border:none;transition:all var(--transition-fast)}.save-btn.svelte-12rtkin:hover:not(:disabled){background:#fbbf24;transform:translateY(-2px)}.save-btn.svelte-12rtkin:disabled{opacity:.5;cursor:not-allowed}.confirm-overlay.svelte-12rtkin{position:absolute;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;border-radius:20px}.confirm-dialog.svelte-12rtkin{background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:12px;padding:1.5rem;text-align:center}.confirm-dialog.svelte-12rtkin p:where(.svelte-12rtkin){font-size:1rem;color:var(--text-primary);margin-bottom:1rem}.confirm-actions.svelte-12rtkin{display:flex;gap:.75rem;justify-content:center}.delete-btn.svelte-12rtkin{padding:.75rem 1.5rem;border-radius:10px;font-size:.9rem;font-weight:500;background:#ef4444;color:#fff;border:none;transition:all var(--transition-fast)}.delete-btn.svelte-12rtkin:hover{background:#dc2626}.footer-right.svelte-12rtkin{display:flex;align-items:center;gap:.75rem}.export-dropdown.svelte-12rtkin{position:relative}.icon-btn.export.svelte-12rtkin:hover{background:var(--bg-elevated);border-color:var(--border-medium);color:var(--text-primary)}.export-menu.svelte-12rtkin{position:absolute;bottom:calc(100% + 8px);left:0;background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:12px;padding:.5rem;min-width:200px;z-index:10;box-shadow:0 4px 20px #0000004d}.export-option.svelte-12rtkin{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem;border:none;background:transparent;color:var(--text-primary);border-radius:8px;cursor:pointer;transition:background var(--transition-fast)}.export-option.svelte-12rtkin:hover{background:var(--bg-tertiary)}.export-icon.svelte-12rtkin{width:32px;height:32px;border-radius:6px;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.85rem;color:var(--accent)}.export-info.svelte-12rtkin{text-align:left}.export-name.svelte-12rtkin{font-size:.9rem;font-weight:500}.export-desc.svelte-12rtkin{font-size:.75rem;color:var(--text-muted)}.export-status.svelte-12rtkin{font-size:.8rem;color:var(--accent);padding:.4rem .8rem;background:var(--accent-glow);border-radius:6px}.export-status.error.svelte-12rtkin{color:#ef4444;background:#ef44441a}.export-divider.svelte-12rtkin{height:1px;background:var(--border-subtle);margin:.5rem 0}.export-help-link.svelte-12rtkin{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.6rem;border:none;background:transparent;color:var(--text-muted);border-radius:6px;cursor:pointer;transition:all var(--transition-fast);font-size:.8rem}.export-help-link.svelte-12rtkin:hover{background:var(--bg-tertiary);color:var(--text-secondary)}.export-help-link.svelte-12rtkin svg:where(.svelte-12rtkin){width:14px;height:14px}.modal-overlay.svelte-1uhipit{position:fixed;inset:0;background:#000c;backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:2rem;padding-top:5vh;opacity:0;visibility:hidden;transition:all var(--transition-normal);overflow-y:auto}.modal-overlay.active.svelte-1uhipit{opacity:1;visibility:visible}.settings-modal.svelte-1uhipit{background:var(--bg-secondary);border-radius:20px;max-width:640px;width:100%;max-height:calc(90vh - 4rem);overflow:hidden;border:1px solid var(--border-medium);display:flex;flex-direction:column;flex-shrink:0}.modal-fixed-header.svelte-1uhipit{flex-shrink:0;background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle)}.modal-header.svelte-1uhipit{padding:1.5rem 2rem 1rem;display:flex;align-items:center;justify-content:space-between}.modal-title.svelte-1uhipit{font-size:1.4rem;font-weight:600;color:var(--text-primary)}.modal-close.svelte-1uhipit{width:36px;height:36px;border-radius:50%;border:1px solid var(--border-medium);background:transparent;color:var(--text-muted);font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.modal-close.svelte-1uhipit:hover{background:var(--bg-tertiary);color:var(--text-primary)}.settings-tabs.svelte-1uhipit{display:flex;gap:.25rem;padding:0 2rem 1rem}.settings-tab.svelte-1uhipit{padding:.5rem 1rem;font-size:.85rem;font-weight:500;border:none;background:transparent;color:var(--text-muted);border-radius:8px;transition:all var(--transition-fast)}.settings-tab.svelte-1uhipit:hover{background:var(--bg-tertiary);color:var(--text-secondary)}.settings-tab.active.svelte-1uhipit{background:var(--accent);color:var(--bg-primary)}.modal-body.svelte-1uhipit{padding:1.5rem 2rem 2rem;overflow-y:auto;flex:1}.settings-section.svelte-1uhipit{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-subtle)}.settings-section.svelte-1uhipit:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.settings-section-title.svelte-1uhipit{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:1rem}.theme-toggle.svelte-1uhipit{display:flex;gap:.5rem}.theme-btn.svelte-1uhipit{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border-radius:10px;border:1px solid var(--border-medium);background:transparent;color:var(--text-secondary);font-size:.85rem;font-weight:500;transition:all var(--transition-fast)}.theme-btn.svelte-1uhipit svg:where(.svelte-1uhipit){width:18px;height:18px}.theme-btn.svelte-1uhipit:hover{background:var(--bg-elevated);border-color:var(--border-medium);color:var(--text-primary)}.theme-btn.active.svelte-1uhipit{background:var(--accent);color:var(--bg-primary);border-color:var(--accent)}.settings-row.svelte-1uhipit{display:flex;align-items:center;justify-content:space-between;padding:.6rem 0}.settings-label.svelte-1uhipit{font-size:.9rem;color:var(--text-primary)}.settings-select.svelte-1uhipit{background:var(--bg-tertiary);border:1px solid var(--border-medium);border-radius:8px;padding:.5rem .75rem;color:var(--text-primary);font-size:.85rem;min-width:140px}.settings-select.svelte-1uhipit:focus{border-color:var(--accent)}.threshold-row.svelte-1uhipit{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding:.75rem;background:var(--bg-tertiary);border-radius:8px}.threshold-label.svelte-1uhipit{font-size:.85rem;color:var(--text-secondary)}.threshold-input.svelte-1uhipit{background:var(--bg-primary);border:1px solid var(--border-medium);border-radius:6px;padding:.5rem .75rem;color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:.9rem;width:80px;text-align:center}.recalc-btn.svelte-1uhipit{padding:.5rem 1rem;background:var(--accent);color:var(--bg-primary);border:none;border-radius:6px;font-size:.8rem;font-weight:500;transition:all var(--transition-fast)}.recalc-btn.svelte-1uhipit:hover{background:#fbbf24}.zones-grid.svelte-1uhipit{display:flex;flex-direction:column;gap:.5rem}.zone-row.svelte-1uhipit{display:grid;grid-template-columns:60px 1fr 80px 80px;gap:.75rem;align-items:center}.zone-row.header.svelte-1uhipit{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding-bottom:.25rem}.zone-badge.svelte-1uhipit{font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:600;padding:.3rem .5rem;border-radius:6px;text-align:center}.zone-badge.z1.svelte-1uhipit{background:#22c55e33;color:#22c55e}.zone-badge.z2.svelte-1uhipit{background:#3b82f633;color:#3b82f6}.zone-badge.z3.svelte-1uhipit{background:#eab30833;color:#eab308}.zone-badge.z4.svelte-1uhipit{background:#f9731633;color:#f97316}.zone-badge.z5.svelte-1uhipit{background:#ef444433;color:#ef4444}.zone-name.svelte-1uhipit{font-size:.85rem;color:var(--text-secondary)}.zone-input.svelte-1uhipit,.pace-input.svelte-1uhipit{background:var(--bg-tertiary);border:1px solid var(--border-medium);border-radius:6px;padding:.4rem .5rem;color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:.8rem;text-align:center;width:100%}.zone-input.svelte-1uhipit:focus,.pace-input.svelte-1uhipit:focus{border-color:var(--accent)}.help-details.svelte-1uhipit{margin-top:1rem;border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden}.help-details.svelte-1uhipit summary:where(.svelte-1uhipit){padding:.75rem 1rem;font-size:.8rem;font-weight:500;color:var(--text-muted);cursor:pointer;background:var(--bg-tertiary);transition:all var(--transition-fast)}.help-details.svelte-1uhipit summary:where(.svelte-1uhipit):hover{color:var(--text-secondary)}.help-details[open].svelte-1uhipit summary:where(.svelte-1uhipit){border-bottom:1px solid var(--border-subtle)}.help-content.svelte-1uhipit{padding:1rem;font-size:.8rem;color:var(--text-secondary);line-height:1.6}.help-content.svelte-1uhipit ol:where(.svelte-1uhipit),.help-content.svelte-1uhipit ul:where(.svelte-1uhipit){margin:.5rem 0 .5rem 1.5rem}.help-content.svelte-1uhipit li:where(.svelte-1uhipit){margin-bottom:.25rem}.help-content.svelte-1uhipit p:where(.svelte-1uhipit){margin-bottom:.5rem}.help-content.svelte-1uhipit p:where(.svelte-1uhipit):last-child{margin-bottom:0}.help-note.svelte-1uhipit{font-style:italic;color:var(--text-muted)}.data-explainer.svelte-1uhipit{background:var(--bg-tertiary);border-radius:10px;padding:1rem 1.25rem;font-size:.85rem;line-height:1.6;color:var(--text-secondary)}.data-explainer.svelte-1uhipit p:where(.svelte-1uhipit){margin-bottom:.75rem}.data-explainer.svelte-1uhipit p:where(.svelte-1uhipit):last-child{margin-bottom:0}.data-action.svelte-1uhipit{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;background:var(--bg-tertiary);border-radius:10px;margin-bottom:.75rem}.data-action.svelte-1uhipit:last-of-type{margin-bottom:0}.data-action.danger.svelte-1uhipit{border:1px solid rgba(239,68,68,.3)}.data-action-info.svelte-1uhipit{display:flex;flex-direction:column;gap:.25rem}.data-action-title.svelte-1uhipit{font-size:.9rem;font-weight:500;color:var(--text-primary)}.data-action-desc.svelte-1uhipit{font-size:.8rem;color:var(--text-muted)}.data-btn.svelte-1uhipit{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;border-radius:8px;border:1px solid var(--border-medium);background:var(--bg-secondary);color:var(--text-primary);font-size:.85rem;font-weight:500;transition:all var(--transition-fast);flex-shrink:0}.data-btn.svelte-1uhipit svg:where(.svelte-1uhipit){width:16px;height:16px}.data-btn.svelte-1uhipit:hover{background:var(--bg-elevated);border-color:var(--border-medium);color:var(--text-primary)}.data-btn.export.svelte-1uhipit:hover{background:var(--accent);border-color:var(--accent);color:var(--bg-primary)}.data-btn.danger.svelte-1uhipit{border-color:#ef444480;color:#ef4444}.data-btn.danger.svelte-1uhipit:hover{background:#ef4444;border-color:#ef4444;color:#fff}.data-btn.help.svelte-1uhipit:hover{background:var(--accent);border-color:var(--accent);color:var(--bg-primary)}.import-status.svelte-1uhipit{margin-top:.75rem;padding:.75rem 1rem;border-radius:8px;font-size:.85rem;text-align:center;background:var(--accent-glow);color:var(--accent)}.import-status.error.svelte-1uhipit{background:#ef44441a;color:#ef4444}.about-header.svelte-1uhipit{display:flex;align-items:baseline;gap:.75rem;margin-bottom:.5rem}.about-title.svelte-1uhipit{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.about-version.svelte-1uhipit{font-family:JetBrains Mono,monospace;font-size:.8rem;color:var(--text-muted);background:var(--bg-tertiary);padding:.2rem .5rem;border-radius:4px}.about-description.svelte-1uhipit{font-size:.9rem;color:var(--text-secondary);line-height:1.6;margin:0}.about-author.svelte-1uhipit{display:flex;flex-direction:column;gap:.25rem}.author-name.svelte-1uhipit{font-size:.95rem;font-weight:500;color:var(--text-primary)}.author-links.svelte-1uhipit{display:flex;align-items:center;gap:.5rem}.author-link.svelte-1uhipit{font-size:.85rem;color:var(--accent);text-decoration:none}.author-link.svelte-1uhipit:hover{text-decoration:underline}.author-separator.svelte-1uhipit{color:var(--text-muted)}.about-links.svelte-1uhipit{display:flex;flex-direction:column;gap:.5rem}.about-link.svelte-1uhipit{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-secondary);text-decoration:none;padding:.5rem 0;transition:color var(--transition-fast)}.about-link.svelte-1uhipit:hover{color:var(--accent)}.about-link.svelte-1uhipit svg:where(.svelte-1uhipit){width:18px;height:18px}.about-license.svelte-1uhipit{font-size:.85rem;color:var(--text-muted);margin:0}.modal-overlay.svelte-1jd9mi2{position:fixed;inset:0;background:#000c;backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:2rem;padding-top:5vh;opacity:0;visibility:hidden;transition:all var(--transition-normal);overflow-y:auto}.modal-overlay.active.svelte-1jd9mi2{opacity:1;visibility:visible}.import-help-modal.svelte-1jd9mi2{background:var(--bg-secondary);border-radius:20px;max-width:700px;width:100%;max-height:calc(90vh - 4rem);overflow:hidden;border:1px solid var(--border-medium);display:flex;flex-direction:column;flex-shrink:0}.modal-fixed-header.svelte-1jd9mi2{flex-shrink:0;background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle)}.modal-header.svelte-1jd9mi2{padding:1.5rem 2rem 1rem;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.modal-title.svelte-1jd9mi2{font-size:1.4rem;font-weight:600;color:var(--text-primary)}.modal-subtitle.svelte-1jd9mi2{font-size:.9rem;color:var(--text-muted);margin-top:.25rem}.modal-close.svelte-1jd9mi2{width:36px;height:36px;border-radius:50%;border:1px solid var(--border-medium);background:transparent;color:var(--text-muted);font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);flex-shrink:0}.modal-close.svelte-1jd9mi2:hover{background:var(--bg-tertiary);color:var(--text-primary)}.help-tabs.svelte-1jd9mi2{display:flex;gap:.25rem;padding:0 2rem 1rem;overflow-x:auto}.help-tab.svelte-1jd9mi2{padding:.5rem 1rem;font-size:.85rem;font-weight:500;border:none;background:transparent;color:var(--text-muted);border-radius:8px;transition:all var(--transition-fast);white-space:nowrap}.help-tab.svelte-1jd9mi2:hover{background:var(--bg-tertiary);color:var(--text-secondary)}.help-tab.active.svelte-1jd9mi2{background:var(--accent);color:var(--bg-primary)}.modal-body.svelte-1jd9mi2{padding:1.5rem 2rem 2rem;overflow-y:auto;flex:1}.help-section.svelte-1jd9mi2{display:flex;flex-direction:column;gap:1.5rem}.file-type-badge.svelte-1jd9mi2{display:inline-flex;align-items:center;padding:.4rem .8rem;background:var(--accent-glow);color:var(--accent);border-radius:6px;font-family:JetBrains Mono,monospace;font-size:.85rem;font-weight:600;width:fit-content}.file-type-badge.small.svelte-1jd9mi2{padding:.25rem .5rem;font-size:.75rem}.help-intro.svelte-1jd9mi2{font-size:.95rem;color:var(--text-secondary);line-height:1.6;margin:0}.app-guide.svelte-1jd9mi2{background:var(--bg-tertiary);border-radius:12px;padding:1.25rem;border:1px solid var(--border-subtle)}.app-name.svelte-1jd9mi2{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.app-logo.svelte-1jd9mi2{width:24px;height:24px;flex-shrink:0;color:var(--text-primary)}.app-logo.svelte-1jd9mi2 svg:where(.svelte-1jd9mi2){width:100%;height:100%}.app-logo.outlook-color.svelte-1jd9mi2{color:#0078d4}.app-logo.zwift-color.svelte-1jd9mi2{color:#fc6719}.app-logo.trainerroad-color.svelte-1jd9mi2{color:#e12726}.app-logo.rouvy-color.svelte-1jd9mi2{color:#00a8e8}.step-list.svelte-1jd9mi2{margin:0;padding-left:1.5rem;color:var(--text-secondary);font-size:.9rem;line-height:1.8}.step-list.svelte-1jd9mi2 li:where(.svelte-1jd9mi2){margin-bottom:.5rem}.step-list.svelte-1jd9mi2 li:where(.svelte-1jd9mi2):last-child{margin-bottom:0}.step-list.svelte-1jd9mi2 strong:where(.svelte-1jd9mi2){color:var(--text-primary)}.step-list.svelte-1jd9mi2 a:where(.svelte-1jd9mi2){color:var(--accent);text-decoration:none}.step-list.svelte-1jd9mi2 a:where(.svelte-1jd9mi2):hover{text-decoration:underline}.path.svelte-1jd9mi2{background:var(--bg-primary);padding:.2rem .5rem;border-radius:4px;font-family:JetBrains Mono,monospace;font-size:.8rem;color:var(--accent);display:inline-block;margin:.25rem 0;word-break:break-all}.tip.svelte-1jd9mi2{margin-top:1rem;padding:.75rem 1rem;background:var(--accent-glow);border-radius:8px;font-size:.85rem;color:var(--text-secondary);border-left:3px solid var(--accent)}.tip.svelte-1jd9mi2 strong:where(.svelte-1jd9mi2){color:var(--accent)}.note.svelte-1jd9mi2{color:var(--text-muted);font-size:.9rem;margin-bottom:.5rem}.warning-box.svelte-1jd9mi2{margin-top:1rem;padding:.75rem 1rem;background:#f973161a;border-radius:8px;font-size:.85rem;color:var(--text-secondary);border-left:3px solid #f97316}.warning-box.svelte-1jd9mi2 strong:where(.svelte-1jd9mi2){color:#f97316}.file-format-guide.svelte-1jd9mi2{background:var(--bg-tertiary);border-radius:12px;padding:1.25rem;border:1px solid var(--border-subtle)}.format-title.svelte-1jd9mi2{display:flex;align-items:center;gap:.75rem;font-size:.95rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.file-format-guide.svelte-1jd9mi2 p:where(.svelte-1jd9mi2){color:var(--text-secondary);font-size:.9rem;line-height:1.6;margin:0 0 .75rem}.compatible-apps.svelte-1jd9mi2{display:flex;flex-wrap:wrap;gap:.5rem}.app-tag.svelte-1jd9mi2{padding:.3rem .6rem;background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:4px;font-size:.75rem;color:var(--text-muted)}.general-tips.svelte-1jd9mi2{background:var(--bg-tertiary);border-radius:12px;padding:1.25rem;border:1px solid var(--border-subtle)}.general-tips.svelte-1jd9mi2 h4:where(.svelte-1jd9mi2){font-size:.95rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.general-tips.svelte-1jd9mi2 ul:where(.svelte-1jd9mi2){margin:0;padding-left:1.5rem;color:var(--text-secondary);font-size:.9rem;line-height:1.8}.general-tips.svelte-1jd9mi2 li:where(.svelte-1jd9mi2){margin-bottom:.25rem}@media(max-width:600px){.modal-overlay.svelte-1jd9mi2{padding:1rem;padding-top:2vh}.import-help-modal.svelte-1jd9mi2{max-height:calc(96vh - 2rem)}.modal-header.svelte-1jd9mi2{padding:1rem 1.25rem .75rem}.modal-title.svelte-1jd9mi2{font-size:1.2rem}.help-tabs.svelte-1jd9mi2{padding:0 1.25rem .75rem}.help-tab.svelte-1jd9mi2{padding:.4rem .75rem;font-size:.8rem}.modal-body.svelte-1jd9mi2{padding:1rem 1.25rem 1.5rem}.app-guide.svelte-1jd9mi2{padding:1rem}.path.svelte-1jd9mi2{font-size:.7rem}}.local-storage-banner.svelte-5d96j5{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--bg-secondary);border-bottom:1px solid var(--border-medium);padding:.75rem 1rem;animation:svelte-5d96j5-slideDown .3s ease-out}@keyframes svelte-5d96j5-slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.banner-content.svelte-5d96j5{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:.75rem}.banner-icon.svelte-5d96j5{flex-shrink:0;width:20px;height:20px;color:var(--accent)}.banner-icon.svelte-5d96j5 svg:where(.svelte-5d96j5){width:100%;height:100%}.banner-content.svelte-5d96j5 p:where(.svelte-5d96j5){flex:1;font-size:.9rem;color:var(--text-secondary);margin:0}.banner-link.svelte-5d96j5{background:none;border:none;color:var(--accent);font:inherit;cursor:pointer;text-decoration:underline;padding:0}.banner-link.svelte-5d96j5:hover{color:var(--text-primary)}.banner-close.svelte-5d96j5{flex-shrink:0;width:28px;height:28px;border-radius:6px;border:1px solid var(--border-medium);background:transparent;color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.banner-close.svelte-5d96j5:hover{background:var(--bg-tertiary);color:var(--text-primary)}.banner-close.svelte-5d96j5 svg:where(.svelte-5d96j5){width:14px;height:14px}.main-content.svelte-5d96j5{flex:1;margin-left:var(--sidebar-width);padding:2rem}.mobile-header.svelte-5d96j5{display:none;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-subtle)}.menu-toggle.svelte-5d96j5{width:40px;height:40px;border-radius:10px;background:var(--bg-secondary);border:1px solid var(--border-medium);color:var(--text-primary);font-size:1.2rem}.mobile-title.svelte-5d96j5{font-size:1.1rem;font-weight:600}@media(max-width:700px){.main-content.svelte-5d96j5{margin-left:0;padding:1rem}.mobile-header.svelte-5d96j5{display:flex}}</style>
60
+ fitness platforms.</p> <div class="compatible-apps svelte-1jd9mi2"><span class="app-tag svelte-1jd9mi2">Garmin Connect</span> <span class="app-tag svelte-1jd9mi2">Wahoo SYSTM</span> <span class="app-tag svelte-1jd9mi2">Strava</span> <span class="app-tag svelte-1jd9mi2">Training Peaks</span></div></div> <div class="file-format-guide svelte-1jd9mi2"><h4 class="format-title svelte-1jd9mi2"><span class="file-type-badge small svelte-1jd9mi2">.mrc</span> ERG/MRC Files</h4> <p class="svelte-1jd9mi2">Classic indoor trainer workout format. Widely supported by bike trainer applications.</p> <div class="compatible-apps svelte-1jd9mi2"><span class="app-tag svelte-1jd9mi2">TrainerRoad</span> <span class="app-tag svelte-1jd9mi2">Rouvy</span> <span class="app-tag svelte-1jd9mi2">Wahoo SYSTM</span> <span class="app-tag svelte-1jd9mi2">PerfPro</span> <span class="app-tag svelte-1jd9mi2">Golden Cheetah</span></div></div> <div class="general-tips svelte-1jd9mi2"><h4 class="svelte-1jd9mi2">General Import Tips</h4> <ul class="svelte-1jd9mi2"><li class="svelte-1jd9mi2">Most apps have an "Import" option in the workouts or training section</li> <li class="svelte-1jd9mi2">If drag-and-drop doesn't work, look for a menu option or button</li> <li class="svelte-1jd9mi2">Some apps may require a premium subscription for workout imports</li> <li class="svelte-1jd9mi2">Make sure your FTP/threshold settings are up to date in the target app</li> <li class="svelte-1jd9mi2">If a workout looks wrong, check that units (watts, pace) match between apps</li></ul></div></div>`),Yr=ue('<div class="modal-overlay active svelte-1jd9mi2" role="dialog" aria-modal="true" tabindex="-1"><div class="modal import-help-modal svelte-1jd9mi2"><div class="modal-fixed-header svelte-1jd9mi2"><div class="modal-header svelte-1jd9mi2"><div><h2 class="modal-title svelte-1jd9mi2">Import Workouts to Your Apps</h2> <p class="modal-subtitle svelte-1jd9mi2">Step-by-step guides for importing your exported files</p></div> <button class="modal-close svelte-1jd9mi2">×</button></div> <div class="help-tabs svelte-1jd9mi2"></div></div> <div class="modal-body svelte-1jd9mi2"><!> <!> <!> <!> <!></div></div></div>');function Xr(e,s){ys(s,!0);let t=Fe("calendar");function a(I){I.key==="Escape"&&s.onClose()}function i(I){I.target.classList.contains("modal-overlay")&&s.onClose()}const n=[{id:"calendar",label:"Calendar Apps"},{id:"zwift",label:"Zwift"},{id:"garmin",label:"Garmin"},{id:"trainerroad",label:"TrainerRoad"},{id:"generic",label:"Other Apps"}];var o=Yr();xs("keydown",dt,a);var l=B(o),r=B(l),m=B(r),v=L(B(m),2),h=L(m,2);He(h,21,()=>n,es,(I,H)=>{var O=Gr();let q;var se=B(O);_e(()=>{q=Ie(O,1,"help-tab svelte-1jd9mi2",null,q,{active:A(t)===A(H).id}),pe(se,A(H).label)}),le("click",O,()=>te(t,A(H).id,!0)),oe(I,O)});var d=L(r,2),c=B(d);{var g=I=>{var H=Zr();oe(I,H)};Ae(c,I=>{A(t)==="calendar"&&I(g)})}var p=L(c,2);{var b=I=>{var H=Kr();oe(I,H)};Ae(p,I=>{A(t)==="zwift"&&I(b)})}var y=L(p,2);{var w=I=>{var H=qr();oe(I,H)};Ae(y,I=>{A(t)==="garmin"&&I(w)})}var F=L(y,2);{var P=I=>{var H=Vr();oe(I,H)};Ae(F,I=>{A(t)==="trainerroad"&&I(P)})}var _=L(F,2);{var N=I=>{var H=Jr();oe(I,H)};Ae(_,I=>{A(t)==="generic"&&I(N)})}le("click",o,i),le("keydown",o,a),le("click",v,function(...I){s.onClose?.apply(this,I)}),oe(e,o),gs()}Rs(["click","keydown"]);var Qr=ue('<div class="local-storage-banner svelte-5d96j5"><div class="banner-content svelte-5d96j5"><span class="banner-icon svelte-5d96j5"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-5d96j5"><circle cx="12" cy="12" r="10"></circle><path d="M12 16v-4M12 8h.01"></path></svg></span> <p class="svelte-5d96j5">Your changes are saved locally in this browser only. To back up or transfer your data, <button class="banner-link svelte-5d96j5">export it from Settings</button>.</p> <button class="banner-close svelte-5d96j5" aria-label="Dismiss"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="svelte-5d96j5"><path d="M18 6L6 18M6 6l12 12"></path></svg></button></div></div>'),$r=ue('<!> <div class="app"><!> <main class="main-content svelte-5d96j5"><div class="mobile-header svelte-5d96j5"><button class="menu-toggle svelte-5d96j5">☰</button> <h2 class="mobile-title svelte-5d96j5"> </h2></div> <!></main></div> <!> <!> <!>',1);function eu(e,s){ys(s,!0);let t=Fe(Oe(kr())),a=Oe(Uo()),i=Fe(Oe(Ho())),n=Fe(Oe({sport:"all",status:"all"})),o=Fe(!1),l=Fe(!1),r=Fe(!1);const m=`plan-${Ye.meta.id}-banner-dismissed`;let v=Fe(!1);function h(){localStorage.getItem(m)!=="true"&&te(v,!0)}function d(){te(v,!1),localStorage.setItem(m,"true")}let c=Fe(null);Xi(()=>{document.documentElement.setAttribute("data-theme",A(t).theme)});function g(S){te(t,S,!0),Sr(S)}function p(S,X){te(c,{mode:"view",workout:S,day:X},!0)}function b(S){te(c,{mode:"create",day:S},!0)}function y(){te(c,null)}function w(S,X,J){X===J?delete A(i).moved[S]:A(i).moved[S]=J,te(i,{...A(i)},!0),St(A(i)),h()}function F(S){if(A(c))if(A(c).mode==="create"){const X=jo(),J={id:X,sport:S.sport||"run",type:S.type||"endurance",name:S.name||"Workout",description:S.description||"",durationMinutes:S.durationMinutes,distanceMeters:S.distanceMeters,primaryZone:S.primaryZone,humanReadable:S.humanReadable,completed:!1};A(i).added[X]={date:A(c).day.date,workout:J},te(i,{...A(i)},!0),St(A(i)),h(),te(c,null)}else{const X=A(c).workout.id;A(i).added[X]?A(i).added[X].workout={...A(i).added[X].workout,...S}:A(i).edited[X]={...A(i).edited[X]||{},...S},te(i,{...A(i)},!0),St(A(i)),h(),te(c,{...A(c),workout:{...A(c).workout,...S}},!0)}}function P(S){A(i).added[S]?delete A(i).added[S]:A(i).deleted.includes(S)||(A(i).deleted=[...A(i).deleted,S]),te(i,{...A(i)},!0),St(A(i)),h(),te(c,null)}var _=$r(),N=ss(_);{var I=S=>{var X=Qr(),J=B(X),V=L(B(J),2),me=L(B(V)),Ce=L(V,2);le("click",me,()=>{d(),te(l,!0)}),le("click",Ce,d),oe(S,X)};Ae(N,S=>{A(v)&&S(I)})}var H=L(N,2),O=B(H);zo(O,{get plan(){return Ye},get settings(){return A(t)},get filters(){return A(n)},get completed(){return a},onFilterChange:S=>te(n,S,!0),onSettingsClick:()=>te(l,!0),onImportHelpClick:()=>te(r,!0),get open(){return A(o)},set open(S){te(o,S,!0)}});var q=L(O,2),se=B(q),k=B(se),j=L(k,2),f=B(j),K=L(se,2);sr(K,{get plan(){return Ye},get settings(){return A(t)},get filters(){return A(n)},get completed(){return a},get changes(){return A(i)},onWorkoutClick:p,onWorkoutMove:w,onAddWorkout:b});var ce=L(H,2);{var Y=S=>{{let X=Pe(()=>A(c).mode==="view"?A(c).workout:null),J=Pe(()=>A(c).mode==="view"&&!!a[A(c).workout.id]);Ar(S,{get workout(){return A(X)},get day(){return A(c).day},get mode(){return A(c).mode},get isCompleted(){return A(J)},get settings(){return A(t)},onClose:y,onSave:F,onDelete:P,onImportHelpClick:()=>te(r,!0)})}};Ae(ce,S=>{A(c)&&S(Y)})}var ye=L(ce,2);{var Q=S=>{jr(S,{get settings(){return A(t)},onClose:()=>te(l,!1),onChange:g,onOpenImportHelp:()=>te(r,!0)})};Ae(ye,S=>{A(l)&&S(Q)})}var ne=L(ye,2);{var R=S=>{Xr(S,{onClose:()=>te(r,!1)})};Ae(ne,S=>{A(r)&&S(R)})}_e(()=>pe(f,Ye.meta?.event??"Training Plan")),le("click",k,()=>te(o,!A(o))),oe(e,_),gs()}Rs(["click"]);fl(eu,{target:document.getElementById("app")});</script>
61
+ <style rel="stylesheet" crossorigin>*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root,[data-theme=dark]{--bg-primary: #0a0a0b;--bg-secondary: #141416;--bg-tertiary: #1c1c1f;--bg-elevated: #232327;--text-primary: #fafafa;--text-secondary: #a1a1aa;--text-muted: #71717a;--border-subtle: rgba(255, 255, 255, .06);--border-medium: rgba(255, 255, 255, .1);--swim: #06b6d4;--swim-glow: rgba(6, 182, 212, .15);--swim-dark: #0e7490;--bike: #22c55e;--bike-glow: rgba(34, 197, 94, .15);--bike-dark: #15803d;--run: #f97316;--run-glow: rgba(249, 115, 22, .15);--run-dark: #c2410c;--strength: #a855f7;--strength-glow: rgba(168, 85, 247, .15);--strength-dark: #7e22ce;--brick: #ec4899;--brick-glow: rgba(236, 72, 153, .15);--brick-dark: #be185d;--race: #eab308;--race-glow: rgba(234, 179, 8, .2);--race-dark: #a16207;--rest: #52525b;--rest-glow: rgba(82, 82, 91, .15);--accent: #eab308;--accent-glow: rgba(234, 179, 8, .2);--phase-base: #3b82f6;--phase-build: #8b5cf6;--phase-peak: #ec4899;--phase-taper: #14b8a6;--transition-fast: .15s;--transition-normal: .25s;--transition-slow: .4s;--sidebar-width: 320px}[data-theme=light]{--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-tertiary: #f1f5f9;--bg-elevated: #e2e8f0;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--border-subtle: rgba(0, 0, 0, .06);--border-medium: rgba(0, 0, 0, .12);--swim: #0891b2;--swim-glow: rgba(8, 145, 178, .12);--swim-dark: #0e7490;--bike: #16a34a;--bike-glow: rgba(22, 163, 74, .12);--bike-dark: #15803d;--run: #ea580c;--run-glow: rgba(234, 88, 12, .12);--run-dark: #c2410c;--strength: #9333ea;--strength-glow: rgba(147, 51, 234, .12);--strength-dark: #7e22ce;--brick: #db2777;--brick-glow: rgba(219, 39, 119, .12);--brick-dark: #be185d;--race: #ca8a04;--race-glow: rgba(202, 138, 4, .15);--race-dark: #a16207;--rest: #71717a;--rest-glow: rgba(113, 113, 122, .1);--accent: #ca8a04;--accent-glow: rgba(202, 138, 4, .15)}html{font-size:15px;scroll-behavior:smooth}body{font-family:Outfit,-apple-system,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--bg-elevated);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app{display:flex;min-height:100vh}button{font-family:inherit;cursor:pointer}input,select{font-family:inherit}input:focus,select:focus{outline:none}.sidebar.svelte-dkgmtr{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border-subtle);padding:2rem 1.5rem;display:flex;flex-direction:column;gap:2rem;position:fixed;top:0;left:0;height:100vh;overflow-y:auto;z-index:100}.event-header.svelte-dkgmtr{text-align:center;padding-bottom:1.5rem;border-bottom:1px solid var(--border-subtle)}.event-name.svelte-dkgmtr{font-family:Playfair Display,serif;font-size:1.8rem;font-weight:700;letter-spacing:-.02em;background:linear-gradient(135deg,var(--text-primary),var(--text-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.event-date.svelte-dkgmtr{font-family:JetBrains Mono,monospace;font-size:.85rem;color:var(--accent);font-weight:500;letter-spacing:.05em}.athlete-name.svelte-dkgmtr{font-size:.9rem;color:var(--text-muted);margin-top:.5rem}.progress-section.svelte-dkgmtr{text-align:center}.progress-ring-container.svelte-dkgmtr{position:relative;width:140px;height:140px;margin:0 auto 1rem}.progress-ring.svelte-dkgmtr{transform:rotate(-90deg)}.progress-ring-bg.svelte-dkgmtr{fill:none;stroke:var(--bg-tertiary);stroke-width:8}.progress-ring-fill.svelte-dkgmtr{fill:none;stroke:url(#progressGradient);stroke-width:8;stroke-linecap:round;stroke-dasharray:377;transition:stroke-dashoffset 1s ease-out}.progress-text.svelte-dkgmtr{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.progress-percent.svelte-dkgmtr{font-family:JetBrains Mono,monospace;font-size:2rem;font-weight:500;color:var(--text-primary)}.progress-label.svelte-dkgmtr{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em}.stats-grid.svelte-dkgmtr{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-card.svelte-dkgmtr{background:var(--bg-tertiary);border-radius:12px;padding:1rem;text-align:center;border:1px solid var(--border-subtle)}.stat-value.svelte-dkgmtr{font-family:JetBrains Mono,monospace;font-size:1.4rem;font-weight:500;color:var(--text-primary)}.stat-label.svelte-dkgmtr{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-top:.25rem}.sport-stats.svelte-dkgmtr{display:flex;flex-direction:column;gap:.5rem}.sport-stats-header.svelte-dkgmtr{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.sport-stats-header.svelte-dkgmtr h3:where(.svelte-dkgmtr){font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.clear-filter.svelte-dkgmtr{font-size:.7rem;color:var(--accent);background:none;border:none;padding:0;cursor:pointer;text-transform:uppercase;letter-spacing:.05em;font-weight:500}.clear-filter.svelte-dkgmtr:hover{text-decoration:underline}.sport-stat.svelte-dkgmtr{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg-tertiary);border-radius:10px;border:1px solid var(--border-subtle);cursor:pointer;transition:all var(--transition-fast);width:100%;text-align:left}.sport-stat.svelte-dkgmtr:hover{background:var(--bg-elevated);border-color:var(--border-medium)}.sport-stat.active.svelte-dkgmtr{border-color:var(--text-muted)}.sport-stat.active.swim.svelte-dkgmtr{border-color:var(--swim);background:var(--swim-glow)}.sport-stat.active.bike.svelte-dkgmtr{border-color:var(--bike);background:var(--bike-glow)}.sport-stat.active.run.svelte-dkgmtr{border-color:var(--run);background:var(--run-glow)}.sport-stat.active.strength.svelte-dkgmtr{border-color:var(--strength);background:var(--strength-glow)}.sport-stat.active.brick.svelte-dkgmtr{border-color:var(--brick);background:var(--brick-glow)}.sport-stat.active.race.svelte-dkgmtr{border-color:var(--race);background:var(--race-glow)}.sport-icon.svelte-dkgmtr{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.sport-icon.swim.svelte-dkgmtr{background:var(--swim-glow)}.sport-icon.bike.svelte-dkgmtr{background:var(--bike-glow)}.sport-icon.run.svelte-dkgmtr{background:var(--run-glow)}.sport-icon.strength.svelte-dkgmtr{background:var(--strength-glow)}.sport-icon.brick.svelte-dkgmtr{background:var(--brick-glow)}.sport-icon.race.svelte-dkgmtr{background:var(--race-glow)}.sport-info.svelte-dkgmtr{flex:1}.sport-name.svelte-dkgmtr{font-size:.85rem;font-weight:500;color:var(--text-primary)}.sport-hours.svelte-dkgmtr{font-family:JetBrains Mono,monospace;font-size:.8rem;color:var(--text-muted)}.check-icon.svelte-dkgmtr{color:var(--accent);font-weight:600;font-size:.9rem}.filters-section.svelte-dkgmtr h3:where(.svelte-dkgmtr){font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:.75rem}.filter-group.svelte-dkgmtr{display:flex;flex-wrap:wrap;gap:.5rem}.filter-chip.svelte-dkgmtr{padding:.4rem .8rem;font-size:.8rem;font-weight:500;border-radius:20px;border:1px solid var(--border-medium);background:transparent;color:var(--text-secondary);transition:all var(--transition-fast)}.filter-chip.svelte-dkgmtr:hover{background:var(--bg-elevated);border-color:var(--border-medium);color:var(--text-primary)}.filter-chip.active.svelte-dkgmtr{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}.settings-btn.svelte-dkgmtr{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem 1rem;border-radius:10px;background:var(--bg-tertiary);border:1px solid var(--border-medium);color:var(--text-secondary);font-size:.85rem;font-weight:500;transition:all var(--transition-fast)}.settings-btn.svelte-dkgmtr:hover{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-medium)}.settings-btn.svelte-dkgmtr svg:where(.svelte-dkgmtr){width:18px;height:18px}.export-section.svelte-dkgmtr{display:flex;flex-direction:column;gap:.75rem}.export-status.svelte-dkgmtr{font-size:.75rem;color:var(--accent);padding:.4rem .75rem;background:var(--accent-glow);border-radius:6px;text-align:center}.export-status.error.svelte-dkgmtr{color:#ef4444;background:#ef44441a}.export-main.svelte-dkgmtr{position:relative}.export-main-btn.svelte-dkgmtr{display:flex;align-items:center;gap:.75rem;width:100%;padding:1rem 1.25rem;border-radius:12px;background:linear-gradient(135deg,var(--accent),var(--run));border:none;color:#fff;font-size:.85rem;font-weight:500;transition:all var(--transition-fast);cursor:pointer;text-align:left}.export-main-btn.svelte-dkgmtr:hover{transform:translateY(-1px);box-shadow:0 4px 12px #eab3084d}.export-main-btn.svelte-dkgmtr:active{transform:translateY(0)}.export-main-btn.svelte-dkgmtr>svg:where(.svelte-dkgmtr):first-child{width:24px;height:24px;flex-shrink:0}.export-main-text.svelte-dkgmtr{display:flex;flex-direction:column;gap:.15rem;flex:1}.export-main-title.svelte-dkgmtr{font-size:.95rem;font-weight:600}.export-main-desc.svelte-dkgmtr{font-size:.7rem;opacity:.85}.dropdown-arrow.svelte-dkgmtr{width:16px;height:16px;opacity:.8;transition:transform var(--transition-fast)}.dropdown-arrow.open.svelte-dkgmtr{transform:rotate(180deg)}.export-divider.svelte-dkgmtr{height:1px;background:var(--border-subtle);margin:.25rem 0}.export-menu.svelte-dkgmtr{position:absolute;bottom:calc(100% + 8px);left:0;right:0;background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:10px;padding:.5rem;z-index:10;box-shadow:0 4px 20px #0000004d}.export-option.svelte-dkgmtr{display:flex;align-items:center;gap:.75rem;width:100%;padding:.6rem;border:none;background:transparent;color:var(--text-primary);border-radius:6px;cursor:pointer;transition:background var(--transition-fast);text-align:left}.export-option.svelte-dkgmtr:hover{background:var(--bg-tertiary)}.export-icon.svelte-dkgmtr{width:28px;height:28px;border-radius:6px;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.75rem;color:var(--accent);flex-shrink:0}.export-icon.calendar.svelte-dkgmtr{background:var(--accent-glow)}.export-icon.calendar.svelte-dkgmtr svg:where(.svelte-dkgmtr){width:16px;height:16px}.export-name.svelte-dkgmtr{font-size:.8rem;font-weight:500}.export-desc.svelte-dkgmtr{font-size:.7rem;color:var(--text-muted)}.import-help-link.svelte-dkgmtr{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.6rem .75rem;border-radius:8px;background:transparent;border:1px dashed var(--border-medium);color:var(--text-muted);font-size:.75rem;font-weight:500;transition:all var(--transition-fast);margin-top:.5rem}.import-help-link.svelte-dkgmtr:hover{background:var(--bg-tertiary);color:var(--text-secondary);border-color:var(--border-medium);border-style:solid}.import-help-link.svelte-dkgmtr svg:where(.svelte-dkgmtr){width:14px;height:14px}@media(max-width:700px){.sidebar.svelte-dkgmtr{left:-100%;transition:left var(--transition-normal)}.sidebar.open.svelte-dkgmtr{left:0}}.workout-card.svelte-ynjai0{width:100%;text-align:left;padding:.6rem .75rem;border-radius:8px;cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent;position:relative;overflow:hidden}.workout-card.svelte-ynjai0:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}.workout-card.swim.svelte-ynjai0{background:var(--swim-glow)}.workout-card.swim.svelte-ynjai0:before{background:var(--swim)}.workout-card.bike.svelte-ynjai0{background:var(--bike-glow)}.workout-card.bike.svelte-ynjai0:before{background:var(--bike)}.workout-card.run.svelte-ynjai0{background:var(--run-glow)}.workout-card.run.svelte-ynjai0:before{background:var(--run)}.workout-card.strength.svelte-ynjai0{background:var(--strength-glow)}.workout-card.strength.svelte-ynjai0:before{background:var(--strength)}.workout-card.brick.svelte-ynjai0{background:var(--brick-glow)}.workout-card.brick.svelte-ynjai0:before{background:var(--brick)}.workout-card.race.svelte-ynjai0{background:var(--race-glow)}.workout-card.race.svelte-ynjai0:before{background:var(--race)}.workout-card.rest.svelte-ynjai0{background:var(--rest-glow)}.workout-card.rest.svelte-ynjai0:before{background:var(--rest)}.workout-card.svelte-ynjai0:hover{transform:translateY(-2px);box-shadow:0 4px 20px #0000004d}.workout-card.dragging.svelte-ynjai0{opacity:.5;transform:scale(.95);cursor:grabbing}.workout-card.svelte-ynjai0:not(.dragging){cursor:grab}.workout-card.completed.svelte-ynjai0{opacity:.6}.workout-card.completed.svelte-ynjai0:after{content:"✓";position:absolute;top:.4rem;right:.5rem;font-size:.7rem;color:var(--text-muted)}.workout-sport.svelte-ynjai0{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.2rem}.workout-card.swim.svelte-ynjai0 .workout-sport:where(.svelte-ynjai0){color:var(--swim)}.workout-card.bike.svelte-ynjai0 .workout-sport:where(.svelte-ynjai0){color:var(--bike)}.workout-card.run.svelte-ynjai0 .workout-sport:where(.svelte-ynjai0){color:var(--run)}.workout-card.strength.svelte-ynjai0 .workout-sport:where(.svelte-ynjai0){color:var(--strength)}.workout-card.brick.svelte-ynjai0 .workout-sport:where(.svelte-ynjai0){color:var(--brick)}.workout-card.race.svelte-ynjai0 .workout-sport:where(.svelte-ynjai0){color:var(--race)}.workout-card.rest.svelte-ynjai0 .workout-sport:where(.svelte-ynjai0){color:var(--rest)}.workout-name.svelte-ynjai0{font-size:.8rem;font-weight:500;color:var(--text-primary);line-height:1.3}.workout-duration.svelte-ynjai0{font-family:JetBrains Mono,monospace;font-size:.7rem;color:var(--text-muted);margin-top:.3rem}.week-card.svelte-ldqnzx{background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-subtle);overflow:hidden;opacity:0;transform:translateY(20px);animation:svelte-ldqnzx-slideUp .5s ease forwards}@keyframes svelte-ldqnzx-slideUp{to{opacity:1;transform:translateY(0)}}.week-header.svelte-ldqnzx{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border-subtle)}.week-title.svelte-ldqnzx{display:flex;align-items:center;gap:1rem}.week-number.svelte-ldqnzx{font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:500;padding:.3rem .6rem;border-radius:6px;background:var(--bg-primary);color:var(--text-secondary)}.week-phase.svelte-ldqnzx{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.week-phase.base.svelte-ldqnzx{color:var(--phase-base)}.week-phase.build.svelte-ldqnzx{color:var(--phase-build)}.week-phase.peak.svelte-ldqnzx{color:var(--phase-peak)}.week-phase.taper.svelte-ldqnzx{color:var(--phase-taper)}.week-phase.survival.svelte-ldqnzx{color:var(--text-muted)}.week-phase.bank.svelte-ldqnzx{color:var(--phase-base)}.week-focus.svelte-ldqnzx{font-size:.85rem;color:var(--text-muted)}.week-hours.svelte-ldqnzx{font-family:JetBrains Mono,monospace;font-size:.9rem;color:var(--text-secondary)}.week-hours.svelte-ldqnzx span:where(.svelte-ldqnzx){color:var(--text-primary);font-weight:500}.days-grid.svelte-ldqnzx{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border-subtle)}.day-column.svelte-ldqnzx{background:var(--bg-secondary);min-height:160px;padding:.75rem;display:flex;flex-direction:column;gap:.5rem;transition:background-color .15s ease}.day-column.today.svelte-ldqnzx{background:var(--bg-tertiary)}.day-column.today.svelte-ldqnzx .day-name:where(.svelte-ldqnzx){color:var(--accent)}.day-column.drag-over.svelte-ldqnzx{background:var(--accent-glow);outline:2px dashed var(--accent);outline-offset:-2px}.day-header.svelte-ldqnzx{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-subtle)}.day-name.svelte-ldqnzx{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.day-date.svelte-ldqnzx{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--text-muted)}.empty-day.svelte-ldqnzx{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.8rem;font-style:italic}.add-workout-btn.svelte-ldqnzx{margin-top:auto;padding:.5rem;border:1px dashed var(--border-medium);border-radius:8px;background:transparent;color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);opacity:0}.day-column.svelte-ldqnzx:hover .add-workout-btn:where(.svelte-ldqnzx){opacity:1}.add-workout-btn.svelte-ldqnzx:hover{background:var(--bg-elevated);border-color:var(--border-medium);color:var(--text-primary)}.add-workout-btn.svelte-ldqnzx svg:where(.svelte-ldqnzx){width:16px;height:16px}@media(max-width:1200px){.days-grid.svelte-ldqnzx{grid-template-columns:repeat(4,1fr)}}@media(max-width:900px){.days-grid.svelte-ldqnzx{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.days-grid.svelte-ldqnzx{grid-template-columns:1fr}}.phase-timeline.svelte-aq400f{display:flex;gap:4px;margin-bottom:1.5rem;padding:0 1rem}.phase-segment.svelte-aq400f{flex:1;height:28px;border-radius:6px;border:none;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:linear-gradient(135deg,#64748b,#475569)}.phase-segment.svelte-aq400f:hover{filter:brightness(1.2)}.phase-segment.svelte-aq400f:active{transform:scale(.98)}.phase-label.svelte-aq400f{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#ffffffe6;text-shadow:0 1px 2px rgba(0,0,0,.3)}.phase-segment.base.svelte-aq400f{background:linear-gradient(135deg,#3b82f6,#2563eb)}.phase-segment.build.svelte-aq400f{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.phase-segment.peak.svelte-aq400f{background:linear-gradient(135deg,#ec4899,#db2777)}.phase-segment.taper.svelte-aq400f{background:linear-gradient(135deg,#14b8a6,#0d9488)}.phase-segment.recovery.svelte-aq400f{background:linear-gradient(135deg,#6b7280,#4b5563)}.phase-segment.rebuild.svelte-aq400f{background:linear-gradient(135deg,#f97316,#ea580c)}.phase-segment.survival.svelte-aq400f{background:linear-gradient(135deg,#f59e0b,#d97706)}.phase-segment.bank.svelte-aq400f{background:linear-gradient(135deg,#10b981,#059669)}.weeks-container.svelte-aq400f{display:flex;flex-direction:column;gap:1.5rem}.modal-overlay.svelte-12rtkin{position:fixed;inset:0;background:#000c;backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:2rem;opacity:0;visibility:hidden;transition:all var(--transition-normal)}.modal-overlay.active.svelte-12rtkin{opacity:1;visibility:visible}.modal.svelte-12rtkin{background:var(--bg-secondary);border-radius:20px;max-width:600px;width:100%;max-height:85vh;overflow:hidden;transform:scale(.9) translateY(20px);transition:transform var(--transition-normal);border:1px solid var(--border-medium);position:relative;display:flex;flex-direction:column}.modal-overlay.active.svelte-12rtkin .modal:where(.svelte-12rtkin){transform:scale(1) translateY(0)}.modal-header.svelte-12rtkin{padding:1.5rem 2rem;border-bottom:1px solid var(--border-subtle);display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-shrink:0}.modal-sport-badge.svelte-12rtkin{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .8rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.modal-sport-badge.swim.svelte-12rtkin{background:var(--swim-glow);color:var(--swim)}.modal-sport-badge.bike.svelte-12rtkin{background:var(--bike-glow);color:var(--bike)}.modal-sport-badge.run.svelte-12rtkin{background:var(--run-glow);color:var(--run)}.modal-sport-badge.strength.svelte-12rtkin{background:var(--strength-glow);color:var(--strength)}.modal-sport-badge.brick.svelte-12rtkin{background:var(--brick-glow);color:var(--brick)}.modal-sport-badge.race.svelte-12rtkin{background:var(--race-glow);color:var(--race)}.modal-sport-badge.rest.svelte-12rtkin{background:var(--rest-glow);color:var(--rest)}.modal-title.svelte-12rtkin{font-size:1.4rem;font-weight:600;color:var(--text-primary)}.modal-date.svelte-12rtkin{font-family:JetBrains Mono,monospace;font-size:.85rem;color:var(--text-muted);margin-top:.25rem}.modal-close.svelte-12rtkin{width:36px;height:36px;border-radius:50%;border:1px solid var(--border-medium);background:transparent;color:var(--text-muted);font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);flex-shrink:0}.modal-close.svelte-12rtkin:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-body.svelte-12rtkin{padding:1.5rem 2rem;overflow-y:auto;flex:1}.modal-stats.svelte-12rtkin{display:flex;gap:1.5rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-subtle)}.modal-stat.svelte-12rtkin{text-align:center}.modal-stat-value.svelte-12rtkin{font-family:JetBrains Mono,monospace;font-size:1.5rem;font-weight:500;color:var(--text-primary)}.modal-stat-label.svelte-12rtkin{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.modal-section.svelte-12rtkin{margin-bottom:1.5rem}.modal-section-title.svelte-12rtkin{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:.75rem}.modal-description.svelte-12rtkin{font-size:.95rem;color:var(--text-secondary);line-height:1.7}.workout-structure.svelte-12rtkin{background:var(--bg-tertiary);border-radius:12px;padding:1rem;font-family:JetBrains Mono,monospace;font-size:.85rem;line-height:1.8;color:var(--text-secondary);white-space:pre-wrap;margin:0}.form-grid.svelte-12rtkin{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-row.svelte-12rtkin{display:flex;flex-direction:column;gap:.5rem}.form-row.full.svelte-12rtkin{margin-bottom:1rem}.form-label.svelte-12rtkin{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.form-input.svelte-12rtkin,.form-select.svelte-12rtkin,.form-textarea.svelte-12rtkin{background:var(--bg-tertiary);border:1px solid var(--border-medium);border-radius:8px;padding:.75rem 1rem;color:var(--text-primary);font-size:.9rem;transition:border-color var(--transition-fast)}.form-input.svelte-12rtkin:focus,.form-select.svelte-12rtkin:focus,.form-textarea.svelte-12rtkin:focus{outline:none;border-color:var(--accent)}.form-textarea.svelte-12rtkin{resize:vertical;min-height:60px}.form-textarea.mono.svelte-12rtkin{font-family:JetBrains Mono,monospace;font-size:.85rem;line-height:1.6}.modal-footer.svelte-12rtkin{padding:1rem 2rem;border-top:1px solid var(--border-subtle);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.footer-left.svelte-12rtkin{display:flex;gap:.5rem}.icon-btn.svelte-12rtkin{width:40px;height:40px;border-radius:10px;border:1px solid var(--border-medium);background:transparent;color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.icon-btn.svelte-12rtkin svg:where(.svelte-12rtkin){width:18px;height:18px}.icon-btn.svelte-12rtkin:hover{background:var(--bg-tertiary);color:var(--text-primary)}.icon-btn.delete.svelte-12rtkin:hover{background:#ef44441a;border-color:#ef4444;color:#ef4444}.icon-btn.edit.svelte-12rtkin:hover{background:var(--bg-elevated);border-color:var(--border-medium);color:var(--text-primary)}.complete-status.svelte-12rtkin{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:10px;font-size:.9rem;font-weight:500}.complete-status.done.svelte-12rtkin{background:var(--accent);color:var(--bg-primary)}.complete-status.pending.svelte-12rtkin{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-medium)}.cancel-btn.svelte-12rtkin{padding:.75rem 1.5rem;border-radius:10px;font-size:.9rem;font-weight:500;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-medium);transition:all var(--transition-fast)}.cancel-btn.svelte-12rtkin:hover{background:var(--bg-elevated);color:var(--text-primary)}.save-btn.svelte-12rtkin{padding:.75rem 1.5rem;border-radius:10px;font-size:.9rem;font-weight:500;background:var(--accent);color:var(--bg-primary);border:none;transition:all var(--transition-fast)}.save-btn.svelte-12rtkin:hover:not(:disabled){background:#fbbf24;transform:translateY(-2px)}.save-btn.svelte-12rtkin:disabled{opacity:.5;cursor:not-allowed}.confirm-overlay.svelte-12rtkin{position:absolute;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;border-radius:20px}.confirm-dialog.svelte-12rtkin{background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:12px;padding:1.5rem;text-align:center}.confirm-dialog.svelte-12rtkin p:where(.svelte-12rtkin){font-size:1rem;color:var(--text-primary);margin-bottom:1rem}.confirm-actions.svelte-12rtkin{display:flex;gap:.75rem;justify-content:center}.delete-btn.svelte-12rtkin{padding:.75rem 1.5rem;border-radius:10px;font-size:.9rem;font-weight:500;background:#ef4444;color:#fff;border:none;transition:all var(--transition-fast)}.delete-btn.svelte-12rtkin:hover{background:#dc2626}.footer-right.svelte-12rtkin{display:flex;align-items:center;gap:.75rem}.export-dropdown.svelte-12rtkin{position:relative}.icon-btn.export.svelte-12rtkin:hover{background:var(--bg-elevated);border-color:var(--border-medium);color:var(--text-primary)}.export-menu.svelte-12rtkin{position:absolute;bottom:calc(100% + 8px);left:0;background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:12px;padding:.5rem;min-width:200px;z-index:10;box-shadow:0 4px 20px #0000004d}.export-option.svelte-12rtkin{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem;border:none;background:transparent;color:var(--text-primary);border-radius:8px;cursor:pointer;transition:background var(--transition-fast)}.export-option.svelte-12rtkin:hover{background:var(--bg-tertiary)}.export-icon.svelte-12rtkin{width:32px;height:32px;border-radius:6px;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.85rem;color:var(--accent)}.export-info.svelte-12rtkin{text-align:left}.export-name.svelte-12rtkin{font-size:.9rem;font-weight:500}.export-desc.svelte-12rtkin{font-size:.75rem;color:var(--text-muted)}.export-status.svelte-12rtkin{font-size:.8rem;color:var(--accent);padding:.4rem .8rem;background:var(--accent-glow);border-radius:6px}.export-status.error.svelte-12rtkin{color:#ef4444;background:#ef44441a}.export-divider.svelte-12rtkin{height:1px;background:var(--border-subtle);margin:.5rem 0}.export-help-link.svelte-12rtkin{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.6rem;border:none;background:transparent;color:var(--text-muted);border-radius:6px;cursor:pointer;transition:all var(--transition-fast);font-size:.8rem}.export-help-link.svelte-12rtkin:hover{background:var(--bg-tertiary);color:var(--text-secondary)}.export-help-link.svelte-12rtkin svg:where(.svelte-12rtkin){width:14px;height:14px}.modal-overlay.svelte-1uhipit{position:fixed;inset:0;background:#000c;backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:2rem;padding-top:5vh;opacity:0;visibility:hidden;transition:all var(--transition-normal);overflow-y:auto}.modal-overlay.active.svelte-1uhipit{opacity:1;visibility:visible}.settings-modal.svelte-1uhipit{background:var(--bg-secondary);border-radius:20px;max-width:640px;width:100%;max-height:calc(90vh - 4rem);overflow:hidden;border:1px solid var(--border-medium);display:flex;flex-direction:column;flex-shrink:0}.modal-fixed-header.svelte-1uhipit{flex-shrink:0;background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle)}.modal-header.svelte-1uhipit{padding:1.5rem 2rem 1rem;display:flex;align-items:center;justify-content:space-between}.modal-title.svelte-1uhipit{font-size:1.4rem;font-weight:600;color:var(--text-primary)}.modal-close.svelte-1uhipit{width:36px;height:36px;border-radius:50%;border:1px solid var(--border-medium);background:transparent;color:var(--text-muted);font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.modal-close.svelte-1uhipit:hover{background:var(--bg-tertiary);color:var(--text-primary)}.settings-tabs.svelte-1uhipit{display:flex;gap:.25rem;padding:0 2rem 1rem}.settings-tab.svelte-1uhipit{padding:.5rem 1rem;font-size:.85rem;font-weight:500;border:none;background:transparent;color:var(--text-muted);border-radius:8px;transition:all var(--transition-fast)}.settings-tab.svelte-1uhipit:hover{background:var(--bg-tertiary);color:var(--text-secondary)}.settings-tab.active.svelte-1uhipit{background:var(--accent);color:var(--bg-primary)}.modal-body.svelte-1uhipit{padding:1.5rem 2rem 2rem;overflow-y:auto;flex:1}.settings-section.svelte-1uhipit{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-subtle)}.settings-section.svelte-1uhipit:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.settings-section-title.svelte-1uhipit{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:1rem}.theme-toggle.svelte-1uhipit{display:flex;gap:.5rem}.theme-btn.svelte-1uhipit{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border-radius:10px;border:1px solid var(--border-medium);background:transparent;color:var(--text-secondary);font-size:.85rem;font-weight:500;transition:all var(--transition-fast)}.theme-btn.svelte-1uhipit svg:where(.svelte-1uhipit){width:18px;height:18px}.theme-btn.svelte-1uhipit:hover{background:var(--bg-elevated);border-color:var(--border-medium);color:var(--text-primary)}.theme-btn.active.svelte-1uhipit{background:var(--accent);color:var(--bg-primary);border-color:var(--accent)}.settings-row.svelte-1uhipit{display:flex;align-items:center;justify-content:space-between;padding:.6rem 0}.settings-label.svelte-1uhipit{font-size:.9rem;color:var(--text-primary)}.settings-select.svelte-1uhipit{background:var(--bg-tertiary);border:1px solid var(--border-medium);border-radius:8px;padding:.5rem .75rem;color:var(--text-primary);font-size:.85rem;min-width:140px}.settings-select.svelte-1uhipit:focus{border-color:var(--accent)}.threshold-row.svelte-1uhipit{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding:.75rem;background:var(--bg-tertiary);border-radius:8px}.threshold-label.svelte-1uhipit{font-size:.85rem;color:var(--text-secondary)}.threshold-input.svelte-1uhipit{background:var(--bg-primary);border:1px solid var(--border-medium);border-radius:6px;padding:.5rem .75rem;color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:.9rem;width:80px;text-align:center}.recalc-btn.svelte-1uhipit{padding:.5rem 1rem;background:var(--accent);color:var(--bg-primary);border:none;border-radius:6px;font-size:.8rem;font-weight:500;transition:all var(--transition-fast)}.recalc-btn.svelte-1uhipit:hover{background:#fbbf24}.zones-grid.svelte-1uhipit{display:flex;flex-direction:column;gap:.5rem}.zone-row.svelte-1uhipit{display:grid;grid-template-columns:60px 1fr 80px 80px;gap:.75rem;align-items:center}.zone-row.header.svelte-1uhipit{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding-bottom:.25rem}.zone-badge.svelte-1uhipit{font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:600;padding:.3rem .5rem;border-radius:6px;text-align:center}.zone-badge.z1.svelte-1uhipit{background:#22c55e33;color:#22c55e}.zone-badge.z2.svelte-1uhipit{background:#3b82f633;color:#3b82f6}.zone-badge.z3.svelte-1uhipit{background:#eab30833;color:#eab308}.zone-badge.z4.svelte-1uhipit{background:#f9731633;color:#f97316}.zone-badge.z5.svelte-1uhipit{background:#ef444433;color:#ef4444}.zone-name.svelte-1uhipit{font-size:.85rem;color:var(--text-secondary)}.zone-input.svelte-1uhipit,.pace-input.svelte-1uhipit{background:var(--bg-tertiary);border:1px solid var(--border-medium);border-radius:6px;padding:.4rem .5rem;color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:.8rem;text-align:center;width:100%}.zone-input.svelte-1uhipit:focus,.pace-input.svelte-1uhipit:focus{border-color:var(--accent)}.help-details.svelte-1uhipit{margin-top:1rem;border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden}.help-details.svelte-1uhipit summary:where(.svelte-1uhipit){padding:.75rem 1rem;font-size:.8rem;font-weight:500;color:var(--text-muted);cursor:pointer;background:var(--bg-tertiary);transition:all var(--transition-fast)}.help-details.svelte-1uhipit summary:where(.svelte-1uhipit):hover{color:var(--text-secondary)}.help-details[open].svelte-1uhipit summary:where(.svelte-1uhipit){border-bottom:1px solid var(--border-subtle)}.help-content.svelte-1uhipit{padding:1rem;font-size:.8rem;color:var(--text-secondary);line-height:1.6}.help-content.svelte-1uhipit ol:where(.svelte-1uhipit),.help-content.svelte-1uhipit ul:where(.svelte-1uhipit){margin:.5rem 0 .5rem 1.5rem}.help-content.svelte-1uhipit li:where(.svelte-1uhipit){margin-bottom:.25rem}.help-content.svelte-1uhipit p:where(.svelte-1uhipit){margin-bottom:.5rem}.help-content.svelte-1uhipit p:where(.svelte-1uhipit):last-child{margin-bottom:0}.help-note.svelte-1uhipit{font-style:italic;color:var(--text-muted)}.data-explainer.svelte-1uhipit{background:var(--bg-tertiary);border-radius:10px;padding:1rem 1.25rem;font-size:.85rem;line-height:1.6;color:var(--text-secondary)}.data-explainer.svelte-1uhipit p:where(.svelte-1uhipit){margin-bottom:.75rem}.data-explainer.svelte-1uhipit p:where(.svelte-1uhipit):last-child{margin-bottom:0}.data-action.svelte-1uhipit{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;background:var(--bg-tertiary);border-radius:10px;margin-bottom:.75rem}.data-action.svelte-1uhipit:last-of-type{margin-bottom:0}.data-action.danger.svelte-1uhipit{border:1px solid rgba(239,68,68,.3)}.data-action-info.svelte-1uhipit{display:flex;flex-direction:column;gap:.25rem}.data-action-title.svelte-1uhipit{font-size:.9rem;font-weight:500;color:var(--text-primary)}.data-action-desc.svelte-1uhipit{font-size:.8rem;color:var(--text-muted)}.data-btn.svelte-1uhipit{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;border-radius:8px;border:1px solid var(--border-medium);background:var(--bg-secondary);color:var(--text-primary);font-size:.85rem;font-weight:500;transition:all var(--transition-fast);flex-shrink:0}.data-btn.svelte-1uhipit svg:where(.svelte-1uhipit){width:16px;height:16px}.data-btn.svelte-1uhipit:hover{background:var(--bg-elevated);border-color:var(--border-medium);color:var(--text-primary)}.data-btn.export.svelte-1uhipit:hover{background:var(--accent);border-color:var(--accent);color:var(--bg-primary)}.data-btn.danger.svelte-1uhipit{border-color:#ef444480;color:#ef4444}.data-btn.danger.svelte-1uhipit:hover{background:#ef4444;border-color:#ef4444;color:#fff}.data-btn.help.svelte-1uhipit:hover{background:var(--accent);border-color:var(--accent);color:var(--bg-primary)}.import-status.svelte-1uhipit{margin-top:.75rem;padding:.75rem 1rem;border-radius:8px;font-size:.85rem;text-align:center;background:var(--accent-glow);color:var(--accent)}.import-status.error.svelte-1uhipit{background:#ef44441a;color:#ef4444}.about-header.svelte-1uhipit{display:flex;align-items:baseline;gap:.75rem;margin-bottom:.5rem}.about-title.svelte-1uhipit{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.about-version.svelte-1uhipit{font-family:JetBrains Mono,monospace;font-size:.8rem;color:var(--text-muted);background:var(--bg-tertiary);padding:.2rem .5rem;border-radius:4px}.about-description.svelte-1uhipit{font-size:.9rem;color:var(--text-secondary);line-height:1.6;margin:0}.about-author.svelte-1uhipit{display:flex;flex-direction:column;gap:.25rem}.author-name.svelte-1uhipit{font-size:.95rem;font-weight:500;color:var(--text-primary)}.author-links.svelte-1uhipit{display:flex;align-items:center;gap:.5rem}.author-link.svelte-1uhipit{font-size:.85rem;color:var(--accent);text-decoration:none}.author-link.svelte-1uhipit:hover{text-decoration:underline}.author-separator.svelte-1uhipit{color:var(--text-muted)}.about-links.svelte-1uhipit{display:flex;flex-direction:column;gap:.5rem}.about-link.svelte-1uhipit{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-secondary);text-decoration:none;padding:.5rem 0;transition:color var(--transition-fast)}.about-link.svelte-1uhipit:hover{color:var(--accent)}.about-link.svelte-1uhipit svg:where(.svelte-1uhipit){width:18px;height:18px}.about-license.svelte-1uhipit{font-size:.85rem;color:var(--text-muted);margin:0}.modal-overlay.svelte-1jd9mi2{position:fixed;inset:0;background:#000c;backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:2rem;padding-top:5vh;opacity:0;visibility:hidden;transition:all var(--transition-normal);overflow-y:auto}.modal-overlay.active.svelte-1jd9mi2{opacity:1;visibility:visible}.import-help-modal.svelte-1jd9mi2{background:var(--bg-secondary);border-radius:20px;max-width:700px;width:100%;max-height:calc(90vh - 4rem);overflow:hidden;border:1px solid var(--border-medium);display:flex;flex-direction:column;flex-shrink:0}.modal-fixed-header.svelte-1jd9mi2{flex-shrink:0;background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle)}.modal-header.svelte-1jd9mi2{padding:1.5rem 2rem 1rem;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.modal-title.svelte-1jd9mi2{font-size:1.4rem;font-weight:600;color:var(--text-primary)}.modal-subtitle.svelte-1jd9mi2{font-size:.9rem;color:var(--text-muted);margin-top:.25rem}.modal-close.svelte-1jd9mi2{width:36px;height:36px;border-radius:50%;border:1px solid var(--border-medium);background:transparent;color:var(--text-muted);font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);flex-shrink:0}.modal-close.svelte-1jd9mi2:hover{background:var(--bg-tertiary);color:var(--text-primary)}.help-tabs.svelte-1jd9mi2{display:flex;gap:.25rem;padding:0 2rem 1rem;overflow-x:auto}.help-tab.svelte-1jd9mi2{padding:.5rem 1rem;font-size:.85rem;font-weight:500;border:none;background:transparent;color:var(--text-muted);border-radius:8px;transition:all var(--transition-fast);white-space:nowrap}.help-tab.svelte-1jd9mi2:hover{background:var(--bg-tertiary);color:var(--text-secondary)}.help-tab.active.svelte-1jd9mi2{background:var(--accent);color:var(--bg-primary)}.modal-body.svelte-1jd9mi2{padding:1.5rem 2rem 2rem;overflow-y:auto;flex:1}.help-section.svelte-1jd9mi2{display:flex;flex-direction:column;gap:1.5rem}.file-type-badge.svelte-1jd9mi2{display:inline-flex;align-items:center;padding:.4rem .8rem;background:var(--accent-glow);color:var(--accent);border-radius:6px;font-family:JetBrains Mono,monospace;font-size:.85rem;font-weight:600;width:fit-content}.file-type-badge.small.svelte-1jd9mi2{padding:.25rem .5rem;font-size:.75rem}.help-intro.svelte-1jd9mi2{font-size:.95rem;color:var(--text-secondary);line-height:1.6;margin:0}.app-guide.svelte-1jd9mi2{background:var(--bg-tertiary);border-radius:12px;padding:1.25rem;border:1px solid var(--border-subtle)}.app-name.svelte-1jd9mi2{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.app-logo.svelte-1jd9mi2{width:24px;height:24px;flex-shrink:0;color:var(--text-primary)}.app-logo.svelte-1jd9mi2 svg:where(.svelte-1jd9mi2){width:100%;height:100%}.app-logo.outlook-color.svelte-1jd9mi2{color:#0078d4}.app-logo.zwift-color.svelte-1jd9mi2{color:#fc6719}.app-logo.trainerroad-color.svelte-1jd9mi2{color:#e12726}.app-logo.rouvy-color.svelte-1jd9mi2{color:#00a8e8}.step-list.svelte-1jd9mi2{margin:0;padding-left:1.5rem;color:var(--text-secondary);font-size:.9rem;line-height:1.8}.step-list.svelte-1jd9mi2 li:where(.svelte-1jd9mi2){margin-bottom:.5rem}.step-list.svelte-1jd9mi2 li:where(.svelte-1jd9mi2):last-child{margin-bottom:0}.step-list.svelte-1jd9mi2 strong:where(.svelte-1jd9mi2){color:var(--text-primary)}.step-list.svelte-1jd9mi2 a:where(.svelte-1jd9mi2){color:var(--accent);text-decoration:none}.step-list.svelte-1jd9mi2 a:where(.svelte-1jd9mi2):hover{text-decoration:underline}.path.svelte-1jd9mi2{background:var(--bg-primary);padding:.2rem .5rem;border-radius:4px;font-family:JetBrains Mono,monospace;font-size:.8rem;color:var(--accent);display:inline-block;margin:.25rem 0;word-break:break-all}.tip.svelte-1jd9mi2{margin-top:1rem;padding:.75rem 1rem;background:var(--accent-glow);border-radius:8px;font-size:.85rem;color:var(--text-secondary);border-left:3px solid var(--accent)}.tip.svelte-1jd9mi2 strong:where(.svelte-1jd9mi2){color:var(--accent)}.note.svelte-1jd9mi2{color:var(--text-muted);font-size:.9rem;margin-bottom:.5rem}.warning-box.svelte-1jd9mi2{margin-top:1rem;padding:.75rem 1rem;background:#f973161a;border-radius:8px;font-size:.85rem;color:var(--text-secondary);border-left:3px solid #f97316}.warning-box.svelte-1jd9mi2 strong:where(.svelte-1jd9mi2){color:#f97316}.file-format-guide.svelte-1jd9mi2{background:var(--bg-tertiary);border-radius:12px;padding:1.25rem;border:1px solid var(--border-subtle)}.format-title.svelte-1jd9mi2{display:flex;align-items:center;gap:.75rem;font-size:.95rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.file-format-guide.svelte-1jd9mi2 p:where(.svelte-1jd9mi2){color:var(--text-secondary);font-size:.9rem;line-height:1.6;margin:0 0 .75rem}.compatible-apps.svelte-1jd9mi2{display:flex;flex-wrap:wrap;gap:.5rem}.app-tag.svelte-1jd9mi2{padding:.3rem .6rem;background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:4px;font-size:.75rem;color:var(--text-muted)}.general-tips.svelte-1jd9mi2{background:var(--bg-tertiary);border-radius:12px;padding:1.25rem;border:1px solid var(--border-subtle)}.general-tips.svelte-1jd9mi2 h4:where(.svelte-1jd9mi2){font-size:.95rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.general-tips.svelte-1jd9mi2 ul:where(.svelte-1jd9mi2){margin:0;padding-left:1.5rem;color:var(--text-secondary);font-size:.9rem;line-height:1.8}.general-tips.svelte-1jd9mi2 li:where(.svelte-1jd9mi2){margin-bottom:.25rem}@media(max-width:600px){.modal-overlay.svelte-1jd9mi2{padding:1rem;padding-top:2vh}.import-help-modal.svelte-1jd9mi2{max-height:calc(96vh - 2rem)}.modal-header.svelte-1jd9mi2{padding:1rem 1.25rem .75rem}.modal-title.svelte-1jd9mi2{font-size:1.2rem}.help-tabs.svelte-1jd9mi2{padding:0 1.25rem .75rem}.help-tab.svelte-1jd9mi2{padding:.4rem .75rem;font-size:.8rem}.modal-body.svelte-1jd9mi2{padding:1rem 1.25rem 1.5rem}.app-guide.svelte-1jd9mi2{padding:1rem}.path.svelte-1jd9mi2{font-size:.7rem}}.local-storage-banner.svelte-5d96j5{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--bg-secondary);border-bottom:1px solid var(--border-medium);padding:.75rem 1rem;animation:svelte-5d96j5-slideDown .3s ease-out}@keyframes svelte-5d96j5-slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.banner-content.svelte-5d96j5{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:.75rem}.banner-icon.svelte-5d96j5{flex-shrink:0;width:20px;height:20px;color:var(--accent)}.banner-icon.svelte-5d96j5 svg:where(.svelte-5d96j5){width:100%;height:100%}.banner-content.svelte-5d96j5 p:where(.svelte-5d96j5){flex:1;font-size:.9rem;color:var(--text-secondary);margin:0}.banner-link.svelte-5d96j5{background:none;border:none;color:var(--accent);font:inherit;cursor:pointer;text-decoration:underline;padding:0}.banner-link.svelte-5d96j5:hover{color:var(--text-primary)}.banner-close.svelte-5d96j5{flex-shrink:0;width:28px;height:28px;border-radius:6px;border:1px solid var(--border-medium);background:transparent;color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.banner-close.svelte-5d96j5:hover{background:var(--bg-tertiary);color:var(--text-primary)}.banner-close.svelte-5d96j5 svg:where(.svelte-5d96j5){width:14px;height:14px}.main-content.svelte-5d96j5{flex:1;margin-left:var(--sidebar-width);padding:2rem}.mobile-header.svelte-5d96j5{display:none;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-subtle)}.menu-toggle.svelte-5d96j5{width:40px;height:40px;border-radius:10px;background:var(--bg-secondary);border:1px solid var(--border-medium);color:var(--text-primary);font-size:1.2rem}.mobile-title.svelte-5d96j5{font-size:1.1rem;font-weight:600}@media(max-width:700px){.main-content.svelte-5d96j5{margin-left:0;padding:1rem}.mobile-header.svelte-5d96j5{display:flex}}</style>
62
62
  </head>
63
63
  <body>
64
64
  <div id="app"></div>