!function(){!function(){"use strict";var t={394:function(e,t){r={value:!0};var r,n="0123456789ABCDEFGHJKMNPQRSTVWXYZ",o=n.length;function i(e){var t=Error(e);return t.source="ulid",t}function a(e){e||(e="undefined"!=typeof window?window:null);var t=e&&(e.crypto||e.msCrypto);return t?function(){var e=new Uint8Array(1);return t.getRandomValues(e),e[0]/255}:function(){return Math.random()}}function l(e,t){for(var r="";e>0;e--)r=f(t)+r;return r}function u(e,t){if(isNaN(e))throw Error(e+" must be a number");if(e>0xffffffffffff)throw i("cannot encode time greater than 281474976710655");if(e<0)throw i("time must be positive");if(!1===(r=e,"number"==typeof r&&isFinite(r)&&Math.floor(r)===r))throw i("time must be an integer");for(var r,a=void 0,l="";t>0;t--)a=e%o,l=n.charAt(a)+l,e=(e-a)/o;return l}function c(e){return e||(e=a()),function t(r){return isNaN(r)&&(r=Date.now()),u(r,10)+l(16,e)}}function s(e){for(var t=void 0,r=e.length,a=void 0,l=void 0,u=o-1;!t&&r-- >=0;){if(a=e[r],-1===(l=n.indexOf(a)))throw i("incorrectly encoded string");if(l===u){e=d(e,r,n[0]);continue}t=d(e,r,n[l+1])}if("string"==typeof t)return t;throw i("cannot increment this string")}function f(e){var t=Math.floor(e()*o);return t===o&&(t=o-1),n.charAt(t)}function d(e,t,r){return t>e.length-1?e:e.substr(0,t)+r+e.substr(t+1)}var h=c();r=a,r=function e(t){if(26!==t.length)throw i("malformed ulid");var r=t.substr(0,10).split("").reverse().reduce(function(e,t,r){var a=n.indexOf(t);if(-1===a)throw i("invalid character found: "+t);return e+a*Math.pow(o,r)},0);if(r>0xffffffffffff)throw i("malformed ulid, timestamp too large");return r},r=l,r=u,r=c,r=s,r=function e(t){t||(t=a());var r=0,n=void 0;return function e(o){if(isNaN(o)&&(o=Date.now()),o<=r){var i=n=s(n);return u(r,10)+i}r=o;var a=n=l(16,t);return u(o,10)+a}},r=f,r=d,t.SK=h}},r={};function n(e){var o=r[e];if(void 0!==o)return o.exports;var i=r[e]={exports:{}};return t[e](i,i.exports,n),i.exports}n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};!function(){n.r(o),n.d(o,{getUuid:function(){return eO},triggerLiUid:function(){return eQ}});var e=n(394);let t=RegExp("^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$","i");function r(e){return"object"==typeof e?JSON.stringify(e):""+e}function i(e){return null!=e&&u(e).length>0}function a(e){return"[object Array]"===Object.prototype.toString.call(e)}let l=!!String.prototype.trim;function u(e){return l?(""+e).trim():(""+e).replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}function c(e){return"string"==typeof e}function s(e,t){return c(e)&&c(t)&&u(e.toLowerCase())===u(t.toLowerCase())}function f(e){return!!e&&"object"==typeof e&&!a(e)}function d(e){return e&&"function"==typeof e}function h(e){return g(e,864e5)}function g(e,t){return new Date(new Date().getTime()+e*t)}function p(e,t,r){return i(t)?[e,d(r)?r(t):t]:[]}function $(e,t){return p(e,t,e=>encodeURIComponent(e))}function m(e,t,r){return p(e,t,e=>encodeURIComponent(r(e)))}function _(e,t,r){return i(t)&&d(r)&&r(t)?[e,encodeURIComponent(t)]:[]}function v(e,t){let r={},n=e=>f(e)?e:{},o=n(e),i=n(t);return Object.keys(o).forEach(function(e){r[e]=o[e]}),Object.keys(i).forEach(function(e){r[e]=i[e]}),r}let y="__li__evt_bus",C="li_errors";function S(e,t){window&&window[y]&&window[y].emit(e,t)}function w(e,t){S(e,t)}function x(e,t){b(e,t.message,t)}function b(e,t,r={}){let n=Error(t||r.message);n.stack=r.stack,n.name=e||"unknown error",n.lineNumber=r.lineNumber,n.columnNumber=r.columnNumber,S(C,n)}function k(e,t,r,n){let o=e&&e.collectorUrl||"https://rp.liadm.com";function i(e){l(e,"p",e=>t.pixelGet(e,r))}function l(e,t,r){if(e.sendsPixel()){d(n)&&n();let i=$("dtstmp",u()),a=e.asQuery().prependParam(i),l=a.toQueryString(),c=`${o}/${t}${l}`;r(c)}}function u(){let e=new Date;return new Date(e.toUTCString()).getTime()+e.getMilliseconds()}return{sendAjax:function e(n){l(n,"j",e=>{t.ajaxGet(e,e=>{d(r)&&r(),function e(r){try{let n=JSON.parse(r).bakers;if(a(n))for(let o=0;o{i(n),b("AjaxFailed",e.message,e)},0)})},sendPixel:i}}function I(e){this.size=parseInt(e)||5,this.h={},this.q={}}function L(e){return e>=0&&e<64?"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[e]:void 0}function E(e){let t=function e(t){let r;for(r=0,t=`${t}`;r255)return null;let n="";for(r=0;r>2,o[1]=(3&t.charCodeAt(r))<<4,t.length>r+1&&(o[1]|=t.charCodeAt(r+1)>>4,o[2]=(15&t.charCodeAt(r+1))<<2),t.length>r+2&&(o[2]|=t.charCodeAt(r+2)>>6,o[3]=63&t.charCodeAt(r+2));for(let i=0;i0)return t.apply(r,o[0]),this;{let i=function(){n.off(e,i),t.apply(r,arguments)};return i._=t,this.on(e,i,r)}},emit:function(e){let t=[].slice.call(arguments,1),r=(this.h[e]||[]).slice(),n=0,o=r.length;for(;n=this.size&&i.shift(),i.push(t),this},off:function(e,t){let r=this.h[e],n=[];if(r&&t)for(let o=0,i=r.length;oString.fromCharCode("0x"+t));try{t=window&&d(window.btoa)?window.btoa:E}catch(n){t=E}return t(r).replace(A,T)}for(var R=[],N=0;N<64;)R[N]=0|4294967296*Math.sin(++N%Math.PI);function U(e){var t,r,n,o,i,a=[],l=[r=1732584193,n=4023233417,~r,~n,3285377520],u=[],c=unescape(encodeURI(e))+"\x80",s=c.length;for(u[e=--s/4+2|15]=8*s;~s;)u[s>>2]|=c.charCodeAt(s)<<8*~s--;for(t=s=0;t>2]+((c=r[0])<<5|c>>>27),c,n<<30|n>>>2,o,i])c=a[s-3]^a[s-8]^a[s-14]^a[s-16],n=r[1],o=r[2],i=r[3];for(s=5;s;)l[--s]+=r[s]}for(c="";s<40;)c+=(l[s>>3]>>4*(7-s++)&15).toString(16);return c}for(var j,P=18,G=[],O=[];P>1;P--)for(j=P;j<320;)G[j+=P]=1;function Q(e,t){return 4294967296*Math.pow(e,1/t)|0}for(j=0;j<64;)G[++P]||(O[j]=Q(P,2),G[j++]=Q(P,3));function M(e,t){return e>>>t|e<<-t}let W=()=>/(\s+)?[a-f0-9]{32,64}(\s+)?/gi,V={32:"md5",40:"sha1",64:"sha256"};function q(e){let t=B(e);return!!t&&null!=V[t.length]}function B(e){let t=e.match(W());return t&&t.map(u)[0]}function H(e){let t=e.toLowerCase();return{md5:function e(t){var r,n,o,i=[r=1732584193,n=4023233417,~r,~n],a=[],l=unescape(encodeURI(t))+"\x80",u=l.length;for(t=--u/4+2|15,a[--t]=8*u;~u;)a[u>>2]|=l.charCodeAt(u)<<8*u--;for(N=l=0;N>4]+R[l]+~~a[N|15&[l,5*l+1,3*l+5,7*l][u]])<<(u=[7,12,17,22,5,9,14,20,4,11,16,23,6,10,15,21][4*u+l++%4])|o>>>-u),r,n])r=0|u[1],n=u[2];for(l=4;l;)i[--l]+=u[l]}for(t="";l<32;)t+=(i[l>>3]>>4*(1^l++)&15).toString(16);return t}(t),sha1:U(t),sha256:function e(t){var r=O.slice(P=j=0,8),n=[],o=unescape(encodeURI(t))+"\x80",i=o.length;for(n[t=--i/4+2|15]=8*i;~i;)n[i>>2]|=o.charCodeAt(i)<<8*~i--;for(i=[];P>>10)+i[j-7]+(M(o=i[j-15],7)^M(o,18)^o>>>3)+i[j-16])+Q.pop()+(M(o=Q[4],6)^M(o,11)^M(o,25))+(o&Q[5]^~o&Q[6])+G[j++];for(j=8;j;)r[--j]+=Q[j]}for(o="";j<64;)o+=(r[j>>3]>>4*(7-j++)&15).toString(16);return o}(t)}}let K=()=>/\S+(@|%40)\S+\.\S+/;function X(e){return K().test(e)}function z(e){let t=e.match(K());return t&&t.map(u)[0]}function J(e){let t=function e(t){let r=[],n=RegExp("([\\w\\d.+-]+(@|%40)[\\w\\d-]+.[\\w\\d.-]+)","g"),o=n.exec(t);for(;o;)r.push(u(o[1])),o=n.exec(t);return r}(e),r=[];var n=e;for(let o=0;o-1){let l=u(r(n[i])),c=z(l),s=B(l);if(c){let f=H(decodeURIComponent(c));return v({hashedEmail:[f.md5,f.sha1,f.sha256]},t)}if(s&&q(s))return v({hashedEmail:[s.toLowerCase()]},t)}}return t},function e(t){let r=t.eventSource;return Object.keys(r).forEach(e=>{let t=e.toLowerCase();Z.indexOf(t)>-1&&a(r[e])&&r[e].length>10&&(r[e].length=10)}),{}}],er=e=>{let t="";return e.forEach(e=>{let r=0===t.length?"?":"&";e&&e.length&&2===e.length&&e[0]&&e[1]&&(t=`${t}${r}${e[0]}=${e[1]}`)}),t};function en(e){return -1===e.indexOf("%")?e:decodeURIComponent(e)}function eo(e){var t,r,n;return"false"!==(n="null"===(r=isNaN(+(t=e))?t:+t)||"undefined"===r?null:r)&&("true"===n||n)}let ei=["setemail","setemailhash","sethashedemail"],ea=[["appId",e=>$("aid",e)],["eventSource",e=>p("se",e,e=>F(JSON.stringify(e,Y)))],["liveConnectId",e=>$("duid",e)],["trackerName",e=>$("tna",e)],["pageUrl",e=>$("pu",e)],["errorDetails",e=>p("ae",e,e=>F(JSON.stringify(e)))],["retrievedIdentifiers",e=>{let t=[];return a(e)&&e.forEach(e=>t.push($(`ext_${e.name}`,e.value))),t}],["hashesFromIdentifiers",e=>{let t=[];return a(e)&&e.forEach(e=>t.push($("scre",`${e.md5},${e.sha1},${e.sha256}`))),t}],["decisionIds",e=>m("li_did",e,e=>e.join(","))],["hashedEmail",e=>m("e",e,e=>e.join(","))],["usPrivacyString",e=>$("us_privacy",e)],["wrapperName",e=>$("wpn",e)],["gdprApplies",e=>m("gdpr",e,e=>e?1:0)],["privacyMode",e=>_("n3pc",e?1:0,e=>1===e)],["privacyMode",e=>_("n3pct",e?1:0,e=>1===e)],["privacyMode",e=>_("nb",e?1:0,e=>1===e)],["gdprConsent",e=>$("gdpr_consent",e)],["referrer",e=>$("refr",e)],["contextElements",e=>$("c",e)]];function el(e){return el.prependParam=function(t){let r=e;return r.unshift(t),new el(r)},el.toQueryString=function(){return er(e)},el}function eu(e){let t={};function r(){let e=[];return ea.forEach(r=>{let n=r[0],o=t[n],i=r[1](o);i&&i.length&&(i[0]instanceof Array?e=e.concat(i):e.push(i))}),e}return e&&(t=function e(r){try{return function e(t){let r=(e,t)=>v(e,t(e));return f(t.eventSource)?et.reduce(r,t):t}(JSON.parse(JSON.stringify(r)))}catch(n){return b("StateCombineWith","Error while extracting event data",n),t}}(e)),{data:t,combineWith:function t(r){return new eu(v(e,r))},asQuery:function e(){return new el(r())},asTuples:r,sendsPixel:function e(){let r=f(t.eventSource)?t.eventSource:{},n=Object.keys(r).filter(e=>"eventname"===e.toLowerCase()||"event"===e.toLowerCase()),o=n&&n.length>=1&&n[0],i=o&&u(t.eventSource[o]);return!i||-1===ei.indexOf(i.toLowerCase())}}}function ec(e){let t=encodeURI(e).split(/%..|./).length-1;return 4*Math.ceil(t/3)}function es(e){try{return e()}catch(t){return}}let ef=null;function ed(e){return ef||(ef={pageUrl:function e(t=window){let r=es(()=>t.location.ancestorOrigins)||{},n=[],o=t;for(;o!==top;)n.push(o),o=o.parent;n.push(o);let i;for(let a=n.length-1;a>=0&&!i;a--)i=es(()=>n[a].location.href),0===a||(i||(i=es(()=>n[a-1].document.referrer)),i||(i=r[a-1]));return i}(),referrer:function e(t=window){return es(()=>t.top.document.referrer)}(),contextElements:function e(t,r,n){if(t||!r||""===r||!n)return"";var o=function e(t,r){let n=window.document.querySelectorAll(t);var o="";for(let i=0;i120)return`${e.substr(0,120)}...`;return e}catch{}}function e_(e){if(eg){var t;eg.sendPixel(new eu((t=e)?{errorDetails:{message:em(t.message),name:em(t.name),stackTrace:em(t.stack),lineNumber:e$(t.lineNumber),lineColumn:e$(t.lineColumn),fileName:em(t.fileName)}}:ep).combineWith(eh||{}).combineWith(ed({})))}}let ev="0123456789ABCDEFGHJKMNPQRSTVWXYZ",ey=ev.length,eC=function e(){let t="undefined"!=typeof window?window:null,r=t&&(t.crypto||t.msCrypto);return r?()=>{let e=new Uint8Array(1);return r.getRandomValues(e),e[0]/255}:()=>Math.random()}();function eS(){let e=Math.floor(eC()*ey);return e===ey&&(e=ey-1),ev.charAt(e)}let e0="_li_dcdm_c";function ew(e,t){try{let r=e.expirationDays||730,n=(()=>{let e=t.getCookie(e0);if(e)return e;let r=document.domain||document.location&&document.location.host||window&&window.location&&window.location.host||"localhost",n=r.split(".");for(let o=n.length;o>0;o--){let i=`.${n.slice(o-1,n.length).join(".")}`;if(t.setCookie(e0,i,void 0,"Lax",i),t.getCookie(e0))return i}return`.${r}`})(),o={expires:r,domain:n},i=((e,r)=>{try{let n=t.get(e),i=h(o.expires);return n?t.set(e,n,i,o.domain):t.set(e,r,i,o.domain),t.get(e)}catch(a){return b("CookieLsGetOrAdd","Failed manipulating cookie jar or ls",a),null}})("_lc2_fpi",(e=>{let t=`${function e(t,r=12){return U(t.replace(/^\./,"")).substring(0,r)}(e)}--${function e(t,r){if(t>0xffffffffffff)throw function e(t){let r=Error(t);return r.source="Ulid",r}("cannot encode time greater than 281474976710655");let n,o="";for(;r>0;r--)n=t%ey,o=ev.charAt(n)+o,t=(t-n)/ey;return o}(Date.now(),10)+function e(t){let r="";for(;t>0;t--)r=eS()+r;return r}(16)}`;return t.toLocaleLowerCase()})(n));return i&&t.setDataInLocalStorage("_li_duid",i),{domain:n,liveConnectId:i,peopleVerifiedId:i}}catch(a){return b("IdentifiersResolve","Error while managing identifiers",a),{}}}let ex=h(30),e2="lidids.",eb=(e,t,r)=>r.indexOf(e)===t,ek=e=>{var r;return(r=e)&&t.test(u(r))},e3=e=>e&&u(e).length>0;function eI(e,t){let r={};try{let n=e.pageUrl&&function e(t){let r,n,o,i={};return t&&-1!==(r=t.indexOf("?"))&&(n=t.slice(r+1))&&(-1===(o=n.indexOf("#"))||(n=n.slice(0,o)))&&n.split("&").forEach(function(e){if(e){if("[]"===(e=((e=e.split("="))&&2===e.length?e:[e[0],"true"]).map(en))[0].slice(-2)&&(i[e[0]=e[0].slice(0,-2)]=i[e[0]]||[]),!i[e[0]])return i[e[0]]=eo(e[1]);a(i[e[0]])?i[e[0]].push(eo(e[1])):i[e[0]]=[i[e[0]],eo(e[1])]}}),i}(e.pageUrl)||{},o=[].concat(n.li_did||[]),i=t.findSimilarCookies(e2);o.map(u).filter(e3).filter(ek).filter(eb).forEach(r=>{var n,o;return n=r,o=e.domain,void(n&&t.setCookie(`${e2}${n}`,n,ex,"Lax",o))});let l=o.concat(i).map(u).filter(e3).filter(ek).filter(eb);r={decisionIds:l}}catch(c){b("DecisionsResolve","Error while managing decision ids",c)}return r}function e4(e,t){try{return function e(t,n){let o=[],i=[];for(let a=0;avoid 0,eA=()=>void 0,e9={};function e5(e,t,r){if(e&&f(e)){if(e.config)b("StrayConfig","Received a config after LC has already been initialised",Error(e));else{let n=r.combineWith({eventSource:e});e9.hashedEmail=e9.hashedEmail||n.data.hashedEmail;let o=v({eventSource:e},e9);t.sendAjax(r.combineWith(o))}}else b("EventNotAnObject","Received event was not an object",Error(e))}function eD(e,t,r=()=>{},n=1e3){function o(e,t,n,o){r(n)}try{let i=window&&window.XDomainRequest?function e(){let n=new window.XDomainRequest;return n.onprogress=()=>{},n.onerror=()=>{var e,t,o;let i=Error(`XDR Error received: ${n.responseText}`);n.responseText,t=i,r(t)},n.onload=()=>t(n.responseText,n),n}():function e(){let n=new XMLHttpRequest;return n.onreadystatechange=()=>{if(4===n.readyState){let e=n.status;if(e>=200&&e<300||304===e)t(n.responseText,n);else{var o,i,a;let l=Error(`Incorrect status received : ${e}`);i=l,r(i)}}},n}();i.ontimeout=()=>{var t,o,i;let a=Error(`Timeout after ${n}, url : ${e}`);o=a,r(o)},i.open("GET",e,!0),i.timeout=n,i.withCredentials=!0,i.send()}catch(a){var l,u,c;r(u=a)}}function eT(e,t){var r;let n=new window.Image;(r=t)&&"function"==typeof r&&(n.onload=t),n.src=e}function eF(){return!1}function eR(){return!1}function e7(e){return null}function e6(e){return null}function eN(e){return null}function eU(e){return[]}function ej(e,t,r,n,o){}function eP(e){}function eG(e,t){}function eO(){return(0,e.SK)()}function eQ(e,t){return function e(t,r){let n=function e(t,r,n){try{let o=window.liQ||[],l=f(t)&&t||{};if(window&&(window.liQ=function e(t){try{if(window&&window.liQ&&window.liQ.ready){let r=window.liQ.config&&function e(t,r){let n=t.appId===r.appId&&t.wrapperName===r.wrapperName&&t.collectorUrl===r.collectorUrl;if(!n)return{appId:[t.appId,r.appId],wrapperName:[t.wrapperName,r.wrapperName],collectorUrl:[t.collectorUrl,r.collectorUrl]}}(window.liQ.config,t);if(r){let n=Error();n.name="ConfigSent",n.message="Additional configuration received",b("LCDuplication",JSON.stringify(r),n)}return window.liQ}}catch(o){}}(l)||function e(t,r,n){try{!function e(t,r){t||(t=5);try{return window||r(Error("Bus can only be attached to the window, which is not present")),window&&!window[y]&&(window[y]=new I(t)),window[y]}catch(n){r(n)}}();let o=function e(t){let r=[];function n(e){let n=t&&t[e]&&d(t[e]);return n?t[e]:(r.push(e),eA)}let o={ajaxGet:n("ajaxGet"),pixelGet:n("pixelGet")};return r.length>0&&b("CallHandler",`The call functions '${JSON.stringify(r)}' are not provided`),o}(n),l=v(t,function e(t){if(!(i(t)&&i(t.gdprApplies)))return{};{let r=!!t.gdprApplies;return{privacyMode:r}}}(t));!function e(t,r){try{window&&window[y]&&d(window[y].on)&&window[y].on(C,e_),eg=new k(t,r),eh=t||{}}catch(n){}}(l,o);let u=l.privacyMode?eE.disabled:l.storageStrategy,c=function e(t,r){let n=[];function o(e){let o=r&&r[e]&&d(r[e]);return s(t,eE.disabled)?e1:o?r[e]:(n.push(e),e1)}let i=e=>s(t,eE.none)?e1:o(e),a={localStorageIsEnabled:i("localStorageIsEnabled"),getCookie:o("getCookie"),setCookie:i("setCookie"),getDataFromLocalStorage:o("getDataFromLocalStorage"),removeDataFromLocalStorage:i("removeDataFromLocalStorage"),setDataInLocalStorage:i("setDataInLocalStorage"),findSimilarCookies:o("findSimilarCookies")};return n.length>0&&b("StorageHandler",`The storage functions '${JSON.stringify(n)}' are not provided`),{get(e){if(s(t,eE.none)||s(t,eE.disabled))return null;if(!s(t,eE.localStorage))return a.getCookie(e);if(!a.localStorageIsEnabled())return null;{let r=`${e}_exp`,n=a.getDataFromLocalStorage(r);return n&&Date.parse(n)<=new Date().getTime()&&a.removeDataFromLocalStorage(e),a.getDataFromLocalStorage(e)}},set(e,r,n,o){if(s(t,eE.none)||s(t,eE.disabled));else if(s(t,eE.localStorage)){if(a.localStorageIsEnabled()){let i=`${e}_exp`;a.setDataInLocalStorage(e,r),a.setDataInLocalStorage(i,`${n}`)}}else a.setCookie(e,r,n.toUTCString(),"Lax",o)},localStorageIsEnabled:a.localStorageIsEnabled,getCookie:a.getCookie,setCookie:a.setCookie,getDataFromLocalStorage:a.getDataFromLocalStorage,removeDataFromLocalStorage:a.removeDataFromLocalStorage,setDataInLocalStorage:a.setDataInLocalStorage,findSimilarCookies:a.findSimilarCookies}}(u,r),h=(e,t)=>e.combineWith(t(e.data,c)),m=[ed,e4].reduce(h,new eu(l)),w=[ew,eI].reduce(h,m),L=v(l,{peopleVerifiedId:w.data.peopleVerifiedId}),E=()=>{var e;return e=L,void S("lips",e)},A=()=>{S("pre_lips","0")},D=new k(l,o,E,A),T=function e(t,r,n){try{let o=t||{},i=o.identityResolutionConfig||{},a=o.retrievedIdentifiers||[],l=i.expirationHours||1,u=i.source||"unknown",c=i.publisherId||"any",s=i.url||"https://idx.liadm.com/idex",d=i.ajaxTimeout||5e3,h=[];h.push($("duid",o.peopleVerifiedId)),h.push($("us_privacy",o.usPrivacyString)),h.push(p("gdpr",o.gdprApplies,e=>encodeURIComponent(e?1:0))),h.push(_("n3pc",o.privacyMode?1:0,e=>1===e)),h.push($("gdpr_consent",o.gdprConsent)),a.forEach(e=>{h.push($(e.name,e.value))});let m=e=>{let t=h.slice().concat(function e(t){if(!(t&&f(t)))return[];{let r=[];return Object.keys(t).forEach(e=>{let n=t[e];n&&!f(n)&&n.length&&r.push([encodeURIComponent(e),encodeURIComponent(n)])}),r}}(e)),r=er(t);return`${s}/${u}/${c}${r}`},v=(e,t,i)=>{let a=r.get(e8(i));if(a)e(JSON.parse(a));else{var u,c,s,f,h;n.ajaxGet(m(i),(u=r,c=o.domain,s=l,f=e,h=i,e=>{let t={};if(e)try{t=JSON.parse(e)}catch(r){x("IdentityResolverParser",r)}try{var n;u.set(e8(h),JSON.stringify(t),(n=s,g(n,36e5)),c)}catch(o){x("IdentityResolverStorage",o)}f(t)}),t,d)}};return{resolve(e,t,r){try{v(e,t,r)}catch(n){t(),x("IdentityResolve",n)}},getUrl:e=>m(e)}}catch(y){return x("IdentityResolver",y),{resolve(e,t){t(),x("IdentityResolver.resolve",y)},getUrl(){x("IdentityResolver.getUrl",y)}}}}(w.data,c,o),F=(...e)=>(function e(t,r,n){try{t.forEach(e=>{let t=e;a(t)?t.forEach(e=>e5(e,r,n)):e5(t,r,n)})}catch(o){b("LCPush","Failed sending an event",o)}})(e,D,w);return{push:F,fire:()=>F({}),peopleVerifiedId:w.data.peopleVerifiedId,ready:!0,resolve:T.resolve,resolutionCallUrl:T.getUrl,config:t}}catch(R){b("LCConstruction","Failed to build LC",R)}}(l,r,n)||o),a(o))for(let u=0;u{t(e.unifiedId)},l=e=>{t(null)};n.resolve(o,l)}(e,t)}}(),e=o}();var e,t=encodeURIComponent(screen.width).substring(0,6),r=encodeURIComponent(screen.height).substring(0,6),n=encodeURIComponent(document.referrer).substring(0,1100),o=encodeURIComponent(document.title).substring(0,200),i=encodeURIComponent(document.location).substring(0,1e3),a=encodeURIComponent(navigator.appName).substring(0,100),l=encodeURIComponent(navigator.userAgent+".lfcd"+screen.colorDepth+".lflng").substring(0,1e3),u=encodeURIComponent(document.domain).substring(0,200),c="786160",s=e.getUuid(),f=document.createElement("script");f.type="text/javascript",f.src="https://secure.enterprise-operation-inspired.com/Track/Capture.aspx?retType=js&trk_uid=&trk_user="+c+"&trk_sw="+t+"&trk_sh="+r+"&trk_ref="+n+"&trk_tit="+o+"&trk_loc="+i+"&trk_agn="+a+"&trk_agv="+l+"&trk_dom="+u+"&trk_cookie=NA&trk_culid="+s;var d=document.getElementsByTagName("script")[0];d.parentNode.insertBefore(f,d);try{e.triggerLiUid(function e(t){if(t){var r=document.createElement("script");r.type="text/javascript",r.src="https://secure.enterprise-operation-inspired.com/apollo/capture"+("?trk_culid="+s+"&liuid="+t)+"&trk_user="+c,document.body.insertBefore(r,document.body.firstChild)}},!0)}catch(h){}}();
Ultrafiltration of Whole Milk
Whole milk can be concentrated with Ultrafiltration (UF) to 1.5-3X volume concentration factor (VCF).
UF refers to a pressure driven membrane separation technique in which a membrane is employed to separate different components in a fluid mixture. UF membranes have pore sizes less than 0.01 micron. Separation occurs based on molecular size and chemical interactions between the membrane and fluid components that are in contact with the membrane. In this process, pressure is used to push water molecules through the pores of a membrane while retaining the colloidal solids and salts. Typical operating pressures range from 30-150 psi.
Permeate generated during processing is a lactose rich (65-80%) stream with ~5-6% TS.
The process performance is greatly affected by operating parameters such as feed flow rate, lower pressures, temperature, pH and micro-biological quality of feed stream, feed concentration and fouling characteristics of the membrane for various components.
UF preserves the functionality of proteins and the product does not have a cooked flavor. Processing temperatures of whole milk are typically < 50°F. Whole milk can be concentrated for several reasons: reduced volume for transportation, increased production capacities, or increased protein content.
Ultrafiltration in Skim Milk
Skim milk can be concentrated with Ultrafiltration (UF) to 1.5-10% volume concentration factor (VCF).
UF refers to a pressure driven membrane separation technique in which a membrane is employed to separate different components in a fluid mixture. UF membranes have pore sizes less than 0.01 micron. Separation occurs based on molecular size and chemical interactions between the membrane and fluid components that are in contact with the membrane. In this process, pressure is used to push water molecules through the pores of a membrane while retaining the colloidal solids and salts. Typical operating pressures range from 30-150 psi.
The process performance is greatly affected by operating parameters such as feed flow rate, lower pressures, temperature, pH and micro-biological quality of feed stream, feed concentration and fouling characteristics of the membrane for various components.
UF preserves the functionality of proteins and the product does not have a cooked flavor. Processing temperatures of whole milk are typically < 50°F or 120°F. Skim milk can be concentrated for several reasons: reduced volume for transportation, increased production capacities, or increased protein content.
Whey
Sweet Whey (pH 5.8 – 6.5)
Production of WPC35-WPC65
A complete process scheme to handle and process whey to produce whey protein concentrate (WPC). Whey is a “by-product” of cheese making; approximately ninety percent of the milk volume is generated as whey during cheese manufacture. The whey is rich in whey proteins, which provide a good nutritional source and serve to impart excellent functional properties in various products when used as specially formulated additives. However, whey proteins constitute only ten to twelve percent of the total whey solids and require further purification before their properties can be efficiently exploited.
The process begins with a fines saver to remove cheese fines from sweet whey and sequentially proceeds through tanks, pasteurizer, separator, and ultrafiltration. This process scheme will yield product that ranges from 35% to 65% WPC. A secondary product from the system is the lactose rich (i.e. 70-80%) permeate stream.
Projected UF Operating Parameters
Protein Level
35%
45%
55%
60%
65%
Volumetric Yield
17.5%
10.3%
6.1%
4.6%
3.4%
Production of WPC65-WPC80
A complete process scheme to handle and process whey to produce whey protein concentrates (WPC). Whey is a “by-product” of cheese making; approximately ninety percent of the milk volume is generated as whey during cheese manufacture. The whey is rich in whey proteins, which provide a good nutritional source and serve to impart excellent functional properties in various products when used as specially formulated additives. However, whey proteins constitute only ten to twelve percent of the total whey solids and require further purification before their properties can be efficiently exploited.
The process begins with a fines saver to remove cheese fines from sweet whey and sequentially proceeds through tanks, pasteurizer, separator, and ultrafiltration. This process scheme will yield product that ranges from 65% to 80% WPC. A portion of this system utilizes diafiltration water to “wash” some of the non-protein constituents from the product stream. A secondary product from the system is the lactose rich (i.e. 65-80%) permeate stream.
Production of WPI
The Whey Protein Isolate (WPI) Process train transforms pre-treated (pasteurized, clarified, separated) feed whey into WPI. It consists of three membrane systems placed in series:
Ultrafiltration #1 – Whey to WPC35 followed by
Microfiltration – Delipidization of WPC35 followed by
Ultrafiltration #2 – Delipidized WPC35 to WPI
Diafiltration water is added to the MF and UF #2 systems. Plants that already produce WPC35 can directly incorporate the MF and UF #2 systems to transform WPC35 into high value WPI.
The MF retentate stream is an additional source of income since it is a raw material for specific phospholipids, which have cosmetic and pharmaceutical applications.
A spray dryer (not shown in schematic) is used to convert UF#2 retentate (25% TS WPI solution) into WPI powder.
Overall WPI yield is ~ 0.5 lbs of powder per 100 lbs of whey infeed.
UF#1
MF
UF#2
Feed
Whey
WPC35
MF Permeate
Volume Conc. Factor
6 – 7
20 – 25
15 – 20
Membrane Type
Polyethersulfone
Polyvinylidene Fluoride
Polyethersulfone
Pressure
80 – 120 psi
20 – 40 psi
80 – 120 psi
Temperature
Cold (35-40° F) or Hot (~120° F)