function e(e,t){let l=e.success;if(void 0!==l){w(t,10);let e=n();(function(e,t){let l=e.resolveSuccess;if(void 0!==l){w(t,10);let e=n();(function(e,t){let i=e.configuration;if(void 0!==i){w(t,10);let e=n();(function(e,t){let i=e.configurationAssignmentId;void 0!==i&&(w(t,10),h(t,i));let l=e.fetchTimeMillis;void 0!==l&&(w(t,16),I(t,l));let a=e.assignedValues;if(void 0!==a)for(let e of a){w(t,26);let i=n();(function(e,t){let i=e.boolValue;if(void 0!==i){w(t,26);let e=n();(function(e,t){let i=e.value;void 0!==i&&(w(t,8),V(t,+!!i))})(i,e),w(t,e.limit),g(t,e),c(e)}let l=e.intValue;if(void 0!==l){w(t,34);let e=n();(function(e,t){let i=e.value;void 0!==i&&(w(t,8),I(t,o(i)))})(l,e),w(t,e.limit),g(t,e),c(e)}let a=e.enumValue;if(void 0!==a){w(t,42);let e=n();(function(e,t){let i=e.value;void 0!==i&&(w(t,10),h(t,i))})(a,e),w(t,e.limit),g(t,e),c(e)}let r=e.propertyId;if(void 0!==r){w(t,10);let e=n();(function(e,t){let i=e.scope;void 0!==i&&(w(t,10),h(t,i));let l=e.name;void 0!==l&&(w(t,18),h(t,l))})(r,e),w(t,e.limit),g(t,e),c(e)}let s=e.metadata;if(void 0!==s){w(t,18);let e=n();(function(e,t){let i=e.policyId;void 0!==i&&(w(t,8),I(t,i));let l=e.externalRealm;void 0!==l&&(w(t,18),h(t,l));let a=e.externalRealmId;void 0!==a&&(w(t,24),I(t,a))})(s,e),w(t,e.limit),g(t,e),c(e)}})(e,i),w(t,i.limit),g(t,i),c(i)}let r=e.policySnapshotId;void 0!==r&&(w(t,32),I(t,r))})(i,e),w(t,e.limit),g(t,e),c(e)}})(l,e),w(t,e.limit),g(t,e),c(e)}let a=e.resolveError;if(void 0!==a){w(t,18);let e=n();i(a,e),w(t,e.limit),g(t,e),c(e)}let r=e.accountAttributesSuccess;if(void 0!==r){w(t,26);let e=n();(function(e,t){let i=e.accountAttributes;if(void 0!==i)for(let e in i){let l=n(),a=i[e];w(l,10),h(l,e),w(l,18);let r=n();(function(e,t){let i=e.boolValue;void 0!==i&&(w(t,16),V(t,+!!i));let l=e.longValue;void 0!==l&&(w(t,24),I(t,l));let a=e.stringValue;void 0!==a&&(w(t,34),h(t,a))})(a,r),w(l,r.limit),g(l,r),c(r),w(t,10),w(t,l.offset),g(t,l),c(l)}})(r,e),w(t,e.limit),g(t,e),c(e)}let s=e.accountAttributesError;if(void 0!==s){w(t,34);let e=n();i(s,e),w(t,e.limit),g(t,e),c(e)}let u=e.fetchTimeMillis;void 0!==u&&(w(t,40),I(t,u))})(l,e),w(t,e.limit),g(t,e),c(e)}let a=e.error;if(void 0!==a){w(t,18);let e=n();i(a,e),w(t,e.limit),g(t,e),c(e)}}function t(e){let t={};e:for(;!b(e);){let i=y(e);switch(i>>>3){case 0:break e;case 1:{let i=a(e);t.success=function(e){let t={};e:for(;!b(e);){let i=y(e);switch(i>>>3){case 0:break e;case 1:{let i=a(e);t.resolveSuccess=function(e){let t={};e:for(;!b(e);){let i=y(e);switch(i>>>3){case 0:break e;case 1:{let i=a(e);t.configuration=function(e){let t={};e:for(;!b(e);){let i=y(e);switch(i>>>3){case 0:break e;case 1:t.configurationAssignmentId=v(e,y(e));break;case 2:t.fetchTimeMillis=A(e,!1);break;case 3:{let i=a(e);(t.assignedValues||(t.assignedValues=[])).push(function(e){let t={};e:for(;!b(e);){let i=y(e);switch(i>>>3){case 0:break e;case 3:{let i=a(e);t.boolValue=function(e){let t={};e:for(;!b(e);){let i=y(e);switch(i>>>3){case 0:break e;case 1:t.value=!!p(e);break;default:r(e,7&i)}}return t}(e),e.limit=i;break}case 4:{let i=a(e);t.intValue=function(e){let t={};e:for(;!b(e);){let i=y(e);switch(i>>>3){case 0:break e;case 1:t.value=y(e);break;default:r(e,7&i)}}return t}(e),e.limit=i;break}case 5:{let i=a(e);t.enumValue=function(e){let t={};e:for(;!b(e);){let i=y(e);switch(i>>>3){case 0:break e;case 1:t.value=v(e,y(e));break;default:r(e,7&i)}}return t}(e),e.limit=i;break}case 1:{let i=a(e);t.propertyId=function(e){let t={};e:for(;!b(e);){let i=y(e);switch(i>>>3){case 0:break e;case 1:t.scope=v(e,y(e));break;case 2:t.name=v(e,y(e));break;default:r(e,7&i)}}return t}(e),e.limit=i;break}case 2:{let i=a(e);t.metadata=function(e){let t={};e:for(;!b(e);){let i=y(e);switch(i>>>3){case 0:break e;case 1:t.policyId=A(e,!1);break;case 2:t.externalRealm=v(e,y(e));break;case 3:t.externalRealmId=A(e,!1);break;default:r(e,7&i)}}return t}(e),e.limit=i;break}default:r(e,7&i)}}return t}(e)),e.limit=i;break}case 4:t.policySnapshotId=A(e,!1);break;default:r(e,7&i)}}return t}(e),e.limit=i;break}default:r(e,7&i)}}return t}(e),e.limit=i;break}case 2:{let i=a(e);t.resolveError=l(e),e.limit=i;break}case 3:{let i=a(e);t.accountAttributesSuccess=function(e){let t={};e:for(;!b(e);){let i=y(e);switch(i>>>3){case 0:break e;case 1:{let i,l,o=t.accountAttributes||(t.accountAttributes={}),s=a(e);t:for(;!b(e);){let t=y(e);switch(t>>>3){case 0:break t;case 1:i=v(e,y(e));break;case 2:{let t=a(e);l=function(e){let t={};e:for(;!b(e);){let i=y(e);switch(i>>>3){case 0:break e;case 2:t.boolValue=!!p(e);break;case 3:t.longValue=A(e,!1);break;case 4:t.stringValue=v(e,y(e));break;default:r(e,7&i)}}return t}(e),e.limit=t;break}default:r(e,7&t)}}if(void 0===i||void 0===l)throw Error("Invalid data for map: accountAttributes");o[i]=l,e.limit=s;break}default:r(e,7&i)}}return t}(e),e.limit=i;break}case 4:{let i=a(e);t.accountAttributesError=l(e),e.limit=i;break}case 5:t.fetchTimeMillis=A(e,!1);break;default:r(e,7&i)}}return t}(e),e.limit=i;break}case 2:{let i=a(e);t.error=l(e),e.limit=i;break}default:r(e,7&i)}}return t}function i(e,t){let i=e.errorCode;void 0!==i&&(w(t,8),I(t,o(i)));let l=e.errorMessage;void 0!==l&&(w(t,18),h(t,l))}function l(e){let t={};e:for(;!b(e);){let i=y(e);switch(i>>>3){case 0:break e;case 1:t.errorCode=y(e);break;case 2:t.errorMessage=v(e,y(e));break;default:r(e,7&i)}}return t}function a(e){let t=y(e),i=e.limit;return e.limit=e.offset+t,i}function r(e,t){switch(t){case 0:for(;128&p(e););break;case 2:d(e,y(e));break;case 5:d(e,4);break;case 1:d(e,8);break;default:throw Error("Unimplemented type: "+t)}}function o(e){return{low:e|=0,high:e>>31,unsigned:e>=0}}new Uint8Array(new Float32Array(1).buffer),new Uint8Array(new Float64Array(1).buffer);let s=[];function n(){let e=s.pop();return e?(e.offset=e.limit=0,e):{bytes:new Uint8Array(64),offset:0,limit:0}}function c(e){s.push(e)}function u(e){return{bytes:e,offset:0,limit:e.length}}function f(e){let t=e.bytes,i=e.limit;return t.length===i?t:t.subarray(0,i)}function d(e,t){if(e.offset+t>e.limit)throw Error("Skip past limit");e.offset+=t}function b(e){return e.offset>=e.limit}function m(e,t){let i=e.bytes,l=e.offset,a=e.limit,r=l+t;if(r>i.length){let t=new Uint8Array(2*r);t.set(i),e.bytes=t}return e.offset=r,r>a&&(e.limit=r),l}function k(e,t){let i=e.offset;if(i+t>e.limit)throw Error("Read past limit");return e.offset+=t,i}function v(e,t){let i=k(e,t),l=String.fromCharCode,a=e.bytes,r="";for(let e=0;e=t||(192&(s=a[e+i+1]))!=128||(u=(31&o)<<6|63&s)<128?r+="�":(r+=l(u),e++):(240&o)==224?e+2>=t||(((s=a[e+i+1])|(n=a[e+i+2])<<8)&49344)!=32896||(u=(15&o)<<12|(63&s)<<6|63&n)<2048||u>=55296&&u<=57343?r+="�":(r+=l(u),e+=2):(248&o)==240?e+3>=t?r+="�":(s=a[e+i+1],((s|(n=a[e+i+2])<<8|(c=a[e+i+3])<<16)&0xc0c0c0)!=8421504||(u=(7&o)<<18|(63&s)<<12|(63&n)<<6|63&c)<65536||u>1114111?r+="�":(u-=65536,r+=l((u>>10)+55296,(1023&u)+56320),e+=3)):r+="�"}return r}function h(e,t){let i=t.length,l=0;for(let e=0;e=55296&&a<=56319&&e+1=55296&&l<=56319&&e+1>6&31|192:(l<65536?r[a++]=l>>12&15|224:(r[a++]=l>>18&7|240,r[a++]=l>>12&63|128),r[a++]=l>>6&63|128),r[a++]=63&l|128)}}function g(e,t){let i=m(e,t.limit),l=e.bytes,a=t.bytes;for(let e=0,r=t.limit;e>>=0;t>=128;)V(e,127&t|128),t>>>=7;V(e,t)}function A(e,t){let i,l=0,a=0,r=0;return l=127&(i=p(e)),128&i&&(l|=(127&(i=p(e)))<<7,128&i&&(l|=(127&(i=p(e)))<<14,128&i&&(l|=(127&(i=p(e)))<<21,128&i&&(a=127&(i=p(e)),128&i&&(a|=(127&(i=p(e)))<<7,128&i&&(a|=(127&(i=p(e)))<<14,128&i&&(a|=(127&(i=p(e)))<<21,128&i&&(r=127&(i=p(e)),128&i&&(r|=(127&(i=p(e)))<<7))))))))),{low:l|a<<28,high:a>>>4|r<<24,unsigned:t}}function I(e,t){let i=t.low>>>0,l=(t.low>>>28|t.high<<4)>>>0,a=t.high>>>24,r=0===a?0===l?i<16384?i<128?1:2:i<2097152?3:4:l<16384?l<128?5:6:l<2097152?7:8:a<128?9:10,o=m(e,r),s=e.bytes;switch(r){case 10:s[o+9]=a>>>7&1;case 9:s[o+8]=9!==r?128|a:127&a;case 8:s[o+7]=8!==r?l>>>21|128:l>>>21&127;case 7:s[o+6]=7!==r?l>>>14|128:l>>>14&127;case 6:s[o+5]=6!==r?l>>>7|128:l>>>7&127;case 5:s[o+4]=5!==r?128|l:127&l;case 4:s[o+3]=4!==r?i>>>21|128:i>>>21&127;case 3:s[o+2]=3!==r?i>>>14|128:i>>>14&127;case 2:s[o+1]=2!==r?i>>>7|128:i>>>7&127;case 1:s[o]=1!==r?128|i:127&i}}function E(e){Object.assign(e.accountAttributesSuccess.accountAttributes,{"is-eligible-premium-unboxing":{boolValue:!0},"feature-set-id-masked":{stringValue:"dd6ef0c22c"},"smart-shuffle":{stringValue:"AVAILABLE"},"is-euterpe":{boolValue:!0},"has-audiobooks-subscription":{boolValue:!0},type:{stringValue:"premium"},"payments-initial-campaign":{stringValue:"prepaid"},"social-session-free-tier":{boolValue:!1},can_use_superbird:{boolValue:!0},"jam-social-session":{stringValue:"EXPANDED"},offline:{boolValue:!0},"shuffle-algorithm":{stringValue:"RANDOM"},"is-thalia":{boolValue:!0},shuffle:{boolValue:!1},"is-pigeon":{boolValue:!0},"nft-disabled":{stringValue:"1"},libspotify:{boolValue:!0},"high-bitrate":{boolValue:!0},unrestricted:{boolValue:!0},catalogue:{stringValue:"premium"},"your-library-tags":{boolValue:!0},ads:{boolValue:!1},"on-demand":{boolValue:!0},name:{stringValue:"Spotify Premium"},"loudness-levels":{stringValue:"1:-5.0,0.0,3.0:-2.0"},"social-session":{boolValue:!0},"pick-and-shuffle":{boolValue:!1},"offline-backup":{stringValue:"UNRESTRICTED"},"lyrics-offline":{boolValue:!0},"financial-product":{stringValue:"pr:premium,tc:0"},"streaming-rules":{stringValue:""},"mixing-tools":{stringValue:"EDIT"},mobile:{boolValue:!0},"player-license":{stringValue:"premium"},"com.spotify.madprops.use.ucs.product.state":{boolValue:!0},"com.spotify.madprops.delivered.by.ucs":{boolValue:!0}});for(let t=e.resolveSuccess.configuration.assignedValues.length-1;t>=0;t--){let i=e.resolveSuccess.configuration.assignedValues[t],{name:l,scope:a}=i.propertyId;"ios-system-your-plan-sidedrawer"===a&&(i.boolValue.value=!1)}}$done($response=function(i,l){let s=new URL(i.url);if("/user-customization-service/v1/customize"===s.pathname){let i,a=t(u(l.body));E(a.success),e(a,i=n()),l.body=f(i)}else if("/bootstrap/v1/bootstrap"===s.pathname){let i,s=function(e){let i={};e:for(;!b(e);){let l=y(e);switch(l>>>3){case 0:break e;case 2:{let l=a(e);i.ucsResponseV0=function(e){let i={};e:for(;!b(e);){let l=y(e);switch(l>>>3){case 0:break e;case 1:{let l=a(e);i.success=function(e){let i={};e:for(;!b(e);){let l=y(e);switch(l>>>3){case 0:break e;case 1:{let l=a(e);i.customization=t(e),e.limit=l;break}default:r(e,7&l)}}return i}(e),e.limit=l;break}case 2:{let t=a(e);i.error=function(e){let t={};e:for(;!b(e);){let i=y(e);switch(i>>>3){case 0:break e;case 1:t.errorCode=y(e);break;case 2:t.message=v(e,y(e));break;case 3:t.logId=v(e,y(e));break;default:r(e,7&i)}}return t}(e),e.limit=t;break}default:r(e,7&l)}}return i}(e),e.limit=l;break}case 3:{let t=a(e);i.trialsFacadeResponseV1=function(e){let t={};e:for(;!b(e);){let i=y(e);switch(i>>>3){case 0:break e;case 1:{let i=a(e);t.success=function(e){let t={};e:for(;!b(e);){let i=y(e);switch(i>>>3){case 0:break e;case 1:t.field1=y(e);break;default:r(e,7&i)}}return t}(e),e.limit=i;break}case 2:{let i=a(e);t.error=function(e){let t={};e:for(;!b(e);){let i=y(e);switch(i>>>3){case 0:break e;case 1:t.errorCode=y(e);break;case 2:t.message=v(e,y(e));break;case 3:t.logId=v(e,y(e));break;default:r(e,7&i)}}return t}(e),e.limit=i;break}default:r(e,7&i)}}return t}(e),e.limit=t;break}default:r(e,7&l)}}return i}(u(l.body));E(s.ucsResponseV0.success.customization.success),function(t,i){let l=t.ucsResponseV0;if(void 0!==l){w(i,18);let t=n();(function(t,i){let l=t.success;if(void 0!==l){w(i,10);let t=n();(function(t,i){let l=t.customization;if(void 0!==l){w(i,10);let t=n();e(l,t),w(i,t.limit),g(i,t),c(t)}})(l,t),w(i,t.limit),g(i,t),c(t)}let a=t.error;if(void 0!==a){var r,s;let e,t,l;w(i,18);let u=n();r=a,s=u,void 0!==(e=r.errorCode)&&(w(s,8),I(s,o(e))),void 0!==(t=r.message)&&(w(s,18),h(s,t)),void 0!==(l=r.logId)&&(w(s,26),h(s,l)),w(i,u.limit),g(i,u),c(u)}})(l,t),w(i,t.limit),g(i,t),c(t)}let a=t.trialsFacadeResponseV1;if(void 0!==a){w(i,26);let e=n();(function(e,t){var i,l,a,r;let s=e.success;if(void 0!==s){let e;w(t,10);let a=n();i=s,l=a,void 0!==(e=i.field1)&&(w(l,8),I(l,o(e))),w(t,a.limit),g(t,a),c(a)}let u=e.error;if(void 0!==u){let e,i,l;w(t,18);let s=n();a=u,r=s,void 0!==(e=a.errorCode)&&(w(r,8),I(r,o(e))),void 0!==(i=a.message)&&(w(r,18),h(r,i)),void 0!==(l=a.logId)&&(w(r,26),h(r,l)),w(t,s.limit),g(t,s),c(s)}})(a,e),w(i,e.limit),g(i,e),c(e)}}(s,i=n()),l.body=f(i)}return l}($request,$response));