PageSourceSearch

https://carbo-loader.vercel.app/assets/index-B0s6FRTQ.js

js carbo-loader.vercel.app collected 2026-10-03 06:20:51 UTC 705,728 bytes, 61 lines download raw bytes

vendor: 4,239 bytes, lines 1-8
1(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const t of document.querySelectorAll('link[rel="modulepreload"]'))s(t);new MutationObserver(t=>{for(const o of t)if(o.type==="childList")for(const u of o.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&s(u)}).observe(document,{childList:!0,subtree:!0});function a(t){const o={};return t.integrity&&(o.integrity=t.integrity),t.referrerPolicy&&(o.referrerPolicy=t.referrerPolicy),t.crossOrigin==="use-credentials"?o.credentials="include":t.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function s(t){if(t.ep)return;t.ep=!0;const o=a(t);fetch(t.href,o)}})();/**
2* @vue/shared v3.5.19
3* (c) 2018-present Yuxi (Evan) You and Vue contributors
4* @license MIT
5**//*! #__NO_SIDE_EFFECTS__ */function Et(r){const e=Object.create(null);for(const a of r.split(","))e[a]=1;return a=>a in e}const se={},ca=[],or=()=>{},tu=()=>!1,Rs=r=>r.charCodeAt(0)===111&&r.charCodeAt(1)===110&&(r.charCodeAt(2)>122||r.charCodeAt(2)<97),Pt=r=>r.startsWith("onUpdate:"),Te=Object.assign,At=(r,e)=>{const a=r.indexOf(e);a>-1&&r.splice(a,1)},xl=Object.prototype.hasOwnProperty,Z=(r,e)=>xl.call(r,e),M=Array.isArray,na=r=>Ja(r)==="[object Map]",xs=r=>Ja(r)==="[object Set]",Xt=r=>Ja(r)==="[object Date]",H=r=>typeof r=="function",de=r=>typeof r=="string",ur=r=>typeof r=="symbol",le=r=>r!==null&&typeof r=="object",ou=r=>(le(r)||H(r))&&H(r.then)&&H(r.catch),uu=Object.prototype.toString,Ja=r=>uu.call(r),Bl=r=>Ja(r).slice(8,-1),lu=r=>Ja(r)==="[object Object]",Ot=r=>de(r)&&r!=="NaN"&&r[0]!=="-"&&""+parseInt(r,10)===r,Ga=Et(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Bs=r=>{const e=Object.create(null);return a=>e[a]||(e[a]=r(a))},Il=/-(\w)/g,Pr=Bs(r=>r.replace(Il,(e,a)=>a?a.toUpperCase():"")),$l=/\B([A-Z])/g,Rr=Bs(r=>r.replace($l,"-$1").toLowerCase()),cu=Bs(r=>r.charAt(0).toUpperCase()+r.slice(1)),Ks=Bs(r=>r?`on${cu(r)}`:""),Er=(r,e)=>!Object.is(r,e),hs=(r,...e)=>{for(let a=0;a<r.length;a++)r[a](...e)},nu=(r,e,a,s=!1)=>{Object.defineProperty(r,e,{configurable:!0,enumerable:!1,writable:s,value:a})},vs=r=>{const e=parseFloat(r);return isNaN(e)?r:e};let eo;const Is=()=>eo||(eo=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Sr(r){if(M(r)){const e={};for(let a=0;a<r.length;a++){const s=r[a],t=de(s)?Ml(s):Sr(s);if(t)for(const o in t)e[o]=t[o]}return e}else if(de(r)||le(r))return r}const jl=/;(?![^(]*\))/g,Ll=/:([^]+)/,Nl=/\/\*[^]*?\*\//g;function Ml(r){const e={};return r.replace(Nl,"").split(jl).forEach(a=>{if(a){const s=a.split(Ll);s.length>1&&(e[s[0].trim()]=s[1].trim())}}),e}function Ce(r){let e="";if(de(r))e=r;else if(M(r))for(let a=0;a<r.length;a++){const s=Ce(r[a]);s&&(e+=s+" ")}else if(le(r))for(const a in r)r[a]&&(e+=a+" ");return e.trim()}const Ul="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Dl=Et(Ul);function iu(r){return!!r||r===""}function ql(r,e){if(r.length!==e.length)return!1;let a=!0;for(let s=0;a&&s<r.length;s++)a=$s(r[s],e[s]);return a}function $s(r,e){if(r===e)return!0;let a=Xt(r),s=Xt(e);if(a||s)return a&&s?r.getTime()===e.getTime():!1;if(a=ur(r),s=ur(e),a||s)return r===e;if(a=M(r),s=M(e),a||s)return a&&s?ql(r,e):!1;if(a=le(r),s=le(e),a||s){if(!a||!s)return!1;const t=Object.keys(r).length,o=Object.keys(e).length;if(t!==o)return!1;for(const u in r){const l=r.hasOwnProperty(u),c=e.hasOwnProperty(u);if(l&&!c||!l&&c||!$s(r[u],e[u]))return!1}}return String(r)===String(e)}function zl(r,e){return r.findIndex(a=>$s(a,e))}const fu=r=>!!(r&&r.__v_isRef===!0),z=r=>de(r)?r:r==null?"":M(r)||le(r)&&(r.toString===uu||!H(r.toString))?fu(r)?z(r.value):JSON.stringify(r,du,2):String(r),du=(r,e)=>fu(e)?du(r,e.value):na(e)?{[`Map(${e.size})`]:[...e.entries()].reduce((a,[s,t],o)=>(a[Vs(s,o)+" =>"]=t,a),{})}:xs(e)?{[`Set(${e.size})`]:[...e.values()].map(a=>Vs(a))}:ur(e)?Vs(e):le(e)&&!M(e)&&!lu(e)?String(e):e,Vs=(r,e="")=>{var a;return ur(r)?`Symbol(${(a=r.description)!=null?a:e})`:r};/**
6* @vue/reactivity v3.5.19
7* (c) 2018-present Yuxi (Evan) You and Vue contributors
8* @license MIT
vendor: 50,922 bytes, lines 9-16
9**/let Oe;class Hl{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Oe,!e&&Oe&&(this.index=(Oe.scopes||(Oe.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,a;if(this.scopes)for(e=0,a=this.scopes.length;e<a;e++)this.scopes[e].pause();for(e=0,a=this.effects.length;e<a;e++)this.effects[e].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let e,a;if(this.scopes)for(e=0,a=this.scopes.length;e<a;e++)this.scopes[e].resume();for(e=0,a=this.effects.length;e<a;e++)this.effects[e].resume()}}run(e){if(this._active){const a=Oe;try{return Oe=this,e()}finally{Oe=a}}}on(){++this._on===1&&(this.prevScope=Oe,Oe=this)}off(){this._on>0&&--this._on===0&&(Oe=this.prevScope,this.prevScope=void 0)}stop(e){if(this._active){this._active=!1;let a,s;for(a=0,s=this.effects.length;a<s;a++)this.effects[a].stop();for(this.effects.length=0,a=0,s=this.cleanups.length;a<s;a++)this.cleanups[a]();if(this.cleanups.length=0,this.scopes){for(a=0,s=this.scopes.length;a<s;a++)this.scopes[a].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!e){const t=this.parent.scopes.pop();t&&t!==this&&(this.parent.scopes[this.index]=t,t.index=this.index)}this.parent=void 0}}}function Wl(){return Oe}let ue;const Js=new WeakSet;class hu{constructor(e){this.fn=e,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,Oe&&Oe.active&&Oe.effects.push(this)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Js.has(this)&&(Js.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||bu(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,ro(this),gu(this);const e=ue,a=Ve;ue=this,Ve=!0;try{return this.fn()}finally{pu(this),ue=e,Ve=a,this.flags&=-3}}stop(){if(this.flags&1){for(let e=this.deps;e;e=e.nextDep)Bt(e);this.deps=this.depsTail=void 0,ro(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Js.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){ut(this)&&this.run()}get dirty(){return ut(this)}}let mu=0,Ta,Ea;function bu(r,e=!1){if(r.flags|=8,e){r.next=Ea,Ea=r;return}r.next=Ta,Ta=r}function Rt(){mu++}function xt(){if(--mu>0)return;if(Ea){let e=Ea;for(Ea=void 0;e;){const a=e.next;e.next=void 0,e.flags&=-9,e=a}}let r;for(;Ta;){let e=Ta;for(Ta=void 0;e;){const a=e.next;if(e.next=void 0,e.flags&=-9,e.flags&1)try{e.trigger()}catch(s){r||(r=s)}e=a}}if(r)throw r}function gu(r){for(let e=r.deps;e;e=e.nextDep)e.version=-1,e.prevActiveLink=e.dep.activeLink,e.dep.activeLink=e}function pu(r){let e,a=r.depsTail,s=a;for(;s;){const t=s.prevDep;s.version===-1?(s===a&&(a=t),Bt(s),Kl(s)):e=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=t}r.deps=e,r.depsTail=a}function ut(r){for(let e=r.deps;e;e=e.nextDep)if(e.dep.version!==e.version||e.dep.computed&&(Su(e.dep.computed)||e.dep.version!==e.version))return!0;return!!r._dirty}function Su(r){if(r.flags&4&&!(r.flags&16)||(r.flags&=-17,r.globalVersion===ja)||(r.globalVersion=ja,!r.isSSR&&r.flags&128&&(!r.deps&&!r._dirty||!ut(r))))return;r.flags|=2;const e=r.dep,a=ue,s=Ve;ue=r,Ve=!0;try{gu(r);const t=r.fn(r._value);(e.version===0||Er(t,r._value))&&(r.flags|=128,r._value=t,e.version++)}catch(t){throw e.version++,t}finally{ue=a,Ve=s,pu(r),r.flags&=-3}}function Bt(r,e=!1){const{dep:a,prevSub:s,nextSub:t}=r;if(s&&(s.nextSub=t,r.prevSub=void 0),t&&(t.prevSub=s,r.nextSub=void 0),a.subs===r&&(a.subs=s,!s&&a.computed)){a.computed.flags&=-5;for(let o=a.computed.deps;o;o=o.nextDep)Bt(o,!0)}!e&&!--a.sc&&a.map&&a.map.delete(a.key)}function Kl(r){const{prevDep:e,nextDep:a}=r;e&&(e.nextDep=a,r.prevDep=void 0),a&&(a.prevDep=e,r.nextDep=void 0)}let Ve=!0;const vu=[];function vr(){vu.push(Ve),Ve=!1}function Fr(){const r=vu.pop();Ve=r===void 0?!0:r}function ro(r){const{cleanup:e}=r;if(r.cleanup=void 0,e){const a=ue;ue=void 0;try{e()}finally{ue=a}}}let ja=0;class Vl{constructor(e,a){this.sub=e,this.dep=a,this.version=a.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class It{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(e){if(!ue||!Ve||ue===this.computed)return;let a=this.activeLink;if(a===void 0||a.sub!==ue)a=this.activeLink=new Vl(ue,this),ue.deps?(a.prevDep=ue.depsTail,ue.depsTail.nextDep=a,ue.depsTail=a):ue.deps=ue.depsTail=a,Fu(a);else if(a.version===-1&&(a.version=this.version,a.nextDep)){const s=a.nextDep;s.prevDep=a.prevDep,a.prevDep&&(a.prevDep.nextDep=s),a.prevDep=ue.depsTail,a.nextDep=void 0,ue.depsTail.nextDep=a,ue.depsTail=a,ue.deps===a&&(ue.deps=s)}return a}trigger(e){this.version++,ja++,this.notify(e)}notify(e){Rt();try{for(let a=this.subs;a;a=a.prevSub)a.sub.notify()&&a.sub.dep.notify()}finally{xt()}}}function Fu(r){if(r.dep.sc++,r.sub.flags&4){const e=r.dep.computed;if(e&&!r.dep.subs){e.flags|=20;for(let s=e.deps;s;s=s.nextDep)Fu(s)}const a=r.dep.subs;a!==r&&(r.prevSub=a,a&&(a.nextSub=r)),r.dep.subs=r}}const lt=new WeakMap,qr=Symbol(""),ct=Symbol(""),La=Symbol("");function Se(r,e,a){if(Ve&&ue){let s=lt.get(r);s||lt.set(r,s=new Map);let t=s.get(a);t||(s.set(a,t=new It),t.map=s,t.key=a),t.track()}}function gr(r,e,a,s,t,o){const u=lt.get(r);if(!u){ja++;return}const l=c=>{c&&c.trigger()};if(Rt(),e==="clear")u.forEach(l);else{const c=M(r),n=c&&Ot(a);if(c&&a==="length"){const i=Number(s);u.forEach((f,d)=>{(d==="length"||d===La||!ur(d)&&d>=i)&&l(f)})}else switch((a!==void 0||u.has(void 0))&&l(u.get(a)),n&&l(u.get(La)),e){case"add":c?n&&l(u.get("length")):(l(u.get(qr)),na(r)&&l(u.get(ct)));break;case"delete":c||(l(u.get(qr)),na(r)&&l(u.get(ct)));break;case"set":na(r)&&l(u.get(qr));break}}xt()}function Jr(r){const e=Q(r);return e===r?e:(Se(e,"iterate",La),qe(r)?e:e.map(ge))}function js(r){return Se(r=Q(r),"iterate",La),r}const Jl={__proto__:null,[Symbol.iterator](){return Ys(this,Symbol.iterator,ge)},concat(...r){return Jr(this).concat(...r.map(e=>M(e)?Jr(e):e))},entries(){return Ys(this,"entries",r=>(r[1]=ge(r[1]),r))},every(r,e){return dr(this,"every",r,e,void 0,arguments)},filter(r,e){return dr(this,"filter",r,e,a=>a.map(ge),arguments)},find(r,e){return dr(this,"find",r,e,ge,arguments)},findIndex(r,e){return dr(this,"findIndex",r,e,void 0,arguments)},findLast(r,e){return dr(this,"findLast",r,e,ge,arguments)},findLastIndex(r,e){return dr(this,"findLastIndex",r,e,void 0,arguments)},forEach(r,e){return dr(this,"forEach",r,e,void 0,arguments)},includes(...r){return Qs(this,"includes",r)},indexOf(...r){return Qs(this,"indexOf",r)},join(r){return Jr(this).join(r)},lastIndexOf(...r){return Qs(this,"lastIndexOf",r)},map(r,e){return dr(this,"map",r,e,void 0,arguments)},pop(){return Fa(this,"pop")},push(...r){return Fa(this,"push",r)},reduce(r,...e){return ao(this,"reduce",r,e)},reduceRight(r,...e){return ao(this,"reduceRight",r,e)},shift(){return Fa(this,"shift")},some(r,e){return dr(this,"some",r,e,void 0,arguments)},splice(...r){return Fa(this,"splice",r)},toReversed(){return Jr(this).toReversed()},toSorted(r){return Jr(this).toSorted(r)},toSpliced(...r){return Jr(this).toSpliced(...r)},unshift(...r){return Fa(this,"unshift",r)},values(){return Ys(this,"values",ge)}};function Ys(r,e,a){const s=js(r),t=s[e]();return s!==r&&!qe(r)&&(t._next=t.next,t.next=()=>{const o=t._next();return o.value&&(o.value=a(o.value)),o}),t}const Yl=Array.prototype;function dr(r,e,a,s,t,o){const u=js(r),l=u!==r&&!qe(r),c=u[e];if(c!==Yl[e]){const f=c.apply(r,o);return l?ge(f):f}let n=a;u!==r&&(l?n=function(f,d){return a.call(this,ge(f),d,r)}:a.length>2&&(n=function(f,d){return a.call(this,f,d,r)}));const i=c.call(u,n,s);return l&&t?t(i):i}function ao(r,e,a,s){const t=js(r);let o=a;return t!==r&&(qe(r)?a.length>3&&(o=function(u,l,c){return a.call(this,u,l,c,r)}):o=function(u,l,c){return a.call(this,u,ge(l),c,r)}),t[e](o,...s)}function Qs(r,e,a){const s=Q(r);Se(s,"iterate",La);const t=s[e](...a);return(t===-1||t===!1)&&Nt(a[0])?(a[0]=Q(a[0]),s[e](...a)):t}function Fa(r,e,a=[]){vr(),Rt();const s=Q(r)[e].apply(r,a);return xt(),Fr(),s}const Ql=Et("__proto__,__v_isRef,__isVue"),wu=new Set(Object.getOwnPropertyNames(Symbol).filter(r=>r!=="arguments"&&r!=="caller").map(r=>Symbol[r]).filter(ur));function Zl(r){ur(r)||(r=String(r));const e=Q(this);return Se(e,"has",r),e.hasOwnProperty(r)}class Cu{constructor(e=!1,a=!1){this._isReadonly=e,this._isShallow=a}get(e,a,s){if(a==="__v_skip")return e.__v_skip;const t=this._isReadonly,o=this._isShallow;if(a==="__v_isReactive")return!t;if(a==="__v_isReadonly")return t;if(a==="__v_isShallow")return o;if(a==="__v_raw")return s===(t?o?cc:Gu:o?ku:_u).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(s)?e:void 0;const u=M(e);if(!t){let c;if(u&&(c=Jl[a]))return c;if(a==="hasOwnProperty")return Zl}const l=Reflect.get(e,a,Fe(e)?e:s);return(ur(a)?wu.has(a):Ql(a))||(t||Se(e,"get",a),o)?l:Fe(l)?u&&Ot(a)?l:l.value:le(l)?t?Tu(l):jt(l):l}}class yu extends Cu{constructor(e=!1){super(!1,e)}set(e,a,s,t){let o=e[a];if(!this._isShallow){const c=Ar(o);if(!qe(s)&&!Ar(s)&&(o=Q(o),s=Q(s)),!M(e)&&Fe(o)&&!Fe(s))return c||(o.value=s),!0}const u=M(e)&&Ot(a)?Number(a)<e.length:Z(e,a),l=Reflect.set(e,a,s,Fe(e)?e:t);return e===Q(t)&&(u?Er(s,o)&&gr(e,"set",a,s):gr(e,"add",a,s)),l}deleteProperty(e,a){const s=Z(e,a);e[a];const t=Reflect.deleteProperty(e,a);return t&&s&&gr(e,"delete",a,void 0),t}has(e,a){const s=Reflect.has(e,a);return(!ur(a)||!wu.has(a))&&Se(e,"has",a),s}ownKeys(e){return Se(e,"iterate",M(e)?"length":qr),Reflect.ownKeys(e)}}class Xl extends Cu{constructor(e=!1){super(!0,e)}set(e,a){return!0}deleteProperty(e,a){return!0}}const ec=new yu,rc=new Xl,ac=new yu(!0);const nt=r=>r,as=r=>Reflect.getPrototypeOf(r);function sc(r,e,a){return function(...s){const t=this.__v_raw,o=Q(t),u=na(o),l=r==="entries"||r===Symbol.iterator&&u,c=r==="keys"&&u,n=t[r](...s),i=a?nt:e?Fs:ge;return!e&&Se(o,"iterate",c?ct:qr),{next(){const{value:f,done:d}=n.next();return d?{value:f,done:d}:{value:l?[i(f[0]),i(f[1])]:i(f),done:d}},[Symbol.iterator](){return this}}}}function ss(r){return function(...e){return r==="delete"?!1:r==="clear"?void 0:this}}function tc(r,e){const a={get(t){const o=this.__v_raw,u=Q(o),l=Q(t);r||(Er(t,l)&&Se(u,"get",t),Se(u,"get",l));const{has:c}=as(u),n=e?nt:r?Fs:ge;if(c.call(u,t))return n(o.get(t));if(c.call(u,l))return n(o.get(l));o!==u&&o.get(t)},get size(){const t=this.__v_raw;return!r&&Se(Q(t),"iterate",qr),Reflect.get(t,"size",t)},has(t){const o=this.__v_raw,u=Q(o),l=Q(t);return r||(Er(t,l)&&Se(u,"has",t),Se(u,"has",l)),t===l?o.has(t):o.has(t)||o.has(l)},forEach(t,o){const u=this,l=u.__v_raw,c=Q(l),n=e?nt:r?Fs:ge;return!r&&Se(c,"iterate",qr),l.forEach((i,f)=>t.call(o,n(i),n(f),u))}};return Te(a,r?{add:ss("add"),set:ss("set"),delete:ss("delete"),clear:ss("clear")}:{add(t){!e&&!qe(t)&&!Ar(t)&&(t=Q(t));const o=Q(this);return as(o).has.call(o,t)||(o.add(t),gr(o,"add",t,t)),this},set(t,o){!e&&!qe(o)&&!Ar(o)&&(o=Q(o));const u=Q(this),{has:l,get:c}=as(u);let n=l.call(u,t);n||(t=Q(t),n=l.call(u,t));const i=c.call(u,t);return u.set(t,o),n?Er(o,i)&&gr(u,"set",t,o):gr(u,"add",t,o),this},delete(t){const o=Q(this),{has:u,get:l}=as(o);let c=u.call(o,t);c||(t=Q(t),c=u.call(o,t)),l&&l.call(o,t);const n=o.delete(t);return c&&gr(o,"delete",t,void 0),n},clear(){const t=Q(this),o=t.size!==0,u=t.clear();return o&&gr(t,"clear",void 0,void 0),u}}),["keys","values","entries",Symbol.iterator].forEach(t=>{a[t]=sc(t,r,e)}),a}function $t(r,e){const a=tc(r,e);return(s,t,o)=>t==="__v_isReactive"?!r:t==="__v_isReadonly"?r:t==="__v_raw"?s:Reflect.get(Z(a,t)&&t in s?a:s,t,o)}const oc={get:$t(!1,!1)},uc={get:$t(!1,!0)},lc={get:$t(!0,!1)};const _u=new WeakMap,ku=new WeakMap,Gu=new WeakMap,cc=new WeakMap;function nc(r){switch(r){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function ic(r){return r.__v_skip||!Object.isExtensible(r)?0:nc(Bl(r))}function jt(r){return Ar(r)?r:Lt(r,!1,ec,oc,_u)}function fc(r){return Lt(r,!1,ac,uc,ku)}function Tu(r){return Lt(r,!0,rc,lc,Gu)}function Lt(r,e,a,s,t){if(!le(r)||r.__v_raw&&!(e&&r.__v_isReactive))return r;const o=ic(r);if(o===0)return r;const u=t.get(r);if(u)return u;const l=new Proxy(r,o===2?s:a);return t.set(r,l),l}function ia(r){return Ar(r)?ia(r.__v_raw):!!(r&&r.__v_isReactive)}function Ar(r){return!!(r&&r.__v_isReadonly)}function qe(r){return!!(r&&r.__v_isShallow)}function Nt(r){return r?!!r.__v_raw:!1}function Q(r){const e=r&&r.__v_raw;return e?Q(e):r}function dc(r){return!Z(r,"__v_skip")&&Object.isExtensible(r)&&nu(r,"__v_skip",!0),r}const ge=r=>le(r)?jt(r):r,Fs=r=>le(r)?Tu(r):r;function Fe(r){return r?r.__v_isRef===!0:!1}function ce(r){return hc(r,!1)}function hc(r,e){return Fe(r)?r:new mc(r,e)}class mc{constructor(e,a){this.dep=new It,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=a?e:Q(e),this._value=a?e:ge(e),this.__v_isShallow=a}get value(){return this.dep.track(),this._value}set value(e){const a=this._rawValue,s=this.__v_isShallow||qe(e)||Ar(e);e=s?e:Q(e),Er(e,a)&&(this._rawValue=e,this._value=s?e:ge(e),this.dep.trigger())}}function Ke(r){return Fe(r)?r.value:r}const bc={get:(r,e,a)=>e==="__v_raw"?r:Ke(Reflect.get(r,e,a)),set:(r,e,a,s)=>{const t=r[e];return Fe(t)&&!Fe(a)?(t.value=a,!0):Reflect.set(r,e,a,s)}};function Eu(r){return ia(r)?r:new Proxy(r,bc)}class gc{constructor(e,a,s){this.fn=e,this.setter=a,this._value=void 0,this.dep=new It(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=ja-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!a,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&ue!==this)return bu(this,!0),!0}get value(){const e=this.dep.track();return Su(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}function pc(r,e,a=!1){let s,t;return H(r)?s=r:(s=r.get,t=r.set),new gc(s,t,a)}const ts={},ws=new WeakMap;let Lr;function Sc(r,e=!1,a=Lr){if(a){let s=ws.get(a);s||ws.set(a,s=[]),s.push(r)}}function vc(r,e,a=se){const{immediate:s,deep:t,once:o,scheduler:u,augmentJob:l,call:c}=a,n=E=>t?E:qe(E)||t===!1||t===0?pr(E,1):pr(E);let i,f,d,m,g=!1,S=!1;if(Fe(r)?(f=()=>r.value,g=qe(r)):ia(r)?(f=()=>n(r),g=!0):M(r)?(S=!0,g=r.some(E=>ia(E)||qe(E)),f=()=>r.map(E=>{if(Fe(E))return E.value;if(ia(E))return n(E);if(H(E))return c?c(E,2):E()})):H(r)?e?f=c?()=>c(r,2):r:f=()=>{if(d){vr();try{d()}finally{Fr()}}const E=Lr;Lr=i;try{return c?c(r,3,[m]):r(m)}finally{Lr=E}}:f=or,e&&t){const E=f,J=t===!0?1/0:t;f=()=>pr(E(),J)}const P=Wl(),y=()=>{i.stop(),P&&P.active&&At(P.effects,i)};if(o&&e){const E=e;e=(...J)=>{E(...J),y()}}let T=S?new Array(r.length).fill(ts):ts;const _=E=>{if(!(!(i.flags&1)||!i.dirty&&!E))if(e){const J=i.run();if(t||g||(S?J.some((W,K)=>Er(W,T[K])):Er(J,T))){d&&d();const W=Lr;Lr=i;try{const K=[J,T===ts?void 0:S&&T[0]===ts?[]:T,m];T=J,c?c(e,3,K):e(...K)}finally{Lr=W}}}else i.run()};return l&&l(_),i=new hu(f),i.scheduler=u?()=>u(_,!1):_,m=E=>Sc(E,!1,i),d=i.onStop=()=>{const E=ws.get(i);if(E){if(c)c(E,4);else for(const J of E)J();ws.delete(i)}},e?s?_(!0):T=i.run():u?u(_.bind(null,!0),!0):i.run(),y.pause=i.pause.bind(i),y.resume=i.resume.bind(i),y.stop=y,y}function pr(r,e=1/0,a){if(e<=0||!le(r)||r.__v_skip||(a=a||new Set,a.has(r)))return r;if(a.add(r),e--,Fe(r))pr(r.value,e,a);else if(M(r))for(let s=0;s<r.length;s++)pr(r[s],e,a);else if(xs(r)||na(r))r.forEach(s=>{pr(s,e,a)});else if(lu(r)){for(const s in r)pr(r[s],e,a);for(const s of Object.getOwnPropertySymbols(r))Object.prototype.propertyIsEnumerable.call(r,s)&&pr(r[s],e,a)}return r}/**
10* @vue/runtime-core v3.5.19
11* (c) 2018-present Yuxi (Evan) You and Vue contributors
12* @license MIT
13**/function Ya(r,e,a,s){try{return s?r(...s):r()}catch(t){Ls(t,e,a)}}function lr(r,e,a,s){if(H(r)){const t=Ya(r,e,a,s);return t&&ou(t)&&t.catch(o=>{Ls(o,e,a)}),t}if(M(r)){const t=[];for(let o=0;o<r.length;o++)t.push(lr(r[o],e,a,s));return t}}function Ls(r,e,a,s=!0){const t=e?e.vnode:null,{errorHandler:o,throwUnhandledErrorInProduction:u}=e&&e.appContext.config||se;if(e){let l=e.parent;const c=e.proxy,n=`https://vuejs.org/error-reference/#runtime-${a}`;for(;l;){const i=l.ec;if(i){for(let f=0;f<i.length;f++)if(i[f](r,c,n)===!1)return}l=l.parent}if(o){vr(),Ya(o,null,10,[r,c,n]),Fr();return}}Fc(r,a,t,s,u)}function Fc(r,e,a,s=!0,t=!1){if(t)throw r;console.error(r)}const ye=[];let rr=-1;const fa=[];let _r=null,aa=0;const Pu=Promise.resolve();let Cs=null;function Au(r){const e=Cs||Pu;return r?e.then(this?r.bind(this):r):e}function wc(r){let e=rr+1,a=ye.length;for(;e<a;){const s=e+a>>>1,t=ye[s],o=Na(t);o<r||o===r&&t.flags&2?e=s+1:a=s}return e}function Mt(r){if(!(r.flags&1)){const e=Na(r),a=ye[ye.length-1];!a||!(r.flags&2)&&e>=Na(a)?ye.push(r):ye.splice(wc(e),0,r),r.flags|=1,Ou()}}function Ou(){Cs||(Cs=Pu.then(xu))}function Cc(r){M(r)?fa.push(...r):_r&&r.id===-1?_r.splice(aa+1,0,r):r.flags&1||(fa.push(r),r.flags|=1),Ou()}function so(r,e,a=rr+1){for(;a<ye.length;a++){const s=ye[a];if(s&&s.flags&2){if(r&&s.id!==r.uid)continue;ye.splice(a,1),a--,s.flags&4&&(s.flags&=-2),s(),s.flags&4||(s.flags&=-2)}}}function Ru(r){if(fa.length){const e=[...new Set(fa)].sort((a,s)=>Na(a)-Na(s));if(fa.length=0,_r){_r.push(...e);return}for(_r=e,aa=0;aa<_r.length;aa++){const a=_r[aa];a.flags&4&&(a.flags&=-2),a.flags&8||a(),a.flags&=-2}_r=null,aa=0}}const Na=r=>r.id==null?r.flags&2?-1:1/0:r.id;function xu(r){try{for(rr=0;rr<ye.length;rr++){const e=ye[rr];e&&!(e.flags&8)&&(e.flags&4&&(e.flags&=-2),Ya(e,e.i,e.i?15:14),e.flags&4||(e.flags&=-2))}}finally{for(;rr<ye.length;rr++){const e=ye[rr];e&&(e.flags&=-2)}rr=-1,ye.length=0,Ru(),Cs=null,(ye.length||fa.length)&&xu()}}let De=null,Bu=null;function ys(r){const e=De;return De=r,Bu=r&&r.type.__scopeId||null,e}function yc(r,e=De,a){if(!e||r._n)return r;const s=(...t)=>{s._d&&ho(-1);const o=ys(e);let u;try{u=r(...t)}finally{ys(o),s._d&&ho(1)}return u};return s._n=!0,s._c=!0,s._d=!0,s}function zr(r,e){if(De===null)return r;const a=Ds(De),s=r.dirs||(r.dirs=[]);for(let t=0;t<e.length;t++){let[o,u,l,c=se]=e[t];o&&(H(o)&&(o={mounted:o,updated:o}),o.deep&&pr(u),s.push({dir:o,instance:a,value:u,oldValue:void 0,arg:l,modifiers:c}))}return r}function Br(r,e,a,s){const t=r.dirs,o=e&&e.dirs;for(let u=0;u<t.length;u++){const l=t[u];o&&(l.oldValue=o[u].value);let c=l.dir[s];c&&(vr(),lr(c,a,8,[r.el,l,r,e]),Fr())}}const _c=Symbol("_vte"),kc=r=>r.__isTeleport,Gc=Symbol("_leaveCb");function Ut(r,e){r.shapeFlag&6&&r.component?(r.transition=e,Ut(r.component.subTree,e)):r.shapeFlag&128?(r.ssContent.transition=e.clone(r.ssContent),r.ssFallback.transition=e.clone(r.ssFallback)):r.transition=e}function Iu(r){r.ids=[r.ids[0]+r.ids[2]+++"-",0,0]}function Pa(r,e,a,s,t=!1){if(M(r)){r.forEach((g,S)=>Pa(g,e&&(M(e)?e[S]:e),a,s,t));return}if(Aa(s)&&!t){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&Pa(r,e,a,s.component.subTree);return}const o=s.shapeFlag&4?Ds(s.component):s.el,u=t?null:o,{i:l,r:c}=r,n=e&&e.r,i=l.refs===se?l.refs={}:l.refs,f=l.setupState,d=Q(f),m=f===se?tu:g=>Z(d,g);if(n!=null&&n!==c){if(de(n))i[n]=null,m(n)&&(f[n]=null);else if(Fe(n)){n.value=null;const g=e;g.k&&(i[g.k]=null)}}if(H(c))Ya(c,l,12,[u,i]);else{const g=de(c),S=Fe(c);if(g||S){const P=()=>{if(r.f){const y=g?m(c)?f[c]:i[c]:c.value;if(t)M(y)&&At(y,o);else if(M(y))y.includes(o)||y.push(o);else if(g)i[c]=[o],m(c)&&(f[c]=i[c]);else{const T=[o];c.value=T,r.k&&(i[r.k]=T)}}else g?(i[c]=u,m(c)&&(f[c]=u)):S&&(c.value=u,r.k&&(i[r.k]=u))};u?(P.id=-1,Ie(P,a)):P()}}}Is().requestIdleCallback;Is().cancelIdleCallback;const Aa=r=>!!r.type.__asyncLoader,$u=r=>r.type.__isKeepAlive;function Tc(r,e){ju(r,"a",e)}function Ec(r,e){ju(r,"da",e)}function ju(r,e,a=Ge){const s=r.__wdc||(r.__wdc=()=>{let t=a;for(;t;){if(t.isDeactivated)return;t=t.parent}return r()});if(Ns(e,s,a),a){let t=a.parent;for(;t&&t.parent;)$u(t.parent.vnode)&&Pc(s,e,a,t),t=t.parent}}function Pc(r,e,a,s){const t=Ns(e,r,s,!0);Dt(()=>{At(s[e],t)},a)}function Ns(r,e,a=Ge,s=!1){if(a){const t=a[r]||(a[r]=[]),o=e.__weh||(e.__weh=(...u)=>{vr();const l=Qa(a),c=lr(e,a,r,u);return l(),Fr(),c});return s?t.unshift(o):t.push(o),o}}const wr=r=>(e,a=Ge)=>{(!Ua||r==="sp")&&Ns(r,(...s)=>e(...s),a)},Ac=wr("bm"),Lu=wr("m"),Oc=wr("bu"),Rc=wr("u"),xc=wr("bum"),Dt=wr("um"),Bc=wr("sp"),Ic=wr("rtg"),$c=wr("rtc");function jc(r,e=Ge){Ns("ec",r,e)}const Lc=Symbol.for("v-ndc");function ga(r,e,a,s){let t;const o=a,u=M(r);if(u||de(r)){const l=u&&ia(r);let c=!1,n=!1;l&&(c=!qe(r),n=Ar(r),r=js(r)),t=new Array(r.length);for(let i=0,f=r.length;i<f;i++)t[i]=e(c?n?Fs(ge(r[i])):ge(r[i]):r[i],i,void 0,o)}else if(typeof r=="number"){t=new Array(r);for(let l=0;l<r;l++)t[l]=e(l+1,l,void 0,o)}else if(le(r))if(r[Symbol.iterator])t=Array.from(r,(l,c)=>e(l,c,void 0,o));else{const l=Object.keys(r);t=new Array(l.length);for(let c=0,n=l.length;c<n;c++){const i=l[c];t[c]=e(r[i],i,c,o)}}else t=[];return t}const it=r=>r?ll(r)?Ds(r):it(r.parent):null,Oa=Te(Object.create(null),{$:r=>r,$el:r=>r.vnode.el,$data:r=>r.data,$props:r=>r.props,$attrs:r=>r.attrs,$slots:r=>r.slots,$refs:r=>r.refs,$parent:r=>it(r.parent),$root:r=>it(r.root),$host:r=>r.ce,$emit:r=>r.emit,$options:r=>Mu(r),$forceUpdate:r=>r.f||(r.f=()=>{Mt(r.update)}),$nextTick:r=>r.n||(r.n=Au.bind(r.proxy)),$watch:r=>un.bind(r)}),Zs=(r,e)=>r!==se&&!r.__isScriptSetup&&Z(r,e),Nc={get({_:r},e){if(e==="__v_skip")return!0;const{ctx:a,setupState:s,data:t,props:o,accessCache:u,type:l,appContext:c}=r;let n;if(e[0]!=="$"){const m=u[e];if(m!==void 0)switch(m){case 1:return s[e];case 2:return t[e];case 4:return a[e];case 3:return o[e]}else{if(Zs(s,e))return u[e]=1,s[e];if(t!==se&&Z(t,e))return u[e]=2,t[e];if((n=r.propsOptions[0])&&Z(n,e))return u[e]=3,o[e];if(a!==se&&Z(a,e))return u[e]=4,a[e];ft&&(u[e]=0)}}const i=Oa[e];let f,d;if(i)return e==="$attrs"&&Se(r.attrs,"get",""),i(r);if((f=l.__cssModules)&&(f=f[e]))return f;if(a!==se&&Z(a,e))return u[e]=4,a[e];if(d=c.config.globalProperties,Z(d,e))return d[e]},set({_:r},e,a){const{data:s,setupState:t,ctx:o}=r;return Zs(t,e)?(t[e]=a,!0):s!==se&&Z(s,e)?(s[e]=a,!0):Z(r.props,e)||e[0]==="$"&&e.slice(1)in r?!1:(o[e]=a,!0)},has({_:{data:r,setupState:e,accessCache:a,ctx:s,appContext:t,propsOptions:o,type:u}},l){let c,n;return!!(a[l]||r!==se&&l[0]!=="$"&&Z(r,l)||Zs(e,l)||(c=o[0])&&Z(c,l)||Z(s,l)||Z(Oa,l)||Z(t.config.globalProperties,l)||(n=u.__cssModules)&&n[l])},defineProperty(r,e,a){return a.get!=null?r._.accessCache[e]=0:Z(a,"value")&&this.set(r,e,a.value,null),Reflect.defineProperty(r,e,a)}};function to(r){return M(r)?r.reduce((e,a)=>(e[a]=null,e),{}):r}let ft=!0;function Mc(r){const e=Mu(r),a=r.proxy,s=r.ctx;ft=!1,e.beforeCreate&&oo(e.beforeCreate,r,"bc");const{data:t,computed:o,methods:u,watch:l,provide:c,inject:n,created:i,beforeMount:f,mounted:d,beforeUpdate:m,updated:g,activated:S,deactivated:P,beforeDestroy:y,beforeUnmount:T,destroyed:_,unmounted:E,render:J,renderTracked:W,renderTriggered:K,errorCaptured:Ne,serverPrefetch:pe,expose:ze,inheritAttrs:cr,components:yr,directives:xr,filters:Wr}=e;if(n&&Uc(n,s,null),u)for(const ae in u){const re=u[ae];H(re)&&(s[ae]=re.bind(a))}if(t){const ae=t.call(a,a);le(ae)&&(r.data=jt(ae))}if(ft=!0,o)for(const ae in o){const re=o[ae],nr=H(re)?re.bind(a,a):H(re.get)?re.get.bind(a,a):or,Kr=!H(re)&&H(re.set)?re.set.bind(a):or,ir=ee({get:nr,set:Kr});Object.defineProperty(s,ae,{enumerable:!0,configurable:!0,get:()=>ir.value,set:Me=>ir.value=Me})}if(l)for(const ae in l)Nu(l[ae],s,a,ae);if(c){const ae=H(c)?c.call(a):c;Reflect.ownKeys(ae).forEach(re=>{Kc(re,ae[re])})}i&&oo(i,r,"c");function he(ae,re){M(re)?re.forEach(nr=>ae(nr.bind(a))):re&&ae(re.bind(a))}if(he(Ac,f),he(Lu,d),he(Oc,m),he(Rc,g),he(Tc,S),he(Ec,P),he(jc,Ne),he($c,W),he(Ic,K),he(xc,T),he(Dt,E),he(Bc,pe),M(ze))if(ze.length){const ae=r.exposed||(r.exposed={});ze.forEach(re=>{Object.defineProperty(ae,re,{get:()=>a[re],set:nr=>a[re]=nr,enumerable:!0})})}else r.exposed||(r.exposed={});J&&r.render===or&&(r.render=J),cr!=null&&(r.inheritAttrs=cr),yr&&(r.components=yr),xr&&(r.directives=xr),pe&&Iu(r)}function Uc(r,e,a=or){M(r)&&(r=dt(r));for(const s in r){const t=r[s];let o;le(t)?"default"in t?o=ms(t.from||s,t.default,!0):o=ms(t.from||s):o=ms(t),Fe(o)?Object.defineProperty(e,s,{enumerable:!0,configurable:!0,get:()=>o.value,set:u=>o.value=u}):e[s]=o}}function oo(r,e,a){lr(M(r)?r.map(s=>s.bind(e.proxy)):r.bind(e.proxy),e,a)}function Nu(r,e,a,s){let t=s.includes(".")?Xu(a,s):()=>a[s];if(de(r)){const o=e[r];H(o)&&Ra(t,o)}else if(H(r))Ra(t,r.bind(a));else if(le(r))if(M(r))r.forEach(o=>Nu(o,e,a,s));else{const o=H(r.handler)?r.handler.bind(a):e[r.handler];H(o)&&Ra(t,o,r)}}function Mu(r){const e=r.type,{mixins:a,extends:s}=e,{mixins:t,optionsCache:o,config:{optionMergeStrategies:u}}=r.appContext,l=o.get(e);let c;return l?c=l:!t.length&&!a&&!s?c=e:(c={},t.length&&t.forEach(n=>_s(c,n,u,!0)),_s(c,e,u)),le(e)&&o.set(e,c),c}function _s(r,e,a,s=!1){const{mixins:t,extends:o}=e;o&&_s(r,o,a,!0),t&&t.forEach(u=>_s(r,u,a,!0));for(const u in e)if(!(s&&u==="expose")){const l=Dc[u]||a&&a[u];r[u]=l?l(r[u],e[u]):e[u]}return r}const Dc={data:uo,props:lo,emits:lo,methods:ya,computed:ya,beforeCreate:we,created:we,beforeMount:we,mounted:we,beforeUpdate:we,updated:we,beforeDestroy:we,beforeUnmount:we,destroyed:we,unmounted:we,activated:we,deactivated:we,errorCaptured:we,serverPrefetch:we,components:ya,directives:ya,watch:zc,provide:uo,inject:qc};function uo(r,e){return e?r?function(){return Te(H(r)?r.call(this,this):r,H(e)?e.call(this,this):e)}:e:r}function qc(r,e){return ya(dt(r),dt(e))}function dt(r){if(M(r)){const e={};for(let a=0;a<r.length;a++)e[r[a]]=r[a];return e}return r}function we(r,e){return r?[...new Set([].concat(r,e))]:e}function ya(r,e){return r?Te(Object.create(null),r,e):e}function lo(r,e){return r?M(r)&&M(e)?[...new Set([...r,...e])]:Te(Object.create(null),to(r),to(e??{})):e}function zc(r,e){if(!r)return e;if(!e)return r;const a=Te(Object.create(null),r);for(const s in e)a[s]=we(r[s],e[s]);return a}function Uu(){return{app:null,config:{isNativeTag:tu,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Hc=0;function Wc(r,e){return function(s,t=null){H(s)||(s=Te({},s)),t!=null&&!le(t)&&(t=null);const o=Uu(),u=new WeakSet,l=[];let c=!1;const n=o.app={_uid:Hc++,_component:s,_props:t,_container:null,_context:o,_instance:null,version:En,get config(){return o.config},set config(i){},use(i,...f){return u.has(i)||(i&&H(i.install)?(u.add(i),i.install(n,...f)):H(i)&&(u.add(i),i(n,...f))),n},mixin(i){return o.mixins.includes(i)||o.mixins.push(i),n},component(i,f){return f?(o.components[i]=f,n):o.components[i]},directive(i,f){return f?(o.directives[i]=f,n):o.directives[i]},mount(i,f,d){if(!c){const m=n._ceVNode||_e(s,t);return m.appContext=o,d===!0?d="svg":d===!1&&(d=void 0),r(m,i,d),c=!0,n._container=i,i.__vue_app__=n,Ds(m.component)}},onUnmount(i){l.push(i)},unmount(){c&&(lr(l,n._instance,16),r(null,n._container),delete n._container.__vue_app__)},provide(i,f){return o.provides[i]=f,n},runWithContext(i){const f=da;da=n;try{return i()}finally{da=f}}};return n}}let da=null;function Kc(r,e){if(Ge){let a=Ge.provides;const s=Ge.parent&&Ge.parent.provides;s===a&&(a=Ge.provides=Object.create(s)),a[r]=e}}function ms(r,e,a=!1){const s=Cn();if(s||da){let t=da?da._context.provides:s?s.parent==null||s.ce?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides:void 0;if(t&&r in t)return t[r];if(arguments.length>1)return a&&H(e)?e.call(s&&s.proxy):e}}const Du={},qu=()=>Object.create(Du),zu=r=>Object.getPrototypeOf(r)===Du;function Vc(r,e,a,s=!1){const t={},o=qu();r.propsDefaults=Object.create(null),Hu(r,e,t,o);for(const u in r.propsOptions[0])u in t||(t[u]=void 0);a?r.props=s?t:fc(t):r.type.props?r.props=t:r.props=o,r.attrs=o}function Jc(r,e,a,s){const{props:t,attrs:o,vnode:{patchFlag:u}}=r,l=Q(t),[c]=r.propsOptions;let n=!1;if((s||u>0)&&!(u&16)){if(u&8){const i=r.vnode.dynamicProps;for(let f=0;f<i.length;f++){let d=i[f];if(Ms(r.emitsOptions,d))continue;const m=e[d];if(c)if(Z(o,d))m!==o[d]&&(o[d]=m,n=!0);else{const g=Pr(d);t[g]=ht(c,l,g,m,r,!1)}else m!==o[d]&&(o[d]=m,n=!0)}}}else{Hu(r,e,t,o)&&(n=!0);let i;for(const f in l)(!e||!Z(e,f)&&((i=Rr(f))===f||!Z(e,i)))&&(c?a&&(a[f]!==void 0||a[i]!==void 0)&&(t[f]=ht(c,l,f,void 0,r,!0)):delete t[f]);if(o!==l)for(const f in o)(!e||!Z(e,f))&&(delete o[f],n=!0)}n&&gr(r.attrs,"set","")}function Hu(r,e,a,s){const[t,o]=r.propsOptions;let u=!1,l;if(e)for(let c in e){if(Ga(c))continue;const n=e[c];let i;t&&Z(t,i=Pr(c))?!o||!o.includes(i)?a[i]=n:(l||(l={}))[i]=n:Ms(r.emitsOptions,c)||(!(c in s)||n!==s[c])&&(s[c]=n,u=!0)}if(o){const c=Q(a),n=l||se;for(let i=0;i<o.length;i++){const f=o[i];a[f]=ht(t,c,f,n[f],r,!Z(n,f))}}return u}function ht(r,e,a,s,t,o){const u=r[a];if(u!=null){const l=Z(u,"default");if(l&&s===void 0){const c=u.default;if(u.type!==Function&&!u.skipFactory&&H(c)){const{propsDefaults:n}=t;if(a in n)s=n[a];else{const i=Qa(t);s=n[a]=c.call(null,e),i()}}else s=c;t.ce&&t.ce._setProp(a,s)}u[0]&&(o&&!l?s=!1:u[1]&&(s===""||s===Rr(a))&&(s=!0))}return s}const Yc=new WeakMap;function Wu(r,e,a=!1){const s=a?Yc:e.propsCache,t=s.get(r);if(t)return t;const o=r.props,u={},l=[];let c=!1;if(!H(r)){const i=f=>{c=!0;const[d,m]=Wu(f,e,!0);Te(u,d),m&&l.push(...m)};!a&&e.mixins.length&&e.mixins.forEach(i),r.extends&&i(r.extends),r.mixins&&r.mixins.forEach(i)}if(!o&&!c)return le(r)&&s.set(r,ca),ca;if(M(o))for(let i=0;i<o.length;i++){const f=Pr(o[i]);co(f)&&(u[f]=se)}else if(o)for(const i in o){const f=Pr(i);if(co(f)){const d=o[i],m=u[f]=M(d)||H(d)?{type:d}:Te({},d),g=m.type;let S=!1,P=!0;if(M(g))for(let y=0;y<g.length;++y){const T=g[y],_=H(T)&&T.name;if(_==="Boolean"){S=!0;break}else _==="String"&&(P=!1)}else S=H(g)&&g.name==="Boolean";m[0]=S,m[1]=P,(S||Z(m,"default"))&&l.push(f)}}const n=[u,l];return le(r)&&s.set(r,n),n}function co(r){return r[0]!=="$"&&!Ga(r)}const qt=r=>r==="_"||r==="_ctx"||r==="$stable",zt=r=>M(r)?r.map(sr):[sr(r)],Qc=(r,e,a)=>{if(e._n)return e;const s=yc((...t)=>zt(e(...t)),a);return s._c=!1,s},Ku=(r,e,a)=>{const s=r._ctx;for(const t in r){if(qt(t))continue;const o=r[t];if(H(o))e[t]=Qc(t,o,s);else if(o!=null){const u=zt(o);e[t]=()=>u}}},Vu=(r,e)=>{const a=zt(e);r.slots.default=()=>a},Ju=(r,e,a)=>{for(const s in e)(a||!qt(s))&&(r[s]=e[s])},Zc=(r,e,a)=>{const s=r.slots=qu();if(r.vnode.shapeFlag&32){const t=e._;t?(Ju(s,e,a),a&&nu(s,"_",t,!0)):Ku(e,s)}else e&&Vu(r,e)},Xc=(r,e,a)=>{const{vnode:s,slots:t}=r;let o=!0,u=se;if(s.shapeFlag&32){const l=e._;l?a&&l===1?o=!1:Ju(t,e,a):(o=!e.$stable,Ku(e,t)),u=e}else e&&(Vu(r,e),u={default:1});if(o)for(const l in t)!qt(l)&&u[l]==null&&delete t[l]},Ie=mn;function en(r){return rn(r)}function rn(r,e){const a=Is();a.__VUE__=!0;const{insert:s,remove:t,patchProp:o,createElement:u,createText:l,createComment:c,setText:n,setElementText:i,parentNode:f,nextSibling:d,setScopeId:m=or,insertStaticContent:g}=r,S=(h,b,v,k=null,w=null,C=null,R=void 0,O=null,A=!!b.dynamicChildren)=>{if(h===b)return;h&&!wa(h,b)&&(k=ne(h),Me(h,w,C,!0),h=null),b.patchFlag===-2&&(A=!1,b.dynamicChildren=null);const{type:G,ref:N,shapeFlag:x}=b;switch(G){case Us:P(h,b,v,k);break;case Or:y(h,b,v,k);break;case bs:h==null&&T(b,v,k,R);break;case ve:yr(h,b,v,k,w,C,R,O,A);break;default:x&1?J(h,b,v,k,w,C,R,O,A):x&6?xr(h,b,v,k,w,C,R,O,A):(x&64||x&128)&&G.process(h,b,v,k,w,C,R,O,A,fr)}N!=null&&w?Pa(N,h&&h.ref,C,b||h,!b):N==null&&h&&h.ref!=null&&Pa(h.ref,null,C,h,!0)},P=(h,b,v,k)=>{if(h==null)s(b.el=l(b.children),v,k);else{const w=b.el=h.el;b.children!==h.children&&n(w,b.children)}},y=(h,b,v,k)=>{h==null?s(b.el=c(b.children||""),v,k):b.el=h.el},T=(h,b,v,k)=>{[h.el,h.anchor]=g(h.children,b,v,k,h.el,h.anchor)},_=({el:h,anchor:b},v,k)=>{let w;for(;h&&h!==b;)w=d(h),s(h,v,k),h=w;s(b,v,k)},E=({el:h,anchor:b})=>{let v;for(;h&&h!==b;)v=d(h),t(h),h=v;t(b)},J=(h,b,v,k,w,C,R,O,A)=>{b.type==="svg"?R="svg":b.type==="math"&&(R="mathml"),h==null?W(b,v,k,w,C,R,O,A):pe(h,b,w,C,R,O,A)},W=(h,b,v,k,w,C,R,O)=>{let A,G;const{props:N,shapeFlag:x,transition:j,dirs:U}=h;if(A=h.el=u(h.type,C,N&&N.is,N),x&8?i(A,h.children):x&16&&Ne(h.children,A,null,k,w,Xs(h,C),R,O),U&&Br(h,null,k,"created"),K(A,h,h.scopeId,R,k),N){for(const te in N)te!=="value"&&!Ga(te)&&o(A,te,null,N[te],C,k);"value"in N&&o(A,"value",null,N.value,C),(G=N.onVnodeBeforeMount)&&Xe(G,k,h)}U&&Br(h,null,k,"beforeMount");const V=an(w,j);V&&j.beforeEnter(A),s(A,b,v),((G=N&&N.onVnodeMounted)||V||U)&&Ie(()=>{G&&Xe(G,k,h),V&&j.enter(A),U&&Br(h,null,k,"mounted")},w)},K=(h,b,v,k,w)=>{if(v&&m(h,v),k)for(let C=0;C<k.length;C++)m(h,k[C]);if(w){let C=w.subTree;if(b===C||rl(C.type)&&(C.ssContent===b||C.ssFallback===b)){const R=w.vnode;K(h,R,R.scopeId,R.slotScopeIds,w.parent)}}},Ne=(h,b,v,k,w,C,R,O,A=0)=>{for(let G=A;G<h.length;G++){const N=h[G]=O?kr(h[G]):sr(h[G]);S(null,N,b,v,k,w,C,R,O)}},pe=(h,b,v,k,w,C,R)=>{const O=b.el=h.el;let{patchFlag:A,dynamicChildren:G,dirs:N}=b;A|=h.patchFlag&16;const x=h.props||se,j=b.props||se;let U;if(v&&Ir(v,!1),(U=j.onVnodeBeforeUpdate)&&Xe(U,v,b,h),N&&Br(b,h,v,"beforeUpdate"),v&&Ir(v,!0),(x.innerHTML&&j.innerHTML==null||x.textContent&&j.textContent==null)&&i(O,""),G?ze(h.dynamicChildren,G,O,v,k,Xs(b,w),C):R||re(h,b,O,null,v,k,Xs(b,w),C,!1),A>0){if(A&16)cr(O,x,j,v,w);else if(A&2&&x.class!==j.class&&o(O,"class",null,j.class,w),A&4&&o(O,"style",x.style,j.style,w),A&8){const V=b.dynamicProps;for(let te=0;te<V.length;te++){const X=V[te],Ee=x[X],Pe=j[X];(Pe!==Ee||X==="value")&&o(O,X,Ee,Pe,w,v)}}A&1&&h.children!==b.children&&i(O,b.children)}else!R&&G==null&&cr(O,x,j,v,w);((U=j.onVnodeUpdated)||N)&&Ie(()=>{U&&Xe(U,v,b,h),N&&Br(b,h,v,"updated")},k)},ze=(h,b,v,k,w,C,R)=>{for(let O=0;O<b.length;O++){const A=h[O],G=b[O],N=A.el&&(A.type===ve||!wa(A,G)||A.shapeFlag&198)?f(A.el):v;S(A,G,N,null,k,w,C,R,!0)}},cr=(h,b,v,k,w)=>{if(b!==v){if(b!==se)for(const C in b)!Ga(C)&&!(C in v)&&o(h,C,b[C],null,w,k);for(const C in v){if(Ga(C))continue;const R=v[C],O=b[C];R!==O&&C!=="value"&&o(h,C,O,R,w,k)}"value"in v&&o(h,"value",b.value,v.value,w)}},yr=(h,b,v,k,w,C,R,O,A)=>{const G=b.el=h?h.el:l(""),N=b.anchor=h?h.anchor:l("");let{patchFlag:x,dynamicChildren:j,slotScopeIds:U}=b;U&&(O=O?O.concat(U):U),h==null?(s(G,v,k),s(N,v,k),Ne(b.children||[],v,N,w,C,R,O,A)):x>0&&x&64&&j&&h.dynamicChildren?(ze(h.dynamicChildren,j,v,w,C,R,O),(b.key!=null||w&&b===w.subTree)&&Yu(h,b,!0)):re(h,b,v,N,w,C,R,O,A)},xr=(h,b,v,k,w,C,R,O,A)=>{b.slotScopeIds=O,h==null?b.shapeFlag&512?w.ctx.activate(b,v,k,R,A):Wr(b,v,k,w,C,R,A):Xa(h,b,A)},Wr=(h,b,v,k,w,C,R)=>{const O=h.component=wn(h,k,w);if($u(h)&&(O.ctx.renderer=fr),yn(O,!1,R),O.asyncDep){if(w&&w.registerDep(O,he,R),!h.el){const A=O.subTree=_e(Or);y(null,A,b,v),h.placeholder=A.el}}else he(O,h,b,v,w,C,R)},Xa=(h,b,v)=>{const k=b.component=h.component;if(dn(h,b,v))if(k.asyncDep&&!k.asyncResolved){ae(k,b,v);return}else k.next=b,k.update();else b.el=h.el,k.vnode=b},he=(h,b,v,k,w,C,R)=>{const O=()=>{if(h.isMounted){let{next:x,bu:j,u:U,parent:V,vnode:te}=h;{const Qe=Qu(h);if(Qe){x&&(x.el=te.el,ae(h,x,R)),Qe.asyncDep.then(()=>{h.isUnmounted||O()});return}}let X=x,Ee;Ir(h,!1),x?(x.el=te.el,ae(h,x,R)):x=te,j&&hs(j),(Ee=x.props&&x.props.onVnodeBeforeUpdate)&&Xe(Ee,V,x,te),Ir(h,!0);const Pe=io(h),Ye=h.subTree;h.subTree=Pe,S(Ye,Pe,f(Ye.el),ne(Ye),h,w,C),x.el=Pe.el,X===null&&hn(h,Pe.el),U&&Ie(U,w),(Ee=x.props&&x.props.onVnodeUpdated)&&Ie(()=>Xe(Ee,V,x,te),w)}else{let x;const{el:j,props:U}=b,{bm:V,m:te,parent:X,root:Ee,type:Pe}=h,Ye=Aa(b);Ir(h,!1),V&&hs(V),!Ye&&(x=U&&U.onVnodeBeforeMount)&&Xe(x,X,b),Ir(h,!0);{Ee.ce&&Ee.ce._def.shadowRoot!==!1&&Ee.ce._injectChildStyle(Pe);const Qe=h.subTree=io(h);S(null,Qe,v,k,h,w,C),b.el=Qe.el}if(te&&Ie(te,w),!Ye&&(x=U&&U.onVnodeMounted)){const Qe=b;Ie(()=>Xe(x,X,Qe),w)}(b.shapeFlag&256||X&&Aa(X.vnode)&&X.vnode.shapeFlag&256)&&h.a&&Ie(h.a,w),h.isMounted=!0,b=v=k=null}};h.scope.on();const A=h.effect=new hu(O);h.scope.off();const G=h.update=A.run.bind(A),N=h.job=A.runIfDirty.bind(A);N.i=h,N.id=h.uid,A.scheduler=()=>Mt(N),Ir(h,!0),G()},ae=(h,b,v)=>{b.component=h;const k=h.vnode.props;h.vnode=b,h.next=null,Jc(h,b.props,k,v),Xc(h,b.children,v),vr(),so(h),Fr()},re=(h,b,v,k,w,C,R,O,A=!1)=>{const G=h&&h.children,N=h?h.shapeFlag:0,x=b.children,{patchFlag:j,shapeFlag:U}=b;if(j>0){if(j&128){Kr(G,x,v,k,w,C,R,O,A);return}else if(j&256){nr(G,x,v,k,w,C,R,O,A);return}}U&8?(N&16&&Y(G,w,C),x!==G&&i(v,x)):N&16?U&16?Kr(G,x,v,k,w,C,R,O,A):Y(G,w,C,!0):(N&8&&i(v,""),U&16&&Ne(x,v,k,w,C,R,O,A))},nr=(h,b,v,k,w,C,R,O,A)=>{h=h||ca,b=b||ca;const G=h.length,N=b.length,x=Math.min(G,N);let j;for(j=0;j<x;j++){const U=b[j]=A?kr(b[j]):sr(b[j]);S(h[j],U,v,null,w,C,R,O,A)}G>N?Y(h,w,C,!0,!1,x):Ne(b,v,k,w,C,R,O,A,x)},Kr=(h,b,v,k,w,C,R,O,A)=>{let G=0;const N=b.length;let x=h.length-1,j=N-1;for(;G<=x&&G<=j;){const U=h[G],V=b[G]=A?kr(b[G]):sr(b[G]);if(wa(U,V))S(U,V,v,null,w,C,R,O,A);else break;G++}for(;G<=x&&G<=j;){const U=h[x],V=b[j]=A?kr(b[j]):sr(b[j]);if(wa(U,V))S(U,V,v,null,w,C,R,O,A);else break;x--,j--}if(G>x){if(G<=j){const U=j+1,V=U<N?b[U].el:k;for(;G<=j;)S(null,b[G]=A?kr(b[G]):sr(b[G]),v,V,w,C,R,O,A),G++}}else if(G>j)for(;G<=x;)Me(h[G],w,C,!0),G++;else{const U=G,V=G,te=new Map;for(G=V;G<=j;G++){const xe=b[G]=A?kr(b[G]):sr(b[G]);xe.key!=null&&te.set(xe.key,G)}let X,Ee=0;const Pe=j-V+1;let Ye=!1,Qe=0;const va=new Array(Pe);for(G=0;G<Pe;G++)va[G]=0;for(G=U;G<=x;G++){const xe=h[G];if(Ee>=Pe){Me(xe,w,C,!0);continue}let Ze;if(xe.key!=null)Ze=te.get(xe.key);else for(X=V;X<=j;X++)if(va[X-V]===0&&wa(xe,b[X])){Ze=X;break}Ze===void 0?Me(xe,w,C,!0):(va[Ze-V]=G+1,Ze>=Qe?Qe=Ze:Ye=!0,S(xe,b[Ze],v,null,w,C,R,O,A),Ee++)}const Yt=Ye?sn(va):ca;for(X=Yt.length-1,G=Pe-1;G>=0;G--){const xe=V+G,Ze=b[xe],Qt=b[xe+1],Zt=xe+1<N?Qt.el||Qt.placeholder:k;va[G]===0?S(null,Ze,v,Zt,w,C,R,O,A):Ye&&(X<0||G!==Yt[X]?ir(Ze,v,Zt,2):X--)}}},ir=(h,b,v,k,w=null)=>{const{el:C,type:R,transition:O,children:A,shapeFlag:G}=h;if(G&6){ir(h.component.subTree,b,v,k);return}if(G&128){h.suspense.move(b,v,k);return}if(G&64){R.move(h,b,v,fr);return}if(R===ve){s(C,b,v);for(let x=0;x<A.length;x++)ir(A[x],b,v,k);s(h.anchor,b,v);return}if(R===bs){_(h,b,v);return}if(k!==2&&G&1&&O)if(k===0)O.beforeEnter(C),s(C,b,v),Ie(()=>O.enter(C),w);else{const{leave:x,delayLeave:j,afterLeave:U}=O,V=()=>{h.ctx.isUnmounted?t(C):s(C,b,v)},te=()=>{C._isLeaving&&C[Gc](!0),x(C,()=>{V(),U&&U()})};j?j(C,V,te):te()}else s(C,b,v)},Me=(h,b,v,k=!1,w=!1)=>{const{type:C,props:R,ref:O,children:A,dynamicChildren:G,shapeFlag:N,patchFlag:x,dirs:j,cacheIndex:U}=h;if(x===-2&&(w=!1),O!=null&&(vr(),Pa(O,null,v,h,!0),Fr()),U!=null&&(b.renderCache[U]=void 0),N&256){b.ctx.deactivate(h);return}const V=N&1&&j,te=!Aa(h);let X;if(te&&(X=R&&R.onVnodeBeforeUnmount)&&Xe(X,b,h),N&6)F(h.component,v,k);else{if(N&128){h.suspense.unmount(v,k);return}V&&Br(h,null,b,"beforeUnmount"),N&64?h.type.remove(h,b,v,fr,k):G&&!G.hasOnce&&(C!==ve||x>0&&x&64)?Y(G,b,v,!1,!0):(C===ve&&x&384||!w&&N&16)&&Y(A,b,v),k&&es(h)}(te&&(X=R&&R.onVnodeUnmounted)||V)&&Ie(()=>{X&&Xe(X,b,h),V&&Br(h,null,b,"unmounted")},v)},es=h=>{const{type:b,el:v,anchor:k,transition:w}=h;if(b===ve){B(v,k);return}if(b===bs){E(h);return}const C=()=>{t(v),w&&!w.persisted&&w.afterLeave&&w.afterLeave()};if(h.shapeFlag&1&&w&&!w.persisted){const{leave:R,delayLeave:O}=w,A=()=>R(v,C);O?O(h.el,C,A):A()}else C()},B=(h,b)=>{let v;for(;h!==b;)v=d(h),t(h),h=v;t(b)},F=(h,b,v)=>{const{bum:k,scope:w,job:C,subTree:R,um:O,m:A,a:G}=h;no(A),no(G),k&&hs(k),w.stop(),C&&(C.flags|=8,Me(R,h,b,v)),O&&Ie(O,b),Ie(()=>{h.isUnmounted=!0},b)},Y=(h,b,v,k=!1,w=!1,C=0)=>{for(let R=C;R<h.length;R++)Me(h[R],b,v,k,w)},ne=h=>{if(h.shapeFlag&6)return ne(h.component.subTree);if(h.shapeFlag&128)return h.suspense.next();const b=d(h.anchor||h.el),v=b&&b[_c];return v?d(v):b};let Je=!1;const rs=(h,b,v)=>{h==null?b._vnode&&Me(b._vnode,null,null,!0):S(b._vnode||null,h,b,null,null,null,v),b._vnode=h,Je||(Je=!0,so(),Ru(),Je=!1)},fr={p:S,um:Me,m:ir,r:es,mt:Wr,mc:Ne,pc:re,pbc:ze,n:ne,o:r};return{render:rs,hydrate:void 0,createApp:Wc(rs)}}function Xs({type:r,props:e},a){return a==="svg"&&r==="foreignObject"||a==="mathml"&&r==="annotation-xml"&&e&&e.encoding&&e.encoding.includes("html")?void 0:a}function Ir({effect:r,job:e},a){a?(r.flags|=32,e.flags|=4):(r.flags&=-33,e.flags&=-5)}function an(r,e){return(!r||r&&!r.pendingBranch)&&e&&!e.persisted}function Yu(r,e,a=!1){const s=r.children,t=e.children;if(M(s)&&M(t))for(let o=0;o<s.length;o++){const u=s[o];let l=t[o];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=t[o]=kr(t[o]),l.el=u.el),!a&&l.patchFlag!==-2&&Yu(u,l)),l.type===Us&&l.patchFlag!==-1&&(l.el=u.el),l.type===Or&&!l.el&&(l.el=u.el)}}function sn(r){const e=r.slice(),a=[0];let s,t,o,u,l;const c=r.length;for(s=0;s<c;s++){const n=r[s];if(n!==0){if(t=a[a.length-1],r[t]<n){e[s]=t,a.push(s);continue}for(o=0,u=a.length-1;o<u;)l=o+u>>1,r[a[l]]<n?o=l+1:u=l;n<r[a[o]]&&(o>0&&(e[s]=a[o-1]),a[o]=s)}}for(o=a.length,u=a[o-1];o-- >0;)a[o]=u,u=e[u];return a}function Qu(r){const e=r.subTree.component;if(e)return e.asyncDep&&!e.asyncResolved?e:Qu(e)}function no(r){if(r)for(let e=0;e<r.length;e++)r[e].flags|=8}const tn=Symbol.for("v-scx"),on=()=>ms(tn);function Ra(r,e,a){return Zu(r,e,a)}function Zu(r,e,a=se){const{immediate:s,deep:t,flush:o,once:u}=a,l=Te({},a),c=e&&s||!e&&o!=="post";let n;if(Ua){if(o==="sync"){const m=on();n=m.__watcherHandles||(m.__watcherHandles=[])}else if(!c){const m=()=>{};return m.stop=or,m.resume=or,m.pause=or,m}}const i=Ge;l.call=(m,g,S)=>lr(m,i,g,S);let f=!1;o==="post"?l.scheduler=m=>{Ie(m,i&&i.suspense)}:o!=="sync"&&(f=!0,l.scheduler=(m,g)=>{g?m():Mt(m)}),l.augmentJob=m=>{e&&(m.flags|=4),f&&(m.flags|=2,i&&(m.id=i.uid,m.i=i))};const d=vc(r,e,l);return Ua&&(n?n.push(d):c&&d()),d}function un(r,e,a){const s=this.proxy,t=de(r)?r.includes(".")?Xu(s,r):()=>s[r]:r.bind(s,s);let o;H(e)?o=e:(o=e.handler,a=e);const u=Qa(this),l=Zu(t,o.bind(s),a);return u(),l}function Xu(r,e){const a=e.split(".");return()=>{let s=r;for(let t=0;t<a.length&&s;t++)s=s[a[t]];return s}}const ln=(r,e)=>e==="modelValue"||e==="model-value"?r.modelModifiers:r[`${e}Modifiers`]||r[`${Pr(e)}Modifiers`]||r[`${Rr(e)}Modifiers`];function cn(r,e,...a){if(r.isUnmounted)return;const s=r.vnode.props||se;let t=a;const o=e.startsWith("update:"),u=o&&ln(s,e.slice(7));u&&(u.trim&&(t=a.map(i=>de(i)?i.trim():i)),u.number&&(t=a.map(vs)));let l,c=s[l=Ks(e)]||s[l=Ks(Pr(e))];!c&&o&&(c=s[l=Ks(Rr(e))]),c&&lr(c,r,6,t);const n=s[l+"Once"];if(n){if(!r.emitted)r.emitted={};else if(r.emitted[l])return;r.emitted[l]=!0,lr(n,r,6,t)}}function el(r,e,a=!1){const s=e.emitsCache,t=s.get(r);if(t!==void 0)return t;const o=r.emits;let u={},l=!1;if(!H(r)){const c=n=>{const i=el(n,e,!0);i&&(l=!0,Te(u,i))};!a&&e.mixins.length&&e.mixins.forEach(c),r.extends&&c(r.extends),r.mixins&&r.mixins.forEach(c)}return!o&&!l?(le(r)&&s.set(r,null),null):(M(o)?o.forEach(c=>u[c]=null):Te(u,o),le(r)&&s.set(r,u),u)}function Ms(r,e){return!r||!Rs(e)?!1:(e=e.slice(2).replace(/Once$/,""),Z(r,e[0].toLowerCase()+e.slice(1))||Z(r,Rr(e))||Z(r,e))}function io(r){const{type:e,vnode:a,proxy:s,withProxy:t,propsOptions:[o],slots:u,attrs:l,emit:c,render:n,renderCache:i,props:f,data:d,setupState:m,ctx:g,inheritAttrs:S}=r,P=ys(r);let y,T;try{if(a.shapeFlag&4){const E=t||s,J=E;y=sr(n.call(J,E,i,f,m,d,g)),T=l}else{const E=e;y=sr(E.length>1?E(f,{attrs:l,slots:u,emit:c}):E(f,null)),T=e.props?l:nn(l)}}catch(E){xa.length=0,Ls(E,r,1),y=_e(Or)}let _=y;if(T&&S!==!1){const E=Object.keys(T),{shapeFlag:J}=_;E.length&&J&7&&(o&&E.some(Pt)&&(T=fn(T,o)),_=pa(_,T,!1,!0))}return a.dirs&&(_=pa(_,null,!1,!0),_.dirs=_.dirs?_.dirs.concat(a.dirs):a.dirs),a.transition&&Ut(_,a.transition),y=_,ys(P),y}const nn=r=>{let e;for(const a in r)(a==="class"||a==="style"||Rs(a))&&((e||(e={}))[a]=r[a]);return e},fn=(r,e)=>{const a={};for(const s in r)(!Pt(s)||!(s.slice(9)in e))&&(a[s]=r[s]);return a};function dn(r,e,a){const{props:s,children:t,component:o}=r,{props:u,children:l,patchFlag:c}=e,n=o.emitsOptions;if(e.dirs||e.transition)return!0;if(a&&c>=0){if(c&1024)return!0;if(c&16)return s?fo(s,u,n):!!u;if(c&8){const i=e.dynamicProps;for(let f=0;f<i.length;f++){const d=i[f];if(u[d]!==s[d]&&!Ms(n,d))return!0}}}else return(t||l)&&(!l||!l.$stable)?!0:s===u?!1:s?u?fo(s,u,n):!0:!!u;return!1}function fo(r,e,a){const s=Object.keys(e);if(s.length!==Object.keys(r).length)return!0;for(let t=0;t<s.length;t++){const o=s[t];if(e[o]!==r[o]&&!Ms(a,o))return!0}return!1}function hn({vnode:r,parent:e},a){for(;e;){const s=e.subTree;if(s.suspense&&s.suspense.activeBranch===r&&(s.el=r.el),s===r)(r=e.vnode).el=a,e=e.parent;else break}}const rl=r=>r.__isSuspense;function mn(r,e){e&&e.pendingBranch?M(r)?e.effects.push(...r):e.effects.push(r):Cc(r)}const ve=Symbol.for("v-fgt"),Us=Symbol.for("v-txt"),Or=Symbol.for("v-cmt"),bs=Symbol.for("v-stc"),xa=[];let Le=null;function D(r=!1){xa.push(Le=r?null:[])}function bn(){xa.pop(),Le=xa[xa.length-1]||null}let Ma=1;function ho(r,e=!1){Ma+=r,r<0&&Le&&e&&(Le.hasOnce=!0)}function al(r){return r.dynamicChildren=Ma>0?Le||ca:null,bn(),Ma>0&&Le&&Le.push(r),r}function q(r,e,a,s,t,o){return al(p(r,e,a,s,t,o,!0))}function sl(r,e,a,s,t){return al(_e(r,e,a,s,t,!0))}function tl(r){return r?r.__v_isVNode===!0:!1}function wa(r,e){return r.type===e.type&&r.key===e.key}const ol=({key:r})=>r??null,gs=({ref:r,ref_key:e,ref_for:a})=>(typeof r=="number"&&(r=""+r),r!=null?de(r)||Fe(r)||H(r)?{i:De,r,k:e,f:!!a}:r:null);function p(r,e=null,a=null,s=0,t=null,o=r===ve?0:1,u=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:r,props:e,key:e&&ol(e),ref:e&&gs(e),scopeId:Bu,slotScopeIds:null,children:a,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:s,dynamicProps:t,dynamicChildren:null,appContext:null,ctx:De};return l?(Ht(c,a),o&128&&r.normalize(c)):a&&(c.shapeFlag|=de(a)?8:16),Ma>0&&!u&&Le&&(c.patchFlag>0||o&6)&&c.patchFlag!==32&&Le.push(c),c}const _e=gn;function gn(r,e=null,a=null,s=0,t=null,o=!1){if((!r||r===Lc)&&(r=Or),tl(r)){const l=pa(r,e,!0);return a&&Ht(l,a),Ma>0&&!o&&Le&&(l.shapeFlag&6?Le[Le.indexOf(r)]=l:Le.push(l)),l.patchFlag=-2,l}if(Tn(r)&&(r=r.__vccOpts),e){e=pn(e);let{class:l,style:c}=e;l&&!de(l)&&(e.class=Ce(l)),le(c)&&(Nt(c)&&!M(c)&&(c=Te({},c)),e.style=Sr(c))}const u=de(r)?1:rl(r)?128:kc(r)?64:le(r)?4:H(r)?2:0;return p(r,e,a,s,t,u,o,!0)}function pn(r){return r?Nt(r)||zu(r)?Te({},r):r:null}function pa(r,e,a=!1,s=!1){const{props:t,ref:o,patchFlag:u,children:l,transition:c}=r,n=e?Sn(t||{},e):t,i={__v_isVNode:!0,__v_skip:!0,type:r.type,props:n,key:n&&ol(n),ref:e&&e.ref?a&&o?M(o)?o.concat(gs(e)):[o,gs(e)]:gs(e):o,scopeId:r.scopeId,slotScopeIds:r.slotScopeIds,children:l,target:r.target,targetStart:r.targetStart,targetAnchor:r.targetAnchor,staticCount:r.staticCount,shapeFlag:r.shapeFlag,patchFlag:e&&r.type!==ve?u===-1?16:u|16:u,dynamicProps:r.dynamicProps,dynamicChildren:r.dynamicChildren,appContext:r.appContext,dirs:r.dirs,transition:c,component:r.component,suspense:r.suspense,ssContent:r.ssContent&&pa(r.ssContent),ssFallback:r.ssFallback&&pa(r.ssFallback),placeholder:r.placeholder,el:r.el,anchor:r.anchor,ctx:r.ctx,ce:r.ce};return c&&s&&Ut(i,c.clone(i)),i}function $e(r=" ",e=0){return _e(Us,null,r,e)}function ul(r,e){const a=_e(bs,null,r);return a.staticCount=e,a}function ke(r="",e=!1){return e?(D(),sl(Or,null,r)):_e(Or,null,r)}function sr(r){return r==null||typeof r=="boolean"?_e(Or):M(r)?_e(ve,null,r.slice()):tl(r)?kr(r):_e(Us,null,String(r))}function kr(r){return r.el===null&&r.patchFlag!==-1||r.memo?r:pa(r)}function Ht(r,e){let a=0;const{shapeFlag:s}=r;if(e==null)e=null;else if(M(e))a=16;else if(typeof e=="object")if(s&65){const t=e.default;t&&(t._c&&(t._d=!1),Ht(r,t()),t._c&&(t._d=!0));return}else{a=32;const t=e._;!t&&!zu(e)?e._ctx=De:t===3&&De&&(De.slots._===1?e._=1:(e._=2,r.patchFlag|=1024))}else H(e)?(e={default:e,_ctx:De},a=32):(e=String(e),s&64?(a=16,e=[$e(e)]):a=8);r.children=e,r.shapeFlag|=a}function Sn(...r){const e={};for(let a=0;a<r.length;a++){const s=r[a];for(const t in s)if(t==="class")e.class!==s.class&&(e.class=Ce([e.class,s.class]));else if(t==="style")e.style=Sr([e.style,s.style]);else if(Rs(t)){const o=e[t],u=s[t];u&&o!==u&&!(M(o)&&o.includes(u))&&(e[t]=o?[].concat(o,u):u)}else t!==""&&(e[t]=s[t])}return e}function Xe(r,e,a,s=null){lr(r,e,7,[a,s])}const vn=Uu();let Fn=0;function wn(r,e,a){const s=r.type,t=(e?e.appContext:r.appContext)||vn,o={uid:Fn++,vnode:r,type:s,parent:e,appContext:t,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Hl(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:e?e.provides:Object.create(t.provides),ids:e?e.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Wu(s,t),emitsOptions:el(s,t),emit:null,emitted:null,propsDefaults:se,inheritAttrs:s.inheritAttrs,ctx:se,data:se,props:se,attrs:se,slots:se,refs:se,setupState:se,setupContext:null,suspense:a,suspenseId:a?a.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return o.ctx={_:o},o.root=e?e.root:o,o.emit=cn.bind(null,o),r.ce&&r.ce(o),o}let Ge=null;const Cn=()=>Ge||De;let ks,mt;{const r=Is(),e=(a,s)=>{let t;return(t=r[a])||(t=r[a]=[]),t.push(s),o=>{t.length>1?t.forEach(u=>u(o)):t[0](o)}};ks=e("__VUE_INSTANCE_SETTERS__",a=>Ge=a),mt=e("__VUE_SSR_SETTERS__",a=>Ua=a)}const Qa=r=>{const e=Ge;return ks(r),r.scope.on(),()=>{r.scope.off(),ks(e)}},mo=()=>{Ge&&Ge.scope.off(),ks(null)};function ll(r){return r.vnode.shapeFlag&4}let Ua=!1;function yn(r,e=!1,a=!1){e&&mt(e);const{props:s,children:t}=r.vnode,o=ll(r);Vc(r,s,o,e),Zc(r,t,a||e);const u=o?_n(r,e):void 0;return e&&mt(!1),u}function _n(r,e){const a=r.type;r.accessCache=Object.create(null),r.proxy=new Proxy(r.ctx,Nc);const{setup:s}=a;if(s){vr();const t=r.setupContext=s.length>1?Gn(r):null,o=Qa(r),u=Ya(s,r,0,[r.props,t]),l=ou(u);if(Fr(),o(),(l||r.sp)&&!Aa(r)&&Iu(r),l){if(u.then(mo,mo),e)return u.then(c=>{bo(r,c)}).catch(c=>{Ls(c,r,0)});r.asyncDep=u}else bo(r,u)}else cl(r)}function bo(r,e,a){H(e)?r.type.__ssrInlineRender?r.ssrRender=e:r.render=e:le(e)&&(r.setupState=Eu(e)),cl(r)}function cl(r,e,a){const s=r.type;r.render||(r.render=s.render||or);{const t=Qa(r);vr();try{Mc(r)}finally{Fr(),t()}}}const kn={get(r,e){return Se(r,"get",""),r[e]}};function Gn(r){const e=a=>{r.exposed=a||{}};return{attrs:new Proxy(r.attrs,kn),slots:r.slots,emit:r.emit,expose:e}}function Ds(r){return r.exposed?r.exposeProxy||(r.exposeProxy=new Proxy(Eu(dc(r.exposed)),{get(e,a){if(a in e)return e[a];if(a in Oa)return Oa[a](r)},has(e,a){return a in e||a in Oa}})):r.proxy}function Tn(r){return H(r)&&"__vccOpts"in r}const ee=(r,e)=>pc(r,e,Ua),En="3.5.19";/**
14* @vue/runtime-dom v3.5.19
15* (c) 2018-present Yuxi (Evan) You and Vue contributors
16* @license MIT
17**/let bt;const go=typeof window<"u"&&window.trustedTypes;if(go)try{bt=go.createPolicy("vue",{createHTML:r=>r})}catch{}const nl=bt?r=>bt.createHTML(r):r=>r,Pn="http://www.w3.org/2000/svg",An="http://www.w3.org/1998/Math/MathML",hr=typeof document<"u"?document:null,po=hr&&hr.createElement("template"),On={insert:(r,e,a)=>{e.insertBefore(r,a||null)},remove:r=>{const e=r.parentNode;e&&e.removeChild(r)},createElement:(r,e,a,s)=>{const t=e==="svg"?hr.createElementNS(Pn,r):e==="mathml"?hr.createElementNS(An,r):a?hr.createElement(r,{is:a}):hr.createElement(r);return r==="select"&&s&&s.multiple!=null&&t.setAttribute("multiple",s.multiple),t},createText:r=>hr.createTextNode(r),createComment:r=>hr.createComment(r),setText:(r,e)=>{r.nodeValue=e},setElementText:(r,e)=>{r.textContent=e},parentNode:r=>r.parentNode,nextSibling:r=>r.nextSibling,querySelector:r=>hr.querySelector(r),setScopeId(r,e){r.setAttribute(e,"")},insertStaticContent(r,e,a,s,t,o){const u=a?a.previousSibling:e.lastChild;if(t&&(t===o||t.nextSibling))for(;e.insertBefore(t.cloneNode(!0),a),!(t===o||!(t=t.nextSibling)););else{po.innerHTML=nl(s==="svg"?`<svg>${r}</svg>`:s==="mathml"?`<math>${r}</math>`:r);const l=po.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}e.insertBefore(l,a)}return[u?u.nextSibling:e.firstChild,a?a.previousSibling:e.lastChild]}},Rn=Symbol("_vtc");function xn(r,e,a){const s=r[Rn];s&&(e=(e?[e,...s]:[...s]).join(" ")),e==null?r.removeAttribute("class"):a?r.setAttribute("class",e):r.className=e}const So=Symbol("_vod"),Bn=Symbol("_vsh"),In=Symbol(""),$n=/(^|;)\s*display\s*:/;function jn(r,e,a){const s=r.style,t=de(a);let o=!1;if(a&&!t){if(e)if(de(e))for(const u of e.split(";")){const l=u.slice(0,u.indexOf(":")).trim();a[l]==null&&ps(s,l,"")}else for(const u in e)a[u]==null&&ps(s,u,"");for(const u in a)u==="display"&&(o=!0),ps(s,u,a[u])}else if(t){if(e!==a){const u=s[In];u&&(a+=";"+u),s.cssText=a,o=$n.test(a)}}else e&&r.removeAttribute("style");So in r&&(r[So]=o?s.display:"",r[Bn]&&(s.display="none"))}const vo=/\s*!important$/;function ps(r,e,a){if(M(a))a.forEach(s=>ps(r,e,s));else if(a==null&&(a=""),e.startsWith("--"))r.setProperty(e,a);else{const s=Ln(r,e);vo.test(a)?r.setProperty(Rr(s),a.replace(vo,""),"important"):r[s]=a}}const Fo=["Webkit","Moz","ms"],et={};function Ln(r,e){const a=et[e];if(a)return a;let s=Pr(e);if(s!=="filter"&&s in r)return et[e]=s;s=cu(s);for(let t=0;t<Fo.length;t++){const o=Fo[t]+s;if(o in r)return et[e]=o}return e}const wo="http://www.w3.org/1999/xlink";function Co(r,e,a,s,t,o=Dl(e)){s&&e.startsWith("xlink:")?a==null?r.removeAttributeNS(wo,e.slice(6,e.length)):r.setAttributeNS(wo,e,a):a==null||o&&!iu(a)?r.removeAttribute(e):r.setAttribute(e,o?"":ur(a)?String(a):a)}function yo(r,e,a,s,t){if(e==="innerHTML"||e==="textContent"){a!=null&&(r[e]=e==="innerHTML"?nl(a):a);return}const o=r.tagName;if(e==="value"&&o!=="PROGRESS"&&!o.includes("-")){const l=o==="OPTION"?r.getAttribute("value")||"":r.value,c=a==null?r.type==="checkbox"?"on":"":String(a);(l!==c||!("_value"in r))&&(r.value=c),a==null&&r.removeAttribute(e),r._value=a;return}let u=!1;if(a===""||a==null){const l=typeof r[e];l==="boolean"?a=iu(a):a==null&&l==="string"?(a="",u=!0):l==="number"&&(a=0,u=!0)}try{r[e]=a}catch{}u&&r.removeAttribute(t||e)}function Mr(r,e,a,s){r.addEventListener(e,a,s)}function Nn(r,e,a,s){r.removeEventListener(e,a,s)}const _o=Symbol("_vei");function Mn(r,e,a,s,t=null){const o=r[_o]||(r[_o]={}),u=o[e];if(s&&u)u.value=s;else{const[l,c]=Un(e);if(s){const n=o[e]=zn(s,t);Mr(r,l,n,c)}else u&&(Nn(r,l,u,c),o[e]=void 0)}}const ko=/(?:Once|Passive|Capture)$/;function Un(r){let e;if(ko.test(r)){e={};let s;for(;s=r.match(ko);)r=r.slice(0,r.length-s[0].length),e[s[0].toLowerCase()]=!0}return[r[2]===":"?r.slice(3):Rr(r.slice(2)),e]}let rt=0;const Dn=Promise.resolve(),qn=()=>rt||(Dn.then(()=>rt=0),rt=Date.now());function zn(r,e){const a=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=a.attached)return;lr(Hn(s,a.value),e,5,[s])};return a.value=r,a.attached=qn(),a}function Hn(r,e){if(M(e)){const a=r.stopImmediatePropagation;return r.stopImmediatePropagation=()=>{a.call(r),r._stopped=!0},e.map(s=>t=>!t._stopped&&s&&s(t))}else return e}const Go=r=>r.charCodeAt(0)===111&&r.charCodeAt(1)===110&&r.charCodeAt(2)>96&&r.charCodeAt(2)<123,Wn=(r,e,a,s,t,o)=>{const u=t==="svg";e==="class"?xn(r,s,u):e==="style"?jn(r,a,s):Rs(e)?Pt(e)||Mn(r,e,a,s,o):(e[0]==="."?(e=e.slice(1),!0):e[0]==="^"?(e=e.slice(1),!1):Kn(r,e,s,u))?(yo(r,e,s),!r.tagName.includes("-")&&(e==="value"||e==="checked"||e==="selected")&&Co(r,e,s,u,o,e!=="value")):r._isVueCE&&(/[A-Z]/.test(e)||!
vendor: 1,965 bytes, line 17
17de(s))?yo(r,Pr(e),s,o,e):(e==="true-value"?r._trueValue=s:e==="false-value"&&(r._falseValue=s),Co(r,e,s,u))};function Kn(r,e,a,s){if(s)return!!(e==="innerHTML"||e==="textContent"||e in r&&Go(e)&&H(a));if(e==="spellcheck"||e==="draggable"||e==="translate"||e==="autocorrect"||e==="form"||e==="list"&&r.tagName==="INPUT"||e==="type"&&r.tagName==="TEXTAREA")return!1;if(e==="width"||e==="height"){const t=r.tagName;if(t==="IMG"||t==="VIDEO"||t==="CANVAS"||t==="SOURCE")return!1}return Go(e)&&de(a)?!1:e in r}const Gs=r=>{const e=r.props["onUpdate:modelValue"]||!1;return M(e)?a=>hs(e,a):e};function Vn(r){r.target.composing=!0}function To(r){const e=r.target;e.composing&&(e.composing=!1,e.dispatchEvent(new Event("input")))}const ha=Symbol("_assign"),ma={created(r,{modifiers:{lazy:e,trim:a,number:s}},t){r[ha]=Gs(t);const o=s||t.props&&t.props.type==="number";Mr(r,e?"change":"input",u=>{if(u.target.composing)return;let l=r.value;a&&(l=l.trim()),o&&(l=vs(l)),r[ha](l)}),a&&Mr(r,"change",()=>{r.value=r.value.trim()}),e||(Mr(r,"compositionstart",Vn),Mr(r,"compositionend",To),Mr(r,"change",To))},mounted(r,{value:e}){r.value=e??""},beforeUpdate(r,{value:e,oldValue:a,modifiers:{lazy:s,trim:t,number:o}},u){if(r[ha]=Gs(u),r.composing)return;const l=(o||r.type==="number")&&!/^0\d/.test(r.value)?vs(r.value):r.value,c=e??"";l!==c&&(document.activeElement===r&&r.type!=="range"&&(s&&e===a||t&&r.value.trim()===c)||(r.value=c))}},Jn={deep:!0,created(r,{value:e,modifiers:{number:a}},s){const t=xs(e);Mr(r,"change",()=>{const o=Array.prototype.filter.call(r.options,u=>u.selected).map(u=>a?vs(Ts(u)):Ts(u));r[ha](r.multiple?t?new Set(o):o:o[0]),r._assigning=!0,Au(()=>{r._assigning=!1})}),r[ha]=Gs(s)},mounted(r,{value:e}){Eo(r,e)},beforeUpdate(r,e,a){r[ha]=Gs(a)},updated(r,{value:e}){r._assigning||Eo(r,e)}};function Eo(r,e){const a=r.multiple,s=M(e);if(!(a&&!s&&!xs(e))){for(let t=0,o=r.options.length;t<o;t++){const u=r.options[t],l=Ts(u);if(a)if(s){const c=typeof l;
17c==="string"||c==="number"?u.selected=e.some(n=>String(n)===String(l)):u.selected=zl(e,l)>-1}else u.selected=e.has(l);else if($s(Ts(u),e)){r.selectedIndex!==t&&(r.selectedIndex=t);return}}!a&&r.selectedIndex!==-1&&(r.selectedIndex=-1)}}function Ts(r){return"_value"in r?r._value:r.value}const Yn=["ctrl","shift","alt","meta"],Qn={stop:r=>r.stopPropagation(),prevent:r=>r.preventDefault(),self:r=>r.target!==r.currentTarget,ctrl:r=>!r.ctrlKey,shift:r=>!r.shiftKey,alt:r=>!r.altKey,meta:r=>!r.metaKey,left:r=>"button"in r&&r.button!==0,middle:r=>"button"in r&&r.button!==1,right:r=>"button"in r&&r.button!==2,exact:(r,e)=>Yn.some(a=>r[`${a}Key`]&&!e.includes(a))},il=(r,e)=>{const a=r._withMods||(r._withMods={}),s=e.join(".");return a[s]||(a[s]=(t,...o)=>{for(let u=0;u<e.length;u++){const l=Qn[e[u]];if(l&&l(t,e))return}return r(t,...o)})},Zn={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},Xn=(r,e)=>{const a=r._withKeys||(r._withKeys={}),s=e.join(".");return a[s]||(a[s]=t=>{if(!("key"in t))return;const o=Rr(t.key);if(e.some(u=>u===o||Zn[u]===o))return r(t)})},ei=Te({patchProp:Wn},On);let Po;function ri(){return Po||(Po=en(ei))}const ai=(...r)=>{const e=ri().createApp(...r),{mount:a}=e;return e.mount=s=>{const t=ti(s);if(!t)return;const o=e._component;!H(o)&&!o.render&&!o.template&&(o.template=t.innerHTML),t.nodeType===1&&(t.textContent="");const u=a(t,!1,si(t));return t instanceof Element&&(t.removeAttribute("v-cloak"),t.setAttribute("data-v-app","")),u},e};function si(r){if(r instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&r instanceof MathMLElement)return"mathml"}function ti(r){return de(r)?document.querySelector(r):r}const Ao="/logo26.png",Hr=(r,e)=>{const a=r.__vccOpts||r;for(const[s,t]of e)a[s]=t;return a},oi={class:"circular-progress"},ui=["width","height"],li=["id"],ci=["cx","cy","r","stroke"],ni=["cx","cy","r","stroke-width"],ii=["cx","cy","r","stroke","stroke-width","stroke-dasharray","stroke-dashoffset"],fi={class:"progress-content"},di={class:"progress-percentage num"},hi={key:0,class:"progress-label"},mi={key:1,class:"progress-subtitle num"},bi={__name:"CircularProgress",props:{progress:{type:Number,default:0,validator:r=>r>=0&&r<=100},size:{type:Number,default:160},strokeWidth:{type:Number,default:12},progressStroke:{type:String,default:""},backgroundStroke:{type:String,default:"rgba(255, 255, 255, 0.09)"},label:{type:String,default:""},subtitle:{type:String,default:""}},setup(r){const e=`ring-${Math.random().toString(36).slice(2,9)}`,a=r,s=ee(()=>a.size/2),t=ee(()=>(a.size-a.strokeWidth)/2-8),o=ee(()=>(a.size-3.5)/2),u=ee(()=>2*Math.PI*t.value),l=ee(()=>u.value-a.progress/100*u.value),c=ee(()=>a.progress>=85?"#5CE65C":a.progress>=45?"#4FD2FF":"#3D8BFF"),n=c;return(i,f)=>(D(),q("div",oi,[(D(),q("svg",{width:r.size,height:r.size,class:"progress-ring",style:Sr({"--ring-glow":Ke(n)})},[p("defs",null,[p("linearGradient",{id:`${e}-bezel`,x1:"0",y1:"0",x2:"1",y2:"1"},[...f[0]||(f[0]=[ul('<stop offset="0%" stop-color="#FF3B30" data-v-745d077c></stop><stop offset="16%" stop-color="#FF9500" data-v-745d077c></stop><stop offset="32%" stop-color="#FFD60A" data-v-745d077c></stop><stop offset="48%" stop-color="#5CE65C" data-v-745d077c></stop><stop offset="64%" stop-color="#2FE0C0" data-v-745d077c></stop><stop offset="80%" stop-color="#3D8BFF" data-v-745d077c></stop><stop offset="100%" stop-color="#D45BF0" data-v-745d077c></stop>',7)])],8,li)]),p("circle",{cx:s.value,cy:s.value,r:o.value,fill:"transparent",stroke:`url(#${e}-bezel)`,"stroke-width":"3.5",class:"progress-ring__bezel"},null,8,ci),p("circle",{cx:s.value,cy:s.value,r:t.value,fill:"transparent",style:Sr({stroke:r.backgroundStroke}),"stroke-width":r.strokeWidth,class:"progress-ring__background"},null,12,ni),p("circle",{cx:s.value,cy:s.value,r:t.value,fill:"transparent",stroke:r.progressStroke||c.value,"stroke-width":r.strokeWidth,"stroke-dasharray":u.value,"stroke-dashoffset":l.value,class:"progress-ring__progress","stroke-linecap":"round"},null,8,ii)],12,ui)),p("div",fi,[p("div",di,[$e(z(Math.round(r.progress)),1),f[1]||(f[1]=p("span",{class:"progress-unit"},"%",-1))]),r.label?(D(),q("div",hi,z(r.label),1)):ke("",!0),r.subtitle?(D(),q("div",mi,z(r.subtitle),
171)):ke("",!0)])]))}},gi=Hr(bi,[["__scopeId","data-v-745d077c"]]),pi={class:"pie-chart-container"},Si={class:"pie-chart-content"},vi={key:0,class:"pie-empty"},Fi=["width","height"],wi=["cx","cy","r","stroke-width"],Ci={class:"donut-wrap"},yi=["width","height"],_i=["transform"],ki=["cx","cy","r","stroke-width"],Gi=["cx","cy","r","stroke","stroke-width","stroke-dasharray","stroke-dashoffset"],Ti={class:"donut-center"},Ei={class:"donut-value num"},Pi={class:"donut-label"},Ai={class:"pie-chart-legend"},Oi={class:"legend-content"},Ri={class:"legend-text"},xi={key:0,class:"status-message"},Bi={__name:"PieChart",props:{data:{type:Array,required:!0,default:()=>[]},chartSize:{type:Number,default:140}},setup(r){const e=r,a=ee(()=>Math.max(14,e.chartSize*.11)),s=ee(()=>(e.chartSize-a.value)/2-2),t=ee(()=>2*Math.PI*s.value),o=ee(()=>e.data[0]??{label:"",value:0}),u=ee(()=>{const l=e.data.reduce((i,f)=>i+f.value,0);if(!l)return[];const c=3;let n=0;return e.data.map(i=>{const f=i.value/l*t.value,d=Math.max(f-c,.5),m={color:i.color,dashArray:`${d} ${t.value-d}`,dashOffset:-n};return n+=f,m})});return(l,c)=>(D(),q("div",pi,[p("div",Si,[r.data.length===0?(D(),q("div",vi,[(D(),q("svg",{width:r.chartSize,height:r.chartSize,class:"pie-chart-svg pie-empty-ring"},[p("circle",{cx:r.chartSize/2,cy:r.chartSize/2,r:s.value,fill:"transparent","stroke-width":a.value,class:"ring-empty"},null,8,wi)],8,Fi)),c[0]||(c[0]=p("p",{class:"pie-empty-label"},[$e("Log food to see"),p("br"),$e("macro breakdown")],-1))])):(D(),q(ve,{key:1},[p("div",Ci,[(D(),q("svg",{width:r.chartSize,height:r.chartSize,class:"pie-chart-svg"},[p("g",{transform:`rotate(-90 ${r.chartSize/2} ${r.chartSize/2})`},[p("circle",{cx:r.chartSize/2,cy:r.chartSize/2,r:s.value,fill:"transparent","stroke-width":a.value,class:"ring-track"},null,8,ki),(D(!0),q(ve,null,ga(u.value,(n,i)=>(D(),q("circle",{key:i,cx:r.chartSize/2,cy:r.chartSize/2,r:s.value,fill:"transparent",stroke:n.color,"stroke-width":a.value,"stroke-dasharray":n.dashArray,"stroke-dashoffset":n.dashOffset,"stroke-linecap":"butt",class:"donut-segment"},null,8,Gi))),128))],8,_i)],8,yi)),p("div",Ti,[p("span",Ei,[$e(z(Math.round(o.value.value)),1),c[1]||(c[1]=p("span",{class:"donut-pct"},"%",-1))]),p("span",Pi,z(o.value.label),1)])]),p("div",Ai,[(D(!0),q(ve,null,ga(r.data,n=>(D(),q("div",{key:n.label,class:"legend-item"},[p("div",{class:"legend-color",style:Sr({backgroundColor:n.color,boxShadow:`0 0 8px ${n.color}`})},null,4),p("div",Oi,[p("span",Ri,z(n.label),1),p("span",{class:"legend-value num",style:Sr({color:n.color})},z(Math.round(n.value))+"%",5),n.status?(D(),q("span",{key:0,class:Ce(["status-indicator",n.status.class])},[$e(z(n.status.icon)+" ",1),n.status.message?(D(),q("span",xi,z(n.status.message),1)):ke("",!0)],2)):ke("",!0)])]))),128))])],64))])]))}},Ii=Hr(Bi,[["__scopeId","data-v-68bae142"]]);function Wt(r){const{availableCarb:e,freeFructose:a,sucrose:s}=r||{};if(!Number.isFinite(s))return Object.freeze({fructose:null,glucose:null,sucroseKnown:!1,confidence:"unknown"});const t=(a||0)+.5*s;let o=e-t,u="measured";return o<0&&(o=0,u="estimated"),Object.freeze({fructose:t,glucose:o,sucroseKnown:!0,confidence:u})}function Ue(r,e=1){if(r===null||!Number.isFinite(r))return"—";const a=r*10**e;return(Math.round(a+(a>=0?1e-9:-1e-9))/10**e).toFixed(e)}const $i={class:"food-search-database"},ji={class:"search-header"},Li={class:"search-input-container"},Ni={class:"sort-controls"},Mi={key:0,class:"search-results"},Ui=["title","onClick"],Di={class:"food-name"},qi={class:"food-macros"},zi={class:"macro-item macro-carbs"},Hi={class:"macro-item macro-fructose"},Wi={class:"macro-item macro-fat"},Ki={class:"macro-item macro-protein"},Vi={key:0,class:"no-results"},Ji={__name:"FoodSearchDatabase",props:{foodDatabase:{type:Array,required:!0}},emits:["food-selected"],setup(r,{emit:e}){const a=r,s=e,t=ce(""),o=ce("relevance"),u=i=>{const f=Wt(i);return{id:i.id,name:i.name,totalCarbs:i.availableCarb,glucose:f.glucose,fructose:f.fructose,sucroseKnown:f.sucroseKnown,fat:i.fat,protein:i.protein,servingWeightG:i.servingWeightG,title:`${i.name}: ${Ue(i.availableCarb)}g carbs (${Ue(f.fructose)}g fructose)`}},l=(i,f)=>i.fructose===null&&f.fructose===null?0:i.fructose===null?1:f.fructose===null?-1:f.fructose-i.fructose,c=ee(()=>{const i=a.foodDatabase.map(u);if(o.value==="carbs"&&!t.value)return[...i].sort((m,g)=>g.totalCarbs-m.totalCarbs);if(!t.value)return[];const f=t.value.toLowerCase();let d=i.filter(m=>m.name&&m.name.toLowerCase().includes(f));return o.value==="carbs"?d=d.sort((m,g)=>g.totalCarbs-m.totalCarbs):o.value==="fructose"?d=d.sort(l):d=d.sort((m,g)=>{const S=m.name.toLowerCase().startsWith(f),P=g.name.toLowerCase().startsWith(f);return S&&!P?-1:!S&&P?1:0}),d}),n=i=>{s("food-selected",{...i,Food:i.name,"Total carbs":i.totalCarbs,Fructose:i.fructose,Fat:i.fat,Protein:i.protein,baseGlucose:i.glucose,sucroseKnown:i.sucroseKnown,portionSize:i.servingWeightG??100}),t.value=""};return(i,f)=>(D(),q("div",$i,[p("div",ji,[p("div",Li,[zr(p("input",{"onUpdate:modelValue":f[0]||(f[0]=d=>t.value=d),type:"text",placeholder:"Search for food (e.g., banana, pasta, energy gel...)",class:"search-input"},null,512),[[ma,t.value]]),f[2]||(f[2]=p("div",{class:"search-icon"},"🔍",-1))]),p("div",Ni,[f[4]||(f[4]=p("label",{class:"sort-label"},"Sort by:",-1)),zr(p("select",{"onUpdate:modelValue":f[1]||(f[1]=d=>o.value=d),class:"sort-select"},[...f[3]||(f[3]=[p("option",{value:"relevance"},"Most Relevant",-1),p("option",{value:"carbs"},"Most Carbs",-1),p("option",{value:"fructose"},"Highest Fructose",-1)])],512),[[Jn,o.value]])])]),t.value||o.value==="carbs"?(D(),q("div",Mi,[(D(!0),q(ve,null,ga(c.value,d=>(D(),q("div",{key:d.id,class:"food-item",title:d.title,onClick:m=>n(d)},[p("div",Di,z(d.name),1),p("div",qi,[p("span",zi,z(Ke(Ue)(d.totalCarbs))+"g carbs",1),p("span",Hi,z(Ke(Ue)(d.fructose))+"g fructose",1),p("span",Wi,z(Ke(Ue)(d.fat))+"g fat",1),p("span",Ki,z(Ke(Ue)(d.protein))+"g protein",1),f[5]||(f[5]=p("span",{class:"per-100g"},"per 100g",-1))])],8,Ui))),128)),c.value.length===0?(D(),q("div",Vi,' No foods found matching "'+z(t.value)+'" ',1)):ke("",!0)])):ke("",!0)]))}},Yi=Hr(Ji,[["__scopeId","data-v-17e8eae2"]]),Qi={class:"quick-add-fuel-buttons"},Zi={class:"fuel-buttons-grid"},Xi=["onClick"],e0={class:"fuel-name"},r0={class:"fuel-carbs num"},a0={__name:"QuickAddFuelButtons",props:{quickAddFuels:{type:Array,required:!0}},emits:["fuel-selected"],setup(r,{emit:e}){const a=e,s=t=>{a("fuel-selected",{id:t.id,name:t.name,portionSize:t.defaultPortion,totalCarbs:t.totalCarbs,fructose:t.fructose,fat:t.fat,protein:t.protein,glucose:t.glucose,sucroseKnown:t.sucroseKnown??!0})};return(t,o)=>(D(),q("div",Qi,[p("div",Zi,[(D(!0),q(ve,null,ga(r.quickAddFuels,u=>(D(),q("button",{key:u.id,onClick:l=>s(u),class:"fuel-button"},[p("div",e0,z(u.name),1),p("div",r0,[$e(z(Math.round(u.totalCarbs*u.defaultPortion/100)),1),o[0]||(o[0]=p("span",{class:"fuel-carbs-unit"}
17,"g",-1))])],8,Xi))),128))])]))}},s0=Hr(a0,[["__scopeId","data-v-0964989a"]]),t0={key:0,class:"consumed-foods-list"},o0={class:"consumed-items"},u0={class:"item-info"},l0={class:"item-name"},c0={class:"item-macros"},n0={class:"macro-badge macro-carbs"},i0={class:"macro-badge macro-fructose"},f0={class:"macro-badge macro-fat"},d0={class:"macro-badge macro-protein"},h0={class:"item-controls"},m0={class:"portion-control"},b0=["onUpdate:modelValue","onInput"],g0=["onClick"],p0={__name:"ConsumedFoodsList",props:{consumedItems:{type:Array,required:!0}},emits:["update-portion","remove-item"],setup(r,{emit:e}){const a=e,s=(u,l)=>u==null?null:u*l/100,t=(u,l)=>{const c=parseInt(l.target.value)||1;a("update-portion",{index:u,portionSize:c})},o=u=>{a("remove-item",u)};return(u,l)=>r.consumedItems.length>0?(D(),q("div",t0,[p("div",o0,[(D(!0),q(ve,null,ga(r.consumedItems,(c,n)=>(D(),q("div",{key:`${c.id}-${n}`,class:"consumed-item"},[p("div",u0,[p("div",l0,z(c.Food),1),p("div",c0,[p("span",n0,z(Ke(Ue)(s(c["Total carbs"],c.portionSize)))+"g carbs",1),p("span",i0,z(Ke(Ue)(s(c.Fructose,c.portionSize)))+"g fructose",1),p("span",f0,z(Ke(Ue)(s(c.Fat,c.portionSize)))+"g fat",1),p("span",d0,z(Ke(Ue)(s(c.Protein,c.portionSize)))+"g protein",1)])]),p("div",h0,[p("div",m0,[zr(p("input",{"onUpdate:modelValue":i=>c.portionSize=i,type:"number",inputmode:"decimal",min:"1",max:"1000",step:"1",class:"portion-input",onInput:i=>t(n,i)},null,40,b0),[[ma,c.portionSize,void 0,{number:!0}]]),l[0]||(l[0]=p("span",{class:"portion-unit"},"g",-1))]),p("button",{onClick:i=>o(n),class:"remove-button"}," ✕ ",8,g0)])]))),128))])])):ke("",!0)}},S0=Hr(p0,[["__scopeId","data-v-f2f33300"]]);function qs(r,e){var a={};for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&e.indexOf(s)<0&&(a[s]=r[s]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var t=0,s=Object.getOwnPropertySymbols(r);t<s.length;t++)e.indexOf(s[t])<0&&Object.prototype.propertyIsEnumerable.call(r,s[t])&&(a[s[t]]=r[s[t]]);return a}function v0(r,e,a,s){function t(o){return o instanceof a?o:new a(function(u){u(o)})}return new(a||(a=Promise))(function(o,u){function l(i){try{n(s.next(i))}catch(f){u(f)}}function c(i){try{n(s.throw(i))}catch(f){u(f)}}function n(i){i.done?o(i.value):t(i.value).then(l,c)}n((s=s.apply(r,e||[])).next())})}const F0=r=>r?(...e)=>r(...e):(...e)=>fetch(...e);class Kt extends Error{constructor(e,a="FunctionsError",s){super(e),this.name=a,this.context=s}toJSON(){return{name:this.name,message:this.message,context:this.context}}}class w0 extends Kt{constructor(e){super("Failed to send a request to the Edge Function","FunctionsFetchError",e)}}class Oo extends Kt{constructor(e){super("Relay Error invoking the Edge Function","FunctionsRelayError",e)}}class Ro extends Kt{constructor(e){super("Edge Function returned a non-2xx status code","FunctionsHttpError",e)}}var gt;(function(r){r.Any="any",r.ApNortheast1="ap-northeast-1",r.ApNortheast2="ap-northeast-2",r.ApSouth1="ap-south-1",r.ApSoutheast1="ap-southeast-1",r.ApSoutheast2="ap-southeast-2",r.CaCentral1="ca-central-1",r.EuCentral1="eu-central-1",r.EuWest1="eu-west-1",r.EuWest2="eu-west-2",r.EuWest3="eu-west-3",r.SaEast1="sa-east-1",r.UsEast1="us-east-1",r.UsWest1="us-west-1",r.UsWest2="us-west-2"})(gt||(gt={}));class C0{constructor(e,{headers:a={},customFetch:s,region:t=gt.Any}={}){this.url=e,this.headers=a,this.region=t,this.fetch=F0(s)}setAuth(e){this.headers.Authorization=`Bearer ${e}`}invoke(e){return v0(this,arguments,void 0,function*(a,s={}){var t;let o,u;try{const{headers:l,method:c,body:n,signal:i,timeout:f}=s;let d={},{region:m}=s;m||(m=this.region);const g=new URL(`${this.url}/${a}`);m&&m!=="any"&&(d["x-region"]=m,g.searchParams.set("forceFunctionRegion",m));let S;n&&(l&&!Object.prototype.hasOwnProperty.call(l,"Content-Type")||!l)?typeof Blob<"u"&&n instanceof Blob||n instanceof ArrayBuffer?(d["Content-Type"]="application/octet-stream",S=n):typeof n=="string"?(d["Content-Type"]="text/plain",S=n):typeof FormData<"u"&&n instanceof FormData?S=n:(d["Content-Type"]="application/json",S=JSON.stringify(n)):n&&typeof n!="str
17ing"&&!(typeof Blob<"u"&&n instanceof Blob)&&!(n instanceof ArrayBuffer)&&!(typeof FormData<"u"&&n instanceof FormData)?S=JSON.stringify(n):S=n;let P=i;f&&(u=new AbortController,o=setTimeout(()=>u.abort(),f),i?(P=u.signal,i.addEventListener("abort",()=>u.abort())):P=u.signal);const y=yield this.fetch(g.toString(),{method:c||"POST",headers:Object.assign(Object.assign(Object.assign({},d),this.headers),l),body:S,signal:P}).catch(J=>{throw new w0(J)}),T=y.headers.get("x-relay-error");if(T&&T==="true")throw new Oo(y);if(!y.ok)throw new Ro(y);let _=((t=y.headers.get("Content-Type"))!==null&&t!==void 0?t:"text/plain").split(";")[0].trim(),E;return _==="application/json"?E=yield y.json():_==="application/octet-stream"||_==="application/pdf"?E=yield y.blob():_==="text/event-stream"?E=y:_==="multipart/form-data"?E=yield y.formData():E=yield y.text(),{data:E,error:null,response:y}}catch(l){return{data:null,error:l,response:l instanceof Ro||l instanceof Oo?l.context:void 0}}finally{o&&clearTimeout(o)}})}}const fl=3,xo=r=>Math.min(1e3*2**r,3e4),y0=[520,503],dl=["GET","HEAD","OPTIONS"];var _0=class extends Error{constructor(r){super(r.message),this.name="PostgrestError",this.details=r.details,this.hint=r.hint,this.co
17de=r.code}toJSON(){return{name:this.name,message:this.message,details:this.details,hint:this.hint,code:this.code}}};function Bo(r,e){return new Promise(a=>{if(e!=null&&e.aborted){a();return}const s=setTimeout(()=>{e==null||e.removeEventListener("abort",t),a()},r);function t(){clearTimeout(s),a()}e==null||e.addEventListener("abort",t)})}function k0(r,e,a,s){return!(!s||a>=fl||!dl.includes(r)||!y0.includes(e))}var G0=class{constructor(r){var e,a,s,t,o;this.shouldThrowOnError=!1,this.retryEnabled=!0,this.method=r.method,this.url=r.url,this.headers=new Headers(r.headers),this.schema=r.schema,this.body=r.body,this.shouldThrowOnError=(e=r.shouldThrowOnError)!==null&&e!==void 0?e:!1,this.signal=r.signal,this.isMaybeSingle=(a=r.isMaybeSingle)!==null&&a!==void 0?a:!1,this.shouldStripNulls=(s=r.shouldStripNulls)!==null&&s!==void 0?s:!1,this.urlLengthLimit=(t=r.urlLengthLimit)!==null&&t!==void 0?t:8e3,this.retryEnabled=(o=r.retry)!==null&&o!==void 0?o:!0,r.fetch?this.fetch=r.fetch:this.fetch=fetch}throwOnError(){return this.shouldThrowOnError=!0,this}stripNulls(){if(this.headers.get("Accept")==="text/csv")throw new Error("stripNulls() cannot be used with csv()");return this.shouldStripNulls=!0,this}setHeader(r,e){return this.headers=new Headers(this.headers),this.headers.set(r,e),this}retry(r){return this.retryEnabled=r,this}then(r,e){var a=this;if(this.schema===void 0||(["GET","HEAD"].includes(this.method)?this.headers.set("Accept-Profile",this.schema):this.headers.set("Content-Profile",this.schema)),this.method!=="GET"&&this.method!=="HEAD"&&this.headers.set("Content-Type","application/json"),this.shouldStripNulls){const u=this.headers.get("Accept");u==="application/vnd.pgrst.object+json"?this.headers.set("Accept","application/vnd.pgrst.object+json;nulls=stripped"):(!u||u==="application/json")&&this.headers.set("Accept","application/vnd.pgrst.array+json;nulls=stripped")}const s=this.fetch;let o=(async()=>{let u=0;for(;;){const n=new Headers(a.headers);u>0&&n.set("X-Retry-Count",String(u));let i;try{i=await s(a.url.toString(),{method:a.method,headers:n,body:JSON.stringify(a.body),signal:a.signal})}catch(f){if((f==null?void 0:f.name)==="AbortError"||(f==null?void 0:f.code)==="ABORT_ERR"||!dl.includes(a.method))throw f;if(a.retryEnabled&&u<fl){const d=xo(u);u++,await Bo(d,a.signal);continue}throw f}if(k0(a.method,i.status,u,a.retryEnabled)){var l,c;const f=(l=(c=i.headers)===null||c===void 0?void 0:c.get("Retry-After"))!==null&&l!==void 0?l:null,d=f!==null?Math.max(0,parseInt(f,10)||0)*1e3:xo(u);await i.text(),u++,await Bo(d,a.signal);continue}return await a.processResponse(i)}})();return this.shouldThrowOnError||(o=o.catch(u=>{var l;let c="",n="",i="";const f=u==null?void 0:u.cause;if(f){var d,m,g,S;const T=(d=f==null?void 0:f.message)!==null&&d!==void 0?d:"",_=(m=f==null?void 0:f.code)!==null&&m!==void 0?m:"";c=`${(g=u==null?void 0:u.name)!==null&&g!==void 0?g:"FetchError"}: ${u==null?void 0:u.message}`,c+=`
18
19Caused by: ${(S=f==null?void 0:f.name)!==null&&S!==void 0?S:"Error"}: ${T}`,_&&(c+=` (${_})`),f!=null&&f.stack&&(c+=`
20${f.stack}`)}else{var P;c=(P=u==null?void 0:u.stack)!==null&&P!==void 0?P:""}const y=this.url.toString().length;return(u==null?void 0:u.name)==="AbortError"||(u==null?void 0:u.code)==="ABORT_ERR"?(i="",n="Request was aborted (timeout or manual cancellation)",y>this.urlLengthLimit&&(n+=`. Note: Your request URL is ${y} characters, which may exceed server limits. If selecting many fields, consider using views. If filtering with large arrays (e.g., .in('id', [many IDs])), consider using an RPC function to pass values server-side.`)):((f==null?void 0:f.name)==="HeadersOverflowError"||(f==null?void 0:f.code)==="UND_ERR_HEADERS_OVERFLOW")&&(i="",n="HTTP headers exceeded server limits (typically 16KB)",y>this.urlLengthLimit&&(n+=`. Your request URL is ${y} characters. If selecting many fields, consider using views. If filtering with large arrays (e.g., .in('id', [200+ IDs])), consider using an RPC function instead.`)),{success:!1,error:{message:`${(l=u==null?void 0:u.name)!==null&&l!==void 0?l:"FetchError"}: ${u==null?void 0:u.message}`,details:c,hint:n,code:i},data:null,count:null,status:0,statusText:""}}
20)),o.then(r,e)}async processResponse(r){var e=this;let a=null,s=null,t=null,o=r.status,u=r.statusText;if(r.ok){var l,c;if(e.method!=="HEAD"){var n;const d=await r.text();d===""||(e.headers.get("Accept")==="text/csv"||e.headers.get("Accept")&&(!((n=e.headers.get("Accept"))===null||n===void 0)&&n.includes("application/vnd.pgrst.plan+text"))?s=d:s=JSON.parse(d))}const i=(l=e.headers.get("Prefer"))===null||l===void 0?void 0:l.match(/count=(exact|planned|estimated)/),f=(c=r.headers.get("content-range"))===null||c===void 0?void 0:c.split("/");i&&f&&f.length>1&&(t=parseInt(f[1])),e.isMaybeSingle&&Array.isArray(s)&&(s.length>1?(a={code:"PGRST116",details:`Results contain ${s.length} rows, application/vnd.pgrst.object+json requires 1 row`,hint:null,message:"JSON object requested, multiple (or no) rows returned"},s=null,t=null,o=406,u="Not Acceptable"):s.length===1?s=s[0]:s=null)}else{const i=await r.text();try{a=JSON.parse(i),Array.isArray(a)&&r.status===404&&(s=[],a=null,o=200,u="OK")}catch{r.status===404&&i===""?(o=204,u="No Content"):a={message:i}}if(a&&e.shouldThrowOnError)throw new _0(a)}return{success:a===null,error:a,data:s,count:t,status:o,statusText:u}}returns(){return this}overrideTypes(){return this}},T0=class extends G0{select(r){let e=!1;const a=(r??"*").split("").map(s=>/\s/.test(s)&&!e?"":(s==='"'&&(e=!e),s)).join("");return this.url.searchParams.set("select",a),this.headers.append("Prefer","return=representation"),this}order(r,{ascending:e=!0,nullsFirst:a,foreignTable:s,referencedTable:t=s}={}){const o=t?`${t}.order`:"order",u=this.url.searchParams.get(o);return this.url.searchParams.set(o,`${u?`${u},`:""}${r}.${e?"asc":"desc"}${a===void 0?"":a?".nullsfirst":".nullslast"}`),this}limit(r,{foreignTable:e,referencedTable:a=e}={}){const s=typeof a>"u"?"limit":`${a}.limit`;return this.url.searchParams.set(s,`${r}`),this}range(r,e,{foreignTable:a,referencedTable:s=a}={}){const t=typeof s>"u"?"offset":`${s}.offset`,o=typeof s>"u"?"limit":`${s}.limit`;return this.url.searchParams.set(t,`${r}`),this.url.searchParams.set(o,`${e-r+1}`),this}abortSignal(r){return this.signal=r,this}single(){return this.headers.set("Accept","application/vnd.pgrst.object+json"),this}maybeSingle(){return this.isMaybeSingle=!0,this}csv(){return this.headers.set("Accept","text/csv"),this}geojson(){return this.headers.set("Accept","application/geo+json"),this}explain({analyze:r=!1,verbose:e=!1,settings:a=!1,buffers:s=!1,wal:t=!1,format:o="text"}={}){var u;const l=[r?"analyze":null,e?"verbose":null,a?"settings":null,s?"buffers":null,t?"wal":null].filter(Boolean).join("|"),c=(u=this.headers.get("Accept"))!==null&&u!==void 0?u:"application/json";return this.headers.set("Accept",`application/vnd.pgrst.plan+${o}; for="${c}"; options=${l};`),o==="json"?this:this}rollback(){return this.headers.append("Prefer","tx=rollback"),this}returns(){return this}maxAffected(r){return this.headers.append("Prefer","handling=strict"),this.headers.append("Prefer",`max-affected=${r}`),this}};const Io=new RegExp("[,()]");var sa=class extends T0{eq(r,e){return this.url.searchParams.append(r,`eq.${e}`),this}neq(r,e){return this.url.searchParams.append(r,`neq.${e}`),this}gt(r,e){return this.url.searchParams.append(r,`gt.${e}`),this}gte(r,e){return this.url.searchParams.append(r,`gte.${e}`),this}lt(r,e){return this.url.searchParams.append(r,`lt.${e}`),this}lte(r,e){return this.url.searchParams.append(r,`lte.${e}`),this}like(r,e){return this.url.searchParams.append(r,`like.${e}`),this}likeAllOf(r,e){return this.url.searchParams.append(r,`like(all).{${e.join(",")}}`),this}likeAnyOf(r,e){return this.url.searchParams.append(r,`like(any).{${e.join(",")}}`),this}ilike(r,e){return this.url.searchParams.append(r,`ilike.${e}`),this}ilikeAllOf(r,e){return this.url.searchParams.append(r,`ilike(all).{${e.join(",")}}`),this}ilikeAnyOf(r,e){return this.url.searchParams.append(r,`ilike(any).{${e.join(",")}}`),this}regexMatch(r,e){return this.url.searchParams.append(r,`match.${e}`),this}regexIMatch(r,e){return this.url.searchParams.append(r,`imatch.${e}`),this}is(r,e){return this.url.searchParams.append(r,`is.${e}`),this}isDistinct(r,e){return this.url.searchParams.append(r,`isdistinct.${e}`),this}in(r,e){const a=Array.from(new Set(e)).map(s=>typeof s=="string"&&Io.test(s)?`"${s}"`:`${s}`).join(",");return this.url.searchParams.append(r,`in.(${a})`),this}notIn(r,e){const a=Array.from(new Set(e)).map(s=>typeof s=="string"&&Io.test(s)?`"${s}"`:`${s}`).join(",");return this.url.searchParams.append(r,`not.in.(${a})`),this}contains(r,e){return typeof e=="string"?this.url.searchParams.append(r,`cs.${e}`):Array.isArray(e)?this.url.searchParams.append(r,`cs.{${e.join(",")}}`):this.url.searchParams.append(r,`cs.${JSON.stringify(e)}`),this}containedBy(r,e){return typeof e=="string"?this.url.searchParams.append(r,`cd.${e}`):Array.isArray(e)?this.url.searchParams.append(r,`cd.{${e.join(",")}}`):this.url.searchParams.append(r,`cd.${JSON.stringify(e)}`),this}rangeGt(r,e){return this.url.searchParams.append(r,`sr.${e}`),this}rangeGte(r,e){return this.url.searchParams.append(r,`nxl.${e}`),this}rangeLt(r,e){return this.url.searchParams.append(r,`sl.${e}`),this}rangeLte(r,e){return this.url.searchParams.append(r,`nxr.${e}`),this}rangeAdjacent(r,e){return this.url.searchParams.append(r,`adj.${e}`),this}overlaps(r,e){return typeof e=="string"?this.url.searchParams.append(r,`ov.${e}`):this.url.searchParams.append(r,`ov.{${e.join(",")}}`),this}textSearch(r,e,{config:a,type:s}={}){let t="";s==="plain"?t="pl":s==="phrase"?t="ph":s==="websearch"&&(t="w");const o=a===void 0?"":`(${a})`;return this.url.searchParams.append(r,`${t}fts${o}.${e}`),this}match(r){return Object.entries(r).filter(([e,a])=>
20a!==void 0).forEach(([e,a])=>{this.url.searchParams.append(e,`eq.${a}`)}),this}not(r,e,a){return this.url.searchParams.append(r,`not.${e}.${a}`),this}or(r,{foreignTable:e,referencedTable:a=e}={}){const s=a?`${a}.or`:"or";return this.url.searchParams.append(s,`(${r})`),this}filter(r,e,a){return this.url.searchParams.append(r,`${e}.${a}`),this}},E0=class{constructor(r,{headers:e={},schema:a,fetch:s,urlLengthLimit:t=8e3,retry:o}){this.url=r,this.headers=new Headers(e),this.schema=a,this.fetch=s,this.urlLengthLimit=t,this.retry=o}cloneRequestState(){return{url:new URL(this.url.toString()),headers:new Headers(this.headers)}}select(r,e){const{head:a=!1,count:s}=e??{},t=a?"HEAD":"GET";let o=!1;const u=(r??"*").split("").map(n=>/\s/.test(n)&&!o?"":(n==='"'&&(o=!o),n)).join(""),{url:l,headers:c}=this.cloneRequestState();return l.searchParams.set("select",u),s&&c.append("Prefer",`count=${s}`),new sa({method:t,url:l,headers:c,schema:this.schema,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}insert(r,{count:e,defaultToNull:a=!0}={}){var s;const t="POST",{url:o,headers:u}=this.cloneRequestState();if(e&&u.append("Prefer",`count=${e}`),a||u.append("Prefer","missing=default"),Array.isArray(r)){const l=r.reduce((c,n)=>c.concat(Object.keys(n)),[]);if(l.length>0){const c=[...new Set(l)].map(n=>`"${n}"`);o.searchParams.set("columns",c.join(","))}}return new sa({method:t,url:o,headers:u,schema:this.schema,body:r,fetch:(s=this.fetch)!==null&&s!==void 0?s:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}upsert(r,{onConflict:e,ignoreDuplicates:a=!1,count:s,defaultToNull:t=!0}={}){var o;const u="POST",{url:l,headers:c}=this.cloneRequestState();if(c.append("Prefer",`resolution=${a?"ignore":"merge"}-duplicates`),e!==void 0&&l.searchParams.set("on_conflict",e),s&&c.append("Prefer",`count=${s}`),t||c.append("Prefer","missing=default"),Array.isArray(r)){const n=r.reduce((i,f)=>i.concat(Object.keys(f)),[]);if(n.length>0){const i=[...new Set(n)].map(f=>`"${f}"`);l.searchParams.set("columns",i.join(","))}}return new sa({method:u,url:l,headers:c,schema:this.schema,body:r,fetch:(o=this.fetch)!==null&&o!==void 0?o:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}update(r,{count:e}={}){var a;const s="PATCH",{url:t,headers:o}=this.cloneRequestState();return e&&o.append("Prefer",`count=${e}`),new sa({method:s,url:t,headers:o,schema:this.schema,body:r,fetch:(a=this.fetch)!==null&&a!==void 0?a:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}delete({count:r}={}){var e;const a="DELETE",{url:s,headers:t}=this.cloneRequestState();return r&&t.append("Prefer",`count=${r}`),new sa({method:a,url:s,headers:t,schema:this.schema,fetch:(e=this.fetch)!==null&&e!==void 0?e:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}};function Da(r){"@babel/helpers - typeof";return Da=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Da(r)}function P0(r,e){if(Da(r)!="object"||!r)return r;var a=r[Symbol.toPrimitive];if(a!==void 0){var s=a.call(r,e);if(Da(s)!="object")return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}function A0(r){var e=P0(r,"string");return Da(e)=="symbol"?e:e+""}function O0(r,e,a){return(e=A0(e))in r?Object.defineProperty(r,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):r[e]=a,r}function $o(r,e){var a=Object.keys(r);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(r);e&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable})),a.push.apply(a,s)}return a}function os(r){for(var e=1;e<arguments.length;e++){var a=arguments[e]!=null?arguments[e]:{};e%2?$o(Object(a),!0).forEach(function(s){O0(r,s,a[s])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(a)):$o(Object(a)).forEach(function(s){Object.defineProperty(r,s,Object.getOwnPropertyDescriptor(a,s))})}return r}var R0=class hl{constructor(e,{headers:a={},schema:s,fetch:t,timeout:o,urlLengthLimit:u=8e3,retry:l}={}){this.url=e,this.headers=new Headers(a),this.schemaName=s,this.urlLengthLimit=u;const c=t??globalThis.fetch;o!==void 0&&o>0?this.fetch=(n,i)=>{const f=new AbortController,d=setTimeout(()=>f.abort(),o),m=i==null?void 0:i.signal;if(m){if(m.aborted)return clearTimeout(d),c(n,i);const g=()=>{clearTimeout(d),f.abort()};return m.addEventListener("abort",g,{once:!0}),c(n,os(os({},i),{}
20,{signal:f.signal})).finally(()=>{clearTimeout(d),m.removeEventListener("abort",g)})}return c(n,os(os({},i),{},{signal:f.signal})).finally(()=>clearTimeout(d))}:this.fetch=c,this.retry=l}from(e){if(!e||typeof e!="string"||e.trim()==="")throw new Error("Invalid relation name: relation must be a non-empty string.");return new E0(new URL(`${this.url}/${e}`),{headers:new Headers(this.headers),schema:this.schemaName,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}schema(e){return new hl(this.url,{headers:this.headers,schema:e,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}rpc(e,a={},{head:s=!1,get:t=!1,count:o}={}){var u;let l;const c=new URL(`${this.url}/rpc/${e}`);let n;const i=m=>m!==null&&typeof m=="object"&&(!Array.isArray(m)||m.some(i)),f=s&&Object.values(a).some(i);f?(l="POST",n=a):s||t?(l=s?"HEAD":"GET",Object.entries(a).filter(([m,g])=>g!==void 0).map(([m,g])=>[m,Array.isArray(g)?`{${g.join(",")}}`:`${g}`]).forEach(([m,g])=>{c.searchParams.append(m,g)})):(l="POST",n=a);const d=new Headers(this.headers);return f?d.set("Prefer",o?`count=${o},return=minimal`:"return=minimal"):o&&d.set("Prefer",`count=${o}`),new sa({method:l,url:c,headers:d,schema:this.schemaName,body:n,fetch:(u=this.fetch)!==null&&u!==void 0?u:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}};class x0{constructor(){}static detectEnvironment(){var e;if(typeof WebSocket<"u")return{type:"native",constructor:WebSocket};if(typeof globalThis<"u"&&typeof globalThis.WebSocket<"u")return{type:"native",constructor:globalThis.WebSocket};if(typeof global<"u"&&typeof global.WebSocket<"u")return{type:"native",constructor:global.WebSocket};if(typeof globalThis<"u"&&typeof globalThis.WebSocketPair<"u"&&typeof globalThis.WebSocket>"u")return{type:"cloudflare",error:"Cloudflare Workers detected. WebSocket clients are not supported in Cloudflare Workers.",workaround:"Use Cloudflare Workers WebSocket API for server-side WebSocket handling, or deploy to a different runtime."};if(typeof globalThis<"u"&&globalThis.EdgeRuntime||typeof navigator<"u"&&(!((e=navigator.userAgent)===null||e===void 0)&&e.includes("Vercel-Edge")))return{type:"unsupported",error:"Edge runtime detected (Vercel Edge/Netlify Edge). WebSockets are not supported in edge functions.",workaround:"Use serverless functions or a different deployment target for WebSocket functionality."};const a=globalThis.process;if(a){const s=a.versions;if(s&&s.node){const t=s.node,o=parseInt(t.replace(/^v/,"").split(".")[0]);return o>=22?typeof globalThis.WebSocket<"u"?{type:"native",constructor:globalThis.WebSocket}:{type:"unsupported",error:`Node.js ${o} detected but native WebSocket not found.`,workaround:"Provide a WebSocket implementation via the transport option."}:{type:"unsupported",error:`Node.js ${o} detected without native WebSocket support.`,workaround:`For Node.js < 22, install "ws" package and provide it via the transport option:
21import ws from "ws"
22new RealtimeClient(url, { transport: ws })`}}}return{type:"unsupported",error:"Unknown JavaScript runtime without WebSocket support.",workaround:"Ensure you're running in a supported environment (browser, Node.js, Deno) or provide a custom WebSocket implementation."}}static getWebSocketConstructor(){const e=this.detectEnvironment();if(e.constructor)return e.constructor;let a=e.error||"WebSocket not supported in this environment.";throw e.workaround&&(a+=`
23
24Suggested solution: ${e.workaround}`),new Error(a)}static isWebSocketSupported(){try{const e=this.detectEnvironment();return e.type==="native"||e.type==="ws"}catch{return!1}}}const B0="2.103.0",I0=`realtime-js/${B0}`,$0="1.0.0",ml="2.0.0",j0=ml,L0=1e4,N0=100,Gr={closed:"closed",errored:"errored",joined:"joined",joining:"joining",leaving:"leaving"},bl={close:"phx_close",error:"phx_error",join:"phx_join",leave:"phx_leave",access_token:"access_token"},pt={connecting:"connecting",closing:"closing",closed:"closed"};class M0{constructor(e){this.HEADER_LENGTH=1,this.USER_BROADCAST_PUSH_META_LENGTH=6,this.KINDS={userBroadcastPush:3,userBroadcast:4},this.BINARY_ENCODING=0,this.JSON_ENCODING=1,this.BROADCAST_EVENT="broadcast",this.allowedMetadataKeys=[],this.allowedMetadataKeys=e??[]}encode(e,a){if(e.event===this.BROADCAST_EVENT&&!(e.payload instanceof ArrayBuffer)&&typeof e.payload.event=="string")return a(this._binaryEncodeUserBroadcastPush(e));let s=[e.join_ref,e.ref,e.topic,e.event,e.payload];return a(JSON.stringify(s))}_binaryEncodeUserBroadcastPush(e){var a;return this._isArrayBuffer((a=e.payload)===null||a===void 0?void 0:a.payload)?this._encodeBinaryUserBroadcastPush(e):this._encodeJsonUserBroadcastPush(e)}_encodeBinaryUserBroadcastPush(e){var a,s;const t=(s=(a=e.payload)===null||a===void 0?void 0:a.payload)!==null&&s!==void 0?s:new ArrayBuffer(0);return this._encodeUserBroadcastPush(e,this.BINARY_ENCODING,t)}_encodeJsonUserBroadcastPush(e){var a,s;const t=(s=(a=e.payload)===null||a===void 0?void 0:a.payload)!==null&&s!==void 0?s:{},u=new TextEncoder().encode(JSON.stringify(t)).buffer;return this._encodeUserBroadcastPush(e,this.JSON_ENCODING,u)}_encodeUserBroadcastPush(e,a,s){var t,o;const u=e.topic,l=(t=e.ref)!==null&&t!==void 0?t:"",c=(o=e.join_ref)!==null&&o!==void 0?o:"",n=e.payload.event,i=this.allowedMetadataKeys?this._pick(e.payload,this.allowedMetadataKeys):{},f=Object.keys(i).length===0?"":JSON.stringify(i);if(c.length>255)throw new Error(`joinRef length ${c.length} exceeds maximum of 255`);if(l.length>255)throw new Error(`ref length ${l.length} exceeds maximum of 255`);if(u.length>255)throw new Error(`topic length ${u.length} exceeds maximum of 255`);if(n.length>255)throw new Error(`userEvent length ${n.length} exceeds maximum of 255`);if(f.length>255)throw new Error(`metadata length ${f.length} exceeds maximum of 255`);const d=this.USER_BROADCAST_PUSH_META_LENGTH+c.length+l.length+u.length+n.length+f.length,m=new ArrayBuffer(this.HEADER_LENGTH+d);let g=new DataView(m),S=0;g.setUint8(S++,this.KINDS.userBroadcastPush),g.setUint8(S++,c.length),g.setUint8(S++,l.length),g.setUint8(S++,u.length),g.setUint8(S++,n.length),g.setUint8(S++,f.length),g.setUint8(S++,a),Array.from(c,y=>
24g.setUint8(S++,y.charCodeAt(0))),Array.from(l,y=>g.setUint8(S++,y.charCodeAt(0))),Array.from(u,y=>g.setUint8(S++,y.charCodeAt(0))),Array.from(n,y=>g.setUint8(S++,y.charCodeAt(0))),Array.from(f,y=>g.setUint8(S++,y.charCodeAt(0)));var P=new Uint8Array(m.byteLength+s.byteLength);return P.set(new Uint8Array(m),0),P.set(new Uint8Array(s),m.byteLength),P.buffer}decode(e,a){if(this._isArrayBuffer(e)){let s=this._binaryDecode(e);return a(s)}if(typeof e=="string"){const s=JSON.parse(e),[t,o,u,l,c]=s;return a({join_ref:t,ref:o,topic:u,event:l,payload:c})}return a({})}_binaryDecode(e){const a=new DataView(e),s=a.getUint8(0),t=new TextDecoder;switch(s){case this.KINDS.userBroadcast:return this._decodeUserBroadcast(e,a,t)}}_decodeUserBroadcast(e,a,s){const t=a.getUint8(1),o=a.getUint8(2),u=a.getUint8(3),l=a.getUint8(4);let c=this.HEADER_LENGTH+4;const n=s.decode(e.slice(c,c+t));c=c+t;const i=s.decode(e.slice(c,c+o));c=c+o;const f=s.decode(e.slice(c,c+u));c=c+u;const d=e.slice(c,e.byteLength),m=l===this.JSON_ENCODING?JSON.parse(s.decode(d)):d,g={type:this.BROADCAST_EVENT,event:i,payload:m};return u>0&&(g.meta=JSON.parse(f)),{join_ref:null,ref:null,topic:n,event:this.BROADCAST_EVENT,payload:g}}_isArrayBuffer(e){var a;return e instanceof ArrayBuffer||((a=e==null?void 0:e.constructor)===null||a===void 0?void 0:a.name)==="ArrayBuffer"}_pick(e,a){return!e||typeof e!="object"?{}:Object.fromEntries(Object.entries(e).filter(([s])=>a.includes(s)))}}var oe;(function(r){r.abstime="abstime",r.bool="bool",r.date="date",r.daterange="daterange",r.float4="float4",r.float8="float8",r.int2="int2",r.int4="int4",r.int4range="int4range",r.int8="int8",r.int8range="int8range",r.json="json",r.jsonb="jsonb",r.money="money",r.numeric="numeric",r.oid="oid",r.reltime="reltime",r.text="text",r.time="time",r.timestamp="timestamp",r.timestamptz="timestamptz",r.timetz="timetz",r.tsrange="tsrange",r.tstzrange="tstzrange"})(oe||(oe={}));const jo=(r,e,a={})=>{var s;const t=(s=a.skipTypes)!==null&&s!==void 0?s:[];return e?Object.keys(e).reduce((o,u)=>(o[u]=U0(u,r,e,t),o),{}):{}},U0=(r,e,a,s)=>{const t=e.find(l=>
24l.name===r),o=t==null?void 0:t.type,u=a[r];return o&&!s.includes(o)?gl(o,u):St(u)},gl=(r,e)=>{if(r.charAt(0)==="_"){const a=r.slice(1,r.length);return H0(e,a)}switch(r){case oe.bool:return D0(e);case oe.float4:case oe.float8:case oe.int2:case oe.int4:case oe.int8:case oe.numeric:case oe.oid:return q0(e);case oe.json:case oe.jsonb:return z0(e);case oe.timestamp:return W0(e);case oe.abstime:case oe.date:case oe.daterange:case oe.int4range:case oe.int8range:case oe.money:case oe.reltime:case oe.text:case oe.time:case oe.timestamptz:case oe.timetz:case oe.tsrange:case oe.tstzrange:return St(e);default:return St(e)}},St=r=>r,D0=r=>{switch(r){case"t":return!0;case"f":return!1;default:return r}},q0=r=>{if(typeof r=="string"){const e=parseFloat(r);if(!Number.isNaN(e))return e}return r},z0=r=>{if(typeof r=="string")try{return JSON.parse(r)}catch{return r}return r},H0=(r,e)=>{if(typeof r!="string")return r;const a=r.length-1,s=r[a];if(r[0]==="{"&&s==="}"){let o;const u=r.slice(1,a);try{o=JSON.parse("["+u+"]")}catch{o=u?u.split(","):[]}return o.map(l=>gl(e,l))}return r},W0=r=>typeof r=="string"?r.replace(" ","T"):r,pl=r=>{const e=new URL(r);return e.protocol=e.protocol.replace(/^ws/i,"http"),e.pathname=e.pathname.replace(/\/+$/,"").replace(/\/socket\/websocket$/i,"").replace(/\/socket$/i,"").replace(/\/websocket$/i,""),e.pathname===""||e.pathname==="/"?e.pathname="/api/broadcast":e.pathname=e.pathname+"/api/broadcast",e.href};var Ba=r=>typeof r=="function"?r:function(){return r},K0=typeof self<"u"?self:null,ta=typeof window<"u"?window:null,ar=K0||ta||globalThis,V0="2.0.0",J0=1e4,Y0=1e3,tr={connecting:0,open:1,closing:2,closed:3},Ae={closed:"closed",errored:"errored",joined:"joined",joining:"joining",leaving:"leaving"},mr={close:"phx_close",error:"phx_error",join:"phx_join",reply:"phx_reply",leave:"phx_leave"},vt={longpoll:"longpoll",websocket:"websocket"},Q0={complete:4},Ft="base64url.bearer.phx.",us=class{constructor(r,e,a,s){this.channel=r,this.event=e,this.payload=a||function(){return{}},this.receivedResp=null,this.timeout=s,this.timeoutTimer=null,this.recHooks=[],this.sent=!1,this.ref=void 0}resend(r){this.timeout=r,this.reset(),this.send()}send(){this.hasReceived("timeout")||(this.startTimeout(),this.sent=!0,this.channel.socket.push({topic:this.channel.topic,event:this.event,payload:this.payload(),ref:this.ref,join_ref:this.channel.joinRef()}))}receive(r,e){return this.hasReceived(r)&&e(this.receivedResp.response),this.recHooks.push({status:r,callback:e}),this}reset(){this.cancelRefEvent(),this.ref=null,this.refEvent=null,this.receivedResp=null,this.sent=!1}destroy(){this.cancelRefEvent(),this.cancelTimeout()}matchReceive({status:r,response:e,_ref:a}){this.recHooks.filter(s=>s.status===r).forEach(s=>s.callback(e))}cancelRefEvent(){this.refEvent&&this.channel.off(this.refEvent)}cancelTimeout(){clearTimeout(this.timeoutTimer),this.timeoutTimer=null}startTimeout(){this.timeoutTimer&&this.cancelTimeout(),this.ref=this.channel.socket.makeRef(),this.refEvent=this.channel.replyEventName(this.ref),this.channel.on(this.refEvent,r=>{this.cancelRefEvent(),this.cancelTimeout(),this.receivedResp=r,this.matchReceive(r)}),this.timeoutTimer=setTimeout(()=>{this.trigger("timeout",{})},this.timeout)}hasReceived(r){return this.receivedResp&&this.receivedResp.status===r}trigger(r,e){this.channel.trigger(this.refEvent,{status:r,response:e})}},Sl=class{constructor(r,e){this.callback=r,this.timerCalc=e,this.timer=void 0,this.tries=0}reset(){this.tries=0,clearTimeout(this.timer)}scheduleTimeout(){clearTimeout(this.timer),this.timer=setTimeout(()=>{this.tries=this.tries+1,this.callback()},this.timerCalc(this.tries+1))}},Z0=class{constructor(r,e,a){this.state=Ae.closed,this.topic=r,this.params=Ba(e||{}),this.socket=a,this.bindings=[],this.bindingRef=0,this.timeout=this.socket.timeout,this.joinedOnce=!1,this.joinPush=new us(this,mr.join,this.params,this.timeout),this.pushBuffer=[],this.stateChangeRefs=[],this.rejoinTimer=new Sl(()=>{this.socket.isConnected()&&this.rejoin()},this.socket.rejoinAfterMs),this.stateChangeRefs.push(this.socket.onError(()=>this.rejoinTimer.reset())),this.stateChangeRefs.push(this.socket.onOpen(()=>{this.rejoinTimer.reset(),this.isErrored()&&this.rejoin()})),this.joinPush.receive("ok",()=>{this.state=Ae.joined,this.rejoinTimer.reset(),this.pushBuffer.forEach(s=>s.send()),this.pushBuffer=[]}),this.joinPush.receive("error",s=>{this.state=Ae.errored,this.socket.hasLogger()&&this.socket.log("channel",`error ${this.topic}`,s),this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.onClose(()=>{this.rejoinTimer.reset(),this.socket.hasLogger()&&this.socket.log("channel",`close ${this.topic}`),this.state=Ae.closed,this.socket.remove(this)}),this.onError(s=>{this.socket.hasLogger()&&this.socket.log("channel",`error ${this.topic}`,s),this.isJoining()&&this.joinPush.reset(),this.state=Ae.errored,this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.joinPush.receive("timeout",()=>{this.socket.hasLogger()&&this.socket.log("channel",`timeout ${this.topic}`,this.joinPush.timeout),new us(this,mr.leave,Ba({}),this.timeout).send(),this.state=Ae.errored,this.joinPush.reset(),this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.on(mr.reply,(s,t)=>{this.trigger(this.replyEventName(t),s)})}join(r=this.timeout){if(this.joinedOnce)throw new Error("tried to join multiple times. 'join' can only be called a single time per channel instance");return this.timeout=r,this.joinedOnce=!0,this.rejoin(),this.joinPush}teardown(){this.pushBuffer.forEach(r=>r.destroy()),this.pushBuffer=[],this.rejoinTimer.reset(),this.joinPush.destroy(),this.state=Ae.closed,this.bindings=[]}onClose(r){this.on(mr.close,r)}onError(r){return this.on(mr.error,e=>r(e))}on(r,e){let a=this.bindingRef++;return this.bindings.push({event:r,ref:a,callback:e}),a}off(r,e){this.bindings=this.bindings.filter(a=>!(a.event===r&&(typeof e>"u"||e===a.ref)))}canPush(){return this.socket.isConnected()&&this.isJoined()}push(r,e,a=this.timeout){if(e=e||{},!this.joinedOnce)throw new Error(`tried to push '${r}' to '${this.topic}' before joining. Use channel.join() before pushing events`);let s=new us(this,r,function(){return e},a);return this.canPush()?s.send():(s.startTimeout(),this.pushBuffer.push(s)),s}leave(r=this.timeout){this.rejoinTimer.reset(),this.joinPush.cancelTimeout(),this.state=Ae.leaving;let e=()=>{this.socket.hasLogger()&&this.socket.log("channel",`leave ${this.topic}`),this.trigger(mr.close,"leave")},a=new us(this,mr.leave,Ba({}),r);return a.receive("ok",()=>e()).receive("timeout",()=>e()),a.send(),this.canPush()||a.trigger("ok",{}),a}onMessage(r,e,a){return e}filterBindings(r,e,a){return!0}isMember(r,e,a,s){return this.topic!==r?!1:s&&s!==this.joinRef()?(this.socket.hasLogger()&&this.socket.log("channel","dropping outdated message",{topic:r,event:e,payload:a,joinRef:s}),!1):!0}joinRef(){return this.joinPush.ref}rejoin(r=this.timeout){this.isLeaving()||(this.socket.leaveOpenTopic(this.topic),this.state=Ae.joining,this.joinPush.resend(r))}trigger(r,e,a,s){let t=this.onMessage(r,e,a,s);if(e&&!t)throw new Error("channel onMessage callbacks must return the payload, modified or unmodified");let o=this.bindings.filter(u=>u.event===r&&this.filterBindings(u,e,a));for(let u=0;u<o.length;u++)o[u].callback(t,a,s||this.joinRef())}replyEventName(r){return`chan_reply_${r}`}isClosed(){return this.state===Ae.closed}isErrored(){return this.state===Ae.errored}isJoined(){return this.state===Ae.joined}isJoining(){return this.state===Ae.joining}isLeaving(){return this.state===Ae.leaving}},Es=class{static request(r,e,a,s,t,o,u){if(ar.XDomainRequest){let l=new ar.XDomainRequest;return this.xdomainRequest(l,r,e,s,t,o,u)}else if(ar.XMLHttpRequest){let l=new ar.XMLHttpRequest;return this.xhrRequest(l,r,e,a,s,t,o,u)}else{if(ar.fetch&&ar.AbortController)return this.fetchRequest(r,e,a,s,t,o,u);throw new Error("No suitable XMLHttpRequest implementation found")}}static fetchRequest(r,e,a,s,t,o,u){let l={method:r,headers:a,body:s},c=null;return t&&(c=new AbortController,setTimeout(()=>c.abort(),t),l.signal=c.signal),ar.fetch(e,l).then(n=>n.text()).then(n=>this.parseJSON(n)).then(n=>u&&u(n)).catch(n=>{n.name==="AbortError"&&o?o():u&&u(null)}),c}static xdomainRequest(r,e,a,s,t,o,u){return r.timeout=t,r.open(e,a),r.onload=()=>{let l=this.parseJSON(r.responseText);u&&u(l)},o&&(r.ontimeout=o),r.onprogress=()=>{},r.send(s),r}static xhrRequest(r,e,a,s,t,o,u,l){r.open(e,a,!0),r.timeout=o;for(let[c,n]of Object.entries(s))r.setRequestHeader(c,n);return r.onerror=()=>l&&l(null),r.onreadystatechange=()=>{if(r.readyState===Q0.complete&&l){let c=this.parseJSON(r.responseText);l(c)}},u&&(r.ontimeout=u),r.send(t),r}static parseJSON(r){if(!r||r==="")return null;try{return JSON.parse(r)}catch{return console&&console.log("failed to parse JSON response",r),null}}static serialize(r,e){let a=[];for(var s in r){if(!Object.prototype.hasOwnProperty.call(r,s))continue;let t=e?`${e}[${s}]`:s,o=r[s];typeof o=="object"?a.push(this.serialize(o,t)):a.push(encodeURIComponent(t)+"="+encodeURIComponent(o))}return a.join("&")}static appendParams(r,e){if(Object.keys(e).length===0)return r;let a=r.match(/\?/)?"&":"?";return`${r}${a}${this.serialize(e)}`}},X0=r=>{let e="",a=new Uint8Array(r),s=a.byteLength;for(let t=0;t<s;t++)e+=String.fromCharCode(a[t]);return btoa(e)},Yr=class{constructor(r,e){e&&e.length===2&&e[1].startsWith(Ft)&&(this.authToken=atob(e[1].slice(Ft.length))),this.endPoint=null,this.token=null,this.skipHeartbeat=!0,this.reqs=new Set,this.awaitingBatchAck=!1,this.currentBatch=null,this.currentBatchTimer=null,this.batchBuffer=[],this.onopen=function(){},this.onerror=function(){},this.onmessage=function(){}
vendor: 1,073 bytes, line 24
24,this.onclose=function(){},this.pollEndpoint=this.normalizeEndpoint(r),this.readyState=tr.connecting,setTimeout(()=>this.poll(),0)}normalizeEndpoint(r){return r.replace("ws://","http://").replace("wss://","https://").replace(new RegExp("(.*)/"+vt.websocket),"$1/"+vt.longpoll)}endpointURL(){return Es.appendParams(this.pollEndpoint,{token:this.token})}closeAndRetry(r,e,a){this.close(r,e,a),this.readyState=tr.connecting}ontimeout(){this.onerror("timeout"),this.closeAndRetry(1005,"timeout",!1)}isActive(){return this.readyState===tr.open||this.readyState===tr.connecting}poll(){const r={Accept:"application/json"};this.authToken&&(r["X-Phoenix-AuthToken"]=this.authToken),this.ajax("GET",r,null,()=>this.ontimeout(),e=>{if(e){var{status:a,token:s,messages:t}=e;if(a===410&&this.token!==null){this.onerror(410),this.closeAndRetry(3410,"session_gone",!1);return}this.token=s}else a=0;switch(a){case 200:t.forEach(o=>{setTimeout(()=>this.onmessage({data:o}),0)}),this.poll();break;case 204:this.poll();break;case 410:this.readyState=tr.open,this.onopen({}),this.poll();break;
24case 403:this.onerror(403),this.close(1008,"forbidden",!1);break;case 0:case 500:this.onerror(500),this.closeAndRetry(1011,"internal server error",500);break;default:throw new Error(`unhandled poll status ${a}`)}})}send(r){typeof r!="string"&&(r=X0(r)),this.currentBatch?this.currentBatch.push(r):this.awaitingBatchAck?this.batchBuffer.push(r):(this.currentBatch=[r],this.currentBatchTimer=setTimeout(()=>{this.batchSend(this.currentBatch),this.currentBatch=null},0))}batchSend(r){this.awaitingBatchAck=!0,this.ajax("POST",{"Content-Type":"application/x-ndjson"},r.join(`
25`),()=>this.onerror("timeout"),e=>{this.awaitingBatchAck=!1,!e||e.status!==200?(this.onerror(e&&e.status),this.closeAndRetry(1011,"internal server error",!1)):this.batchBuffer.length>0&&(this.batchSend(this.batchBuffer),this.batchBuffer=[])})}close(r,e,a){for(let t of this.reqs)t.abort();this.readyState=tr.closed;let s=Object.assign({code:1e3,reason:void 0,wasClean:!0},{code:r,reason:e,wasClean:a});this.batchBuffer=[],clearTimeout(this.currentBatchTimer),this.currentBatchTimer=null,typeof CloseEvent<"u"?this.onclose(new CloseEvent("close",s)):this.onclose(s)}ajax(r,e,a,s,t){let o,u=()=>{this.reqs.delete(o),s()};o=Es.request(r,this.endpointURL(),e,a,this.timeout,u,l=>{this.reqs.delete(o),this.isActive()&&t(l)}),this.reqs.add(o)}},ef=class _a{constructor(e,a={}){let s=a.events||{state:"presence_state",diff:"presence_diff"};this.state={},this.pendingDiffs=[],this.channel=e,this.joinRef=null,this.caller={onJoin:function(){},onLeave:function(){},onSync:function(){}},this.channel.on(s.state,t=>{let{onJoin:o,onLeave:u,onSync:l}=this.caller;this.joinRef=this.channel.joinRef(),this.state=_a.syncState(this.state,t,o,u),this.pendingDiffs.forEach(c=>{this.state=_a.syncDiff(this.state,c,o,u)}),this.pendingDiffs=[],l()}),this.channel.on(s.diff,t=>{let{onJoin:o,onLeave:u,onSync:l}=this.caller;this.inPendingSyncState()?this.pendingDiffs.push(t):(this.state=_a.syncDiff(this.state,t,o,u),l())})}onJoin(e){this.caller.onJoin=e}onLeave(e){this.caller.onLeave=e}onSync(e){this.caller.onSync=e}list(e){return _a.list(this.state,e)}inPendingSyncState(){return!this.joinRef||this.joinRef!==this.channel.joinRef()}static syncState(e,a,s,t){let o=this.clone(e),u={},l={};return this.map(o,(c,n)=>{a[c]||(l[c]=n)}),this.map(a,(c,n)=>{let i=o[c];if(i){let f=n.metas.map(S=>S.phx_ref),d=i.metas.map(S=>S.phx_ref),m=n.metas.filter(S=>d.indexOf(S.phx_ref)<0),g=i.metas.filter(S=>f.indexOf(S.phx_ref)<0);m.length>0&&(u[c]=n,u[c].metas=m),g.length>0&&(l[c]=this.clone(i),l[c].metas=g)}else u[c]=n}),this.syncDiff(o,{joins:u,leaves:l},s,t)}static syncDiff(e,a,s,t){let{joins:o,leaves:u}=this.clone(a);return s||(s=function(){}),t||(t=function(){}),this.map(o,(l,c)=>{let n=e[l];if(e[l]=this.clone(c),n){let i=e[l].metas.map(d=>d.phx_ref),f=n.metas.filter(d=>i.indexOf(d.phx_ref)<0);e[l].metas.unshift(...f)}s(l,n,c)}),this.map(u,(l,c)=>{let n=e[l];if(!n)return;let i=c.metas.map(f=>f.phx_ref);n.metas=n.metas.filter(f=>i.indexOf(f.phx_ref)<0),t(l,n,c),n.metas.length===0&&delete e[l]}),e}static list(e,a){return a||(a=function(s,t){return t}),this.map(e,(s,t)=>a(s,t))}static map(e,a){return Object.getOwnPropertyNames(e).map(s=>a(s,e[s]))}static clone(e){return JSON.parse(JSON.stringify(e))}},ls={HEADER_LENGTH:1,META_LENGTH:4,KINDS:{push:0,reply:1,broadcast:2},encode(r,e){if(r.payload.constructor===ArrayBuffer)return e(this.binaryEncode(r));{let a=[r.join_ref,r.ref,r.topic,r.event,r.payload];return e(JSON.stringify(a))}},decode(r,e){if(r.constructor===ArrayBuffer)return e(this.binaryDecode(r));{let[a,s,t,o,u]=JSON.parse(r);return e({join_ref:a,ref:s,topic:t,event:o,payload:u})}},binaryEncode(r){let{join_ref:e,ref:a,event:s,topic:t,payload:o}=r,u=this.META_LENGTH+e.length+a.length+t.length+s.length,l=new ArrayBuffer(this.HEADER_LENGTH+u),c=new DataView(l),n=0;c.setUint8(n++,this.KINDS.push),c.setUint8(n++,e.length),c.setUint8(n++,a.length),c.setUint8(n++,t.length),c.setUint8(n++,s.length),Array.from(e,f=>c.setUint8(n++,f.charCodeAt(0))),Array.from(a,f=>c.setUint8(n++,f.charCodeAt(0))),Array.from(t,f=>c.setUint8(n++,f.charCodeAt(0))),Array.from(s,f=>c.setUint8(n++,f.charCodeAt(0)));var i=new Uint8Array(l.byteLength+o.byteLength);return i.set(new Uint8Array(l),0),i.set(new Uint8Array(o),l.byteLength),i.buffer},binaryDecode(r){let e=new DataView(r),a=e.getUint8(0),s=new TextDecoder;switch(a){case this.KINDS.push:return this.decodePush(r,e,s);case this.KINDS.reply:return this.decodeReply(r,e,s);case this.KINDS.broadcast:return this.decodeBroadcast(r,e,s)}},decodePush(r,e,a){let s=e.getUint8(1),t=e.getUint8(2),o=e.getUint8(3),u=this.HEADER_LENGTH+this.META_LENGTH-1,l=a.decode(r.slice(u,u+s));u=u+s;let c=a.decode(r.slice(u,u+t));u=u+t;let n=a.decode(r.slice(u,u+o));u=u+o;let i=r.slice(u,r.byteLength);return{join_ref:l,ref:null,topic:c,event:n,payload:i}},decodeReply(r,e,a){let s=e.getUint8(1),t=e.getUint8(2),o=e.getUint8(3),u=e.getUint8(4),l=this.HEADER_LENGTH+this.META_LENGTH,c=a.decode(r.slice(l,l+s));l=l+s;let n=a.decode(r.slice(l,l+t));l=l+t;
25let i=a.decode(r.slice(l,l+o));l=l+o;let f=a.decode(r.slice(l,l+u));l=l+u;let d=r.slice(l,r.byteLength),m={status:f,response:d};return{join_ref:c,ref:n,topic:i,event:mr.reply,payload:m}},decodeBroadcast(r,e,a){let s=e.getUint8(1),t=e.getUint8(2),o=this.HEADER_LENGTH+2,u=a.decode(r.slice(o,o+s));o=o+s;let l=a.decode(r.slice(o,o+t));o=o+t;let c=r.slice(o,r.byteLength);return{join_ref:null,ref:null,topic:u,event:l,payload:c}}},rf=class{constructor(r,e={}){this.stateChangeCallbacks={open:[],close:[],error:[],message:[]},this.channels=[],this.sendBuffer=[],this.ref=0,this.fallbackRef=null,this.timeout=e.timeout||J0,this.transport=e.transport||ar.WebSocket||Yr,this.conn=void 0,this.primaryPassedHealthCheck=!1,this.longPollFallbackMs=e.longPollFallbackMs,this.fallbackTimer=null,this.sessionStore=e.sessionStorage||ar&&ar.sessionStorage,this.establishedConnections=0,this.defaultEncoder=ls.encode.bind(ls),this.defaultDecoder=ls.decode.bind(ls),this.closeWasClean=!0,this.disconnecting=!1,this.binaryType=e.binaryType||"arraybuffer",this.connectClock=1,this.pageHidden=!1,this.encode=void 0,this.decode=void 0,this.transport!==Yr?(this.encode=e.encode||this.defaultEncoder,this.decode=e.decode||this.defaultDecoder):(this.encode=this.defaultEncoder,this.decode=this.defaultDecoder);let a=null;ta&&ta.addEventListener&&(ta.addEventListener("pagehide",s=>{this.conn&&(this.disconnect(),a=this.connectClock)}),ta.addEventListener("pageshow",s=>{a===this.connectClock&&(a=null,this.connect())}),ta.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"?this.pageHidden=!0:(this.pageHidden=!1,!this.isConnected()&&!this.closeWasClean&&this.teardown(()=>this.connect()))})),this.heartbeatIntervalMs=e.heartbeatIntervalMs||3e4,this.autoSendHeartbeat=e.autoSendHeartbeat??!0,this.heartbeatCallback=e.heartbeatCallback??(()=>{}),this.rejoinAfterMs=s=>e.rejoinAfterMs?e.rejoinAfterMs(s):[1e3,2e3,5e3][s-1]||1e4,this.reconnectAfterMs=s=>e.reconnectAfterMs?e.reconnectAfterMs(s):[10,50,100,150,200,250,500,1e3,2e3][s-1]||5e3,this.logger=e.logger||null,!this.logger&&e.debug&&(this.logger=(s,t,o)=>{console.log(`${s}: ${t}`,o)}),this.longpollerTimeout=e.longpollerTimeout||2e4,this.params=Ba(e.params||{}),this.endPoint=`${r}/${vt.websocket}`,this.vsn=e.vsn||V0,this.heartbeatTimeoutTimer=null,this.heartbeatTimer=null,this.heartbeatSentAt=null,this.pendingHeartbeatRef=null,this.reconnectTimer=new Sl(()=>{if(this.pageHidden){this.log("Not reconnecting as page is hidden!"),this.teardown();return}this.teardown(async()=>{e.beforeReconnect&&await e.beforeReconnect(),this.connect()})},this.reconnectAfterMs),this.authToken=e.authToken}getLongPollTransport(){return Yr}replaceTransport(r){this.connectClock++,this.closeWasClean=!0,clearTimeout(this.fallbackTimer),this.reconnectTimer.reset(),this.conn&&(this.conn.close(),this.conn=null),this.transport=r}protocol(){return location.protocol.match(/^https/)?"wss":"ws"}endPointURL(){let r=Es.appendParams(Es.appendParams(this.endPoint,this.params()),{vsn:this.vsn});return r.charAt(0)!=="/"?r:r.charAt(1)==="/"?`${this.protocol()}:${r}`:`${this.protocol()}://${location.host}${r}`}disconnect(r,e,a){this.connectClock++,this.disconnecting=!0,this.closeWasClean=!0,clearTimeout(this.fallbackTimer),this.reconnectTimer.reset(),this.teardown(()=>{this.disconnecting=!1,r&&r()},e,a)}connect(r){r&&(console&&console.log("passing params to connect is deprecated. Instead pass :params to the Socket constructor"),this.params=Ba(r)),!(this.conn&&!this.disconnecting)&&(this.longPollFallbackMs&&this.transport!==Yr?this.connectWithF
vendor: 4,339 bytes, line 25
25allback(Yr,this.longPollFallbackMs):this.transportConnect())}log(r,e,a){this.logger&&this.logger(r,e,a)}hasLogger(){return this.logger!==null}onOpen(r){let e=this.makeRef();return this.stateChangeCallbacks.open.push([e,r]),e}onClose(r){let e=this.makeRef();return this.stateChangeCallbacks.close.push([e,r]),e}onError(r){let e=this.makeRef();return this.stateChangeCallbacks.error.push([e,r]),e}onMessage(r){let e=this.makeRef();return this.stateChangeCallbacks.message.push([e,r]),e}onHeartbeat(r){this.heartbeatCallback=r}ping(r){if(!this.isConnected())return!1;let e=this.makeRef(),a=Date.now();this.push({topic:"phoenix",event:"heartbeat",payload:{},ref:e});let s=this.onMessage(t=>{t.ref===e&&(this.off([s]),r(Date.now()-a))});return!0}transportName(r){switch(r){case Yr:return"LongPoll";default:return r.name}}transportConnect(){this.connectClock++,this.closeWasClean=!1;let r;this.authToken&&(r=["phoenix",`${Ft}${btoa(this.authToken).replace(/=/g,"")}`]),this.conn=new this.transport(this.endPointURL(),r),this.conn.binaryType=this.binaryType,this.conn.timeout=this.longpollerTimeout,this.conn.onopen=()=>this.onConnOpen(),this.conn.onerror=e=>this.onConnError(e),this.conn.onmessage=e=>this.onConnMessage(e),this.conn.onclose=e=>this.onConnClose(e)}getSession(r){return this.sessionStore&&this.sessionStore.getItem(r)}storeSession(r,e){this.sessionStore&&this.sessionStore.setItem(r,e)}connectWithFallback(r,e=2500){clearTimeout(this.fallbackTimer);let a=!1,s=!0,t,o,u=this.transportName(r),l=c=>{this.log("transport",`falling back to ${u}...`,c),this.off([t,o]),s=!1,this.replaceTransport(r),this.transportConnect()};if(this.getSession(`phx:fallback:${u}`))return l("memorized");this.fallbackTimer=setTimeout(l,e),o=this.onError(c=>{this.log("transport","error",c),s&&!a&&(clearTimeout(this.fallbackTimer),l(c))}),this.fallbackRef&&this.off([this.fallbackRef]),this.fallbackRef=this.onOpen(()=>{if(a=!0,!s){let c=this.transportName(r);return this.primaryPassedHealthCheck||this.storeSession(`phx:fallback:${c}`,"true"),this.log("transport",`established ${c} fallback`)}clearTimeout(this.fallbackTimer),this.fallbackTimer=setTimeout(l,e),this.ping(c=>{this.log("transport","connected to primary after",c),this.primaryPassedHealthCheck=!0,clearTimeout(this.fallbackTimer)})}),this.transportConnect()}clearHeartbeats(){clearTimeout(this.heartbeatTimer),clearTimeout(this.heartbeatTimeoutTimer)}onConnOpen(){this.hasLogger()&&this.log("transport",`connected to ${this.endPointURL()}`),this.closeWasClean=!1,this.disconnecting=!1,this.establishedConnections++,this.flushSendBuffer(),this.reconnectTimer.reset(),this.autoSendHeartbeat&&this.resetHeartbeat(),this.triggerStateCallbacks("open")}heartbeatTimeout(){if(this.pendingHeartbeatRef){this.pendingHeartbeatRef=null,this.heartbeatSentAt=null,this.hasLogger()&&this.log("transport","heartbeat timeout. Attempting to re-establish connection");try{this.heartbeatCallback("timeout")}catch(r){this.log("error","error in heartbeat callback",r)}this.triggerChanError(),this.closeWasClean=!1,this.teardown(()=>this.reconnectTimer.scheduleTimeout(),Y0,"heartbeat timeout")}}resetHeartbeat(){this.conn&&this.conn.skipHeartbeat||(this.pendingHeartbeatRef=null,this.clearHeartbeats(),this.heartbeatTimer=setTimeout(()=>this.sendHeartbeat(),this.heartbeatIntervalMs))}teardown(r,e,a){if(!this.conn)return r&&r();const s=this.conn;this.waitForBufferDone(s,()=>{e?s.close(e,a||""):s.close(),this.waitForSocketClosed(s,()=>{this.conn===s&&(this.conn.onopen=function(){},this.conn.onerror=function(){},this.conn.onmessage=function(){},this.conn.onclose=function(){},this.conn=null),r&&r()})})}waitForBufferDone(r,e,a=1){if(a===5||!r.bufferedAmount){e();return}setTimeout(()=>{this.waitForBufferDone(r,e,a+1)},150*a)}waitForSocketClosed(r,e,a=1){if(a===5||r.readyState===tr.closed){e();return}setTimeout(()=>{this.waitForSocketClosed(r,e,a+1)},150*a)}onConnClose(r){this.conn&&(this.conn.onclose=()=>{}),this.hasLogger()&&this.log("transport","close",r),this.triggerChanError(),this.clearHeartbeats(),this.closeWasClean||this.reconnectTimer.scheduleTimeout(),this.triggerStateCallbacks("close",r)}onConnError(r){this.hasLogger()&&this.log("transport",r);let e=this.transport,a=this.establishedConnections;this.triggerStateCallbacks("error",r,e,a),(e===this.transport||a>0)&&this.triggerChanError()}
25triggerChanError(){this.channels.forEach(r=>{r.isErrored()||r.isLeaving()||r.isClosed()||r.trigger(mr.error)})}connectionState(){switch(this.conn&&this.conn.readyState){case tr.connecting:return"connecting";case tr.open:return"open";case tr.closing:return"closing";default:return"closed"}}isConnected(){return this.connectionState()==="open"}remove(r){this.off(r.stateChangeRefs),this.channels=this.channels.filter(e=>e!==r)}off(r){for(let e in this.stateChangeCallbacks)this.stateChangeCallbacks[e]=this.stateChangeCallbacks[e].filter(([a])=>r.indexOf(a)===-1)}channel(r,e={}){let a=new Z0(r,e,this);return this.channels.push(a),a}push(r){if(this.hasLogger()){let{topic:e,event:a,payload:s,ref:t,join_ref:o}=r;this.log("push",`${e} ${a} (${o}, ${t})`,s)}this.isConnected()?this.encode(r,e=>this.conn.send(e)):this.sendBuffer.push(()=>this.encode(r,e=>this.conn.send(e)))}makeRef(){let r=this.ref+1;return r===this.ref?this.ref=0:this.ref=r,this.ref.toString()}sendHeartbeat(){if(!this.isConnected()){try{this.heartbeatCallback("disconnected")}catch(r){this.log("error","error in heartbeat callback",r)}return}if(this.pendingHeartbeatRef){this.heartbeatTimeout();return}this.pendingHeartbeatRef=this.makeRef(),this.heartbeatSentAt=Date.now(),this.push({topic:"phoenix",event:"heartbeat",payload:{},ref:this.pendingHeartbeatRef});try{this.heartbeatCallback("sent")}catch(r){this.log("error","error in heartbeat callback",r)}this.heartbeatTimeoutTimer=setTimeout(()=>this.heartbeatTimeout(),this.heartbeatIntervalMs)}flushSendBuffer(){this.isConnected()&&this.sendBuffer.length>0&&(this.sendBuffer.forEach(r=>r()),this.sendBuffer=[])}onConnMessage(r){this.decode(r.data,e=>{let{topic:a,event:s,payload:t,ref:o,join_ref:u}=e;if(o&&o===this.pendingHeartbeatRef){const l=this.heartbeatSentAt?Date.now()-this.heartbeatSentAt:void 0;this.clearHeartbeats();try{this.heartbeatCallback(t.status==="ok"?"ok":"error",l)}catch(c){this.log("error","error in heartbeat callback",c)}this.pendingHeartbeatRef=null,this.heartbeatSentAt=null,this.autoSendHeartbeat&&(this.heartbeatTimer=setTimeout(()=>this.sendHeartbeat(),this.heartbeatIntervalMs))}this.hasLogger()&&this.log("receive",`${t.status||""} ${a} ${s} ${o&&"("+o+")"||""}`.trim(),t);for(let l=0;l<this.channels.length;l++){const c=this.channels[l];c.isMember(a,s,t,u)&&c.trigger(s,t,o,u)}this.triggerStateCallbacks("message",e)})}triggerStateCallbacks(r,...e){try{this.stateChangeCallbacks[r].forEach(([a,s])=>{try{s(...e)}catch(t){this.log("error",`error in ${r} callback`,t)}})}catch(a){this.log("error",`error triggering ${r} callbacks`,a)}}leaveOpenTopic(r){let e=this.channels.find(a=>a.topic===r&&(a.isJoined()||a.isJoining()));e&&(this.hasLogger()&&this.log("transport",`leaving duplicate topic "${r}"`),e.leave())}};class Ia{constructor(e,a){const s=sf(a);this.presence=new ef(e.getChannel(),s),this.presence.onJoin((t,o,u)=>{const l=Ia.onJoinPayload(t,o,u);e.getChannel().trigger("presence",l)}),this.presence.onLeave((t,o,u)=>{const l=Ia.onLeavePayload(t,o,u);e.getChannel().trigger("presence",l)}),this.presence.onSync(()=>{e.getChannel().trigger("presence",{event:"sync"})})}get state(){return Ia.transformState(this.presence.state)}static transformState(e){return e=af(e),Object.getOwnPropertyNames(e).reduce((a,s)=>{const t=e[s];return a[s]=Ss(t),a},{})}static onJoinPayload(e,a,s){const t=Lo(a),o=Ss(s);return{event:"join",key:e,currentPresences:t,newPresences:o}}static onLeavePayload(e,a,s){const t=Lo(a),o=Ss(s);return{event:"leave",key:e,currentPresences:t,leftPresences:o}}}function Ss(r){return r.metas.map(e=>(e.presence_ref=e.phx_ref,delete e.phx_ref,delete e.phx_ref_prev,e))}function af(r){return JSON.parse(JSON.stringify(r))}function sf(r){return(r==null?void 0:r.events)&&{events:r.events}}function Lo(r){return r!=null&&r.metas?Ss(r):[]}var No;(function(r){r.SYNC="sync",r.JOIN="join",r.LEAVE="leave"})(No||(No={}));class tf{get state(){return this.presenceAdapter.state}constructor(e,a){this.channel=e,this.presenceAdapter=new Ia(this.channel.channelAdapter,a)}}class of{constructor(e,a,s){const t=uf(s);this.channel=e.getSocket().channel(a,t),this.socket=e}get state(){return this.channel.state}set state(e){this.channel.state=e}get joinedOnce(){return this.channel.joinedOnce}get joinPush(){return this.channel.joinPush}get rejoinTimer(){return this.channel.rejoinTimer}on(e,a){return this.channel.on(e,a)}off(e,a){this.channel.off(e,a)}subscribe(e){return this.channel.join(e)}unsubscribe(e){return this.channel.leave(e)}teardown(){this.channel.teardown()}onClose(e){this.channel.onClose(e)}onError(e){return this.channel.onError(e)}push(e,a,s){let t;try{t=this.channel.push(e,a,s)}catch{throw`tried to push '${e}' to '${this.channel.topic}' before joining. Use channel.subscribe() before pushing events`}if(this.channel.pushBuffer.length>N0){const o=this.channel.pushBuffer.shift();o.cancelTimeout(),this.socket.log("channel",`discarded push due to buffer overflow: ${o.event}`,o.payload())}return t}updateJoinPayload(e){const a=this.channel.joinPush.payload();this.channel.joinPush.payload=()=>Object.assign(Object.assign({},a),e)}canPush(){return this.socket.isConnected()&&this.state===Gr.joined}isJoined(){return this.state===Gr.joined}isJoining(){return this.state===Gr.joining}isClosed(){return this.state===Gr.closed}isLeaving(){return this.state===Gr.leaving}updateFilterBindings(e){this.channel.filterBindings=e}updatePayloadTransform(e){this.channel.onMessage=e}getChannel(){return this.channel}}function uf(r){return{config:Object.assign({broadcast:{ack:!1,self:!1},presence:{key:"",enabled:!1},private:!1},r.config)}}var Mo;(function(r){r.ALL="*",r.INSERT="INSERT",r.UPDATE="UPDATE",r.DELETE="DELETE"})(Mo||(Mo={}));var la;(function(r){r.BROADCAST="broadcast",r.PRESENCE="presence",r.POSTGRES_CHANGES="postgres_changes",r.SYSTEM="system"})(la||(la={}));var br;(function(r){r.SUBSCRIBED="SUBSCRIBED",r.TIMED_OUT="TIMED_OUT",r.CLOSED="CLOSED",r.CHANNEL_ERROR="CHANNEL_ERROR"})(br||(br={}));class $a{get state(){return this.channelAdapter.state}set state(e){this.channelAdapter.state=e}get joinedOnce(){return this.channelAdapter.joinedOnce}get timeout(){return this.socket.timeout}get joinPush(){return this.channelAdapter.joinPush}get rejoinTimer(){return this.channelAdapter.rejoinTimer}constructor(e,a={config:{}},s){var t,o;if(this.topic=e,this.params=a,this.socket=s,this.bindings={},this.subTopic=e.replace(/^realtime:/i,""),this.params.config=Object.assign({broadcast:{ack:!1,self:!1},presence:{key:"",enabled:!1},private:!1},a.config),this.channelAdapter=new of(this.socket.socketAdapter,e,this.params),this.presence=new tf(this),this._onClose(()=>{this.socket._remove(this)}),this._updateFilterTransform(),this.broadcastEndpointURL=pl(this.socket.socketAdapter.endPointURL()),this.private=this.params.config.private||!1,!this.private&&(!((o=(t=this.params.config)===null||t===void 0?void 0:t.broadcast)===null||o===void 0)&&o.replay))throw`tried to use replay on public channel '${this.topic}'. It must be a private channel.`}subscribe(e,a=this.timeout){var s,t,o;if(this.socket.isConnected()||this.socket.connect(),this.channelAdapter.isClosed()){const{config:{broadcast:u,presence:l,private:c}}=this.params,n=(t=(s=this.bindings.postgres_changes)===null||s===void 0?void 0:s.map(m=>m.filter))!==null&&t!==void 0?t:[],i=!!this.bindings[la.PRESENCE]&&this.bindings[la.PRESENCE].length>0||((o=this.params.config.presence)===null||o===void 0?void 0:o.enabled)===!0,f={},d={broadcast:u,presence:Object.assign(Object.assign({},l),{enabled:i}),postgres_changes:n,private:c};this.socket.accessTokenValue&&(f.access_token=this.socket.accessTokenValue),this._onError(m=>{e==null||e(br.CHANNEL_ERROR,m)}),this._onClose(()=>e==null?void 0:e(br.CLOSED)),this.updateJoinPayload(Object.assign({config:d},f)),this._updateFilterMessage(),this.channelAdapter.subscribe(a).receive("ok",async({postgres_changes:m})=>
25{if(this.socket._isManualToken()||this.socket.setAuth(),m===void 0){e==null||e(br.SUBSCRIBED);return}this._updatePostgresBindings(m,e)}).receive("error",m=>{this.state=Gr.errored,e==null||e(br.CHANNEL_ERROR,new Error(JSON.stringify(Object.values(m).join(", ")||"error")))}).receive("timeout",()=>{e==null||e(br.TIMED_OUT)})}return this}_updatePostgresBindings(e,a){var s;const t=this.bindings.postgres_changes,o=(s=t==null?void 0:t.length)!==null&&s!==void 0?s:0,u=[];for(let l=0;l<o;l++){const c=t[l],{filter:{event:n,schema:i,table:f,filter:d}}=c,m=e&&e[l];if(m&&m.event===n&&$a.isFilterValueEqual(m.schema,i)&&$a.isFilterValueEqual(m.table,f)&&$a.isFilterValueEqual(m.filter,d))u.push(Object.assign(Object.assign({},c),{id:m.id}));else{this.unsubscribe(),this.state=Gr.errored,a==null||a(br.CHANNEL_ERROR,new Error("mismatch between server and client bindings for postgres changes"));return}}this.bindings.postgres_changes=u,this.state!=Gr.errored&&a&&a(br.SUBSCRIBED)}presenceState(){return this.presence.state}async track(e,a={}){return await this.send({type:"presence",event:"track",payload:e},a.timeout||this.timeout)}async untrack(e={}){return await this.send({type:"presence",event:"untrack"},e)}on(e,a,s){const t=this.channelAdapter.isJoined()||this.channelAdapter.isJoining(),o=e===la.PRESENCE||e===la.POSTGRES_CHANGES;if(t&&o)throw this.socket.log("channel",`cannot add \`${e}\` callbacks for ${this.topic} after \`subscribe()\`.`),new Error(`cannot add \`${e}\` callbacks for ${this.topic} after \`subscribe()\`.`);return this._on(e,a,s)}async httpSend(e,a,s={}){var t;if(a==null)return Promise.reject("Payload is required for httpSend()");const o={apikey:this.socket.apiKey?this.socket.apiKey:"","Content-Type":"application/json"};this.socket.accessTokenValue&&(o.Authorization=`Bearer ${this.socket.accessTokenValue}`);const u={method:"POST",headers:o,body:JSON.stringify({messages:[{topic:this.subTopic,event:e,payload:a,private:this.private}]})},l=await this._fetchWithTimeout(this.broadcastEndpointURL,u,(t=s.timeout)!==null&&t!==void 0?t:this.timeout);if(l.status===202)return{success:!0};let c=l.statusText;try{const n=await l.json();c=n.error||n.message||c}catch{}return Promise.reject(new Error(c))}async send(e,a={}){var s,t;if(!this.channelAdapter.canPush()&&e.type==="broadcast"){console.warn("Realtime send() is automatically falling back to REST API. This behavior will be deprecated 
25in the future. Please use httpSend() explicitly for REST delivery.");const{event:o,payload:u}=e,l={apikey:this.socket.apiKey?this.socket.apiKey:"","Content-Type":"application/json"};this.socket.accessTokenValue&&(l.Authorization=`Bearer ${this.socket.accessTokenValue}`);const c={method:"POST",headers:l,body:JSON.stringify({messages:[{topic:this.subTopic,event:o,payload:u,private:this.private}]})};try{const n=await this._fetchWithTimeout(this.broadcastEndpointURL,c,(s=a.timeout)!==null&&s!==void 0?s:this.timeout);return await((t=n.body)===null||t===void 0?void 0:t.cancel()),n.ok?"ok":"error"}catch(n){return n.name==="AbortError"?"timed out":"error"}}else return new Promise(o=>{var u,l,c;const n=this.channelAdapter.push(e.type,e,a.timeout||this.timeout);e.type==="broadcast"&&!(!((c=(l=(u=this.params)===null||u===void 0?void 0:u.config)===null||l===void 0?void 0:l.broadcast)===null||c===void 0)&&c.ack)&&o("ok"),n.receive("ok",()=>o("ok")),n.receive("error",()=>o("error")),n.receive("timeout",()=>o("timed out"))})}updateJoinPayload(e){this.channelAdapter.updateJoinPayload(e)}async unsubscribe(e=this.timeout){return new Promise(a=>{this.channelAdapter.unsubscribe(e).receive("ok",()=>a("ok")).receive("timeout",()=>a("timed out")).receive("error",()=>a("error"))})}teardown(){this.channelAdapter.teardown()}async _fetchWithTimeout(e,a,s){const t=new AbortController,o=setTimeout(()=>t.abort(),s),u=await this.socket.fetch(e,Object.assign(Object.assign({},a),{signal:t.signal}));return clearTimeout(o),u}_on(e,a,s){const t=e.toLocaleLowerCase(),o=this.channelAdapter.on(e,s),u={type:t,filter:a,callback:s,ref:o};return this.bindings[t]?this.bindings[t].push(u):this.bindings[t]=[u],this._updateFilterMessage(),this}_onClose(e){this.channelAdapter.onClose(e)}_onError(e){this.channelAdapter.onError(e)}_updateFilterMessage(){this.channelAdapter.updateFilterBindings((e,a,s)=>{var t,o,u,l,c,n,i;const f=e.event.toLocaleLowerCase();if(this._notThisChannelEvent(f,s))return!1;const d=(t=this.bindings[f])===null||t===void 0?void 0:t.find(m=>m.ref===e.ref);if(!d)return!0;if(["broadcast","presence","postgres_changes"].includes(f))if("id"in d){const m=d.id,g=(o=d.filter)===null||o===void 0?void 0:o.event;return m&&((u=a.ids)===null||u===void 0?void 0:u.includes(m))&&(g==="*"||(g==null?void 0:g.toLocaleLowerCase())===((l=a.data)===null||l===void 0?void 0:l.type.toLocaleLowerCase()))}else{const m=(n=(c=d==null?void 0:d.filter)===null||c===void 0?void 0:c.event)===null||n===void 0?void 0:n.toLocaleLowerCase();return m==="*"||m===((i=a==null?void 0:a.event)===null||i===void 0?void 0:i.toLocaleLowerCase())}else return d.type.toLocaleLowerCase()===f})}_notThisChannelEvent(e,a){const{close:s,error:t,leave:o,join:u}=bl;return a&&[s,t,o,u].includes(e)&&a!==this.joinPush.ref}_updateFilterTransform(){this.channelAdapter.updatePayloadTransform((e,a,s)=>{if(typeof a=="object"&&"ids"in a){const t=a.data,{schema:o,table:u,commit_timestamp:l,type:c,errors:n}=t;return Object.assign(Object.assign({},{schema:o,table:u,commit_timestamp:l,eventType:c,new:{},old:{},errors:n}),this._getPayloadRecords(t))}return a})}copyBindings(e){if(this.joinedOnce)throw new Error("cannot copy bindings into joined channel");for(const a in e.bindings)for(const s of e.bindings[a])this._on(s.type,s.filter,s.callback)}static isFilterValueEqual(e,a){return(e??void 0)===(a??void 0)}_getPayloadRecords(e){const a={new:{},old:{}};return(e.type==="INSERT"||e.type==="UPDATE")&&(a.new=jo(e.columns,e.record)),(e.type==="UPDATE"||e.type==="DELETE")&&(a.old=jo(e.columns,e.old_record)),a}}class lf{constructor(e,a){this.socket=new rf(e,a)}get timeout(){return this.socket.timeout}get endPoint(){return this.socket.endPoint}get transport(){return this.socket.transport}get heartbeatIntervalMs(){return this.socket.heartbeatIntervalMs}get heartbeatCallback(){return this.socket.heartbeatCallback}set heartbeatCallback(e){this.socket.heartbeatCallback=e}get heartbeatTimer(){return this.socket.heartbeatTimer}get pendingHeartbeatRef(){return this.socket.pendingHeartbeatRef}get reconnectTimer(){return this.socket.reconnectTimer}get vsn(){return this.socket.vsn}get encode(){return this.socket.encode}get decode(){return this.socket.decode}get reconnectAfterMs(){return this.socket.reconnectAfterMs}get sendBuffer(){return this.socket.sendBuffer}get stateChangeCallbacks(){return this.socket.stateChangeCallbacks}connect(){this.socket.connect()}disconnect(e,a,s,t=1e4){return new Promise(o=>{setTimeout(()=>
25o("timeout"),t),this.socket.disconnect(()=>{e(),o("ok")},a,s)})}push(e){this.socket.push(e)}log(e,a,s){this.socket.log(e,a,s)}makeRef(){return this.socket.makeRef()}onOpen(e){this.socket.onOpen(e)}onClose(e){this.socket.onClose(e)}onError(e){this.socket.onError(e)}onMessage(e){this.socket.onMessage(e)}isConnected(){return this.socket.isConnected()}isConnecting(){return this.socket.connectionState()==pt.connecting}isDisconnecting(){return this.socket.connectionState()==pt.closing}connectionState(){return this.socket.connectionState()}endPointURL(){return this.socket.endPointURL()}sendHeartbeat(){this.socket.sendHeartbeat()}getSocket(){return this.socket}}const cf={HEARTBEAT_INTERVAL:25e3},nf=[1e3,2e3,5e3,1e4],ff=1e4,df=`
26  addEventListener("message", (e) => {
27    if (e.data.event === "start") {
28      setInterval(() => postMessage({ event: "keepAlive" }), e.data.interval);
29    }
30  });`;class hf{get endPoint(){return this.socketAdapter.endPoint}get timeout(){return this.socketAdapter.timeout}get transport(){return this.socketAdapter.transport}get heartbeatCallback(){return this.socketAdapter.heartbeatCallback}get heartbeatIntervalMs(){return this.socketAdapter.heartbeatIntervalMs}get heartbeatTimer(){return this.worker?this._workerHeartbeatTimer:this.socketAdapter.heartbeatTimer}get pendingHeartbeatRef(){return this.worker?this._pendingWorkerHeartbeatRef:this.socketAdapter.pendingHeartbeatRef}get reconnectTimer(){return this.socketAdapter.reconnectTimer}get vsn(){return this.socketAdapter.vsn}get encode(){return this.socketAdapter.encode}get decode(){return this.socketAdapter.decode}get reconnectAfterMs(){return this.socketAdapter.reconnectAfterMs}get sendBuffer(){return this.socketAdapter.sendBuffer}get stateChangeCallbacks(){return this.socketAdapter.stateChangeCallbacks}constructor(e,a){var s;if(this.channels=new Array,this.accessTokenValue=null,this.accessToken=null,this.apiKey=null,this.httpEndpoint="",this.headers={},this.params={},this.ref=0,this.serializer=new M0,this._manuallySetToken=!1,this._authPromise=null,this._workerHeartbeatTimer=void 0,this._pendingWorkerHeartbeatRef=null,this._resolveFetch=o=>o?(...u)=>o(...u):(...u)=>fetch(...u),!(!((s=a==null?void 0:a.params)===null||s===void 0)&&s.apikey))throw new Error("API key is required to connect to Realtime");this.apiKey=a.params.apikey;const t=this._initializeOptions(a);this.socketAdapter=new lf(e,t),this.httpEndpoint=pl(e),this.fetch=this._resolveFetch(a==null?void 0:a.fetch)}connect(){if(!(this.isConnecting()||this.isDisconnecting()||this.isConnected())){this.accessToken&&!this._authPromise&&this._setAuthSafely("connect"),this._setupConnectionHandlers();try{this.socketAdapter.connect()}catch(e){const a=e.message;throw a.includes("Node.js")?new Error(`${a}
31
32To use Realtime in Node.js, you need to provide a WebSocket implementation:
33
34Option 1: Use Node.js 22+ which has native WebSocket support
35Option 2: Install and provide the "ws" package:
36
37  npm install ws
38
39  import ws from "ws"
40  const client = new RealtimeClient(url, {
41    ...options,
42    transport: ws
43  })`):new Error(`WebSocket not available: ${a}`)}this._handleNodeJsRaceCondition()}}endpointURL(){return this.socketAdapter.endPointURL()}async disconnect(e,a){return this.isDisconnecting()?"ok":await this.socketAdapter.disconnect(()=>{clearInterval(this._workerHeartbeatTimer),this._terminateWorker()},e,a)}getChannels(){return this.channels}async removeChannel(e){const a=await e.unsubscribe();return a==="ok"&&e.teardown(),this.channels.length===0&&this.disconnect(),a}async removeAllChannels(){const e=this.channels.map(async s=>{const t=await s.unsubscribe();return s.teardown(),t}),a=await Promise.all(e);return this.disconnect(),a}log(e,a,s){this.socketAdapter.log(e,a,s)}connectionState(){return this.socketAdapter.connectionState()||pt.closed}isConnected(){return this.socketAdapter.isConnected()}isConnecting(){return this.socketAdapter.isConnecting()}isDisconnecting(){return this.socketAdapter.isDisconnecting()}channel(e,a={config:{}}){const s=`realtime:${e}`,t=this.getChannels().find(o=>o.topic===s);if(t)return t;{const o=new $a(`realtime:${e}`,a,this);return this.channels.push(o),o}}push(e){this.socketAdapter.push(e)}async setAuth(e=null){this._authPromise=this._performAuth(e);try{await this._authPromise}finally{this._authPromise=null}}_isManualToken(){return this._manuallySetToken}async sendHeartbeat(){this.socketAdapter.sendHeartbeat()}onHeartbeat(e){this.socketAdapter.heartbeatCallback=this._wrapHeartbeatCallback(e)}_makeRef(){return this.socketAdapter.makeRef()}_remove(e){this.channels=this.channels.filter(a=>a.topic!==e.topic)}async _performAuth(e=null){let a,s=!1;if(e)a=e,s=!0;else if(this.accessToken)try{a=await this.accessToken()}catch(t){this.log("error","Error fetching access token from callback",t),a=this.accessTokenValue}else a=this.accessTokenValue;s?this._manuallySetToken=!0:this.accessToken&&(this._manuallySetToken=!1),this.accessTokenValue!=a&&(this.accessTokenValue=a,this.channels.forEac
43h(t=>{const o={access_token:a,version:I0};a&&t.updateJoinPayload(o),t.joinedOnce&&t.channelAdapter.isJoined()&&t.channelAdapter.push(bl.access_token,{access_token:a})}))}async _waitForAuthIfNeeded(){this._authPromise&&await this._authPromise}_setAuthSafely(e="general"){this._isManualToken()||this.setAuth().catch(a=>{this.log("error",`Error setting auth in ${e}`,a)})}_setupConnectionHandlers(){this.socketAdapter.onOpen(()=>{(this._authPromise||(this.accessToken&&!this.accessTokenValue?this.setAuth():Promise.resolve())).catch(a=>{this.log("error","error waiting for auth on connect",a)}),this.worker&&!this.workerRef&&this._startWorkerHeartbeat()}),this.socketAdapter.onClose(()=>{this.worker&&this.workerRef&&this._terminateWorker()}),this.socketAdapter.onMessage(e=>{e.ref&&e.ref===this._pendingWorkerHeartbeatRef&&(this._pendingWorkerHeartbeatRef=null)})}_handleNodeJsRaceCondition(){this.socketAdapter.isConnected()&&this.socketAdapter.getSocket().onConnOpen()}_wrapHeartbeatCallback(e){return(a,s)=>{a=="sent"&&this._setAuthSafely(),e&&e(a,s)}}_startWorkerHeartbeat(){this.workerUrl?this.log("worker",`starting worker for from ${this.workerUrl}`):this.log("worker","starting default worker");const e=this._workerObjectUrl(this.workerUrl);this.workerRef=new Worker(e),this.workerRef.onerror=a=>{this.log("worker","worker error",a.message),this._terminateWorker(),this.disconnect()},this.workerRef.onmessage=a=>{a.data.event==="keepAlive"&&this.sendHeartbeat()},this.workerRef.postMessage({event:"start",interval:this.heartbeatIntervalMs})}_terminateWorker(){this.workerRef&&(this.log("worker","terminating worker"),this.workerRef.terminate(),this.workerRef=void 0)}_workerObjectUrl(e){let a;if(e)a=e;else{const s=new Blob([df],{type:"application/javascript"});a=URL.createObjectURL(s)}return a}_initializeOptions(e){var a,s,t,o,u,l,c,n,i;this.worker=(a=e==null?void 0:e.worker)!==null&&a!==void 0?a:!1,this.accessToken=(s=e==null?void 0:e.accessToken)!==null&&s!==void 0?s:null;const f={};f.timeout=(t=e==null?void 0:e.timeout)!==null&&t!==void 0?t:L0,f.heartbeatIntervalMs=(o=e==null?void 0:e.heartbeatIntervalMs)!==null&&o!==void 0?o:cf.HEARTBEAT_INTERVAL,f.transport=(u=e==null?void 0:e.transport)!==null&&u!==void 0?u:x0.getWebSocketConstructor(),f.params=e==null?void 0:e.params,f.logger=e==null?void 0:e.logger,f.heartbeatCallback=this._wrapHeartbeatCallback(e==null?void 0:e.heartbeatCallback),f.reconnectAfterMs=(l=e==null?void 0:e.reconnectAfterMs)!==null&&l!==void 0?l:S=>nf[S-1]||ff;let d,m;const g=(c=e==null?void 0:e.vsn)!==null&&c!==void 0?c:j0;switch(g){case $0:d=(S,P)=>P(JSON.stringify(S)),m=(S,P)=>P(JSON.parse(S));break;case ml:d=this.serializer.encode.bind(this.serializer),m=this.serializer.decode.bind(this.serializer);break;default:throw new Error(`Unsupported serializer version: ${f.vsn}`)}if(f.vsn=g,f.encode=(n=e==null?void 0:e.encode)!==null&&n!==void 0?n:d,f.decode=(i=e==null?void 0:e.decode)!==null&&i!==void 0?i:m,f.beforeReconnect=this._reconnectAuth.bind(this),(e!=null&&e.logLevel||e!=null&&e.log_level)&&(this.logLevel=e.logLevel||e.log_level,f.params=Object.assign(Object.assign({},f.params),{log_level:this.logLevel})),this.worker){if(typeof window<"u"&&!window.Worker)throw new Error("Web Worker is not supported");this.workerUrl=e==null?void 0:e.workerUrl,f.autoSendHeartbeat=!this.worker}return f}async _reconnectAuth(){await this._waitForAuthIfNeeded(),this.isConnected()||this.connect()}}var qa=class extends Error{constructor(r,e){var a;super(r),this.name="IcebergError",this.status=e.status,this.icebergType=e.icebergType,this.icebergCode=e.icebergCode,this.details=e.details,this.isCommitStateUnknown=e.icebergType==="CommitStateUnknownException"||[500,502,504].includes(e.status)&&((a=e.icebergType)==null?void 0:a.includes("CommitState"))===!0}isNotFound(){return this.status===404}isConflict(){return this.status===409}isAuthenticationTimeout(){return this.status===419}};function mf(r,e,a){const s=new URL(e,r);if(a)for(const[t,o]of Object.entries(a))o!==void 0&&s.searchParams.set(t,o);return s.toString()}async function bf(r){return!r||r.type==="none"?{}:r.type==="bearer"?{Authorization:`Bearer ${r.token}`}
43:r.type==="header"?{[r.name]:r.value}:r.type==="custom"?await r.getHeaders():{}}function gf(r){const e=r.fetchImpl??globalThis.fetch;return{async request({method:a,path:s,query:t,body:o,headers:u}){const l=mf(r.baseUrl,s,t),c=await bf(r.auth),n=await e(l,{method:a,headers:{...o?{"Content-Type":"application/json"}:{},...c,...u},body:o?JSON.stringify(o):void 0}),i=await n.text(),f=(n.headers.get("content-type")||"").includes("application/json"),d=f&&i?JSON.parse(i):i;if(!n.ok){const m=f?d:void 0,g=m==null?void 0:m.error;throw new qa((g==null?void 0:g.message)??`Request failed with status ${n.status}`,{status:n.status,icebergType:g==null?void 0:g.type,icebergCode:g==null?void 0:g.code,details:m})}return{status:n.status,headers:n.headers,data:d}}}}function cs(r){return r.join("�")}var pf=class{constructor(r,e=""){this.client=r,this.prefix=e}async listNamespaces(r){const e=r?{parent:cs(r.namespace)}:void 0;return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces`,query:e})).data.namespaces.map(s=>({namespace:s}))}async createNamespace(r,e){const a={namespace:r.namespace,properties:e==null?void 0:e.properties};return(await this.client.request({method:"POST",path:`${this.prefix}/namespaces`,body:a})).data}async dropNamespace(r){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${cs(r.namespace)}`})}async loadNamespaceMetadata(r){return{properties:(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${cs(r.namespace)}`})).data.properties}}async namespaceExists(r){try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${cs(r.namespace)}`}),!0}catch(e){if(e instanceof qa&&e.status===404)return!1;throw e}}async createNamespaceIfNotExists(r,e){try{return await this.createNamespace(r,e)}catch(a){if(a instanceof qa&&a.status===409)return;throw a}}};function Qr(r){return r.join("�")}var Sf=class{constructor(r,e="",a){this.client=r,this.prefix=e,this.accessDelegation=a}async listTables(r){return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${Qr(r.namespace)}/tables`})).data.identifiers}async createTable(r,e){const a={};return this.accessDelegation&&(a["X-Iceberg-Access-Delegation"]=this.accessDelegation),(await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${Qr(r.namespace)}/tables`,body:e,headers:a})).data.metadata}async updateTable(r,e){const a=await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${Qr(r.namespace)}/tables/${r.name}`,body:e});return{"metadata-location":a.data["metadata-location"],metadata:a.data.metadata}}async dropTable(r,e){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${Qr(r.namespace)}/tables/${r.name}`,query:{purgeRequested:String((e==null?void 0:e.purge)??!1)}})}async loadTable(r){const e={};return this.accessDelegation&&(e["X-Iceberg-Access-Delegation"]=this.accessDelegation),(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${Qr(r.namespace)}/tables/${r.name}`,headers:e})).data.metadata}async tableExists(r){const e={};this.accessDelegation&&(e["X-Iceberg-Access-Delegation"]=this.accessDelegation);try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${Qr(r.namespace)}/tables/${r.name}`,headers:e}),!0}catch(a){if(a instanceof qa&&a.status===404)return!1;throw a}}async createTableIfNotExists(r,e){try{return await this.createTable(r,e)}catch(a){if(a instanceof qa&&a.status===409)return await this.loadTable({namespace:r.namespace,name:e.name});throw a}}},vf=class{constructor(r){var s;let e="v1";r.catalogName&&(e+=`/${r.catalogName}`);const a=r.baseUrl.endsWith("/")?r.baseUrl:`${r.baseUrl}/`;this.client=gf({baseUrl:a,auth:r.auth,fetchImpl:r.fetch}),this.accessDelegation=(s=r.accessDelegation)==null?void 0:s.join(","),this.namespaceOps=new pf(this.client,e),this.tableOps=new Sf(this.client,e,this.accessDelegation)}async listNamespaces(r){return this.namespaceOps.listNamespaces(r)}async createNamespace(r,e){return this.namespaceOps.createNamespace(r,e)}async dropNamespace(r){await this.namespaceOps.dropNamespace(r)}async loadNamespaceMetadata(r){return this.namespaceOps.loadNamespaceMetadata(r)}
43async listTables(r){return this.tableOps.listTables(r)}async createTable(r,e){return this.tableOps.createTable(r,e)}async updateTable(r,e){return this.tableOps.updateTable(r,e)}async dropTable(r,e){await this.tableOps.dropTable(r,e)}async loadTable(r){return this.tableOps.loadTable(r)}async namespaceExists(r){return this.namespaceOps.namespaceExists(r)}async tableExists(r){return this.tableOps.tableExists(r)}async createNamespaceIfNotExists(r,e){return this.namespaceOps.createNamespaceIfNotExists(r,e)}async createTableIfNotExists(r,e){return this.tableOps.createTableIfNotExists(r,e)}},zs=class extends Error{constructor(r,e="storage",a,s){super(r),this.__isStorageError=!0,this.namespace=e,this.name=e==="vectors"?"StorageVectorsError":"StorageError",this.status=a,this.statusCode=s}};function Hs(r){return typeof r=="object"&&r!==null&&"__isStorageError"in r}var wt=class extends zs{constructor(r,e,a,s="storage"){super(r,s,e,a),this.name=s==="vectors"?"StorageVectorsApiError":"StorageApiError",this.status=e,this.statusCode=a}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}},vl=class extends zs{constructor(r,e,a="storage"){super(r,a),this.name=a==="vectors"?"StorageVectorsUnknownError":"StorageUnknownError",this.originalError=e}};const Ff=r=>r?(...e)=>r(...e):(...e)=>fetch(...e),wf=r=>{if(typeof r!="object"||r===null)return!1;const e=Object.getPrototypeOf(r);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in r)&&!(Symbol.iterator in r)},Ct=r=>{if(Array.isArray(r))return r.map(a=>Ct(a));if(typeof r=="function"||r!==Object(r))return r;const e={};return Object.entries(r).forEach(([a,s])=>{const t=a.replace(/([-_][a-z])/gi,o=>o.toUpperCase().replace(/[-_]/g,""));e[t]=Ct(s)}),e},Cf=r=>!r||typeof r!="string"||r.length===0||r.length>100||r.trim()!==r||r.includes("/")||r.includes("\\")?!1:/^[\w!.\*'() &$@=;:+,?-]+$/.test(r);function za(r){"@babel/helpers - typeof";return za=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},za(r)}function yf(r,e){if(za(r)!="object"||!r)return r;var a=r[Symbol.toPrimitive];if(a!==void 0){var s=a.call(r,e);if(za(s)!="object")return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}function _f(r){var e=yf(r,"string");return za(e)=="symbol"?e:e+""}function kf(r,e,a){return(e=_f(e))in r?Object.defineProperty(r,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):r[e]=a,r}function Uo(r,e){var a=Object.keys(r);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(r);e&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable})),a.push.apply(a,s)}return a}function L(r){for(var e=1;e<arguments.length;e++){var a=arguments[e]!=null?arguments[e]:{};e%2?Uo(Object(a),!0).forEach(function(s){kf(r,s,a[s])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(a)):Uo(Object(a)).forEach(function(s){Object.defineProperty(r,s,Object.getOwnPropertyDescriptor(a,s))})}return r}const Do=r=>{var e;return r.msg||r.message||r.error_description||(typeof r.error=="string"?r.error:(e=r.error)===null||e===void 0?void 0:e.message)||JSON.stringify(r)},Gf=async(r,e,a,s)=>{if(r!==null&&typeof r=="object"&&typeof r.json=="function"){const t=r;let o=parseInt(t.status,10);Number.isFinite(o)||(o=500),t.json().then(u=>{const l=(u==null?void 0:u.statusCode)||(u==null?void 0:u.code)||o+"";e(new wt(Do(u),o,l,s))}).catch(()=>{const u=o+"";e(new wt(t.statusText||`HTTP ${o} error`,o,u,s))})}else e(new vl(Do(r),r,s))},Tf=(r,e,a,s)=>{const t={method:r,headers:(e==null?void 0:e.headers)||{}};if(r==="GET"||r==="HEAD"||!s)return L(L({},t),a);if(wf(s)){var o;const u=(e==null?void 0:e.headers)||{};let l;for(const[c,n]of Object.entries(u))c.toLowerCase()==="content-type"&&(l=n);t.headers=Ef(u,"Content-Type",(o=l)!==null&&o!==void 0?o:"application/json"),t.body=JSON.stringify(s)}else t.body=s;return e!=null&&e.duplex&&(t.duplex=e.duplex),L(L({},t),a)};function Ef(r,e,a){const s=L({},r);for(const t of Object.keys(s))t.toLowerCase()===e.toLowerCase()&&delete s[t];return s[e]=a,s}async function Ca(r,e,a,s,t,o,u){return new Promise((l,c)=>{r(a,Tf(e,s,t,o)).then(n=>{if(!n.ok)throw n;if(s!=null&&s.noResolveJson)return n;if(u==="vectors"){const i=n.headers.get("content-type");if(n.headers.get("content-length")==="0"||n.status===204)return{};if(!i||!i.includes("application/json"))return{}}return n.json()}).then(n=>l(n)).catch(n=>Gf(n,c,s,u))})}function Fl(r="storage"){return{get:async(e,a,s,t)=>Ca(e,"GET",a,s,t,void 0,r),post:async(e,a,s,t,o)=>Ca(e,"POST",a,t,o,s,r),put:async(e,a,s,t,o)=>Ca(e,"PUT",a,t,o,s,r),head:async(e,a,s,t)=>Ca(e,"HEAD",a,L(L({},s),{},{noResolveJson:!0}),t,void 0,r),remove:async(e,a,s,t,o)=>Ca(e,"DELETE",a,t,o,s,r)}}const Pf=Fl("storage"),{get:Ha,post:We,put:yt,head:Af,remove:Vt}=Pf,je=Fl("vectors");var Sa=class{constructor(r,e={},a,s="storage"){this.shouldThrowOnError=!1,this.url=r,this.headers=Object.fromEntries(Object.entries(e).map(([t,o])=>[t.toLowerCase(),o])),this.fetch=Ff(a),this.namespace=s}throwOnError(){return this.shouldThrowOnError=!0,this}setHeader(r,e){return this.headers=L(L({},this.headers),{},{[r.toLowerCase()]:e}),this}async handleOperation(r){var e=this;try{return{data:await r(),error:null}}catch(a){if(e.shouldThrowOnError)throw a;if(Hs(a))return{data:null,error:a};throw a}}},Of=class{constructor(r,e){this.downloadFn=r,this.shouldThrowOnError=e}then(r,e){return this.execute().then(r,e)}async execute(){var r=this;try{return{data:(await r.downloadFn()).body,error:null}}catch(e){if(r.shouldThrowOnError)throw e;if(Hs(e))return{data:null,error:e};throw e}}};let wl;wl=Symbol.toStringTag;var Rf=class{constructor(r,e){this.downloadFn=r,this.shouldThrowOnError=e,this[wl]="BlobDownloadBuilder",this.promise=null}asStream(){return new Of(this.downloadFn,this.shouldThrowOnError)}then(r,e){return this.getPromise().then(r,e)}catch(r){return this.getPromise().catch(r)}finally(r){return this.getPromise().finally(r)}getPromise(){return this.promise||(this.promise=this.execute()),this.promise}async execute(){var r=this;try{return{data:await(await r.downloadFn()).blob(),error:null}}catch(e){if(r.shouldThrowOnError)throw e;if(Hs(e))return{data:null,error:e};throw e}}};const xf={limit:100,offset:0,sortBy:{column:"name",order:"asc"}},qo={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:!1};var Bf=class extends Sa{constructor(r,e={},a,s){super(r,e,s,"storage"),this.bucketId=a}async uploadOrUpdate(r,e,a,s){var t=this;return t.handleOperation(async()=>{let o;const u=L(L({},qo),s);let l=L(L({},t.headers),r==="POST"&&{"x-upsert":String(u.upsert)});const c=u.metadata;
43typeof Blob<"u"&&a instanceof Blob?(o=new FormData,o.append("cacheControl",u.cacheControl),c&&o.append("metadata",t.encodeMetadata(c)),o.append("",a)):typeof FormData<"u"&&a instanceof FormData?(o=a,o.has("cacheControl")||o.append("cacheControl",u.cacheControl),c&&!o.has("metadata")&&o.append("metadata",t.encodeMetadata(c))):(o=a,l["cache-control"]=`max-age=${u.cacheControl}`,l["content-type"]=u.contentType,c&&(l["x-metadata"]=t.toBase64(t.encodeMetadata(c))),(typeof ReadableStream<"u"&&o instanceof ReadableStream||o&&typeof o=="object"&&"pipe"in o&&typeof o.pipe=="function")&&!u.duplex&&(u.duplex="half")),s!=null&&s.headers&&(l=L(L({},l),s.headers));const n=t._removeEmptyFolders(e),i=t._getFinalPath(n),f=await(r=="PUT"?yt:We)(t.fetch,`${t.url}/object/${i}`,o,L({headers:l},u!=null&&u.duplex?{duplex:u.duplex}:{}));return{path:n,id:f.Id,fullPath:f.Key}})}async upload(r,e,a){return this.uploadOrUpdate("POST",r,e,a)}async uploadToSignedUrl(r,e,a,s){var t=this;const o=t._removeEmptyFolders(r),u=t._getFinalPath(o),l=new URL(t.url+`/object/upload/sign/${u}`);return l.searchParams.set("token",e),t.handleOperation(async()=>{let c;const n=L(L({},qo),s),i=L(L({},t.headers),{"x-upsert":String(n.upsert)});return typeof Blob<"u"&&a instanceof Blob?(c=new FormData,c.append("cacheControl",n.cacheControl),c.append("",a)):typeof FormData<"u"&&a instanceof FormData?(c=a,c.append("cacheControl",n.cacheControl)):(c=a,i["cache-control"]=`max-age=${n.cacheControl}`,i["content-type"]=n.contentType),{path:o,fullPath:(await yt(t.fetch,l.toString(),c,{headers:i})).Key}})}async createSignedUploadUrl(r,e){var a=this;return a.handleOperation(async()=>{let s=a._getFinalPath(r);const t=L({},a.headers);e!=null&&e.upsert&&(t["x-upsert"]="true");const o=await We(a.fetch,`${a.url}/object/upload/sign/${s}`,{},{headers:t}),u=new URL(a.url+o.url),l=u.searchParams.get("token");if(!l)throw new zs("No token returned by API");return{signedUrl:u.toString(),path:r,token:l}})}async update(r,e,a){return this.uploadOrUpdate("PUT",r,e,a)}async move(r,e,a){var s=this;return s.handleOperation(async()=>await We(s.fetch,`${s.url}/object/move`,{bucketId:s.bucketId,sourceKey:r,destinationKey:e,destinationBucket:a==null?void 0:a.destinationBucket},{headers:s.headers}))}async copy(r,e,a){var s=this;return s.handleOperation(async()=>({path:(await We(s.fetch,`${s.url}/object/copy`,{bucketId:s.bucketId,sourceKey:r,destinationKey:e,destinationBucket:a==null?void 0:a.destinationBucket},{headers:s.headers})).Key}))}async createSignedUrl(r,e,a){var s=this;return s.handleOperation(async()=>{let t=s._getFinalPath(r);const o=typeof(a==null?void 0:a.transform)=="object"&&a.transform!==null&&Object.keys(a.transform).length>0;let u=await We(s.fetch,`${s.url}/object/sign/${t}`,L({expiresIn:e},o?{transform:a.transform}:{}),{headers:s.headers});const l=new URLSearchParams;a!=null&&a.download&&l.set("download",a.download===!0?"":a.download),(a==null?void 0:a.cacheNonce)!=null&&l.set("cacheNonce",String(a.cacheNonce));const c=l.toString(),n=o&&u.signedURL.includes("/object/sign/")?u.signedURL.replace("/object/sign/","/render/image/sign/"):u.signedURL;return{signedUrl:encodeURI(`${s.url}${n}${c?`&${c}`:""}`)}})}async createSignedUrls(r,e,a){var s=this;return s.handleOperation(async()=>{const t=await We(s.fetch,`${s.url}/object/sign/${s.bucketId}`,{expiresIn:e,paths:r},{headers:s.headers}),o=new URLSearchParams;a!=null&&a.download&&o.set("download",a.download===!0?"":a.download),(a==null?void 0:a.cacheNonce)!=null&&o.set("cacheNonce",String(a.cacheNonce));const u=o.toString();return t.map(l=>L(L({},l),{},{signedUrl:l.signedURL?encodeURI(`${s.url}${l.signedURL}${u?`&${u}`:""}`):null}))})}download(r,e,a){const s=typeof(e==null?void 0:e.transform)<"u"?"render/image/authenticated":"object",t=new URLSearchParams;e!=null&&e.transform&&this.applyTransformOptsToQuery(t,e.transform),(e==null?void 0:e.cacheNonce)!=null&&t.set("cacheNonce",String(e.cacheNonce));const o=t.toString(),u=this._getFinalPath(r),l=()=>Ha(this.fetch,`${this.url}/${s}/${u}${o?`?${o}`:""}`,{headers:this.headers,noResolveJson:!0},a);return new Rf(l,this.shouldThrowOnError)}async info(r){var e=this;const a=e._getFinalPath(r);return e.handleOperation(async()=>Ct(await Ha(e.fetch,`${e.url}/object/info/${a}`,{headers:e.headers})))}async exists(r){var e=this;const a=e._getFinalPath(r);try{return await Af(e.fetch,`${e.url}/object/${a}`,{headers:e.headers}),{data:!0,error:null}}catch(t){if(e.shouldThrowOnError)throw t;if(Hs(t)){var s;const o=t instanceof wt?t.status:t instanceof vl?(s=t.originalError)===null||s===void 0?void 0:s.status:void 0;if(o!==void 0&&[400,404].includes(o))return{data:!1,error:t}}throw t}}getPublicUrl(r,e){const a=this._getFinalPath(r),s=new URLSearchParams;e!=null&&e.download&&s.set("download",e.download===!0?"":e.download),e!=null&&e.transform&&this.applyTransformOptsToQuery(s,e.transform),(e==null?void 0:e.cacheNonce)!=null&&s.set("cacheNonce",String(e.cacheNonce));const t=s.toString(),o=typeof(e==null?void 0:e.transform)<"u"?"render/image":"object";return{data:{publicUrl:encodeURI(`${this.url}/${o}/public/${a}`)+(t?`?${t}`:"")}}}async remove(r){var e=this;return e.handleOperation(async()=>await Vt(e.fetch,`${e.url}/object/${e.bucketId}`,{prefixes:r},{headers:e.headers}))}async list(r,e,a){var s=this;return s.handleOperation(async()=>{const t=L(L(L({},xf),e),{},{prefix:r||""});return await We(s.fetch,`${s.url}/object/list/${s.bucketId}`,t,{headers:s.headers},a)})}async listV2(r,e){var a=this;return a.handleOperation(async()=>{const s=L({},r);return await We(a.fetch,`${a.url}/object/list-v2/${a.bucketId}`,s,{headers:a.headers},e)})}encodeMetadata(r){return JSON.stringify(r)}toBase64(r){return typeof Buffer<"u"?Buffer.from(r).toString("base64"):btoa(r)}_getFinalPath(r){return`${this.bucketId}/${r.replace(/^\/+/,"")}`}_removeEmptyFolders(r){return r.replace(/^\/|\/$/g,"").replace(/\/+/g,"/")}applyTransformOptsToQuery(r,e){return e.width&&r.set("width",e.width.toString()),e.height&&r.set("height",e.height.toString()),e.resize&&r.set("resize",e.resize),e.format&&r.set("format",e.format),e.quality&&r.set("qual
43ity",e.quality.toString()),r}};const If="2.103.0",Za={"X-Client-Info":`storage-js/${If}`};var $f=class extends Sa{constructor(r,e={},a,s){const t=new URL(r);s!=null&&s.useNewHostname&&/supabase\.(co|in|red)$/.test(t.hostname)&&!t.hostname.includes("storage.supabase.")&&(t.hostname=t.hostname.replace("supabase.","storage.supabase."));const o=t.href.replace(/\/$/,""),u=L(L({},Za),e);super(o,u,a,"storage")}async listBuckets(r){var e=this;return e.handleOperation(async()=>{const a=e.listBucketOptionsToQueryString(r);return await Ha(e.fetch,`${e.url}/bucket${a}`,{headers:e.headers})})}async getBucket(r){var e=this;return e.handleOperation(async()=>await Ha(e.fetch,`${e.url}/bucket/${r}`,{headers:e.headers}))}async createBucket(r,e={public:!1}){var a=this;return a.handleOperation(async()=>await We(a.fetch,`${a.url}/bucket`,{id:r,name:r,type:e.type,public:e.public,file_size_limit:e.fileSizeLimit,allowed_mime_types:e.allowedMimeTypes},{headers:a.headers}))}async updateBucket(r,e){var a=this;return a.handleOperation(async()=>await yt(a.fetch,`${a.url}/bucket/${r}`,{id:r,name:r,public:e.public,file_size_limit:e.fileSizeLimit,allowed_mime_types:e.allowedMimeTypes},{headers:a.headers}))}async emptyBucket(r){var e=this;return e.handleOperation(async()=>await We(e.fetch,`${e.url}/bucket/${r}/empty`,{},{headers:e.headers}))}async deleteBucket(r){var e=this;return e.handleOperation(async()=>await Vt(e.fetch,`${e.url}/bucket/${r}`,{},{headers:e.headers}))}listBucketOptionsToQueryString(r){const e={};return r&&("limit"in r&&(e.limit=String(r.limit)),"offset"in r&&(e.offset=String(r.offset)),r.search&&(e.search=r.search),r.sortColumn&&(e.sortColumn=r.sortColumn),r.sortOrder&&(e.sortOrder=r.sortOrder)),Object.keys(e).length>0?"?"+new URLSearchParams(e).toString():""}},jf=class extends Sa{constructor(r,e={},a){const s=r.replace(/\/$/,""),t=L(L({},Za),e);super(s,t,a,"storage")}async createBucket(r){var e=this;return e.handleOperation(async()=>await We(e.fetch,`${e.url}/bucket`,{name:r},{headers:e.headers}))}async listBuckets(r){var e=this;return e.handleOperation(async()=>{const a=new URLSearchParams;(r==null?void 0:r.limit)!==void 0&&a.set("limit",r.limit.toString()),(r==null?void 0:r.offset)!==void 0&&a.set("offset",r.offset.toString()),r!=null&&r.sortColumn&&a.set("sortColumn",r.sortColumn),r!=null&&r.sortOrder&&a.set("sortOrder",r.sortOrder),r!=null&&r.search&&a.set("search",r.search);const s=a.toString(),t=s?`${e.url}/bucket?${s}`:`${e.url}/bucket`;return await Ha(e.fetch,t,{headers:e.headers})})}async deleteBucket(r){var e=this;return e.handleOperation(async()=>await Vt(e.fetch,`${e.url}/bucket/${r}`,{},{headers:e.headers}))}from(r){var e=this;if(!Cf(r))throw new zs("Invalid bucket name: File, folder, and bucket names must follow AWS object key naming guidelines and should avoid the use of any other characters.");const a=new vf({baseUrl:this.url,catalogName:r,auth:{type:"custom",getHeaders:async()=>e.headers},fetch:this.fetch}),s=this.shouldThrowOnError;return new Proxy(a,{get(t,o){const u=t[o];return typeof u!="function"?u:async(...l)=>{try{return{data:await u.apply(t,l),error:null}}catch(c){if(s)throw c;return{data:null,error:c}}}}})}},Lf=class extends Sa{constructor(r,e={},a){const s=r.replace(/\/$/,""),t=L(L({},Za),{},{"Content-Type":"application/json"},e);super(s,t,a,"vectors")}async createIndex(r){var e=this;return e.handleOperation(async()=>await je.post(e.fetch,`${e.url}/CreateIndex`,r,{headers:e.headers})||{})}async getIndex(r,e){var a=this;return a.handleOperation(async()=>await je.post(a.fetch,`${a.url}/GetIndex`,{vectorBucketName:r,indexName:e},{headers:a.headers}))}async listIndexes(r){var e=this;return e.handleOperation(async()=>await je.post(e.fetch,`${e.url}/ListIndexes`,r,{headers:e.headers}))}async deleteIndex(r,e){var a=this;return a.handleOperation(async()=>await je.post(a.fetch,`${a.url}/DeleteIndex`,{vectorBucketName:r,indexName:e},{headers:a.headers})||{})}},Nf=class extends Sa{constructor(r,e={},a){const s=r.replace(/\/$/,""),t=L(L({},Za),{},{"Content-Type":"application/json"},e);super(s,t,a,"vectors")}async putVectors(r){var e=this;if(r.vectors.length<1||r.vectors.length>500)throw new Error("Vector batch size must be between 1 and 500 items");return e.handleOperation(async()=>await je.post(e.fetch,`${e.url}/PutVectors`,r,{headers:e.headers})||{})}async getVectors(r){var e=this;return e.handleOperation(async()=>await je.post(e.fetch,`${e.url}/GetVectors`,r,{headers:e.headers}))}async listVectors(r){var e=this;if(r.segmentCount!==void 0){if(r.segmentCount<1||r.segmentCount>16)throw new Error("segmentCount must be between 1 and 16");
43if(r.segmentIndex!==void 0&&(r.segmentIndex<0||r.segmentIndex>=r.segmentCount))throw new Error(`segmentIndex must be between 0 and ${r.segmentCount-1}`)}return e.handleOperation(async()=>await je.post(e.fetch,`${e.url}/ListVectors`,r,{headers:e.headers}))}async queryVectors(r){var e=this;return e.handleOperation(async()=>await je.post(e.fetch,`${e.url}/QueryVectors`,r,{headers:e.headers}))}async deleteVectors(r){var e=this;if(r.keys.length<1||r.keys.length>500)throw new Error("Keys batch size must be between 1 and 500 items");return e.handleOperation(async()=>await je.post(e.fetch,`${e.url}/DeleteVectors`,r,{headers:e.headers})||{})}},Mf=class extends Sa{constructor(r,e={},a){const s=r.replace(/\/$/,""),t=L(L({},Za),{},{"Content-Type":"application/json"},e);super(s,t,a,"vectors")}async createBucket(r){var e=this;return e.handleOperation(async()=>await je.post(e.fetch,`${e.url}/CreateVectorBucket`,{vectorBucketName:r},{headers:e.headers})||{})}async getBucket(r){var e=this;return e.handleOperation(async()=>await je.post(e.fetch,`${e.url}/GetVectorBucket`,{vectorBucketName:r},{headers:e.headers}))}async listBuckets(r={}){var e=this;return e.handleOperation(async()=>await je.post(e.fetch,`${e.url}/ListVectorBuckets`,r,{headers:e.headers}))}async deleteBucket(r){var e=this;return e.handleOperation(async()=>await je.post(e.fetch,`${e.url}/DeleteVectorBucket`,{vectorBucketName:r},{headers:e.headers})||{})}},Uf=class extends Mf{constructor(r,e={}){super(r,e.headers||{},e.fetch)}from(r){return new Df(this.url,this.headers,r,this.fetch)}async createBucket(r){var e=()=>super.createBucket,a=this;return e().call(a,r)}async getBucket(r){var e=()=>super.getBucket,a=this;return e().call(a,r)}async listBuckets(r={}){var e=()=>super.listBuckets,a=this;return e().call(a,r)}async deleteBucket(r){var e=()=>super.deleteBucket,a=this;return e().call(a,r)}},Df=class extends Lf{constructor(r,e,a,s){super(r,e,s),this.vectorBucketName=a}async createIndex(r){var e=()=>super.createIndex,a=this;return e().call(a,L(L({},r),{},{vectorBucketName:a.vectorBucketName}))}async listIndexes(r={}){var e=()=>super.listIndexes,a=this;return e().call(a,L(L({},r),{},{vectorBucketName:a.vectorBucketName}))}async getIndex(r){var e=()=>super.getIndex,a=this;return e().call(a,a.vectorBucketName,r)}async deleteIndex(r){var e=()=>super.deleteIndex,a=this;return e().call(a,a.vectorBucketName,r)}index(r){return new qf(this.url,this.headers,this.vectorBucketName,r,this.fetch)}},qf=class extends Nf{constructor(r,e,a,s,t){super(r,e,t),this.vectorBucketName=a,this.indexName=s}async putVectors(r){var e=()=>super.putVectors,a=this;return e().call(a,L(L({},r),{},{vectorBucketName:a.vectorBucketName,indexName:a.indexName}))}async getVectors(r){var e=()=>super.getVectors,a=this;return e().call(a,L(L({},r),{},{vectorBucketName:a.vectorBucketName,indexName:a.indexName}))}async listVectors(r={}){var e=()=>super.listVectors,a=this;return e().call(a,L(L({},r),{},{vectorBucketName:a.vectorBucketName,indexName:a.indexName}))}async queryVectors(r){var e=()=>super.queryVectors,a=this;return e().call(a,L(L({},r),{},{vectorBucketName:a.vectorBucketName,indexName:a.indexName}))}async deleteVectors(r){var e=()=>super.deleteVectors,a=this;return e().call(a,L(L({},r),{},{vectorBucketName:a.vectorBucketName,indexName:a.indexName}))}},zf=class extends $f{constructor(r,e={},a,s){super(r,e,a,s)}from(r){return new Bf(this.url,this.headers,r,this.fetch)}get vectors(){return new Uf(this.url+"/vector",{headers:this.headers,fetch:this.fetch})}get analytics(){return new jf(this.url+"/iceberg",this.headers,this.fetch)}};const Cl="2.103.0",oa=30*1e3,_t=3,at=_t*oa,Hf="http://localhost:9999",Wf="supabase.auth.token",Kf={"X-Client-Info":`gotrue-js/${Cl}`},kt="X-Supabase-Api-Version",yl={"2024-01-01":{timestamp:Date.parse("2024-01-01T00:00:00.0Z"),name:"2024-01-01"}},Vf=/^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}$|[a-z0-9_-]{2}$)$/i,Jf=10*60*1e3;class Wa extends Error{constructor(e,a,s){super(e),this.__isAuthError=!0,this.name="AuthError",this.status=a,this.code=s}}function I(r){return typeof r=="object"&&r!==null&&"__isAuthError"in r}class Yf extends Wa{constructor(e,a,s){super(e,a,s),this.name="AuthApiError",this.status=a,this.code=s}}function Qf(r){return I(r)&&r.name==="AuthApiError"}class Ur extends Wa{constructor(e,a){super(e),this.name="AuthUnknownError",this.originalError=a}}class Cr extends Wa{constructor(e,a,s,t){super(e,s,t),this.name=a,this.status=s}}class Be extends Cr{constructor(){super("Auth session missing!","AuthSessionMissingError",400,void 0)}}function ns(r){return I(r)&&r.name==="AuthSessionMissingError"}class Zr extends Cr{constructor(){super("Auth session or user missing","AuthInvalidToken
43ResponseError",500,void 0)}}class is extends Cr{constructor(e){super(e,"AuthInvalidCredentialsError",400,void 0)}}class fs extends Cr{constructor(e,a=null){super(e,"AuthImplicitGrantRedirectError",500,void 0),this.details=null,this.details=a}toJSON(){return{name:this.name,message:this.message,status:this.status,details:this.details}}}function Zf(r){return I(r)&&r.name==="AuthImplicitGrantRedirectError"}class zo extends Cr{constructor(e,a=null){super(e,"AuthPKCEGrantCodeExchangeError",500,void 0),this.details=null,this.details=a}toJSON(){return{name:this.name,message:this.message,status:this.status,details:this.details}}}class Xf extends Cr{constructor(){super("PKCE code verifier not found in storage. This can happen if the auth flow was initiated in a different browser or device, or if the storage was cleared. For SSR frameworks (Next.js, SvelteKit, etc.), use @supabase/ssr on both the server and client to store the code verifier in cookies.","AuthPKCECodeVerifierMissingError",400,"pkce_code_verifier_not_found")}}class Gt extends Cr{constructor(e,a){super(e,"AuthRetryableFetchError",a,void 0)}}function st(r){return I(r)&&r.name==="AuthRetryableFetchError"}class Ho extends Cr{constructor(e,a,s){super(e,"AuthWeakPasswordError",a,"weak_password"),this.reasons=s}}class Tt extends Cr{constructor(e){super(e,"AuthInvalidJwtError",400,"invalid_jwt")}}const Ps="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".split(""),Wo=` 	
44\r=`.split(""),ed=(()=>{const r=new Array(128);for(let e=0;e<r.length;e+=1)r[e]=-1;for(let e=0;e<Wo.length;e+=1)r[Wo[e].charCodeAt(0)]=-2;for(let e=0;e<Ps.length;e+=1)r[Ps[e].charCodeAt(0)]=e;return r})();function Ko(r,e,a){if(r!==null)for(e.queue=e.queue<<8|r,e.queuedBits+=8;e.queuedBits>=6;){const s=e.queue>>e.queuedBits-6&63;a(Ps[s]),e.queuedBits-=6}else if(e.queuedBits>0)for(e.queue=e.queue<<6-e.queuedBits,e.queuedBits=6;e.queuedBits>=6;){const s=e.queue>>e.queuedBits-6&63;a(Ps[s]),e.queuedBits-=6}}function _l(r,e,a){const s=ed[r];if(s>-1)for(e.queue=e.queue<<6|s,e.queuedBits+=6;e.queuedBits>=8;)a(e.queue>>e.queuedBits-8&255),e.queuedBits-=8;else{if(s===-2)return;throw new Error(`Invalid Base64-URL character "${String.fromCharCode(r)}"`)}}function Vo(r){const e=[],a=u=>{e.push(String.fromCodePoint(u))},s={utf8seq:0,codepoint:0},t={queue:0,queuedBits:0},o=u=>{sd(u,s,a)};for(let u=0;u<r.length;u+=1)_l(r.charCodeAt(u),t,o);return e.join("")}function rd(r,e){if(r<=127){e(r);return}else if(r<=2047){e(192|r>>6),e(128|r&63);return}else if(r<=65535){e(224|r>>12),e(128|r>>6&63),e(128|r&63);return}else if(r<=1114111){e(240|r>>18),e(128|r>>12&63),e(128|r>>6&63),e(128|r&63);return}throw new Error(`Unrecognized Unicode codepoint: ${r.toString(16)}`)}function ad(r,e){for(let a=0;a<r.length;a+=1){let s=r.charCodeAt(a);if(s>55295&&s<=56319){const t=(s-55296)*1024&65535;s=(r.charCodeAt(a+1)-56320&65535|t)+65536,a+=1}rd(s,e)}}function sd(r,e,a){if(e.utf8seq===0){if(r<=127){a(r);return}for(let s=1;s<6;s+=1)if(!(r>>7-s&1)){e.utf8seq=s;break}if(e.utf8seq===2)e.codepoint=r&31;else if(e.utf8seq===3)e.codepoint=r&15;else if(e.utf8seq===4)e.codepoint=r&7;else throw new Error("Invalid UTF-8 sequence");e.utf8seq-=1}else if(e.utf8seq>0){if(r<=127)throw new Error("Invalid UTF-8 sequence");e.codepoint=e.codepoint<<6|r&63,e.utf8seq-=1,e.utf8seq===0&&a(e.codepoint)}}function ba(r){const e=[],a={queue:0,queuedBits:0},s=t=>{e.push(t)};for(let t=0;t<r.length;t+=1)_l(r.charCodeAt(t),a,s);return new Uint8Array(e)}function td(r){const e=[];return ad(r,a=>e.push(a)),new Uint8Array(e)}function Dr(r){const e=[],a={queue:0,queuedBits:0},s=t=>{e.push(t)};return r.forEach(t=>Ko(t,a,s)),Ko(null,a,s),e.join("")}function od(r){return Math.round(Date.now()/1e3)+r}function ud(){return Symbol("auth-callback")}const be=()=>typeof window<"u"&&typeof document<"u",$r={tested:!1,writable:!1},kl=()=>{if(!be())return!1;try{if(typeof globalThis.localStorage!="object")return!1}catch{return!1}if($r.tested)return $r.writable;const r=`lswt-${Math.random()}${Math.random()}`;try{globalThis.localStorage.setItem(r,r),globalThis.localStorage.removeItem(r),$r.tested=!0,$r.writable=!0}catch{$r.tested=!0,$r.writable=!1}return $r.writable};function ld(r){const e={},a=new URL(r);if(a.hash&&a.hash[0]==="#")try{new URLSearchParams(a.hash.substring(1)).forEac
44h((t,o)=>{e[o]=t})}catch{}return a.searchParams.forEach((s,t)=>{e[t]=s}),e}const Gl=r=>r?(...e)=>r(...e):(...e)=>fetch(...e),cd=r=>typeof r=="object"&&r!==null&&"status"in r&&"ok"in r&&"json"in r&&typeof r.json=="function",ua=async(r,e,a)=>{await r.setItem(e,JSON.stringify(a))},jr=async(r,e)=>{const a=await r.getItem(e);if(!a)return null;try{return JSON.parse(a)}catch{return a}},me=async(r,e)=>{await r.removeItem(e)};class Ws{constructor(){this.promise=new Ws.promiseConstructor((e,a)=>{this.resolve=e,this.reject=a})}}Ws.promiseConstructor=Promise;function ds(r){const e=r.split(".");if(e.length!==3)throw new Tt("Invalid JWT structure");for(let s=0;s<e.length;s++)if(!Vf.test(e[s]))throw new Tt("JWT not in base64url format");return{header:JSON.parse(Vo(e[0])),payload:JSON.parse(Vo(e[1])),signature:ba(e[2]),raw:{header:e[0],payload:e[1]}}}async function nd(r){return await new Promise(e=>{setTimeout(()=>e(null),r)})}function id(r,e){return new Promise((s,t)=>{(async()=>{for(let o=0;o<1/0;o++)try{const u=await r(o);if(!e(o,null,u)){s(u);return}}catch(u){if(!e(o,u)){t(u);return}}})()})}function fd(r){return("0"+r.toString(16)).substr(-2)}function dd(){const e=new Uint32Array(56);if(typeof crypto>"u"){const a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~",s=a.length;let t="";for(let o=0;o<56;o++)t+=a.charAt(Math.floor(Math.random()*s));return t}return crypto.getRandomValues(e),Array.from(e,fd).join("")}async function hd(r){const a=new TextEncoder().encode(r),s=await crypto.subtle.digest("SHA-256",a),t=new Uint8Array(s);return Array.from(t).map(o=>String.fromCharCode(o)).join("")}async function md(r){if(!(typeof crypto<"u"&&typeof crypto.subtle<"u"&&typeof TextEncoder<"u"))return console.warn("WebCrypto API is not supported. Code challenge method will default to use plain instead of sha256."),r;const a=await hd(r);return btoa(a).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function Xr(r,e,a=!1){const s=dd();let t=s;a&&(t+="/PASSWORD_RECOVERY"),await ua(r,`${e}-code-verifier`,t);const o=await md(s);return[o,s===o?"plain":"s256"]}const bd=/^2[0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9]|3[0-1])$/i;function gd(r){const e=r.headers.get(kt);if(!e||!e.match(bd))return null;try{return new Date(`${e}T00:00:00.0Z`)}catch{return null}}function pd(r){if(!r)throw new Error("Missing exp claim");const e=Math.floor(Date.now()/1e3);if(r<=e)throw new Error("JWT has expired")}function Sd(r){switch(r){case"RS256":return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case"ES256":return{name:"ECDSA",namedCurve:"P-256",hash:{name:"SHA-256"}};default:throw new Error("Invalid alg claim")}}const vd=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;function ea(r){if(!vd.test(r))throw new Error("@supabase/auth-js: Expected parameter to be UUID but is not")}function tt(){const r={};return new Proxy(r,{get:(e,a)=>{if(a==="__isUserNotAvailableProxy")return!0;if(typeof a=="symbol"){const s=a.toString();if(s==="Symbol(Symbol.toPrimitive)"||s==="Symbol(Symbol.toStringTag)"||s==="Symbol(util.inspect.custom)")return}throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Accessing the "${a}" property of the session object is not supported. Please use getUser() instead.`)},set:(e,a)=>{throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Setting the "${a}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)},deleteProperty:(e,a)=>{throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Deleting the "${a}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)}})}function Fd(r,e){return new Proxy(r,{get:(a,s,t)=>{if(s==="__isInsecureUserWarningProxy")return!0;if(typeof s=="symbol"){const o=s.toString();if(o==="Symbol(Symbol.toPrimitive)"||o==="Symbol(Symbol.toStringTag)"||o==="Symbol(util.inspect.custom)"||o==="Symbol(nodejs.util.inspect.custom)")return Reflect.get(a,s,t)}return!e.value&&typeof s=="string"&&(console.warn("Using the user object as returned from supabase.auth.getSession() or from some supabase.auth.onAuthStateChange() events could be insecure! This value comes directly from the storage medium (usually cookies on the server) and may not be authentic. Use supabase.auth.getUser() instead which authenticates the data by contacting the Supabase Auth server."),e.value=!0),Reflect.get(a,s,t)}})}function Jo(r){return JSON.parse(JSON.stringify(r))}const Nr=r=>r.msg||r.message||r.error_description||r.error||JSON.stringify(r),wd=[502,503,504];async function Yo(r){var e;if(!cd(r))throw new Gt(Nr(r),0);if(wd.includes(r.status))throw new Gt(Nr(r),r.status);let a;try{a=await r.json()}catch(o){throw new Ur(Nr(o),o)}let s;const t=gd(r);if(t&&t.getTime()>=yl["2024-01-01"].timestamp&&typeof a=="object"&&a&&typeof a.code=="string"?s=a.code:typeof a=="object"&&a&&typeof a.error_code=="string"&&(s=a.error_code),s){if(s==="weak_password")throw new Ho(Nr(a),r.status,((e=a.weak_password)===null||e===void 0?void 0:e.reasons)||[]);if(s==="session_not_found")throw new Be}else if(typeof a=="object"&&a&&typeof a.weak_password=="object"&&a.weak_password&&Array.isArray(a.weak_password.reasons)&&a.weak_password.reasons.length&&a.weak_password.reasons.reduce((o,u)=>o&&typeof u=="string",!0))throw new Ho(Nr(a),r.status,a.weak_password.reasons);throw new Yf(Nr(a),r.status||500,s)}const Cd=(r,e,a,s)=>{const t={method:r,headers:(e==null?void 0:e.headers)||{}};return r==="GET"?t:(t.headers=Object.assign({"Content-Type":"application/json;charset=UTF-8"},e==null?void 0:e.headers),t.body=JSON.stringify(s),Object.assign(Object.assign({},t),a))};async function $(r,e,a,s){var t;const o=Object.assign({},s==null?void 0:s.headers);o[kt]||(o[kt]=yl["2024-01-01"].name),s!=null&&s.jwt&&(o.Authorization=`Bearer ${s.jwt}`);const u=(t=s==null?void 0:s.query)!==null&&t!==void 0?t:{};s!=null&&s.redirectTo&&(u.redirect_to=s.redirectTo);const l=Object.keys(u).length?"?"+new URLSearchParams(u).toString():"",c=await yd(r,e,a+l,{headers:o,noResolveJson:s==null?void 0:s.noResolveJson},{},s==null?void 0:s.body);return s!=null&&s.xform?s==null?void 0:s.xform(c):{data:Object.assign({},c),error:null}}async function yd(r,e,a,s,t,o){const u=Cd(e,s,t,o);let l;try{l=await r(a,Object.assign({},u))}catch(c){throw console.error(c),new Gt(Nr(c),0)}if(l.ok||await Yo(l),s!=null&&s.noResolveJson)return l;try{return await l.json()}catch(c){await Yo(c)}}function He(r){var e;let a=null;Gd(r)&&(a=Object.assign({},r),r.expires_at||(a.expires_at=od(r.expires_in)));const s=(e=r.user)!==null&&e!==void 0?e:r;return{data:{session:a,user:s},error:null}}function Qo(r){const e=He(r);return!e.error&&r.weak_password&&typeof r.weak_password=="object"&&Array.isArray(r.weak_password.reasons)&&r.weak_password.reasons.length&&r.weak_password.message&&typeof r.weak_password.message=="string"&&r.weak_password.reasons.reduce((a,s)=>a&&typeof s=="string",!0)&&(e.data.weak_password=r.weak_password),e}function Tr(r){var e;return{data:{user:(e=r.user)!==null&&e!==void 0?e:r},error:null}}function _d(r){return{data:r,error:null}}function kd(r){const{action_link:e,email_otp:a,hashed_token:s,redirect_to:t,verification_type:o}=r,u=qs(r,["action_link","email_otp","hashed_token","redirect_to","verification_type"]),l={action_link:e,email_otp:a,hashed_token:s,redirect_to:t,verification_type:o},c=Object.assign({},u);return{data:{properties:l,user:c},error:null}}function Zo(r){return r}function Gd(r){return r.access_token&&r.refresh_token&&r.expires_in}const ot=["global","local","others"];class Td{constructor({url:e="",headers:a={},fetch:s}){this.url=e,this.headers=a,this.fetch=Gl(s),this.mfa={listFactors:this._listFactors.bind(this),deleteFactor:this._deleteFactor.bind(this)},this.oauth={listClients:this._listOAuthClients.bind(this),createClient:this._createOAuthClient.bind(this),getClient:this._getOAuthClient.bind(this),updateClient:this._updateOAuthClient.bind(this),deleteClient:this._deleteOAuthClient.bind(this),regenerateClientSecret:this._regenerateOAuthClientSecret.bind(this)},this.customProviders={listProviders:this._listCustomProviders.bind(this),createProvider:this._createCustomProvider.bind(this),getProvider:this._getCustomProvider.bind(this),updateProvider:this._updateCustomProvider.bind(this),deleteProvider:this._deleteCustomProvider.bind(this)}}async signOut(e,a=ot[0]){if(ot.indexOf(a)<0)throw new Error(`@supabase/auth-js: Parameter scope must be one of ${ot.join(", ")}`);try{return await $(this.fetch,"POST",`${this.url}/logout?scope=${a}`,{headers:this.headers,jwt:e,noResolveJson:!0}),{data:null,error:null}}catch(s){if(I(s))return{data:null,error:s};throw s}}async inviteUserByEmail(e,a={}){try{return await $(this.fetch,"POST",`${this.url}/invite`,{body:{email:e,data:a.data},headers:this.headers,redirectTo:a.redirectTo,xform:Tr})}catch(s){if(I(s))return{data:{user:null},error:s};throw s}}async generateLink(e){try{const{options:a}=e,s=qs(e,["options"]),t=Object.assign(Object.assign({},s),a);return"newEmail"in s&&(t.new_email=s==null?void 0:s.newEmail,delete t.newEmail),await $(this.fetch,"POST",`${this.url}/admin/generate_link`,{body:t,headers:this.headers,xform:kd,redirectTo:a==null?void 0:a.redirectTo})}catch(a){if(I(a))return{data:{properties:null,user:null},error:a};throw a}}async createUser(e){try{return await $(this.fetch,"POST",`${this.url}/admin/users`,{body:e,headers:this.headers,xform:Tr})}catch(a){if(I(a))return{data:{user:null},error:a};throw a}}async listUsers(e){var a,s,t,o,u,l,c;try{const n={nextPage:null,lastPage:0,total:0},i=await $(this.fetch,"GET",`${this.url}/admin/users`,{headers:this.headers,noResolveJson:!0,query:{page:(s=(a=e==null?void 0:e.page)===null||a===void 0?void 0:a.toString())!==null&&s!==void 0?s:"",per_page:(o=(t=e==null?void 0:e.perPage)===null||t===void 0?void 0:t.toString())!==null&&o!==void 0?o:""},xform:Zo});if(i.error)throw i.error;const f=await i.json(),d=(u=i.headers.get("x-total-count"))!==null&&u!==void 0?u:0,m=(c=(l=i.headers.get("link"))===null||l===void 0?void 0:l.split(","))!==null&&c!==void 0?c:[];return m.length>0&&(m.forEach(g=>{const S=parseInt(g.split(";")[0].split("=")[1].substring(0,1)),P=JSON.parse(g.split(";")[1].split("=")[1]);n[`${P}Page`]=S}),n.total=parseInt(d)),{data:Object.assign(Object.assign({},f),n),error:null}}catch(n){if(I(n))return{data:{users:[]},error:n};throw n}}async getUserById(e){ea(e);try{return await $(this.fetch,"GET",`${this.url}/admin/users/${e}`,{headers:this.headers,xform:Tr})}catch(a){if(I(a))return{data:{user:null},error:a};throw a}}async updateUserById(e,a){ea(e);try{return await $(this.fetch,"PUT",`${this.url}/admin/users/${e}`,{body:a,headers:this.headers,xform:Tr})}catch(s){if(I(s))return{data:{user:null},error:s};throw s}}async deleteUser(e,a=!1){ea(e);
44try{return await $(this.fetch,"DELETE",`${this.url}/admin/users/${e}`,{headers:this.headers,body:{should_soft_delete:a},xform:Tr})}catch(s){if(I(s))return{data:{user:null},error:s};throw s}}async _listFactors(e){ea(e.userId);try{const{data:a,error:s}=await $(this.fetch,"GET",`${this.url}/admin/users/${e.userId}/factors`,{headers:this.headers,xform:t=>({data:{factors:t},error:null})});return{data:a,error:s}}catch(a){if(I(a))return{data:null,error:a};throw a}}async _deleteFactor(e){ea(e.userId),ea(e.id);try{return{data:await $(this.fetch,"DELETE",`${this.url}/admin/users/${e.userId}/factors/${e.id}`,{headers:this.headers}),error:null}}catch(a){if(I(a))return{data:null,error:a};throw a}}async _listOAuthClients(e){var a,s,t,o,u,l,c;try{const n={nextPage:null,lastPage:0,total:0},i=await $(this.fetch,"GET",`${this.url}/admin/oauth/clients`,{headers:this.headers,noResolveJson:!0,query:{page:(s=(a=e==null?void 0:e.page)===null||a===void 0?void 0:a.toString())!==null&&s!==void 0?s:"",per_page:(o=(t=e==null?void 0:e.perPage)===null||t===void 0?void 0:t.toString())!==null&&o!==void 0?o:""},xform:Zo});if(i.error)throw i.error;const f=await i.json(),d=(u=i.headers.get("x-total-count"))!==null&&u!==void 0?u:0,m=(c=(l=i.headers.get("link"))===null||l===void 0?void 0:l.split(","))!==null&&c!==void 0?c:[];return m.length>0&&(m.forEach(g=>{const S=parseInt(g.split(";")[0].split("=")[1].substring(0,1)),P=JSON.parse(g.split(";")[1].split("=")[1]);n[`${P}Page`]=S}),n.total=parseInt(d)),{data:Object.assign(Object.assign({},f),n),error:null}}catch(n){if(I(n))return{data:{clients:[]},error:n};throw n}}async _createOAuthClient(e){try{return await $(this.fetch,"POST",`${this.url}/admin/oauth/clients`,{body:e,headers:this.headers,xform:a=>({data:a,error:null})})}catch(a){if(I(a))return{data:null,error:a};throw a}}async _getOAuthClient(e){try{return await $(this.fetch,"GET",`${this.url}/admin/oauth/clients/${e}`,{headers:this.headers,xform:a=>({data:a,error:null})})}catch(a){if(I(a))return{data:null,error:a};throw a}}async _updateOAuthClient(e,a){try{return await $(this.fetch,"PUT",`${this.url}/admin/oauth/clients/${e}`,{body:a,headers:this.headers,xform:s=>({data:s,error:null})})}catch(s){if(I(s))return{data:null,error:s};throw s}}async _deleteOAuthClient(e){try{return await $(this.fetch,"DELETE",`${this.url}/admin/oauth/clients/${e}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(a){if(I(a))return{data:null,error:a};throw a}}async _regenerateOAuthClientSecret(e){try{return await $(this.fetch,"POST",`${this.url}/admin/oauth/clients/${e}/regenerate_secret`,{headers:this.headers,xform:a=>({data:a,error:null})})}catch(a){if(I(a))return{data:null,error:a};throw a}}async _listCustomProviders(e){try{const a={};return e!=null&&e.type&&(a.type=e.type),await $(this.fetch,"GET",`${this.url}/admin/custom-providers`,{headers:this.headers,query:a,xform:s=>{var t;return{data:{providers:(t=s==null?void 0:s.providers)!==null&&t!==void 0?t:[]},error:null}}})}catch(a){if(I(a))return{data:{providers:[]},error:a};throw a}}async _createCustomProvider(e){try{return await $(this.fetch,"POST",`${this.url}/admin/custom-providers`,{body:e,headers:this.headers,xform:a=>({data:a,error:null})})}catch(a){if(I(a))return{data:null,error:a};throw a}}async _getCustomProvider(e){try{return await $(this.fetch,"GET",`${this.url}/admin/custom-providers/${e}`,{headers:this.headers,xform:a=>({data:a,error:null})})}catch(a){if(I(a))return{data:null,error:a};throw a}}async _updateCustomProvider(e,a){try{return await $(this.fetch,"PUT",`${this.url}/admin/custom-providers/${e}`,{body:a,headers:this.headers,xform:s=>({data:s,error:null})})}catch(s){if(I(s))return{data:null,error:s};throw s}}async _deleteCustomProvider(e){try{return await $(this.fetch,"DELETE",`${this.url}/admin/custom-providers/${e}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(a){if(I(a))return{data:null,error:a};throw a}}}function Xo(r={}){return{getItem:e=>r[e]||null,setItem:(e,a)=>{r[e]=a},removeItem:e=>{delete r[e]}}}const er={debug:!!(globalThis&&kl()&&globalThis.localStorage&&globalThis.localStorage.getItem("supabase.gotrue-js.locks.debug")==="true")};
44class Tl extends Error{constructor(e){super(e),this.isAcquireTimeout=!0}}class eu extends Tl{}async function Ed(r,e,a){er.debug&&console.log("@supabase/gotrue-js: navigatorLock: acquire lock",r,e);const s=new globalThis.AbortController;let t;e>0&&(t=setTimeout(()=>{s.abort(),er.debug&&console.log("@supabase/gotrue-js: navigatorLock acquire timed out",r)},e)),await Promise.resolve();try{return await globalThis.navigator.locks.request(r,e===0?{mode:"exclusive",ifAvailable:!0}:{mode:"exclusive",signal:s.signal},async o=>{if(o){clearTimeout(t),er.debug&&console.log("@supabase/gotrue-js: navigatorLock: acquired",r,o.name);try{return await a()}finally{er.debug&&console.log("@supabase/gotrue-js: navigatorLock: released",r,o.name)}}else{if(e===0)throw er.debug&&console.log("@supabase/gotrue-js: navigatorLock: not immediately available",r),new eu(`Acquiring an exclusive Navigator LockManager lock "${r}" immediately failed`);if(er.debug)try{const u=await globalThis.navigator.locks.query();console.log("@supabase/gotrue-js: Navigator LockManager state",JSON.stringify(u,null,"  "))}catch(u){console.warn("@supabase/gotrue-js: Error when querying Navigator LockManager state",u)}return console.warn("@supabase/gotrue-js: Navigator LockManager returned a null lock when using #request without ifAvailable set to true, it appears this browser is not following the LockManager spec https://developer.mozilla.org/en-US/docs/Web/API/LockManager/request"),clearTimeout(t),await a()}})}catch(o){if(e>0&&clearTimeout(t),(o==null?void 0:o.name)==="AbortError"&&e>0){if(s.signal.aborted)return er.debug&&console.log("@supabase/gotrue-js: navigatorLock: acquire timeout, recovering by stealing lock",r),console.warn(`@supabase/gotrue-js: Lock "${r}" was not released within ${e}ms. This may indicate an orphaned lock from a component unmount (e.g., React Strict Mode). Forcefully acquiring the lock to recover.`),await Promise.resolve().then(()=>globalThis.navigator.locks.request(r,{mode:"exclusive",steal:!0},async u=>{if(u){er.debug&&console.log("@supabase/gotrue-js: navigatorLock: recovered (stolen)",r,u.name);try{return await a()}finally{er.debug&&console.log("@supabase/gotrue-js: navigatorLock: released (stolen)",r,u.name)}}else return console.warn("@supabase/gotrue-js: Navigator LockManager returned null lock even with steal: true"),await a()}));throw er.debug&&console.log("@supabase/gotrue-js: navigatorLock: lock was stolen by another request",r),new eu(`Lock "${r}" was released because another request stole it`)}throw o}}function Pd(){if(typeof globalThis!="object")try{Object.defineProperty(Object.prototype,"__magic__",{get:function(){return this},configurable:!0}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__}catch{typeof self<"u"&&(self.globalThis=self)}}function El(r){if(!/^0x[a-fA-F0-9]{40}$/.test(r))throw new Error(`@supabase/auth-js: Address "${r}" is invalid.`);return r.toLowerCase()}function Ad(r){return parseInt(r,16)}function Od(r){const e=new TextEncoder().encode(r);return"0x"+Array.from(e,s=>s.toString(16).padStart(2,"0")).join("")}function Rd(r){var e;const{chainId:a,domain:s,expirationTime:t,issuedAt:o=new Date,nonce:u,notBefore:l,requestId:c,resources:n,scheme:i,uri:f,version:d}=r;{if(!Number.isInteger(a))throw new Error(`@supabase/auth-js: Invalid SIWE message field "chainId". Chain ID must be a EIP-155 chain ID. Provided value: ${a}`);if(!s)throw new Error('@supabase/auth-js: Invalid SIWE message field "domain". Domain must be provided.');if(u&&u.length<8)throw new Error(`@supabase/auth-js: Invalid SIWE message field "nonce". Nonce must be at least 8 characters. Provided value: ${u}`);if(!f)throw new Error('@supabase/auth-js: Invalid SIWE message field "uri". URI must be provided.');if(d!=="1")throw new Error(`@supabase/auth-js: Invalid SIWE message field "version". Version must be '1'. Provided value: ${d}`);if(!((e=r.statement)===null||e===void 0)&&e.includes(`
45`))throw new Error(`@supabase/auth-js: Invalid SIWE message field "statement". Statement must not include '\\n'. Provided value: ${r.statement}`)}const m=El(r.address),g=i?`${i}://${s}`:s,S=r.statement?`${r.statement}
46`:"",P=`${g} wants you to sign in with your Ethereum account:
47${m}
48
49${S}`;let y=`URI: ${f}
50Version: ${d}
51Chain ID: ${a}${u?`
52Nonce: ${u}`:""}
53Issued At: ${o.toISOString()}`;if(t&&(y+=`
54Expiration Time: ${t.toISOString()}`),l&&(y+=`
55Not Before: ${l.toISOString()}`),c&&(y+=`
56Request ID: ${c}`),n){let T=`
57Resources:`;for(const _ of n){if(!_||typeof _!="string")throw new Error(`@supabase/auth-js: Invalid SIWE message field "resources". Every resource must be a valid string. Provided value: ${_}`);T+=`
58- ${_}`}y+=T}return`${P}
59${y}`}class fe extends Error{constructor({message:e,code:a,cause:s,name:t}){var o;super(e,{cause:s}),this.__isWebAuthnError=!0,this.name=(o=t??(s instanceof Error?s.name:void 0))!==null&&o!==void 0?o:"Unknown Error",this.code=a}}class As extends fe{constructor(e,a){super({code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:a,message:e}),this.name="WebAuthnUnknownError",this.originalError=a}}function xd({error:r,options:e}){var a,s,t;const{publicKey:o}=e;if(!o)throw Error("options was missing required publicKey property");if(r.name==="AbortError"){if(e.signal instanceof AbortSignal)return new fe({message:"Registration ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:r})}else if(r.name==="ConstraintError"){if(((a=o.authenticatorSelection)===null||a===void 0?void 0:a.requireResidentKey)===!0)return new fe({message:"Discoverable credentials were required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT",cause:r});if(e.mediation==="conditional"&&((s=o.authenticatorSelection)===null||s===void 0?void 0:s.userVerification)==="required")return new fe({message:"User verification was required during automatic registration but it could not be performed",code:"ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE",cause:r});if(((t=o.authenticatorSelection)===null||t===void 0?void 0:t.userVerification)==="required")return new fe({message:"User verification was required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT",cause:r})}else{if(r.name==="InvalidStateError")return new fe({message:"The authenticator was previously registered",code:"ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED",cause:r});if(r.name==="NotAllowedError")return new fe({message:r.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:r});if(r.name==="NotSupportedError")return o.pubKeyCredParams.filter(l=>l.type==="public-key").length===0?new fe({message:'No entry in pubKeyCredParams was of type "public-key"',code:"ERROR_MALFORMED_PUBKEYCREDPARAMS",cause:r}):new fe({message:"No available authenticator supported any of the specified pubKeyCredParams algorithms",code:"ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG",cause:r});if(r.name==="SecurityError"){const u=window.location.hostname;if(Pl(u)){if(o.rp.id!==u)return new fe({message:`The RP ID "${o.rp.id}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:r})}else return new fe({message:`${window.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:r})}else if(r.name==="TypeError"){if(o.user.id.byteLength<1||o.user.id.byteLength>64)return new fe({message:"User ID was not between 1 and 64 characters",code:"ERROR_INVALID_USER_ID_LENGTH",cause:r})}else if(r.name==="UnknownError")return new fe({message:"The authenticator was unable to process the specified options, or could not create a new credential",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:r})}return new fe({message:"a Non-Webauthn related error has occurred",code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:r})}function Bd({error:r,options:e}){const{publicKey:a}=e;if(!a)throw Error("options was missing required publicKey property");if(r.name==="AbortError"){if(e.signal instanceof AbortSignal)return new fe({message:"Authentication ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:r})}else{if(r.name==="NotAllowedError")return new fe({message:r.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:r});if(r.name==="SecurityError"){const s=window.location.hostname;if(Pl(s)){if(a.rpId!==s)return new fe({message:`The RP ID "${a.rpId}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:r})}else return new fe({message:`${window.location.hostname}
59 is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:r})}else if(r.name==="UnknownError")return new fe({message:"The authenticator was unable to process the specified options, or could not create a new assertion signature",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:r})}return new fe({message:"a Non-Webauthn related error has occurred",code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:r})}class Id{createNewAbortSignal(){if(this.controller){const a=new Error("Cancelling existing WebAuthn API call for new one");a.name="AbortError",this.controller.abort(a)}const e=new AbortController;return this.controller=e,e.signal}cancelCeremony(){if(this.controller){const e=new Error("Manually cancelling existing WebAuthn API call");e.name="AbortError",this.controller.abort(e),this.controller=void 0}}}const $d=new Id;function jd(r){if(!r)throw new Error("Credential creation options are required");if(typeof PublicKeyCredential<"u"&&"parseCreationOptionsFromJSON"in PublicKeyCredential&&typeof PublicKeyCredential.parseCreationOptionsFromJSON=="function")return PublicKeyCredential.parseCreationOptionsFromJSON(r);const{challenge:e,user:a,excludeCredentials:s}=r,t=qs(r,["challenge","user","excludeCredentials"]),o=ba(e).buffer,u=Object.assign(Object.assign({},a),{id:ba(a.id).buffer}),l=Object.assign(Object.assign({},t),{challenge:o,user:u});if(s&&s.length>0){l.excludeCredentials=new Array(s.length);for(let c=0;c<s.length;c++){const n=s[c];l.excludeCredentials[c]=Object.assign(Object.assign({},n),{id:ba(n.id).buffer,type:n.type||"public-key",transports:n.transports})}}return l}function Ld(r){if(!r)throw new Error("Credential request options are required");if(typeof PublicKeyCredential<"u"&&"parseRequestOptionsFromJSON"in PublicKeyCredential&&typeof PublicKeyCredential.parseRequestOptionsFromJSON=="function")return PublicKeyCredential.parseRequestOptionsFromJSON(r);const{challenge:e,allowCredentials:a}=r,s=qs(r,["challenge","allowCredentials"]),t=ba(e).buffer,o=Object.assign(Object.assign({},s),{challenge:t});if(a&&a.length>0){o.allowCredentials=new Array(a.length);for(let u=0;u<a.length;u++){const l=a[u];o.allowCredentials[u]=Object.assign(Object.assign({},l),{id:ba(l.id).buffer,type:l.type||"public-key",transports:l.transports})}}return o}function Nd(r){var e;if("toJSON"in r&&typeof r.toJSON=="function")return r.toJSON();const a=r;return{id:r.id,rawId:r.id,response:{attestationObject:Dr(new Uint8Array(r.response.attestationObject)),clientDataJSON:Dr(new Uint8Array(r.response.clientDataJSON))},type:"public-key",clientExtensionResults:r.getClientExtensionResults(),authenticatorAttachment:(e=a.authenticatorAttachment)!==null&&e!==void 0?e:void 0}}function Md(r){var e;if("toJSON"in r&&typeof r.toJSON=="function")return r.toJSON();const a=r,s=r.getClientExtensionResults(),t=r.response;return{id:r.id,rawId:r.id,response:{authenticatorData:Dr(new Uint8Array(t.authenticatorData)),clientDataJSON:Dr(new Uint8Array(t.clientDataJSON)),signature:Dr(new Uint8Array(t.signature)),userHandle:t.userHandle?Dr(new Uint8Array(t.userHandle)):void 0},type:"public-key",clientExtensionResults:s,authenticatorAttachment:(e=a.authenticatorAttachment)!==null&&e!==void 0?e:void 0}}function Pl(r){return r==="localhost"||/^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$/i.test(r)}function ru(){var r,e;return!!(be()&&"PublicKeyCredential"in window&&window.PublicKeyCredential&&"credentials"in navigator&&typeof((r=navigator==null?void 0:navigator.credentials)===null||r===void 0?void 0:r.create)=="function"&&typeof((e=navigator==null?void 0:navigator.credentials)===null||e===void 0?void 0:e.get)=="function")}async function Ud(r){try{const e=await navigator.credentials.create(r);return e?e instanceof PublicKeyCredential?{data:e,error:null}:{data:null,error:new As("Browser returned unexpected credential type",e)}:{data:null,error:new As("Empty credential response",e)}}catch(e){return{data:null,error:xd({error:e,options:r})}}}async function Dd(r){try{const e=await navigator.credentials.get(r);return e?e instanceof PublicKeyCredential?{data:e,error:null}:{data:null,error:new As("Browser returned unexpected credential type",e)}:{data:null,error:new As("Empty credential response",e)}}catch(e){return{data:null,error:Bd({error:e,options:r})}}}const qd={hints:["security-key"],authenticatorSelection:{authenticatorAttachment:"cross-platform",requireResidentKey:!1,userVerification:"preferred",residentKey:"discouraged"},attestation:"direct"},zd={userVerification:"preferred",hints:["security-key"],attestation:"direct"};function Os(...r){const e=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),a=t=>t instanceof ArrayBuffer||ArrayBuffer.isView(t),s={};for(const t of r)if(t)for(const o in t){const u=t[o];if(u!==void 0)if(Array.isArray(u))s[o]=u;else if(a(u))s[o]=u;else if(e(u)){const l=s[o];e(l)?s[o]=Os(l,u):s[o]=Os(u)}else s[o]=u}return s}function Hd(r,e){return Os(qd,r,e||{})}function Wd(r,e){return Os(zd,r,e||{})}class Kd{constructor(e){this.client=e,this.enroll=this._enroll.bind(this),this.challenge=this._challenge.bind(this),this.verify=this._verify.bind(this),this.authenticate=this._authenticate.bind(this),this.register=this._register.bind(this)}async _enroll(e){return this.client.mfa.enroll(Object.assign(Object.assign({},e),{factorType:"webauthn"}))}async _challenge({factorId:e,webauthn:a,friendlyName:s,signal:t},o){var u;try{const{data:l,error:c}=await this.client.mfa.challenge({factorId:e,webauthn:a});if(!l)return{data:null,error:c};const n=t??$d.createNewAbortSignal();if(l.webauthn.type==="create"){const{user:i}=l.webauthn.credential_options.publicKey;if(!i.name){const f=s;if(f)i.name=`${i.id}:${f}`;else{const m=(await this.client.getUser()).data.user,g=((u=m==null?void 0:m.user_metadata)===null||u===void 0?void 0:u.name)||(m==null?void 0:m.email)||(m==null?void 0:m.id)||"User";i.name=`${i.id}:${g}`}}i.displayName||(i.displayName=i.name)}switch(l.webauthn.type){case"create":{const i=Hd(l.webauthn.credential_options.publicKey,o==null?void 0:o.create),{data:f,error:d}=await Ud({publicKey:i,signal:n});return f?{data:{factorId:e,challengeId:l.id,webauthn:{type:l.webauthn.type,credential_response:f}},error:null}:{data:null,error:d}}case"request":{const i=Wd(l.webauthn.credential_options.publicKey,o==null?void 0:o.request),{data:f,error:d}=await Dd(Object.assign(Object.assign({},l.webauthn.credential_options),{publicKey:i,signal:n}));return f?{data:{factorId:e,challengeId:l.id,webauthn:{type:l.webauthn.type,credential_response:f}},error:null}:{data:null,error:d}}}}catch(l){return I(l)?{data:null,error:l}:{data:null,error:new Ur("Unexpected error in challenge",l)}}}async _verify({challengeId:e,factorId:a,webauthn:s}){return this.client.mfa.verify({factorId:a,challengeId:e,webauthn:s})}async _authenticate({factorId:e,webauthn:{rpId:a=typeof window<"u"?window.location.hostname:void 0,rpOrigins:s=typeof window<"u"?[window.location.origin]:void 0,signal:t}={}},o){if(!a)return{data:null,error:new Wa("rpId is required for WebAuthn authentication")};try{if(!ru())return{data:null,error:new Ur("Browser does not support WebAuthn",null)};const{data:u,error:l}=await this.challenge({factorId:e,webauthn:{rpId:a,rpOrigins:s},signal:t},{request:o});if(!u)return{data:null,error:l};const{webauthn:c}=u;return this._verify({factorId:e,challengeId:u.challengeId,webauthn:{type:c.type,rpId:a,rpOrigins:s,credential_response:c.credential_response}})}catch(u){return I(u)?{data:null,error:u}:{data:null,error:new Ur("Unexpected error in authenticate",u)}}}async _register({friendlyName:e,webauthn:{rpId:a=typeof window<"u"?window.location.hostname:void 0,rpOrigins:s=typeof window<"u"?[window.location.origin]:void 0,signal:t}={}},o){if(!a)return{data:null,error:new Wa("rpId is required for WebAuthn registration")};try{if(!ru())return{data:null,error:new Ur("Browser does not support WebAuthn",null)};const{data:u,error:l}=await this._enroll({friendlyName:e});if(!u)return await this.client.mfa.listFactors().then(i=>{var f;return(f=i.data)===null||f===void 0?void 0:f.all.find(d=>d.factor_type==="webauthn"&&d.friendly_name===e&&d.status!=="unverified")}).then(i=>i?this.client.mfa.unenroll({factorId:i==null?void 0:i.id}):void 0),{data:null,error:l};const{data:c,error:n}=await this._challenge({factorId:u.id,friendlyName:u.friendly_name,webauthn:{rpId:a,rpOrigins:s},signal:t},{create:o});return c?this._verify({factorId:u.id,challengeId:c.challengeId,webauthn:{rpId:a,rpOrigins:s,type:c.webauthn.type,credential_response:c.webauthn.credential_response}}):{data:null,error:n}}catch(u){return I(u)?{data:null,error:u}:{data:null,error:new Ur("Unexpected error in register",u)}}}}Pd();const Vd={url:Hf,storageKey:Wf,autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,headers:Kf,flowType:"implicit",debug:!1,hasCustomAuthorizationHeader:!1,throwOnError:!1,lockAcquireTimeout:5e3,skipAutoInitialize:!1};async function au(r,e,a){return await a()}const ra={};class Ka{get jwks(){var e,a;return(a=(e=ra[this.storageKey])===null||e===void 0?void 0:e.jwks)!==null&&a!==void 0?a:{keys:[]}}set jwks(e){ra[this.storageKey]=Object.assign(Object.assign({},ra[this.storageKey]),{jwks:e})}get jwks_cached_at(){var e,a;return(a=(e=ra[this.storageKey])===null||e===void 0?void 0:e.cachedAt)!==null&&a!==void 0?a:Number.MIN_SAFE_INTEGER}set jwks_cached_at(e){ra[this.storageKey]=Object.assign(Object.assign({},ra[this.storageKey]),{cachedAt:e})}constructor(e){var a,s,t;this.userStorage=null,this.memoryStorage=null,this.stateChangeEmitters=new Map,this.autoRefreshTicker=null,this.autoRefreshTickTimeout=null,this.visibilityChangedCallback=null,this.refreshingDeferred=null,this.initializePromise=null,this.detectSessionInUrl=!0,this.hasCustomAuthorizationHeader=!1,this.suppressGetSessionWarning=!1,this.lockAcquired=!1,this.pendingInLock=[],this.broadcastChannel=null,this.logger=console.log;const o=Object.assign(Object.assign({},Vd),e);if(this.storageKey=o.storageKey,this.instanceID=(a=Ka.nextInstanceID[this.storageKey])!==null&&a!==void 0?a:0,Ka.nextInstanceID[this.storageKey]=this.instanceID+1,this.logDebugMessages=!!o.debug,typeof o.debug=="function"&&(this.logger=o.debug),this.instanceID>0&&be()){const u=`${this._logPrefix()} Multiple GoTrueClient instances detected in the same browser context. It is not an error, but this should be avoided as it may produce undefined behavior when used concurrently under the same storage key.`;console.warn(u),this.logDebugMessages&&console.trace(u)}if(this.persistSession=o.persistSession,this.autoRefreshToken=o.autoRefreshToken,this.admin=new Td({url:o.url,headers:o.headers,fetch:o.fetch}),this.url=o.url,this.headers=o.headers,this.fetch=Gl(o.fetch),this.lock=o.lock||au,this.detectSessionInUrl=o.detectSessionInUrl,this.flowType=o.flowType,this.hasCustomAuthorizationHeader=o.hasCustomAuthorizationHeader,this.throwOnError=o.throwOnError,this.lockAcquireTimeout=o.lockAcquireTimeout,o.lock?this.lock=o.lock:this.persistSession&&be()&&(!((s=globalThis==null?void 0:globalThis.navigator)===null||s===void 0)&&s.locks)?this.lock=Ed:this.lock=au,this.jwks||(this.jwks={keys:[]},this.jwks_cached_at=Number.MIN_SAFE_INTEGER),this.mfa={verify:this._verify.bind(this),enroll:this._enroll.bind(this),unenroll:this._unenroll.bind(this),challenge:this._challenge.bind(this),listFactors:this._listFactors.bind(this),challengeAndVerify:this._challengeAndVerify.bind(this),getAuthenticatorAssuranceLevel:this._getAuthenticatorAssuranceLevel.bind(this),webauthn:new Kd(this)}
59,this.oauth={getAuthorizationDetails:this._getAuthorizationDetails.bind(this),approveAuthorization:this._approveAuthorization.bind(this),denyAuthorization:this._denyAuthorization.bind(this),listGrants:this._listOAuthGrants.bind(this),revokeGrant:this._revokeOAuthGrant.bind(this)},this.persistSession?(o.storage?this.storage=o.storage:kl()?this.storage=globalThis.localStorage:(this.memoryStorage={},this.storage=Xo(this.memoryStorage)),o.userStorage&&(this.userStorage=o.userStorage)):(this.memoryStorage={},this.storage=Xo(this.memoryStorage)),be()&&globalThis.BroadcastChannel&&this.persistSession&&this.storageKey){try{this.broadcastChannel=new globalThis.BroadcastChannel(this.storageKey)}catch(u){console.error("Failed to create a new BroadcastChannel, multi-tab state changes will not be available",u)}(t=this.broadcastChannel)===null||t===void 0||t.addEventListener("message",async u=>{this._debug("received broadcast notification from other tab or client",u);try{await this._notifyAllSubscribers(u.data.event,u.data.session,!1)}catch(l){this._debug("#broadcastChannel","error",l)}})}o.skipAutoInitialize||this.initialize().catch(u=>{this._debug("#initialize()","error",u)})}isThrowOnErrorEnabled(){return this.throwOnError}_returnResult(e){if(this.throwOnError&&e&&e.error)throw e.error;return e}_logPrefix(){return`GoTrueClient@${this.storageKey}:${this.instanceID} (${Cl}) ${new Date().toISOString()}`}_debug(...e){return this.logDebugMessages&&this.logger(this._logPrefix(),...e),this}async initialize(){return this.initializePromise?await this.initializePromise:(this.initializePromise=(async()=>await this._acquireLock(this.lockAcquireTimeout,async()=>await this._initialize()))(),await this.initializePromise)}async _initialize(){var e;try{let a={},s="none";if(be()&&(a=ld(window.location.href),this._isImplicitGrantCallback(a)?s="implicit":await this._isPKCECallback(a)&&(s="pkce")),be()&&this.detectSessionInUrl&&s!=="none"){const{data:t,error:o}=await this._getSessionFromURL(a,s);if(o){if(this._debug("#_initialize()","error detecting session from URL",o),Zf(o)){const c=(e=o.details)===null||e===void 0?void 0:e.code;if(c==="identity_already_exists"||c==="identity_not_found"||c==="single_identity_not_deletable")return{error:o}}return{error:o}}const{session:u,redirectType:l}=t;return this._debug("#_initialize()","detected session in URL",u,"redirect type",l),await this._saveSession(u),setTimeout(async()=>{l==="recovery"?await this._notifyAllSubscribers("PASSWORD_RECOVERY",u):await this._notifyAllSubscribers("SIGNED_IN",u)},0),{error:null}}return await this._recoverAndRefresh(),{error:null}}catch(a){return I(a)?this._returnResult({error:a}):this._returnResult({error:new Ur("Unexpected error during initialization",a)})}finally{await this._handleVisibilityChange(),this._debug("#_initialize()","end")}}async signInAnonymously(e){var a,s,t;try{const o=await $(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{data:(s=(a=e==null?void 0:e.options)===null||a===void 0?void 0:a.data)!==null&&s!==void 0?s:{},gotrue_meta_security:{captcha_token:(t=e==null?void 0:e.options)===null||t===void 0?void 0:t.captchaToken}},xform:He}),{data:u,error:l}=o;if(l||!u)return this._returnResult({data:{user:null,session:null},error:l});const c=u.session,n=u.user;return u.session&&(await this._saveSession(u.session),await this._notifyAllSubscribers("SIGNED_IN",c)),this._returnResult({data:{user:n,session:c},error:null})}catch(o){if(I(o))return this._returnResult({data:{user:null,session:null},error:o});throw o}}async signUp(e){var a,s,t;try{let o;if("email"in e){const{email:i,password:f,options:d}=e;let m=null,g=null;this.flowType==="pkce"&&([m,g]=await Xr(this.storage,this.storageKey)),o=await $(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,redirectTo:d==null?void 0:d.emailRedirectTo,body:{email:i,password:f,data:(a=d==null?void 0:d.data)!==null&&a!==void 0?a:{},gotrue_meta_security:{captcha_token:d==null?void 0:d.captchaToken},code_challenge:m,code_challenge_method:g},xform:He})}else if("phone"in e){const{phone:i,password:f,options:d}=e;o=await $(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{phone:i,password:f,data:(s=d==null?void 0:d.data)!==null&&s!==void 0?s:{},channel:(t=d==null?void 0:d.channel)!==null&&t!==void 0?t:"sms",gotrue_meta_security:{captcha_token:d==null?void 0:d.captchaToken}},xform:He})}else throw new is("You must provide either an email or phone number and a password");const{data:u,error:l}=o;if(l||!u)return await me(this.storage,`${this.storageKey}-code-verifier`),this._returnResult({data:{user:null,session:null},error:l});const c=u.session,n=u.user;return u.session&&(await this._saveSession(u.session),await this._notifyAllSubscribers("SIGNED_IN",c)),this._returnResult({data:{user:n,session:c},error:null})}catch(o){if(await me(this.storage,`${this.storageKey}-code-verifier`),I(o))return this._returnResult({data:{user:null,session:null},error:o});throw o}}async signInWithPassword(e){try{let a;if("email"in e){const{email:o,password:u,options:l}=e;a=await $(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{email:o,password:u,gotrue_meta_security:{captcha_token:l==null?void 0:l.captchaToken}},xform:Qo})}else if("phone"in e){const{phone:o,password:u,options:l}=e;a=await $(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{phone:o,password:u,gotrue_meta_security:{captcha_token:l==null?void 0:l.captchaToken}},xform:Qo})}else throw new is("You must provide either an email or phone number and a password");const{data:s,error:t}=a;if(t)return this._returnResult({data:{user:null,session:null},error:t});if(!s||!s.session||!s.user){const o=new Zr;return this._returnResult({data:{user:null,session:null},error:o})}return s.session&&(await this._saveSession(s.session),await this._notifyAllSubscribers("SIGNED_IN",s.session)),this._returnResult({data:Object.assign({user:s.user,session:s.session},s.weak_password?{weakPassword:s.weak_password}:null),error:t})}catch(a){if(I(a))return this._returnResult({data:{user:null,session:null},error:a});throw a}}async signInWithOAuth(e){var a,s,t,o;return await this._handleProviderSignIn(e.provider,{redirectTo:(a=e.options)===null||a===void 0?void 0:a.redirectTo,scopes:(s=e.options)===null||s===void 0?void 0:s.scopes,queryParams:(t=e.options)===null||t===void 0?void 0:t.queryParams,skipBrowserRedirect:(o=e.options)===null||o===void 0?void 0:o.skipBrowserRedirect})}async exchangeCodeForSession(e){return await this.initializePromise,this._acquireLock(this.lockAcquireTimeout,async()=>this._exchangeCodeForSession(e))}async signInWithWeb3(e){const{chain:a}=e;switch(a){case"ethereum":return await this.signInWithEthereum(e);case"solana":return await this.signInWithSolana(e);default:throw new Error(`@supabase/auth-js: Unsupported chain "${a}"`)}}async signInWithEthereum(e){var a,s,t,o,u,l,c,n,i,f,d;let m,g;if("message"in e)m=e.message,g=e.signature;else{const{chain:S,wallet:P,statement:y,options:T}=e;let _;if(be())if(typeof P=="object")_=P;else{const pe=window;if("ethereum"in pe&&typeof pe.ethereum=="object"&&"request"in pe.ethereum&&typeof pe.ethereum.request=="function")_=pe.ethereum;else throw new Error("@supabase/auth-js: No compatible Ethereum wallet interface on the window object (window.ethereum) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'ethereum', wallet: resolvedUserWallet }) instead.")}else{if(typeof P!="object"||!(T!=null&&T.url))throw new Error("@supabase/auth-js: Both wallet and url must be specified in non-browser environments.");_=P}const E=new URL((a=T==null?void 0:T.url)!==null&&a!==void 0?a:window.location.href),J=await _.request({method:"eth_requestAccounts"}).then(pe=>pe).catch(()=>{throw new Error("@supabase/auth-js: Wallet method eth_requestAccounts is missing or invalid")});if(!J||J.length===0)throw new Error("@supabase/auth-js: No accounts available. Please ensure the wallet is connected.");const W=El(J[0]);let K=(s=T==null?void 0:T.signInWithEthereum)===null||s===void 0?void 0:s.chainId;if(!K){const pe=await _.request({method:"eth_chainId"});K=Ad(pe)}const Ne={domain:E.host,address:W,statement:y,uri:E.href,version:"1",chainId:K,nonce:(t=T==null?void 0:T.signInWithEthereum)===null||t===void 0?void 0:t.nonce,issuedAt:(u=(o=T==null?void 0:T.signInWithEthereum)===null||o===void 0?void 0:o.issuedAt)!==null&&u!==void 0?u:new Date,expirationTime:(l=T==null?void 0:T.signInWithEthereum)===null||l===void 0?void 0:l.expirationTime,notBefore:(c=T==null?void 0:T.signInWithEthereum)===null||c===void 0?void 0:c.notBefore,requestId:(n=T==null?void 0:T.signInWithEthereum)===null||n===void 0?void 0:n.requestId,resources:(i=T==null?void 0:T.signInWithEthereum)===null||i===void 0?void 0:i.resources};m=Rd(Ne),g=await _.request({method:"personal_sign",params:[Od(m),W]})}try{const{data:S,error:P}=await $(this.fetch,"POST",`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:"ethereum",message:m,signature:g},!((f=e.options)===null||f===void 0)&&f.captchaToken?{gotrue_meta_security:{captcha_token:(d=e.options)===null||d===void 0?void 0:d.captchaToken}}:null),xform:He});if(P)throw P;if(!S||!S.session||!S.user){const y=new Zr;return this._returnResult({data:{user:null,session:null},error:y})}return S.session&&(await this._saveSession(S.session),await this._notifyAllSubscribers("SIGNED_IN",S.session)),this._returnResult({data:Object.assign({},S),error:P})}catch(S){if(I(S))return this._returnResult({data:{user:null,session:null},error:S});throw S}}async signInWithSolana(e){var a,s,t,o,u,l,c,n,i,f,d,m;let g,S;if("message"in e)g=e.message,S=e.signature;else{const{chain:P,wallet:y,statement:T,options:_}=e;let E;if(be())if(typeof y=="object")E=y;else{const W=window;if("solana"in W&&typeof W.solana=="object"&&("signIn"in W.solana&&typeof W.solana.signIn=="function"||"signMessage"in W.solana&&typeof W.solana.signMessage=="function"))E=W.solana;else throw new Error("@supabase/auth-js: No compatible Solana wallet interface on the window object (window.solana) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'solana', wallet: resolvedUserWallet }) instead.")}else{if(typeof y!="object"||!(_!=null&&_.url))throw new Error("@supabase/auth-js: Both wallet and url must be specified in non-browser environments.");E=y}const J=new URL((a=_==null?void 0:_.url)!==null&&a!==void 0?a:window.location.href);if("signIn"in E&&E.signIn){const W=await E.signIn(Object.assign(Object.assign(Object.assign({issuedAt:new Date().toISOString()},_==null?void 0:_.signInWithSolana),{version:"1",domain:J.host,uri:J.href}),T?{statement:T}:null));let K;if(Array.isArray(W)&&W[0]&&typeof W[0]=="object")K=W[0];else if(W&&typeof W=="object"&&"signedMessage"in W&&"signature"in W)K=W;else throw new Error("@supabase/auth-js: Wallet method signIn() returned unrecognized value");if("signedMessage"in K&&"signature"in K&&(typeof K.signedMessage=="string"||K.signedMessage instanceof Uint8Array)&&K.signature instanceof Uint8Array)g=typeof K.signedMessage=="string"?K.signedMessage:new TextDecoder().decode(K.signedMessage),S=K.signature;else throw new Error("@supabase/auth-js: Wallet method signIn() API returned object without signedMessage and signature fields")}else{if(!("signMessage"in E)||typeof E.signMessage!="function"||!("publicKey"in E)||typeof E!="object"||!E.publicKey||!("toBase58"in E.publicKey)||typeof E.publicKey.toBase58!="function")throw new Error("@supabase/auth-js: Wallet does not have a compatible signMessage() and publicKey.toBase58() API");g=[`${J.host} wants you to sign in with your Solana account:`,E.publicKey.toBase58(),...T?["",T,""]:[""],"Version: 1",`URI: ${J.href}`,`Issued At: ${(t=(s=_==null?void 0:_.signInWithSolana)===null||s===void 0?void 0:s.issuedAt)!==null&&t!==void 0?t:new Date().toISOString()}`,...!((o=_==null?void 0:_.signInWithSolana)===null||o===void 0)&&o.notBefore?[`Not Before: ${_.signInWithSolana.notBefore}`]:[],...!((u=_==null?void 0:_.signInWithSolana)===null||u===void 0)&&u.expirationTime?[`Expiration Time: ${_.signInWithSolana.expirationTime}`]:[],...!((l=_==null?void 0:_.signInWithSolana)===null||l===void 0)&&l.chainId?[`Chain ID: ${_.signInWithSolana.chainId}`]:[],...!((c=_==null?void 0:_.signInWithSolana)===null||c===void 0)&&c.nonce?[`Nonce: ${_.signInWithSolana.nonce}`]:[],...!((n=_==null?void 0:_.signInWithSolana)===null||n===void 0)&&n.requestId?[`Request ID: ${_.signInWithSolana.requestId}`]:[],...!((f=(i=_==null?void 0:_.signInWithSolana)===null||i===void 0?void 0:i.resources)===null||f===void 0)&&f.length?["Resources",..._.signInWithSolana.resources.map(K=>`- ${K}`)]:[]].join(`
60`);const W=await E.signMessage(new TextEncoder().encode(g),"utf8");if(!W||!(W instanceof Uint8Array))throw new Error("@supabase/auth-js: Wallet signMessage() API returned an recognized value");S=W}}try{const{data:P,error:y}=await $(this.fetch,"POST",`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:"solana",message:g,signature:Dr(S)},!((d=e.options)===null||d===void 0)&&d.captchaToken?{gotrue_meta_security:{captcha_token:(m=e.options)===null||m===void 0?void 0:m.captchaToken}}:null),xform:He});if(y)throw y;if(!P||!P.session||!P.user){const T=new Zr;return this._returnResult({data:{user:null,session:null},error:T})}return P.session&&(await this._saveSession(P.session),await this._notifyAllSubscribers("SIGNED_IN",P.session)),this._returnResult({data:Object.assign({},P),error:y})}catch(P){if(I(P))return this._returnResult({data:{user:null,session:null},error:P});throw P}}async _exchangeCodeForSession(e){const a=await jr(this.storage,`${this.storageKey}-code-verifier`),[s,t]=(a??"").split("/");try{if(!s&&this.flowType==="pkce")throw new Xf;const{data:o,error:u}=await $(this.fetch,"POST",`${this.url}/token?grant_type=pkce`,{headers:this.headers,body:{auth_code:e,code_verifier:s},xform:He});if(await me(this.storage,`${this.storageKey}-code-verifier`),u)throw u;if(!o||!o.session||!o.user){const l=new Zr;return this._returnResult({data:{user:null,session:null,redirectType:null},error:l})}return o.session&&(await this._saveSession(o.session),await this._notifyAllSubscribers("SIGNED_IN",o.session)),this._returnResult({data:Object.assign(Object.assign({},o),{redirectType:t??null}),error:u})}catch(o){if(await me(this.storage,`${this.storageKey}-code-verifier`),I(o))return this._returnResult({data:{user:null,session:null,redirectType:null},error:o});throw o}}async signInWithIdToken(e){try{const{options:a,provider:s,token:t,access_token:o,nonce:u}=e,l=await $(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,body:{provider:s,id_token:t,access_token:o,nonce:u,gotrue_meta_security:{captcha_token:a==null?void 0:a.captchaToken}},xform:He}),{data:c,error:n}=l;if(n)return this._returnResult({data:{user:null,session:null},error:n});if(!c||!c.session||!c.user){const i=new Zr;return this._returnResult({data:{user:null,session:null},error:i})}return c.session&&(await this._saveSession(c.session),await this._notifyAllSubscribers("SIGNED_IN",c.session)),this._returnResult({data:c,error:n})}catch(a){if(I(a))return this._returnResult({data:{user:null,session:null},error:a});throw a}}async signInWithOtp(e){var a,s,t,o,u;try{if("email"in e){const{email:l,options:c}=e;let n=null,i=null;this.flowType==="pkce"&&([n,i]=await Xr(this.storage,this.storageKey));const{error:f}=await $(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{email:l,data:(a=c==null?void 0:c.data)!==null&&a!==void 0?a:{},create_user:(s=c==null?void 0:c.shouldCreateUser)!==null&&s!==void 0?s:!0,gotrue_meta_security:{captcha_token:c==null?void 0:c.captchaToken},code_challenge:n,code_challenge_method:i},redirectTo:c==null?void 0:c.emailRedirectTo});return this._returnResult({data:{user:null,session:null},error:f})}if("phone"in e){const{phone:l,options:c}=e,{data:n,error:i}=await $(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{phone:l,data:(t=c==null?void 0:c.data)!==null&&t!==void 0?t:{},create_user:(o=c==null?void 0:c.shouldCreateUser)!==null&&o!==void 0?o:!0,gotrue_meta_security:{captcha_token:c
60==null?void 0:c.captchaToken},channel:(u=c==null?void 0:c.channel)!==null&&u!==void 0?u:"sms"}});return this._returnResult({data:{user:null,session:null,messageId:n==null?void 0:n.message_id},error:i})}throw new is("You must provide either an email or phone number.")}catch(l){if(await me(this.storage,`${this.storageKey}-code-verifier`),I(l))return this._returnResult({data:{user:null,session:null},error:l});throw l}}async verifyOtp(e){var a,s;try{let t,o;"options"in e&&(t=(a=e.options)===null||a===void 0?void 0:a.redirectTo,o=(s=e.options)===null||s===void 0?void 0:s.captchaToken);const{data:u,error:l}=await $(this.fetch,"POST",`${this.url}/verify`,{headers:this.headers,body:Object.assign(Object.assign({},e),{gotrue_meta_security:{captcha_token:o}}),redirectTo:t,xform:He});if(l)throw l;if(!u)throw new Error("An error occurred on token verification.");const c=u.session,n=u.user;return c!=null&&c.access_token&&(await this._saveSession(c),await this._notifyAllSubscribers(e.type=="recovery"?"PASSWORD_RECOVERY":"SIGNED_IN",c)),this._returnResult({data:{user:n,session:c},error:null})}catch(t){if(I(t))return this._returnResult({data:{user:null,session:null},error:t});throw t}}async signInWithSSO(e){var a,s,t,o,u;try{let l=null,c=null;this.flowType==="pkce"&&([l,c]=await Xr(this.storage,this.storageKey));const n=await $(this.fetch,"POST",`${this.url}/sso`,{body:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},"providerId"in e?{provider_id:e.providerId}:null),"domain"in e?{domain:e.domain}:null),{redirect_to:(s=(a=e.options)===null||a===void 0?void 0:a.redirectTo)!==null&&s!==void 0?s:void 0}),!((t=e==null?void 0:e.options)===null||t===void 0)&&t.captchaToken?{gotrue_meta_security:{captcha_token:e.options.captchaToken}}:null),{skip_http_redirect:!0,code_challenge:l,code_challenge_method:c}),headers:this.headers,xform:_d});return!((o=n.data)===null||o===void 0)&&o.url&&be()&&!(!((u=e.options)===null||u===void 0)&&u.skipBrowserRedirect)&&window.location.assign(n.data.url),this._returnResult(n)}catch(l){if(await me(this.storage,`${this.storageKey}-code-verifier`),I(l))return this._returnResult({data:null,error:l});throw l}}async reauthenticate(){return await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>await this._reauthenticate())}async _reauthenticate(){try{return await this._useSession(async e=>{const{data:{session:a},error:s}=e;if(s)throw s;if(!a)throw new Be;const{error:t}=await $(this.fetch,"GET",`${this.url}/reauthenticate`,{headers:this.headers,jwt:a.access_token});return this._returnResult({data:{user:null,session:null},error:t})})}catch(e){if(I(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async resend(e){try{const a=`${this.url}/resend`;if("email"in e){const{email:s,type:t,options:o}=e,{error:u}=await $(this.fetch,"POST",a,{headers:this.headers,body:{email:s,type:t,gotrue_meta_security:{captcha_token:o==null?void 0:o.captchaToken}},redirectTo:o==null?void 0:o.emailRedirectTo});return this._returnResult({data:{user:null,session:null},error:u})}else if("phone"in e){const{phone:s,type:t,options:o}=e,{data:u,error:l}=await $(this.fetch,"POST",a,{headers:this.headers,body:{phone:s,type:t,gotrue_meta_security:{captcha_token:o==null?void 0:o.captchaToken}}});return this._returnResult({data:{user:null,session:null,messageId:u==null?void 0:u.message_id},error:l})}throw new is("You must provide either an email or phone number and a type")}catch(a){if(I(a))return this._returnResult({data:{user:null,session:null},error:a});throw a}}async getSession(){return await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>this._useSession(async a=>a))}async _acquireLock(e,a){this._debug("#_acquireLock","begin",e);try{if(this.lockAcquired){const s=this.pendingInLock.length?this.pendingInLock[this.pendingInLock.length-1]:Promise.resolve(),t=(async()=>(await s,await a()))();return this.pendingInLock.push((async()=>{try{await t}catch{}})()),t}return await this.lock(`lock:${this.storageKey}`,e,async()=>{this._debug("#_acquireLock","lock acquired for storage key",this.storageKey);try{this.lockAcquired=!0;const s=a();for(this.pendingInLock.push((async()=>{try{await s}catch{}})()),await s;this.pendingInLock.length;){const t=[...this.pendingInLock];await Promise.all(t),this.pendingInLock.splice(0,t.length)}return await s}finally{this._debug("#_acquireLock","lock released for storage key",this.storageKey),this.lockAcquired=!1}})}finally{this._debug("#_acquireLock","end")}}async _useSession(e){this._debug("#_useSession","begin");try{const a=await this.__loadSession();return await e(a)}finally{this._debug("#_useSession","end")}}async __loadSession(){this._debug("#__loadSession()","begin"),this.lockAcquired||this._debug("#__loadSession()","used outside of an acquired lock!",new Error().stack);try{let e=null;const a=await jr(this.storage,this.storageKey);if(this._debug("#getSession()","session from storage",a),a!==null&&(this._isValidSession(a)?e=a:(this._debug("#getSession()","session from storage is not val
60id"),await this._removeSession())),!e)return{data:{session:null},error:null};const s=e.expires_at?e.expires_at*1e3-Date.now()<at:!1;if(this._debug("#__loadSession()",`session has${s?"":" not"} expired`,"expires_at",e.expires_at),!s){if(this.userStorage){const u=await jr(this.userStorage,this.storageKey+"-user");u!=null&&u.user?e.user=u.user:e.user=tt()}if(this.storage.isServer&&e.user&&!e.user.__isUserNotAvailableProxy){const u={value:this.suppressGetSessionWarning};e.user=Fd(e.user,u),u.value&&(this.suppressGetSessionWarning=!0)}return{data:{session:e},error:null}}const{data:t,error:o}=await this._callRefreshToken(e.refresh_token);return o?this._returnResult({data:{session:null},error:o}):this._returnResult({data:{session:t},error:null})}finally{this._debug("#__loadSession()","end")}}async getUser(e){if(e)return await this._getUser(e);await this.initializePromise;const a=await this._acquireLock(this.lockAcquireTimeout,async()=>await this._getUser());return a.data.user&&(this.suppressGetSessionWarning=!0),a}async _getUser(e){try{return e?await $(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:e,xform:Tr}):await this._useSession(async a=>{var s,t,o;const{data:u,error:l}=a;if(l)throw l;return!(!((s=u.session)===null||s===void 0)&&s.access_token)&&!this.hasCustomAuthorizationHeader?{data:{user:null},error:new Be}:await $(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:(o=(t=u.session)===null||t===void 0?void 0:t.access_token)!==null&&o!==void 0?o:void 0,xform:Tr})})}catch(a){if(I(a))return ns(a)&&(await this._removeSession(),await me(this.storage,`${this.storageKey}-code-verifier`)),this._returnResult({data:{user:null},error:a});throw a}}async updateUser(e,a={}){return await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>await this._updateUser(e,a))}async _updateUser(e,a={}){try{return await this._useSession(async s=>{const{data:t,error:o}=s;if(o)throw o;if(!t.session)throw new Be;const u=t.session;let l=null,c=null;this.flowType==="pkce"&&e.email!=null&&([l,c]=await Xr(this.storage,this.storageKey));const{data:n,error:i}=await $(this.fetch,"PUT",`${this.url}/user`,{headers:this.headers,redirectTo:a==null?void 0:a.emailRedirectTo,body:Object.assign(Object.assign({},e),{code_challenge:l,code_challenge_method:c}),jwt:u.access_token,xform:Tr});if(i)throw i;return u.user=n.user,await this._saveSession(u),await this._notifyAllSubscribers("USER_UPDATED",u),this._returnResult({data:{user:u.user},error:null})})}catch(s){if(await me(this.storage,`${this.storageKey}-code-verifier`),I(s))return this._returnResult({data:{user:null},error:s});throw s}}async setSession(e){return await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>await this._setSession(e))}async _setSession(e){try{if(!e.access_token||!e.refresh_token)throw new Be;const a=Date.now()/1e3;let s=a,t=!0,o=null;const{payload:u}=ds(e.access_token);if(u.exp&&(s=u.exp,t=s<=a),t){const{data:l,error:c}=await this._callRefreshToken(e.refresh_token);if(c)return this._returnResult({data:{user:null,session:null},error:c});if(!l)return{data:{user:null,session:null},error:null};o=l}else{const{data:l,error:c}=await this._getUser(e.access_token);if(c)return this._returnResult({data:{user:null,session:null},error:c});o={access_token:e.access_token,refresh_token:e.refresh_token,user:l.user,token_type:"bearer",expires_in:s-a,expires_at:s},await this._saveSession(o),await this._notifyAllSubscribers("SIGNED_IN",o)}return this._returnResult({data:{user:o.user,session:o},error:null})}catch(a){if(I(a))return this._returnResult({data:{session:null,user:null},error:a});throw a}}async refreshSession(e){return await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>await this._refreshSession(e))}async _refreshSession(e){try{return await this._useSession(async a=>{var s;if(!e){const{data:u,error:l}=a;if(l)throw l;e=(s=u.session)!==null&&s!==void 0?s:void 0}if(!(e!=null&&e.refresh_token))throw new Be;const{data:t,error:o}=await this._callRefreshToken(e.refresh_token);return o?this._returnResult({data:{user:null,session:null},error:o}):t?this._returnResult({data:{user:t.user,session:t},error:null}):this._returnResult({data:{user:null,session:null},error:null})})}catch(a){if(I(a))return this._returnResult({data:{user:null,session:null},error:a});throw a}}async _getSessionFromURL(e,a){try{if(!be())throw new fs("No browser detected.");
60if(e.error||e.error_description||e.error_code)throw new fs(e.error_description||"Error in URL with unspecified error_description",{error:e.error||"unspecified_error",code:e.error_code||"unspecified_code"});switch(a){case"implicit":if(this.flowType==="pkce")throw new zo("Not a valid PKCE flow url.");break;case"pkce":if(this.flowType==="implicit")throw new fs("Not a valid implicit grant flow url.");break;default:}if(a==="pkce"){if(this._debug("#_initialize()","begin","is PKCE flow",!0),!e.code)throw new zo("No code detected.");const{data:T,error:_}=await this._exchangeCodeForSession(e.code);if(_)throw _;const E=new URL(window.location.href);return E.searchParams.delete("code"),window.history.replaceState(window.history.state,"",E.toString()),{data:{session:T.session,redirectType:null},error:null}}const{provider_token:s,provider_refresh_token:t,access_token:o,refresh_token:u,expires_in:l,expires_at:c,token_type:n}=e;if(!o||!l||!u||!n)throw new fs("No session defined in URL");const i=Math.round(Date.now()/1e3),f=parseInt(l);let d=i+f;c&&(d=parseInt(c));const m=d-i;m*1e3<=oa&&console.warn(`@supabase/gotrue-js: Session as retrieved from URL expires in ${m}s, should have been closer to ${f}s`);const g=d-f;i-g>=120?console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued over 120s ago, URL could be stale",g,d,i):i-g<0&&console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued in the future? Check the device clock for skew",g,d,i);const{data:S,error:P}=await this._getUser(o);if(P)throw P;const y={provider_token:s,provider_refresh_token:t,access_token:o,expires_in:f,expires_at:d,refresh_token:u,token_type:n,user:S.user};return window.location.hash="",this._debug("#_getSessionFromURL()","clearing window.location.hash"),this._returnResult({data:{session:y,redirectType:e.type},error:null})}catch(s){if(I(s))return this._returnResult({data:{session:null,redirectType:null},error:s});throw s}}_isImplicitGrantCallback(e){return typeof this.detectSessionInUrl=="function"?this.detectSessionInUrl(new URL(window.location.href),e):!!(e.access_token||e.error_description)}async _isPKCECallback(e){const a=await jr(this.storage,`${this.storageKey}-code-verifier`);return!!(e.code&&a)}async signOut(e={scope:"global"}){return await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>await this._signOut(e))}async _signOut({scope:e}={scope:"global"}){return await this._useSession(async a=>{var s;const{data:t,error:o}=a;if(o&&!ns(o))return this._returnResult({error:o});const u=(s=t.session)===null||s===void 0?void 0:s.access_token;if(u){const{error:l}=await this.admin.signOut(u,e);if(l&&!(Qf(l)&&(l.status===404||l.status===401||l.status===403)||ns(l)))return this._returnResult({error:l})}return e!=="others"&&(await this._removeSession(),await me(this.storage,`${this.storageKey}-code-verifier`)),this._returnResult({error:null})})}onAuthStateChange(e){const a=ud(),s={id:a,callback:e,unsubscribe:()=>{this._debug("#unsubscribe()","state change callback with id removed",a),this.stateChangeEmitters.delete(a)}};return this._debug("#onAuthStateChange()","registered callback with id",a),this.stateChangeEmitters.set(a,s),(async()=>(await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>{this._emitInitialSession(a)})))(),{data:{subscription:s}}}async _emitInitialSession(e){return await this._useSession(async a=>{var s,t;try{const{data:{session:o},error:u}=a;if(u)throw u;await((s=this.stateChangeEmitters.get(e))===null||s===void 0?void 0:s.callback("INITIAL_SESSION",o)),this._debug("INITIAL_SESSION","callback id",e,"session",o)}catch(o){await((t=this.stateChangeEmitters.get(e))===null||t===void 0?void 0:t.callback("INITIAL_SESSION",null)),this._debug("INITIAL_SESSION","callback id",e,"error",o),ns(o)?console.warn(o):console.error(o)}})}async resetPasswordForEmail(e,a={}){let s=null,t=null;this.flowType==="pkce"&&([s,t]=await Xr(this.storage,this.storageKey,!0));try{return await $(this.fetch,"POST",`${this.url}/recover`,{body:{email:e,code_challenge:s,code_challenge_method:t,gotrue_meta_security:{captcha_token:a.captchaToken}},headers:this.headers,redirectTo:a.redirectTo})}catch(o){if(await me(this.storage,`${this.storageKey}-code-verifier`),I(o))return this._returnResult({data:null,error:o});throw o}}async getUserIdentities(){var e;try{const{data:a,error:s}=await this.getUser();if(s)throw s;return this._returnResult({data:{identities:(e=a.user.identities)!==null&&e!==void 0?e:[]},error:null})}catch(a){if(I(a))return this._returnResult({data:null,error:a});throw a}}async linkIdentity(e){return"token"in e?this.linkIdentityIdToken(e):this.linkIdentityOAuth(e)}async linkIdentityOAuth(e){var a;try{const{data:s,error:t}=await this._useSession(async o=>{var u,l,c,n,i;const{data:f,error:d}=o;if(d)throw d;const m=await this._getUrlForProvider(`${this.url}/user/identities/authorize`,e.provider,{redirectTo:(u=e.options)===null||u===void 0?void 0:u.redirectTo,scopes:(l=e.options)===null||l===void 0?void 0:l.scopes,queryParams:(c=e.options)===null||c===void 0?void 0:c.queryParams,skipBrowserRedirect:!0});return await $(this.fetch,"GET",m,{headers:this.headers,jwt:(i=(n=f.session)===null||n===void 0?void 0:n.access_token)!==null&&i!==void 0?i:void 0})});if(t)throw t;return be()&&!(!((a=e.options)===null||a===void 0)&&a.skipBrowserRedirect)&&window.location.assign(s==null?void 0:s.url),this._returnResult({data:{provider:e.provider,url:s==null?void 0:s.url},error:null})}catch(s){if(I(s))return this._returnResult({data:{provider:e.provider,url:null},error:s});throw s}}async linkIdentityIdToken(e){return await this._useSession(async a=>{var s;try{const{error:t,data:{session:o}}=a;if(t)throw t;const{options:u,provider:l,token:c,access_token:n,nonce:i}=e,f=await $(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,jwt:(s=o==null?void 0:o.access_token)!==null&&s!==void 0?s:void 0,body:{provider:l,id_token:c,access_token:n,nonce:i,link_identity:!0,gotrue_meta_security:{captcha_token:u==null?void 0:u.captchaToken}},xform:He}),{data:d,error:m}=f;return m?this._returnResult({data:{user:null,session:null},error:m}):!d||!d.session||!d.user?this._returnResult({data:{user:null,session:null},error:new Zr}):(d.session&&(await this._saveSession(d.session),await this._notifyAllSubscribers("USER_UPDATED",d.session)),this._returnResult({data:d,error:m}))}catch(t){if(await me(this.storage,`${this.storageKey}-code-verifier`),I(t))return this._returnResult({data:{user:null,session:null},error:t});throw t}})}async unlinkIdentity(e){try{return await this._useSession(async a=>{var s,t;const{data:o,error:u}=a;if(u)throw u;
60return await $(this.fetch,"DELETE",`${this.url}/user/identities/${e.identity_id}`,{headers:this.headers,jwt:(t=(s=o.session)===null||s===void 0?void 0:s.access_token)!==null&&t!==void 0?t:void 0})})}catch(a){if(I(a))return this._returnResult({data:null,error:a});throw a}}async _refreshAccessToken(e){const a=`#_refreshAccessToken(${e.substring(0,5)}...)`;this._debug(a,"begin");try{const s=Date.now();return await id(async t=>(t>0&&await nd(200*Math.pow(2,t-1)),this._debug(a,"refreshing attempt",t),await $(this.fetch,"POST",`${this.url}/token?grant_type=refresh_token`,{body:{refresh_token:e},headers:this.headers,xform:He})),(t,o)=>{const u=200*Math.pow(2,t);return o&&st(o)&&Date.now()+u-s<oa})}catch(s){if(this._debug(a,"error",s),I(s))return this._returnResult({data:{session:null,user:null},error:s});throw s}finally{this._debug(a,"end")}}_isValidSession(e){return typeof e=="object"&&e!==null&&"access_token"in e&&"refresh_token"in e&&"expires_at"in e}async _handleProviderSignIn(e,a){const s=await this._getUrlForProvider(`${this.url}/authorize`,e,{redirectTo:a.redirectTo,scopes:a.scopes,queryParams:a.queryParams});return this._debug("#_handleProviderSignIn()","provider",e,"options",a,"url",s),be()&&!a.skipBrowserRedirect&&window.location.assign(s),{data:{provider:e,url:s},error:null}}async _recoverAndRefresh(){var e,a;const s="#_recoverAndRefresh()";this._debug(s,"begin");try{const t=await jr(this.storage,this.storageKey);if(t&&this.userStorage){let u=await jr(this.userStorage,this.storageKey+"-user");!this.storage.isServer&&Object.is(this.storage,this.userStorage)&&!u&&(u={user:t.user},await ua(this.userStorage,this.storageKey+"-user",u)),t.user=(e=u==null?void 0:u.user)!==null&&e!==void 0?e:tt()}else if(t&&!t.user&&!t.user){const u=await jr(this.storage,this.storageKey+"-user");u&&(u!=null&&u.user)?(t.user=u.user,await me(this.storage,this.storageKey+"-user"),await ua(this.storage,this.storageKey,t)):t.user=tt()}if(this._debug(s,"session from storage",t),!this._isValidSession(t)){this._debug(s,"session is not valid"),t!==null&&await this._removeSession();return}const o=((a=t.expires_at)!==null&&a!==void 0?a:1/0)*1e3-Date.now()<at;if(this._debug(s,`session has${o?"":" not"} expired with margin of ${at}s`),o){if(this.autoRefreshToken&&t.refresh_token){const{error:u}=await this._callRefreshToken(t.refresh_token);u&&(console.error(u),st(u)||(this._debug(s,"refresh failed with a non-retryable error, removing the session",u),await this._removeSession()))}}else if(t.user&&t.user.__isUserNotAvailableProxy===!0)try{const{data:u,error:l}=await this._getUser(t.access_token);!l&&(u!=null&&u.user)?(t.user=u.user,await this._saveSession(t),await this._notifyAllSubscribers("SIGNED_IN",t)):this._debug(s,"could not get user data, skipping SIGNED_IN notification")}catch(u){console.error("Error getting user data:",u),this._debug(s,"error getting user data, skipping SIGNED_IN notification",u)}else await this._notifyAllSubscribers("SIGNED_IN",t)}catch(t){this._debug(s,"error",t),console.error(t);return}finally{this._debug(s,"end")}}async _callRefreshToken(e){var a,s;if(!e)throw new Be;if(this.refreshingDeferred)return this.refreshingDeferred.promise;const t=`#_callRefreshToken(${e.substring(0,5)}...)`;this._debug(t,"begin");try{this.refreshingDeferred=new Ws;const{data:o,error:u}=await this._refreshAccessToken(e);if(u)throw u;if(!o.session)throw new Be;await this._saveSession(o.session),await this._notifyAllSubscribers("TOKEN_REFRESHED",o.session);const l={data:o.session,error:null};return this.refreshingDeferred.resolve(l),l}catch(o){if(this._debug(t,"error",o),I(o)){const u={data:null,error:o};return st(o)||await this._removeSession(),(a=this.refreshingDeferred)===null||a===void 0||a.resolve(u),u}throw(s=this.refreshingDeferred)===null||s===void 0||s.reject(o),o}finally{this.refreshingDeferred=null,this._debug(t,"end")}}async _notifyAllSubscribers(e,a,s=!0){const t=`#_notifyAllSubscribers(${e})`;this._debug(t,"begin",a,`broadcast = ${s}`);try{this.broadcastChannel&&s&&this.broadcastChannel.postMessage({event:e,session:a});const o=[],u=Array.from(this.stateChangeEmitters.values()).map(async l=>{try{await l.callback(e,a)}catch(c){o.push(c)}});if(await Promise.all(u),o.length>0){for(let l=0;l<o.length;l+=1)console.error(o[l]);throw o[0]}}finally{this._debug(t,"end")}}async _saveSession(e){this._debug("#_saveSession()",e),this.suppressGetSessionWarning=!0,await me(this.storage,`${this.storageKey}-code-verifier`);const a=Object.assign({},e),s=a.user&&a.user.__isUserNotAvailableProxy===!0;if(this.userStorage){!s&&a.user&&await ua(this.userStorage,this.storageKey+"-user",{user:a.user});const t=Object.assign({},a);delete t.user;const o=Jo(t);await ua(this.storage,this.storageKey,o)}else{const t=Jo(a);await ua(this.storage,this.storageKey,t)}}async _removeSession(){this._debug("#_removeSession()"),this.suppressGetSessionWarning=!1,await me(this.storage,this.storageKey),await me(this.storage,this.storageKey+"-code-verifier"),await me(this.storage,this.storageKey+"-user"),this.userStorage&&await me(this.userStorage,this.storageKey+"-user"),await this._notifyAllSubscribers("SIGNED_OUT",null)}_removeVisibilityChangedCallback(){this._debug("#_removeVisibilityChangedCallback()");const e=this.visibilityChangedCallback;this.visibilityChangedCallback=null;try{e&&be()&&(window!=null&&window.removeEventListener)&&window.removeEventListener("visibilitychange",e)}
60catch(a){console.error("removing visibilitychange callback failed",a)}}async _startAutoRefresh(){await this._stopAutoRefresh(),this._debug("#_startAutoRefresh()");const e=setInterval(()=>this._autoRefreshTokenTick(),oa);this.autoRefreshTicker=e,e&&typeof e=="object"&&typeof e.unref=="function"?e.unref():typeof Deno<"u"&&typeof Deno.unrefTimer=="function"&&Deno.unrefTimer(e);const a=setTimeout(async()=>{await this.initializePromise,await this._autoRefreshTokenTick()},0);this.autoRefreshTickTimeout=a,a&&typeof a=="object"&&typeof a.unref=="function"?a.unref():typeof Deno<"u"&&typeof Deno.unrefTimer=="function"&&Deno.unrefTimer(a)}async _stopAutoRefresh(){this._debug("#_stopAutoRefresh()");const e=this.autoRefreshTicker;this.autoRefreshTicker=null,e&&clearInterval(e);const a=this.autoRefreshTickTimeout;this.autoRefreshTickTimeout=null,a&&clearTimeout(a)}async startAutoRefresh(){this._removeVisibilityChangedCallback(),await this._startAutoRefresh()}async stopAutoRefresh(){this._removeVisibilityChangedCallback(),await this._stopAutoRefresh()}async _autoRefreshTokenTick(){this._debug("#_autoRefreshTokenTick()","begin");try{await this._acquireLock(0,async()=>{try{const e=Date.now();try{return await this._useSession(async a=>{const{data:{session:s}}=a;if(!s||!s.refresh_token||!s.expires_at){this._debug("#_autoRefreshTokenTick()","no session");return}const t=Math.floor((s.expires_at*1e3-e)/oa);this._debug("#_autoRefreshTokenTick()",`access token expires in ${t} ticks, a tick lasts ${oa}ms, refresh threshold is ${_t} ticks`),t<=_t&&await this._callRefreshToken(s.refresh_token)})}catch(a){console.error("Auto refresh tick failed with error. This is likely a transient error.",a)}}finally{this._debug("#_autoRefreshTokenTick()","end")}})}catch(e){if(e.isAcquireTimeout||e instanceof Tl)this._debug("auto refresh token tick lock not available");else throw e}}async _handleVisibilityChange(){if(this._debug("#_handleVisibilityChange()"),!be()||!(window!=null&&window.addEventListener))return this.autoRefreshToken&&this.startAutoRefresh(),!1;try{this.visibilityChangedCallback=async()=>{try{await this._onVisibilityChanged(!1)}catch(e){this._debug("#visibilityChangedCallback","error",e)}},window==null||window.addEventListener("visibilitychange",this.visibilityChangedCallback),await this._onVisibilityChanged(!0)}catch(e){console.error("_handleVisibilityChange",e)}}async _onVisibilityChanged(e){const a=`#_onVisibilityChanged(${e})`;this._debug(a,"visibilityState",document.visibilityState),document.visibilityState==="visible"?(this.autoRefreshToken&&this._startAutoRefresh(),e||(await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>{if(document.visibilityState!=="visible"){this._debug(a,"acquired the lock to recover the session, but the browser visibilityState is no longer visible, aborting");return}await this._recoverAndRefresh()}))):document.visibilityState==="hidden"&&this.autoRefreshToken&&this._stopAutoRefresh()}async _getUrlForProvider(e,a,s){const t=[`provider=${encodeURIComponent(a)}`];if(s!=null&&s.redirectTo&&t.push(`redirect_to=${encodeURIComponent(s.redirectTo)}`),s!=null&&s.scopes&&t.push(`scopes=${encodeURIComponent(s.scopes)}`),this.flowType==="pkce"){const[o,u]=await Xr(this.storage,this.storageKey),l=new URLSearchParams({code_challenge:`${encodeURIComponent(o)}`,code_challenge_method:`${encodeURIComponent(u)}`});t.push(l.toString())}if(s!=null&&s.queryParams){const o=new URLSearchParams(s.queryParams);t.push(o.toString())}return s!=null&&s.skipBrowserRedirect&&t.push(`skip_http_redirect=${s.skipBrowserRedirect}`),`${e}?${t.join("&")}`}async _unenroll(e){try{return await this._useSession(async a=>{var s;const{data:t,error:o}=a;return o?this._returnResult({data:null,error:o}):await $(this.fetch,"DELETE",`${this.url}/factors/${e.factorId}`,{headers:this.headers,jwt:(s=t==null?void 0:t.session)===null||s===void 0?void 0:s.access_token})})}catch(a){if(I(a))return this._returnResult({data:null,error:a});throw a}}async _enroll(e){try{return await this._useSession(async a=>{var s,t;const{data:o,error:u}=a;if(u)return this._returnResult({data:null,error:u});const l=Object.assign({friendly_name:e.friendlyName,factor_type:e.factorType},e.factorType==="phone"?{phone:e.phone}:e.factorType==="totp"?{issuer:e.issuer}:{}),{data:c,error:n}=await $(this.fetch,"POST",`${this.url}/factors`,{body:l,headers:this.headers,jwt:(s=o==null?void 0:o.session)===null||s===void 0?void 0:s.access_token});return n?this._returnResult({data:null,error:n}):(e.factorType==="totp"&&c.type==="totp"&&(!((t=c==null?void 0:c.totp)===null||t===void 0)&&t.qr_code)&&(c.totp.qr_code=`data:image/svg+xml;utf-8,${c.totp.qr_code}`),this._returnResult({data:c,error:null}))})}catch(a){if(I(a))return this._returnResult({data:null,error:a});throw a}}async _verify(e){return this._acquireLock(this.lockAcquireTimeout,async()=>{try{return await this._useSession(async a=>{var s;const{data:t,error:o}=a;if(o)return this._returnResult({data:null,error:o});const u=Object.assign({challenge_id:e.challengeId},"webauthn"in e?{webauthn:Object.assign(Object.assign({},e.webauthn),{credential_response:e.webauthn.type==="create"?Nd(e.webauthn.credential_response):Md(e.webauthn.credential_response)})}:{code:e.code}),{data:l,error:c}=await $(this.fetch,"POST",`${this.url}/factors/${e.factorId}/verify`,{body:u,headers:this.headers,jwt:(s=t==null?void 0:t.session)===null||s===void 0?void 0:s.access_token});return c?this._returnResult({data:null,error:c}):(await this._saveSession(Object.assign({expires_at:Math.round(Date.now()/1e3)+l.expires_in},l)),await this._notifyAllSubscribers("MFA_CHALLENGE_VERIFIED",l),this._returnResult({data:l,error:c}))})}catch(a){if(I(a))return this._returnResult({data:null,error:a});throw a}})}async _challenge(e){return this._acquireLock(this.lockAcquireTimeout,async()=>{try{return await this._useSession(async a=>{var s;const{data:t,error:o}=a;if(o)return this._returnResult({data:null,error:o});const u=await $(this.fetch,"POST",`${this.url}/factors/${e.factorId}/challenge`,{body:e,headers:this.headers,jwt:(s=t==null?void 0:t.session)===null||s===void 0?void 0:s.access_token});if(u.error)return u;const{data:l}=u;if(l.type!=="webauthn")return{data:l,error:null};switch(l.webauthn.type){case"create":return{data:Object.assign(Object.assign({},l),{webauthn:Object.assign(Object.assign({},l.webauthn),{credential_options:Object.assign(Object.assign({},l.webauthn.credential_options),{publicKey:jd(l.webauthn.credential_options.publicKey)})})}),error:null};case"request":return{data:Object.assign(Object.assign({},l),{webauthn:Object.assign(Object.assign({},l.webauthn),{credential_options:Object.assign(Object.assign({},l.webauthn.credential_options),{publicKey:Ld(l.webauthn.credential_options.publicKey)})})}),error:null}}})}catch(a){if(I(a))return this._returnResult({data:null,error:a});throw a}})}async _challengeAndVerify(e){const{data:a,error:s}=await this._challenge({factorId:e.factorId});return s?this._returnResult({data:null,error:s}):await this._verify({factorId:e.factorId,challengeId:a.id,code:e.code})}async _listFactors(){var e;const{data:{user:a},error:s}=await this.getUser();if(s)return{data:null,error:s};const t={all:[],phone:[],totp:[],webauthn:[]};for(const o of(e=a==null?void 0:a.factors)!==null&&e!==void 0?e:[])t.all.push(o),o.status==="verified"&&t[o.factor_type].push(o);return{data:t,error:null}}async _getAuthenticatorAssuranceLevel(e){var a,s,t,o;if(e)try{const{payload:m}=ds(e);let g=null;m.aal&&(g=m.aal);let S=g;const{data:{user:P},error:y}=await this.getUser(e);if(y)return this._returnResult({data:null,error:y});((s=(a=P==null?void 0:P.factors)===null||a===void 0?void 0:a.filter(E=>E.status==="verified"))!==null&&s!==void 0?s:[]).length>0&&(S="aal2");const _=m.amr||[];return{data:{currentLevel:g,nextLevel:S,currentAuthenticationMethods:_},error:null}}catch(m){if(I(m))return this._returnResult({data:null,error:m});throw m}const{data:{session:u},error:l}
60=await this.getSession();if(l)return this._returnResult({data:null,error:l});if(!u)return{data:{currentLevel:null,nextLevel:null,currentAuthenticationMethods:[]},error:null};const{payload:c}=ds(u.access_token);let n=null;c.aal&&(n=c.aal);let i=n;((o=(t=u.user.factors)===null||t===void 0?void 0:t.filter(m=>m.status==="verified"))!==null&&o!==void 0?o:[]).length>0&&(i="aal2");const d=c.amr||[];return{data:{currentLevel:n,nextLevel:i,currentAuthenticationMethods:d},error:null}}async _getAuthorizationDetails(e){try{return await this._useSession(async a=>{const{data:{session:s},error:t}=a;return t?this._returnResult({data:null,error:t}):s?await $(this.fetch,"GET",`${this.url}/oauth/authorizations/${e}`,{headers:this.headers,jwt:s.access_token,xform:o=>({data:o,error:null})}):this._returnResult({data:null,error:new Be})})}catch(a){if(I(a))return this._returnResult({data:null,error:a});throw a}}async _approveAuthorization(e,a){try{return await this._useSession(async s=>{const{data:{session:t},error:o}=s;if(o)return this._returnResult({data:null,error:o});if(!t)return this._returnResult({data:null,error:new Be});const u=await $(this.fetch,"POST",`${this.url}/oauth/authorizations/${e}/consent`,{headers:this.headers,jwt:t.access_token,body:{action:"approve"},xform:l=>({data:l,error:null})});return u.data&&u.data.redirect_url&&be()&&!(a!=null&&a.skipBrowserRedirect)&&window.location.assign(u.data.redirect_url),u})}catch(s){if(I(s))return this._returnResult({data:null,error:s});throw s}}async _denyAuthorization(e,a){try{return await this._useSession(async s=>{const{data:{session:t},error:o}=s;if(o)return this._returnResult({data:null,error:o});if(!t)return this._returnResult({data:null,error:new Be});const u=await $(this.fetch,"POST",`${this.url}/oauth/authorizations/${e}/consent`,{headers:this.headers,jwt:t.access_token,body:{action:"deny"},xform:l=>({data:l,error:null})});return u.data&&u.data.redirect_url&&be()&&!(a!=null&&a.skipBrowserRedirect)&&window.location.assign(u.data.redirect_url),u})}catch(s){if(I(s))return this._returnResult({data:null,error:s});throw s}}async _listOAuthGrants(){try{return await this._useSession(async e=>{const{data:{session:a},error:s}=e;return s?this._returnResult({data:null,error:s}):a?await $(this.fetch,"GET",`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:a.access_token,xform:t=>({data:t,error:null})}):this._returnResult({data:null,error:new Be})})}catch(e){if(I(e))return this._returnResult({data:null,error:e});throw e}}async _revokeOAuthGrant(e){try{return await this._useSession(async a=>{const{data:{session:s},error:t}=a;return t?this._returnResult({data:null,error:t}):s?(await $(this.fetch,"DELETE",`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:s.access_token,query:{client_id:e.clientId},noResolveJson:!0}),{data:{},error:null}):this._returnResult({data:null,error:new Be})})}catch(a){if(I(a))return this._returnResult({data:null,error:a});throw a}}async fetchJwk(e,a={keys:[]}){let s=a.keys.find(l=>l.kid===e);if(s)return s;const t=Date.now();if(s=this.jwks.keys.find(l=>l.kid===e),s&&this.jwks_cached_at+Jf>t)return s;const{data:o,error:u}=await $(this.fetch,"GET",`${this.url}/.well-known/jwks.json`,{headers:this.headers});if(u)throw u;return!o.keys||o.keys.length===0||(this.jwks=o,this.jwks_cached_at=t,s=o.keys.find(l=>l.kid===e),!s)?null:s}async getClaims(e,a={}){try{let s=e;if(!s){const{data:m,error:g}
60=await this.getSession();if(g||!m.session)return this._returnResult({data:null,error:g});s=m.session.access_token}const{header:t,payload:o,signature:u,raw:{header:l,payload:c}}=ds(s);a!=null&&a.allowExpired||pd(o.exp);const n=!t.alg||t.alg.startsWith("HS")||!t.kid||!("crypto"in globalThis&&"subtle"in globalThis.crypto)?null:await this.fetchJwk(t.kid,a!=null&&a.keys?{keys:a.keys}:a==null?void 0:a.jwks);if(!n){const{error:m}=await this.getUser(s);if(m)throw m;return{data:{claims:o,header:t,signature:u},error:null}}const i=Sd(t.alg),f=await crypto.subtle.importKey("jwk",n,i,!0,["verify"]);if(!await crypto.subtle.verify(i,f,u,td(`${l}.${c}`)))throw new Tt("Invalid JWT signature");return{data:{claims:o,header:t,signature:u},error:null}}catch(s){if(I(s))return this._returnResult({data:null,error:s});throw s}}}Ka.nextInstanceID={};const Jd=Ka,Yd="2.103.0";let ka="";typeof Deno<"u"?ka="deno":typeof document<"u"?ka="web":typeof navigator<"u"&&navigator.product==="ReactNative"?ka="react-native":ka="node";const Qd={"X-Client-Info":`supabase-js-${ka}/${Yd}`},Zd={headers:Qd},Xd={schema:"public"},eh={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:"implicit"},rh={};function Va(r){"@babel/helpers - typeof";return Va=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Va(r)}function ah(r,e){if(Va(r)!="object"||!r)return r;var a=r[Symbol.toPrimitive];if(a!==void 0){var s=a.call(r,e);if(Va(s)!="object")return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}function sh(r){var e=ah(r,"string");return Va(e)=="symbol"?e:e+""}function th(r,e,a){return(e=sh(e))in r?Object.defineProperty(r,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):r[e]=a,r}function su(r,e){var a=Object.keys(r);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(r);e&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable})),a.push.apply(a,s)}return a}function ie(r){for(var e=1;e<arguments.length;e++){var a=arguments[e]!=null?arguments[e]:{};e%2?su(Object(a),!0).forEach(function(s){th(r,s,a[s])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(a)):su(Object(a)).forEach(function(s){Object.defineProperty(r,s,Object.getOwnPropertyDescriptor(a,s))})}return r}const oh=r=>r?(...e)=>r(...e):(...e)=>fetch(...e),uh=()=>Headers,lh=(r,e,a)=>{const s=oh(a),t=uh();return async(o,u)=>{var l;const c=(l=await e())!==null&&l!==void 0?l:r;let n=new t(u==null?void 0:u.headers);return n.has("apikey")||n.set("apikey",r),n.has("Authorization")||n.set("Authorization",`Bearer ${c}`),s(o,ie(ie({},u),{},{headers:n}))}};function ch(r){return r.endsWith("/")?r:r+"/"}function nh(r,e){var a,s;const{db:t,auth:o,realtime:u,global:l}=r,{db:c,auth:n,realtime:i,global:f}=e,d={db:ie(ie({},c),t),auth:ie(ie({},n),o),realtime:ie(ie({},i),u),storage:{},global:ie(ie(ie({},f),l),{},{headers:ie(ie({},(a=f==null?void 0:f.headers)!==null&&a!==void 0?a:{}),(s=l==null?void 0:l.headers)!==null&&s!==void 0?s:{})}),accessToken:async()=>""};return r.accessToken?d.accessToken=r.accessToken:delete d.accessToken,d}function ih(r){const e=r==null?void 0:r.trim();if(!e)throw new Error("supabaseUrl is required.");if(!e.match(/^https?:\/\//i))throw new Error("Invalid supabaseUrl: Must be a valid HTTP or HTTPS URL.");try{return new URL(ch(e))}catch{throw Error("Invalid supabaseUrl: Provided URL is malformed.")}}var fh=class extends Jd{constructor(r){super(r)}},dh=class{constructor(r,e,a){var s,t;this.supabaseUrl=r,this.supabaseKey=e;const o=ih(r);if(!e)throw new Error("supabaseKey is required.");this.realtimeUrl=new URL("realtime/v1",o),this.realtimeUrl.protocol=this.realtimeUrl.protocol.replace("http","ws"),this.authUrl=new URL("auth/v1",o),this.storageUrl=new URL("storage/v1",o),this.functionsUrl=new URL("functions/v1",o);const u=`sb-${o.hostname.split(".")[0]}-auth-token`,l={db:Xd,realtime:rh,auth:ie(ie({},eh),{},{storageKey:u}),global:Zd},c=nh(a??{},l);if(this.storageKey=(s=c.auth.storageKey)!==null&&s!==void 0?s:"",this.headers=(t=c.global.headers)!==null&&t!==void 0?t:{},c.accessToken)this.accessToken=c.accessToken,this.auth=new Proxy({},{get:(i,f)=>{throw new Error(`@supabase/supabase-js: Supabase Client is configured with the accessToken option, accessing supabase.auth.${String(f)} is not possible`)}});else{var n;this.auth=this._initSupabaseAuthClient((n=c.auth)!==null&&n!==void 0?n:{},this.headers,c.global.fetch)}this.fetch=lh(e,this._getAccessToken.bind(this),c.global.fetch),this.realtime=this._initRealtimeClient(ie({headers:this.headers,accessToken:this._getAccessToken.bind(this)},c.realtime)),this.accessToken&&Promise.resolve(this.accessToken()).then(i=>this.realtime.setAuth(i)).catch(i=>console.warn("Failed to set initial Realtime auth token:",i)),this.rest=new R0(new URL("rest/v1",o).href,{headers:this.headers,schema:c.db.schema,fetch:this.fetch,timeout:c.db.timeout,urlLengthLimit:c.db.urlLengthLimit}),this.storage=new zf(this.storageUrl.href,this.headers,this.fetch,a==null?void 0:a.storage),c.accessToken||this._listenForAuthEvents()}get functions(){return new C0(this.functionsUrl.href,{headers:this.headers,customFetch:this.fetch})}from(r){return this.rest.from(r)}schema(r){return this.rest.schema(r)}rpc(r,e={},a={head:!1,get:!1,count:void 0}){return this.rest.rpc(r,e,a)}channel(r,e={config:{}}){return this.realtime.channel(r,e)}getChannels(){return this.realtime.getChannels()}removeChannel(r){return this.realtime.removeChannel(r)}removeAllChannels(){return this.realtime.removeAllChannels()}async _getAccessToken(){var r=this,e,a;if(r.accessToken)return await r.accessToken();const{data:s}=await r.auth.getSession();return(e=(a=s.session)===null||a===void 0?void 0:a.access_token)!==null&&e!==void 0?e:r.supabaseKey}_initSupabaseAuthClient({autoRefreshToken:r,persistSession:e,detectSessionInUrl:a,storage:s,userStorage:t,storageKey:o,flowType:u,lock:l,debug:c,throwOnError:n},i,f){const d={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new fh({url:this.authUrl.href,headers:ie(ie({},d),i),storageKey:o,autoRefreshToken:r,persistSession:e,detectSessionInUrl:a,storage:s,userStorage:t,flowType:u,lock:l,debug:c,throwOnError:n,fetch:f,hasCustomAuthorizationHeader:Object.keys(this.headers).some(m=>m.toLowerCase()==="authorization")})}_initRealtimeClient(r){return new hf(this.realtimeUrl.href,ie(ie({},r),{},{params:ie(ie({},{apikey:this.supabaseKey}),r==null?void 0:r.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((r,e)=>{this._handleTokenChanged(r,"CLIENT",e==null?void 0:e.access_token)})}_handleTokenChanged(r,e,a){(r==="TOKEN_REFRESHED"||r==="SIGNED_IN")&&this.changedAccessToken!==a?(this.changedAccessToken=a,this.realtime.setAuth(a)):r==="SIGNED_OUT"&&(this.realtime.setAuth(),e=="STORAGE"&&this.auth.signOut(),this.changedAccessToken=void 0)}};const hh=(r,e,a)=>new dh(r,e,a);function mh(){if(typeof window<"u")return!1;const r=globalThis.process;if(!r)return!1;const e=r.version;if(e==null)return!1;const a=e.match(/^v(\d+)\./);return a?parseInt(a[1],10)<=18:!1}mh()&&console.warn("⚠️  Node.js 18 and below are deprecated and will no longer be supported in future versions of @supabase/supabase-js. Please upgrade to N
60ode.js 20 or later. For more information, visit: https://github.com/orgs/supabase/discussions/37217");const bh="https://nvfqtxvccxjecogwaruf.supabase.co",gh=`eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Im52ZnF0eHZjY3hqZWNvZ3dhcnVmIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzYwMTM5MzQsImV4cCI6MjA5MTU4OTkzNH0.F1liKw6E-XsRR_2mzoWqF5UWPJcZD_cZxOs9S6vta_A
61`,Re=hh(bh,gh),ph={class:"admin-panel"},Sh={key:0,class:"admin-body"},vh={key:0,class:"admin-error"},Fh={key:1,class:"admin-success"},wh={class:"admin-add-row"},Ch=["onKeydown"],yh=["disabled"],_h={key:2,class:"admin-loading"},kh={key:3,class:"admin-email-list"},Gh={class:"admin-email-text"},Th=["disabled","onClick"],Eh={key:1,class:"admin-badge"},Ph={__name:"AdminPanel",setup(r){const e=ce([]),a=ce(""),s=ce(!1),t=ce(!1),o=ce(null),u=ce(""),l=ce(""),c=ce(!1);async function n(){s.value=!0,u.value="";try{const[{data:m,error:g},{data:S,error:P}]=await Promise.all([Re.from("admins").select("id, email"),Re.from("athlete_app_access").select("athlete_id, athletes(id, email)").eq("app_name","carb_loader")]);if(g)throw new Error(g.message);if(P)throw new Error(P.message);e.value=[...(m||[]).map(y=>({id:y.id,email:y.email,role:"admin"})),...(S||[]).filter(y=>y.athletes).map(y=>({id:y.athletes.id,email:y.athletes.email,role:"athlete"}))]}catch(m){u.value=m.message}finally{s.value=!1}}async function i(){const m=a.value.trim().toLowerCase();if(m){t.value=!0,u.value="",l.value="";try{const{data:g}=await Re.from("athletes").select("id").eq("email",m).maybeSingle();let S;if(g)S=g.id;else{const{data:y,error:T}=await Re.from("athletes").insert({email:m}).select("id").single();if(T)throw new Error(T.message);S=y.id}const{data:P}=await Re.from("athlete_app_access").select("id").eq("athlete_id",S).eq("app_name","carb_loader").maybeSingle();if(!P){const{error:y}=await Re.from("athlete_app_access").insert({athlete_id:S,app_name:"carb_loader"});if(y)throw new Error(y.message)}a.value="",l.value=`${m} added`,await n(),setTimeout(()=>{l.value=""},3e3)}catch(g){u.value=g.message}finally{t.value=!1}}}async function f(m,g){o.value=g,u.value="",l.value="";try{const{error:S}=await Re.from("athlete_app_access").delete().eq("athlete_id",g);if(S)throw new Error(S.message);l.value=`${m} removed from all apps`,await n(),setTimeout(()=>{l.value=""},3e3)}catch(S){u.value=S.message}finally{o.value=null}}function d(){c.value=!c.value,c.value&&e.value.length===0&&n()}return(m,g)=>(D(),q("div",ph,[p("button",{class:"admin-toggle",onClick:d},[g[1]||(g[1]=p("span",{class:"admin-toggle-label"},"Admin Panel",-1)),p("span",{class:Ce(["admin-toggle-arrow",{expanded:c.value}])},"▼",2)]),c.value?(D(),q("div",Sh,[u.value?(D(),q("p",vh,z(u.value),1)):ke("",!0),l.value?(D(),q("p",Fh,z(l.value),1)):ke("",!0),p("div",wh,[zr(p("input",{"onUpdate:modelValue":g[0]||(g[0]=S=>a.value=S),type:"email",placeholder:"Add email address",class:"admin-input",onKeydown:Xn(il(i,["prevent"]),["enter"])},null,40,Ch),[[ma,a.value]]),p("button",{class:"admin-add-btn",disabled:t.value,onClick:i},z(t.value?"Adding...":"Add"),9,yh)]),s.value?(D(),q("div",_h,"Loading...")):(D(),q("ul",kh,[(D(!0),q(ve,null,ga(e.value,S=>(D(),q("li",{key:S.id,class:"admin-email-item"},[p("span",Gh,z(S.email),1),S.role!=="admin"?(D(),q("button",{key:0,class:"admin-remove-btn",disabled:o.value===S.id,onClick:P=>f(S.email,S.id)},z(o.value===S.id?"...":"Remove"),9,Th)):(D(),q("span",Eh,"admin"))]))),128))]))])):ke("",!0)]))}},Ah=Hr(Ph,[["__scopeId","data-v-042740cd"]]),Al=[{id:"F000002",name:"Abalone, black lip, aquacultured, raw",availableCarb:1.6,fibre:0,protein:16.2,fat:.8,freeFructose:0,freeGlucose:.4,sucrose:0,maltose:null,lactose:0,galactose:null,starch:0,totalSugars:.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000003",name:"Abalone, black lip, wild, raw",availableCarb:1.6,fibre:0,protein:19.4,fat:.6,freeFructose:0,freeGlucose:.4,sucrose:0,maltose:null,lactose:0,galactose:null,starch:0,totalSugars:.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000004",name:"Abalone, brown lip, wild, raw",availableCarb:1.6,fibre:0,protein:17.8,fat:.6,freeFructose:0,freeGlucose:.4,sucrose:0,maltose:null,lactose:0,galactose:null,starch:0,totalSugars:.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000005",name:"Abalone, green lip, aquacultured, raw",availableCarb:1.6,fibre:0,protein:17.1,fat:.8,freeFructose:0,freeGlucose:.4,sucrose:0,maltose:null,lactose:0,galactose:null,starch:0,totalSugars:.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000006",name:"Abalone, green lip, wild, raw",availableCarb:1.6,fibre:0,protein:18.7,fat:.5,freeFructose:0,freeGlucose:.4,sucrose:0,maltose:null,lactose:0,galactose:null,starch:0,totalSugars:.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000050",name:"Alcoholic beverage, spirit, approximately 3
610% v/v, all (Brandy, Gin, Rum, Vodka and Whisky), cooked",availableCarb:.3,fibre:0,protein:0,fat:0,freeFructose:0,freeGlucose:0,sucrose:.3,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000051",name:"Alcoholic beverage, spirit, approximately 40% v/v, all (Brandy, Gin, Rum, Vodka and Whisky)",availableCarb:.1,fibre:0,protein:0,fat:0,freeFructose:0,freeGlucose:0,sucrose:.1,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009827",name:"Almond beverage, added sugar & Ca",availableCarb:3,fibre:.6,protein:.5,fat:1.4,freeFructose:0,freeGlucose:0,sucrose:2.2,maltose:0,lactose:0,galactose:null,starch:.8,totalSugars:2.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009828",name:"Almond beverage, added sugar & vitamins B1, B2 & B12 & Ca",availableCarb:3,fibre:.6,protein:.5,fat:1.4,freeFructose:0,freeGlucose:0,sucrose:2.2,maltose:0,lactose:0,galactose:null,starch:.8,totalSugars:2.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009825",name:"Almond beverage, added sugar, unfortified",availableCarb:3,fibre:.6,protein:.5,fat:1.4,freeFructose:0,freeGlucose:0,sucrose:2.2,maltose:0,lactose:0,galactose:null,starch:.8,totalSugars:2.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009826",name:"Almond beverage, no added sugar, added Ca",availableCarb:0,fibre:.5,protein:.5,fat:1.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009824",name:"Almond beverage, no added sugar, unfortified",availableCarb:0,fibre:.5,protein:.5,fat:1.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000061",name:"Amaranth, grain, whole, uncooked",availableCarb:55.6,fibre:11.1,protein:15.2,fat:6.4,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:51.8,totalSugars:3.8,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F000074",name:"Anchovy, canned in oil, drained",availableCarb:0,fibre:0,protein:25.4,fat:8.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000086",name:"Apple, bonza, unpeeled, raw",availableCarb:11.5,fibre:3.2,protein:.3,fat:.3,freeFructose:7.6,freeGlucose:2.8,sucrose:1.1,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:11.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000089",name:"Apple, dried",availableCarb:59.8,fibre:8.5,protein:1.2,fat:0,freeFructose:34,freeGlucose:16,sucrose:9.4,maltose:0,lactose:0,galactose:null,starch:.4,totalSugars:59.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000091",name:"Apple, fuji, unpeeled, raw",availableCarb:12.1,fibre:2.4,protein:.3,fat:.3,freeFructose:7.7,freeGlucose:3.3,sucrose:1.1,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:12.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000092",name:"Apple, golden delicious, unpeeled, raw",availableCarb:10.5,fibre:2.5,protein:.3,fat:0,freeFructose:6.6,freeGlucose:2.4,sucrose:1.5,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:10.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000095",name:"Apple, granny-smith, unpeeled, raw",availableCarb:10.5,fibre:2.3,protein:.3,fat:0,freeFructose:5.5,freeGlucose:2.8,sucrose:2,maltose:0,lactose:0,galactose:null,starch:.2,totalSugars:10.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000098",name:"Apple, green skin, unpeeled, raw",availableCarb:10.5,fibre:2.4,protein:.3,fat:0,freeFructose:6,freeGlucose:2.6,sucrose:1.8,maltose:0,lactose:0,galactose:null,starch:.1,totalSugars:10.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000099",name:"Apple, jonathon, unpeeled, raw",availableCarb:11.9,fibre:2.3,protein:.3,fat:0,freeFructose:6.6,freeGlucose:2.9,sucrose:2.3,maltose:0,lactose:0,galactose:null,starch:.1,totalSugars:11.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000105",name:"Apple, pink lady, unpeeled, raw",availableCarb:12.3,fibre:3,protein:.2,fat:0,freeFructose:6.1,freeGlucose:1.4,sucrose:4.6,maltose:0,lactose:0,galactose:null,starch:.2,totalSugars:12.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000107",name:"Apple, red delicious, unpeeled, raw",availableCarb:13.5,fibre:2.3,protein:.3,fat:0,freeFructose:7.3,freeGlucose:3.5,sucrose:2.2,maltose:0,lactose:0,galactose:null,starch:.5,totalSugars:13,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000110",name:"Apple, red skin, unpeeled, raw",availableCarb:12.4,f
61ibre:2.7,protein:.2,fat:0,freeFructose:6.6,freeGlucose:2,sucrose:3.5,maltose:0,lactose:0,galactose:null,starch:.3,totalSugars:12,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000111",name:"Apple, royal gala, unpeeled, raw",availableCarb:12.1,fibre:2.1,protein:.4,fat:0,freeFructose:6.9,freeGlucose:2.3,sucrose:1.9,maltose:0,lactose:0,galactose:0,starch:1,totalSugars:11.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000122",name:"Apricot, canned in pear juice",availableCarb:8.2,fibre:1.8,protein:.8,fat:0,freeFructose:3.4,freeGlucose:2.3,sucrose:2.4,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:8.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000123",name:"Apricot, canned in pear juice, drained",availableCarb:7.8,fibre:3.1,protein:1,fat:0,freeFructose:3,freeGlucose:2.4,sucrose:2.4,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:7.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000124",name:"Apricot, canned in pear juice, juice only",availableCarb:8.7,fibre:0,protein:.5,fat:0,freeFructose:4.1,freeGlucose:2.2,sucrose:2.4,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:8.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000130",name:"Apricot, dried",availableCarb:41.5,fibre:8.4,protein:4.3,fat:.2,freeFructose:12.5,freeGlucose:15.6,sucrose:12.4,maltose:0,lactose:0,galactose:null,starch:1,totalSugars:40.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000134",name:"Apricot, raw",availableCarb:7.7,fibre:1.5,protein:.2,fat:.4,freeFructose:1.7,freeGlucose:2.6,sucrose:3.3,maltose:0,lactose:0,galactose:null,starch:.1,totalSugars:7.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000141",name:"Artichoke heart, canned in brine, drained",availableCarb:1.2,fibre:4.7,protein:1.9,fat:.3,freeFructose:.4,freeGlucose:.4,sucrose:.3,maltose:0,lactose:0,galactose:null,starch:.1,totalSugars:1.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000142",name:"Artichoke, globe, boiled, drained",availableCarb:1.5,fibre:9.5,protein:3.3,fat:.2,freeFructose:.4,freeGlucose:.5,sucrose:.2,maltose:0,lactose:0,galactose:null,starch:.5,totalSugars:1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000144",name:"Artichoke, globe, raw",availableCarb:1.3,fibre:8.1,protein:2.8,fat:.2,freeFructose:.3,freeGlucose:.4,sucrose:.2,maltose:0,lactose:0,galactose:null,starch:.4,totalSugars:.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000145",name:"Artichoke, jerusalem, peeled, boiled, drained",availableCarb:11.3,fibre:3.2,protein:2.2,fat:.1,freeFructose:.4,freeGlucose:.4,sucrose:2,maltose:0,lactose:0,galactose:null,starch:.3,totalSugars:2.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000146",name:"Artichoke, jerusalem, peeled, raw",availableCarb:10.5,fibre:3,protein:2.1,fat:.1,freeFructose:.4,freeGlucose:.4,sucrose:1.9,maltose:0,lactose:0,galactose:null,starch:.3,totalSugars:2.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000149",name:"Asparagus, canned in brine, drained",availableCarb:1.5,fibre:3.9,protein:1.9,fat:.1,freeFructose:.6,freeGlucose:.5,sucrose:.4,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:1.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000151",name:"Asparagus, green, boiled, drained",availableCarb:1.6,fibre:2.5,protein:2.9,fat:.1,freeFructose:.9,freeGlucose:.6,sucrose:.1,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:1.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000155",name:"Asparagus, green, raw",availableCarb:1.4,fibre:2.2,protein:2.5,fat:.1,freeFructose:.8,freeGlucose:.5,sucrose:.1,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:1.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000162",name:"Avocado, raw",availableCarb:.2,fibre:7.5,protein:1.6,fat:13.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.2,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000223",name:"Bacon, middle rasher, separable fat, fried, no added fat",availableCarb:.4,fibre:0,protein:11.6,fat:81.1,freeFructose:0,freeGlucose:.2,sucrose:.2,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.4,source:"ausnut-r2",sucroseSource:"measured"}
61,{id:"F000224",name:"Bacon, middle rasher, separable lean, fried, no added fat",availableCarb:.8,fibre:0,protein:31.2,fat:8.5,freeFructose:0,freeGlucose:0,sucrose:.8,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000228",name:"Bacon, middle rasher, untrimmed, raw",availableCarb:.2,fibre:0,protein:15.4,fat:28.2,freeFructose:.1,freeGlucose:.1,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000231",name:"Bacon, shortcut, as purchased without rind, fried, no added fat",availableCarb:.9,fibre:0,protein:30.4,fat:13.9,freeFructose:0,freeGlucose:.4,sucrose:.5,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000243",name:"Baked beans, canned in tomato sauce",availableCarb:10,fibre:4.8,protein:4.8,fat:.3,freeFructose:.7,freeGlucose:1.2,sucrose:.2,maltose:0,lactose:0,galactose:null,starch:8,totalSugars:2.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000244",name:"Baked beans, canned in tomato sauce, reduced salt",availableCarb:11.3,fibre:4.8,protein:4.8,fat:.3,freeFructose:.7,freeGlucose:1.2,sucrose:1.5,maltose:0,lactose:0,galactose:null,starch:8,totalSugars:3.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000247",name:"Baking powder, dry powder",availableCarb:19.8,fibre:.4,protein:.8,fat:.3,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:19.8,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F000248",name:"Baking soda (bicarbonate), dry powder",availableCarb:0,fibre:0,protein:0,fat:0,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F009804",name:"Ball, snack, date based",availableCarb:45,fibre:9.9,protein:8.8,fat:11.7,freeFructose:21,freeGlucose:20,sucrose:0,maltose:0,lactose:0,galactose:null,starch:4,totalSugars:41,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000253",name:"Bamboo shoot, canned in water, heated, drained",availableCarb:1.3,fibre:2.8,protein:.8,fat:0,freeFructose:.3,freeGlucose:.4,sucrose:0,maltose:0,lactose:.1,galactose:null,starch:.5,totalSugars:.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000262",name:"Banana, cavendish, peeled, raw",availableCarb:19.6,fibre:2.2,protein:1.4,fat:.2,freeFructose:6.2,freeGlucose:6.7,sucrose:0,maltose:0,lactose:0,galactose:0,starch:6.8,totalSugars:12.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000267",name:"Banana, lady finger or sugar, peeled, raw",availableCarb:25,fibre:3.7,protein:1.5,fat:.1,freeFructose:6.4,freeGlucose:6.7,sucrose:5.1,maltose:0,lactose:0,galactose:null,starch:6.8,totalSugars:18.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000279",name:"Bar, cherry & coconut centre, dark chocolate-coated",availableCarb:52.6,fibre:4.7,protein:4.4,fat:22.4,freeFructose:3.7,freeGlucose:5.9,sucrose:35.6,maltose:1.9,lactose:1.5,galactose:null,starch:4,totalSugars:48.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000285",name:"Bar, coconut cream centre, milk chocolate-coated",availableCarb:52.1,fibre:7.4,protein:4.5,fat:22.4,freeFructose:0,freeGlucose:3.4,sucrose:35.9,maltose:1.9,lactose:3.1,galactose:null,starch:6.2,totalSugars:44.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000296",name:"Bar, honeycomb centre, milk chocolate-coated",availableCarb:70,fibre:.3,protein:2.6,fat:16.2,freeFructose:.8,freeGlucose:2.2,sucrose:51,maltose:2.7,lactose:7.5,galactose:null,starch:5.8,totalSugars:64.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000333",name:"Bar, muesli, plain or with dried fruit",availableCarb:59.2,fibre:7,protein:8.3,fat:11.5,freeFructose:2.3,freeGlucose:3.3,sucrose:8.8,maltose:1.5,lactose:0,galactose:null,starch:41.5,totalSugars:15.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000337",name:"Bar, muesli, plain or with dried fruit, chocolate-coated",availableCarb:64.1,fibre:6.4,protein:6.1,fat:11.5,freeFructose:1.3,freeGlucose:3,sucrose:13,maltose:1.7,lactose:1.1,galactose:null,starch:44,totalSugars:20.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000339",name:"Bar, muesli, plain or with dried fruit, yoghurt-coated",availableCarb:59.5,fibre:6.4,protein:6.6,fat:14,freeFructose:1.8,freeGlucose:3,sucrose:12.5,maltose:1.6,lactose:4.2,galactose:null,starch:36.4,totalSugars:23.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000344",name:"Bar, muesli, with nuts",availableCarb:54.2,fibre:6.8,protein:9.4,fat:19.9,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:40.2,totalSugars:14,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F000348",name:"Bar, nougat & caramel centre, milk chocolate-coated",availableCarb:62.6,fibre:1.6,protein:5.2,fat:17.2,freeFructose:.4,freeGlucose:7.9,sucrose:34.9,maltose:6.9,lactose:5.2,galactose:null,starch:5.3,totalSugars:55.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000368",name:"Bar, snack, fruit filled, baked",availableCarb:69.1,fibre:4.5,protein:3.9,fat:3,freeFructose:8.5,freeGlucose:10,sucrose:8.7,maltose:4.2,lactose:0,galactose:null,starch:37.7,totalSugars:31.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009803",name:"Bar, snack, oat based, baked",availableCarb:44.8,fibre:5.7,protein:8,fat:26.7,freeFructose:3.7,freeGlucose:3.5,sucrose:14,maltose:0,lactose:0,galactose:null,starch:23.6,totalSugars:21.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009802",name:"Bar, snack, with >35% nuts, added protein",availableCarb:20.8,fibre:4.8,protein:25,fat:31.9,freeFructose:1.6,freeGlucose:2.2,sucrose:9.6,maltose:1.6,lactose:0,galactose:null,starch:5.8,totalSugars:15,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009801",name:"Bar, snack, with >55% nuts",availableCarb:31,fibre:6.8,protein:18.8,fat:34.6,freeFructose:2.2,freeGlucose:4.8,sucrose:6,maltose:2.7,lactose:.2,galactose:null,starch:15,totalSugars:15.9,source:"ausnut-r2",sucroseSource:"measured"}
61,{id:"F000378",name:"Barley, pearl, boiled, no added fat or salt",availableCarb:25.1,fibre:5.4,protein:4.1,fat:1.3,freeFructose:0,freeGlucose:0,sucrose:.4,maltose:0,lactose:0,galactose:null,starch:24.7,totalSugars:.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000379",name:"Barley, pearl, uncooked",availableCarb:60.6,fibre:13.1,protein:9.9,fat:3.1,freeFructose:0,freeGlucose:0,sucrose:1,maltose:0,lactose:0,galactose:null,starch:59.6,totalSugars:1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000385",name:"Barramundi, aquacultured, fillet, grilled, no added fat",availableCarb:0,fibre:0,protein:26.4,fat:7.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000386",name:"Barramundi, aquacultured, fillet, raw",availableCarb:0,fibre:0,protein:19.2,fat:5.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000387",name:"Barramundi, aquacultured, fillet, steamed with no added fat",availableCarb:0,fibre:0,protein:22.9,fat:6.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000396",name:"Basil, green, fresh, raw",availableCarb:.2,fibre:3.3,protein:2.6,fat:.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.2,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000401",name:"Bassa (basa), fillet, baked, no added fat",availableCarb:0,fibre:0,protein:21.5,fat:2.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000403",name:"Bassa (basa), fillet, steamed, no added fat",availableCarb:0,fibre:0,protein:18.7,fat:2.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000402",name:"Bassa, fillet, raw",availableCarb:0,fibre:0,protein:15.7,fat:1.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000416",name:"Bean, broad, dried",availableCarb:37,fibre:18.6,protein:24.3,fat:2.1,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:34.3,totalSugars:2.7,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F000418",name:"Bean, broad, fresh, boiled, drained",availableCarb:2.4,fibre:7.6,protein:7.4,fat:.5,freeFructose:.1,freeGlucose:.2,sucrose:.4,maltose:0,lactose:0,galactose:null,starch:1.4,totalSugars:.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000419",name:"Bean, broad, fresh, raw",availableCarb:2.2,fibre:7.1,protein:6.9,fat:.5,freeFructose:.1,freeGlucose:.2,sucrose:.4,maltose:0,lactose:0,galactose:null,starch:1.3,totalSugars:.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000421",name:"Bean, butter, fresh, boiled, drained",availableCarb:2.5,fibre:2.5,protein:2.5,fat:.2,freeFructose:1.1,freeGlucose:.4,sucrose:.4,maltose:0,lactose:0,galactose:null,starch:.3,totalSugars:1.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000422",name:"Bean, butter, fresh, raw",availableCarb:2.3,fibre:2.3,protein:2.3,fat:.2,freeFructose:1,freeGlucose:.4,sucrose:.4,maltose:0,lactose:0,galactose:null,starch:.3,totalSugars:1.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000430",name:"Bean, green, fresh, boiled, drained",availableCarb:3.5,fibre:3,protein:1.9,fat:0,freeFructose:1.3,freeGlucose:1.2,sucrose:.3,maltose:0,lactose:0,galactose:null,starch:.8,totalSugars:2.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000431",name:"Bean, green, fresh, raw",availableCarb:3.3,fibre:2.8,protein:1.8,fat:0,freeFructose:1.2,freeGlucose:1.1,sucrose:.3,maltose:0,lactose:0,galactose:null,starch:.7,totalSugars:2.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000434",name:"Bean, green, frozen, boiled, drained",availableCarb:2.8,fibre:3.8,protein:1.4,fat:.2,freeFructose:.5,freeGlucose:.7,sucrose:.1,maltose:0,lactose:0,galactose:null,starch:1.5,totalSugars:1.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000436",name:"Bean, haricot, dried",availableCarb:34.8,fibre:18.5,protein:21.9,fat:2.2,freeFructose:0,freeGlucose:0,sucrose:3.5,maltose:0,lactose:0,galactose:null,starch:31.3,totalSugars:3.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000437",name:"Bean, haricot, dried, boiled, drained",availableCarb:12.6,fibre:8.8,protein:8.2,fat:.7,freeFructose:.9,freeGlucose:.6,sucrose:3.2,maltose:0,lactose:0,galactose:null,starch:7.9,totalSugars:4.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000441",name:"Bean, lima, dried",availableCarb:40.6,fibre:17.7,protein:21.4,fat:1.7,freeFructose:0,freeGlucose:0,sucrose:3.7,maltose:0,lactose:0,galactose:null,starch:34,totalSugars:3.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000442",name:"Bean, lima, dried, boiled, drained",availableCarb:10.2,f
61ibre:5.3,protein:6.4,fat:.3,freeFructose:0,freeGlucose:0,sucrose:.6,maltose:0,lactose:0,galactose:null,starch:9.6,totalSugars:.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000446",name:"Bean, mung, whole, dried, uncooked",availableCarb:41.9,fibre:13.7,protein:24.5,fat:2,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:39.8,totalSugars:2.1,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F000448",name:"Bean, red kidney, canned, drained",availableCarb:14,fibre:6.5,protein:6.6,fat:.6,freeFructose:.1,freeGlucose:.4,sucrose:1.7,maltose:.2,lactose:0,galactose:null,starch:10.8,totalSugars:2.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000449",name:"Bean, red kidney, dried",availableCarb:35.6,fibre:21.5,protein:22.5,fat:1.8,freeFructose:0,freeGlucose:0,sucrose:3.4,maltose:0,lactose:0,galactose:null,starch:32.2,totalSugars:3.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000451",name:"Bean, red kidney, dried, boiled, drained",availableCarb:9.1,fibre:7.2,protein:7.9,fat:.5,freeFructose:0,freeGlucose:0,sucrose:.6,maltose:0,lactose:0,galactose:null,starch:8.5,totalSugars:.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000452",name:"Bean, red kidney, fresh, boiled, drained",availableCarb:15.8,fibre:9.8,protein:13.8,fat:.4,freeFructose:.1,freeGlucose:.3,sucrose:.9,maltose:0,lactose:0,galactose:null,starch:14,totalSugars:1.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000453",name:"Bean, red kidney, fresh, raw",availableCarb:14.7,fibre:9.1,protein:12.8,fat:.4,freeFructose:.1,freeGlucose:.3,sucrose:.8,maltose:0,lactose:0,galactose:null,starch:13,totalSugars:1.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000472",name:"Beef, all cuts, separable fat, cooked, no added fat",availableCarb:0,fibre:0,protein:15.3,fat:55.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000473",name:"Beef, all cuts, separable fat, raw",availableCarb:0,fibre:0,protein:12.1,fat:61.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000503",name:"Beef, boneless dice or strips, lean, casseroled, no added fat",availableCarb:0,fibre:0,protein:37,fat:3.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000504",name:"Beef, boneless dice or strips, lean, raw",availableCarb:0,fibre:0,protein:27.6,fat:2.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000505",name:"Beef, boneless dice or strips, lean, stir-fried, no added fat",availableCarb:0,fibre:0,protein:31.5,fat:3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000506",name:"Beef, boneless dice or strips, untrimmed, casseroled, no added fat",availableCarb:0,fibre:0,protein:36.7,fat:3.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000507",name:"Beef, boneless dice or strips, untrimmed, raw",availableCarb:0,fibre:0,protein:27.3,fat:3.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000508",name:"Beef, boneless dice or strips, untrimmed, stir-fried, no added fat",availableCarb:0,fibre:0,protein:31.3,fat:3.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000519",name:"Beef, casserole meat, boneless or bone-in, blade, lean, casseroled",availableCarb:0,fibre:0,protein:30.6,fat:3.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000513",name:"Beef, casserole meat, boneless or bone-in, shin, lean, casseroled, no added fat",availableCarb:0,fibre:.5,protein:33.8,fat:2.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000514",name:"Beef, casserole meat, boneless or bone-in, shin, lean, raw",availableCarb:0,fibre:0,protein:21.9,fat:.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000515",name:"Beef, casserole meat, boneless or bone-in, shin, semi-trimmed, casseroled, no added fat",availableCarb:0,fibre:.5,protein:32.9,fat:5.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000516",name:"Beef, casserole meat, boneless or bone-in, shin, semi-trimmed, raw",availableCarb:0,fibre:0,protein:21.6,fat:2.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000517",name:"Beef, casserole meat, boneless or bone-in, shin, untrimmed, casseroled, no added fat",availableCarb:0,fibre:.4,protein:30.6,fat:11.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000518",name:"Beef, casserole meat, boneless or bone-in, shin, untrimmed, raw",availableCarb:0,fibre:0,protein:21.3,fat:4.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009785",name:"Beef, casserole meat, boneless, blade or chuck, lean, casseroled, no added fat",availableCarb:0,fibre:0,protein:31.8,fat:7.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009782",name:"Beef, casserole meat, boneless, blade or chuck, lean, raw",availableCarb:0,fibre:0,protein:22.6,fat:3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009786",name:"Beef, casserole meat, boneless, blade or chuck, semi-trimmed, casseroled",availableCarb:0,fibre:0,protein:30.7,fat:10.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009783",name:"Beef, casserole meat, boneless, blade or chuck, semi-trimmed, raw",availableCarb:0,fibre:0,protein:21.8,fat:7.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009787",name:"Beef, casserole meat, boneless, blade or chuck, untrimmed, casseroled, no added fat",availableCarb:0,fibre:0,protein:30.3,fat:11.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009784",name:"Beef, casserole meat, boneless, blade or chuck, untrimmed, raw",availableCarb:0,fibre:0,protein:21.3,fat:10,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000520",name:"Beef, casserole meat, boneless, blade, semi-trimmed, casseroled",availableCarb:0,fibre:0,protein:29.8,fat:6.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000521",name:"Beef, casserole meat, boneless, blade, untrimmed, casseroled",availableCarb:0,fibre:0,protein:29.3,fat:8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000522",name:"Beef, casserole meat, boneless, chuck, lean, casseroled, no added fat",availableCarb:0,fibre:0,protein:33,fat:10.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000523",name:"Beef, casserole meat, boneless, chuck, lean, raw",availableCarb:0,fibre:0,protein:23,fat:3.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"}
61,{id:"F000524",name:"Beef, casserole meat, boneless, chuck, semi-trimmed, casseroled",availableCarb:0,fibre:0,protein:31.6,fat:14.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000525",name:"Beef, casserole meat, boneless, chuck, semi-trimmed, raw",availableCarb:0,fibre:0,protein:22,fat:8.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000526",name:"Beef, casserole meat, boneless, chuck, untrimmed, casseroled, no added fat",availableCarb:0,fibre:0,protein:31.2,fat:15.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000527",name:"Beef, casserole meat, boneless, chuck, untrimmed, raw",availableCarb:0,fibre:0,protein:21.7,fat:10.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000544",name:"Beef, corned, canned",availableCarb:.3,fibre:.7,protein:21.5,fat:15.7,freeFructose:0,freeGlucose:0,sucrose:.3,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000559",name:"Beef, diced, lean, casseroled, no added fat",availableCarb:0,fibre:0,protein:36.5,fat:3.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000560",name:"Beef, diced, lean, dry-fried, no added fat",availableCarb:0,fibre:0,protein:32.1,fat:2.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000561",name:"Beef, diced, lean, raw",availableCarb:0,fibre:0,protein:27.9,fat:2.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000562",name:"Beef, diced, untrimmed, casseroled, no added fat",availableCarb:0,fibre:0,protein:36.2,fat:4.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000563",name:"Beef, diced, untrimmed, dry-fried, no added fat",availableCarb:0,fibre:0,protein:31.8,fat:3.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000564",name:"Beef, diced, untrimmed, raw",availableCarb:0,fibre:0,protein:27.6,fat:3.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000655",name:"Beef, mince, higher fat, raw",availableCarb:0,fibre:0,protein:22.5,fat:10.4,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F000656",name:"Beef, mince, higher fat, stir-fried, no added fat",availableCarb:0,fibre:0,protein:27.6,fat:13.5,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F000666",name:"Beef, mince, lower fat, raw",availableCarb:0,fibre:0,protein:22.9,fat:4.1,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F000667",name:"Beef, mince, lower fat, stir-fried, no added fat",availableCarb:0,fibre:0,protein:32.3,fat:8.1,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F000678",name:"Beef, mince, regular fat, raw",availableCarb:0,fibre:0,protein:22.4,fat:8.9,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F000679",name:"Beef, mince, regular fat, stir-fried, no added fat",availableCarb:0,fibre:0,protein:29.5,fat:16.4,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"}
61,{id:"F000704",name:"Beef, roasting piece, silverside or topside, lean, raw",availableCarb:0,fibre:0,protein:23,fat:3.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000705",name:"Beef, roasting piece, silverside or topside, lean, roasted, no added fat",availableCarb:0,fibre:0,protein:29.8,fat:4.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000706",name:"Beef, roasting piece, silverside or topside, semi-trimmed, raw",availableCarb:0,fibre:0,protein:22.8,fat:4.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000707",name:"Beef, roasting piece, silverside or topside, semi-trimmed, roasted, no added fat",availableCarb:0,fibre:0,protein:29.4,fat:5.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000708",name:"Beef, roasting piece, silverside or topside, untrimmed, raw",availableCarb:0,fibre:0,protein:22,fat:8.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000709",name:"Beef, roasting piece, silverside or topside, untrimmed, roasted, no added fat",availableCarb:0,fibre:0,protein:28.6,fat:8.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000738",name:"Beef, rump steak, lean, grilled, no added fat",availableCarb:0,fibre:0,protein:32,fat:4.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000739",name:"Beef, rump steak, lean, raw",availableCarb:0,fibre:0,protein:20.4,fat:2.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000751",name:"Beef, rump steak, semi-trimmed, grilled, no added fat",availableCarb:0,fibre:0,protein:31,fat:7.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000752",name:"Beef, rump steak, semi-trimmed, raw",availableCarb:0,fibre:0,protein:20,fat:5.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000764",name:"Beef, rump steak, untrimmed, grilled, no added fat",availableCarb:0,fibre:0,protein:29.9,fat:10.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000765",name:"Beef, rump steak, untrimmed, raw",availableCarb:0,fibre:0,protein:18.9,fat:13.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000792",name:"Beef, silverside roast, lean, raw",availableCarb:0,fibre:0,protein:24.1,fat:2.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000793",name:"Beef, silverside roast, lean, roasted, no added fat",availableCarb:0,fibre:0,protein:26.9,fat:5.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000795",name:"Beef, silverside roast, semi-trimmed, raw",availableCarb:0,fibre:0,protein:23.6,fat:4.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000796",name:"Beef, silverside roast, semi-trimmed, roasted, no added fat",availableCarb:0,fibre:0,protein:26.6,fat:6.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"}
61,{id:"F000798",name:"Beef, silverside roast, untrimmed, raw",availableCarb:0,fibre:0,protein:22.8,fat:8.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000799",name:"Beef, silverside roast, untrimmed, roasted, no added fat",availableCarb:0,fibre:0,protein:26,fat:9.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000809",name:"Beef, sirloin steak, lean, grilled, no added fat",availableCarb:0,fibre:0,protein:30.5,fat:3.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000810",name:"Beef, sirloin steak, lean, raw",availableCarb:0,fibre:0,protein:24.1,fat:1.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000817",name:"Beef, sirloin steak, semi-trimmed, grilled, no added fat",availableCarb:0,fibre:0,protein:29.7,fat:6.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000818",name:"Beef, sirloin steak, semi-trimmed, raw",availableCarb:0,fibre:0,protein:23.4,fat:5.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000824",name:"Beef, sirloin steak, untrimmed, grilled, no added fat",availableCarb:0,fibre:0,protein:27.3,fat:14.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000825",name:"Beef, sirloin steak, untrimmed, raw",availableCarb:0,fibre:0,protein:21.4,fat:15.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000877",name:"Beef, steak, boneless or bone-in, blade, lean, grilled, no added fat",availableCarb:0,fibre:0,protein:31.9,fat:2.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000826",name:"Beef, steak, boneless or bone-in, blade, lean, raw",availableCarb:0,fibre:0,protein:22.2,fat:2.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000878",name:"Beef, steak, boneless or bone-in, blade, semi-trimmed, grilled, no added fat",availableCarb:0,fibre:0,protein:31,fat:5.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000827",name:"Beef, steak, boneless or bone-in, blade, semi-trimmed, raw",availableCarb:0,fibre:0,protein:21.6,fat:6.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000828",name:"Beef, steak, boneless or bone-in, blade, untrimmed, raw",availableCarb:0,fibre:0,protein:21,fat:9.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000829",name:"Beef, steak, boneless rump or sirloin, lean, grilled, no added fat",availableCarb:0,fibre:0,protein:31.2,fat:4.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000830",name:"Beef, steak, boneless rump or sirloin, lean, raw",availableCarb:0,fibre:0,protein:22.2,fat:2.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000831",name:"Beef, steak, boneless rump or sirloin, semi-trimmed, grilled, no added fat",availableCarb:0,fibre:0,protein:30.4,fat:7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000832",name:"Beef, steak, boneless rump or sirloin, semi-trimmed, raw",availableCarb:0,fibre:0,protein:21.7,fat:5.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000833",name:"Beef, steak, boneless rump or sirloin, untrimmed, grilled, no added fat",availableCarb:0,fibre:0,protein:28.6,fat:12.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000834",name:"Beef, steak, boneless rump or sirloin, untrimmed, raw",availableCarb:0,fibre:0,protein:20.2,fat:14.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000835",name:"Beef, steak, boneless, fillet or tenderloin, lean, grilled, no added fat",availableCarb:0,fibre:0,protein:31.9,fat:5.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000836",name:"Beef, steak, boneless, fillet or tenderloin, lean, raw",availableCarb:0,fibre:0,protein:22.2,fat:5.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000837",name:"Beef, steak, boneless, fillet or tenderloin, semi-trimmed, grilled, no added fat",availableCarb:0,fibre:0,protein:31.5,fat:6.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009781",name:"Beef, steak, boneless, fillet or tenderloin, semi-trimmed, raw",availableCarb:0,fibre:0,protein:21.7,fat:8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000838",name:"Beef, steak, boneless, fillet or tenderloin, untrimmed, grilled, no added fat",availableCarb:0,fibre:0,protein:30.8,fat:8.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000839",name:"Beef, steak, boneless, fillet or tenderloin, untrimmed, raw",availableCarb:0,fibre:0,protein:21.4,fat:9.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000840",name:"Beef, steak, boneless, round, lean, grilled, no added fat",availableCarb:0,fibre:0,protein:31.8,fat:2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000841",name:"Beef, steak, boneless, round, lean, raw",availableCarb:0,fibre:0,protein:21,fat:1.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000842",name:"Beef, steak, boneless, round, semi-trimmed, grilled, no added fat",availableCarb:0,fibre:0,protein:31.4,fat:3.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000843",name:"Beef, steak, boneless, round, semi-trimmed, raw",availableCarb:0,fibre:0,protein:20.5,fat:4.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000844",name:"Beef, steak, boneless, round, untrimmed, grilled, no added fat",availableCarb:0,fibre:0,protein:31,fat:4.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000845",name:"Beef, steak, boneless, round, untrimmed, raw",availableCarb:0,fibre:0,protein:20.4,fat:6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"}
61,{id:"F000846",name:"Beef, steak, boneless, scotch fillet, lean, grilled, no added fat",availableCarb:0,fibre:0,protein:31.9,fat:4.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000847",name:"Beef, steak, boneless, scotch fillet, lean, raw",availableCarb:0,fibre:0,protein:23.8,fat:2.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000848",name:"Beef, steak, boneless, scotch fillet, semi-trimmed, grilled, no added fat",availableCarb:0,fibre:0,protein:30.3,fat:9.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000849",name:"Beef, steak, boneless, scotch fillet, semi-trimmed, raw",availableCarb:0,fibre:0,protein:22.4,fat:10,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000850",name:"Beef, steak, boneless, scotch fillet, untrimmed, grilled, no added fat",availableCarb:0,fibre:0,protein:29.4,fat:12.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000851",name:"Beef, steak, boneless, scotch fillet, untrimmed, raw",availableCarb:0,fibre:0,protein:21.6,fat:13.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000879",name:"Beef, steak, with bone, blade, untrimmed, grilled, no added fat",availableCarb:0,fibre:0,protein:30.5,fat:7.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000880",name:"Beef, steak, with bone, T-bone or blade, lean, grilled, no added fat",availableCarb:0,fibre:0,protein:30.6,fat:3.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000881",name:"Beef, steak, with bone, T-bone or blade, lean, raw",availableCarb:0,fibre:0,protein:23.3,fat:2.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000882",name:"Beef, steak, with bone, T-bone or blade, semi-trimmed, grilled, no added fat",availableCarb:0,fibre:0,protein:29.3,fat:7.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000883",name:"Beef, steak, with bone, T-bone or blade, semi-trimmed, raw",availableCarb:0,fibre:0,protein:22.2,fat:7.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000884",name:"Beef, steak, with bone, T-bone or blade, untrimmed, grilled, no added fat",availableCarb:0,fibre:0,protein:28.4,fat:10.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000885",name:"Beef, steak, with bone, T-bone or blade, untrimmed, raw",availableCarb:0,fibre:0,protein:21.2,fat:13.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000886",name:"Beef, steak, with bone, T-bone, lean, grilled, no added fat",availableCarb:0,fibre:0,protein:29.2,fat:3.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000887",name:"Beef, steak, with bone, T-bone, lean, raw",availableCarb:0,fibre:0,protein:24.4,fat:2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000888",name:"Beef, steak, with bone, T-bone, semi-trimmed, grilled, no added fat",availableCarb:0,fibre:0,protein:27.5,fat:10,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000889",name:"Beef, steak, with bone, T-bone, semi-trimmed, raw",availableCarb:0,fibre:0,protein:22.8,fat:9.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"}
61,{id:"F000890",name:"Beef, steak, with bone, T-bone, untrimmed, grilled, no added fat",availableCarb:0,fibre:0,protein:26.3,fat:14.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000891",name:"Beef, steak, with bone, T-bone, untrimmed, raw",availableCarb:0,fibre:0,protein:21.3,fat:16.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000929",name:"Beef, stir-fry strips, lean, dry-fried, no added fat",availableCarb:0,fibre:0,protein:30.9,fat:3.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000931",name:"Beef, stir-fry strips, lean, raw",availableCarb:0,fibre:0,protein:27.2,fat:2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000932",name:"Beef, stir-fry strips, untrimmed, dry-fried, no added fat",availableCarb:0,fibre:0,protein:30.8,fat:3.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000933",name:"Beef, stir-fry strips, untrimmed, raw",availableCarb:0,fibre:0,protein:27,fat:2.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000934",name:"Beef, strips, lean, casseroled, no added fat",availableCarb:0,fibre:0,protein:37.5,fat:2.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000935",name:"Beef, strips, untrimmed, casseroled, no added fat",availableCarb:0,fibre:0,protein:37.3,fat:3.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000961",name:"Beef, topside roast, lean, raw",availableCarb:0,fibre:0,protein:22.3,fat:3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000962",name:"Beef, topside roast, lean, roasted, no added fat",availableCarb:0,fibre:0,protein:32.7,fat:2.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000963",name:"Beef, topside roast, semi-trimmed, raw",availableCarb:0,fibre:0,protein:22,fat:5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000964",name:"Beef, topside roast, semi-trimmed, roasted, no added fat",availableCarb:0,fibre:0,protein:32.1,fat:4.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000966",name:"Beef, topside roast, untrimmed, raw",availableCarb:0,fibre:0,protein:21.3,fat:8.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000967",name:"Beef, topside roast, untrimmed, roasted, no added fat",availableCarb:0,fibre:0,protein:31.3,fat:7.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000994",name:"Beer, full strength (alcohol 4-4.9% v/v)",availableCarb:2.3,fibre:0,protein:.4,fat:0,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000995",name:"Beer, full strength (alcohol 4-4.9% v/v), carbohydrate modified",availableCarb:1,fibre:0,protein:.3,fat:0,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F000996",name:"Beer, high alcohol (5% v/v & above)",availableCarb:2.1,fibre:0,protein:.5,fat:0,freeFructose:0,freeGlucose:0,sucrose:0,maltose:.2,lactose:0,galactose:null,starch:0,totalSugars:.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001004",name:"Beer, light (alcohol 1-2.9% v/v)",availableCarb:2.2,fibre:0,protein:.2,fat:0,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001006",name:"Beer, mid-strength (alcohol 3-3.9% v/v)",availableCarb:2.2,fibre:0,protein:.3,fat:0,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001010",name:"Beetroot, canned in brine, drained",availableCarb:8.7,fibre:2,protein:1.2,fat:0,freeFructose:2.8,freeGlucose:3,sucrose:2.9,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:8.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001013",name:"Beetroot, fresh, purple, peeled, baked, no added fat",availableCarb:10.2,f
61ibre:4.3,protein:2.3,fat:.1,freeFructose:0,freeGlucose:0,sucrose:10.2,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:10.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001014",name:"Beetroot, fresh, purple, peeled, boiled, drained",availableCarb:9,fibre:3.8,protein:2,fat:.1,freeFructose:0,freeGlucose:0,sucrose:9,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001015",name:"Beetroot, fresh, purple, peeled, raw",availableCarb:8.4,fibre:3.5,protein:1.9,fat:.1,freeFructose:0,freeGlucose:0,sucrose:8.4,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:8.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001029",name:"Beverage base, chocolate flavour, added vitamins A, B1, B2, C & D, Ca & Fe (Milo)",availableCarb:61.2,fibre:9.1,protein:12.7,fat:10.4,freeFructose:.5,freeGlucose:3.8,sucrose:19,maltose:12,lactose:12,galactose:0,starch:13.9,totalSugars:47.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001032",name:"Beverage base, chocolate flavour, unfortified (Nesquik brand)",availableCarb:83.2,fibre:5.8,protein:5.3,fat:2.8,freeFructose:0,freeGlucose:0,sucrose:81,maltose:0,lactose:0,galactose:null,starch:2.2,totalSugars:81,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001036",name:"Beverage base, drinking chocolate, unfortified",availableCarb:76.3,fibre:1.5,protein:5.6,fat:4.8,freeFructose:0,freeGlucose:0,sucrose:74.3,maltose:0,lactose:0,galactose:null,starch:2,totalSugars:74.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001064",name:"Beverage, chocolate flavour, from drinking chocolate, with regular fat cows milk",availableCarb:10.2,fibre:.1,protein:3.5,fat:3.5,freeFructose:0,freeGlucose:0,sucrose:5.1,maltose:0,lactose:5,galactose:null,starch:.1,totalSugars:10.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001068",name:"Beverage, chocolate flavour, from Milo powder, with regular fat cows milk",availableCarb:10.3,fibre:.8,protein:4.1,fat:4,freeFructose:0,freeGlucose:.3,sucrose:1.7,maltose:1.1,lactose:6,galactose:0,starch:1.2,totalSugars:9.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001073",name:"Beverage, chocolate flavour, from Nesquik powder, with regular fat cows milk",availableCarb:9.7,fibre:.3,protein:3.4,fat:3.4,freeFructose:0,freeGlucose:0,sucrose:4.5,maltose:0,lactose:5.1,galactose:null,starch:.1,totalSugars:9.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001115",name:"Biscuit, savoury, corn cake, plain, salted",availableCarb:71.5,fibre:5.9,protein:9.8,fat:3,freeFructose:0,freeGlucose:0,sucrose:.4,maltose:0,lactose:0,galactose:null,starch:71.1,totalSugars:.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001118",name:"Biscuit, savoury, from rye flour, crispbread",availableCarb:60.6,fibre:16.5,protein:8.8,fat:1.3,freeFructose:0,freeGlucose:0,sucrose:1.2,maltose:1.6,lactose:0,galactose:null,starch:57.8,totalSugars:2.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001120",name:"Biscuit, savoury, from wheat flour, crispbread, puffed & toasted",availableCarb:66.1,fibre:3.3,protein:12.3,fat:5.6,freeFructose:0,freeGlucose:0,sucrose:2.9,maltose:0,lactose:.7,galactose:null,starch:62.5,totalSugars:3.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001122",name:"Biscuit, savoury, from white wheat flour, cheese-flavoured",availableCarb:56.4,fibre:2.9,protein:12,fat:24.2,freeFructose:.1,freeGlucose:.2,sucrose:1.1,maltose:0,lactose:1.8,galactose:null,starch:53.2,totalSugars:3.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001123",name:"Biscuit, savoury, from white wheat flour, flaky cracker style",availableCarb:63.6,fibre:3,protein:11.5,fat:20.7,freeFructose:.2,freeGlucose:.2,sucrose:1.5,maltose:1.4,lactose:.2,galactose:null,starch:60,totalSugars:3.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001125",name:"Biscuit, savoury, from white wheat flour, flavoured (excluding cheese)",availableCarb:59.7,fibre:2,protein:9.6,fat:24.5,freeFructose:1,freeGlucose:.3,sucrose:2.2,maltose:1.8,lactose:0,galactose:null,starch:54.5,totalSugars:5.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001126",name:"Biscuit, savoury, from white wheat flour, plain snack cracker style",availableCarb:66.3,fibre:3.4,protein:8.1,fat:20.7,freeFructose:2.3,freeGlucose:1.8,sucrose:.6,maltose:1.9,lactose:0,galactose:null,starch:59.6,totalSugars:6.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001129",name:"Biscuit, savoury, from white wheat flour, Salada style",availableCarb:63.1,fibre:3.6,protein:9.2,fat:14.2,freeFructose:.2,freeGlucose:0,sucrose:0,maltose:1,lactose:0,galactose:null,starch:61.9,totalSugars:1.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001133",name:"Biscuit, savoury, from white wheat flour, water cracker style",availableCarb:69.4,fibre:3.7,protein:10.4,fat:7.2,freeFructose:0,freeGlucose:0,sucrose:.5,maltose:1.5,lactose:0,galactose:null,starch:67.4,totalSugars:2,source:"ausnut-r2",sucroseSource:"measured"}
61,{id:"F001135",name:"Biscuit, savoury, from wholemeal wheat flour & rye flour, crispbread, puffed",availableCarb:69.1,fibre:7.6,protein:14,fat:3.8,freeFructose:.1,freeGlucose:.2,sucrose:.7,maltose:.2,lactose:.3,galactose:null,starch:67.6,totalSugars:1.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001137",name:"Biscuit, savoury, from wholemeal wheat flour, crispbread",availableCarb:59.1,fibre:9.9,protein:10.6,fat:8.1,freeFructose:.5,freeGlucose:.2,sucrose:1.3,maltose:0,lactose:0,galactose:null,starch:57.1,totalSugars:2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001147",name:"Biscuit, savoury, rice cake, from brown rice, plain",availableCarb:76.3,fibre:3.5,protein:8.8,fat:3.5,freeFructose:0,freeGlucose:0,sucrose:.8,maltose:0,lactose:0,galactose:null,starch:75.5,totalSugars:.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009833",name:"Biscuit, savoury, rice cracker, added vegetable powder",availableCarb:73.8,fibre:2,protein:6.6,fat:7.4,freeFructose:.3,freeGlucose:1.1,sucrose:3.5,maltose:0,lactose:0,galactose:null,starch:65.9,totalSugars:4.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001151",name:"Biscuit, savoury, rice cracker, flavoured (excluding seaweed)",availableCarb:74.1,fibre:1.5,protein:7.1,fat:6.7,freeFructose:0,freeGlucose:0,sucrose:.2,maltose:0,lactose:0,galactose:null,starch:73.9,totalSugars:.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001152",name:"Biscuit, savoury, rice cracker, plain",availableCarb:78.8,fibre:.9,protein:7,fat:4.3,freeFructose:0,freeGlucose:0,sucrose:.7,maltose:0,lactose:0,galactose:null,starch:78.1,totalSugars:.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001153",name:"Biscuit, savoury, rice cracker, seaweed flavoured",availableCarb:75.3,fibre:1.6,protein:9.6,fat:1.2,freeFructose:.2,freeGlucose:.2,sucrose:1.2,maltose:.1,lactose:0,galactose:null,starch:73.5,totalSugars:1.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009832",name:"Biscuit, savoury, seed based",availableCarb:6,fibre:14.6,protein:20.1,fat:49.6,freeFructose:0,freeGlucose:0,sucrose:1.4,maltose:0,lactose:0,galactose:null,starch:4.6,totalSugars:1.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001165",name:"Biscuit, sweet, Anzac style, homemade from basic ingredients",availableCarb:63.3,fibre:3.1,protein:4.6,fat:22.4,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:22.1,totalSugars:41.2,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F001167",name:"Biscuit, sweet, biscuit base, caramel filling, chocolate-coated, commercial",availableCarb:61.8,fibre:1.8,protein:5.6,fat:19.7,freeFructose:2.9,freeGlucose:4,sucrose:32,maltose:2,lactose:4.6,galactose:null,starch:16.3,totalSugars:45.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001168",name:"Biscuit, sweet, biscuit base, mint filling, chocolate-coated",availableCarb:60.6,fibre:.6,protein:6.3,fat:29.4,freeFructose:1,freeGlucose:1.2,sucrose:36.6,maltose:0,lactose:3.4,galactose:null,starch:18.6,totalSugars:42,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009839",name:"Biscuit, sweet, breakfast style, with or without dried fruit",availableCarb:57.3,fibre:5.3,protein:7.5,fat:15.6,freeFructose:2.6,freeGlucose:2.5,sucrose:15,maltose:0,lactose:0,galactose:null,starch:37.2,totalSugars:20.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001170",name:"Biscuit, sweet, chocolate chip or coated",availableCarb:61.9,fibre:3,protein:5.8,fat:22.7,freeFructose:.4,freeGlucose:.5,sucrose:33,maltose:.2,lactose:1.7,galactose:null,starch:26.1,totalSugars:35.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009834",name:"Biscuit, sweet, cream filled, commercial",availableCarb:62.8,fibre:2.7,protein:5.4,fat:21.5,freeFructose:.3,freeGlucose:.9,sucrose:32,maltose:0,lactose:.4,galactose:null,starch:29.2,totalSugars:33.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001215",name:"Biscuit, sweet, plain",availableCarb:69.4,fibre:2.1,protein:6.4,fat:14.3,freeFructose:1.4,freeGlucose:1.1,sucrose:22,maltose:.2,lactose:0,galactose:null,starch:44.7,totalSugars:24.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001233",name:"Biscuit, sweet, sandwich, cream & jam filling",availableCarb:64.1,fibre:1.8,protein:4,fat:22.5,freeFructose:2.3,freeGlucose:2.7,sucrose:28,maltose:.1,lactose:.4,galactose:null,starch:30.6,totalSugars:33.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001234",name:"Biscuit, sweet, sandwich, cream filling, chocolate-coated, tim tam style",availableCarb:63.1,fibre:2.2,protein:5.4,fat:25.4,freeFructose:.4,freeGlucose:.6,sucrose:39,maltose:0,lactose:4.7,galactose:null,starch:18.4,totalSugars:44.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001244",name:"Biscuit, sweet, shortbread style, commercial",availableCarb:60.8,fibre:2.3,protein:6.2,fat:26.3,freeFructose:0,freeGlucose:0,sucrose:20,maltose:0,lactose:.4,galactose:null,starch:40.4,totalSugars:20.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001251",name:"Biscuit, sweet, wheatmeal",availableCarb:67,fibre:5.6,protein:7.8,fat:11.7,freeFructose:.3,freeGlucose:.3,sucrose:20.8,maltose:0,lactose:0,galactose:null,starch:45.4,totalSugars:21.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001267",name:"Blackberry, raw",availableCarb:7.5,fibre:6.1,protein:1.4,fat:.3,freeFructose:3.9,freeGlucose:3.6,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:7.5,source:"ausnut-r2",sucroseSource:"measured"}
61,{id:"F001276",name:"Blue grenadier, flesh, baked, no added fat",availableCarb:.3,fibre:0,protein:22,fat:1.3,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:.3,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F001277",name:"Blue grenadier, flesh, raw",availableCarb:.2,fibre:0,protein:15.2,fat:1.2,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:.2,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F001278",name:"Blue grenadier, flesh, steamed, no added fat",availableCarb:.3,fibre:0,protein:20.6,fat:1.2,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:.3,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F001289",name:"Blueberry, purchased frozen",availableCarb:9.9,fibre:3.6,protein:.5,fat:0,freeFructose:4.9,freeGlucose:4.5,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.4,totalSugars:9.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001290",name:"Blueberry, raw",availableCarb:9.6,fibre:3.5,protein:.5,fat:0,freeFructose:4.8,freeGlucose:4.4,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.4,totalSugars:9.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001300",name:"Bok choy, fried, no added fat",availableCarb:.8,fibre:3.5,protein:3.6,fat:.3,freeFructose:.3,freeGlucose:.6,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001301",name:"Bok choy, raw",availableCarb:.6,fibre:2.4,protein:2.5,fat:.2,freeFructose:.2,freeGlucose:.4,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001302",name:"Bok choy, steamed",availableCarb:.6,fibre:2.6,protein:2.6,fat:.2,freeFructose:.2,freeGlucose:.4,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001322",name:"Braised steak & onions, canned",availableCarb:4.5,fibre:.8,protein:7.2,fat:1.6,freeFructose:.4,freeGlucose:.3,sucrose:.3,maltose:0,lactose:0,galactose:null,starch:3.5,totalSugars:1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001353",name:"Bread roll, from white flour",availableCarb:44.6,fibre:3,protein:9.3,fat:2.9,freeFructose:.5,freeGlucose:.3,sucrose:0,maltose:2.6,lactose:0,galactose:0,starch:41.2,totalSugars:3.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001358",name:"Bread roll, from white flour, toasted",availableCarb:51.9,fibre:3.5,protein:10.8,fat:3.4,freeFructose:.6,freeGlucose:.3,sucrose:0,maltose:3,lactose:0,galactose:0,starch:47.9,totalSugars:4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001360",name:"Bread roll, from wholemeal flour",availableCarb:45.2,fibre:5.8,protein:10.1,fat:3,freeFructose:.2,freeGlucose:.4,sucrose:0,maltose:2.4,lactose:0,galactose:null,starch:42.2,totalSugars:3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001364",name:"Bread roll, from wholemeal flour, toasted",availableCarb:53.1,fibre:6.9,protein:11.9,fat:3.5,freeFructose:.2,freeGlucose:.4,sucrose:0,maltose:2.9,lactose:0,galactose:null,starch:49.6,totalSugars:3.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001365",name:"Bread roll, mixed grain",availableCarb:40.3,fibre:5.6,protein:12.2,fat:3,freeFructose:.2,freeGlucose:0,sucrose:0,maltose:2,lactose:.1,galactose:0,starch:38,totalSugars:2.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001368",name:"Bread roll, mixed grain, toasted",availableCarb:47.4,fibre:6.6,protein:14.4,fat:3.5,freeFructose:.2,freeGlucose:0,sucrose:0,maltose:2.4,lactose:.1,galactose:0,starch:44.7,totalSugars:2.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001372",name:"Bread roll, topped with cheese",availableCarb:35.8,fibre:2.4,protein:12.4,fat:9,freeFructose:.5,freeGlucose:.2,sucrose:0,maltose:2.1,lactose:0,galactose:0,starch:33,totalSugars:2.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001373",name:"Bread roll, topped with cheese & bacon",availableCarb:27,fibre:1.8,protein:16.6,fat:11.2,freeFructose:.4,freeGlucose:.3,sucrose:.1,maltose:1.6,lactose:0,galactose:null,starch:24.7,totalSugars:2.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001374",name:"Bread, banana",availableCarb:43.1,fibre:1.5,protein:5.7,fat:11,freeFructose:1,freeGlucose:1.1,sucrose:23,maltose:0,lactose:0,galactose:null,starch:18,totalSugars:25.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001387",name:"Bread, damper, from white flour, homemade",availableCarb:42.9,fibre:3.3,protein:7.5,fat:5.5,freeFructose:0,freeGlucose:0,sucrose:1.2,maltose:1.3,lactose:.4,galactose:null,starch:40,totalSugars:2.9,source:"ausnut-r2",sucroseSource:"measured"}
61,{id:"F001420",name:"Bread, flat (pita or Lebanese), white, commercial",availableCarb:49.1,fibre:3.7,protein:9.5,fat:2.1,freeFructose:0,freeGlucose:.2,sucrose:1,maltose:1.9,lactose:0,galactose:null,starch:46,totalSugars:3.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001404",name:"Bread, flat (pita or Lebanese), wholemeal, commercial",availableCarb:47.2,fibre:6.4,protein:8.6,fat:2,freeFructose:1.1,freeGlucose:.7,sucrose:0,maltose:1.3,lactose:0,galactose:null,starch:44.2,totalSugars:3.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001450",name:"Bread, from rye flour, sour dough",availableCarb:42.7,fibre:5.2,protein:9.2,fat:1.6,freeFructose:.3,freeGlucose:.4,sucrose:0,maltose:1.3,lactose:0,galactose:null,starch:40.7,totalSugars:2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001451",name:"Bread, from rye flour, sour dough, toasted",availableCarb:50.2,fibre:6.1,protein:10.8,fat:1.9,freeFructose:.4,freeGlucose:.5,sucrose:0,maltose:1.5,lactose:0,galactose:null,starch:47.9,totalSugars:2.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001458",name:"Bread, from wheat flour, added dried fruit, toasted",availableCarb:52.6,fibre:4,protein:9.8,fat:4.1,freeFructose:9.8,freeGlucose:8.3,sucrose:0,maltose:2,lactose:0,galactose:null,starch:32.4,totalSugars:20.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001463",name:"Bread, from white flour",availableCarb:46.2,fibre:3.2,protein:9.5,fat:2,freeFructose:.3,freeGlucose:0,sucrose:0,maltose:2.8,lactose:0,galactose:0,starch:43.1,totalSugars:3.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001466",name:"Bread, from white flour, added calcium",availableCarb:43.8,fibre:2.9,protein:9.7,fat:1.8,freeFructose:.3,freeGlucose:0,sucrose:0,maltose:2.4,lactose:0,galactose:0,starch:41.1,totalSugars:2.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001467",name:"Bread, from white flour, added calcium, toasted",availableCarb:50.9,fibre:3.4,protein:11.2,fat:2,freeFructose:.3,freeGlucose:0,sucrose:0,maltose:2.8,lactose:0,galactose:0,starch:47.8,totalSugars:3.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001457",name:"Bread, from white flour, added dried fruit",availableCarb:47.3,fibre:3.6,protein:8.8,fat:3.7,freeFructose:8.8,freeGlucose:7.5,sucrose:0,maltose:1.8,lactose:0,galactose:null,starch:29.2,totalSugars:18.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001468",name:"Bread, from white flour, added fibre",availableCarb:43.6,fibre:6.4,protein:9.7,fat:1.7,freeFructose:.2,freeGlucose:0,sucrose:0,maltose:2.3,lactose:0,galactose:0,starch:41.1,totalSugars:2.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001479",name:"Bread, from white flour, added fibre, toasted",availableCarb:51.9,fibre:7.7,protein:11.5,fat:2,freeFructose:.2,freeGlucose:0,sucrose:0,maltose:2.7,lactose:0,galactose:0,starch:48.9,totalSugars:3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001482",name:"Bread, from white flour, added iron",availableCarb:43.8,fibre:2.9,protein:9.7,fat:1.8,freeFructose:.3,freeGlucose:0,sucrose:0,maltose:2.4,lactose:0,galactose:0,starch:41.1,totalSugars:2.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001483",name:"Bread, from white flour, added iron, toasted",availableCarb:50.9,fibre:3.4,protein:11.2,fat:2,freeFructose:.3,freeGlucose:0,sucrose:0,maltose:2.8,lactose:0,galactose:0,starch:47.8,totalSugars:3.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001484",name:"Bread, from white flour, added omega-3 polyunsaturates",availableCarb:46.6,fibre:3.1,protein:9.1,fat:2.1,freeFructose:.3,freeGlucose:0,sucrose:0,maltose:2.1,lactose:0,galactose:0,starch:44.2,totalSugars:2.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001485",name:"Bread, from white flour, added omega-3 polyunsaturates, toasted",availableCarb:54.2,fibre:3.6,protein:10.6,fat:2.4,freeFructose:.3,freeGlucose:0,sucrose:0,maltose:2.4,lactose:0,galactose:0,starch:51.4,totalSugars:2.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001513",name:"Bread, from white flour, extra grainy & seeds",availableCarb:44.7,fibre:5.7,protein:10.5,fat:4.4,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:41.8,totalSugars:2.8,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F001514",name:"Bread, from white flour, extra grainy & seeds, toasted",availableCarb:52.6,fibre:6.7,protein:12.3,fat:5.2,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:49.2,totalSugars:3.3,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F001528",name:"Bread, from white flour, Italian-style, commercial",availableCarb:46.8,fibre:3.9,protein:9,fat:2.5,freeFructose:.2,freeGlucose:0,sucrose:0,maltose:1.8,lactose:0,galactose:null,starch:44.8,totalSugars:2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001529",name:"Bread, from white flour, Italian-style, commercial, toasted",availableCarb:55.7,fibre:4.6,protein:10.7,fat:3,freeFructose:.2,freeGlucose:0,sucrose:0,maltose:2.1,lactose:0,galactose:null,starch:53.3,totalSugars:2.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001537",name:"Bread, from white flour, sour dough, commercial",availableCarb:42.9,fibre:3.1,protein:8.8,fat:1.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:1.2,lactose:0,galactose:null,starch:41.7,totalSugars:1.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001538",name:"Bread, from white flour, sour dough, commercial, toasted",availableCarb:51.1,fibre:3.7,protein:10.4,fat:1.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:1.4,lactose:0,galactose:null,starch:49.6,totalSugars:1.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001541",name:"Bread, from white flour, toasted",availableCarb:54.3,fibre:4.3,protein:10.8,fat:2.8,freeFructose:.3,freeGlucose:0,sucrose:0,maltose:3.4,lactose:0,galactose:null,starch:50.6,totalSugars:3.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001671",name:"Bread, from white flour, Turkish",availableCarb:45.5,fibre:3.6,protein:7.8,fat:2.8,freeFructose:.4,freeGlucose:0,sucrose:0,maltose:1.8,lactose:0,galactose:null,starch:43.3,totalSugars:2.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001672",name:"Bread, from white flour, Turkish, toasted",availableCarb:54.2,fibre:4.3,protein:9.2,fat:3.3,freeFructose:.5,freeGlucose:0,sucrose:0,maltose:2.1,lactose:0,galactose:null,starch:51.5,totalSugars:2.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001543",name:"Bread, from white Jackaroo flour, added fibre and vitamins B1 & folate & Fe",availableCarb:45.7,fibre:6.5,protein:8.3,fat:2.3,freeFructose:.3,freeGlucose:0,sucrose:0,maltose:3.5,lactose:0,galactose:null,starch:41.9,totalSugars:3.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001544",name:"Bread, from white Jackaroo flour, added fibre and vitamins B1 & folate & Fe, toasted",availableCarb:53.8,fibre:7.6,protein:9.8,fat:2.7,freeFructose:.4,freeGlucose:0,sucrose:0,maltose:4.1,lactose:0,galactose:null,starch:49.3,totalSugars:4.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001553",name:"Bread, from wholemeal flour",availableCarb:39.2,fibre:6.9,protein:10.4,fat:2.5,freeFructose:.4,freeGlucose:.1,sucrose:0,maltose:2.6,lactose:0,galactose:0,starch:36,totalSugars:3.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001573",name:"Bread, from wholemeal flour, extra grainy & seeds",availableCarb:38.9,fibre:7.9,protein:11,fat:4.4,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:36,totalSugars:2.9,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F001576",name:"Bread, from wholemeal flour, extra grainy & seeds, toasted",availableCarb:45.8,fibre:9.3,protein:13,fat:5.1,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:42.3,totalSugars:3.4,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F001597",name:"Bread, from wholemeal flour, toasted",availableCarb:46.1,fibre:8.1,protein:12.2,fat:2.9,freeFructose:.5,freeGlucose:.1,sucrose:0,maltose:3,lactose:0,galactose:0,starch:42.4,totalSugars:3.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001601",name:"Bread, garlic or herb, homemade, cooked",availableCarb:40.5,fibre:3.6,protein:8.8,fat:11.3,freeFructose:.5,freeGlucose:.3,sucrose:0,maltose:2.3,lactose:.1,galactose:null,starch:37.3,totalSugars:3.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001600",name:"Bread, garlic, commercial, cooked",availableCarb:42.8,fibre:3,protein:8,fat:15.1,freeFructose:.6,freeGlucose:.3,sucrose:0,maltose:2.5,lactose:0,galactose:null,starch:39.4,totalSugars:3.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001603",name:"Bread, gluten free",availableCarb:36.6,fibre:3.9,protein:5.5,fat:3.9,freeFructose:0,freeGlucose:.3,sucrose:.3,maltose:.8,lactose:1.2,galactose:null,starch:34,totalSugars:2.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001609",name:"Bread, gluten free, toasted",availableCarb:43.6,fibre:4.6,protein:6.5,fat:4.6,freeFructose:0,freeGlucose:.4,sucrose:.4,maltose:1,lactose:1.4,galactose:null,starch:40.5,totalSugars:3.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001621",name:"Bread, mixed grain",availableCarb:39.8,fibre:5.8,protein:10.7,fat:4.5,freeFructose:.3,freeGlucose:0,sucrose:.1,maltose:2.1,lactose:0,galactose:0,starch:37.3,totalSugars:2.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001644",name:"Bread, mixed grain, toasted",availableCarb:46.8,fibre:6.9,protein:12.6,fat:5.3,freeFructose:.4,freeGlucose:0,sucrose:.1,maltose:2.5,lactose:0,galactose:0,starch:43.8,totalSugars:3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001647",name:"Bread, Naan, commercial",availableCarb:47.8,fibre:2.6,protein:8,fat:7.1,freeFructose:1.3,freeGlucose:1.1,sucrose:0,maltose:3,lactose:.6,galactose:null,starch:41.8,totalSugars:6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001545",name:"Bread, organic",availableCarb:40.3,fibre:5.6,protein:11.6,fat:2.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:1.3,lactose:0,galactose:null,starch:39,totalSugars:1.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001548",name:"Bread, organic, toasted",availableCarb:47.4,fibre:6.6,protein:13.7,fat:3.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:1.5,lactose:0,galactose:null,starch:45.9,totalSugars:1.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001653",name:"Bread, pizza base, commercial",availableCarb:48.5,fibre:2.7,protein:8.6,fat:3.3,freeFructose:.8,freeGlucose:.5,sucrose:0,maltose:2.4,lactose:0,galactose:null,starch:44.8,totalSugars:3.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001669",name:"Bread, tortilla, white, commercial",availableCarb:46.3,fibre:2,protein:7.3,fat:9,freeFructose:1.6,freeGlucose:1.4,sucrose:.2,maltose:1.1,lactose:0,galactose:null,starch:42,totalSugars:4.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001415",name:"Bread, wrap, white, commercial",availableCarb:46.9,fibre:3,protein:7.8,fat:8.4,freeFructose:0,freeGlucose:0,sucrose:1,maltose:4.3,lactose:0,galactose:null,starch:41.6,totalSugars:5.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001683",name:"Breadcrumbs, white",availableCarb:68.5,fibre:4.7,protein:14,fat:4.1,freeFructose:.5,freeGlucose:0,sucrose:0,maltose:4.1,lactose:0,galactose:0,starch:63.8,totalSugars:4.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001688",name:"Breakfast cereal, beverage, non-chocolate flavours, added vitamins A, B1, B2, B3, B6, B12, C & folate & Ca",availableCarb:12.4,f
61ibre:.8,protein:3.1,fat:1.5,freeFructose:1.1,freeGlucose:0,sucrose:3.9,maltose:0,lactose:2,galactose:0,starch:0,totalSugars:7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001701",name:"Breakfast cereal, flakes of corn, added vitamins B1, B2, B3, C & folate, Fe & Zn",availableCarb:80.2,fibre:3.2,protein:8.6,fat:.6,freeFructose:.6,freeGlucose:.6,sucrose:3,maltose:0,lactose:0,galactose:0,starch:76,totalSugars:4.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001708",name:"Breakfast cereal, flakes of corn, unfortified",availableCarb:75.6,fibre:4,protein:7.3,fat:2.9,freeFructose:.6,freeGlucose:.5,sucrose:6.6,maltose:0,lactose:0,galactose:null,starch:67.9,totalSugars:7.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001720",name:"Breakfast cereal, mixed grain (rice & wheat), flakes, added vitamins B1, B2, B3, B6 & folate, Ca, Fe & Zn",availableCarb:70.5,fibre:2.7,protein:18.2,fat:4.1,freeFructose:.5,freeGlucose:.3,sucrose:11,maltose:1.4,lactose:0,galactose:null,starch:57.3,totalSugars:13.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001733",name:"Breakfast cereal, mixed grain (wheat & oat), flakes, apricot & sultana, added vitamins B1, B2, B3 & folate & Fe",availableCarb:71.6,fibre:8.2,protein:9.1,fat:1.5,freeFructose:11.9,freeGlucose:10.2,sucrose:3,maltose:.1,lactose:0,galactose:null,starch:46.3,totalSugars:25.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001767",name:"Breakfast cereal, mixed grain (wheat, oat & corn), extruded, added vitamins B1, B2, B3, B6, C & folate, Ca & Fe",availableCarb:62.8,fibre:2.5,protein:23.3,fat:2.5,freeFructose:0,freeGlucose:0,sucrose:28,maltose:0,lactose:0,galactose:0,starch:34.8,totalSugars:28,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001788",name:"Breakfast cereal, mixed grain (wheat, rice & oat), flakes, honey, unfortified",availableCarb:65,fibre:12.5,protein:8.4,fat:4.1,freeFructose:1.9,freeGlucose:1.2,sucrose:8.6,maltose:.2,lactose:0,galactose:null,starch:53.1,totalSugars:11.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001803",name:"Breakfast cereal, puffed or popped rice, added vitamins B1, B2, B3, C & folate, Fe & Zn",availableCarb:81.2,fibre:2.1,protein:6.8,fat:1.1,freeFructose:.2,freeGlucose:0,sucrose:6,maltose:0,lactose:0,galactose:0,starch:75,totalSugars:6.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001807",name:"Breakfast cereal, puffed or popped rice, cocoa coating, added vitamins B1, B2, B3, C & folate, Ca, Fe & Zn",availableCarb:83.2,fibre:2.6,protein:5.3,fat:2.9,freeFructose:.2,freeGlucose:.2,sucrose:30,maltose:0,lactose:0,galactose:null,starch:52.8,totalSugars:30.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001811",name:"Breakfast cereal, puffed or popped rice, no added sugar or salt, unfortified",availableCarb:77.6,fibre:2.8,protein:8.5,fat:3,freeFructose:0,freeGlucose:0,sucrose:.6,maltose:0,lactose:0,galactose:null,starch:77,totalSugars:.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001823",name:"Breakfast cereal, wheat bran, flakes, sultanas, added vitamins B1, B2, B3, B6 & folate, Fe & Zn",availableCarb:63.3,fibre:14.8,protein:9.8,fat:1.5,freeFructose:11.8,freeGlucose:10.3,sucrose:1,maltose:1.3,lactose:0,galactose:null,starch:38.8,totalSugars:24.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001829",name:"Breakfast cereal, wheat bran, pellets, added vitamins B1, B2 & folate, Fe & Zn",availableCarb:41.7,fibre:27.3,protein:14.2,fat:5,freeFructose:1.6,freeGlucose:1.1,sucrose:12.3,maltose:.4,lactose:0,galactose:null,starch:26.2,totalSugars:15.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001844",name:"Breakfast cereal, whole wheat, biscuit, added vitamins B1, B2, B3 & folate, Fe & Zn",availableCarb:61,fibre:11,protein:11.9,fat:2.3,freeFructose:.6,freeGlucose:.2,sucrose:1.6,maltose:0,lactose:0,galactose:0,starch:58.6,totalSugars:2.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001845",name:"Breakfast cereal, whole wheat, biscuit, bran, added vitamins B1, B2, B3 & folate & Fe",availableCarb:56.4,fibre:17,protein:12.3,fat:5.3,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:48.1,totalSugars:8.3,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F001849",name:"Breakfast cereal, whole wheat, biscuit, no added sugar, unfortified",availableCarb:63.7,fibre:11.5,protein:10.4,fat:2.7,freeFructose:.3,freeGlucose:0,sucrose:.8,maltose:0,lactose:0,galactose:null,starch:62.6,totalSugars:1.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001862",name:"Breakfast cereal, whole wheat, flakes, dried fruit & nuts, added fibre, vitamins B1, B2, B3 & folate, Ca & Fe",availableCarb:65.6,fibre:15.5,protein:9.1,fat:3.3,freeFructose:11,freeGlucose:9.5,sucrose:4.5,maltose:0,lactose:0,galactose:0,starch:40.6,totalSugars:25,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001871",name:"Breakfast cereal, whole wheat, puffed, no added sugar or salt, unfortified",availableCarb:62.4,f
61ibre:9.2,protein:10,fat:2.8,freeFructose:0,freeGlucose:0,sucrose:.8,maltose:0,lactose:0,galactose:null,starch:61.6,totalSugars:.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001881",name:"Bream, fillet, baked, no added fat",availableCarb:0,fibre:0,protein:26.8,fat:7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001884",name:"Bream, fillet, raw",availableCarb:0,fibre:0,protein:19.6,fat:5.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001885",name:"Bream, fillet, steamed, no added fat",availableCarb:0,fibre:0,protein:22.4,fat:5.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001899",name:"Broccoli, fresh, baked, no added fat",availableCarb:.5,fibre:4.5,protein:5.7,fat:.4,freeFructose:.2,freeGlucose:.1,sucrose:.1,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001900",name:"Broccoli, fresh, boiled, drained",availableCarb:1.2,fibre:2.5,protein:2.9,fat:.3,freeFructose:.5,freeGlucose:.6,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.1,totalSugars:1.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001904",name:"Broccoli, fresh, microwaved",availableCarb:1.3,fibre:2.9,protein:3.2,fat:.4,freeFructose:.4,freeGlucose:.7,sucrose:.1,maltose:.1,lactose:0,galactose:null,starch:0,totalSugars:1.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001905",name:"Broccoli, fresh, raw",availableCarb:.4,fibre:3.7,protein:4.7,fat:.3,freeFructose:.2,freeGlucose:.1,sucrose:.1,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001908",name:"Broccolini, fresh, boiled, drained",availableCarb:2.1,fibre:2.6,protein:3.3,fat:.4,freeFructose:.6,freeGlucose:.7,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.7,totalSugars:1.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001909",name:"Broccolini, fresh, raw",availableCarb:2,fibre:2.5,protein:3.2,fat:.4,freeFructose:.6,freeGlucose:.7,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.7,totalSugars:1.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001913",name:"Brussels sprout, fresh, boiled, drained",availableCarb:2.2,fibre:4.7,protein:4,fat:.3,freeFructose:.8,freeGlucose:1,sucrose:.3,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:2.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001914",name:"Brussels sprout, fresh, raw",availableCarb:2.1,fibre:4.5,protein:3.8,fat:.3,freeFructose:.8,freeGlucose:1,sucrose:.3,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:2.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001918",name:"Buckwheat groats, cooked in water, no added salt",availableCarb:12.3,fibre:1.1,protein:2.7,fat:.7,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:12,totalSugars:.3,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F001919",name:"Buckwheat groats, uncooked",availableCarb:58,fibre:5,protein:12.8,fat:3.2,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:56.6,totalSugars:1.4,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F001920",name:"Buffalo, riverine, cube roll, raw",availableCarb:0,fibre:0,protein:23.9,fat:6.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001921",name:"Buffalo, riverine, topside, raw",availableCarb:0,fibre:0,protein:24.4,fat:2.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001922",name:"Buffalo, swamp, cube roll, raw",availableCarb:0,fibre:0,protein:24.4,fat:2.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001923",name:"Buffalo, swamp, topside, raw",availableCarb:0,fibre:0,protein:24.6,fat:.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001928",name:"Bulgur, soaked in water, no added fat or salt",availableCarb:28.3,fibre:7.3,protein:5.4,fat:.9,freeFructose:0,freeGlucose:0,sucrose:.4,maltose:0,lactose:0,galactose:null,starch:27.9,totalSugars:.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001929",name:"Bulgur, uncooked",availableCarb:66.1,fibre:7.8,protein:10.3,fat:2,freeFructose:0,freeGlucose:0,sucrose:1,maltose:0,lactose:0,galactose:null,starch:65.1,totalSugars:1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009792",name:"Bun, sweet, hot cross bun, with dried fruit",availableCarb:50.2,fibre:4.1,protein:7.2,fat:3.2,freeFructose:10.6,freeGlucose:9,sucrose:0,maltose:1.4,lactose:0,galactose:null,starch:29.2,totalSugars:21,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001939",name:"Bun, sweet, with dried fruit, iced",availableCarb:51.5,fibre:1.9,protein:6.4,fat:6,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:33.3,totalSugars:18,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F001940",name:"Bun, sweet, with dried fruit, uniced",availableCarb:49.4,fibre:3.4,protein:7.6,fat:6,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:32.5,totalSugars:16.9,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F001971",name:"Butter, plain, no added salt",availableCarb:.6,fibre:0,protein:1.1,fat:81.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:.6,galactose:null,starch:0,totalSugars:.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001973",name:"Butter, plain, salted",availableCarb:.6,fibre:0,protein:1.1,fat:81.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:.6,galactose:null,starch:0,totalSugars:.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001988",name:"Cabbage, Chinese flowering, boiled, drained",availableCarb:.9,fibre:2.9,protein:1.4,fat:.3,freeFructose:.3,freeGlucose:.5,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.1,totalSugars:.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001990",name:"Cabbage, Chinese flowering, raw",availableCarb:.9,fibre:2.8,protein:1.3,fat:.3,freeFructose:.3,freeGlucose:.5,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.1,totalSugars:.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001993",name:"Cabbage, Chinese, boiled, drained",availableCarb:.9,fibre:1.1,protein:1.1,fat:0,freeFructose:.3,freeGlucose:.6,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001996",name:"Cabbage, Chinese, raw",availableCarb:.9,fibre:1.1,protein:1.1,fat:0,freeFructose:.3,freeGlucose:.6,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001997",name:"Cabbage, mustard, boiled, drained",availableCarb:.7,fibre:1.9,protein:2.4,fat:.3,freeFructose:.3,freeGlucose:.4,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F001998",name:"Cabbage, mustard, raw",availableCarb:.7,fibre:1.8,protein:2.3,fat:.3,freeFructose:.3,freeGlucose:.4,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002003",name:"Cabbage, red, boiled, drained",availableCarb:2.8,fibre:3.5,protein:2.3,fat:.3,freeFructose:.8,freeGlucose:1.2,sucrose:.7,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:2.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002006",name:"Cabbage, red, raw",availableCarb:2.7,fibre:3.4,protein:2.2,fat:.3,freeFructose:.8,freeGlucose:1.2,sucrose:.7,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:2.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002009",name:"Cabbage, savoy, boiled, drained",availableCarb:2.4,fibre:2.4,protein:1.8,fat:.1,freeFructose:1,freeGlucose:1.4,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:2.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002010",name:"Cabbage, savoy, raw",availableCarb:2.3,fibre:2.3,protein:1.7,fat:.1,freeFructose:1,freeGlucose:1.3,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:2.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002014",name:"Cabbage, white, boiled, drained",availableCarb:2.9,fibre:2.4,protein:1.4,fat:.1,freeFructose:1.2,freeGlucose:1.7,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:2.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002015",name:"Cabbage, white, raw",availableCarb:2.8,fibre:2.4,protein:1.3,fat:.1,freeFructose:1.2,freeGlucose:1.6,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:2.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002021",name:"Cake mix, plain, dry powder",availableCarb:73.5,fibre:1.4,protein:4.8,fat:8.2,freeFructose:0,freeGlucose:0,sucrose:41.2,maltose:1.3,lactose:0,galactose:0,starch:31,totalSugars:42.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002100",name:"Cake, carrot, commercial, iced",availableCarb:47.6,fibre:1.5,protein:4.4,fat:20.4,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:17.1,totalSugars:30.5,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F002101",name:"Cake, carrot, homemade, iced",availableCarb:49.4,fibre:1.8,protein:3.9,fat:14.9,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:11.7,totalSugars:37.7,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F002102",name:"Cake, carrot, homemade, uniced",availableCarb:45.2,fibre:2.2,protein:4.8,fat:15.9,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:14,totalSugars:31.2,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F002111",name:"Cake, chocolate, homemade, iced",availableCarb:46.4,fibre:2.6,protein:6.6,fat:17.8,freeFructose:null,freeGlucose:.1,sucrose:25.6,maltose:null,lactose:1,galactose:null,starch:19.4,totalSugars:27,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002112",name:"Cake, chocolate, homemade, uniced",availableCarb:41.3,fibre:2.9,protein:7.9,fat:19.2,freeFructose:null,freeGlucose:.1,sucrose:16.2,maltose:null,lactose:1.2,galactose:null,starch:23.4,totalSugars:17.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002150",name:"Cake, fruit, homemade, uniced",availableCarb:48.2,fibre:3,protein:3.9,fat:9.9,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:8.9,totalSugars:38.7,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F002159",name:"Cake, lamington, unfilled",availableCarb:48,fibre:2.4,protein:4.7,fat:9.4,freeFructose:.1,freeGlucose:0,sucrose:31,maltose:0,lactose:.4,galactose:null,starch:16.5,totalSugars:31.5,source:"ausnut-r2",sucroseSource:"measured"}
61,{id:"F002163",name:"Cake, mud, dark chocolate, commercial, chocolate ganache icing",availableCarb:48.7,fibre:2.6,protein:5.1,fat:13.8,freeFructose:0,freeGlucose:0,sucrose:32,maltose:0,lactose:1,galactose:null,starch:15.6,totalSugars:33.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002164",name:"Cake, mud, dark chocolate, homemade, chocolate ganache icing",availableCarb:35.5,fibre:.6,protein:5.2,fat:33.8,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:7.2,totalSugars:28.3,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F002165",name:"Cake, mud, dark chocolate, homemade, uniced",availableCarb:32.5,fibre:.5,protein:5.6,fat:34.3,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:7,totalSugars:25.5,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F002168",name:"Cake, plain butter cake, commercial, iced",availableCarb:52.7,fibre:1.4,protein:5,fat:16.1,freeFructose:0,freeGlucose:0,sucrose:35,maltose:.5,lactose:1.2,galactose:null,starch:16,totalSugars:36.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002169",name:"Cake, plain butter cake, commercial, uniced",availableCarb:46.9,fibre:1.3,protein:8.2,fat:15.2,freeFructose:.2,freeGlucose:.3,sucrose:24.1,maltose:.1,lactose:.6,galactose:null,starch:21.6,totalSugars:25.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002170",name:"Cake, plain butter cake, homemade, iced",availableCarb:55.2,fibre:.7,protein:5.4,fat:15.1,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:23.7,totalSugars:31.5,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F002171",name:"Cake, plain butter cake, homemade, uniced",availableCarb:52.5,fibre:.9,protein:6.7,fat:16.1,freeFructose:null,freeGlucose:0,sucrose:22,maltose:null,lactose:1,galactose:null,starch:29,totalSugars:23.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002177",name:"Cake, sponge, plain, commercial, uniced, filled with jam & cream",availableCarb:58,fibre:1.2,protein:6.7,fat:12.2,freeFructose:2.7,freeGlucose:3.2,sucrose:30.2,maltose:.4,lactose:.9,galactose:null,starch:20.5,totalSugars:37.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002178",name:"Cake, sponge, plain, commercial, uniced, unfilled",availableCarb:56.5,fibre:1.2,protein:7.5,fat:8.2,freeFructose:0,freeGlucose:.4,sucrose:31,maltose:.4,lactose:.7,galactose:null,starch:24,totalSugars:32.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002205",name:"Camel, cube roll, raw",availableCarb:0,fibre:0,protein:20.3,fat:7.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002206",name:"Camel, rump, raw",availableCarb:0,fibre:0,protein:21.4,fat:3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009829",name:"Camel, steak, as purchased, fried, no added fat",availableCarb:0,fibre:0,protein:32,fat:6.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009789",name:"Camel, steak, as purchased, raw",availableCarb:0,fibre:0,protein:20.8,fat:4.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002220",name:"Capers, pickled, canned, drained",availableCarb:1.7,fibre:3.2,protein:2.4,fat:.9,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:1.3,totalSugars:.4,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F002238",name:"Capsicum, green, fresh, fried, no added fat",availableCarb:2.8,fibre:1.7,protein:1,fat:0,freeFructose:1.3,freeGlucose:1.4,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:2.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002239",name:"Capsicum, green, fresh, raw",availableCarb:2.5,fibre:1.5,protein:.9,fat:0,freeFructose:1.2,freeGlucose:1.3,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:2.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002246",name:"Capsicum, red, fresh, fried, no added fat",availableCarb:4.9,fibre:1.2,protein:1.2,fat:.4,freeFructose:2.6,freeGlucose:2.3,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:4.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002247",name:"Capsicum, red, fresh, raw",availableCarb:4.4,fibre:1.1,protein:1.1,fat:.4,freeFructose:2.3,freeGlucose:2.1,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:4.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002257",name:"Caramels, soft & hard",availableCarb:74.5,fibre:1.5,protein:2.5,fat:11.4,freeFructose:.8,freeGlucose:6.1,sucrose:39.2,maltose:6.5,lactose:2,galactose:null,starch:15.9,totalSugars:54.6,source:"ausnut-r2",sucroseSource:"measured"}
61,{id:"F002258",name:"Cardamom seed, dried, ground",availableCarb:34.4,fibre:28,protein:10.8,fat:6.7,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:30,totalSugars:4.4,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F002263",name:"Carrot, baby, baked, no added fat",availableCarb:6,fibre:3.6,protein:.8,fat:.1,freeFructose:1.3,freeGlucose:1.8,sucrose:2.8,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002265",name:"Carrot, baby, peeled, fresh, boiled, drained",availableCarb:5.9,fibre:3.5,protein:.8,fat:.1,freeFructose:1.3,freeGlucose:1.8,sucrose:2.8,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:5.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002266",name:"Carrot, baby, peeled, fresh, raw",availableCarb:5.5,fibre:3.3,protein:.7,fat:.1,freeFructose:1.2,freeGlucose:1.7,sucrose:2.6,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:5.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002274",name:"Carrot, mature, peeled, fresh, baked, no added fat",availableCarb:8,fibre:4.1,protein:.7,fat:0,freeFructose:1.2,freeGlucose:1.3,sucrose:5,maltose:0,lactose:0,galactose:null,starch:.5,totalSugars:7.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002275",name:"Carrot, mature, peeled, fresh, boiled, drained",availableCarb:5.1,fibre:3.3,protein:1.1,fat:.3,freeFructose:.8,freeGlucose:1,sucrose:2.7,maltose:.1,lactose:0,galactose:null,starch:.4,totalSugars:4.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002276",name:"Carrot, mature, peeled, fresh, raw",availableCarb:6.6,fibre:3.4,protein:.6,fat:0,freeFructose:1,freeGlucose:1.1,sucrose:4.1,maltose:0,lactose:0,galactose:null,starch:.4,totalSugars:6.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002285",name:"Cassava, peeled, fresh, boiled, drained",availableCarb:32.7,fibre:5,protein:1.2,fat:.3,freeFructose:.2,freeGlucose:.2,sucrose:.9,maltose:0,lactose:0,galactose:null,starch:31.4,totalSugars:1.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002286",name:"Cassava, peeled, fresh, raw",availableCarb:30.4,fibre:4.6,protein:1.1,fat:.2,freeFructose:.2,freeGlucose:.2,sucrose:.8,maltose:0,lactose:0,galactose:null,starch:29.2,totalSugars:1.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002287",name:"Cassava, white flesh, peeled, fresh, boiled, drained",availableCarb:36.7,fibre:4.9,protein:.6,fat:.3,freeFructose:.1,freeGlucose:.2,sucrose:1,maltose:0,lactose:0,galactose:null,starch:35.4,totalSugars:1.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002288",name:"Cassava, white flesh, peeled, fresh, raw",availableCarb:34.1,fibre:4.6,protein:.6,fat:.3,freeFructose:.1,freeGlucose:.2,sucrose:.9,maltose:0,lactose:0,galactose:null,starch:32.9,totalSugars:1.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002289",name:"Cassava, yellow flesh, peeled, fresh, boiled, drained",availableCarb:28.7,fibre:5,protein:1.7,fat:.2,freeFructose:.2,freeGlucose:.2,sucrose:.9,maltose:0,lactose:0,galactose:null,starch:27.4,totalSugars:1.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002290",name:"Cassava, yellow flesh, peeled, fresh, raw",availableCarb:26.7,fibre:4.7,protein:1.6,fat:.2,freeFructose:.2,freeGlucose:.2,sucrose:.8,maltose:0,lactose:0,galactose:null,starch:25.5,totalSugars:1.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002377",name:"Cauliflower, fresh, boiled, drained",availableCarb:3.4,fibre:1.2,protein:2,fat:.2,freeFructose:1.4,freeGlucose:1.4,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.5,totalSugars:2.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002378",name:"Cauliflower, fresh, raw",availableCarb:3.3,fibre:1.2,protein:1.9,fat:.2,freeFructose:1.4,freeGlucose:1.4,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.5,totalSugars:2.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002383",name:"Celeriac, peeled, boiled, drained",availableCarb:3,fibre:5.5,protein:1.7,fat:.2,freeFructose:.6,freeGlucose:.4,sucrose:1.9,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002384",name:"Celeriac, peeled, raw",availableCarb:2.8,fibre:5.1,protein:1.6,fat:.2,freeFructose:.6,freeGlucose:.4,sucrose:1.8,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:2.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002389",name:"Celery, fresh, fried, no added fat",availableCarb:1.5,fibre:1.8,protein:.7,fat:.1,freeFructose:.6,freeGlucose:.8,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:1.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002390",name:"Celery, fresh, raw",availableCarb:1.2,fibre:1.4,protein:.6,fat:.1,freeFructose:.5,freeGlucose:.7,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:1.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002405",name:"Cheese, blue vein",availableCarb:0,fibre:0,protein:20.9,fat:32.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002406",name:"Cheese, bocconcini",availableCarb:0,fibre:0,protein:16.6,fat:20.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002407",name:"Cheese, brie",availableCarb:0,fibre:0,protein:18.6,fat:31.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002408",name:"Cheese, camembert",availableCarb:0,fibre:0,protein:18.6,fat:23.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F002412",name:"Cheese, cheddar, natural, reduced fat (approximately 15%)",availableCarb:0,fibre:0,protein:34.4,fat:15.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002413",name:"Cheese, cheddar, natural, reduced fat (approximately 25%)",availableCarb:0,fibre:0,protein:27.9,fat:23.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002414",name:"Cheese, cheddar, natural, regular fat",availableCarb:.3,fibre:0,protein:24.6,fat:33.5,freeFructose:.2,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:.3,source:"ausnut-r2",sucroseSource:"measured"}
61,{id:"F002425",name:"Cheese, cheddar, processed, reduced fat (approximately 15%), added vitamin D",availableCarb:4.9,fibre:0,protein:22.4,fat:15.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:4.9,galactose:0,starch:0,totalSugars:4.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002428",name:"Cheese, cheddar, processed, regular fat",availableCarb:1.9,fibre:0,protein:18.2,fat:23.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:1.5,galactose:null,starch:.4,totalSugars:1.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002435",name:"Cheese, cottage",availableCarb:1.8,fibre:0,protein:17,fat:5.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:1.8,galactose:0,starch:0,totalSugars:1.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002444",name:"Cheese, cream, plain",availableCarb:.2,fibre:0,protein:8.5,fat:34.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:.2,galactose:0,starch:0,totalSugars:.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002448",name:"Cheese, edam",availableCarb:0,fibre:0,protein:27.4,fat:27.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002452",name:"Cheese, fetta (feta)",availableCarb:.4,fibre:0,protein:16.6,fat:22.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:.4,galactose:null,starch:0,totalSugars:.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002462",name:"Cheese, goat, firm",availableCarb:.8,fibre:0,protein:18.6,fat:31.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:.8,galactose:null,starch:0,totalSugars:.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002463",name:"Cheese, goat, soft",availableCarb:.9,fibre:0,protein:21.2,fat:21.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:.9,galactose:null,starch:0,totalSugars:.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002466",name:"Cheese, haloumi",availableCarb:1.8,fibre:0,protein:21.3,fat:17.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:1.8,galactose:null,starch:0,totalSugars:1.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002472",name:"Cheese, mozzarella",availableCarb:0,fibre:0,protein:22.2,fat:22.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002478",name:"Cheese, parmesan, dried, finely grated",availableCarb:0,fibre:0,protein:40.6,fat:33.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002479",name:"Cheese, parmesan, fresh, regular fat",availableCarb:0,fibre:0,protein:32,fat:27,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002488",name:"Cheese, ricotta",availableCarb:2.7,fibre:0,protein:10.4,fat:11.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:2.7,galactose:null,starch:0,totalSugars:2.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002494",name:"Cheese, soy",availableCarb:3.9,fibre:0,protein:3.8,fat:23.4,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:3.2,totalSugars:.7,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F002513",name:"Cherry, black, canned in syrup",availableCarb:16,fibre:.9,protein:.7,fat:0,freeFructose:6.6,freeGlucose:7.3,sucrose:1.8,maltose:0,lactose:0,galactose:null,starch:.2,totalSugars:15.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002514",name:"Cherry, black, canned in syrup, drained",availableCarb:16,fibre:1.7,protein:.9,fat:.1,freeFructose:6.6,freeGlucose:7.3,sucrose:1.8,maltose:0,lactose:0,galactose:null,starch:.3,totalSugars:15.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002517",name:"Cherry, black, canned in syrup, syrup only",availableCarb:16,fibre:0,protein:.5,fat:0,freeFructose:6.7,freeGlucose:7.4,sucrose:1.9,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:16,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002522",name:"Cherry, raw",availableCarb:10.9,fibre:1.5,protein:.8,fat:.2,freeFructose:4.7,freeGlucose:6.2,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:10.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002568",name:"Chicken, barbecued, with skin",availableCarb:0,fibre:1.1,protein:27.5,fat:8.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002590",name:"Chicken, breast, lean flesh, baked, no added fat",availableCarb:0,fibre:0,protein:29,fat:3.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002591",name:"Chicken, breast, lean flesh, casseroled, no added fat",availableCarb:0,fibre:0,protein:27,fat:3.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002592",name:"Chicken, breast, lean flesh, fried, no added fat",availableCarb:.7,fibre:0,protein:34.5,fat:1.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:.7,lactose:0,galactose:0,starch:0,totalSugars:.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002593",name:"Chicken, breast, lean flesh, grilled, no added fat",availableCarb:0,fibre:0,protein:29.8,fat:2.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002594",name:"Chicken, breast, lean flesh, raw",availableCarb:0,fibre:0,protein:22.5,fat:.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002595",name:"Chicken, breast, lean flesh, skin & fat, baked, no added fat",availableCarb:0,fibre:0,protein:27.7,fat:8.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002596",name:"Chicken, breast, lean flesh, skin & fat, casseroled, no added fat",availableCarb:0,fibre:0,protein:26,fat:7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002597",name:"Chicken, breast, lean flesh, skin & fat, raw",availableCarb:0,fibre:0,protein:20.2,fat:8.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002645",name:"Chicken, drumstick, lean flesh, baked, no added fat",availableCarb:.4,fibre:0,protein:29.9,fat:8.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:.4,lactose:0,galactose:0,starch:0,totalSugars:.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002646",name:"Chicken, drumstick, lean flesh, casseroled, no added fat",availableCarb:0,fibre:0,protein:28.6,fat:6.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002647",name:"Chicken, drumstick, lean flesh, raw",availableCarb:0,fibre:0,protein:18.5,fat:4.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002648",name:"Chicken, drumstick, lean flesh, skin & fat, baked, no added fat",availableCarb:.3,fibre:0,protein:28.5,fat:13.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:.3,lactose:0,galactose:0,starch:0,totalSugars:.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002649",name:"Chicken, drumstick, lean flesh, skin & fat, casseroled, no added fat",availableCarb:0,fibre:0,protein:26.9,fat:11.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002650",name:"Chicken, drumstick, lean flesh, skin & fat, raw",availableCarb:0,fibre:0,protein:17.6,fat:9.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002708",name:"Chicken, liver, fried, added butter",availableCarb:0,fibre:0,protein:20.2,fat:10.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002709",name:"Chicken, liver, raw",availableCarb:0,fibre:0,protein:16.9,fat:4.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009831",name:"Chicken, mince, fried, no added fat",availableCarb:0,fibre:0,protein:28.1,fat:1.4,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F002739",name:"Chicken, mince, raw",availableCarb:0,fibre:0,protein:21.4,fat:1.1,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F002751",name:"Chicken, nugget, purchased from fast food chain, grilled",availableCarb:19.9,fibre:1.3,protein:14.8,fat:5.9,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:19,totalSugars:.9,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F002752",name:"Chicken, nugget, purchased from independent takeaway & fast food chain, fried, undefined oil",availableCarb:16.8,fibre:1.1,protein:13.1,fat:15.8,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:16.8,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F002755",name:"Chicken, nugget, purchased frozen, baked, no added fat",availableCarb:17.3,fibre:1.1,protein:12.8,fat:17.6,freeFructose:0,freeGlucose:0,sucrose:.8,maltose:0,lactose:0,galactose:0,starch:16.5,totalSugars:.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002756",name:"Chicken, processed luncheon meat, low or reduced fat",availableCarb:4.4,fibre:.2,protein:20,fat:1.2,freeFructose:0,freeGlucose:0,sucrose:.2,maltose:0,lactose:0,galactose:0,starch:4.2,totalSugars:.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009790",name:"Chicken, schnitzel, baked without fat",availableCarb:13.1,fibre:1.7,protein:16.5,fat:9.6,freeFructose:0,freeGlucose:.8,sucrose:0,maltose:1.3,lactose:0,galactose:null,starch:11,totalSugars:2.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002768",name:"Chicken, separable fat, composite, cooked, no added fat",availableCarb:0,fibre:0,protein:4.3,fat:53,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002769",name:"Chicken, separable fat, composite, raw",availableCarb:0,fibre:0,protein:5.1,fat:62.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002771",name:"Chicken, skin, composite, baked, no added fat",availableCarb:0,fibre:0,protein:22.3,fat:38.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002772",name:"Chicken, skin, composite, casseroled, no added fat",availableCarb:0,fibre:0,protein:18,fat:38.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002773",name:"Chicken, skin, composite, raw",availableCarb:0,fibre:0,protein:12.7,fat:35.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002804",name:"Chicken, thigh, lean flesh, baked, no added fat",availableCarb:0,fibre:0,protein:24.2,fat:8.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002805",name:"Chicken, thigh, lean flesh, casseroled, no added fat",availableCarb:0,fibre:0,protein:26.3,fat:9.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009806",name:"Chicken, thigh, lean flesh, fried, no added fat",availableCarb:0,fibre:0,protein:27.6,fat:5.2,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F002806",name:"Chicken, thigh, lean flesh, raw",availableCarb:0,fibre:0,protein:19.1,fat:3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002807",name:"Chicken, thigh, lean flesh, skin & fat, baked, no added fat",availableCarb:0,fibre:0,protein:23,fat:15,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002808",name:"Chicken, thigh, lean flesh, skin & fat, casseroled, no added fat",availableCarb:0,fibre:0,protein:24.1,fat:16.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002809",name:"Chicken, thigh, lean flesh, skin & fat, raw",availableCarb:0,fibre:0,protein:16,fat:16.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002847",name:"Chicken, wing, lean flesh, baked, no added fat",availableCarb:0,fibre:0,protein:30.9,fat:7.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002848",name:"Chicken, wing, lean flesh, casseroled, no added fat",availableCarb:0,fibre:0,protein:27.9,fat:8.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002849",name:"Chicken, wing, lean flesh, raw",availableCarb:0,fibre:0,protein:18.7,fat:4.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002850",name:"Chicken, wing, lean flesh, skin & fat, baked, no added fat",availableCarb:0,fibre:0,protein:28.1,fat:16.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"}
61,{id:"F002851",name:"Chicken, wing, lean flesh, skin & fat, casseroled, no added fat",availableCarb:0,fibre:0,protein:24.9,fat:17.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002852",name:"Chicken, wing, lean flesh, skin & fat, raw",availableCarb:0,fibre:0,protein:16.1,fat:17.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002880",name:"Chickpea, canned, drained",availableCarb:13.3,fibre:5.7,protein:6.3,fat:2.1,freeFructose:0,freeGlucose:0,sucrose:.6,maltose:0,lactose:0,galactose:null,starch:12.5,totalSugars:.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002881",name:"Chickpea, dried",availableCarb:38.5,fibre:20.8,protein:19.7,fat:5.5,freeFructose:0,freeGlucose:0,sucrose:2.2,maltose:0,lactose:0,galactose:null,starch:36.3,totalSugars:2.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002882",name:"Chickpea, dried, boiled, drained",availableCarb:14,fibre:7.6,protein:7.2,fat:2,freeFructose:0,freeGlucose:0,sucrose:.8,maltose:0,lactose:0,galactose:null,starch:13.2,totalSugars:.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002883",name:"Chicory, boiled, drained",availableCarb:.9,fibre:2.1,protein:2.1,fat:.2,freeFructose:.5,freeGlucose:.4,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.1,totalSugars:.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002884",name:"Chicory, raw",availableCarb:.8,fibre:1.8,protein:1.8,fat:.2,freeFructose:.4,freeGlucose:.3,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.1,totalSugars:.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002893",name:"Chilli (chili), dried, ground",availableCarb:14.9,fibre:34.8,protein:13.4,fat:14.3,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:7.7,totalSugars:7.2,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F002894",name:"Chilli (chili), green, fried, no added fat",availableCarb:1.1,fibre:14.3,protein:3.1,fat:.3,freeFructose:.3,freeGlucose:.7,sucrose:.1,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:1.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002896",name:"Chilli (chili), green, raw",availableCarb:1,fibre:12.9,protein:2.8,fat:.3,freeFructose:.3,freeGlucose:.6,sucrose:.1,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002900",name:"Chilli (chili), red, fried, no added fat",availableCarb:4.7,fibre:11.8,protein:1.6,fat:.4,freeFructose:2.6,freeGlucose:2.1,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:4.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002901",name:"Chilli (chili), red, raw",availableCarb:4.2,fibre:10.6,protein:1.4,fat:.4,freeFructose:2.3,freeGlucose:1.9,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:4.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002907",name:"Chives, raw",availableCarb:2.6,fibre:4.7,protein:1.5,fat:.3,freeFructose:1.9,freeGlucose:.4,sucrose:.3,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:2.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002916",name:"Chocolate, compound, cooking",availableCarb:57,fibre:4.6,protein:4,fat:30.3,freeFructose:0,freeGlucose:0,sucrose:50.9,maltose:0,lactose:4.4,galactose:null,starch:1.7,totalSugars:55.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002921",name:"Chocolate, dark, high cocoa solids",availableCarb:62.6,fibre:1.2,protein:3.9,fat:30.1,freeFructose:.1,freeGlucose:.1,sucrose:51.4,maltose:0,lactose:.4,galactose:null,starch:10.6,totalSugars:52,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009837",name:"Chocolate, dark, no added sugar",availableCarb:4.1,fibre:9.9,protein:6.9,fat:38.3,freeFructose:0,freeGlucose:0,sucrose:.5,maltose:0,lactose:0,galactose:null,starch:3.6,totalSugars:.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002929",name:"Chocolate, milk",availableCarb:56,fibre:2.3,protein:7.6,fat:30.5,freeFructose:0,freeGlucose:0,sucrose:43,maltose:0,lactose:11.6,galactose:null,starch:1.4,totalSugars:54.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002934",name:"Chocolate, milk, fondant or caramel filled",availableCarb:61.4,fibre:2,protein:6,fat:24.7,freeFructose:2.1,freeGlucose:4.1,sucrose:39.7,maltose:1.1,lactose:6.6,galactose:null,starch:6.6,totalSugars:53.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002937",name:"Chocolate, milk, with dried fruit & nuts",availableCarb:55.3,fibre:2.9,protein:7.8,fat:27.9,freeFructose:5.2,freeGlucose:5,sucrose:34,maltose:0,lactose:9.1,galactose:null,starch:2,totalSugars:53.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002939",name:"Chocolate, milk, with nuts",availableCarb:40.7,fibre:4.7,protein:9.9,fat:39.5,freeFructose:0,freeGlucose:0,sucrose:31.4,maltose:0,lactose:8.1,galactose:null,starch:1.2,totalSugars:39.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002946",name:"Chocolate, white",availableCarb:54.6,fibre:.2,protein:7.1,fat:34.5,freeFructose:0,freeGlucose:0,sucrose:44.4,maltose:0,lactose:10.2,galactose:null,starch:0,totalSugars:54.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002948",name:"Choko, peeled, fresh, boiled, drained",availableCarb:4.3,fibre:1.7,protein:.6,fat:.2,freeFructose:2,freeGlucose:1.7,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.6,totalSugars:3.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002949",name:"Choko, peeled, fresh, raw",availableCarb:3.6,fibre:1.4,protein:.5,fat:.2,freeFructose:1.7,freeGlucose:1.4,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.5,totalSugars:3.1,source:"ausnut-r2",sucroseSource:"measured"}
61,{id:"F002953",name:"Chutney or relish, commercial",availableCarb:43.1,fibre:2.2,protein:.5,fat:.3,freeFructose:19.9,freeGlucose:18.5,sucrose:3.1,maltose:0,lactose:0,galactose:null,starch:1.6,totalSugars:41.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002955",name:"Cider, apple (alcohol approximately 4-5% v/v)",availableCarb:5.6,fibre:0,protein:0,fat:0,freeFructose:1.6,freeGlucose:1.7,sucrose:2.3,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:5.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002963",name:"Cinnamon, dried, ground",availableCarb:27.5,fibre:53.1,protein:4,fat:1.2,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:25.3,totalSugars:2.2,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F002970",name:"Cloves, dried, ground",availableCarb:31.6,fibre:33.9,protein:6,fat:13,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:29.2,totalSugars:2.4,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F002980",name:"Cocoa powder",availableCarb:10.5,fibre:27.7,protein:22.1,fat:15.2,freeFructose:0,freeGlucose:.4,sucrose:1,maltose:.2,lactose:0,galactose:0,starch:9,totalSugars:1.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009813",name:"Coconut beverage, added Ca",availableCarb:2.4,fibre:0,protein:.2,fat:1.7,freeFructose:0,freeGlucose:0,sucrose:.2,maltose:.8,lactose:0,galactose:null,starch:1.4,totalSugars:1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009812",name:"Coconut beverage, unfortified",availableCarb:2.4,fibre:0,protein:.2,fat:1.7,freeFructose:0,freeGlucose:0,sucrose:.2,maltose:.8,lactose:0,galactose:null,starch:1.4,totalSugars:1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002982",name:"Coconut, cream, regular fat",availableCarb:1.4,fibre:0,protein:1.6,fat:23.2,freeFructose:0,freeGlucose:0,sucrose:1.4,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:1.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002983",name:"Coconut, fresh, mature fruit, flesh",availableCarb:3.3,fibre:8.1,protein:3.8,fat:32.8,freeFructose:.2,freeGlucose:.3,sucrose:2.4,maltose:0,lactose:0,galactose:null,starch:.4,totalSugars:2.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002984",name:"Coconut, fresh, mature, water or juice",availableCarb:4.7,fibre:0,protein:.5,fat:.1,freeFructose:.2,freeGlucose:1.3,sucrose:3.2,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:4.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002985",name:"Coconut, fresh, young or immature, flesh",availableCarb:7,fibre:.5,protein:1.6,fat:5.6,freeFructose:1.5,freeGlucose:1.6,sucrose:.9,maltose:0,lactose:0,galactose:null,starch:3,totalSugars:4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002986",name:"Coconut, fresh, young or immature, water or juice",availableCarb:6.6,fibre:0,protein:.2,fat:0,freeFructose:2.4,freeGlucose:2.7,sucrose:1.5,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:6.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002987",name:"Coconut, grated & desiccated",availableCarb:7.3,fibre:15.4,protein:6.9,fat:65.4,freeFructose:.5,freeGlucose:.6,sucrose:5.5,maltose:0,lactose:0,galactose:null,starch:.8,totalSugars:6.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002990",name:"Coconut, milk, canned, reduced fat",availableCarb:.9,fibre:0,protein:.6,fat:7.1,freeFructose:.1,freeGlucose:.1,sucrose:.7,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F002991",name:"Coconut, milk, canned, regular fat",availableCarb:1.7,fibre:0,protein:1.4,fat:15.4,freeFructose:0,freeGlucose:0,sucrose:1.7,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:1.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003003",name:"Cod or hake, smoked, steamed",availableCarb:0,fibre:0,protein:20.1,fat:1.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003009",name:"Cod, smoked, raw",availableCarb:0,fibre:0,protein:18.8,fat:1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003014",name:"Coffee mix, with beverage whitener & sugar, dry powder",availableCarb:56.1,fibre:3.6,protein:13.1,fat:12.7,freeFructose:0,freeGlucose:.3,sucrose:14,maltose:2,lactose:22,galactose:null,starch:7.8,totalSugars:38.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003017",name:"Coffee, black, from instant coffee powder",availableCarb:0,fibre:.2,protein:.2,fat:0,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003018",name:"Coffee, black, from instant coffee powder, decaffeinated",availableCarb:0,fibre:.2,protein:.2,fat:0,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003041",name:"Coffee, espresso, from ground coffee beans",availableCarb:0,fibre:0,protein:1.7,fat:.3,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F009796",name:"Coffee, flat white/latte/cappuccino, from ground coffee beans, with regular fat cows milk",availableCarb:3.4,fibre:0,protein:2.8,fat:2.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:3.4,galactose:null,starch:0,totalSugars:3.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003060",name:"Coffee, instant, dry powder or granules",availableCarb:3.6,fibre:20.6,protein:18,fat:.3,freeFructose:.4,freeGlucose:.7,sucrose:.6,maltose:.6,lactose:0,galactose:1.1,starch:.2,totalSugars:3.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003061",name:"Coffee, instant, dry powder or granules, decaffeinated",availableCarb:2.5,fibre:20.6,protein:18,fat:.3,freeFructose:.4,freeGlucose:.7,sucrose:.6,maltose:.6,lactose:0,galactose:null,starch:.2,totalSugars:2.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003065",name:"Coffee, long black, from ground coffee beans",availableCarb:0,fibre:0,protein:.3,fat:.1,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F003084",name:"Coffee, prepared from coffee mix with sugar & whitener, no added milk",availableCarb:2.8,fibre:.2,protein:.6,fat:.6,freeFructose:0,freeGlucose:0,sucrose:.7,maltose:.1,lactose:1.1,galactose:null,starch:.4,totalSugars:1.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003095",name:"Cone, wafer style, for ice cream",availableCarb:72.3,fibre:3.2,protein:7.9,fat:2.3,freeFructose:0,freeGlucose:0,sucrose:.3,maltose:0,lactose:0,galactose:null,starch:72,totalSugars:.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003097",name:"Confectionery, almond, chocolate-coated",availableCarb:48.4,f
61ibre:3.6,protein:9.4,fat:33.5,freeFructose:0,freeGlucose:0,sucrose:37.2,maltose:0,lactose:9.9,galactose:null,starch:1.2,totalSugars:47.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003100",name:"Confectionery, chocolate centre, sugar-coated",availableCarb:76.7,fibre:1.8,protein:4.8,fat:18.8,freeFructose:0,freeGlucose:.1,sucrose:58.9,maltose:.5,lactose:5.4,galactose:null,starch:11.8,totalSugars:64.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003105",name:"Confectionery, dried fruit & nuts, chocolate-coated",availableCarb:49.4,fibre:3.8,protein:9.7,fat:29.5,freeFructose:9.3,freeGlucose:9,sucrose:22.6,maltose:null,lactose:5.8,galactose:null,starch:2.6,totalSugars:46.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003114",name:"Confectionery, peanut, chocolate-coated",availableCarb:41.9,fibre:4.3,protein:13.3,fat:37.7,freeFructose:0,freeGlucose:0,sucrose:30,maltose:0,lactose:7.7,galactose:null,starch:4.2,totalSugars:37.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003118",name:"Confectionery, sultana, chocolate-coated",availableCarb:61.7,fibre:2.6,protein:6.1,fat:21.4,freeFructose:11.2,freeGlucose:10.7,sucrose:30.1,maltose:0,lactose:8.1,galactose:null,starch:1.5,totalSugars:60.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003130",name:"Cordial base, 25% citrus fruit juice, regular",availableCarb:37.3,fibre:0,protein:0,fat:0,freeFructose:11.7,freeGlucose:13.1,sucrose:12.5,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:37.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003135",name:"Cordial base, 40% citrus fruit juice, regular",availableCarb:40.2,fibre:0,protein:.2,fat:0,freeFructose:13.1,freeGlucose:15.9,sucrose:11.2,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:40.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003128",name:"Cordial base, blackcurrant juice, regular",availableCarb:45,fibre:0,protein:.1,fat:0,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:45,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F003158",name:"Cordial, 25% citrus fruit juice, regular, recommended dilution",availableCarb:8.7,fibre:0,protein:0,fat:0,freeFructose:2.7,freeGlucose:3.1,sucrose:2.9,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:8.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003160",name:"Cordial, 40% citrus fruit juice, regular, recommended dilution",availableCarb:9.4,fibre:0,protein:0,fat:0,freeFructose:3.1,freeGlucose:3.7,sucrose:2.6,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:9.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003156",name:"Cordial, blackcurrant juice, regular, recommended dilution",availableCarb:9.3,fibre:0,protein:0,fat:0,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:9.3,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F003190",name:"Coriander seed, dried, ground",availableCarb:8.4,fibre:41.9,protein:12.4,fat:17.8,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:6.1,totalSugars:2.4,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F003192",name:"Coriander, fresh, raw",availableCarb:1.9,fibre:3.2,protein:3.1,fat:.6,freeFructose:.5,freeGlucose:.6,sucrose:.2,maltose:0,lactose:0,galactose:null,starch:.6,totalSugars:1.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003198",name:"Corn chips, plain, toasted, salted",availableCarb:56,fibre:5.2,protein:7.5,fat:25,freeFructose:0,freeGlucose:0,sucrose:.6,maltose:0,lactose:0,galactose:null,starch:55.4,totalSugars:.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003200",name:"Corn, fresh on cob, boiled, drained",availableCarb:13,fibre:4,protein:3.8,fat:1.9,freeFructose:.9,freeGlucose:1,sucrose:3.6,maltose:0,lactose:0,galactose:null,starch:7.4,totalSugars:5.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003209",name:"Corn, fresh on cob, raw",availableCarb:12.5,fibre:3.8,protein:3.6,fat:1.8,freeFructose:.9,freeGlucose:1,sucrose:3.5,maltose:0,lactose:0,galactose:null,starch:7.1,totalSugars:5.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003220",name:"Corn, kernels, canned in brine, drained",availableCarb:16.8,fibre:2.7,protein:2.9,fat:1,freeFructose:.2,freeGlucose:.2,sucrose:3,maltose:0,lactose:0,galactose:null,starch:13.4,totalSugars:3.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003201",name:"Corn, kernels, purchased frozen, boiled, drained",availableCarb:19.9,fibre:3.5,protein:3.1,fat:.9,freeFructose:.3,freeGlucose:.3,sucrose:1.8,maltose:.2,lactose:0,galactose:null,starch:17.3,totalSugars:2.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003202",name:"Corn, kernels, purchased frozen, raw",availableCarb:16.8,fibre:2.5,protein:3,fat:.9,freeFructose:.3,freeGlucose:.3,sucrose:2.2,maltose:.2,lactose:0,galactose:null,starch:13.8,totalSugars:3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003227",name:"Cornmeal (polenta), boiled, no added fat or salt",availableCarb:22.3,fibre:1,protein:2.7,fat:.5,freeFructose:0,freeGlucose:.1,sucrose:.1,maltose:0,lactose:0,galactose:null,starch:22,totalSugars:.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003230",name:"Cornmeal (polenta), uncooked",availableCarb:70,fibre:3,protein:8.5,fat:1.7,freeFructose:0,freeGlucose:.3,sucrose:.4,maltose:0,lactose:0,galactose:null,starch:69.3,totalSugars:.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003235",name:"Couscous, boiled, no added fat or salt",availableCarb:32.7,fibre:1.9,protein:6.1,fat:.1,freeFructose:0,freeGlucose:0,sucrose:.2,maltose:1.3,lactose:0,galactose:null,starch:31.2,totalSugars:1.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003239",name:"Couscous, uncooked",availableCarb:73.6,fibre:4.2,protein:13.8,fat:.2,freeFructose:0,freeGlucose:0,sucrose:.5,maltose:2.9,lactose:0,galactose:null,starch:70.2,totalSugars:3.4,source:"ausnut-r2",sucroseSource:"measured"}
61,{id:"F003243",name:"Crab, flesh, purchased steamed or boiled",availableCarb:0,fibre:0,protein:20.2,fat:.7,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F003248",name:"Cranberry, dried, sweetened",availableCarb:77.5,fibre:5.3,protein:.2,fat:1.1,freeFructose:27,freeGlucose:29.75,sucrose:15.75,maltose:null,lactose:null,galactose:null,starch:4.9,totalSugars:72.6,source:"usda-override",sucroseSource:"usda-override"},{id:"F003249",name:"Cranberry, raw",availableCarb:4.3,fibre:3.6,protein:.5,fat:.1,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:4.3,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F003250",name:"Cream of tartar, dry powder",availableCarb:0,fibre:.2,protein:0,fat:0,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F003255",name:"Cream, imitation (non-dairy)",availableCarb:17.7,fibre:0,protein:1,fat:21.8,freeFructose:0,freeGlucose:3.8,sucrose:11.7,maltose:0,lactose:.8,galactose:null,starch:1.4,totalSugars:16.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003267",name:"Cream, sour, light (approximately 18% fat)",availableCarb:4.5,fibre:0,protein:3.6,fat:19.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:4.5,galactose:0,starch:0,totalSugars:4.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003269",name:"Cream, sour, regular fat",availableCarb:2,fibre:0,protein:1.9,fat:36.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:2,galactose:0,starch:0,totalSugars:2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003270",name:"Cream, thickened, regular fat (approximately 35%)",availableCarb:2.4,fibre:0,protein:2,fat:36.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:2.4,galactose:0,starch:0,totalSugars:2.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003299",name:"Crocodile, back leg, raw",availableCarb:0,fibre:0,protein:22,fat:2.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009817",name:"Crocodile, steak, as purchased, fried, no added fat",availableCarb:0,fibre:0,protein:34.4,fat:2.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009793",name:"Crocodile, steak, as purchased, raw",availableCarb:0,fibre:0,protein:20.6,fat:1.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003301",name:"Crocodile, tail fillet, raw",availableCarb:0,fibre:0,protein:22.5,fat:1.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003305",name:"Croissant, plain",availableCarb:35.6,fibre:2.7,protein:10,fat:19.1,freeFructose:2.6,freeGlucose:1.5,sucrose:.5,maltose:.3,lactose:.2,galactose:null,starch:30.5,totalSugars:5.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003313",name:"Crumpet, from white flour, toasted",availableCarb:41.6,fibre:2.5,protein:5.6,fat:.8,freeFructose:.1,freeGlucose:.1,sucrose:.2,maltose:1.5,lactose:0,galactose:null,starch:39.8,totalSugars:1.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003319",name:"Cucumber, common, peeled, raw",availableCarb:2.1,fibre:.6,protein:.4,fat:.1,freeFructose:1.1,freeGlucose:1,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:2.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003320",name:"Cucumber, common, unpeeled, raw",availableCarb:1.2,fibre:1.4,protein:.8,fat:.1,freeFructose:.6,freeGlucose:.6,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:1.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003321",name:"Cucumber, Lebanese, unpeeled, raw",availableCarb:2,fibre:.9,protein:.6,fat:0,freeFructose:1,freeGlucose:1,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:1.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003324",name:"Cucumber, telegraph, unpeeled, raw",availableCarb:1.4,fibre:.9,protein:1.2,fat:.1,freeFructose:.8,freeGlucose:.6,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:1.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003327",name:"Cumin (cummin) seed, dried, ground",availableCarb:33.7,fibre:10.5,protein:17.8,fat:22.3,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:31.5,totalSugars:2.2,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F003328",name:"Cumquat (kumquat), raw",availableCarb:9.4,fibre:6.5,protein:1.9,fat:.9,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:9.4,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F003331",name:"Currant, dried",availableCarb:65.1,fibre:6,protein:2.8,fat:.5,freeFructose:32.2,freeGlucose:31,sucrose:0,maltose:0,lactose:0,galactose:null,starch:1.9,totalSugars:63.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003337",name:"Curry powder",availableCarb:2.8,fibre:53.2,protein:14.3,fat:14,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:2.8,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F003423",name:"Custard apple, African pride, peeled, raw",availableCarb:15.8,fibre:2.5,protein:1.4,fat:.6,freeFructose:5.4,freeGlucose:5.6,sucrose:3.7,maltose:0,lactose:0,galactose:null,starch:1.1,totalSugars:14.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003426",name:"Custard powder, vanilla, dry mix",availableCarb:81.5,fibre:.5,protein:.5,fat:.4,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:81.1,totalSugars:.4,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F003441",name:"Custard, vanilla, prepared from dry mix",availableCarb:13.9,fibre:0,protein:3.6,fat:3.7,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:4.3,totalSugars:9.6,source:"ausnut-r2",sucroseSource:"unmeasured"}
61,{id:"F003442",name:"Custard, vanilla, regular fat",availableCarb:13.9,fibre:0,protein:3.3,fat:3,freeFructose:0,freeGlucose:0,sucrose:7.2,maltose:.5,lactose:3.9,galactose:0,starch:2.3,totalSugars:11.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003464",name:"Dairy blend, butter & edible oil spread (approximately 80% fat), reduced salt (sodium 400 mg/100 g)",availableCarb:1,fibre:0,protein:.5,fat:78.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:.6,galactose:null,starch:.4,totalSugars:.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003466",name:"Dairy blend, butter & edible oil spread (approximately 80% fat), sodium 600 mg/100 g",availableCarb:1,fibre:0,protein:.5,fat:78.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:.6,galactose:null,starch:.4,totalSugars:.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003488",name:"Dairy or yoghurt dessert, chocolate, regular fat",availableCarb:17.7,fibre:1.4,protein:5.1,fat:3.7,freeFructose:0,freeGlucose:0,sucrose:11,maltose:0,lactose:4.7,galactose:0,starch:2,totalSugars:15.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003496",name:"Date, dried",availableCarb:67.2,fibre:9.7,protein:2,fat:.2,freeFructose:33.4,freeGlucose:32.5,sucrose:0,maltose:0,lactose:0,galactose:null,starch:1.3,totalSugars:65.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003509",name:"Dill, fresh, raw",availableCarb:2.5,fibre:3.3,protein:3.4,fat:1.2,freeFructose:.4,freeGlucose:.8,sucrose:0,maltose:null,lactose:null,galactose:null,starch:1.3,totalSugars:1.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003539",name:"Dip, hummus, commercial",availableCarb:9.4,fibre:3.9,protein:6.9,fat:19.5,freeFructose:0,freeGlucose:0,sucrose:.8,maltose:0,lactose:0,galactose:null,starch:8.6,totalSugars:.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003573",name:"Doughnut, dusted with cinnamon & sugar",availableCarb:43.9,fibre:2,protein:6.6,fat:19.5,freeFructose:.1,freeGlucose:0,sucrose:12.7,maltose:0,lactose:.9,galactose:null,starch:30.2,totalSugars:13.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003574",name:"Doughnut, iced",availableCarb:48.2,fibre:1.7,protein:6.7,fat:15.9,freeFructose:1.4,freeGlucose:1.3,sucrose:19.1,maltose:.9,lactose:.2,galactose:null,starch:25.3,totalSugars:22.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003575",name:"Doughnut, jam filled, sugar coated",availableCarb:46.2,fibre:1.9,protein:6,fat:17.6,freeFructose:2,freeGlucose:2,sucrose:14.1,maltose:.1,lactose:.8,galactose:null,starch:27.2,totalSugars:19,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003592",name:"Dressing, French or Italian, regular fat, commercial",availableCarb:11.7,fibre:0,protein:.1,fat:19.6,freeFructose:5.3,freeGlucose:6,sucrose:.1,maltose:0,lactose:0,galactose:null,starch:.3,totalSugars:11.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003612",name:"Dressing, thousand island, regular fat, commercial",availableCarb:16.6,fibre:1.4,protein:1,fat:31.8,freeFructose:3.1,freeGlucose:3,sucrose:8.6,maltose:0,lactose:0,galactose:null,starch:1.9,totalSugars:14.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003627",name:"Dripping, beef",availableCarb:0,fibre:0,protein:.2,fat:100,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009819",name:"Duck, breast, lean, fried, no added fat",availableCarb:0,fibre:0,protein:28,fat:.8,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F009805",name:"Duck, breast, lean, raw",availableCarb:0,fibre:0,protein:21.2,fat:.6,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F003631",name:"Duck, lean flesh, baked, no added fat",availableCarb:0,fibre:0,protein:24.3,fat:9.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003632",name:"Duck, lean flesh, raw",availableCarb:0,fibre:0,protein:17.8,fat:5.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003633",name:"Duck, lean flesh, skin & fat, baked, no added fat",availableCarb:0,fibre:0,protein:17.3,fat:49.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003634",name:"Duck, lean flesh, skin & fat, raw",availableCarb:0,fibre:0,protein:13,fat:36.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003641",name:"Duck, skin & fat, baked, no added fat",availableCarb:0,fibre:0,protein:13.4,fat:48.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003642",name:"Duck, skin & fat, raw",availableCarb:0,fibre:0,protein:9.5,fat:59.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003705",name:"Egg, chicken, white (albumen), hard-boiled",availableCarb:.4,fibre:0,protein:11.6,fat:0,freeFructose:0,freeGlucose:.4,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003706",name:"Egg, chicken, white (albumen), raw",availableCarb:.4,fibre:0,protein:11.2,fat:0,freeFructose:0,freeGlucose:.4,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.4,source:"ausnut-r2",sucroseSource:"measured"}
61,{id:"F003718",name:"Egg, chicken, whole, fried, no fat added",availableCarb:.3,fibre:0,protein:14.3,fat:9.6,freeFructose:null,freeGlucose:.3,sucrose:0,maltose:null,lactose:0,galactose:null,starch:0,totalSugars:.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003721",name:"Egg, chicken, whole, hard-boiled",availableCarb:.7,fibre:0,protein:12.4,fat:9.5,freeFructose:.1,freeGlucose:.2,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.4,totalSugars:.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003723",name:"Egg, chicken, whole, omega-3 polyunsaturate enriched, boiled",availableCarb:.3,fibre:0,protein:12.7,fat:9.4,freeFructose:0,freeGlucose:.3,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003724",name:"Egg, chicken, whole, omega-3 polyunsaturate enriched, raw",availableCarb:.3,fibre:0,protein:12.4,fat:9.2,freeFructose:0,freeGlucose:.3,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003725",name:"Egg, chicken, whole, poached",availableCarb:.3,fibre:0,protein:13.1,fat:8.8,freeFructose:null,freeGlucose:.3,sucrose:0,maltose:null,lactose:0,galactose:null,starch:0,totalSugars:.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003729",name:"Egg, chicken, whole, raw",availableCarb:.3,fibre:0,protein:12.6,fat:8.5,freeFructose:null,freeGlucose:.3,sucrose:0,maltose:null,lactose:0,galactose:null,starch:0,totalSugars:.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003732",name:"Egg, chicken, whole, scrambled, with regular fat cows milk, no fat added",availableCarb:2.1,fibre:0,protein:10.8,fat:7.7,freeFructose:null,freeGlucose:.2,sucrose:0,maltose:null,lactose:1.8,galactose:null,starch:0,totalSugars:2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003736",name:"Egg, chicken, yolk, hard-boiled",availableCarb:.2,fibre:0,protein:16.1,fat:31.7,freeFructose:0,freeGlucose:.2,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003737",name:"Egg, chicken, yolk, raw",availableCarb:.2,fibre:0,protein:15.6,fat:28.2,freeFructose:0,freeGlucose:.2,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003759",name:"Eggplant, unpeeled, fresh, baked, no added fat",availableCarb:3,fibre:2.9,protein:1.3,fat:.4,freeFructose:1.3,freeGlucose:1.6,sucrose:.1,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003760",name:"Eggplant, unpeeled, fresh, grilled, no added fat",availableCarb:3.7,fibre:3.5,protein:1.6,fat:.4,freeFructose:1.6,freeGlucose:2,sucrose:.1,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:3.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003761",name:"Eggplant, unpeeled, fresh, raw",availableCarb:2.6,fibre:2.4,protein:1.1,fat:.3,freeFructose:1.1,freeGlucose:1.4,sucrose:.1,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:2.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003776",name:"Emu, fan fillet, raw",availableCarb:0,fibre:0,protein:24.7,fat:1.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003778",name:"Emu, steak, as purchased, fried, no added fat",availableCarb:0,fibre:0,protein:30.8,fat:3.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003779",name:"Emu, steak, as purchased, raw",availableCarb:0,fibre:0,protein:23.4,fat:2.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003784",name:"Endive, fresh, raw",availableCarb:.4,fibre:2.2,protein:1.5,fat:.2,freeFructose:.2,freeGlucose:.1,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.1,totalSugars:.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003802",name:"Extruded snack, cheese flavoured",availableCarb:53.5,fibre:3.2,protein:8.8,fat:25.8,freeFructose:0,freeGlucose:0,sucrose:.4,maltose:0,lactose:2.1,galactose:null,starch:51,totalSugars:2.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003817",name:"Fat, solid, vegetable oil based",availableCarb:0,fibre:0,protein:.2,fat:100,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003818",name:"Feijoa, raw",availableCarb:8,fibre:3,protein:.6,fat:.4,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:.3,totalSugars:7.7,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F003819",name:"Fennel, fresh, boiled, drained",availableCarb:3.9,fibre:2.1,protein:1.2,fat:.1,freeFructose:1.6,freeGlucose:1.6,sucrose:.6,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:3.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003820",name:"Fennel, fresh, raw",availableCarb:3.3,fibre:1.8,protein:1,fat:.1,freeFructose:1.4,freeGlucose:1.4,sucrose:.5,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:3.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003821",name:"Fenugreek seed, dried",availableCarb:4.2,fibre:47.6,protein:23,fat:6.4,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:3.7,totalSugars:.6,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F003832",name:"Fig, dried",availableCarb:54.5,fibre:14.3,protein:3.6,fat:.7,freeFructose:27.2,freeGlucose:25.4,sucrose:0,maltose:0,lactose:0,galactose:null,starch:1.9,totalSugars:52.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003834",name:"Fig, fresh, unpeeled, raw",availableCarb:8.1,fibre:3.3,protein:1.4,fat:.3,freeFructose:3.9,freeGlucose:4.2,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:8.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003896",name:"Fish finger, crumbed, purchased frozen, grilled, no added fat",availableCarb:18.9,fibre:1.2,protein:13.8,fat:13.2,freeFructose:0,freeGlucose:.2,sucrose:0,maltose:1.5,lactose:0,galactose:null,starch:17.2,totalSugars:1.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003897",name:"Fish finger, crumbed, purchased frozen, raw",availableCarb:16.6,fibre:1.1,protein:12.1,fat:11.6,freeFructose:0,freeGlucose:.2,sucrose:0,maltose:1.3,lactose:0,galactose:null,starch:15.1,totalSugars:1.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003907",name:"Fish, battered or crumbed, from takeaway outlet, deep fried, blended frying fat, ready to eat",availableCarb:15.2,fibre:.1,protein:15.2,fat:13.2,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:14.6,totalSugars:.6,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F003920",name:"Fish, eel, raw",availableCarb:0,fibre:0,protein:18.4,fat:11.7,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F003950",name:"Fish, white flesh, battered, packaged frozen, baked, no added fat",availableCarb:20.6,fibre:.5,protein:12.2,fat:7,freeFructose:0,freeGlucose:0,sucrose:1,maltose:.6,lactose:0,galactose:null,starch:19,totalSugars:1.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003954",name:"Fish, white flesh, crumbed, packaged frozen, baked, no added fat",availableCarb:16.7,fibre:.5,protein:11.8,fat:10,freeFructose:0,freeGlucose:.1,sucrose:1,maltose:.6,lactose:0,galactose:null,starch:15,totalSugars:1.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003970",name:"Flathead, flesh, baked, no added fat",availableCarb:0,fibre:0,protein:28.8,fat:1.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"}
61,{id:"F003973",name:"Flathead, flesh, raw",availableCarb:0,fibre:0,protein:21.1,fat:1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003974",name:"Flathead, flesh, steamed, no added fat",availableCarb:0,fibre:0,protein:26.1,fat:1.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003983",name:"Flour, arrowroot",availableCarb:78.6,fibre:3.4,protein:.4,fat:.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:78.6,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003986",name:"Flour, chickpea (besan)",availableCarb:38.5,fibre:20.8,protein:19.7,fat:5.5,freeFructose:0,freeGlucose:0,sucrose:2.2,maltose:0,lactose:0,galactose:null,starch:36.3,totalSugars:2.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003989",name:"Flour, cornflour, from maize & wheat starch",availableCarb:84.4,fibre:.5,protein:.6,fat:.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:84.4,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003988",name:"Flour, cornflour, from maize starch",availableCarb:84.1,fibre:0,protein:.4,fat:.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:84.1,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003990",name:"Flour, gluten free, plain",availableCarb:80.5,fibre:1.7,protein:3.4,fat:1.1,freeFructose:0,freeGlucose:0,sucrose:.3,maltose:0,lactose:0,galactose:null,starch:80.2,totalSugars:.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F003998",name:"Flour, rice",availableCarb:71.6,fibre:2.2,protein:7.3,fat:2,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:71,totalSugars:.6,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F004000",name:"Flour, rye",availableCarb:54.9,fibre:17.3,protein:11.4,fat:2.3,freeFructose:0,freeGlucose:0,sucrose:1.4,maltose:0,lactose:0,galactose:null,starch:53.5,totalSugars:1.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004002",name:"Flour, soya",availableCarb:14.6,fibre:16,protein:49.8,fat:8.9,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:5.3,totalSugars:9.3,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F004004",name:"Flour, spelt",availableCarb:59.1,fibre:7.4,protein:18.7,fat:2.4,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:58.2,totalSugars:.9,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F004006",name:"Flour, wheat, white, high protein or bread making flour",availableCarb:69.6,fibre:2.5,protein:11.7,fat:1.7,freeFructose:0,freeGlucose:0,sucrose:.9,maltose:.9,lactose:0,galactose:null,starch:67.8,totalSugars:1.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004007",name:"Flour, wheat, white, plain",availableCarb:73.2,fibre:2.2,protein:10,fat:1.3,freeFructose:0,freeGlucose:0,sucrose:.7,maltose:1.2,lactose:0,galactose:null,starch:71.3,totalSugars:1.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004008",name:"Flour, wheat, white, plain, added vitamins B1, B2, B3, B6, E & folate & Fe, Mg & Zn (Jackaroo)",availableCarb:67.3,fibre:3.8,protein:11.1,fat:1.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:1.1,lactose:0,galactose:null,starch:66.2,totalSugars:1.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004009",name:"Flour, wheat, white, self-raising",availableCarb:73.2,fibre:2.2,protein:10,fat:1.3,freeFructose:0,freeGlucose:0,sucrose:.7,maltose:1.2,lactose:0,galactose:null,starch:71.3,totalSugars:1.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004013",name:"Flour, wheat, white, self-raising, added vitamins B1, B2, B3, B6, E & folate & Fe, Mg & Zn (Jackaroo)",availableCarb:65.2,fibre:3.7,protein:10.7,fat:1.4,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:64.1,totalSugars:1.1,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F004014",name:"Flour, wheat, wholemeal, plain",availableCarb:61.6,fibre:8.8,protein:11.6,fat:1.6,freeFructose:0,freeGlucose:0,sucrose:1,maltose:1,lactose:0,galactose:null,starch:59.6,totalSugars:2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004015",name:"Flour, wheat, wholemeal, self-raising",availableCarb:65.3,fibre:11.3,protein:11.4,fat:2.1,freeFructose:.1,freeGlucose:0,sucrose:.8,maltose:0,lactose:0,galactose:null,starch:64.4,totalSugars:.9,source:"ausnut-r2",sucroseSource:"measured"}
61,{id:"F004025",name:"Frankfurt, cooked",availableCarb:3.4,fibre:1.8,protein:14.3,fat:19.9,freeFructose:null,freeGlucose:.1,sucrose:.1,maltose:null,lactose:null,galactose:null,starch:3.2,totalSugars:.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004099",name:"Fruit drink, apple juice",availableCarb:8.2,fibre:0,protein:.1,fat:0,freeFructose:2.8,freeGlucose:2.4,sucrose:2.6,maltose:0,lactose:0,galactose:null,starch:.4,totalSugars:7.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004102",name:"Fruit drink, cranberry",availableCarb:11.3,fibre:.1,protein:0,fat:0,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:11.3,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F004114",name:"Fruit drink, orange juice",availableCarb:9.6,fibre:0,protein:.2,fat:0,freeFructose:1,freeGlucose:1,sucrose:7.6,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:9.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004141",name:"Fruit salad, canned in fruit juice",availableCarb:9.8,fibre:1.4,protein:.7,fat:.1,freeFructose:4.1,freeGlucose:2.6,sucrose:3,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:9.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004142",name:"Fruit salad, canned in fruit juice, drained",availableCarb:9.5,fibre:2.3,protein:.8,fat:.2,freeFructose:4.1,freeGlucose:2.6,sucrose:2.8,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:9.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004143",name:"Fruit salad, canned in fruit juice, juice only",availableCarb:10.2,fibre:.2,protein:.4,fat:0,freeFructose:4.2,freeGlucose:2.8,sucrose:3.2,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:10.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004192",name:"Garlic, peeled, fresh, fried, no added fat",availableCarb:16.4,fibre:27.2,protein:9.8,fat:4.5,freeFructose:1,freeGlucose:.6,sucrose:.8,maltose:0,lactose:0,galactose:null,starch:14,totalSugars:2.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004193",name:"Garlic, peeled, fresh, raw",availableCarb:10.2,fibre:16.9,protein:6.1,fat:2.8,freeFructose:.6,freeGlucose:.4,sucrose:.5,maltose:0,lactose:0,galactose:null,starch:8.7,totalSugars:1.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004196",name:"Gelatine, all types",availableCarb:0,fibre:0,protein:84.4,fat:.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004201",name:"Gemfish, flesh, baked, no added fat",availableCarb:.1,fibre:0,protein:19.2,fat:3.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004202",name:"Gemfish, flesh, raw",availableCarb:.1,fibre:0,protein:14,fat:2.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004203",name:"Gemfish, flesh, steamed, no added fat",availableCarb:.3,fibre:0,protein:26.4,fat:3.1,freeFructose:0,freeGlucose:0,sucrose:.3,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004205",name:"Ghee, clarified butter",availableCarb:0,fibre:0,protein:.3,fat:99.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004206",name:"Gherkin, pickled, drained, commercial",availableCarb:24.4,fibre:.9,protein:.4,fat:.3,freeFructose:10,freeGlucose:10.1,sucrose:3.5,maltose:0,lactose:0,galactose:null,starch:.8,totalSugars:23.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004210",name:"Ginger, dried, ground",availableCarb:57.5,fibre:14.1,protein:9,fat:4.2,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:54.1,totalSugars:3.4,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F004212",name:"Ginger, peeled, fresh, fried, no added fat",availableCarb:5.8,fibre:3.4,protein:1,fat:.5,freeFructose:1.1,freeGlucose:1,sucrose:0,maltose:0,lactose:0,galactose:null,starch:3.8,totalSugars:2.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004213",name:"Ginger, peeled, fresh, raw",availableCarb:4.8,fibre:2.8,protein:.8,fat:.4,freeFructose:.9,freeGlucose:.8,sucrose:0,maltose:0,lactose:0,galactose:null,starch:3.1,totalSugars:1.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004219",name:"Glucose, liquid or syrup",availableCarb:87.5,fibre:0,protein:0,fat:0,freeFructose:0,freeGlucose:19,sucrose:0,maltose:14,lactose:0,galactose:null,starch:0,totalSugars:33,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004220",name:"Gluten, from wheat (vital wheat gluten)",availableCarb:13.2,fibre:.6,protein:75.2,fat:0,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:13.2,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F004229",name:"Goat, all cuts, separable fat, baked, no added fat",availableCarb:0,fibre:0,protein:10,fat:64.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004230",name:"Goat, all cuts, separable fat, raw",availableCarb:0,fibre:0,protein:12.2,fat:44.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004232",name:"Goat, forequarter, lean, baked, no added fat",availableCarb:0,fibre:0,protein:30.8,fat:4.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004233",name:"Goat, forequarter, lean, raw",availableCarb:0,fibre:0,protein:21.6,fat:1.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"}
61,{id:"F004234",name:"Goat, leg, lean, baked, no added fat",availableCarb:0,fibre:0,protein:33.8,fat:3.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004235",name:"Goat, leg, lean, raw",availableCarb:0,fibre:0,protein:22.2,fat:2.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004236",name:"Goat, loin, lean, baked, no added fat",availableCarb:0,fibre:0,protein:29.2,fat:3.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004237",name:"Goat, loin, lean, raw",availableCarb:0,fibre:0,protein:22.2,fat:1.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004238",name:"Goat, meat, all cuts, lean, baked, no added fat",availableCarb:0,fibre:0,protein:31.3,fat:3.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004239",name:"Goat, meat, all cuts, lean, casseroled, no added fat",availableCarb:0,fibre:0,protein:43.6,fat:3.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004240",name:"Goat, meat, all cuts, lean, raw",availableCarb:0,fibre:0,protein:22,fat:1.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004241",name:"Goat, meat, all cuts, untrimmed, baked, no added fat",availableCarb:0,fibre:0,protein:29.2,fat:9.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004242",name:"Goat, meat, all cuts, untrimmed, casseroled, no added fat",availableCarb:0,fibre:0,protein:37.8,fat:10,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004243",name:"Goat, meat, all cuts, untrimmed, raw",availableCarb:0,fibre:0,protein:21.2,fat:5.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004244",name:"Goji berry, dried",availableCarb:49.1,fibre:11.2,protein:11.9,fat:3.7,freeFructose:24,freeGlucose:23,sucrose:.4,maltose:.3,lactose:0,galactose:null,starch:1.4,totalSugars:47.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004253",name:"Grape, black muscatel/muscat, raw",availableCarb:18.8,fibre:2.7,protein:1.1,fat:.1,freeFructose:9.5,freeGlucose:9.3,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:18.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004254",name:"Grape, black sultana, raw",availableCarb:14,fibre:3.3,protein:1.2,fat:.1,freeFructose:7.3,freeGlucose:6.7,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:14,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004256",name:"Grape, cornichon, raw",availableCarb:12.7,fibre:2.5,protein:1.3,fat:.1,freeFructose:6,freeGlucose:6.7,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:12.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004260",name:"Grape, green, raw",availableCarb:15.6,fibre:.8,protein:.8,fat:0,freeFructose:7.7,freeGlucose:7.5,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.4,totalSugars:15.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004259",name:"Grape, red globe, raw",availableCarb:16.3,fibre:3.5,protein:.9,fat:.2,freeFructose:9.2,freeGlucose:7.1,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:16.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004261",name:"Grape, waltham cross, raw",availableCarb:14.4,fibre:3.5,protein:.8,fat:.1,freeFructose:7.1,freeGlucose:7.3,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:14.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004262",name:"Grapefruit, peeled, raw",availableCarb:4.8,fibre:1.7,protein:.9,fat:.2,freeFructose:1.6,freeGlucose:1.6,sucrose:1.6,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:4.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004263",name:"Gravy powder, dry mix",availableCarb:54.7,fibre:.1,protein:8.9,fat:6.2,freeFructose:0,freeGlucose:0,sucrose:.7,maltose:0,lactose:0,galactose:null,starch:28.5,totalSugars:.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004265",name:"Gravy, prepared from dry powder with water",availableCarb:4.5,fibre:0,protein:.7,fat:.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:2.4,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004286",name:"Guava, Hawaiian, raw",availableCarb:3.5,fibre:5.4,protein:.7,fat:.5,freeFructose:2,freeGlucose:1.1,sucrose:.3,maltose:0,lactose:0,galactose:null,starch:.1,totalSugars:3.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004299",name:"Ham, leg, lean",availableCarb:2,fibre:1.8,protein:17,fat:2.5,freeFructose:.2,freeGlucose:.2,sucrose:.5,maltose:0,lactose:0,galactose:null,starch:1.1,totalSugars:.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004358",name:"Hamburger, white roll, beef patty, with cheese, onion, pickles & sauce, fast food chain",availableCarb:22.4,fibre:1.7,protein:15.1,fat:12.1,freeFructose:1,freeGlucose:.8,sucrose:.6,maltose:.5,lactose:0,galactose:0,starch:19.5,totalSugars:2.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004362",name:"Hamburger, white roll, beef patty, with salad, independent takeaway outlet",availableCarb:18,fibre:2.6,protein:12.1,fat:9.1,freeFructose:.3,freeGlucose:.5,sucrose:0,maltose:.6,lactose:0,galactose:null,starch:16.7,totalSugars:1.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004380",name:"Honey",availableCarb:72.3,fibre:0,protein:.3,fat:0,freeFructose:40,freeGlucose:31,sucrose:0,maltose:1.3,lactose:0,galactose:null,starch:0,totalSugars:72.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004389",name:"Hot dog, bread roll, frankfurt & sauce filling",availableCarb:27.4,fibre:2.5,protein:10.6,fat:8.8,freeFructose:null,freeGlucose:.5,sucrose:1.5,maltose:null,lactose:null,galactose:null,starch:23.4,totalSugars:4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004415",name:"Ice confection, stick or tub, fruit juice or fruit flavoured",availableCarb:18.7,fibre:0,protein:.2,fat:.1,freeFructose:1.1,freeGlucose:2.6,sucrose:14.6,maltose:.4,lactose:0,galactose:0,starch:0,totalSugars:18.7,source:"ausnut-r2",sucroseSource:"measured"}
61,{id:"F004419",name:"Ice confection, stick, milk-based, various flavours",availableCarb:19.8,fibre:.2,protein:2.9,fat:5.3,freeFructose:.2,freeGlucose:.6,sucrose:14.1,maltose:.4,lactose:4.6,galactose:null,starch:0,totalSugars:19.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004421",name:"Ice confection, stick, water-based, various flavours",availableCarb:17.1,fibre:0,protein:.2,fat:0,freeFructose:1.3,freeGlucose:1.2,sucrose:14.6,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:17.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004507",name:"Ice cream, vanilla flavour, premium or rich (~15% fat)",availableCarb:22.5,fibre:0,protein:3.2,fat:13.5,freeFructose:0,freeGlucose:1.2,sucrose:13,maltose:.5,lactose:5,galactose:null,starch:2.8,totalSugars:19.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004508",name:"Ice cream, vanilla flavour, regular fat",availableCarb:20.5,fibre:0,protein:3.7,fat:10.6,freeFructose:0,freeGlucose:.5,sucrose:12,maltose:0,lactose:5.9,galactose:0,starch:2.1,totalSugars:18.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004594",name:"Jackfruit, peeled, raw",availableCarb:16.7,fibre:3,protein:2.2,fat:.3,freeFructose:4.2,freeGlucose:4.3,sucrose:7.8,maltose:0,lactose:0,galactose:null,starch:.4,totalSugars:16.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004600",name:"Jam, berry",availableCarb:67.3,fibre:1.6,protein:.3,fat:0,freeFructose:19.2,freeGlucose:20.5,sucrose:26.9,maltose:.6,lactose:0,galactose:null,starch:.1,totalSugars:67.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004604",name:"Jam, plum",availableCarb:64.4,fibre:.9,protein:.2,fat:0,freeFructose:15.6,freeGlucose:16.8,sucrose:31.4,maltose:.5,lactose:0,galactose:null,starch:.1,totalSugars:64.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004607",name:"Jam, stone fruit",availableCarb:64.4,fibre:.9,protein:.2,fat:0,freeFructose:15.6,freeGlucose:16.8,sucrose:31.4,maltose:.5,lactose:0,galactose:null,starch:.1,totalSugars:64.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004611",name:"Jelly crystals, sugar sweetened, all flavours",availableCarb:90.7,fibre:0,protein:7.1,fat:0,freeFructose:.3,freeGlucose:.4,sucrose:90,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:90.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004615",name:"Jelly, sugar sweetened, all flavours, prepared",availableCarb:13.2,fibre:0,protein:1,fat:0,freeFructose:0,freeGlucose:0,sucrose:13.1,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:13.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004656",name:"Juice, apple & blackcurrant, commercial",availableCarb:9.3,fibre:0,protein:.2,fat:0,freeFructose:5.5,freeGlucose:2.6,sucrose:1.1,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:9.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004663",name:"Juice, apple, commercial, added vitamin C",availableCarb:7,fibre:.2,protein:.2,fat:0,freeFructose:3.9,freeGlucose:2.1,sucrose:1,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004726",name:"Juice, lemon",availableCarb:1.8,fibre:2.5,protein:.6,fat:.2,freeFructose:.6,freeGlucose:.8,sucrose:.4,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:1.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004729",name:"Juice, lime",availableCarb:1.2,fibre:4.1,protein:.8,fat:.2,freeFructose:.5,freeGlucose:.5,sucrose:.2,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:1.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004731",name:"Juice, orange & mango, commercial",availableCarb:7.7,fibre:.2,protein:.6,fat:0,freeFructose:2.4,freeGlucose:2.2,sucrose:3.1,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:7.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004739",name:"Juice, orange, commercial",availableCarb:5.4,fibre:.3,protein:.8,fat:0,freeFructose:1.5,freeGlucose:1.3,sucrose:2.6,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:5.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004780",name:"Kale, cooked, no added fat",availableCarb:.4,fibre:6.7,protein:4.7,fat:0,freeFructose:0,freeGlucose:.4,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004781",name:"Kale, raw",availableCarb:.3,fibre:4.7,protein:3.3,fat:0,freeFructose:0,freeGlucose:.3,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004786",name:"Kangaroo, loin fillet, grilled, no added fat",availableCarb:0,fibre:0,protein:30.1,fat:1.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004787",name:"Kangaroo, loin fillet, raw",availableCarb:0,fibre:0,protein:21.4,fat:.9,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F004789",name:"Kangaroo, rump, baked, no added fat",availableCarb:0,fibre:0,protein:33.9,fat:2.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004790",name:"Kangaroo, rump, raw",availableCarb:0,fibre:0,protein:20.3,fat:.8,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F009815",name:"Kangaroo, steak, as purchased, fried, no added fat",availableCarb:.6,fibre:0,protein:34.6,fat:1.5,freeFructose:0,freeGlucose:.6,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009791",name:"Kangaroo, steak, as purchased, raw",availableCarb:.4,fibre:0,protein:22.5,fat:1,freeFructose:0,freeGlucose:.4,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004792",name:"Kangaroo, tail, cooked, no added fat",availableCarb:0,fibre:0,protein:24.4,fat:1.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004793",name:"Kangaroo, tail, raw",availableCarb:0,fibre:0,protein:20,fat:1.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004810",name:"Kingfish, yellowtail, aquacultured, fillet, with skin, grilled, no added fat",availableCarb:0,fibre:0,protein:31.3,fat:17.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004811",name:"Kingfish, yellowtail, aquacultured, fillet, with skin, raw",availableCarb:0,fibre:0,protein:22.9,fat:12.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004812",name:"Kingfish, yellowtail, aquacultured, fillet, with skin, steamed, no added fat",availableCarb:0,fibre:0,protein:27.2,fat:15.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004815",name:"Kiwifruit, gold, peeled, raw",availableCarb:11.1,fibre:1.8,protein:1.2,fat:.5,freeFructose:5.7,freeGlucose:5.2,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.2,totalSugars:10.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004816",name:"Kiwifruit, green (hayward), peeled, raw",availableCarb:9.1,fibre:3,protein:1.2,fat:.7,freeFructose:4.7,freeGlucose:4.1,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.3,totalSugars:8.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004819",name:"Kohlrabi, peeled, fresh, boiled, drained",availableCarb:4.4,fibre:3.4,protein:3.8,fat:.1,freeFructose:1.6,freeGlucose:1.9,sucrose:.9,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:4.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004820",name:"Kohlrabi, peeled, fresh, raw",availableCarb:4.2,fibre:3.3,protein:3.7,fat:.1,freeFructose:1.5,freeGlucose:1.8,sucrose:.9,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:4.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009795",name:"Kombucha, flavoured, added juice or intense sweeteners",availableCarb:.9,fibre:.1,protein:0,fat:0,freeFructose:.4,freeGlucose:.4,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.1,totalSugars:.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004830",name:"Lamb, all cuts, separable fat, cooked",availableCarb:0,fibre:0,protein:16.2,fat:53.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004831",name:"Lamb, all cuts, separable fat, raw",availableCarb:0,fibre:0,protein:10.8,fat:57.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004837",name:"Lamb, boneless dice or strips, lean, casseroled, no added fat",availableCarb:0,fibre:0,protein:32.2,fat:6.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004838",name:"Lamb, boneless dice or strips, lean, raw",availableCarb:0,fibre:0,protein:21.6,fat:4.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004839",name:"Lamb, boneless dice or strips, lean, stir-fried, no added fat",availableCarb:0,fibre:0,protein:29.7,fat:7.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004840",name:"Lamb, boneless dice or strips, untrimmed, casseroled, no added fat",availableCarb:0,fibre:0,protein:31.9,fat:7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004841",name:"Lamb, boneless dice or strips, untrimmed, raw",availableCarb:0,fibre:0,protein:21.3,fat:6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004842",name:"Lamb, boneless dice or strips, untrimmed, stir-fried, no added fat",availableCarb:0,fibre:0,protein:29.4,fat:7.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004843",name:"Lamb, boneless, fillet or loin, lean, grilled, no added fat",availableCarb:0,fibre:0,protein:27.2,fat:5.6,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F004844",name:"Lamb, boneless, fillet or loin, lean, raw",availableCarb:0,fibre:0,protein:20.3,fat:4,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"}
61,{id:"F004845",name:"Lamb, boneless, fillet or loin, untrimmed, grilled, no added fat",availableCarb:0,fibre:0,protein:26.9,fat:6.5,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F004846",name:"Lamb, boneless, fillet or loin, untrimmed, raw",availableCarb:0,fibre:0,protein:19.9,fat:6.1,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F004898",name:"Lamb, chop, with bone, chump, lean, grilled, no added fat",availableCarb:0,fibre:0,protein:34.1,fat:10.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004899",name:"Lamb, chop, with bone, chump, lean, raw",availableCarb:0,fibre:0,protein:22.5,fat:4.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004907",name:"Lamb, chop, with bone, chump, semi-trimmed, grilled, no added fat",availableCarb:0,fibre:0,protein:31.7,fat:16,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004908",name:"Lamb, chop, with bone, chump, semi-trimmed, raw",availableCarb:0,fibre:0,protein:21.1,fat:10.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004910",name:"Lamb, chop, with bone, chump, untrimmed, grilled, no added fat",availableCarb:0,fibre:0,protein:30,fat:20,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004911",name:"Lamb, chop, with bone, chump, untrimmed, raw",availableCarb:0,fibre:0,protein:19.6,fat:17.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004883",name:"Lamb, chop, with bone, forequarter, grilled, no added fat",availableCarb:0,fibre:0,protein:25.6,fat:19.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004884",name:"Lamb, chop, with bone, forequarter, lean, grilled, no added fat",availableCarb:0,fibre:0,protein:28,fat:11.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004885",name:"Lamb, chop, with bone, forequarter, lean, raw",availableCarb:0,fibre:0,protein:20.5,fat:5.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004886",name:"Lamb, chop, with bone, forequarter, semi-trimmed, grilled, no added fat",availableCarb:0,fibre:0,protein:26.2,fat:17.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004887",name:"Lamb, chop, with bone, forequarter, semi-trimmed, raw",availableCarb:0,fibre:0,protein:18.2,fat:17.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004888",name:"Lamb, chop, with bone, forequarter, untrimmed, raw",availableCarb:0,fibre:0,protein:17.4,fat:22.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004889",name:"Lamb, chop, with bone, loin or chump, lean, grilled, no added fat",availableCarb:0,fibre:0,protein:32,fat:9.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004890",name:"Lamb, chop, with bone, loin or chump, lean, raw",availableCarb:0,fibre:0,protein:25.6,fat:4.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004891",name:"Lamb, chop, with bone, loin or chump, semi-trimmed, grilled, no added fat",availableCarb:0,fibre:0,protein:30.2,fat:14.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004892",name:"Lamb, chop, with bone, loin or chump, semi-trimmed, raw",availableCarb:0,fibre:0,protein:23.8,fat:10.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004893",name:"Lamb, chop, with bone, loin or chump, untrimmed, grilled, no added fat",availableCarb:0,fibre:0,protein:28.4,fat:19.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004894",name:"Lamb, chop, with bone, loin or chump, untrimmed, raw",availableCarb:0,fibre:0,protein:20.8,fat:20.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004918",name:"Lamb, cutlet or frenched cutlet, with bone, lean, grilled, no added fat",availableCarb:0,fibre:0,protein:30.5,fat:8.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004919",name:"Lamb, cutlet or frenched cutlet, with bone, lean, raw",availableCarb:0,fibre:0,protein:20.9,fat:6.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004920",name:"Lamb, cutlet or frenched cutlet, with bone, semi-trimmed, grilled, no added fat",availableCarb:0,fibre:0,protein:27.8,fat:17.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004921",name:"Lamb, cutlet or frenched cutlet, with bone, semi-trimmed, raw",availableCarb:0,fibre:0,protein:19.1,fat:15.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004922",name:"Lamb, cutlet or frenched cutlet, with bone, untr
61immed, grilled, no added fat",availableCarb:0,fibre:0,protein:27.2,fat:18.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004923",name:"Lamb, cutlet or frenched cutlet, with bone, untrimmed, raw",availableCarb:0,fibre:0,protein:18.6,fat:17.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004927",name:"Lamb, diced, lean, casseroled, no added fat",availableCarb:0,fibre:0,protein:32.2,fat:6.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004928",name:"Lamb, diced, lean, raw",availableCarb:0,fibre:0,protein:21.3,fat:5.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004929",name:"Lamb, diced, lean, stir-fried, no added fat",availableCarb:0,fibre:0,protein:31.3,fat:6.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004930",name:"Lamb, diced, untrimmed, casseroled, no added fat",availableCarb:0,fibre:0,protein:31.8,fat:7.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004931",name:"Lamb, diced, untrimmed, raw",availableCarb:0,fibre:0,protein:21.1,fat:6.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004932",name:"Lamb, diced, untrimmed, stir-fried, no added fat",availableCarb:0,fibre:0,protein:31,fat:7.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004947",name:"Lamb, eye of loin, lean, microwaved, no added fat",availableCarb:0,fibre:0,protein:26.8,fat:5.6,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F004948",name:"Lamb, eye of loin, lean, raw",availableCarb:0,fibre:0,protein:20.8,fat:3.9,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F004950",name:"Lamb, eye of loin, untrimmed, microwaved, no added fat",availableCarb:0,fibre:0,protein:26.6,fat:6.5,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F004951",name:"Lamb, eye of loin, untrimmed, raw",availableCarb:0,fibre:0,protein:20.6,fat:5.3,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F004953",name:"Lamb, fillet, lean, grilled, no added fat",availableCarb:0,fibre:0,protein:27.5,fat:5.5,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F004954",name:"Lamb, fillet, lean, raw",availableCarb:0,fibre:0,protein:19.8,fat:4,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F004955",name:"Lamb, fillet, untrimmed, grilled, no added fat",availableCarb:0,fibre:0,protein:27.2,fat:6.6,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F004956",name:"Lamb, fillet, untrimmed, raw",availableCarb:0,fibre:0,protein:19.3,fat:6.9,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F005013",name:"Lamb, leg roast, lean, raw",availableCarb:0,fibre:0,protein:21.1,fat:3.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005014",name:"Lamb, leg roast, lean, roasted, no added fat",availableCarb:0,fibre:0,protein:30.6,fat:6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005015",name:"Lamb, leg roast, semi-trimmed, raw",availableCarb:0,fibre:0,protein:20.4,fat:7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005016",name:"Lamb, leg roast, semi-trimmed, roasted, no added fat",availableCarb:0,fibre:0,protein:29.7,fat:9.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005017",name:"Lamb, leg roast, untrimmed, raw",availableCarb:0,fibre:0,protein:19.4,fat:12.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005018",name:"Lamb, leg roast, untrimmed, roasted, no added fat",availableCarb:0,fibre:0,protein:28.5,fat:12.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005021",name:"Lamb, liver, grilled, no added fat",availableCarb:2.6,fibre:0,protein:21.5,fat:11.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005026",name:"Lamb, loin chop, lean, grilled, no added fat",availableCarb:0,fibre:0,protein:29.8,fat:9.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005027",name:"Lamb, loin chop, lean, raw",availableCarb:0,fibre:0,protein:28.6,fat:5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005036",name:"Lamb, loin chop, semi-trimmed, grilled, no added fat",availableCarb:0,fibre:0,protein:28.7,fat:12.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005037",name:"Lamb, loin chop, semi-trimmed, raw",availableCarb:0,fibre:0,protein:26.6,fat:10.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005043",name:"Lamb, loin chop, untrimmed, grilled, no added fat",availableCarb:0,fibre:0,protein:26.8,fat:18.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005044",name:"Lamb, loin chop, untrimmed, raw",availableCarb:0,fibre:0,protein:22,fat:24.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005049",name:"Lamb, mince, raw",availableCarb:0,fibre:0,protein:20.4,fat:6.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005050",name:"Lamb, mince, stir-fried, no added fat",availableCarb:0,fibre:0,protein:24.4,fat:8.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005053",name:"Lamb, mini roast, lean, roasted, no added fat",availableCarb:0,fibre:0,protein:27.8,fat:5.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005054",name:"Lamb, mini roast, semi-trimmed, roasted, no added fat",availableCarb:0,fibre:0,protein:27.1,fat:8.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005055",name:"Lamb, mini roast, untrimmed, roasted, no added fat",availableCarb:0,fibre:0,protein:26.5,fat:11,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005068",name:"Lamb, roasting piece, leg or mini roast, lean, raw",availableCarb:0,fibre:0,protein:21.5,fat:4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005069",name:"Lamb, roasting piece, leg or mini roast, lean, roasted, no added fat",availableCarb:0,fibre:0,protein:29.2,fat:5.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005070",name:"Lamb, roasting piece, leg or mini roast, semi-trimmed, raw",availableCarb:0,fibre:0,protein:20.8,fat:7.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005071",name:"Lamb, roasting piece, leg or mini roast, semi-trimmed, roasted, no added fat",availableCarb:0,fibre:0,protein:28.4,fat:8.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005072",name:"Lamb, roasting piece, leg or mini roast, untrimmed, raw",availableCarb:0,fibre:0,protein:19.9,fat:12,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005073",name:"Lamb, roasting piece, leg or mini roast, untrimmed, roasted, no added fat",availableCarb:0,fibre:0,protein:27.5,fat:11.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005074",name:"Lamb, roasting piece, shoulder, lean, raw",availableCarb:0,fibre:0,protein:18.2,fat:4.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005067",name:"Lamb, roasting piece, shoulder, lean, roasted, no added fat",availableCarb:0,fibre:0,protein:29.6,fat:5.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005075",name:"Lamb, roasting piece, shoulder, semi-trimmed, raw",availableCarb:0,fibre:0,protein:17.3,fat:10.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005076",name:"Lamb, roasting piece, shoulder, semi-trimmed, roasted, no added fat",availableCarb:0,fibre:0,protein:28.2,fat:10.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005077",name:"Lamb, roasting piece, shoulder, untrimmed, raw",availableCarb:0,fibre:0,protein:16.5,fat:16.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005078",name:"Lamb, roasting piece, shoulder, untrimmed, roasted, no added fat",availableCarb:0,fibre:0,protein:26.2,fat:17.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005094",name:"Lamb, steak, boneless, lean, grilled, no added fat",availableCarb:0,fibre:0,protein:30.8,fat:6.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005095",name:"Lamb, steak, boneless, lean, raw",availableCarb:0,fibre:0,protein:21.9,fat:4.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005096",name:"Lamb, steak, boneless, semi-trimmed, grilled, no added fat",availableCarb:0,fibre:0,protein:29.9,fat:9.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005097",name:"Lamb, steak, boneless, semi-trimmed, raw",availableCarb:0,fibre:0,protein:21.2,fat:8.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005098",name:"Lamb, steak, boneless, untrimmed, grilled, no added fat",availableCarb:0,fibre:0,protein:29.2,fat:11.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005099",name:"Lamb, steak, boneless, untrimmed, raw",availableCarb:0,fibre:0,protein:20.4,fat:11.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005120",name:"Lamb, stir-fry strips, lean, casseroled, no added fat",availableCarb:0,fibre:0,protein:32.2,fat:6.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005121",name:"Lamb, stir-fry strips, lean, raw",availableCarb:0,fibre:0,protein:21.9,fat:4.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005122",name:"Lamb, stir-fry strips, lean, stir-fried, no added fat",availableCarb:0,fibre:0,protein:28.1,fat:7.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005124",name:"Lamb, stir-fry strips, untrimmed, casseroled, no added fat",availableCarb:0,fibre:0,protein:32,fat:6.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005125",name:"Lamb, stir-fry strips, untrimmed, raw",availableCarb:0,fibre:0,protein:21.6,fat:5.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005126",name:"Lamb, stir-fry strips, untrimmed, stir-fried, no added fat",availableCarb:0,fibre:0,protein:28,fat:8.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005138",name:"Lamb, with bone, shin, lean, casseroled, no added fat",availableCarb:0,fibre:0,protein:34.6,fat:4.5,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F005139",name:"Lamb, with bone, shin, lean, raw",availableCarb:0,fibre:0,protein:23.9,fat:1.9,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F005140",name:"Lamb, with bone, shin, semi-trimmed, casseroled, no added fat",availableCarb:0,fibre:0,protein:33.4,fat:7.7,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F005141",name:"Lamb, with bone, shin, semi-trimmed, raw",availableCarb:0,fibre:0,protein:22.9,fat:6.2,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F005142",name:"Lamb, with bone, shin, untrimmed, casseroled, no added fat",availableCarb:0,fibre:0,protein:32,fat:11.4,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F005143",name:"Lamb, with bone, shin, untrimmed, raw",availableCarb:0,fibre:0,protein:21.7,fat:11.2,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starc
61h:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F005145",name:"Lasagne, beef, commercial, purchased frozen, baked",availableCarb:11.8,fibre:2.1,protein:6.6,fat:6.6,freeFructose:.7,freeGlucose:.5,sucrose:.4,maltose:null,lactose:null,galactose:null,starch:10.2,totalSugars:1.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005146",name:"Lasagne, beef, homemade",availableCarb:16.2,fibre:1.4,protein:9.9,fat:8,freeFructose:.8,freeGlucose:.8,sucrose:.3,maltose:0,lactose:1.1,galactose:null,starch:13.2,totalSugars:3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005162",name:"Leek, fresh, boiled, drained",availableCarb:4.1,fibre:3.4,protein:2.3,fat:.4,freeFructose:1.7,freeGlucose:1.7,sucrose:.8,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:4.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005163",name:"Leek, fresh, fried, no added fat",availableCarb:4.4,fibre:3.7,protein:2.5,fat:.5,freeFructose:1.8,freeGlucose:1.8,sucrose:.8,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:4.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005164",name:"Leek, fresh, raw",availableCarb:3.7,fibre:3.1,protein:2.1,fat:.4,freeFructose:1.5,freeGlucose:1.5,sucrose:.7,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:3.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005172",name:"Lemon peel, raw",availableCarb:0,fibre:10.6,protein:1.5,fat:.3,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F005174",name:"Lemon, peeled, raw",availableCarb:1.8,fibre:2.5,protein:.6,fat:.2,freeFructose:.6,freeGlucose:.8,sucrose:.4,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:1.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005175",name:"Lemon, preserved",availableCarb:1.3,fibre:3.5,protein:.7,fat:.2,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:1.3,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F005177",name:"Lentil, dried, boiled, drained",availableCarb:11.9,fibre:4.1,protein:7.3,fat:.5,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:11.4,totalSugars:.5,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F005178",name:"Lentil, French, hulled, dry",availableCarb:38.8,fibre:15,protein:28.3,fat:2,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:37.8,totalSugars:1,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F005181",name:"Lentil, green, hulled, dry",availableCarb:40.9,fibre:14.6,protein:25.3,fat:1.7,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:39.4,totalSugars:1.5,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F005182",name:"Lentil, hulled, dry",availableCarb:41.8,fibre:14.4,protein:25.5,fat:1.9,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:40.1,totalSugars:1.7,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F005184",name:"Lentil, red, hulled, dry",availableCarb:45.7,fibre:13.7,protein:23,fat:1.9,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:43,totalSugars:2.7,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F005191",name:"Lettuce, cos, raw",availableCarb:1.8,fibre:1.8,protein:1.4,fat:.3,freeFructose:1,freeGlucose:.8,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:1.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005192",name:"Lettuce, iceberg, raw",availableCarb:2.1,fibre:1.1,protein:1,fat:0,freeFructose:1.1,freeGlucose:1,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:2.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005193",name:"Lettuce, mignonette, raw",availableCarb:1.1,fibre:1.4,protein:1.3,fat:.3,freeFructose:.6,freeGlucose:.5,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:1.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005198",name:"Lime, native, fruit",availableCarb:.4,fibre:3.6,protein:.1,fat:2.7,freeFructose:.2,freeGlucose:0,sucrose:.1,maltose:.1,lactose:0,galactose:null,starch:0,totalSugars:.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005199",name:"Lime, peeled, raw",availableCarb:1.2,fibre:4.1,protein:.8,fat:.2,freeFructose:.5,freeGlucose:.5,sucrose:.2,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:1.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005213",name:"Liquorice, allsorts",availableCarb:88.1,fibre:1.4,protein:2.3,fat:.3,freeFructose:2.4,freeGlucose:3.2,sucrose:69.3,maltose:1.4,lactose:0,galactose:null,starch:11.2,totalSugars:76.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005214",name:"Liquorice, black",availableCarb:70.3,fibre:3.5,protein:5.7,fat:.8,freeFructose:6,freeGlucose:8,sucrose:23.2,maltose:3.4,lactose:0,galactose:null,starch:28.1,totalSugars:40.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005215",name:"Liquorice, chocolate-coated",availableCarb:66,fibre:3.2,protein:6.3,fat:9.7,freeFructose:4.2,freeGlucose:5.6,sucrose:29.1,maltose:2.4,lactose:3.5,galactose:null,starch:20.1,totalSugars:44.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005227",name:"Lobster, southern rock, wild, flesh, purchased 
61steamed or boiled",availableCarb:0,fibre:0,protein:22.5,fat:.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:null,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005228",name:"Lobster, southern rock, wild, flesh, raw",availableCarb:0,fibre:0,protein:20.2,fat:.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:null,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005235",name:"Lolly, hard varieties",availableCarb:98.4,fibre:0,protein:0,fat:0,freeFructose:0,freeGlucose:.8,sucrose:91.3,maltose:1.1,lactose:0,galactose:null,starch:4.4,totalSugars:93.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005236",name:"Lolly, jelly varieties",availableCarb:75.1,fibre:0,protein:3.9,fat:0,freeFructose:2.1,freeGlucose:8,sucrose:29,maltose:6.2,lactose:0,galactose:null,starch:6.2,totalSugars:45.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005241",name:"Lolly, mint flavoured, sugar sweetened",availableCarb:93.3,fibre:0,protein:.1,fat:2,freeFructose:.3,freeGlucose:6.1,sucrose:63.7,maltose:4.2,lactose:0,galactose:null,starch:0,totalSugars:74.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005244",name:"Loquat, peeled, raw",availableCarb:4.9,fibre:1.7,protein:1,fat:.2,freeFructose:2.7,freeGlucose:2.2,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:4.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005248",name:"Lupin, dehulled, flakes, uncooked",availableCarb:10,fibre:27,protein:36.9,fat:7.7,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:6.4,totalSugars:3.6,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F005249",name:"Lupin, dehulled, splits, uncooked",availableCarb:10,fibre:27.8,protein:37.5,fat:7.9,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:7.2,totalSugars:2.8,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F005250",name:"Lupin, whole, uncooked",availableCarb:7.4,fibre:41.5,protein:28.6,fat:6.5,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:5.1,totalSugars:2.3,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F005255",name:"Lychee, peeled, raw",availableCarb:16.2,fibre:1.3,protein:1.1,fat:.1,freeFructose:7.6,freeGlucose:7.9,sucrose:.7,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:16.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005259",name:"Macaroni & cheese, homemade, cooked unfilled pasta, homemade cheese sauce",availableCarb:21.5,fibre:1.7,protein:6.4,fat:5.4,freeFructose:0,freeGlucose:0,sucrose:.1,maltose:.1,lactose:.8,galactose:null,starch:20.5,totalSugars:1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005267",name:"Mackerel, grilled, no added fat",availableCarb:0,fibre:0,protein:26.4,fat:8.6,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F005268",name:"Mackerel, raw",availableCarb:0,fibre:0,protein:19.3,fat:6.3,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F005270",name:"Mackerel, steamed, no added fat",availableCarb:0,fibre:0,protein:23,fat:7.5,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F005279",name:"Maize, grits, uncooked",availableCarb:73.3,fibre:2.7,protein:8.1,fat:1.3,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:73.3,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F005288",name:"Mandarin, canned in syrup",availableCarb:13.5,fibre:.6,protein:.4,fat:.1,freeFructose:4.7,freeGlucose:4.5,sucrose:4.2,maltose:0,lactose:0,galactose:null,starch:.1,totalSugars:13.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005289",name:"Mandarin, canned in syrup, drained",availableCarb:13.8,fibre:1.1,protein:.5,fat:.2,freeFructose:4.8,freeGlucose:4.6,sucrose:4.2,maltose:0,lactose:0,galactose:null,starch:.2,totalSugars:13.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005292",name:"Mandarin, canned in syrup, syrup only",availableCarb:13.2,fibre:0,protein:.2,fat:0,freeFructose:4.6,freeGlucose:4.4,sucrose:4.2,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:13.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005293",name:"Mandarin, peeled, raw",availableCarb:9.8,fibre:1.6,protein:.9,fat:0,freeFructose:2.6,freeGlucose:2.2,sucrose:5,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:9.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005299",name:"Mango, peeled, raw",availableCarb:13.4,fibre:1.3,protein:.4,fat:0,freeFructose:3.4,freeGlucose:.6,sucrose:8.9,maltose:0,lactose:0,galactose:null,starch:.5,totalSugars:12.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005300",name:"Mango, pulped, canned",availableCarb:14.8,fibre:1.2,protein:.4,fat:0,freeFructose:3.3,freeGlucose:.6,sucrose:10.5,maltose:0,lactose:0,galactose:null,starch:.5,totalSugars:14.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009838",name:"Margarine spread, monounsaturated (65% fat), rice bran oil, fortified",availableCarb:0,fibre:0,protein:.3,fat:65.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005319",name:"Margarine spread, monounsaturated (70% fat), reduced salt (sodium 350 mg/100 g), added phytosterols",availableCarb:0,fibre:0,protein:.7,fat:75.9,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F005309",name:"Margarine spread, monounsaturated (greater than 65% fat)",availableCarb:0,fibre:0,protein:.5,fat:67.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005310",name:"Margarine spread, monounsaturated (greater than 65% fat), reduced salt (sodium 360 mg/100 g)",availableCarb:0,fibre:0,protein:1,fat:68.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005361",name:"Margarine spread, monounsaturated, olive oil blend (65% fat), reduced salt (sodium 360 mg/100 g)",availableCarb:0,fibre:0,protein:1,fat:63.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005352",name:"Margarine spread, monounsaturated, reduced fat (55% fat) & salt (sodium 380 mg/100 g)",availableCarb:0,fibre:0,protein:1,fat:51.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005345",name:"Margarine spread, monounsaturated, reduced fat (less than 65% fat)",availableCarb:0,fibre:0,protein:.5,fat:63.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005370",name:"Margarine spread, polyunsaturated (70% fat)",availableCarb:0,fibre:0,protein:0,fat:69,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005373",name:"Margarine spread, polyunsaturated (70% fat), reduced salt (sodium 280 mg/100 g)",availableCarb:0,fibre:0,protein:1,fat:70.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005421",name:"Marmalade, orange",availableCarb:65.5,fibre:.8,protein:.1,fat:0,freeFructose:12.9,freeGlucose:15.4,sucrose:35.5,maltose:1.6,lactose:0,galactose:null,starch:.1,totalSugars:65.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005437",name:"Mayonnaise, low fat, commercial",availableCarb:27.1,fibre:0,protein:.5,fat:1.8,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:6.6,totalSugars:20.5,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F005441",name:"Mayonnaise, traditional (greater than 65% fat), commercial",availableCarb:8.7,fibre:.5,protein:.8,fat:67.2,freeFructose:1.4,freeGlucose:1.4,sucrose:5.1,maltose:0,lactose:0,galactose:null,starch:.8,totalSugars:7.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009814",name:"Meat alternative, legume and/or vegetable base, as purchased",availableCarb:21.3,fibre:5.5,protein:7.5,fat:5.9,freeFructose:1.4,freeGlucose:1.7,sucrose:.7,maltose:1.1,lactose:0,galactose:null,starch:16.4,totalSugars:4.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009816",name:"Meat alternative, legume and/or vegetable base, cooked",availableCarb:26.3,fibre:6.8,protein:9.2,fat:7.3,freeFructose:1.7,freeGlucose:2.1,sucrose:.9,maltose:1.4,lactose:0,galactose:null,starch:20.2,totalSugars:6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009799",name:"Meat alternative, mycoprotein/fungus base, commercial, as purchased",availableCarb:2.5,fibre:5.6,protein:13.8,fat:4.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:2.5,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009821",name:"Meat alternative, mycoprotein/fungus base, cooked",availableCarb:3.4,fibre:7.7,protein:18.8,fat:5.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:3.4,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009147",name:"Meat alternative, protein (soy/wheat/pea) base, as purchased",availableCarb:3.2,fibre:4.4,protein:19.4,fat:13.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:.8,lactose:0,galactose:null,starch:2.4,totalSugars:.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009823",name:"Meat alternative, protein (soy/wheat/pea) base, cooked",availableCarb:4,fibre:5.4,protein:23.9,fat:16.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:1,lactose:0,galactose:null,starch:3,totalSugars:1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005513",name:"Melon, bitter, fresh, raw",availableCarb:.2,fibre:3.3,protein:.9,fat:0,freeFructose:0,freeGlucose:.1,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.1,totalSugars:.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005514",name:"Melon, hairy, fresh, raw",availableCarb:2,fibre:2.1,protein:.7,fat:0,freeFructose:.8,freeGlucose:.9,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.3,totalSugars:1.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005516",name:"Melon, honey dew, white skin, peeled, raw",availableCarb:7.1,fibre:1,protein:.7,fat:.3,freeFructose:1.9,freeGlucose:1.3,sucrose:3.9,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:7.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005517",name:"Melon, honey dew, yellow skin, peeled, raw",availableCarb:4.4,fibre:.9,protein:.8,fat:.3,freeFructose:1.9,freeGlucose:1.5,sucrose:1,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:4.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005519",name:"Melon, rockmelon, peeled, raw",availableCarb:4.7,fibre:1,protein:.5,fat:.1,freeFructose:2.2,freeGlucose:1.3,sucrose:1.2,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:4.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005520",name:"Melon, watermelon, peeled, raw",availableCarb:7.3,fibre:.4,protein:.6,fat:0,freeFructose:3.2,freeGlucose:1.2,sucrose:2.6,maltose:0,lactose:0,galactose:null,starch:.3,totalSugars:7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005522",name:"Meringue, all flavours, commercial",availableCarb:90.1,fibre:0,protein:2.6,fat:1.4,freeFructose:0,freeGlucose:0,sucrose:89.4,maltose:0,lactose:0,galactose:null,starch:.7,totalSugars:89.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005580",name:"Milk, cow, canned, evaporated, reduced fat (approximately 2% fat)",availableCarb:10.6,fibre:0,protein:7.8,fat:2.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:10.6,galactose:null,starch:0,totalSugars:10.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005581",name:"Milk, cow, canned, evaporated, regular",availableCarb:10,fibre:0,protein:7.5,fat:8.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:10,galactose:null,starch:0,totalSugars:10,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005582",name:"Milk, cow, canned, sweetened, condensed, regular",availableCarb:55,fibre:0,protein:8.3,fat:9.2,freeFructose:.2,freeGlucose:.3,sucrose:43.1,maltose:0,lactose:11.4,galactose:null,starch:0,totalSugars:55,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005587",name:"Milk, cow, fluid, flavoured, chocolate, reduced fat",availableCarb:8.6,fibre:0,protein:3.3,fat:1.9,freeFructose:0,freeGlucose:0,sucrose:4.1,maltose:0,lactose:4.5,galactose:0,starch:0,totalSugars:8.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005598",name:"Milk, cow, fluid, lactose free, reduced fat (1% fat)",availableCarb:5,fibre:.1,protein:3.4,fat:1.2,freeFructose:0,freeGlucose:2.3,sucrose:0,maltose:0,lactose:0,galactose:2.5,starch:.2,totalSugars:4.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005599",name:"Milk, cow, fluid, lactose free, regular fat (3.5% fat)",availableCarb:4.7,fibre:0,protein:3.1,fat:3.2,freeFructose:0,freeGlucose:2.3,sucrose:0,maltose:0,lactose:0,galactose:2.2,starch:.2,totalSugars:4.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005621",name:"Milk, cow, fluid, reduced fat (1.5% fat), added omega 3 polyunsaturates",availableCarb:5.1,fibre:0,protein:4.5,fat:1.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:5.1,galactose:0,starch:0,totalSugars:5.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005614",name:"Milk, cow, fluid, reduced fat (1% fat)",availableCarb:4.8,fibre:0,protein:3.3,fat:1.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:4.8,galactose:0,starch:0,totalSugars:4.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005634",name:"Milk, cow, fluid, regular fat (3.5% fat)",availableCarb:5.4,fibre:0,protein:3.3,fat:3.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:5.4,galactose:0,starch:0,totalSugars:5.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005635",name:"Milk, cow, fluid, regular fat (3.5% fat), added omega 3 polyunsaturates",availableCarb:5.1,fibre:0,protein:3.1,fat:3.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:5.1,galactose:0,starch:0,totalSugars:5.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005637",name:"Milk, cow, fluid, skim (0.15% fat)",availableCarb:5.3,fibre:0,protein:3.6,fat:0,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:5.3,galactose:0,starch:0,totalSugars:5.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005638",name:"Milk, cow, fluid, skim (0.15% fat), added milk solids",availableCarb:6.3,fibre:0,protein:4.2,fat:0,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:6.3,galactose:null,starch:0,totalSugars:6.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005649",name:"Milk, cow, powder, regular fat, added vitamins A & D",availableCarb:43,fibre:0,protein:25.3,fat:27.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:43,galactose:null,starch:0,totalSugars:43,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005650",name:"Milk, cow, powder, regular fat, unfortified",availableCarb:43,fibre:0,protein:25.3,fat:27.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:43,galactose:null,starch:0,totalSugars:43,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005652",name:"Milk, cow, powder, skim",availableCarb:56,fibre:0,protein:34.9,fat:.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:56,galactose:null,starch:0,totalSugars:56,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005647",name:"Milk, human/breast, mature, fluid",availableCarb:6.8,fibre:0,protein:1.3,fat:4.2,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:6.8,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F005658",name:"Milkfish, aquacultured, flesh, grilled, no added fat",availableCarb:0,fibre:0,protein:32,fat:14.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005659",nam
61e:"Milkfish, aquacultured, flesh, raw",availableCarb:0,fibre:0,protein:23.4,fat:10.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005660",name:"Milkfish, aquacultured, flesh, steamed, no added fat",availableCarb:0,fibre:0,protein:27.8,fat:12.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005690",name:"Millet, boiled, no added fat or salt",availableCarb:22.1,fibre:1.2,protein:3.3,fat:1.1,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:21.9,totalSugars:.2,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F005692",name:"Millet, uncooked",availableCarb:67.4,fibre:3.7,protein:10.2,fat:3.5,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:66.8,totalSugars:.6,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F005694",name:"Mineral water, citrus flavoured",availableCarb:9.3,fibre:0,protein:0,fat:0,freeFructose:1.7,freeGlucose:1.5,sucrose:6.1,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:9.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005696",name:"Mineral water, natural, unflavoured",availableCarb:0,fibre:0,protein:0,fat:0,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005700",name:"Mint, fresh, raw",availableCarb:4.4,fibre:7.2,protein:3.1,fat:1.1,freeFructose:.4,freeGlucose:.5,sucrose:0,maltose:null,lactose:null,galactose:null,starch:3.5,totalSugars:.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005712",name:"Mixed dried fruit",availableCarb:71.2,fibre:3.6,protein:2.4,fat:.6,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:1.6,totalSugars:68.4,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F009788",name:"Mixed leafy greens, commercial, raw",availableCarb:0,fibre:2,protein:2.2,fat:0,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005813",name:"Mixed vegetables, purchased frozen, carrot, corn & pea/bean, boiled, drained",availableCarb:5.9,fibre:5.9,protein:1.8,fat:.3,freeFructose:.4,freeGlucose:.5,sucrose:1.8,maltose:0,lactose:0,galactose:null,starch:3.2,totalSugars:2.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005823",name:"Morwong, fillet, grilled, no added fat",availableCarb:0,fibre:0,protein:26.5,fat:7.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005824",name:"Morwong, fillet, raw",availableCarb:0,fibre:0,protein:19.4,fat:5.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005825",name:"Morwong, fillet, steamed, no added fat",availableCarb:0,fibre:0,protein:23,fat:3.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009808",name:"Muesli, granola, non-oat based, toasted, added nuts & seeds, unfortified",availableCarb:53.5,fibre:6.6,protein:11.9,fat:18.8,freeFructose:.9,freeGlucose:1.9,sucrose:5.6,maltose:.3,lactose:0,galactose:null,starch:44.8,totalSugars:8.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009807",name:"Muesli, granola, toasted, added nuts & seeds, unfortified",availableCarb:52.3,fibre:7.6,protein:11.2,fat:17.6,freeFructose:1.6,freeGlucose:2,sucrose:12,maltose:.7,lactose:0,galactose:null,starch:36,totalSugars:16.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005856",name:"Muesli, toasted, added dried fruit & nuts, unfortified",availableCarb:56.6,fibre:11.4,protein:8.9,fat:13.3,freeFructose:9.4,freeGlucose:8.5,sucrose:1.7,maltose:1.5,lactose:.6,galactose:null,starch:34.9,totalSugars:21.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005857",name:"Muesli, untoasted or natural style, added dried fruit, unfortified",availableCarb:59.2,fibre:9.4,protein:10.8,fat:10.8,freeFructose:8.8,freeGlucose:8.9,sucrose:1,maltose:0,lactose:0,galactose:null,starch:40.5,totalSugars:18.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005877",name:"Muffin, cake-style, berry, commercial",availableCarb:44.4,fibre:1.9,protein:5.2,fat:15.7,freeFructose:.7,freeGlucose:1.2,sucrose:23,maltose:.8,lactose:.4,galactose:null,starch:18.3,totalSugars:26.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005882",name:"Muffin, cake-style, chocolate chip, commercial",availableCarb:48.1,fibre:1.4,protein:6.4,fat:17.7,freeFructose:0,freeGlucose:.3,sucrose:27.9,maltose:.7,lactose:.6,galactose:null,starch:18.6,totalSugars:29.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005896",name:"Muffin, English style, from white flour",availableCarb:38.7,fibre:3.2,protein:10.1,fat:2.1,freeFructose:.4,freeGlucose:0,sucrose:0,maltose:1.3,lactose:0,galactose:null,starch:37,totalSugars:1.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005897",name:"Muffin, English style, from white flour, added dried fruit, toasted",availableCarb:46.1,fibre:3.6,protein:9.8,fat:2,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:34.8,totalSugars:11.2,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F005898",name:"Muffin, English style, from white flour, toasted",availableCarb:42.1,fibre:3.4,protein:11,fat:2.3,freeFructose:.4,freeGlucose:0,sucrose:0,maltose:1.4,lactose:0,galactose:null,starch:40.2,totalSugars:1.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005916",name:"Mulberry, raw",availableCarb:4.3,fibre:2.2,protein:2.2,fat:.2,freeFructose:2.3,freeGlucose:2,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:4.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005921",name:"Mullet, yelloweye, fillet, baked, no added fat",availableCarb:0,fibre:0,protein:26.4,fat:8.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005922",name:"Mullet, yelloweye, fillet, raw",availableCarb:0,fibre:0,protein:19.2,fat:6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005923",name:"Mullet, yelloweye, fillet, steamed, no added fat",availableCarb:0,fibre:0,protein:22,fat:5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005926",name:"Mulloway, flesh, baked, no added fat",availableCarb:0,fibre:0,protein:28.2,fat:3.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005930",name:"Mulloway, flesh, raw",availableCarb:0,fibre:0,protein:20.6,fat:2.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005932",name:"Mulloway, flesh, steamed, no added fat",availableCarb:0,fibre:0,protein:23.2,fat:3.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005945",name:"Mushroom, common, fresh, fried, no added fat",availableCarb:0,fibre:2.5,protein:4,fat:.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005946",name:"Mushroom, common, fresh, raw",availableCarb:0,fibre:1.4,protein:2.2,fat:.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005948",name:"Mushroom, common, vitamin D enhanced, fresh, fried, no added fat",availableCarb:0,fibre:2.5,protein:4,fat:.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005949",name:"Mushroom, common, vitamin D enhanced, fresh, raw",availableCarb:0,fibre:1.4,protein:2.2,fat:.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005968",name:"Mussel, blue, steamed",availableCarb:4.7,fibre:0,protein:16,fat:2.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005972",name:"Mustard powder",availableCarb:17.2,fibre:5,protein:29.4,fat:39.5,freeFructose:0,freeGlucose:.1,sucrose:4.9,maltose:0,lactose:0,galactose:null,starch:12.2,totalSugars:5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005973",name:"Mustard, cream style",availableCarb:6.2,fibre:4.1,protein:5.8,fat:3.1,freeFructose:1.2,freeGlucose:1.9,sucrose:.5,maltose:0,lactose:0,galactose:null,starch:2.6,totalSugars:3.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005976",name:"Mutton, all cuts, separable fat, cooked",availableCarb:0,fibre:0,protein:10.7,fat:67.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005977",name:"Mutton, all cuts, separable fat, raw",availableCarb:0,fibre:0,protein:8.2,fat:64.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"}
61,{id:"F005978",name:"Mutton, boneless dice or strips, shoulder, lean, casseroled, no added fat",availableCarb:0,fibre:0,protein:36.4,fat:11.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005979",name:"Mutton, boneless dice or strips, shoulder, lean, raw",availableCarb:0,fibre:0,protein:21.3,fat:4.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005980",name:"Mutton, boneless dice or strips, shoulder, semi-trimmed, casseroled, no added fat",availableCarb:0,fibre:0,protein:35.2,fat:13.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005981",name:"Mutton, boneless dice or strips, shoulder, semi-trimmed, raw",availableCarb:0,fibre:0,protein:20.2,fat:9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005982",name:"Mutton, boneless dice or strips, shoulder, untrimmed, casseroled, no added fat",availableCarb:0,fibre:0,protein:34.9,fat:14.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005983",name:"Mutton, boneless dice or strips, shoulder, untrimmed, raw",availableCarb:0,fibre:0,protein:20,fat:10.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005997",name:"Mutton, roasting piece, with bone, leg, lean, raw",availableCarb:0,fibre:0,protein:21.6,fat:3.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005998",name:"Mutton, roasting piece, with bone, leg, lean, roasted, no added fat",availableCarb:0,fibre:0,protein:29.8,fat:7.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F005999",name:"Mutton, roasting piece, with bone, leg, semi-trimmed, raw",availableCarb:0,fibre:0,protein:20.8,fat:7.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006000",name:"Mutton, roasting piece, with bone, leg, semi-trimmed, roasted, no added fat",availableCarb:0,fibre:0,protein:28.5,fat:11.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006001",name:"Mutton, roasting piece, with bone, leg, untrimmed, raw",availableCarb:0,fibre:0,protein:19.6,fat:12.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006002",name:"Mutton, roasting piece, with bone, leg, untrimmed, roasted, no added fat",availableCarb:0,fibre:0,protein:26.8,fat:17.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006021",name:"Nectarine, yellow, unpeeled, raw",availableCarb:9,fibre:1.6,protein:.8,fat:0,freeFructose:2.7,freeGlucose:2.1,sucrose:4.2,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006030",name:"Noodle snack, wheat, flavoured, dry",availableCarb:60,fibre:1.7,protein:10.4,fat:23.6,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:58.2,totalSugars:1.8,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F006038",name:"Noodle, rice stick, boiled, drained",availableCarb:26.1,fibre:.7,protein:2.5,fat:0,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:26.1,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006042",name:"Noodle, soba, boiled, drained",availableCarb:21.5,fibre:1.6,protein:3.6,fat:.4,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:21.5,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F006043",name:"Noodle, soba, dry",availableCarb:71.2,fibre:5.3,protein:11.9,fat:1.3,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:71.2,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F006044",name:"Noodle, wheat with egg, plain, boiled, no added fat",availableCarb:28.2,fibre:2.2,protein:6.6,fat:1,freeFructose:0,freeGlucose:0,sucrose:.1,maltose:.2,lactose:0,galactose:null,starch:27.9,totalSugars:.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006048",name:"Noodle, wheat, fresh, soaked, drained",availableCarb:26.5,fibre:1.7,protein:6.3,fat:1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:26.5,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006053",name:"Noodle, wheat, instant, flavoured, boiled, drained",availableCarb:17.6,fibre:1.2,protein:3.8,fat:6.2,freeFructose:0,freeGlucose:0,sucrose:.3,maltose:0,lactose:0,galactose:null,starch:17.3,totalSugars:.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006054",name:"Noodle, wheat, instant, flavoured, boiled, undrained",availableCarb:6.6,fibre:.4,protein:1.4,fat:2.3,freeFructose:0,freeGlucose:0,sucrose:.1,maltose:0,lactose:0,galactose:null,starch:6.5,totalSugars:.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006055",name:"Noodle, wheat, instant, flavoured, dry, uncooked",availableCarb:54,fibre:3.7,protein:11,fat:19.1,freeFructose:0,freeGlucose:0,sucrose:.9,maltose:0,lactose:0,galactose:null,starch:53.1,totalSugars:.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006077",name:"Nut, almond meal",availableCarb:5.1,fibre:8.9,protein:20.5,fat:55.8,freeFructose:0,freeGlucose:0,sucrose:3.9,maltose:0,lactose:0,galactose:null,starch:1.2,totalSugars:3.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006081",name:"Nut, almond, with skin, raw, unsalted",availableCarb:5.4,fibre:10.9,protein:19.7,fat:50.5,freeFructose:.3,freeGlucose:.3,sucrose:4.6,maltose:0,lactose:0,galactose:null,starch:.2,totalSugars:5.2,s
61ource:"ausnut-r2",sucroseSource:"measured"},{id:"F006082",name:"Nut, almond, with skin, roasted, unsalted",availableCarb:5.4,fibre:10.9,protein:19.7,fat:52.5,freeFructose:.3,freeGlucose:.3,sucrose:4.6,maltose:0,lactose:0,galactose:null,starch:.2,totalSugars:5.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006087",name:"Nut, brazil, raw or blanched, unsalted",availableCarb:2.4,fibre:8.5,protein:14.4,fat:68.5,freeFructose:0,freeGlucose:0,sucrose:2.1,maltose:0,lactose:0,galactose:null,starch:.3,totalSugars:2.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006088",name:"Nut, cashew, raw, unsalted",availableCarb:22.9,fibre:5.9,protein:17,fat:49.2,freeFructose:0,freeGlucose:0,sucrose:5.5,maltose:0,lactose:0,galactose:null,starch:17.4,totalSugars:5.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006090",name:"Nut, cashew, roasted, salted",availableCarb:26.7,fibre:3,protein:17,fat:48.5,freeFructose:0,freeGlucose:0,sucrose:6.4,maltose:0,lactose:0,galactose:null,starch:20.3,totalSugars:6.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006092",name:"Nut, cashew, roasted, unsalted",availableCarb:26.8,fibre:3.4,protein:17,fat:47.7,freeFructose:0,freeGlucose:0,sucrose:6.5,maltose:0,lactose:0,galactose:null,starch:20.3,totalSugars:6.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006095",name:"Nut, chestnut, raw, unsalted",availableCarb:32.1,fibre:14.9,protein:3.4,fat:.2,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:28.8,totalSugars:3.3,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F006096",name:"Nut, chestnut, roasted, unsalted",availableCarb:34.3,fibre:8.1,protein:3.4,fat:.6,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:30.5,totalSugars:3.8,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F006098",name:"Nut, hazelnut, raw, unsalted",availableCarb:5.1,fibre:10.4,protein:14.8,fat:61.4,freeFructose:0,freeGlucose:0,sucrose:4.4,maltose:0,lactose:0,galactose:null,starch:.7,totalSugars:4.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006099",name:"Nut, macadamia, raw, unsalted",availableCarb:4.5,fibre:6.4,protein:9.2,fat:74,freeFructose:0,freeGlucose:0,sucrose:4.5,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:4.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006107",name:"Nut, peanut, with skin, raw, unsalted",availableCarb:8.9,fibre:8.2,protein:24.7,fat:47.1,freeFructose:0,freeGlucose:0,sucrose:5.1,maltose:0,lactose:0,galactose:null,starch:3.8,totalSugars:5.1,source:"ausnut-r2",sucroseSource:"measured"}
61,{id:"F006108",name:"Nut, peanut, with skin, roasted, with oil, salted",availableCarb:14.4,fibre:8.3,protein:24.4,fat:51.7,freeFructose:0,freeGlucose:0,sucrose:4.7,maltose:0,lactose:0,galactose:null,starch:9.7,totalSugars:4.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006109",name:"Nut, peanut, without skin, roasted, with oil, salted",availableCarb:14.1,fibre:6.2,protein:25.1,fat:52.8,freeFructose:0,freeGlucose:0,sucrose:4.4,maltose:null,lactose:0,galactose:null,starch:9.7,totalSugars:4.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006110",name:"Nut, peanut, without skin, roasted, with oil, unsalted",availableCarb:14.1,fibre:6.2,protein:25.1,fat:52.8,freeFructose:0,freeGlucose:0,sucrose:4.4,maltose:null,lactose:0,galactose:null,starch:9.7,totalSugars:4.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006111",name:"Nut, pecan, raw, unsalted",availableCarb:4.9,fibre:8.4,protein:9.8,fat:71.9,freeFructose:0,freeGlucose:0,sucrose:4.3,maltose:0,lactose:0,galactose:null,starch:.6,totalSugars:4.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006112",name:"Nut, pine, raw, unsalted",availableCarb:4.5,fibre:5.1,protein:13,fat:70,freeFructose:0,freeGlucose:0,sucrose:3.4,maltose:0,lactose:0,galactose:null,starch:1.1,totalSugars:3.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006113",name:"Nut, pistachio, raw, unsalted",availableCarb:15.8,fibre:9,protein:19.7,fat:50.6,freeFructose:0,freeGlucose:0,sucrose:5.9,maltose:0,lactose:0,galactose:null,starch:9.9,totalSugars:5.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006116",name:"Nut, walnut, raw, unsalted",availableCarb:3,fibre:6.4,protein:14.4,fat:69.2,freeFructose:0,freeGlucose:0,sucrose:2.7,maltose:0,lactose:0,galactose:null,starch:.3,totalSugars:2.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006118",name:"Nutmeg, dried, ground",availableCarb:28.5,fibre:20.8,protein:5.8,fat:36.3,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:25.5,totalSugars:3,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F006131",name:"Oat beverage, fluid, added calcium",availableCarb:10.2,fibre:.3,protein:1.3,fat:.8,freeFructose:0,freeGlucose:1.5,sucrose:0,maltose:1.6,lactose:0,galactose:null,starch:7.1,totalSugars:3.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006132",name:"Oat beverage, fluid, unfortified",availableCarb:10.2,fibre:.3,protein:1.3,fat:.8,freeFructose:0,freeGlucose:1.5,sucrose:0,maltose:1.6,lactose:0,galactose:null,starch:7.1,totalSugars:3.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006136",name:"Oats, hulled, uncooked",availableCarb:55.5,fibre:8.6,protein:12.5,fat:9.8,freeFructose:0,freeGlucose:0,sucrose:1.2,maltose:0,lactose:0,galactose:null,starch:54.3,totalSugars:1.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006141",name:"Oats, rolled, mixed with sugar or honey & other flavours, uncooked",availableCarb:69.1,fibre:7.5,protein:8.3,fat:7.5,freeFructose:.3,freeGlucose:.2,sucrose:23,maltose:0,lactose:.5,galactose:null,starch:45.1,totalSugars:24,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006143",name:"Oats, rolled, uncooked",availableCarb:49.9,fibre:9.5,protein:12.2,fat:9.5,freeFructose:0,freeGlucose:0,sucrose:1,maltose:0,lactose:0,galactose:null,starch:48.9,totalSugars:1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006146",name:"Octopus, boiled, no added fat",availableCarb:0,fibre:0,protein:16.6,fat:1.2,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F006150",name:"Octopus, raw",availableCarb:0,fibre:0,protein:14.9,fat:1,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F006154",name:"Oil, almond",availableCarb:0,fibre:0,protein:0,fat:100,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F006155",name:"Oil, blend of monounsaturated vegetable oils",availableCarb:0,fibre:0,protein:0,fat:100,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"}
61,{id:"F006156",name:"Oil, blend of polyunsaturated vegetable oils",availableCarb:0,fibre:0,protein:0,fat:100,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006159",name:"Oil, canola",availableCarb:0,fibre:0,protein:0,fat:100,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006165",name:"Oil, copha",availableCarb:0,fibre:0,protein:.2,fat:99.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006166",name:"Oil, cottonseed",availableCarb:0,fibre:0,protein:0,fat:100,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F006167",name:"Oil, grapeseed",availableCarb:0,fibre:0,protein:0,fat:100,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006168",name:"Oil, linseed or flaxseed",availableCarb:0,fibre:0,protein:0,fat:100,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F006169",name:"Oil, macadamia",availableCarb:0,fibre:0,protein:0,fat:100,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F006172",name:"Oil, mustard seed",availableCarb:0,fibre:0,protein:0,fat:100,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F006177",name:"Oil, olive",availableCarb:0,fibre:0,protein:0,fat:99.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006181",name:"Oil, palm",availableCarb:0,fibre:0,protein:0,fat:100,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F006183",name:"Oil, peanut",availableCarb:0,fibre:0,protein:0,fat:100,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006185",name:"Oil, rice bran",availableCarb:0,fibre:0,protein:0,fat:100,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006188",name:"Oil, soybean",availableCarb:0,fibre:0,protein:0,fat:100,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006189",name:"Oil, sunflower",availableCarb:0,fibre:0,protein:0,fat:100,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006191",name:"Oil, vegetable",availableCarb:0,fibre:0,protein:0,fat:100,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006194",name:"Okra, cooked, no added fat",availableCarb:1.5,fibre:4,protein:3.3,fat:.2,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:1.5,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F006195",name:"Okra, raw",availableCarb:1.4,fibre:3.7,protein:3.1,fat:.2,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:1.4,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F006198",name:"Olive, green or black, drained",availableCarb:1.8,fibre:2.3,protein:2.4,fat:20.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:1.8,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006224",name:"Onion, mature, brown skinned, peeled, fresh, fried, no added fat",availableCarb:9.4,fibre:4.4,protein:2.1,fat:0,freeFructose:2.7,freeGlucose:3.5,sucrose:3.1,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:9.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006225",name:"Onion, mature, brown skinned, peeled, raw",availableCarb:5.8,fibre:2.7,protein:1.3,fat:0,freeFructose:1.7,freeGlucose:2.2,sucrose:1.9,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:5.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009820",name:"Onion, mature, red skinned, fried, no added fat",availableCarb:8.9,fibre:2.2,protein:1.2,fat:0,freeFructose:3.2,freeGlucose:3.9,sucrose:1.8,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:8.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009800",name:"Onion, mature, red skinned, raw",availableCarb:5.5,fibre:1.4,protein:.8,fat:0,freeFructose:2,freeGlucose:2.4,sucrose:1.1,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:5.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006242",name:"Onion, mature, white skinned, peeled, fresh, fried, no added fat",availableCarb:7.5,fibre:3.3,protein:2.7,fat:.2,freeFructose:2.2,freeGlucose:3.3,sucrose:1.9,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:7.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006243",name:"Onion, mature, white skinned, peeled, fresh, raw",availableCarb:4.7,fibre:2.1,protein:1.7,fat:.1,freeFructose:1.4,freeGlucose:2.1,sucrose:1.2,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:4.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006249",name:"Onion, spring, fresh, fried, no added fat",availableCarb:7.4,fibre:3.1,protein:2.7,fat:.3,freeFructose:3.7,freeGlucose:3.1,sucrose:.5,maltose:0,lactose:0,galactose:null,starch:.2,totalSugars:7.2,source:"ausnut-r2",sucroseSource:"measured"}
61,{id:"F006250",name:"Onion, spring, fresh, raw",availableCarb:4.6,fibre:1.9,protein:1.7,fat:.2,freeFructose:2.3,freeGlucose:1.9,sucrose:.3,maltose:0,lactose:0,galactose:null,starch:.1,totalSugars:4.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006276",name:"Orange, navel, peeled, raw",availableCarb:8.2,fibre:2.4,protein:1,fat:0,freeFructose:2.1,freeGlucose:1.9,sucrose:4.2,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:8.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006277",name:"Orange, peeled, raw",availableCarb:8.2,fibre:2.4,protein:1,fat:0,freeFructose:2.1,freeGlucose:1.9,sucrose:4.2,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:8.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006279",name:"Orange, valencia, peeled, raw",availableCarb:8.2,fibre:2.4,protein:1,fat:0,freeFructose:2.1,freeGlucose:1.9,sucrose:4.2,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:8.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006281",name:"Oregano, dried",availableCarb:26.4,fibre:42.5,protein:9,fat:4.3,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:22.3,totalSugars:4.1,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F006282",name:"Ostrich, fan fillet, raw",availableCarb:0,fibre:0,protein:23.4,fat:.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006283",name:"Ostrich, moon steak, raw",availableCarb:0,fibre:0,protein:23.7,fat:1.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006285",name:"Oyster, aquacultured, raw",availableCarb:.6,fibre:0,protein:10.1,fat:2.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.6,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006288",name:"Oyster, native, aquacultured, raw",availableCarb:.6,fibre:0,protein:7.3,fat:1.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.6,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006289",name:"Oyster, Pacific, aquacultured, raw",availableCarb:.6,fibre:0,protein:10.8,fat:2.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.6,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006291",name:"Oyster, Sydney rock, aquacultured, raw",availableCarb:.6,fibre:0,protein:10.6,fat:2.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.6,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006298",name:"Pancake, plain, homemade",availableCarb:30.3,fibre:.8,protein:7.4,fat:7.6,freeFructose:null,freeGlucose:0,sucrose:.2,maltose:null,lactose:3.5,galactose:null,starch:26,totalSugars:4.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006316",name:"Paprika, dry powder",availableCarb:19.1,fibre:34.9,protein:14.1,fat:12.9,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:8.8,totalSugars:10.3,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F006321",name:"Parsley, continental, fresh, raw",availableCarb:1.1,fibre:5,protein:3.9,fat:.7,freeFructose:.3,freeGlucose:.7,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.1,totalSugars:1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006322",name:"Parsley, curly, fresh, raw",availableCarb:.4,fibre:5.8,protein:1.9,fat:.2,freeFructose:.1,freeGlucose:.2,sucrose:.1,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006326",name:"Parsnip, peeled, fresh, baked, no added fat",availableCarb:12.2,fibre:4.4,protein:2.2,fat:.2,freeFructose:1,freeGlucose:1,sucrose:3.9,maltose:0,lactose:0,galactose:null,starch:6.3,totalSugars:5.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006327",name:"Parsnip, peeled, fresh, boiled, drained",availableCarb:10.8,fibre:3.9,protein:1.9,fat:.2,freeFructose:.9,freeGlucose:.9,sucrose:3.4,maltose:0,lactose:0,galactose:null,starch:5.6,totalSugars:5.2,s
61ource:"ausnut-r2",sucroseSource:"measured"},{id:"F006328",name:"Parsnip, peeled, fresh, raw",availableCarb:10,fibre:3.6,protein:1.8,fat:.2,freeFructose:.8,freeGlucose:.8,sucrose:3.2,maltose:0,lactose:0,galactose:null,starch:5.2,totalSugars:4.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006332",name:"Passionfruit, pulp, canned",availableCarb:19.8,fibre:7,protein:1.5,fat:.2,freeFructose:1,freeGlucose:1.2,sucrose:17.8,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:19.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006333",name:"Passionfruit, raw",availableCarb:5.7,fibre:13.9,protein:3,fat:.3,freeFructose:1.9,freeGlucose:2.3,sucrose:1.5,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:5.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006409",name:"Pasta in cream based sauce, dry mix",availableCarb:69.7,fibre:3.6,protein:13.1,fat:3.1,freeFructose:0,freeGlucose:0,sucrose:.6,maltose:4.7,lactose:4,galactose:null,starch:60.4,totalSugars:9.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009830",name:"Pasta in cream based sauce, prepared from dry mix",availableCarb:23.6,fibre:1.1,protein:5.6,fat:2.6,freeFructose:0,freeGlucose:0,sucrose:.2,maltose:1.4,lactose:3.4,galactose:null,starch:18.6,totalSugars:5.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006429",name:"Pasta, gluten free, boiled from dry, no added salt",availableCarb:32.4,fibre:1.2,protein:3.1,fat:.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:32.4,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009835",name:"Pasta, legume based, boiled, no added salt",availableCarb:16.1,fibre:6.2,protein:14.4,fat:1.7,freeFructose:0,freeGlucose:0,sucrose:1.2,maltose:0,lactose:0,galactose:null,starch:14.9,totalSugars:1.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006431",name:"Pasta, maize flour (corn) based, boiled from dry, no added salt",availableCarb:23.1,fibre:4.8,protein:2.6,fat:.7,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:23.1,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F006433",name:"Pasta, maize flour (corn) based, dry",availableCarb:68.3,fibre:11,protein:7.5,fat:2.1,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:68.3,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F006444",name:"Pasta, white wheat flour & egg, boiled from dry, no added salt",availableCarb:29.1,fibre:2.6,protein:7.5,fat:1.4,freeFructose:0,freeGlucose:0,sucrose:.2,maltose:.4,lactose:0,galactose:null,starch:28.5,totalSugars:.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006445",name:"Pasta, white wheat flour & egg, dry",availableCarb:74.4,fibre:2.2,protein:10.6,fat:1.6,freeFructose:null,freeGlucose:0,sucrose:.7,maltose:null,lactose:0,galactose:null,starch:72.4,totalSugars:1.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006451",name:"Pasta, white wheat flour & spinach, boiled from dry, no added salt",availableCarb:27.3,fibre:1.4,protein:3.8,fat:.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:.2,lactose:0,galactose:null,starch:27.1,totalSugars:.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006453",name:"Pasta, white wheat flour & spinach, dry",availableCarb:73.1,fibre:4.4,protein:11.9,fat:1.3,freeFructose:.2,freeGlucose:.9,sucrose:.4,maltose:1.2,lactose:0,galactose:null,starch:70.4,totalSugars:2.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006456",name:"Pasta, white wheat flour, boiled from dry, no added salt",availableCarb:26.2,fibre:2.2,protein:5.3,fat:.4,freeFructose:0,freeGlucose:0,sucrose:.1,maltose:.2,lactose:0,galactose:null,starch:25.9,totalSugars:.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006458",name:"Pasta, white wheat flour, dry",availableCarb:68.5,fibre:3.2,protein:12.7,fat:1.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:68.5,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006459",name:"Pasta, white wheat flour, fresh, boiled, no added salt",availableCarb:27.1,fibre:2.7,protein:5.9,fat:3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:1.1,lactose:0,galactose:null,starch:26,totalSugars:1.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006460",name:"Pasta, white wheat flour, fresh, uncooked",availableCarb:49.4,fibre:3.3,protein:10.5,fat:3.4,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:0,galactose:null,starch:48.5,totalSugars:.9,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F006464",name:"Pasta, wholemeal wheat flour, boiled from dry, no added salt",availableCarb:24.6,fibre:5.7,protein:5.4,fat:.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:24.6,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006465",name:"Pasta, wholemeal wheat flour, dry",availableCarb:60.6,fibre:9.9,protein:12.5,fat:2.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:60.6,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006469",name:"Paste, green curry, commercial",availableCarb:6.3,fibre:3,protein:2.4,fat:7.9,freeFructose:2.1,freeGlucose:.9,sucrose:.4,maltose:0,lactose:0,galactose:null,starch:2.9,totalSugars:3.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006471",name:"Paste, Indian style curry, commercial",availableCarb:10.2,f
61ibre:5.4,protein:4.8,fat:26.4,freeFructose:2.3,freeGlucose:1.6,sucrose:.3,maltose:0,lactose:0,galactose:null,starch:6,totalSugars:4.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006476",name:"Paste, shrimp",availableCarb:0,fibre:0,protein:21,fat:1,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F005702",name:"Paste, soybean",availableCarb:19.7,fibre:4.3,protein:12.9,fat:5.1,freeFructose:.6,freeGlucose:9.2,sucrose:.2,maltose:.4,lactose:0,galactose:0,starch:9.3,totalSugars:10.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006493",name:"Pastry, filled with spinach & cheese, purchased frozen, baked",availableCarb:24.7,fibre:2.5,protein:9.4,fat:16.4,freeFructose:0,freeGlucose:.9,sucrose:.5,maltose:.8,lactose:.5,galactose:null,starch:22,totalSugars:2.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006496",name:"Pastry, filo, commercial, baked",availableCarb:75.1,fibre:4.3,protein:12.2,fat:3.1,freeFructose:0,freeGlucose:.1,sucrose:.1,maltose:1.9,lactose:0,galactose:null,starch:73,totalSugars:2.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006497",name:"Pastry, filo, commercial, raw",availableCarb:55.8,fibre:2.5,protein:10.2,fat:3.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:1.2,lactose:0,galactose:null,starch:54.5,totalSugars:1.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006502",name:"Pastry, puff, vegetable oil, commercial, baked",availableCarb:44.9,fibre:4.4,protein:7,fat:21,freeFructose:0,freeGlucose:0,sucrose:.1,maltose:1.2,lactose:0,galactose:null,starch:43.6,totalSugars:1.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006503",name:"Pastry, puff, vegetable oil, commercial, raw",availableCarb:35,fibre:3.4,protein:5.5,fat:16.4,freeFructose:0,freeGlucose:0,sucrose:.1,maltose:.9,lactose:0,galactose:null,starch:34,totalSugars:1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006504",name:"Pastry, puff, with butter, commercial, baked",availableCarb:42.7,fibre:4.4,protein:7.1,fat:24.7,freeFructose:0,freeGlucose:0,sucrose:.1,maltose:1.2,lactose:0,galactose:null,starch:41.4,totalSugars:1.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006505",name:"Pastry, puff, with butter, commercial, raw",availableCarb:32.9,fibre:3.4,protein:5.5,fat:19,freeFructose:0,freeGlucose:0,sucrose:.1,maltose:.9,lactose:0,galactose:null,starch:31.9,totalSugars:1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006506",name:"Pastry, shortcrust style, commercial, baked",availableCarb:55.6,fibre:1.8,protein:6.6,fat:27.5,freeFructose:0,freeGlucose:0,sucrose:7.9,maltose:1.1,lactose:.6,galactose:null,starch:46,totalSugars:9.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006507",name:"Pastry, shortcrust style, commercial, raw",availableCarb:42,fibre:.8,protein:5.5,fat:23.8,freeFructose:0,freeGlucose:0,sucrose:6.5,maltose:1,lactose:0,galactose:null,starch:34.5,totalSugars:7.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006528",name:"Pawpaw (papaya), peeled, raw",availableCarb:6.9,fibre:2.3,protein:.4,fat:.1,freeFructose:3.3,freeGlucose:3.6,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:6.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006535",name:"Pea, green, fresh, boiled, drained",availableCarb:6.4,fibre:5.2,protein:4.8,fat:.4,freeFructose:0,freeGlucose:0,sucrose:2.7,maltose:0,lactose:0,galactose:null,starch:3.7,totalSugars:2.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006536",name:"Pea, green, fresh, raw",availableCarb:8.1,fibre:5.6,protein:5.8,fat:.4,freeFructose:.3,freeGlucose:.2,sucrose:3.5,maltose:0,lactose:0,galactose:null,starch:4.1,totalSugars:4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006538",name:"Pea, green, frozen, boiled, drained",availableCarb:6.4,fibre:6.1,protein:5.2,fat:.3,freeFructose:.1,freeGlucose:.6,sucrose:1.8,maltose:0,lactose:0,galactose:null,starch:3.7,totalSugars:2.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006541",name:"Pea, green, whole, dried",availableCarb:40.9,fibre:16.8,protein:22,fat:2.1,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:38.5,totalSugars:2.4,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F006543",name:"Pea, split, dried",availableCarb:50.5,fibre:10.1,protein:23,fat:2,freeFructose:.1,freeGlucose:0,sucrose:2.4,maltose:0,lactose:0,galactose:null,starch:42.6,totalSugars:2.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006544",name:"Pea, split, dried, boiled, drained",availableCarb:9.1,fibre:8.3,protein:6.6,fat:.4,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:6.2,totalSugars:2.9,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F006545",name:"Pea, yellow, whole, dried",availableCarb:43.6,fibre:17.7,protein:23.3,fat:2.3,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:41,totalSugars:2.6,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F006553",name:"Peach, canned in pear juice",availableCarb:8.3,fibre:1.3,protein:.6,fat:0,freeFructose:3.7,freeGlucose:1.8,sucrose:2.8,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:8.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006554",name:"Peach, canned in pear juice, drained",availableCarb:8.2,fibre:2,protein:.8,fat:.1,freeFructose:3.6,freeGlucose:1.7,sucrose:2.8,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:8.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006555",name:"Peach, canned in pear juice, juice only",availableCarb:8.5,fibre:.3,protein:.4,fat:0,freeFructose:3.8,freeGlucose:2,sucrose:2.7,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:8.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006573",name:"Peach, yellow, unpeeled, raw",availableCarb:8.4,fibre:1.6,protein:.7,fat:0,freeFructose:1.6,freeGlucose:1.2,sucrose:5.3,maltose:0,lactose:0,galactose:null,starch:.3,totalSugars:8.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006577",name:"Peanut butter, smooth & crunchy, added sugar & salt",availableCarb:14.3,fibre:5.8,protein:22.2,fat:49.6,freeFructose:0,freeGlucose:0,sucrose:8.4,maltose:.2,lactose:0,galactose:null,starch:5.7,totalSugars:8.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006579",name:"Peanut butter, smooth & crunchy, no added sugar or salt",availableCarb:9.4,fibre:6.5,protein:24.3,fat:54.3,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:4.2,totalSugars:5.2,s
61ource:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F006585",name:"Pear, brown skin, unpeeled, raw",availableCarb:10.4,fibre:3.4,protein:.3,fat:0,freeFructose:6.3,freeGlucose:1.7,sucrose:2.4,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:10.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006593",name:"Pear, canned in pear juice",availableCarb:8.7,fibre:1.7,protein:.5,fat:0,freeFructose:6.5,freeGlucose:1.6,sucrose:.6,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:8.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006594",name:"Pear, canned in pear juice, drained",availableCarb:8.6,fibre:2.8,protein:.6,fat:0,freeFructose:6.4,freeGlucose:1.6,sucrose:.6,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:8.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006595",name:"Pear, canned in pear juice, juice only",availableCarb:8.8,fibre:.2,protein:.2,fat:0,freeFructose:6.6,freeGlucose:1.6,sucrose:.7,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:8.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006601",name:"Pear, green skin, unpeeled, raw",availableCarb:12.4,fibre:3,protein:.4,fat:0,freeFructose:6.2,freeGlucose:5.7,sucrose:.5,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:12.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006604",name:"Pear, nashi, unpeeled, raw",availableCarb:11.1,fibre:2.1,protein:.4,fat:.1,freeFructose:6,freeGlucose:4.4,sucrose:.2,maltose:0,lactose:0,galactose:null,starch:.5,totalSugars:10.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006606",name:"Pear, Packham's triumph, unpeeled, raw",availableCarb:12.5,fibre:3,protein:.4,fat:0,freeFructose:6.2,freeGlucose:5.7,sucrose:.5,maltose:0,lactose:0,galactose:null,starch:.1,totalSugars:12.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006612",name:"Pear, William Bartlett, unpeeled, raw",availableCarb:9,fibre:3.7,protein:.3,fat:0,freeFructose:6.8,freeGlucose:1.4,sucrose:.8,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006618",name:"Pepper, black, ground",availableCarb:38.6,fibre:25.3,protein:10.4,fat:3.3,freeFructose:.2,freeGlucose:.2,sucrose:0,maltose:0,lactose:0,galactose:.2,starch:38,totalSugars:.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006628",name:"Persimmon, peeled, raw",availableCarb:16.1,fibre:2.6,protein:.6,fat:.2,freeFructose:7.8,freeGlucose:7.8,sucrose:.5,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:16.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006665",name:"Pie, savoury, meat, commercial, ready to eat",availableCarb:21.2,fibre:2.4,protein:8.9,fat:11.2,freeFructose:0,freeGlucose:0,sucrose:.4,maltose:.9,lactose:0,galactose:0,starch:19.9,totalSugars:1.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006667",name:"Pie, savoury, meat, purchased frozen, baked",availableCarb:19.3,fibre:2,protein:8.6,fat:11.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:19.3,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006675",name:"Pie, steak & kidney, canned",availableCarb:13.6,fibre:.9,protein:10,fat:7.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:.6,lactose:0,galactose:null,starch:13,totalSugars:.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006679",name:"Pie, sweet, apple, commercial",availableCarb:31.4,fibre:1.3,protein:3,fat:12.9,freeFructose:2.3,freeGlucose:1.3,sucrose:11.5,maltose:0,lactose:0,galactose:null,starch:16.3,totalSugars:15.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006698",name:"Pigeon (squab), whole, raw",availableCarb:0,fibre:0,protein:16.2,fat:25.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006700",name:"Pikelet or pancake, sweet, commercial",availableCarb:38.4,fibre:2.1,protein:5.7,fat:4.3,freeFructose:.3,freeGlucose:0,sucrose:11.3,maltose:.7,lactose:1.5,galactose:0,starch:24.6,totalSugars:13.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006701",name:"Pikelet, plain, homemade",availableCarb:47.9,fibre:1.7,protein:7.5,fat:5.9,freeFructose:0,freeGlucose:.1,sucrose:11.4,maltose:.4,lactose:1.5,galactose:null,starch:34.5,totalSugars:13.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006708",name:"Pineapple, canned in juice, drained",availableCarb:10.9,fibre:1.1,protein:0,fat:0,freeFructose:3.8,freeGlucose:3.9,sucrose:3.2,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:10.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006707",name:"Pineapple, canned in pineapple juice",availableCarb:12,fibre:.8,protein:.5,fat:.6,freeFructose:4.2,freeGlucose:4.1,sucrose:3.7,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:12,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006710",name:"Pineapple, canned in pineapple juice, juice only",availableCarb:10.6,fibre:0,protein:.3,fat:0,freeFructose:3.2,freeGlucose:2.9,sucrose:4.5,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:10.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006711",name:"Pineapple, canned in syrup",availableCarb:19.8,fibre:.7,protein:.3,fat:.6,freeFructose:9.1,freeGlucose:8.6,sucrose:2.1,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:19.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006712",name:"Pineapple, canned in syrup, drained",availableCarb:17.5,fibre:1.2,protein:0,fat:0,freeFructose:4.7,freeGlucose:4.9,sucrose:7.9,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:17.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006713",name:"Pineapple, canned in syrup, syrup only",availableCarb:22,fibre:0,protein:.3,fat:0,freeFructose:5.1,freeGlucose:4.9,sucrose:12,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:22,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006702",name:"Pineapple, peeled, raw",availableCarb:7.9,fibre:.9,protein:.5,fat:0,freeFructose:1.9,freeGlucose:1.7,sucrose:4.3,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:7.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006725",name:"Pizza, cheese & tomato, commercial",availableCarb:28.7,fibre:2.8,protein:16.2,fat:11,freeFructose:.7,freeGlucose:.8,sucrose:0,maltose:1.2,lactose:0,galactose:null,starch:26,totalSugars:2.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006761",name:"Pizza, ham & pineapple, purchased frozen, baked",availableCarb:28.2,fibre:3.1,protein:11.5,fat:6,freeFructose:.9,freeGlucose:1.7,sucrose:.2,maltose:0,lactose:2,galactose:null,starch:23.4,totalSugars:4.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006762",name:"Pizza, ham & pineapple, takeaway style",availableCarb:23.1,fibre:3.1,protein:12.8,fat:8.3,freeFructose:1,freeGlucose:1,sucrose:.7,maltose:0,lactose:0,galactose:null,starch:20.4,totalSugars:2.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006795",name:"Pizza, supreme, fast food chain",availableCarb:27.6,fibre:2.5,protein:12.9,fat:9,freeFructose:.8,freeGlucose:.7,sucrose:0,maltose:.9,lactose:0,galactose:0,starch:25.2,totalSugars:2.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006797",name:"Pizza, supreme, purchased frozen, baked",availableCarb:26.3,fibre:3.2,protein:14,fat:11.6,freeFructose:.4,freeGlucose:.3,sucrose:0,maltose:.1,lactose:0,galactose:null,starch:25.4,totalSugars:.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006799",name:"Pizza, supreme, takeaway style",availableCarb:20.5,fibre:3,protein:13,fat:9.8,freeFructose:.3,freeGlucose:.3,sucrose:0,maltose:0,lactose:0,galactose:null,starch:19.9,totalSugars:.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006805",name:"Pizza, vegetable, fast food chain",availableCarb:27.2,fibre:2.8,protein:9.3,fat:6,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:24.4,totalSugars:2.8,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F006825",name:"Plum, dark, canned in syrup",availableCarb:21.3,fibre:1,protein:.4,fat:0,freeFructose:10,freeGlucose:9.7,sucrose:1.3,maltose:0,lactose:0,galactose:null,starch:.2,totalSugars:21.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006826",name:"Plum, dark, canned in syrup, drained",availableCarb:21.3,fibre:2,protein:.5,fat:.1,freeFructose:10,freeGlucose:9.7,sucrose:1.3,maltose:0,lactose:0,galactose:null,starch:.3,totalSugars:21,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006827",name:"Plum, dark, canned in syrup, syrup only",availableCarb:21.3,fibre:0,protein:.3,fat:0,freeFructose:10.1,freeGlucose:9.8,sucrose:1.3,maltose:0,lactose:0,galactose:null,starch:.1,totalSugars:21.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006828",name:"Plum, davidson (native), flesh",availableCarb:14.3,fibre:2,protein:1,fat:.2,freeFructose:2.5,freeGlucose:1.3,sucrose:.1,maltose:0,lactose:0,galactose:null,starch:10.4,totalSugars:3.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006830",name:"Plum, salted",availableCarb:34.4,fibre:9.3,protein:3.7,fat:0,freeFructose:17,freeGlucose:16,sucrose:.6,maltose:0,lactose:0,galactose:null,starch:.8,totalSugars:33.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006832",name:"Plum, unpeeled, raw",availableCarb:6.5,fibre:2,protein:.6,fat:.1,freeFructose:1.8,freeGlucose:2.1,sucrose:2.6,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:6.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006842",name:"Pomegranate, peeled, raw",availableCarb:13.5,fibre:6.4,protein:1.9,fat:.2,freeFructose:5.7,freeGlucose:7.8,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:13.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006844",name:"Popcorn, commercial, butter flavoured, salted",availableCarb:49.6,fibre:8.8,protein:9.1,fat:26.5,freeFructose:0,freeGlucose:0,sucrose:.6,maltose:0,lactose:0,galactose:null,starch:49,totalSugars:.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006860",name:"Pork, belly, rind removed, baked, no added fat",availableCarb:0,fibre:0,protein:27.4,fat:30.8,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F006862",name:"Pork, belly, rind removed, raw",availableCarb:0,fibre:0,protein:18.6,fat:26.2,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F006874",name:"Pork, butterfly steak, lean, grilled, no added fat",availableCarb:0,fibre:0,protein:32.5,fat:2.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006875",name:"Pork, butterfly steak, lean, raw",availableCarb:0,fibre:0,protein:24.1,fat:1.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006864",name:"Pork, butterfly steak, untrimmed, grilled, no added fat",availableCarb:0,fibre:0,protein:30.6,fat:8.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006866",name:"Pork, butterfly steak, untrimmed, raw",availableCarb:0,fibre:0,protein:22.7,fat:7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006881",name:"Pork, diced, untrimmed, fried, no added fat",availableCarb:0,fibre:0,protein:31.3,fat:3.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006883",name:"Pork, diced, untrimmed, raw",availableCarb:0,fibre:0,protein:22.8,fat:3.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006892",name:"Pork, fillet, fully-trimmed, baked, no added fat",availableCarb:0,fibre:0,protein:28.5,fat:2.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006899",name:"Pork, fillet, lean, raw",availableCarb:0,fibre:0,protein:23.1,fat:1.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006906",name:"Pork, forequarter (chop, roast, neck), separable fat, raw",availableCarb:0,fibre:0,protein:9.6,fat:50.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006921",name:"Pork, forequarter chop, lean, BBQ'd, no added fat",availableCarb:0,fibre:0,protein:26.3,fat:6.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006922",name:"Pork, forequarter chop, lean, raw",availableCarb:0,fibre:0,protein:19.5,fat:3.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006919",name:"Pork, forequarter chop, semi-trimmed, BBQ'd, no added fat",availableCarb:0,fibre:0,protein:25.4,fat:9.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006908",name:"Pork, forequarter chop, untrimmed, BBQ'd, no added fat",availableCarb:0,fibre:0,protein:23.3,fat:16,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006910",name:"Pork, forequarter chop, untrimmed, raw",availableCarb:0,fibre:0,protein:17.5,fat:13.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006932",name:"Pork, forequarter shoulder roast, lean, BBQ'd, no added fat",availableCarb:0,fibre:0,protein:24.8,fat:6.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006933",name:"Pork, forequarter shoulder roast, lean, raw",availableCarb:0,fibre:0,protein:19.6,fat:3.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006931",name:"Pork, forequarter shoulder roast, semi-trimmed, BBQ'd, no added fat",availableCarb:0,fibre:0,protein:24,fat:9.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006927",name:"Pork, forequarter shoulder roast, untrimmed, BBQ'd, no added fat",availableCarb:0,fibre:0,protein:22.6,fat:14,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006929",name:"Pork, forequarter shoulder roast, untrimmed, raw",availableCarb:0,fibre:0,protein:17.6,fat:12.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006940",name:"Pork, forequarter, separable fat, BBQ'd, no added fat",availableCarb:0,fibre:0,protein:11.5,fat:53.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006951",name:"Pork, leg roast, untrimmed, baked, no added fat",availableCarb:0,fibre:0,protein:31.2,fat:10.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006953",name:"Pork, leg roast, untrimmed, raw",availableCarb:0,fibre:0,protein:21.6,fat:8.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006962",name:"Pork, leg steak (round, rump, topside, silver
61side), lean, fried, no added fat",availableCarb:0,fibre:0,protein:28.8,fat:2.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006963",name:"Pork, leg steak (round, rump, topside, silverside), lean, raw",availableCarb:0,fibre:0,protein:23.5,fat:1.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006959",name:"Pork, leg steak (round, rump, topside, silverside), untrimmed, fried, no added fat",availableCarb:0,fibre:0,protein:28.6,fat:3.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006960",name:"Pork, leg steak (round, rump, topside, silverside), untrimmed, raw",availableCarb:0,fibre:0,protein:23.3,fat:2.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006964",name:"Pork, leg steak (rump), separable fat, fried, no added fat",availableCarb:0,fibre:0,protein:12,fat:53.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006965",name:"Pork, leg steak (rump), separable fat, raw",availableCarb:0,fibre:0,protein:8.6,fat:66.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007017",name:"Pork, loin chop, lean, BBQ'd, no added fat",availableCarb:0,fibre:0,protein:30.6,fat:4.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007019",name:"Pork, loin chop, lean, raw",availableCarb:0,fibre:0,protein:23.2,fat:1.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007012",name:"Pork, loin chop, semi-trimmed, BBQ'd, no added fat",availableCarb:0,fibre:0,protein:29.5,fat:7.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007014",name:"Pork, loin chop, semi-trimmed, raw",availableCarb:0,fibre:0,protein:22.4,fat:5.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007015",name:"Pork, loin chop, separable fat, BBQ'd, no added fat",availableCarb:0,fibre:0,protein:8.8,fat:70.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007016",name:"Pork, loin chop, separable fat, raw",availableCarb:0,fibre:0,protein:7.9,fat:69.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006991",name:"Pork, loin chop, untrimmed, BBQ'd, no added fat",availableCarb:0,fibre:0,protein:28,fat:12.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F006993",name:"Pork, loin chop, untrimmed, raw",availableCarb:0,fibre:0,protein:21.5,fat:9.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007027",name:"Pork, loin cutlet, untrimmed, fried, no added fat",availableCarb:0,fibre:0,protein:30.9,fat:19.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007028",name:"Pork, loin cutlet, untrimmed, raw",availableCarb:0,fibre:0,protein:21,fat:13.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007036",name:"Pork, loin roast, lean, baked, no added fat",availableCarb:0,fibre:0,protein:31.9,fat:8.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007037",name:"Pork, loin roast, lean, raw",availableCarb:0,fibre:0,protein:23.3,fat:2.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007034",name:"Pork, loin roast, separable fat, baked, no added fat",availableCarb:0,fibre:0,protein:8.8,fat:67,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007035",name:"Pork, loin roast, separable fat, raw",availableCarb:0,fibre:0,protein:5.2,fat:77.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007029",name:"Pork, loin roast, untrimmed, baked, no added fat",availableCarb:0,fibre:0,protein:28.8,fat:16.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007030",name:"Pork, loin roast, untrimmed, raw",availableCarb:0,fibre:0,protein:19.9,fat:16.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007048",name:"Pork, medallion or loin steak, lean, fried, no added fat",availableCarb:0,fibre:0,protein:29.5,fat:3.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007049",name:"Pork, medallion or loin steak, lean, raw",availableCarb:0,fibre:0,protein:24.1,fat:1.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007045",name:"Pork, medallion or loin steak, separable fat, fried, no added fat",availableCarb:0,fibre:0,protein:14.9,fat:55.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007046",name:"Pork, medallion or loin steak, separable fat, raw",availableCarb:0,fibre:0,protein:6.3,fat:68.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007042",name:"Pork, medallion or loin steak, untrimmed, fried, no added fat",availableCarb:0,fibre:0,protein:33.2,fat:8.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007043",name:"Pork, medallion or loin steak, untrimmed, raw",availableCarb:0,fibre:0,protein:22.9,fat:6.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007055",name:"Pork, mince, as purchased, fried, no added fat",availableCarb:0,fibre:0,protein:25.9,fat:11,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"}
61,{id:"F007057",name:"Pork, mince, untrimmed, raw",availableCarb:0,fibre:0,protein:20.9,fat:10.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007076",name:"Pork, round mini roast, lean, baked, no added fat",availableCarb:0,fibre:0,protein:34.7,fat:2.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007077",name:"Pork, round mini roast, lean, raw",availableCarb:0,fibre:0,protein:23.7,fat:1.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007073",name:"Pork, round mini roast, separable fat, baked, no added fat",availableCarb:0,fibre:0,protein:16.3,fat:45.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007074",name:"Pork, round mini roast, separable fat, raw",availableCarb:0,fibre:0,protein:11.3,fat:44.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007071",name:"Pork, round mini roast, untrimmed, baked, no added fat",availableCarb:0,fibre:0,protein:34.5,fat:3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007072",name:"Pork, round mini roast, untrimmed, raw",availableCarb:0,fibre:0,protein:23.4,fat:2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007079",name:"Pork, round steak, lean, fried, no added fat",availableCarb:0,fibre:0,protein:29.4,fat:1.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007080",name:"Pork, round steak, lean, raw",availableCarb:0,fibre:0,protein:22.1,fat:1.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007084",name:"Pork, rump steak, lean, fried, no added fat",availableCarb:0,fibre:0,protein:28.6,fat:3.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007085",name:"Pork, rump steak, lean, raw",availableCarb:0,fibre:0,protein:25.3,fat:2.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007081",name:"Pork, rump steak, untrimmed, fried, no added fat",availableCarb:0,fibre:0,protein:36.5,fat:5.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007082",name:"Pork, rump steak, untrimmed, raw",availableCarb:0,fibre:0,protein:24.8,fat:4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007093",name:"Pork, scotch roast, lean, baked, no added fat",availableCarb:0,fibre:0,protein:30.6,fat:12,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007094",name:"Pork, scotch roast, lean, raw",availableCarb:0,fibre:0,protein:20.6,fat:7.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007091",name:"Pork, scotch roast, separable fat, baked, no added fat",availableCarb:0,fibre:0,protein:12.2,fat:50.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007092",name:"Pork, scotch roast, separable fat, raw",availableCarb:0,fibre:0,protein:10.7,fat:52.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007087",name:"Pork, scotch roast, untrimmed, baked, no added fat",availableCarb:0,fibre:0,protein:29.6,fat:14.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007089",name:"Pork, scotch roast, untrimmed, raw",availableCarb:0,fibre:0,protein:18.9,fat:15.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007100",name:"Pork, silverside steak, lean, fried, no added fat",availableCarb:0,fibre:0,protein:27.9,fat:3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007101",name:"Pork, silverside steak, lean, raw",availableCarb:0,fibre:0,protein:22.5,fat:2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007098",name:"Pork, silverside steak, untrimmed, raw",availableCarb:0,fibre:0,protein:22.4,fat:2.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007113",name:"Pork, spare ribs, untrimmed, baked, no added fat",availableCarb:0,fibre:0,protein:27.4,fat:32.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007117",name:"Pork, spare ribs, untrimmed, raw",availableCarb:0,fibre:0,protein:18.1,fat:24,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007127",name:"Pork, strips, untrimmed, fried, no added fat",availableCarb:0,fibre:0,protein:31.2,fat:2.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007128",name:"Pork, strips, untrimmed, raw",availableCarb:0,fibre:0,protein:22.4,fat:2.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007131",name:"Pork, topside steak, lean, fried, no added fat",availableCarb:0,fibre:0,protein:29.2,fat:2.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007132",name:"Pork, topside steak, lean, raw",availableCarb:0,fibre:0,protein:24,fat:2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007130",name:"Pork, topside steak, untrimmed, fried, no added fat",availableCarb:0,fibre:0,protein:29.2,fat:2.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"}
61,{id:"F007143",name:"Porridge, rolled oats mixed with sugar or honey & other flavours, prepared with cows milk",availableCarb:19.8,fibre:1.7,protein:4.6,fat:4.5,freeFructose:.1,freeGlucose:0,sucrose:5.1,maltose:0,lactose:4.5,galactose:null,starch:10.1,totalSugars:9.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007156",name:"Porridge, rolled oats, prepared with regular fat cows milk",availableCarb:13.7,fibre:1.6,protein:5.3,fat:4.9,freeFructose:0,freeGlucose:0,sucrose:.2,maltose:0,lactose:5.1,galactose:null,starch:8.5,totalSugars:5.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007164",name:"Porridge, rolled oats, prepared with water",availableCarb:11.4,fibre:2.9,protein:3,fat:2.9,freeFructose:0,freeGlucose:0,sucrose:.3,maltose:0,lactose:0,galactose:null,starch:11.1,totalSugars:.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007189",name:"Potato crisps or chips, flavoured (other than salt & vinegar)",availableCarb:43.6,fibre:3.6,protein:6.8,fat:32.5,freeFructose:0,freeGlucose:0,sucrose:1.2,maltose:0,lactose:.2,galactose:0,starch:42.1,totalSugars:1.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007193",name:"Potato crisps or chips, plain, salted",availableCarb:45.8,fibre:3.2,protein:6,fat:33.3,freeFructose:0,freeGlucose:0,sucrose:.9,maltose:0,lactose:0,galactose:null,starch:44.9,totalSugars:.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007198",name:"Potato crisps or chips, reformed, salted",availableCarb:55.1,fibre:2.8,protein:5.7,fat:34.1,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:53.2,totalSugars:1.9,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F007201",name:"Potato crisps or chips, salt & vinegar flavoured",availableCarb:43.6,fibre:3.6,protein:6.8,fat:32.6,freeFructose:0,freeGlucose:0,sucrose:1.2,maltose:0,lactose:.2,galactose:0,starch:42.1,totalSugars:1.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007204",name:"Potato straws, French fries, plain",availableCarb:51.6,fibre:3.2,protein:6.9,fat:31,freeFructose:0,freeGlucose:0,sucrose:.2,maltose:0,lactose:0,galactose:null,starch:51.4,totalSugars:.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007235",name:"Potato, chips, regular, fast food outlet, deep fried, blended oil, salted",availableCarb:28.2,fibre:3,protein:3.8,fat:10.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:28.2,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007236",name:"Potato, chips, regular, fast food outlet, deep fried, monounsaturated oil, salted",availableCarb:28.2,fibre:3,protein:3.8,fat:12.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:28.2,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007238",name:"Potato, chips, regular, independent takeaway outlet, deep fried, blended oil, salted",availableCarb:28.2,fibre:3,protein:3.8,fat:11.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:28.2,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007242",name:"Potato, chips, regular, purchased frozen, baked, no added fat",availableCarb:44.5,fibre:4.6,protein:4.8,fat:5.4,freeFructose:0,freeGlucose:0,sucrose:.2,maltose:0,lactose:0,galactose:null,starch:44.3,totalSugars:.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007244",name:"Potato, coliban, peeled, baked, no added fat",availableCarb:17.4,fibre:1.7,protein:3,fat:0,freeFructose:.4,freeGlucose:.8,sucrose:.3,maltose:0,lactose:0,galactose:null,starch:15.9,totalSugars:1.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007245",name:"Potato, coliban, peeled, boiled, drained",availableCarb:11.6,fibre:2,protein:1,fat:0,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:11.6,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007247",name:"Potato, coliban, peeled, raw",availableCarb:11.5,fibre:1.1,protein:2,fat:0,freeFructose:.3,freeGlucose:.5,sucrose:.2,maltose:0,lactose:0,galactose:null,starch:10.5,totalSugars:1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007250",name:"Potato, desiree, peeled, baked, no added fat",availableCarb:16.2,fibre:2.6,protein:3.5,fat:0,freeFructose:1.2,freeGlucose:1.4,sucrose:0,maltose:0,lactose:0,galactose:null,starch:13.6,totalSugars:2.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007252",name:"Potato, desiree, peeled, boiled, drained",availableCarb:10.9,fibre:1.7,protein:2.3,fat:0,freeFructose:.8,freeGlucose:.9,sucrose:0,maltose:0,lactose:0,galactose:null,starch:9.2,totalSugars:1.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007254",name:"Potato, desiree, peeled, raw",availableCarb:10.7,fibre:1.7,protein:2.3,fat:0,freeFructose:.8,freeGlucose:.9,sucrose:0,maltose:0,lactose:0,galactose:null,starch:9,totalSugars:1.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007269",name:"Potato, fries, fast food outlet, deep fried, monounsaturated oil, salted",availableCarb:35.7,fibre:3.1,protein:4.8,fat:16.4,freeFructose:0,freeGlucose:0,sucrose:.2,maltose:0,lactose:0,galactose:0,starch:35.5,totalSugars:.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007279",name:"Potato, fries, independent takeaway outlet, deep fried, blended oil, salted",availableCarb:35.7,fibre:3.1,protein:4.8,fat:17.4,freeFructose:0,freeGlucose:0,sucrose:.2,maltose:0,lactose:0,galactose:0,starch:35.5,totalSugars:.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007305",name:"Potato, new, peeled, baked, no added fat",availableCarb:19.4,fibre:1.7,protein:3.5,fat:.2,freeFructose:.1,freeGlucose:.4,sucrose:.3,maltose:0,lactose:0,galactose:null,starch:18.6,totalSugars:.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007306",name:"Potato, new, peeled, boiled, drained",availableCarb:12.8,fibre:2.3,protein:2.5,fat:.1,freeFructose:0,freeGlucose:.3,sucrose:.1,maltose:0,lactose:0,galactose:null,starch:12.4,totalSugars:.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007308",name:"Potato, new, peeled, raw",availableCarb:12.8,fibre:1.1,protein:2.3,fat:.1,freeFructose:0,freeGlucose:.3,sucrose:.2,maltose:0,lactose:0,galactose:null,starch:12.2,totalSugars:.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007314",name:"Potato, pale skin, peeled, baked, no added fat",availableCarb:17.4,fibre:1.7,protein:3,fat:0,freeFructose:.4,freeGlucose:.8,sucrose:.3,maltose:0,lactose:0,galactose:null,starch:15.9,totalSugars:1.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007320",name:"Potato, pale skin, peeled, boiled, drained",availableCarb:12.1,fibre:2,protein:1.5,fat:.1,freeFructose:.2,freeGlucose:.1,sucrose:0,maltose:0,lactose:0,galactose:null,starch:11.8,totalSugars:.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007325",name:"Potato, pale skin, peeled, raw",availableCarb:11.5,fibre:1.1,protein:2,fat:0,freeFructose:.3,freeGlucose:.5,sucrose:.2,maltose:0,lactose:0,galactose:null,starch:10.5,totalSugars:1,source:"ausnut-r2",sucroseSource:"measured"}
61,{id:"F007358",name:"Potato, pontiac, peeled, baked, no added fat",availableCarb:19.1,fibre:3.2,protein:3.6,fat:.2,freeFructose:.3,freeGlucose:.4,sucrose:.3,maltose:0,lactose:0,galactose:null,starch:18,totalSugars:1.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007359",name:"Potato, pontiac, peeled, boiled, drained",availableCarb:12.8,fibre:2.1,protein:2.4,fat:.1,freeFructose:.2,freeGlucose:.3,sucrose:.2,maltose:0,lactose:0,galactose:null,starch:12.1,totalSugars:.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007361",name:"Potato, pontiac, peeled, raw",availableCarb:12.6,fibre:2.1,protein:2.4,fat:.1,freeFructose:.2,freeGlucose:.3,sucrose:.2,maltose:0,lactose:0,galactose:null,starch:11.9,totalSugars:.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007364",name:"Potato, red skin, peeled, baked, no added fat",availableCarb:16.2,fibre:2.6,protein:3.5,fat:0,freeFructose:1.2,freeGlucose:1.4,sucrose:0,maltose:0,lactose:0,galactose:null,starch:13.6,totalSugars:2.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007366",name:"Potato, red skin, peeled, boiled, drained",availableCarb:14.2,fibre:2.4,protein:2,fat:0,freeFructose:.2,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:14,totalSugars:.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007368",name:"Potato, red skin, peeled, raw",availableCarb:10.7,fibre:1.7,protein:2.3,fat:0,freeFructose:.8,freeGlucose:.9,sucrose:0,maltose:0,lactose:0,galactose:null,starch:9,totalSugars:1.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007383",name:"Potato, sebago, peeled, baked, no added fat",availableCarb:20.8,fibre:3.3,protein:3.8,fat:.2,freeFructose:.1,freeGlucose:.4,sucrose:.2,maltose:0,lactose:0,galactose:null,starch:20.2,totalSugars:.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007384",name:"Potato, sebago, peeled, boiled, drained",availableCarb:13.1,fibre:2.5,protein:2.5,fat:.4,freeFructose:0,freeGlucose:.3,sucrose:.1,maltose:0,lactose:.6,galactose:null,starch:12.1,totalSugars:1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007386",name:"Potato, sebago, peeled, raw",availableCarb:13.8,fibre:2.2,protein:2.5,fat:.2,freeFructose:0,freeGlucose:.2,sucrose:.2,maltose:0,lactose:0,galactose:null,starch:13.3,totalSugars:.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007421",name:"Prawn, banana, aquacultured, purchased cooked",availableCarb:0,fibre:0,protein:23.2,fat:.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:null,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007422",name:"Prawn, banana, wild, flesh, raw",availableCarb:0,fibre:0,protein:13.2,fat:.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007423",name:"Prawn, black tiger, aquacultured, purchased cooked",availableCarb:0,fibre:0,protein:20.2,fat:1.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:null,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007424",name:"Prawn, brown tiger, wild, flesh, raw",availableCarb:0,fibre:0,protein:23.4,fat:.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007431",name:"Prawn, endeavour, wild, flesh, raw",availableCarb:0,fibre:0,protein:22.4,fat:.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007432",name:"Prawn, flesh, cooked from raw, no added fat",availableCarb:0,fibre:0,protein:27.1,fat:1.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:null,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007433",name:"Prawn, flesh, raw (green)",availableCarb:0,fibre:0,protein:20.7,fat:.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007451",name:"Prawn, school, wild, flesh, raw",availableCarb:0,fibre:0,protein:17.8,fat:1.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007454",name:"Prawn, Western king, wild, flesh, raw",availableCarb:0,fibre:0,protein:23.9,fat:.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007457",name:"Prickly pear, peeled, raw",availableCarb:8.8,fibre:4.6,protein:.4,fat:.3,freeFructose:3.9,freeGlucose:4.7,sucrose:.2,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:8.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007459",name:"Prosciutto",availableCarb:.3,fibre:0,protein:30.8,fat:18.8,freeFructose:0,freeGlucose:.3,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007493",name:"Protein powder, whey based, protein >70%, unfortified",availableCarb:1.6,fibre:1.8,protein:85,fat:2.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:1.3,galactose:null,starch:.3,totalSugars:1.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009818",name:"Protein powder, whey based, protein >70%, unfortified, prepared with water",availableCarb:.3,fibre:.3,protein:14.2,fat:.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:.2,galactose:null,starch:0,totalSugars:.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007494",name:"Prune (dried plum)",availableCarb:32.5,fibre:7.8,protein:2.3,fat:.4,freeFructose:11.9,freeGlucose:19.1,sucrose:0,maltose:0,lactose:0,galactose:null,starch:1.5,totalSugars:31,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007502",name:"Psyllium, uncooked",availableCarb:1,fibre:88.7,protein:3,fat:1.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:1,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007507",name:"Pudding, chocolate, homemade",availableCarb:37,fibre:1.1,protein:3.6,fat:2.6,freeFructose:0,freeGlucose:0,sucrose:21.3,maltose:.2,lactose:1.9,galactose:null,starch:13.6,totalSugars:23.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007512",name:"Pudding, plum, steamed or boiled, homemade",availableCarb:53.2,fibre:2.6,protein:4.4,fat:11,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:12.8,totalSugars:40.1,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F007529",name:"Pudding, sticky date, homemade",availableCarb:48.5,fibre:1.6,protein:3,fat:16.6,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:9.8,totalSugars:38.6,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F007533",name:"Pumpkin, butternut, peeled, fresh, baked, no added fat",availableCarb:8.1,fibre:2.1,protein:2.5,fat:.7,freeFructose:.4,freeGlucose:.2,sucrose:5.5,maltose:0,lactose:0,galactose:null,starch:2,totalSugars:6.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007534",name:"Pumpkin, butternut, peeled, fresh, boiled, drained",availableCarb:7.2,fibre:1.9,protein:2.2,fat:.6,freeFructose:.3,freeGlucose:.2,sucrose:4.9,maltose:0,lactose:0,galactose:null,starch:1.8,totalSugars:5.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007535",name:"Pumpkin, butternut, peeled, fresh, raw",availableCarb:6.9,fibre:1.8,protein:2.1,fat:.6,freeFructose:.3,freeGlucose:.2,sucrose:4.7,maltose:0,lactose:0,galactose:null,starch:1.7,totalSugars:5.2,s
61ource:"ausnut-r2",sucroseSource:"measured"},{id:"F007538",name:"Pumpkin, golden nugget, peeled, fresh, baked, no added fat",availableCarb:4.7,fibre:1.3,protein:2.6,fat:.4,freeFructose:1.3,freeGlucose:1.4,sucrose:.4,maltose:0,lactose:0,galactose:null,starch:1.6,totalSugars:3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007539",name:"Pumpkin, golden nugget, peeled, fresh, boiled, drained",availableCarb:4.2,fibre:1.1,protein:2.3,fat:.3,freeFructose:1.1,freeGlucose:1.2,sucrose:.3,maltose:0,lactose:0,galactose:null,starch:1.4,totalSugars:2.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007540",name:"Pumpkin, golden nugget, peeled, fresh, raw",availableCarb:4,fibre:1.1,protein:2.2,fat:.3,freeFructose:1.1,freeGlucose:1.2,sucrose:.3,maltose:0,lactose:0,galactose:null,starch:1.4,totalSugars:2.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007543",name:"Pumpkin, jarrahdale, peeled, fresh, baked, no added fat",availableCarb:5,fibre:1.9,protein:.8,fat:.1,freeFructose:1.2,freeGlucose:3.9,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007544",name:"Pumpkin, jarrahdale, peeled, fresh, boiled, drained",availableCarb:4.5,fibre:1.7,protein:.7,fat:.1,freeFructose:1,freeGlucose:3.4,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:4.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007545",name:"Pumpkin, jarrahdale, peeled, fresh, raw",availableCarb:4.3,fibre:1.6,protein:.7,fat:.1,freeFructose:1,freeGlucose:3.3,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:4.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007553",name:"Pumpkin, peeled, fresh, baked, no added fat",availableCarb:7.9,fibre:2.2,protein:1.5,fat:0,freeFructose:1.8,freeGlucose:1.5,sucrose:3.8,maltose:0,lactose:0,galactose:null,starch:.8,totalSugars:7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007554",name:"Pumpkin, peeled, fresh, boiled, drained",availableCarb:7,fibre:2,protein:1.3,fat:0,freeFructose:1.6,freeGlucose:1.4,sucrose:3.3,maltose:0,lactose:0,galactose:null,starch:.7,totalSugars:6.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007555",name:"Pumpkin, peeled, fresh, raw",availableCarb:6.7,fibre:1.9,protein:1.2,fat:0,freeFructose:1.5,freeGlucose:1.3,sucrose:3.2,maltose:0,lactose:0,galactose:null,starch:.7,totalSugars:6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007557",name:"Pumpkin, Queensland blue, peeled, fresh, baked, no added fat",availableCarb:9.9,fibre:3.2,protein:2.4,fat:.4,freeFructose:1.2,freeGlucose:1.9,sucrose:2.7,maltose:0,lactose:0,galactose:null,starch:4.1,totalSugars:5.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007558",name:"Pumpkin, Queensland blue, peeled, fresh, boiled, drained",availableCarb:8.8,fibre:2.8,protein:2.1,fat:.3,freeFructose:1,freeGlucose:1.7,sucrose:2.4,maltose:0,lactose:0,galactose:null,starch:3.6,totalSugars:5.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007559",name:"Pumpkin, Queensland blue, peeled, fresh, raw",availableCarb:8.4,fibre:2.7,protein:2,fat:.3,freeFructose:1,freeGlucose:1.6,sucrose:2.3,maltose:0,lactose:0,galactose:null,starch:3.5,totalSugars:4.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007569",name:"Quail, lean flesh & skin, baked, no added fat",availableCarb:0,fibre:0,protein:27.7,fat:9.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007570",name:"Quail, lean flesh & skin, raw",availableCarb:0,fibre:0,protein:18.5,fat:11,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007571",name:"Quandong, fruit, flesh",availableCarb:8.1,fibre:4.2,protein:2.5,fat:0,freeFructose:4.6,freeGlucose:2.3,sucrose:1.2,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:8.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007591",name:"Quince, peeled, raw",availableCarb:11,fibre:5.2,protein:.5,fat:.2,freeFructose:6.4,freeGlucose:4.1,sucrose:.5,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:11,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007593",name:"Quinoa, black, uncooked",availableCarb:50.6,fibre:16.1,protein:13.1,fat:6.6,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:46.3,totalSugars:4.3,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F007596",name:"Quinoa, cooked in water, no added salt",availableCarb:16.3,fibre:3.4,protein:3.6,fat:1.8,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:15,totalSugars:1.3,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F007597",name:"Quinoa, red, uncooked",availableCarb:55,fibre:13.8,protein:14.1,fat:6.9,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:49.2,totalSugars:5.8,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F007598",name:"Quinoa, uncooked",availableCarb:58.6,fibre:12,protein:12.9,fat:6.5,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:54,totalSugars:4.7,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F007599",name:"Quinoa, white, uncooked",availableCarb:61.8,fibre:10.5,protein:12.2,fat:6.3,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:57.6,totalSugars:4.2,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F007601",name:"Rabbit, farmed, whole, raw",availableCarb:0,fibre:0,protein:23.2,fat:2.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007602",name:"Rabbit, flesh, casseroled, no added fat",availableCarb:.2,fibre:0,protein:29.3,fat:5.7,freeFructose:0,freeGlucose:.2,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007606",name:"Radish, red skinned, unpeeled, raw",availableCarb:1.9,fibre:1.1,protein:.8,fat:.2,freeFructose:.8,freeGlucose:1.1,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:1.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007608",name:"Radish, white skinned, peeled, raw",availableCarb:2.9,fibre:1.8,protein:.7,fat:.3,freeFructose:1.3,freeGlucose:1.4,sucrose:.2,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:2.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007610",name:"Raisin",availableCarb:68.7,fibre:4.9,protein:3.2,fat:.5,freeFructose:35.6,freeGlucose:31.3,sucrose:0,maltose:null,lactose:null,galactose:null,starch:1.8,totalSugars:66.9,source:"usda-override",sucroseSource:"usda-override"},{id:"F007612",name:"Rambutan, raw",availableCarb:15.7,fibre:2.8,protein:1,fat:.4,freeFructose:3,freeGlucose:2.8,sucrose:9.8,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:15.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007614",name:"Raspberry, canned in syrup",availableCarb:17,fibre:2.5,protein:.6,fat:.1,freeFructose:7.8,freeGlucose:7.7,sucrose:1.4,maltose:0,lactose:0,galactose:null,starch:.1,totalSugars:16.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007615",name:"Raspberry, canned in syrup, drained",availableCarb:16.2,fibre:6,protein:1,fat:.2,freeFructose:7.3,freeGlucose:7.3,sucrose:1.3,maltose:0,lactose:0,galactose:null,starch:.3,totalSugars:15.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007616",name:"Raspberry, canned in syrup, syrup only",availableCarb:17.5,fibre:0,protein:.2,fat:0,freeFructose:8.1,freeGlucose:8,sucrose:1.4,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:17.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007618",name:"Raspberry, purchased frozen",availableCarb:6.8,fibre:5.6,protein:1.1,fat:.2,freeFructose:3.5,freeGlucose:2.9,sucrose:.1,maltose:0,lactose:0,galactose:null,starch:.2,totalSugars:6.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007619",name:"Raspberry, raw",availableCarb:6.8,fibre:5.6,protein:1.1,fat:.2,freeFructose:3.5,freeGlucose:2.9,sucrose:.1,maltose:0,lactose:0,galactose:null,starch:.2,totalSugars:6.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007628",name:"Rhubarb, stalk, raw",availableCarb:1.7,fibre:2.2,protein:1.5,fat:.2,freeFructose:.7,freeGlucose:.9,sucrose:.1,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:1.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007632",name:"Rice beverage, fluid, added calcium",availableCarb:12.7,fibre:0,protein:.3,fat:1,freeFructose:0,freeGlucose:.5,sucrose:0,maltose:3.2,lactose:0,galactose:null,starch:9,totalSugars:3.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007639",name:"Rice paper wrapper, soaked in water",availableCarb:32.2,fibre:1,protein:3.3,fat:.9,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:32,totalSugars:.2,source:"ausnut-r2",sucroseSource:"assumed-zero"}
61,{id:"F007641",name:"Rice, brown, boiled, no added salt",availableCarb:33.5,fibre:1.7,protein:4.1,fat:1.1,freeFructose:0,freeGlucose:0,sucrose:.3,maltose:0,lactose:0,galactose:null,starch:33.2,totalSugars:.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007648",name:"Rice, brown, uncooked",availableCarb:69.1,fibre:3.5,protein:7.6,fat:3.1,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:68,totalSugars:1.1,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F007661",name:"Rice, white, boiled or rice cooker, no added salt",availableCarb:34.7,fibre:.8,protein:3.1,fat:.2,freeFructose:.1,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:34.6,totalSugars:.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007666",name:"Rice, white, fried with bacon or ham, egg, prawns & vegetables",availableCarb:29.5,fibre:1,protein:5.7,fat:8.5,freeFructose:0,freeGlucose:0,sucrose:.4,maltose:0,lactose:0,galactose:null,starch:29.1,totalSugars:.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007678",name:"Rice, white, purchased as 'instant', microwaved",availableCarb:32.5,fibre:1,protein:3.4,fat:.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:32.5,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007682",name:"Rice, white, uncooked",availableCarb:74,fibre:.8,protein:7,fat:.9,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:74,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F007683",name:"Rice, wild, boiled, no added salt",availableCarb:19.5,fibre:1.8,protein:4,fat:.3,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:18.8,totalSugars:.7,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F007684",name:"Rice, wild, uncooked",availableCarb:68.7,fibre:6.2,protein:14.7,fat:1.1,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:66.2,totalSugars:2.5,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F007712",name:"Rocket, fresh, raw",availableCarb:.3,fibre:2.4,protein:3.3,fat:.3,freeFructose:0,freeGlucose:.3,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007715",name:"Rosemary, dried",availableCarb:20.4,fibre:42.6,protein:4.9,fat:15.2,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:.8,totalSugars:19.6,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F007716",name:"Rosemary, fresh, raw",availableCarb:.6,fibre:14.1,protein:3.3,fat:5.9,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:.2,totalSugars:.4,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F007722",name:"Rye, grain, whole, uncooked",availableCarb:51.3,fibre:17.3,protein:11.1,fat:2.6,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:49.6,totalSugars:1.7,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F007724",name:"Rye, rolled, uncooked",availableCarb:50.8,fibre:17.3,protein:10.4,fat:2.6,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:49.4,totalSugars:1.4,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F007726",name:"Sage, dried",availableCarb:20.4,fibre:40.3,protein:10.6,fat:12.8,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:18.7,totalSugars:1.7,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F007818",name:"Salami, all varieties, raw",availableCarb:.4,fibre:.5,protein:21.9,fat:27.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.4,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007814",name:"Salami, danish",availableCarb:1.2,fibre:0,protein:19.6,fat:40.2,freeFructose:null,freeGlucose:.7,sucrose:.1,maltose:null,lactose:null,galactose:null,starch:.4,totalSugars:.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007815",name:"Salami, hungarian",availableCarb:.9,fibre:0,protein:21.6,fat:37.4,freeFructose:null,freeGlucose:0,sucrose:0,maltose:null,lactose:null,galactose:null,starch:.9,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007816",name:"Salami, mettwurst",availableCarb:.8,fibre:0,protein:21.9,fat:37.5,freeFructose:null,freeGlucose:.4,sucrose:.1,maltose:null,lactose:null,galactose:null,starch:.3,totalSugars:.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007817",name:"Salami, milano",availableCarb:2.2,fibre:0,protein:21.7,fat:36.9,freeFructose:null,freeGlucose:.7,sucrose:.3,maltose:null,lactose:null,galactose:null,starch:1.2,totalSugars:1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007819",name:"Salami, pepperoni",availableCarb:1.6,fibre:0,protein:23.5,fat:36.1,freeFructose:null,freeGlucose:.3,sucrose:.5,maltose:null,lactose:null,galactose:null,starch:.8,totalSugars:.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007826",name:"Salmon, Atlantic, fillet, grilled, no added fat",availableCarb:0,fibre:0,protein:22.9,fat:18.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007827",name:"Salmon, Atlantic, fillet, raw",availableCarb:0,fibre:0,protein:20.5,fat:16.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007828",name:"Salmon, Atlantic, fillet, steamed, no added fat",availableCarb:0,fibre:0,protein:24.1,fat:19.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007847",name:"Salmon, flavoured, canned, undrained",availableCarb:5.5,fibre:0,protein:15.5,fat:5,freeFructose:1.3,freeGlucose:.8,sucrose:2,maltose:0,lactose:0,galactose:null,starch:1.4,totalSugars:4.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007848",name:"Salmon, Pacific King, fillet, skinless, grilled, no added fat",availableCarb:0,fibre:0,protein:20.2,fat:25.4,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F007849",name:"Salmon, Pacific King, fillet, skinless, raw",availableCarb:0,fibre:0,protein:18.1,fat:22.8,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F007850",name:"Salmon, Pacific King, fillet, steamed, no added fat",availableCarb:0,fibre:0,protein:21.3,fat:26.8,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F007853",name:"Salmon, pink, canned in brine, drained",availableCarb:0,fibre:0,protein:20.7,fat:6.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007860",name:"Salmon, red, canned in brine, drained",availableCarb:0,fibre:0,protein:24.4,fat:5.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007864",name:"Salmon, smoked, sliced",availableCarb:0,fibre:0,protein:24.3,fat:10.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007870",name:"Salt substitute, potassium chloride",availableCarb:0,fibre:0,protein:0,fat:0,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007878",name:"Salt, table, iodised",availableCarb:0,fibre:0,protein:0,fat:0,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007879",name:"Salt, table, non-iodised",availableCarb:0,fibre:0,protein:0,fat:0,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007972",name:"Sardine, Australian, whole, fried, no added fat",availableCarb:0,fibre:0,protein:22,fat:1.9,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F007973",name:"Sardine, Australian, whole, raw",availableCarb:0,fibre:0,protein:19.7,fat:2.9,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F007987",name:"Sauce, barbecue, commercial",availableCarb:42.2,fibre:.9,protein:.8,fat:.1,freeFructose:10.6,freeGlucose:10,sucrose:17.9,maltose:0,lactose:0,galactose:null,starch:3.8,totalSugars:38.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F007992",name:"Sauce, butter chicken, commercial",availableCarb:5.8,fibre:1.9,protein:1.3,fat:7.6,freeFructose:1.4,freeGlucose:1.2,sucrose:1,maltose:0,lactose:0,galactose:null,starch:2.2,totalSugars:3.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008000",name:"Sauce, cranberry, commercial",availableCarb:40,fibre:1.1,protein:0,fat:0,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:40,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F008004",name:"Sauce, fish, commercial",availableCarb:4.4,fibre:1.2,protein:6.8,fat:.3,freeFructose:0,freeGlucose:.4,sucrose:3.4,maltose:.6,lactose:0,galactose:null,starch:0,totalSugars:4.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008008",name:"Sauce, hoi sin (hoisin), commercial",availableCarb:37.2,f
61ibre:10.4,protein:1.6,fat:5.4,freeFructose:9.7,freeGlucose:9.9,sucrose:13.9,maltose:0,lactose:0,galactose:null,starch:3.7,totalSugars:33.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008026",name:"Sauce, oyster, commercial",availableCarb:21,fibre:.3,protein:2.8,fat:1,freeFructose:1.6,freeGlucose:1.4,sucrose:12.6,maltose:0,lactose:0,galactose:null,starch:5.4,totalSugars:15.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008028",name:"Sauce, pasta or simmer, commercial, low fat",availableCarb:6.6,fibre:1.3,protein:.8,fat:2.9,freeFructose:.9,freeGlucose:1.1,sucrose:1.5,maltose:0,lactose:0,galactose:null,starch:3.1,totalSugars:3.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008029",name:"Sauce, pasta, basil pesto, commercial",availableCarb:7.4,fibre:1.5,protein:5.3,fat:37.1,freeFructose:.4,freeGlucose:.8,sucrose:.9,maltose:0,lactose:0,galactose:null,starch:5.3,totalSugars:2.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008031",name:"Sauce, pasta, bolognese, homemade using beef mince & commercial tomato based sauce",availableCarb:3.9,fibre:1.1,protein:10,fat:6.2,freeFructose:1.3,freeGlucose:1.2,sucrose:.8,maltose:0,lactose:0,galactose:null,starch:.6,totalSugars:3.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008032",name:"Sauce, pasta, bolognese, homemade using beef mince & homemade tomato based sauce",availableCarb:3.8,fibre:1.4,protein:8.8,fat:4.5,freeFructose:1.4,freeGlucose:1.3,sucrose:.5,maltose:0,lactose:0,galactose:null,starch:.6,totalSugars:3.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008036",name:"Sauce, pasta, cheese or cream-based, commercial",availableCarb:5.3,fibre:.1,protein:1.4,fat:6.8,freeFructose:.4,freeGlucose:.2,sucrose:1.3,maltose:0,lactose:.8,galactose:null,starch:2.6,totalSugars:2.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008050",name:"Sauce, pasta, tomato-based, commercial, heated",availableCarb:7.5,fibre:1.8,protein:1.6,fat:1.5,freeFructose:2.6,freeGlucose:2.3,sucrose:1.4,maltose:0,lactose:0,galactose:null,starch:1.2,totalSugars:6.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008054",name:"Sauce, plum, commercial",availableCarb:56.5,fibre:.6,protein:.1,fat:.8,freeFructose:24.3,freeGlucose:23.9,sucrose:0,maltose:0,lactose:0,galactose:null,starch:8.3,totalSugars:48.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008055",name:"Sauce, rogan josh, commercial",availableCarb:6.2,fibre:1.9,protein:1.5,fat:4.1,freeFructose:1.2,freeGlucose:.9,sucrose:1,maltose:0,lactose:0,galactose:null,starch:3.1,totalSugars:3.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008056",name:"Sauce, salsa, tomato-based, commercial",availableCarb:6.3,fibre:1.6,protein:1.3,fat:0,freeFructose:2.2,freeGlucose:2.2,sucrose:.5,maltose:0,lactose:0,galactose:null,starch:1.4,totalSugars:4.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008062",name:"Sauce, simmer for chicken, commercial",availableCarb:4.8,fibre:1.7,protein:.8,fat:7.5,freeFructose:.9,freeGlucose:1,sucrose:1.4,maltose:0,lactose:0,galactose:null,starch:1.5,totalSugars:3.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008063",name:"Sauce, simmer, curry flavoured, commercial",availableCarb:10.7,fibre:2.3,protein:2.1,fat:6.9,freeFructose:2.4,freeGlucose:2.5,sucrose:2.2,maltose:0,lactose:0,galactose:null,starch:3.6,totalSugars:7.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008065",name:"Sauce, soy, commercial",availableCarb:3.2,fibre:0,protein:6.8,fat:0,freeFructose:.2,freeGlucose:.6,sucrose:1.4,maltose:0,lactose:0,galactose:null,starch:1,totalSugars:2.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008067",name:"Sauce, soy, commercial, reduced salt",availableCarb:2.7,fibre:0,protein:5.4,fat:0,freeFructose:.3,freeGlucose:.8,sucrose:.6,maltose:0,lactose:0,galactose:null,starch:1,totalSugars:1.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008077",name:"Sauce, tabasco, commercial",availableCarb:.1,fibre:.6,protein:1.3,fat:.8,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:.1,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F008083",name:"Sauce, tomato, commercial",availableCarb:24.1,fibre:1.3,protein:1.3,fat:0,freeFructose:4.3,freeGlucose:4.4,sucrose:15,maltose:0,lactose:0,galactose:null,starch:.4,totalSugars:23.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008085",name:"Sauce, tomato, commercial, reduced salt",availableCarb:24.1,fibre:1.3,protein:1.3,fat:0,freeFructose:4.3,freeGlucose:4.4,sucrose:15,maltose:0,lactose:0,galactose:null,starch:.4,totalSugars:23.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008090",name:"Sauce, white, savoury, homemade",availableCarb:10.8,fibre:.2,protein:3.9,fat:13.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:.1,lactose:4.9,galactose:null,starch:5.7,totalSugars:5.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008094",name:"Sauce, Worcestershire, commercial",availableCarb:17.6,fibre:0,protein:1.3,fat:.2,freeFructose:6.8,freeGlucose:6.3,sucrose:3.8,maltose:0,lactose:0,galactose:null,starch:.7,totalSugars:16.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008098",name:"Sausage roll, commercial, ready to eat",availableCarb:27.2,fibre:3,protein:9.7,fat:14.3,freeFructose:.2,freeGlucose:.2,sucrose:.4,maltose:2,lactose:0,galactose:0,starch:24.4,totalSugars:2.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008101",name:"Sausage roll, purchased frozen, baked",availableCarb:27.2,fibre:3,protein:9.7,fat:12.7,freeFructose:.2,freeGlucose:.2,sucrose:.4,maltose:2,lactose:0,galactose:0,starch:24.4,totalSugars:2.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008106",name:"Sausage, beef, fried, no added fat",availableCarb:4,fibre:.4,protein:16.4,fat:16.2,freeFructose:0,freeGlucose:.2,sucrose:.2,maltose:0,lactose:0,galactose:null,starch:3.6,totalSugars:.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008107",name:"Sausage, beef, grilled, no added fat",availableCarb:3.8,fibre:.2,protein:17.2,fat:14.9,freeFructose:0,freeGlucose:.3,sucrose:.2,maltose:0,lactose:0,galactose:null,starch:3.4,totalSugars:.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008112",name:"Sausage, beef, raw",availableCarb:2.9,fibre:0,protein:14.5,fat:18.7,freeFructose:.1,freeGlucose:.3,sucrose:0,maltose:0,lactose:0,galactose:null,starch:2.5,totalSugars:.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008116",name:"Sausage, chicken, flavoured, fried, no added fat",availableCarb:4.9,fibre:.6,protein:18.2,fat:12,freeFructose:0,freeGlucose:.3,sucrose:.3,maltose:.2,lactose:0,galactose:null,starch:4.1,totalSugars:.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008119",name:"Sausage, chicken, plain, fried, no added fat",availableCarb:4.9,fibre:.6,protein:18.2,fat:12,freeFructose:0,freeGlucose:.3,sucrose:.3,maltose:.2,lactose:0,galactose:null,starch:4.1,totalSugars:.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008125",name:"Sausage, chorizo, fried, no added fat",availableCarb:1.3,fibre:.5,protein:21.2,fat:23.3,freeFructose:0,freeGlucose:.8,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.4,totalSugars:.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008126",name:"Sausage, chorizo, uncooked",availableCarb:1.2,fibre:.5,protein:20.1,fat:22.1,freeFructose:0,freeGlucose:.8,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.4,totalSugars:.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008136",name:"Sausage, lamb, flavoured, fried, no added fat",availableCarb:4.9,fibre:.4,protein:15.6,fat:16.1,freeFructose:.4,freeGlucose:.6,sucrose:.3,maltose:0,lactose:0,galactose:null,starch:3.6,totalSugars:1.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008137",name:"Sausage, lamb, plain, fried, no added fat",availableCarb:4.9,fibre:.4,protein:15.6,fat:16.1,freeFructose:.4,freeGlucose:.6,sucrose:.3,maltose:0,lactose:0,galactose:null,starch:3.6,totalSugars:1.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008143",name:"Sausage, pork, fried, no added fat",availableCarb:4.5,fibre:1.4,protein:16.5,fat:19.4,freeFructose:0,freeGlucose:.4,sucrose:.1,maltose:.2,lactose:0,galactose:null,starch:3.8,totalSugars:.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008151",name:"Sausage, vegetarian style, added Fe, Zn and vitamin B12, raw",availableCarb:7.4,fibre:1.5,protein:19,fat:9.4,freeFructose:.6,freeGlucose:.3,sucrose:.7,maltose:.3,lactose:0,galactose:0,starch:5.5,totalSugars:1.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008153",name:"Sausage, vegetarian style, fried, no added fat",availableCarb:7.8,fibre:1.6,protein:20,fat:9.9,freeFructose:.6,freeGlucose:.3,sucrose:.7,maltose:.3,lactose:0,galactose:0,starch:5.8,totalSugars:2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008155",name:"Sausage, vegetarian style, unfortified, raw",availableCarb:7.4,fibre:1.5,protein:19,fat:9.4,freeFructose:.6,freeGlucose:.3,sucrose:.7,maltose:.3,lactose:0,galactose:0,starch:5.5,totalSugars:1.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009450",name:"Sausages & vegetables, canned",availableCarb:7.8,fibre:.9,protein:4,fat:2.1,freeFructose:.6,freeGlucose:.5,sucrose:1.1,maltose:0,lactose:0,galactose:null,starch:5.6,totalSugars:2.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008165",name:"Scallop, fried, no added fat",availableCarb:4.2,fibre:0,protein:19.5,fat:1,freeFructose:0,freeGlucose:.4,sucrose:0,maltose:.6,lactose:0,galactose:0,starch:0,totalSugars:1.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008166",name:"Scallop, raw",availableCarb:3.4,fibre:0,protein:15.6,fat:.8,freeFructose:0,freeGlucose:.4,sucrose:0,maltose:.5,lactose:0,galactose:0,starch:0,totalSugars:.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008172",name:"Scone, fruit, commercial",availableCarb:59.3,fibre:2.6,protein:6.4,fat:6.6,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:36.1,totalSugars:22.9,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F008173",name:"Scone, plain, commercial",availableCarb:55.2,fibre:2.1,protein:7.9,fat:8.5,freeFructose:0,freeGlucose:0,sucrose:5.7,maltose:.3,lactose:.5,galactose:null,starch:48.7,totalSugars:6.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008174",name:"Scone, plain, homemade",availableCarb:50.7,fibre:1.4,protein:8,fat:9.4,freeFructose:null,freeGlucose:0,sucrose:3.9,maltose:null,lactose:2.2,galactose:null,starch:43.9,totalSugars:6.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008176",name:"Scone, pumpkin, homemade",availableCarb:47.9,fibre:1.7,protein:7.4,fat:7.4,freeFructose:null,freeGlucose:.4,sucrose:7,maltose:null,lactose:.9,galactose:null,starch:38.6,totalSugars:9.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008203",name:"Seaweed, boiled, drained",availableCarb:.4,fibre:6.2,protein:8.4,fat:.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.4,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008204",name:"Seaweed, nori, dried",availableCarb:2.3,fibre:34.3,protein:46.7,fat:4.3,freeFructose:0,freeGlucose:0,sucrose:.3,maltose:0,lactose:0,galactose:null,starch:2,totalSugars:.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008209",name:"Seed, chia, dried",availableCarb:3.1,fibre:33.2,protein:23.8,fat:29.8,freeFructose:0,freeGlucose:0,sucrose:.7,maltose:0,lactose:0,galactose:null,starch:2.4,totalSugars:.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008210",name:"Seed, linseed or flaxseed",availableCarb:2.8,fibre:32.9,protein:21.6,fat:32.6,freeFructose:0,freeGlucose:0,sucrose:1.5,maltose:0,lactose:0,galactose:null,starch:1.3,totalSugars:1.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008211",name:"Seed, poppy",availableCarb:8.6,fibre:19.5,protein:18,fat:41.6,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:5.6,totalSugars:3,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F008212",name:"Seed, pumpkin, hulled & dried",availableCarb:2.1,fibre:4.6,protein:30.2,fat:45,freeFructose:0,freeGlucose:0,sucrose:1.3,maltose:0,lactose:0,galactose:null,starch:.8,totalSugars:1.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008215",name:"Seed, sunflower",availableCarb:3.1,fibre:13,protein:24.7,fat:48.3,freeFructose:0,freeGlucose:0,sucrose:2.1,maltose:0,lactose:0,galactose:null,starch:1,totalSugars:2.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008220",name:"Semolina, boiled, no added fat or salt",availableCarb:19.6,fibre:1,protein:3.4,fat:.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:19.6,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008222",name:"Semolina, uncooked",availableCarb:61.6,fibre:3.2,protein:10.7,fat:1.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:61.6,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008226",name:"Shallot, peeled, fresh, fried, no added fat",availableCarb:5,fibre:4.7,protein:2.4,fat:.2,freeFructose:2.6,freeGlucose:2.4,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008227",name:"Shallot, peeled, fresh, raw",availableCarb:3.1,fibre:2.9,protein:1.5,fat:.1,freeFructose:1.6,freeGlucose:1.5,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:3.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008233",name:"Shark, battered, deep-fried, takeaway outlet",availableCarb:16.5,fibre:1.3,protein:15.5,fat:14.5,freeFructose:0,freeGlucose:.3,sucrose:.5,maltose:.7,lactose:0,galactose:0,starch:15,totalSugars:1.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008236",name:"Shark, fillet, without skin, baked, no added fat",availableCarb:0,fibre:0,protein:33.8,fat:.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008237",name:"Shark, fillet, without skin, raw",availableCarb:0,fibre:0,protein:24.6,fat:.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008238",name:"Shark, fillet, without skin, steamed, no added fat",availableCarb:0,fibre:0,protein:27.7,fat:.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008258",name:"Silver perch, aquacultured, baked, no added fat",availableCarb:0,fibre:0,protein:26.7,fat:22,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008263",name:"Silver perch, aquacultured, raw",availableCarb:0,fibre:0,protein:19.5,fat:16,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008264",name:"Silver perch, aquacultured, steamed, no added fat",availableCarb:0,fibre:0,protein:23.2,fat:19.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008266",name:"Silverbeet, fresh, boiled, drained",availableCarb:1.2,fibre:2.3,protein:1.8,fat:.2,freeFructose:.6,freeGlucose:.6,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:1.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008267",name:"Silverbeet, fresh, raw",availableCarb:1,fibre:2,protein:1.5,fat:.2,freeFructose:.5,freeGlucose:.5,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008272",name:"Slice, brownie, chocolate, with nuts, homemade",availableCarb:52.7,fibre:1.9,protein:6.5,fat:25.3,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:16.8,totalSugars:35.8,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F008273",name:"Slice, brownie, chocolate, without nuts, commercial",availableCarb:45.6,fibre:2.6,protein:7.1,fat:23.1,freeFructose:.2,freeGlucose:.4,sucrose:35,maltose:0,lactose:.7,galactose:null,starch:9.3,totalSugars:36.3,source:"ausnut-r2",sucroseSource:"measured"}
61,{id:"F008278",name:"Slice, caramel",availableCarb:52.4,fibre:.8,protein:5.3,fat:24.4,freeFructose:1.4,freeGlucose:1.6,sucrose:34.2,maltose:.2,lactose:4.5,galactose:null,starch:10.6,totalSugars:41.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F004248",name:"Snack, grain based, extruded, flavoured",availableCarb:54.2,fibre:6.9,protein:7.4,fat:22.6,freeFructose:0,freeGlucose:0,sucrose:6,maltose:.6,lactose:0,galactose:null,starch:47.6,totalSugars:6.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008358",name:"Snapper, fillet, baked, no added fat",availableCarb:0,fibre:0,protein:27.8,fat:2.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008359",name:"Snapper, fillet, raw",availableCarb:0,fibre:0,protein:20.3,fat:1.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008360",name:"Snapper, fillet, steamed, no added fat",availableCarb:0,fibre:0,protein:27.8,fat:2.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008371",name:"Snow pea, fresh, boiled, drained",availableCarb:5,fibre:2.8,protein:3.2,fat:.2,freeFructose:.2,freeGlucose:2.6,sucrose:.3,maltose:0,lactose:0,galactose:null,starch:1.9,totalSugars:3.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008372",name:"Snow pea, fresh, fried, no added fat",availableCarb:5.9,fibre:3.2,protein:3.8,fat:.2,freeFructose:.2,freeGlucose:3,sucrose:.4,maltose:0,lactose:0,galactose:null,starch:2.2,totalSugars:3.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008373",name:"Snow pea, fresh, raw",availableCarb:4.7,fibre:2.6,protein:3,fat:.2,freeFructose:.2,freeGlucose:2.4,sucrose:.3,maltose:0,lactose:0,galactose:null,starch:1.8,totalSugars:2.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008402",name:"Soft drink, cola flavour",availableCarb:12.3,fibre:0,protein:0,fat:.2,freeFructose:3,freeGlucose:3,sucrose:6.3,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:12.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008403",name:"Soft drink, cola flavour, decaffeinated",availableCarb:12.3,fibre:0,protein:0,fat:.2,freeFructose:3,freeGlucose:3,sucrose:6.3,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:12.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008404",name:"Soft drink, cola flavour, intense sweetened or diet",availableCarb:0,fibre:0,protein:0,fat:0,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008405",name:"Soft drink, cola flavour, intense sweetened or diet, decaffeinated",availableCarb:0,fibre:0,protein:0,fat:0,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008421",name:"Soft drink, energy drink, Red Bull",availableCarb:10.8,fibre:0,protein:.1,fat:0,freeFructose:1.8,freeGlucose:3.6,sucrose:5.4,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:10.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008424",name:"Soft drink, energy drink, V",availableCarb:10.8,fibre:0,protein:.1,fat:0,freeFructose:1.8,freeGlucose:3.6,sucrose:5.4,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:10.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008438",name:"Soft drink, fruit flavours",availableCarb:8.8,fibre:0,protein:0,fat:0,freeFructose:1,freeGlucose:1,sucrose:6.9,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:8.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008439",name:"Soft drink, fruit flavours, intense sweetened or diet",availableCarb:0,fibre:0,protein:0,fat:0,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F008460",name:"Soft drink, tonic water",availableCarb:8.8,fibre:0,protein:0,fat:0,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:8.8,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F008461",name:"Soft drink, tonic water, intense sweetened or diet",availableCarb:0,fibre:0,protein:0,fat:0,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008474",name:"Sorghum, grain, uncooked",availableCarb:65.8,fibre:8.6,protein:8.2,fat:3.6,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:64.7,totalSugars:1.2,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F008508",name:"Soup, broth style, with meat & noodles, instant dry mix",availableCarb:64.1,fibre:2.2,protein:10.8,fat:6.3,freeFructose:0,freeGlucose:.7,sucrose:3.7,maltose:1.6,lactose:0,galactose:0,starch:58.1,totalSugars:6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008509",name:"Soup, broth style, with meat, instant dry mix",availableCarb:65.7,fibre:4.3,protein:4.8,fat:3.3,freeFructose:0,freeGlucose:1.4,sucrose:0,maltose:3.4,lactose:.9,galactose:0,starch:60,totalSugars:5.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008513",name:"Soup, chicken & noodle, cup of soup, prepared from instant dry mix with water",availableCarb:3.4,fibre:.3,protein:.7,fat:.2,freeFructose:0,freeGlucose:0,sucrose:.3,maltose:0,lactose:0,galactose:0,starch:3.1,totalSugars:.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008571",name:"Soup, cream variety, instant dry mix",availableCarb:59.1,fibre:6.5,protein:5.3,fat:13.2,freeFructose:0,freeGlucose:1.7,sucrose:.9,maltose:2.6,lactose:2.9,galactose:0,starch:51,totalSugars:8.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008661",name:"Soup, vegetable & noodle, instant dry mix",availableCarb:65.5,fibre:3.9,protein:8.7,fat:6.3,freeFructose:0,freeGlucose:2.8,sucrose:11.7,maltose:1.5,lactose:0,galactose:0,starch:49.5,totalSugars:16,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008670",name:"Soup, vegetable, instant dry mix",availableCarb:58.3,fibre:3.3,protein:6.7,fat:2.1,freeFructose:0,freeGlucose:1.1,sucrose:8.8,maltose:.4,lactose:0,galactose:0,starch:28,totalSugars:10.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008704",name:"Soy beverage, reduced fat (1% fat), added Ca & vitamins A, B1, B2 & B12",availableCarb:5.7,fibre:.6,protein:3,fat:.9,freeFructose:0,freeGlucose:0,sucrose:1.7,maltose:0,lactose:0,galactose:0,starch:2.8,totalSugars:1.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008719",name:"Soy beverage, regular fat (3% fat), added Ca",availableCarb:4.6,fibre:.6,protein:3.7,fat:2.7,freeFructose:0,freeGlucose:.1,sucrose:1.2,maltose:1.3,lactose:0,galactose:null,starch:.8,totalSugars:2.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008720",name:"Soy beverage, regular fat (3% fat), added Ca & vitamins A, B1, B2 & B12",availableCarb:4.6,fibre:.6,protein:4.4,fat:2.7,freeFructose:0,freeGlucose:.1,sucrose:1.2,maltose:1.3,lactose:0,galactose:null,starch:.8,totalSugars:2.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008721",name:"Soy beverage, regular fat (3% fat), unfortified",availableCarb:4.6,fibre:.6,protein:3.7,fat:2.7,freeFructose:0,freeGlucose:.1,sucrose:1.2,maltose:1.3,lactose:0,galactose:null,starch:.8,totalSugars:2.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008737",name:"Spaghetti in tomato & cheese sauce, canned",availableCarb:10.7,fibre:.8,protein:2.5,fat:0,freeFructose:1.3,freeGlucose:1.2,sucrose:1.5,maltose:0,lactose:0,galactose:null,starch:6.7,totalSugars:4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008738",name:"Spaghetti in tomato & cheese sauce, canned, reduced salt",availableCarb:10.7,fibre:.8,protein:2.5,fat:0,freeFructose:1.3,freeGlucose:1.2,sucrose:1.5,maltose:0,lactose:0,galactose:null,starch:6.7,totalSugars:4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008740",name:"Spam, canned",availableCarb:1.9,fibre:0,protein:14.2,fat:26.1,freeFructose:0,freeGlucose:0,sucrose:1.2,maltose:0,lactose:0,galactose:null,starch:.7,totalSugars:1.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008744",name:"Spelt, boiled, no added fat or salt",availableCarb:24.5,fibre:3.6,protein:4.8,fat:1.2,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:24,totalSugars:.6,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F008745",name:"Spelt, uncooked",availableCarb:59.2,fibre:8.8,protein:11.7,fat:3,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:57.8,totalSugars:1.4,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F008749",name:"Spinach, baby, fresh, raw",availableCarb:0,fibre:2.5,protein:2.8,fat:0,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008760",name:"Spinach, Mature English, fresh, boiled, drained",availableCarb:.7,fibre:2.9,protein:2.8,fat:.4,freeFructose:.2,freeGlucose:.5,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008761",name:"Spinach, Mature English, fresh, raw",availableCarb:.6,fibre:2.5,protein:2.4,fat:.3,freeFructose:.2,freeGlucose:.4,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008763",name:"Spinach, water, fresh, raw",availableCarb:1,fibre:2.8,protein:2.9,fat:.5,freeFructose:.3,freeGlucose:.2,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.5,totalSugars:.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008774",name:"Sprat, blue, wild caught, flesh, skin & bones, fried, no added fat",availableCarb:0,fibre:0,protein:22,fat:1.9,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F008775",name:"Sprat, blue, wild caught, flesh, skin & bones, raw",availableCarb:0,fibre:0,protein:18.7,fat:1.6,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F008777",name:"Spread, hazelnut & chocolate flavoured",availableCarb:57.8,fibre:3.7,protein:6.8,fat:30.3,freeFructose:0,freeGlucose:0,sucrose:52.1,maltose:0,lactose:5.1,galactose:null,starch:.6,totalSugars:57.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008783",name:"Spread, yeast, marmite",availableCarb:16.6,fibre:11.8,protein:13.3,fat:.9,freeFructose:2,freeGlucose:1.3,sucrose:8.5,maltose:0,lactose:0,galactose:null,starch:4.8,totalSugars:11.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008785",name:"Spread, yeast, vegemite",availableCarb:10.9,fibre:6.5,protein:24.4,fat:.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:1.6,lactose:0,galactose:0,starch:9.3,totalSugars:1.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008794",name:"Spring roll, meat & vegetable filling, commercial, deep fried",availableCarb:27.5,fibre:2.8,protein:7.5,fat:11.7,freeFructose:.1,freeGlucose:3.1,sucrose:0,maltose:1.1,lactose:0,galactose:null,starch:23.2,totalSugars:4.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008803",name:"Sprout, alfalfa, fresh, raw",availableCarb:.5,fibre:2.2,protein:3.2,fat:.3,freeFructose:.2,freeGlucose:.2,sucrose:0,maltose:.1,lactose:0,galactose:null,starch:0,totalSugars:.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008806",name:"Sprout, bean, fresh, raw",availableCarb:1.6,fibre:1.3,protein:3.1,fat:.1,freeFructose:.5,freeGlucose:.5,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.6,totalSugars:1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008810",name:"Squash, button, fresh, boiled, drained",availableCarb:3.8,fibre:.6,protein:3.2,fat:.2,freeFructose:1.5,freeGlucose:1.8,sucrose:.1,maltose:0,lactose:0,galactose:null,starch:.4,totalSugars:3.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008811",name:"Squash, button, fresh, raw",availableCarb:3.2,fibre:.5,protein:2.7,fat:.2,freeFructose:1.3,freeGlucose:1.5,sucrose:.1,maltose:0,lactose:0,galactose:null,starch:.3,totalSugars:2.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008812",name:"Squash, scallopini, fresh, boiled, drained",availableCarb:2.5,fibre:.6,protein:2.6,fat:.2,freeFructose:1.3,freeGlucose:1.1,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.1,totalSugars:2.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008813",name:"Squash, scallopini, fresh, raw",availableCarb:2.1,fibre:.5,protein:2.2,fat:.2,freeFructose:1.1,freeGlucose:.9,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.1,totalSugars:2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008825",name:"Squid or calamari, fried, no added fat",availableCarb:0,fibre:0,protein:20.9,fat:1.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008828",name:"Squid or calamari, raw",availableCarb:0,fibre:0,protein:16.7,fat:1.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008831",name:"Starch, potato",availableCarb:74.5,fibre:5.9,protein:0,fat:.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:74.5,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009452",name:"Steak & vegetables, canned",availableCarb:6.2,fibre:1.2,protein:4.4,fat:1.9,freeFructose:.4,freeGlucose:.3,sucrose:1.1,maltose:0,lactose:0,galactose:null,starch:4.4,totalSugars:1.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008933",name:"Stock, dry powder or cube",availableCarb:22.5,fibre:0,protein:11.3,fat:8.9,freeFructose:.1,freeGlucose:.1,sucrose:4.1,maltose:0,lactose:0,galactose:null,starch:18.2,totalSugars:4.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008945",name:"Strawberry, canned in syrup",availableCarb:18.8,fibre:1.5,protein:.4,fat:.2,freeFructose:8.8,freeGlucose:8.6,sucrose:1.3,maltose:0,lactose:0,galactose:null,starch:.1,totalSugars:18.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008946",name:"Strawberry, canned in syrup, drained",availableCarb:18.7,fibre:3.5,protein:.9,fat:.1,freeFructose:8.7,freeGlucose:8.5,sucrose:1.3,maltose:0,lactose:0,galactose:null,starch:.2,totalSugars:18.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008947",name:"Strawberry, canned in syrup, syrup only",availableCarb:18.9,fibre:0,protein:.1,fat:.2,freeFructose:8.8,freeGlucose:8.7,sucrose:1.3,maltose:0,lactose:0,galactose:null,starch:.1,totalSugars:18.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008951",name:"Strawberry, purchased frozen",availableCarb:3.9,fibre:2.5,protein:.7,fat:.2,freeFructose:2,freeGlucose:1.8,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.1,totalSugars:3.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008952",name:"Strawberry, raw",availableCarb:3.9,fibre:2.5,protein:.7,fat:.2,freeFructose:2,freeGlucose:1.8,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.1,totalSugars:3.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008969",name:"Sugar, brown",availableCarb:96.8,fibre:0,protein:.2,fat:0,freeFructose:1,freeGlucose:1.1,sucrose:94.7,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:96.8,source:"ausnut-r2",sucroseSource:"measured"}
61,{id:"F008973",name:"Sugar, raw",availableCarb:99.8,fibre:0,protein:0,fat:0,freeFructose:0,freeGlucose:0,sucrose:99.8,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:99.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008976",name:"Sugar, white, granulated or lump",availableCarb:100,fibre:0,protein:0,fat:0,freeFructose:0,freeGlucose:0,sucrose:100,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:100,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008980",name:"Sugar, white, icing",availableCarb:100,fibre:0,protein:0,fat:0,freeFructose:0,freeGlucose:0,sucrose:100,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:100,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008981",name:"Sugar, white, icing mixture",availableCarb:99.6,fibre:0,protein:0,fat:0,freeFructose:0,freeGlucose:0,sucrose:95.6,maltose:0,lactose:0,galactose:null,starch:4,totalSugars:95.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008983",name:"Sultana",availableCarb:75,fibre:3.3,protein:2.6,fat:.3,freeFructose:37.3,freeGlucose:35.8,sucrose:.1,maltose:0,lactose:0,galactose:null,starch:1.8,totalSugars:73.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009020",name:"Swede, peeled, fresh, boiled, drained",availableCarb:4,fibre:2.4,protein:1,fat:0,freeFructose:1.4,freeGlucose:2,sucrose:.2,maltose:0,lactose:0,galactose:null,starch:.3,totalSugars:3.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009021",name:"Swede, peeled, fresh, raw",availableCarb:3.7,fibre:2.2,protein:.9,fat:0,freeFructose:1.3,freeGlucose:1.9,sucrose:.2,maltose:0,lactose:0,galactose:null,starch:.3,totalSugars:3.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009033",name:"Sweet potato, orange flesh, peeled, fresh, baked, no added fat",availableCarb:17.2,fibre:3.1,protein:2.3,fat:.1,freeFructose:1.5,freeGlucose:2.1,sucrose:3.3,maltose:0,lactose:0,galactose:null,starch:10.4,totalSugars:6.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009034",name:"Sweet potato, orange flesh, peeled, fresh, boiled, drained",availableCarb:15.2,fibre:2.7,protein:2,fat:.1,freeFructose:1.3,freeGlucose:1.8,sucrose:2.9,maltose:0,lactose:0,galactose:null,starch:9.1,totalSugars:6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009035",name:"Sweet potato, orange flesh, peeled, fresh, raw",availableCarb:14.1,fibre:2.6,protein:1.9,fat:.1,freeFructose:1.2,freeGlucose:1.7,sucrose:2.7,maltose:0,lactose:0,galactose:null,starch:8.5,totalSugars:5.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009049",name:"Syrup, golden",availableCarb:74.9,fibre:0,protein:.2,fat:0,freeFructose:22,freeGlucose:25.4,sucrose:26.9,maltose:.6,lactose:0,galactose:null,starch:0,totalSugars:74.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009052",name:"Syrup, maple, pure",availableCarb:67,fibre:0,protein:0,fat:.1,freeFructose:.5,freeGlucose:1.6,sucrose:58.3,maltose:null,lactose:null,galactose:null,starch:6.6,totalSugars:60.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009072",name:"Taco seasoning mix, chilli-based",availableCarb:39.7,fibre:9.9,protein:5.9,fat:4.1,freeFructose:2,freeGlucose:1.1,sucrose:9.3,maltose:0,lactose:6.8,galactose:null,starch:20.5,totalSugars:19.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009073",name:"Taco shell, from corn flour, plain",availableCarb:56.3,fibre:7.3,protein:6.8,fat:21.8,freeFructose:0,freeGlucose:0,sucrose:1.1,maltose:0,lactose:0,galactose:null,starch:55.2,totalSugars:1.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009076",name:"Tahini, sesame seed pulp",availableCarb:1,fibre:13.5,protein:20.4,fat:60.7,freeFructose:0,freeGlucose:0,sucrose:.7,maltose:0,lactose:0,galactose:null,starch:.3,totalSugars:.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009080",name:"Tamarillo, peeled, raw",availableCarb:3.4,fibre:4.7,protein:2,fat:.1,freeFructose:.9,freeGlucose:.8,sucrose:1.7,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:3.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009081",name:"Tamarind, paste, pure",availableCarb:57.4,fibre:5.1,protein:2.8,fat:.6,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:18.6,totalSugars:38.8,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F009087",name:"Tangelo, peeled, raw",availableCarb:7.8,fibre:2,protein:.6,fat:.1,freeFructose:1,freeGlucose:1.7,sucrose:5.1,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:7.8,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009088",name:"Tangerine or tangor, peeled, raw",availableCarb:8.1,fibre:1.5,protein:1,fat:.2,freeFructose:1.8,freeGlucose:1.5,sucrose:4.8,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:8.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009089",name:"Tapioca, pearl or seed style, boiled, no added fat or salt",availableCarb:11.5,fibre:0,protein:0,fat:0,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:11.5,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009090",name:"Tapioca, pearl or seed style, uncooked",availableCarb:79.3,fibre:0,protein:.2,fat:.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:79.3,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009093",name:"Taro, peeled, fresh, boiled, drained",availableCarb:25.2,fibre:3.8,protein:2,fat:.2,freeFructose:.2,freeGlucose:.2,sucrose:.8,maltose:0,lactose:0,galactose:null,starch:24,totalSugars:1.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009094",name:"Taro, peeled, fresh, raw",availableCarb:23.4,f
61ibre:3.5,protein:1.9,fat:.2,freeFructose:.2,freeGlucose:.2,sucrose:.7,maltose:0,lactose:0,galactose:null,starch:22.3,totalSugars:1.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009102",name:"Tart, custard, commercial",availableCarb:30.2,fibre:1,protein:6.3,fat:10.7,freeFructose:0,freeGlucose:0,sucrose:9.9,maltose:.2,lactose:1.3,galactose:null,starch:18.8,totalSugars:11.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009115",name:"Tea, decaffeinated, black, brewed from leaf or teabags, without milk",availableCarb:0,fibre:0,protein:.1,fat:.1,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F009117",name:"Tea, green, plain, without milk",availableCarb:0,fibre:0,protein:.2,fat:.1,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F009125",name:"Tea, regular, black, brewed from leaf or teabags, without milk",availableCarb:0,fibre:0,protein:.1,fat:0,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F009160",name:"Thyme, dried, ground",availableCarb:26.9,fibre:37,protein:9.1,fat:7.4,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:25.2,totalSugars:1.7,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F009161",name:"Tilapia, fillet, baked, no added fat",availableCarb:0,fibre:0,protein:25.3,fat:6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009163",name:"Tilapia, fillet, raw",availableCarb:0,fibre:0,protein:18.5,fat:4.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009164",name:"Tilapia, fillet, steamed, no added fat",availableCarb:0,fibre:0,protein:22,fat:5.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009176",name:"Tofu (soy bean curd), firm, as purchased",availableCarb:0,fibre:1,protein:12.8,fat:8.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009190",name:"Tomato, cherry, raw",availableCarb:3.5,fibre:1.7,protein:.9,fat:0,freeFructose:1.9,freeGlucose:1.6,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:3.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009193",name:"Tomato, common, raw",availableCarb:3,fibre:1.1,protein:.6,fat:0,freeFructose:1.4,freeGlucose:1.1,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.5,totalSugars:2.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009206",name:"Tomato, paste, no added salt",availableCarb:10.1,fibre:3.6,protein:3.4,fat:.5,freeFructose:5.2,freeGlucose:4.3,sucrose:.1,maltose:0,lactose:0,galactose:null,starch:.5,totalSugars:9.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009208",name:"Tomato, paste, with added salt",availableCarb:10.4,fibre:3.5,protein:3.1,fat:.3,freeFructose:5.4,freeGlucose:4.4,sucrose:.1,maltose:0,lactose:0,galactose:null,starch:.5,totalSugars:9.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009209",name:"Tomato, puree, commercial",availableCarb:3.8,fibre:1.5,protein:1.2,fat:.1,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:3.8,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F009211",name:"Tomato, roma, raw",availableCarb:2.4,fibre:1.2,protein:1,fat:.1,freeFructose:1.2,freeGlucose:1.1,sucrose:0,maltose:0,lactose:0,galactose:null,starch:.1,totalSugars:2.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009217",name:"Tomato, sundried",availableCarb:35.2,fibre:14.7,protein:11.2,fat:4.6,freeFructose:20.2,freeGlucose:13,sucrose:0,maltose:.7,lactose:0,galactose:null,starch:1.3,totalSugars:33.9,
61source:"ausnut-r2",sucroseSource:"measured"},{id:"F009221",name:"Tomato, whole, canned in tomato juice, drained",availableCarb:3,fibre:1.3,protein:.8,fat:.3,freeFructose:1.6,freeGlucose:1.3,sucrose:.1,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009222",name:"Tomato, whole, canned in tomato juice, undrained",availableCarb:3,fibre:1,protein:.9,fat:0,freeFructose:1.6,freeGlucose:1.4,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009260",name:"Triticale, grain, uncooked",availableCarb:58.3,fibre:14.4,protein:9.6,fat:2.4,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:56.6,totalSugars:1.8,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F009267",name:"Trout, ocean, aquacultured, fillet, without skin, baked, no added fat",availableCarb:0,fibre:0,protein:23.8,fat:33.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009268",name:"Trout, ocean, aquacultured, fillet, without skin, raw",availableCarb:0,fibre:0,protein:17.4,fat:24.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009269",name:"Trout, ocean, aquacultured, fillet, without skin, steamed, no added fat",availableCarb:0,fibre:0,protein:20.7,fat:29.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009270",name:"Trout, rainbow, aquacultured, baked, no added fat",availableCarb:0,fibre:0,protein:26.8,fat:11.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009271",name:"Trout, rainbow, aquacultured, raw",availableCarb:0,fibre:0,protein:19.6,fat:8.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009273",name:"Trout, rainbow, aquacultured, steamed, no added fat",availableCarb:0,fibre:0,protein:23.3,fat:10,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009285",name:"Tuna, canned in brine, drained",availableCarb:0,fibre:0,protein:26.1,fat:2.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009293",name:"Tuna, flavoured, canned in oil, drained",availableCarb:3.3,fibre:.3,protein:18,fat:5.8,freeFructose:.5,freeGlucose:.4,sucrose:1.6,maltose:0,lactose:0,galactose:null,starch:.8,totalSugars:2.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009302",name:"Tuna, yellowfin, flesh, baked, no added fat",availableCarb:0,fibre:0,protein:32,fat:1.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009303",name:"Tuna, yellowfin, flesh, raw",availableCarb:0,fibre:0,protein:23.4,fat:1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009304",name:"Tuna, yellowfin, flesh, steamed, no added fat",availableCarb:0,fibre:0,protein:27.8,fat:1.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009306",name:"Turkey, breast, lean flesh, baked, no added fat",availableCarb:0,fibre:0,protein:29.4,fat:4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009307",name:"Turkey, breast, lean flesh, raw",availableCarb:0,fibre:0,protein:21.6,fat:3.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009308",name:"Turkey, breast, lean flesh, skin & fat, baked, no added fat",availableCarb:0,fibre:0,protein:27.7,fat:9.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009309",name:"Turkey, breast, lean flesh, skin & fat, raw",availableCarb:0,fibre:0,protein:20.4,fat:8.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009319",name:"Turkey, hindquarter, lean flesh, baked, no added fat",availableCarb:0,fibre:0,protein:26.8,fat:7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009320",name:"Turkey, hindquarter, lean flesh, raw",availableCarb:0,fibre:0,protein:18.4,fat:5.3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009321",name:"Turkey, hindquarter, lean flesh, skin & fat, baked, no added fat",availableCarb:0,fibre:0,protein:25.6,fat:12.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009322",name:"Turkey, hindquarter, lean flesh, skin & fat, raw",availableCarb:0,fibre:0,protein:18.6,fat:12.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009335",name:"Turmeric, dried, ground",availableCarb:44.4,fibre:22.7,protein:9.7,fat:3.2,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:41.2,totalSugars:3.2,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F009339",name:"Turnip, white, peeled, fresh, boiled, no added fat",availableCarb:3.6,fibre:1.8,protein:1.4,fat:0,freeFructose:1.4,freeGlucose:1.8,sucrose:.2,maltose:0,lactose:0,galactose:null,starch:.2,totalSugars:3.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009340",name:"Turnip, white, peeled, fresh, raw",availableCarb:3.4,fibre:1.7,protein:1.3,fat:0,freeFructose:1.3,freeGlucose:1.7,sucrose:.2,maltose:0,lactose:0,galactose:null,starch:.2,totalSugars:3.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009350",name:"Vanilla bean extract",availableCarb:12.6,fibre:0,protein:.1,fat:.1,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:12.6,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F009351",name:"Vanilla, artificial or imitation",availableCarb:14.4,fibre:0,protein:0,fat:0,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:14.4,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F009359",name:"Veal, all cuts, separable fat, cooked",availableCarb:0,fibre:0,protein:20.7,fat:33,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009360",name:"Veal, all cuts, separable fat, raw",availableCarb:0,fibre:0,protein:19.4,fat:29,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009361",name:"Veal, boneless dice or strips, lean, raw",availableCarb:0,fibre:0,protein:25.2,fat:1.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009362",name:"Veal, boneless dice or strips, lean, stir-fried, no added fat",availableCarb:0,fibre:0,protein:31,fat:2.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009363",name:"Veal, boneless dice or strips, untrimmed, raw",availableCarb:0,fibre:0,protein:25,fat:2.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009364",name:"Veal, boneless dice or strips, untrimmed, stir-fried, no added fat",availableCarb:0,fibre:0,protein:30.7,fat:3.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009369",name:"Veal, cutlet, with bone, lean, grilled, no added fat",availableCarb:0,fibre:0,protein:28.1,fat:2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009370",name:"Veal, cutlet, with bone, lean, raw",availableCarb:0,fibre:0,protein:24.6,fat:1.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"}
61,{id:"F009371",name:"Veal, cutlet, with bone, semi-trimmed, grilled, no added fat",availableCarb:0,fibre:0,protein:27.6,fat:4.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009372",name:"Veal, cutlet, with bone, semi-trimmed, raw",availableCarb:0,fibre:0,protein:24.3,fat:2.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009373",name:"Veal, cutlet, with bone, untrimmed, grilled, no added fat",availableCarb:0,fibre:0,protein:27.5,fat:4.4,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009374",name:"Veal, cutlet, with bone, untrimmed, raw",availableCarb:0,fibre:0,protein:24.2,fat:3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009379",name:"Veal, diced, lean, raw",availableCarb:0,fibre:0,protein:23.1,fat:1.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009380",name:"Veal, diced, lean, stir-fried, no added fat",availableCarb:0,fibre:0,protein:31.9,fat:3,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009381",name:"Veal, diced, untrimmed, raw",availableCarb:0,fibre:0,protein:23,fat:2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009382",name:"Veal, diced, untrimmed, stir-fried, no added fat",availableCarb:0,fibre:0,protein:31.6,fat:3.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009432",name:"Veal, steak, boneless, leg, lean, grilled, no added fat",availableCarb:0,fibre:0,protein:34.4,fat:1.9,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009433",name:"Veal, steak, boneless, leg, lean, raw",availableCarb:0,fibre:0,protein:24.4,fat:1.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009434",name:"Veal, steak, boneless, leg, untrimmed, grilled, no added fat",availableCarb:0,fibre:0,protein:34.1,fat:2.6,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009435",name:"Veal, steak, boneless, leg, untrimmed, raw",availableCarb:0,fibre:0,protein:24.3,fat:1.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009438",name:"Veal, stir-fry strips, lean, raw",availableCarb:0,fibre:0,protein:27.2,fat:2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009439",name:"Veal, stir-fry strips, lean, stir-fried, no added fat",availableCarb:0,fibre:0,protein:30,fat:2.8,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009440",name:"Veal, stir-fry strips, untrimmed, raw",availableCarb:0,fibre:0,protein:27.1,fat:2.5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009441",name:"Veal, stir-fry strips, untrimmed, stir-fried, no added fat",availableCarb:0,fibre:0,protein:29.9,fat:3.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009836",name:"Vegetable crisps or chips, sweet potato & taro, flavoured",availableCarb:47.7,fibre:6.3,protein:3,fat:31.1,freeFructose:1.8,freeGlucose:1.7,sucrose:7.4,maltose:1.5,lactose:0,galactose:null,starch:35.3,totalSugars:12.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009491",name:"Vine leaf, grape, canned",availableCarb:1.8,fibre:9.9,protein:4.3,fat:2,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:1.8,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F009498",name:"Vinegar (except balsamic vinegar)",availableCarb:0,fibre:0,protein:0,fat:0,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F009514",name:"Water chestnut, peeled, canned, drained",availableCarb:9.3,fibre:2.7,protein:.6,fat:.9,freeFructose:.7,freeGlucose:.7,sucrose:3.1,maltose:.6,lactose:0,galactose:null,starch:4.2,totalSugars:5.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009516",name:"Water, bottled, still",availableCarb:0,fibre:0,protein:0,fat:0,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"}
61,{id:"F009794",name:"Water, coconut, commercial",availableCarb:3.2,fibre:0,protein:.2,fat:0,freeFructose:.7,freeGlucose:.7,sucrose:1.8,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:3.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F008377",name:"Water, soda",availableCarb:0,fibre:0,protein:0,fat:0,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009527",name:"Water, tap",availableCarb:0,fibre:0,protein:0,fat:0,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:0,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009532",name:"Watercress, raw",availableCarb:.8,fibre:3.8,protein:2.9,fat:.4,freeFructose:.1,freeGlucose:.4,sucrose:.2,maltose:0,lactose:0,galactose:null,starch:.1,totalSugars:.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009533",name:"Wattle seed (acacia), ground",availableCarb:10.5,fibre:54.2,protein:20.3,fat:6.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:10.5,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009534",name:"Wax jambu, raw",availableCarb:4.5,fibre:1.9,protein:.7,fat:.2,freeFructose:2.4,freeGlucose:2.1,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:4.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009535",name:"Wheat bran, unprocessed, uncooked",availableCarb:22.6,fibre:41.8,protein:14.8,fat:4.1,freeFructose:0,freeGlucose:0,sucrose:2,maltose:.7,lactose:0,galactose:null,starch:19.9,totalSugars:2.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009536",name:"Wheat germ",availableCarb:32.7,fibre:20.1,protein:20.6,fat:6.1,freeFructose:0,freeGlucose:0,sucrose:6.8,maltose:.6,lactose:0,galactose:null,starch:25.3,totalSugars:7.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009537",name:"Wheat, whole, uncooked",availableCarb:58.3,fibre:11.4,protein:11.2,fat:2.4,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:56.9,totalSugars:1.3,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F009557",name:"Whiting, King George, flesh, baked, no added fat",availableCarb:0,fibre:0,protein:28.2,fat:1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009560",name:"Whiting, King George, flesh, raw",availableCarb:0,fibre:0,protein:19.8,fat:.7,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009561",name:"Whiting, King George, flesh, steamed, no added fat",availableCarb:0,fibre:0,protein:23.3,fat:1.1,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009566",name:"Wine, fortified, port",availableCarb:12.4,fibre:0,protein:.2,fat:0,freeFructose:7.3,freeGlucose:5.1,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:12.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009567",name:"Wine, fortified, sherry, dry style (approximately 1% sugars)",availableCarb:1.2,fibre:0,protein:.1,fat:0,freeFructose:.6,freeGlucose:.6,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:1.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009568",name:"Wine, fortified, sherry, sweet style (approximately 11% sugars)",availableCarb:11.1,fibre:0,protein:.2,fat:0,freeFructose:6.3,freeGlucose:4.8,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:11.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009571",name:"Wine, red",availableCarb:.2,fibre:0,protein:.2,fat:0,freeFructose:.1,freeGlucose:.1,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009572",name:"Wine, red, cabernet sauvignon",availableCarb:.2,fibre:0,protein:.3,fat:0,freeFructose:.1,freeGlucose:.1,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009573",name:"Wine, red, cooked",availableCarb:.2,fibre:0,protein:.3,fat:0,freeFructose:.1,freeGlucose:.1,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009574",name:"Wine, red, merlot",availableCarb:.4,fibre:0,protein:.3,fat:0,freeFructose:.2,freeGlucose:.2,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009575",name:"Wine, red, pinot noir",availableCarb:.2,fibre:0,protein:.2,fat:0,freeFructose:0,freeGlucose:.1,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009577",name:"Wine, red, shiraz",availableCarb:.2,fibre:0,protein:.2,fat:0,freeFructose:.1,freeGlucose:.1,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009578",name:"Wine, red, sparkling",availableCarb:2,fibre:0,protein:.2,fat:0,freeFructose:null,freeGlucose:null,sucrose:null,maltose:null,lactose:null,galactose:null,starch:0,totalSugars:2,source:"ausnut-r2",sucroseSource:"unmeasured"},{id:"F009579",name:"Wine, rose",availableCarb:.7,fibre:0,protein:.2,fat:0,freeFructose:.5,freeGlucose:.2,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009581",name:"Wine, white",availableCarb:.2,fibre:0,protein:.3,fat:0,freeFructose:.1,freeGlucose:.1,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009582",name:"Wine, white, chardonnay",availableCarb:.3,fibre:0,protein:.3,fat:0,freeFructose:.1,freeGlucose:.1,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009580",name:"Wine, white, cooked",availableCarb:.3,fibre:0,protein:.2,fat:0,freeFructose:.2,freeGlucose:.1,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.3,source:"ausnut-r2",sucroseSource:"measured"}
61,{id:"F009586",name:"Wine, white, riesling",availableCarb:.4,fibre:0,protein:.2,fat:0,freeFructose:.3,freeGlucose:.1,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009583",name:"Wine, white, sauvignon blanc",availableCarb:.1,fibre:0,protein:.2,fat:0,freeFructose:0,freeGlucose:.1,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009584",name:"Wine, white, semillon",availableCarb:.2,fibre:0,protein:.2,fat:0,freeFructose:.1,freeGlucose:.1,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:.2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009590",name:"Wine, white, sparkling",availableCarb:1,fibre:0,protein:.2,fat:0,freeFructose:.5,freeGlucose:.5,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009592",name:"Wine, white, sweet dessert style",availableCarb:14.7,fibre:0,protein:.4,fat:0,freeFructose:9.1,freeGlucose:5.6,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:14.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009604",name:"Yam, wild harvested, cooked",availableCarb:20.9,fibre:3.5,protein:3.2,fat:.3,freeFructose:null,freeGlucose:null,sucrose:0,maltose:null,lactose:null,galactose:null,starch:20.4,totalSugars:.5,source:"ausnut-r2",sucroseSource:"assumed-zero"},{id:"F009606",name:"Yeast, dry powder",availableCarb:6.3,fibre:26.9,protein:36.4,fat:5,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:0,galactose:null,starch:6.3,totalSugars:0,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009797",name:"Yoghurt, almond based, flavoured",availableCarb:9.2,fibre:1.8,protein:2.6,fat:4.5,freeFructose:.4,freeGlucose:.5,sucrose:4.3,maltose:.3,lactose:0,galactose:null,starch:3.7,totalSugars:5.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009608",name:"Yoghurt, apricot pieces or flavoured, regular fat (3% fat)",availableCarb:11.1,fibre:.1,protein:4.2,fat:3.2,freeFructose:0,freeGlucose:.7,sucrose:6.7,maltose:0,lactose:3.7,galactose:0,starch:0,totalSugars:11.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009798",name:"Yoghurt, coconut based, flavoured",availableCarb:9.2,fibre:1.3,protein:1.1,fat:9,freeFructose:.4,freeGlucose:.8,sucrose:2.9,maltose:.6,lactose:0,galactose:null,starch:4.5,totalSugars:4.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009811",name:"Yoghurt, flavoured, high fat (approx 5%)",availableCarb:12.9,fibre:.6,protein:4.4,fat:4.9,freeFructose:.5,freeGlucose:.5,sucrose:7.6,maltose:0,lactose:3.9,galactose:null,starch:.4,totalSugars:12.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009809",name:"Yoghurt, flavoured, low fat (0.2%), intense sweetened, increased protein",availableCarb:2.3,fibre:.4,protein:9.6,fat:.3,freeFructose:0,freeGlucose:1.2,sucrose:0,maltose:0,lactose:.4,galactose:null,starch:.7,totalSugars:1.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009810",name:"Yoghurt, flavoured, low fat (approx 2%)",availableCarb:12.2,fibre:.3,protein:4.6,fat:1.3,freeFructose:.9,freeGlucose:.8,sucrose:5.4,maltose:0,lactose:4.2,galactose:null,starch:.9,totalSugars:11.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009694",name:"Yoghurt, natural, regular fat (3% fat)",availableCarb:5,fibre:.1,protein:5.1,fat:3.2,freeFructose:0,freeGlucose:0,sucrose:0,maltose:0,lactose:4.9,galactose:0,starch:.1,totalSugars:4.9,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009738",name:"Yoghurt, soy based, berry flavoured, regular fat (3% fat)",availableCarb:12.6,fibre:.2,protein:3.6,fat:3.7,freeFructose:.4,freeGlucose:1.6,sucrose:6.4,maltose:0,lactose:0,galactose:null,starch:4.2,totalSugars:8.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009739",name:"Yoghurt, soy based, vanilla flavoured, reduced fat (1% fat)",availableCarb:12.6,fibre:.2,protein:3.6,fat:.8,freeFructose:.4,freeGlucose:1.6,sucrose:6.4,maltose:0,lactose:0,galactose:null,starch:4.2,totalSugars:8.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009741",name:"Yoghurt, strawberry pieces or flavoured, regular fat (3% fat)",availableCarb:11.6,fibre:.1,protein:4.9,fat:3.1,freeFructose:.4,freeGlucose:.7,sucrose:6,maltose:0,lactose:4,galactose:.6,starch:0,totalSugars:11.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009749",name:"Yoghurt, vanilla flavoured, (2% fat)",availableCarb:14.5,fibre:.2,protein:5,fat:1.9,freeFructose:.5,freeGlucose:0,sucrose:7.1,maltose:0,lactose:4.4,galactose:1.5,starch:1,totalSugars:13.5,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009752",name:"Yoghurt, vanilla flavoured, low fat (less than 0.5% fat)",availableCarb:13.9,fibre:.2,protein:5.9,fat:.5,freeFructose:1,freeGlucose:1.8,sucrose:5,maltose:0,lactose:3.3,galactose:1.6,starch:1.2,totalSugars:12.7,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009764",name:"Zucchini, golden, fresh, unpeeled, boiled, drained",availableCarb:1.3,fibre:1.2,protein:2.6,fat:.4,freeFructose:.7,freeGlucose:.6,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:1.3,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009765",name:"Zucchini, golden, fresh, unpeeled, fried, no added fat",availableCarb:1.6,fibre:1.4,protein:3.1,fat:.4,freeFructose:.8,freeGlucose:.7,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:1.6,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009766",name:"Zucchini, golden, fresh, unpeeled, raw",availableCarb:1.1,fibre:1,protein:2.2,fat:.3,freeFructose:.6,freeGlucose:.5,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:1.1,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009773",name:"Zucchini, green skin, fresh, unpeeled, boiled, drained",availableCarb:2,fibre:1.3,protein:1.1,fat:.4,freeFructose:1.1,freeGlucose:1,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:2,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009774",name:"Zucchini, green skin, fresh, unpeeled, fried, no added fat",availableCarb:2.4,fibre:1.6,protein:1.3,fat:.4,freeFructose:1.3,freeGlucose:1.1,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:2.4,source:"ausnut-r2",sucroseSource:"measured"},{id:"F009775",name:"Zucchini, green skin, fresh, unpeeled, raw",availableCarb:1.7,fibre:1.1,protein:.9,fat:.3,freeFructose:.9,freeGlucose:.8,sucrose:0,maltose:0,lactose:0,galactose:null,starch:0,totalSugars:1.7,source:"ausnut-r2",sucroseSource:"measured"}],Ol=[{id:"PROD_MAURTEN_GEL_100",brand:"Maurten",name:"Maurten GEL 100",servingLabel:"1 sachet (40g)",servingWeightG:40,availableCarb:62.5,freeGlucose:34.7222,freeFructose:27.7778,sucrose:0,fibre:0,protein:0,fat:0,source:"manufacturer-label",sucroseSource:"measured",ratioNote:"1:0.8 glucose:fructose per Maurten FAQ; 25g carbs per 40g sachet"},{id:"PROD_MAURTEN_GEL_160",brand:"Maurten",name:"Maurten GEL 160",servingLabel:"1 sachet (65g)",servingWeightG:65,availableCarb:61.5385,freeGlucose:34.188,freeFructose:27.3504,sucrose:0,fibre:0,protein:0,fat:0,source:"manufacturer-label",sucroseSource:"measured",ratioNote:"1:0.8 glucose:fructose per Maurten FAQ; 40g carbs per 65g sachet. Per-100g derived from sachet (40/65) rather than the label's printed 62.5, which rounds and would show 40.6g per gel."},{id:"PROD_SPORTS_DRINK_90_2_1",brand:"Generic",name:"Sports Drink 2:1",servingLabel:"1 bottle (95g powder)",servingWeightG:95,availableCarb:94.7368,freeGlucose:63.1579,freeFructose:31.5789,sucrose:0,fibre:0,protein:0,fat:0,source:"coach-defined",sucroseSource:"measured",ratioNote:"CLAUDE_ASSUMPTION: 95% carbohydrate by mass assumed for a 2:1 drink powder, so 95g powder delivers 90g carbs. Only affects the gram-porti
61on reading, not carbs or fructose at default portion. 2:1 glucose:fructose per Jeukendrup, whose worked case for that ratio is an intake near 90 g/h."},{id:"PROD_MILDURA_ORANGE",brand:"Mildura",name:"Fruit Drink Cup",servingLabel:"1 cup (260g)",servingWeightG:260,availableCarb:8.9,freeGlucose:.3,freeFructose:.4,sucrose:7.8,fibre:0,protein:.1,fat:0,source:"manufacturer-label",sucroseSource:"measured",ratioNote:"Mildura Fruit Drink Orange, 20% juice, 15% reconstituted orange juice plus cane sugar. Per-100g column used; the pack panel's per-100mL column reads 9.4g carbs at ~1.045 g/mL and must not be used in a gram-based app. Sucrose = 7.2g added sugar plus ~0.6g from the juice fraction. CLAUDE_ASSUMPTION: the 1.3g of juice-derived sugars split 27.8/24.1/48.1 fructose/glucose/sucrose per AUSNUT F004739. That assumption apportions 1.3g of 8.5g total sugars, so error is under 0.3g per 100g."},{id:"PROD_CORDIAL",brand:"Generic",name:"Cordial (concentrate)",servingLabel:"1 serve (31mL concentrate)",servingWeightG:37,availableCarb:32.8,freeGlucose:0,freeFructose:0,sucrose:32.8,fibre:0,protein:0,fat:0,source:"manufacturer-label",sucroseSource:"measured",ratioNote:"Reduced-sugar cordial CONCENTRATE, not the prepared drink. Label: 32 serves per 1L bottle, 12.0g carbs per serve, so 31.25mL concentrate per serve (dilute ~1:8 with water). Sugar is the only carbohydrate ingredient, so all carbohydrate is sucrose. CLAUDE_ASSUMPTION: concentrate density 1.17 g/mL, a textbook value for a ~38% sucrose solution, giving 38.4 g/100mL -> 32.8 g/100g and a 31.25mL serve weighing 37g. JJJ to weigh 100mL and replace both figures. If density is 1.10 the carb figure is 34.9 and this is 6% low."}],Oh=new Map(Al.map(r=>[r.id,r])),Rh=[{id:"banana",name:"Banana",ausnutId:"F000262",defaultPortion:120},{id:"lcms-bar",name:"LCMs Bar",ausnutId:"F001807",defaultPortion:20},{id:"bread-slice",name:"Bread Slice",ausnutId:"F001463",defaultPortion:40},{id:"honey-tbsp",name:"1 Tbsp Honey",ausnutId:"F004380",defaultPortion:21},{id:"can-of-coke",name:"Can of Coke",ausnutId:"F008402",defaultPortion:380},{id:"cocopops",name:"CocoPops",ausnutId:"F001807",defaultPortion:40},{id:"lollies-handful",name:"Lollies Handful",ausnutId:"F005236",defaultPortion:30},{id:"rice-cup",name:"Rice Cup",ausnutId:"F007661",defaultPortion:200},{id:"pasta-cup",name:"Pasta Cup",ausnutId:"F006456",defaultPortion:110},{id:"porridge-cup",name:"Porridge Cup",ausnutId:"F007156",defaultPortion:120},{id:"mars-bar",name:"Mars Bar",ausnutId:"F000348",defaultPortion:50},{id:"pancakes",name:"Pancakes",ausnutId:"F006700",defaultPortion:200}].map(r=>{const e=Oh.get(r.ausnutId);if(!e)throw new Error(`Unknown ausnutId ${r.ausnutId} for ${r.id}`);const a=Wt(e);return{...r,totalCarbs:e.availableCarb,glucose:a.glucose,fructose:a.fructose,sucroseKnown:a.sucroseKnown,fat:e.fat,protein:e.protein}}),xh=Ol.filter(r=>r.id!=="PROD_CORDIAL").map(r=>{const e=Wt(r),a=s=>s*r.servingWeightG/100;return{id:r.id,name:r.name,defaultPortion:r.servingWeightG,totalCarbs:r.availableCarb,glucose:e.glucose,fructose:e.fructose,fat:r.fat,protein:r.protein,sucroseKnown:!0,title:`${r.name} (${r.servingWeightG}g): ${Ue(a(r.availableCarb))}g carbs (${Ue(a(e.fructose))}g fructose)`}}),Bh=[...Rh,...xh],Jt="clp_food",Rl="clp_settings",Ih=r=>{localStorage.setItem(Jt,JSON.stringify(r))},$h=()=>{try{return JSON.parse(localStorage.getItem(Jt)||"[]")}catch{return[]}},jh=r=>{localStorage.setItem(Rl,JSON.stringify(r))},Lh=()=>{try{return JSON.parse(localStorage.getItem(Rl)||"null")}catch{return null}},Nh=()=>{localStorage.removeItem(Jt)},Mh={id:"app"},Uh={key:0,class:"login-gate"},Dh={class:"login-card"},qh={key:0,class:"error-text"},zh=["disabled"],Hh={key:1,class:"app-container"},Wh={class:"main-content"},Kh={class:"goal-strip g-card"},Vh=["aria-expanded"],Jh={class:"goal-strip-summary"},Yh={class:"goal-strip-target num"},Qh={class:"goal-panel-inner"},Zh={class:"goal-inputs goal-inputs-panel"},Xh={class:"input-group"},em={class:"goal-input"},rm={class:"input-group"},am={class:"pill-toggle"},sm={class:"calculated-goal"},tm={class:"goal-display"},om={class:"goal-value num"},um={class:"progress-section g-card"},lm={class:"progress-display"},cm={class:"progress-left"},nm={class:"progress-stats"},im={class:"stat-item stat-item--hero"},fm={class:"stat-value num"},dm={class:"stat-item"},hm={class:"stat-value num"},mm={class:"time-guidance"},bm={class:"current-time"},gm={class:"time-value num"},pm={class:"time-window-bar-wrap"},Sm={class:"time-window-bar"},vm={key:0,class:"expected-progress"},Fm={class:"quick-add-section g-card"},wm={class:"fuel-section"},Cm={class:"search-section"},ym={key:0,class:"food-log-section g-card"},_m={class:"food-log-count num"},km={__name:"App",setup(r){const e=ce(!1),a=ce(!1),s=ce(""),t=ce(""),o=ce(""),u=ce(!1);async function l(B){const F=B.toLowerCase(),{data:Y}=await Re.from("admins").select("id").eq("email",F).maybeSingle();if(Y)return a.value=!0,e.value=!0,!0;const{data:ne}=await Re.from("athletes").select("id").eq("email",F).maybeSingle();if(!ne)return!1;const{data:Je}=await Re.from("athlete_app_access").select("id").eq("athlete_id",ne.id).eq("app_name","carb_loader").maybeSingle();return Je?(e.value=!0,!0):!1}async function c(){const B=s.value.trim().toLowerCase();if(!B||!t.value){o.value="Incorrect email or password";return}u.value=!0,o.value="";try{const{error:F}=await Re.auth.signInWithPassword({email:B,password:t.value});if(F){o.value="Incorrect email or password",t.value="";return}await l(B)||(await Re.auth.signOut(),o.value="Incorrect email or password",t.value="")}catch{o.value="Incorrect email or password",t.value=""}finally{u.value=!1}}async function n(){await Re.auth.signOut(),e.value=!1,a.value=!1,s.value="",t.value="",o.value="",Nh()}const i=ce(70),f=ce(1),d=ce(!1),m=ce(!1),g=ce(new Date),S=ce(6),P=ce(22);let y=null;const T=ce([]);Ra(T,B=>{Ih(B)},{deep:!0}),Ra([i,f],()=>{jh({bodyMass:i.value,carbLoadDuration:f.value})}),Lu(async()=>{var Y;y=setInterval(()=>{g.value=new Date},6e4);const B=Lh();B&&(i.value=B.bodyMass??70,f.value=B.carbLoadDuration??1),T.value=$h();const{data:{session:F}}=await Re.auth.getSession();(Y=F==null?void 0:F.user)!=null&&Y.email&&await l(F.user.email)}),Dt(()=>{y&&clearInterval(y)});const _=ee(()=>{if(!i.value||i.value<=0)return 0;const B=f.value===1?9:6;return Math.round(i.value*B)}),E=ee(()=>T.value.reduce((B,F)=>B+F["Total carbs"]*F.portionSize/100,0)),J=ee(()=>[...Ol,...Al]),W=ee(()=>T.value.reduce((B,F)=>B+F.Fat*F.portionSize/100,0)),K=ee(()=>T.value.reduce((B,F)=>B+F.Protein*F.portionSize/100,0)),Ne=ee(()=>Math.min(E.value/_.value*100,100)),pe=ee(()=>Math.max(_.value-E.value,0)),ze=ee(()=>{const B=i.value*.8,F=ae.value*.1/9;return Math.min(B,F)}),cr=ee(()=>{const B=i.value*1.5,F=ae.value*.12/4;return Math.min(B,F)}),yr=ee(()=>{const B=g.value,F=B.getHours()+B.getMinutes()/60;if(F<S.value)return 0;if(F>=P.value)return _.value;const Y=P.value-S.value,Je=(F-S.value)/Y;return _.value*Je}),xr=ee(()=>{const B=E.value-yr.value,F=g.value,Y=F.getHours()+F.getMinutes()/60;if(Y<S.value)return{message:"Carb loading starts at 6:00 AM",status:"waiting",difference:0};if(Y>=P.value)return E.value>=_.value*.95?{message:"Daily goal achieved!",status:"complete",difference:0}:{message:"Carb loading window has ended",status:"ended",difference:M
61ath.round(_.value-E.value)};const ne=Math.abs(B),Je=yr.value*.1;return ne<=Je?{message:"You're on track!",status:"on-track",difference:Math.round(B)}:B>0?{message:`You're ${Math.round(ne)}g ahead of schedule`,status:"ahead",difference:Math.round(B)}:{message:`You need ${Math.round(ne)}g more to be on track`,status:"behind",difference:Math.round(B)}}),Wr=ee(()=>{const B=g.value,F=new Date(B.getFullYear(),B.getMonth(),B.getDate(),B.getHours(),0,0,0),Y=new Date(B.getFullYear(),B.getMonth(),B.getDate(),B.getHours(),59,59,999),ne=T.value.filter(b=>{const v=new Date(b.timestamp);return v>=F&&v<=Y});if(ne.some(b=>b.Fructose==null))return{message:"This hour includes a food with no fructose data. Ratio not assessed.",status:"info"};const rs=ne.reduce((b,v)=>b+v["Total carbs"]*v.portionSize/100,0),fr=ne.reduce((b,v)=>b+v.Fructose*v.portionSize/100,0),Vr=rs-fr;if(fr===0)return Vr>60?{message:`This hour - High glucose intake (${Math.round(Vr)}g) with no fructose. Consider adding fructose.`,status:"warning"}:{message:"No fructose consumed this hour",status:"info"};const h=Vr/fr;return h>2&&Vr>60?{message:`This hour - Glucose:fructose ratio too high: ${Math.round(h*10)/10}:1 (target: <2:1)`,status:"warning"}:h<=2?{message:`This hour - Glucose:fructose ratio on target: ${Math.round(h*10)/10}:1`,status:"ok"}:{message:`This hour - Glucose:fructose ratio is high (${Math.round(h*10)/10}:1), but total glucose intake is low (${Math.round(Vr)}g)`,status:"info"}}),Xa=ee(()=>g.value.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",hour12:!0})),he=ee(()=>{const B=g.value,F=B.getHours()+B.getMinutes()/60,Y=P.value-S.value,
61ne=F-S.value;return Math.min(Math.max(ne/Y*100,0),100)}),ae=ee(()=>E.value*4+W.value*9+K.value*4),re=ee(()=>{const B=E.value*4,F=W.value*9,Y=K.value*4,ne=ae.value;return ne===0?[]:[{label:"Carbohydrate",value:B/ne*100,color:"#3D8BFF"},{label:"Fat",value:F/ne*100,color:"#FF9500",status:{icon:W.value<=ze.value?"✓":"✕",message:W.value<=ze.value?"":"too much",class:W.value<=ze.value?"status-ok":"status-over"}},{label:"Protein",value:Y/ne*100,color:"#D45BF0",status:{icon:K.value<=cr.value?"✓":"✕",message:K.value<=cr.value?"":"too much",class:K.value<=cr.value?"status-ok":"status-over"}}]}),nr=B=>{T.value.push({...B,timestamp:Date.now()})},Kr=B=>{const F={Food:B.name,"Total carbs":B.totalCarbs,Fructose:B.fructose,Fat:B.fat,Protein:B.protein,Fibre:0,portionSize:B.portionSize,baseGlucose:B.glucose??null,sucroseKnown:B.sucroseKnown??!0,timestamp:Date.now()};T.value.push(F)},ir=({index:B,portionSize:F})=>{T.value[B]&&(T.value[B].portionSize=F)},Me=B=>{T.value.splice(B,1)},es=()=>{T.value=[]};return(B,F)=>(D(),q("div",Mh,[e.value?(D(),q("div",Hh,[p("header",{class:"app-header"},[p("button",{class:"signout-btn",onClick:n},"Sign Out"),F[10]||(F[10]=p("div",{class:"header-logo-row"},[p("img",{src:Ao,alt:"Logo",class:"header-logo"}),p("h1",null,"Carb Loading Planner")],-1)),F[11]||(F[11]=p("p",{class:"header-subtitle"},"Optimize your carbohydrate intake for peak performance",-1))]),p("main",Wh,[p("section",Kh,[p("button",{type:"button",class:"goal-strip-toggle","aria-expanded":!m.value,onClick:F[2]||(F[2]=Y=>m.value=!m.value)},[F[13]||(F[13]=ul('<span class="g-tile goal-strip-tile" aria-hidden="true" data-v-a1df74a3><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" data-v-a1df74a3><circle cx="12" cy="12" r="8" data-v-a1df74a3></circle><circle cx="12" cy="12" r="3.2" data-v-a1df74a3></circle><path d="M12 1.5v3M12 19.5v3M1.5 12h3M19.5 12h3" data-v-a1df74a3></path></svg></span><span class="goal-strip-label" data-v-a1df74a3>Carb load goal</span>',2)),p("span",Jh,[$e(z(i.value)+" kg · "+z(f.value)+"-day plan · ",1),p("strong",Yh,z(Math.round(_.value))+"g",1),F[12]||(F[12]=$e("/day ",-1))]),p("span",{class:Ce(["goal-strip-chevron",{open:!m.value}]),"aria-hidden":"true"},"▼",2)],8,Vh),p("div",{class:Ce(["goal-panel-wrap",{collapsed:m.value}])},[p("div",Qh,[p("div",Zh,[p("div",Xh,[F[15]||(F[15]=p("label",{class:"input-label"},"Body Mass",-1)),p("div",em,[zr(p("input",{"onUpdate:modelValue":F[3]||(F[3]=Y=>i.value=Y),type:"number",inputmode:"decimal",min:"30",max:"200",step:"1",class:"goal-input-field"},null,512),[[ma,i.value,void 0,{number:!0}]]),F[14]||(F[14]=p("span",{class:"goal-unit"},"kg",-1))])]),p("div",rm,[F[18]||(F[18]=p("label",{class:"input-label"},"Carb Load Duration",-1)),p("div",am,[p("button",{type:"button",class:Ce(["pill-option",{active:f.value===1}]),onClick:F[4]||(F[4]=Y=>f.value=1)},[...F[16]||(F[16]=[$e("1-Day ",-1),p("span",{class:"pill-sub"},"9g/kg",-1)])],2),p("button",{type:"button",class:Ce(["pill-option",{active:f.value===2}]),onClick:F[5]||(F[5]=Y=>f.value=2)},[...F[17]||(F[17]=[$e("2-Day ",-1),p("span",{class:"pill-sub"},"6g/kg",-1)])],2)])]),p("div",sm,[F[20]||(F[20]=p("label",{class:"input-label"},"Daily Goal",-1)),p("div",tm,[p("span",om,z(_.value),1),F[19]||(F[19]=p("span",{class:"goal-unit"},"grams",-1))])])])])],2)]),p("section",um,[F[27]||(F[27]=p("div",{class:"card-head"},[p("span",{class:"g-tile card-tile--carb","aria-hidden":"true"},[p("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.9","stroke-linecap":"round","stroke-linejoin":"round"},[p("path",{d:"M2 13h4l2.5-7 4 14 2.8-8.5L18 13h4"})])]),p("h2",null,"Today's Progress")],-1)),p("div",lm,[p("div",cm,[_e(gi,{progress:Ne.value,size:180,"stroke-width":14,label:"Daily Goal",subtitle:`${Math.round(E.value)}g of ${Math.round(_.value)}g`},null,8,["progress","subtitle"]),p("div",nm,[p("div",im,[p("span",fm,[$e(z(Math.round(E.value)),1),F[21]||(F[21]=p("span",{class:"stat-unit"},"g",-1))]),F[22]||(F[22]=p("span",{class:"stat-label"},"Consumed",-1))]),p("div",dm,[p("span",hm,[$e(z(Math.round(pe.value)),1),F[23]||(F[23]=p("span",{class:"stat-unit"}
61,"g",-1))]),F[24]||(F[24]=p("span",{class:"stat-label"},"Remaining",-1))])])]),_e(Ii,{data:re.value,"chart-size":180},null,8,["data"])]),p("div",mm,[p("div",bm,[p("span",gm,z(Xa.value),1)]),p("div",pm,[F[25]||(F[25]=p("span",{class:"time-window-label"},"6 AM",-1)),p("div",Sm,[p("div",{class:"time-window-fill",style:Sr({width:`${he.value}%`})},null,4),p("div",{class:"time-window-expected-marker",style:Sr({left:`${he.value}%`}),title:"Current time"},null,4)]),F[26]||(F[26]=p("span",{class:"time-window-label"},"10 PM",-1))]),p("div",{class:Ce(["guidance-message",`status-${xr.value.status}`])},z(xr.value.message),3),S.value<=g.value.getHours()+g.value.getMinutes()/60&&g.value.getHours()+g.value.getMinutes()/60<P.value?(D(),q("div",vm," Expected: "+z(Math.round(yr.value))+"g by now ",1)):ke("",!0),E.value>0?(D(),q("div",{key:1,class:Ce(["fructose-guidance",`status-${Wr.value.status}`])},z(Wr.value.message),3)):ke("",!0)])]),p("section",Fm,[F[29]||(F[29]=p("div",{class:"card-head"},[p("span",{class:"g-tile card-tile--fuel","aria-hidden":"true"},[p("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"},[p("path",{d:"M12 2.5c2.6 3 4 5.2 4 7a4 4 0 0 1-8 0c0-.9.3-1.8.9-2.7C8 8.5 6 10.9 6 14a6 6 0 0 0 12 0c0-4.6-2.4-8.4-6-11.5Z"})])]),p("h3",null,"Add Fuel")],-1)),p("div",wm,[_e(s0,{"quick-add-fuels":Ke(Bh),onFuelSelected:Kr},null,8,["quick-add-fuels"])]),p("div",Cm,[F[28]||(F[28]=p("div",{class:"section-divider"},[p("span",{class:"section-divider-label"},"or search food database")],-1)),_e(Yi,{"food-database":J.value,onFoodSelected:nr},null,8,["food-database"])]),p("div",{class:"reset-section"},[p("button",{onClick:es,class:"reset-btn"},"Reset")])]),T.value.length>0?(D(),q("section",ym,[p("div",{class:"food-log-header",onClick:F[6]||(F[6]=Y=>d.value=!d.value)},[F[30]||(F[30]=p("span",{class:"g-tile card-tile--log","aria-hidden":"true"},[p("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round"},[p("path",{d:"M4 6.5h16M4 12h16M4 17.5h10"})])],-1)),F[31]||(F[31]=p("h4",{class:"food-log-title"},"Today's Food Log",-1)),p("span",_m,z(T.value.length),1),p("div",{class:Ce(["collapse-icon",{collapsed:d.value}])}," ▼ ",2)]),p("div",{class:Ce(["food-log-content",{collapsed:d.value}])},[_e(S0,{"consumed-items":T.value,onUpdatePortion:ir,onRemoveItem:Me},null,8,["consumed-items"])],2)])):ke("",!0),a.value?(D(),sl(Ah,{key:1})):ke("",!0)])])):(D(),q("div",Uh,[p("div",Dh,[F[7]||(F[7]=p("div",{class:"login-logo-wrap"},[p("img",{src:Ao,alt:"Logo",class:"login-logo"})],-1)),F[8]||(F[8]=p("h1",{class:"login-title"},"Carb Loading Planner",-1)),F[9]||(F[9]=p("p",{class:"login-subtitle"},"Sign in to continue",-1)),p("form",{onSubmit:il(c,["prevent"]),class:"login-form"},[zr(p("input",{type:"email","onUpdate:modelValue":F[0]||(F[0]=Y=>s.value=Y),placeholder:"Email address",class:Ce(["login-input",{"input-error":o.value}]),autofocus:""},null,2),[[ma,s.value]]),zr(p("input",{type:"password","onUpdate:modelValue":F[1]||(F[1]=Y=>t.value=Y),placeholder:"Password",class:Ce(["login-input",{"input-error":o.value}])},null,2),[[ma,t.value]]),o.value?(D(),q("p",qh,z(o.value),1)):ke("",!0),p("button",{type:"submit",class:"login-button",disabled:u.value},z(u.value?"Signing in...":"Sign In"),9,zh)],32)])]))]))}},Gm=Hr(km,[["__scopeId","data-v-a1df74a3"]]);ai(Gm).mount("#app");

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.