/* 脚本作者:Maasea 引用地址:https://raw.githubusercontent.com/Maasea/sgmodule/master/Script/Youtube/youtube.response.js */ // Build: 2026/7/19 16:16:39 (()=>{var fi=Object.create;var Me=Object.defineProperty;var di=Object.getOwnPropertyDescriptor;var pi=Object.getOwnPropertyNames;var yi=Object.getPrototypeOf,hi=Object.prototype.hasOwnProperty;var mi=(l,e,t)=>e in l?Me(l,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[e]=t;var gi=(l,e)=>()=>(e||l((e={exports:{}}).exports,e),e.exports);var bi=(l,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of pi(e))!hi.call(l,i)&&i!==t&&Me(l,i,{get:()=>e[i],enumerable:!(n=di(e,i))||n.enumerable});return l};var g=(l,e,t)=>(t=l!=null?fi(yi(l)):{},bi(e||!l||!l.__esModule?Me(t,"default",{value:l,enumerable:!0}):t,l));var pe=(l,e,t)=>(mi(l,typeof e!="symbol"?e+"":e,t),t);var h=gi(Nr=>{"use strict";(function(l){function e(){}function t(){}var n=String.fromCharCode,i={}.toString,r=i.call(l.SharedArrayBuffer),c=i(),o=l.Uint8Array,s=o||Array,a=o?ArrayBuffer:s,u=a.isView||function(I){return I&&"length"in I},B=i.call(a.prototype);a=t.prototype;var w=l.TextEncoder,b=new(o?Uint16Array:s)(32);e.prototype.decode=function(I){if(!u(I)){var $=i.call(I);if($!==B&&$!==r&&$!==c)throw TypeError("Failed to execute 'decode' on 'TextDecoder': The provided value is not of type '(ArrayBuffer or ArrayBufferView)'");I=o?new s(I):I||[]}for(var N=$="",k=0,C=I.length|0,de=C-32|0,U,S,A=0,J=0,V,j=0,M=-1;k>4){case 15:if(V=I[k=k+1|0]&255,V>>6!==2||247>6===2?J+4|0:24,S=S+256&768;case 13:case 12:V=I[k=k+1|0]&255,A<<=6,A|=(S&31)<<6|V&63,J=J+7|0,k>6===2&&A>>J&&1114112>A?(S=A,A=A-65536|0,0<=A&&(M=(A>>10)+55296|0,S=(A&1023)+56320|0,31>j?(b[j]=M,j=j+1|0,M=-1):(V=M,M=S,S=V))):(S>>=8,k=k-S-1|0,S=65533),A=J=0,U=k<=de?32:C-k|0;default:b[j]=S;continue;case 11:case 10:case 9:case 8:}b[j]=65533}if(N+=n(b[0],b[1],b[2],b[3],b[4],b[5],b[6],b[7],b[8],b[9],b[10],b[11],b[12],b[13],b[14],b[15],b[16],b[17],b[18],b[19],b[20],b[21],b[22],b[23],b[24],b[25],b[26],b[27],b[28],b[29],b[30],b[31]),32>j&&(N=N.slice(0,j-32|0)),k>>31,M=-1,N.length<$.length)continue}else M!==-1&&(N+=n(M));$+=N,N=""}return $},a.encode=function(I){I=I===void 0?"":""+I;var $=I.length|0,N=new s(($<<1)+8|0),k,C=0,de=!o;for(k=0;k<$;k=k+1|0,C=C+1|0){var U=I.charCodeAt(k)|0;if(127>=U)N[C]=U;else{if(2047>=U)N[C]=192|U>>6;else{e:{if(55296<=U)if(56319>=U){var S=I.charCodeAt(k=k+1|0)|0;if(56320<=S&&57343>=S){if(U=(U<<10)+S-56613888|0,65535>18,N[C=C+1|0]=128|U>>12&63,N[C=C+1|0]=128|U>>6&63,N[C=C+1|0]=128|U&63;continue}break e}U=65533}else 57343>=U&&(U=65533);!de&&k<<1>12,N[C=C+1|0]=128|U>>6&63}N[C=C+1|0]=128|U&63}}return o?N.subarray(0,C):N.slice(0,C)},w||(l.TextDecoder=e,l.TextEncoder=t)})(""+void 0==typeof global?""+void 0==typeof globalThis?Nr:globalThis:global)});var Wc=g(h(),1);var tc=g(h(),1);var jo=g(h());var Xi=g(h());function Be(l){let e=typeof l;if(e=="object"){if(Array.isArray(l))return"array";if(l===null)return"null"}return e}function Sr(l){return l!==null&&typeof l=="object"&&!Array.isArray(l)}var Yi=g(h()),v="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),Ie=[];for(let l=0;l>4,c=r,i=2;break;case 2:t[n++]=(c&15)<<4|(r&60)>>2,c=r,i=3;break;case 3:t[n++]=(c&3)<<6|r,i=0;break}}if(i==1)throw Error("invalid base64 string.");return t.subarray(0,n)}function Q(l){let e="",t=0,n,i=0;for(let r=0;r>2],i=(n&3)<<4,t=1;break;case 1:e+=v[i|n>>4],i=(n&15)<<2,t=2;break;case 2:e+=v[i|n>>6],e+=v[n&63],t=0;break}return t&&(e+=v[i],e+="=",t==1&&(e+="=")),e}var Zi=g(h()),d;(function(l){l.symbol=Symbol.for("protobuf-ts/unknown"),l.onRead=(t,n,i,r,c)=>{(e(n)?n[l.symbol]:n[l.symbol]=[]).push({no:i,wireType:r,data:c})},l.onWrite=(t,n,i)=>{for(let{no:r,wireType:c,data:o}of l.list(n))i.tag(r,c).raw(o)},l.list=(t,n)=>{if(e(t)){let i=t[l.symbol];return n?i.filter(r=>r.no==n):i}return[]},l.last=(t,n)=>l.list(t,n).slice(-1)[0];let e=t=>t&&Array.isArray(t[l.symbol])})(d||(d={}));var f;(function(l){l[l.Varint=0]="Varint",l[l.Bit64=1]="Bit64",l[l.LengthDelimited=2]="LengthDelimited",l[l.StartGroup=3]="StartGroup",l[l.EndGroup=4]="EndGroup",l[l.Bit32=5]="Bit32"})(f||(f={}));var la=g(h());var ra=g(h());var ea=g(h());function Or(){let l=0,e=0;for(let n=0;n<28;n+=7){let i=this.buf[this.pos++];if(l|=(i&127)<>4,!(t&128))return this.assertBounds(),[l,e];for(let n=3;n<=31;n+=7){let i=this.buf[this.pos++];if(e|=(i&127)<>>r,o=!(!(c>>>7)&&e==0),s=(o?c|128:c)&255;if(t.push(s),!o)return}let n=l>>>28&15|(e&7)<<4,i=!!(e>>3);if(t.push((i?n|128:n)&255),!!i){for(let r=3;r<31;r=r+7){let c=e>>>r,o=!!(c>>>7),s=(o?c|128:c)&255;if(t.push(s),!o)return}t.push(e>>>31&1)}}var Ce=(1<<16)*(1<<16);function ve(l){let e=l[0]=="-";e&&(l=l.slice(1));let t=1e6,n=0,i=0;function r(c,o){let s=Number(l.slice(c,o));i*=t,n=n*t+s,n>=Ce&&(i=i+(n/Ce|0),n=n%Ce)}return r(-24,-18),r(-18,-12),r(-12,-6),r(-6),[e,n,i]}function We(l,e){if(e>>>0<=2097151)return""+(Ce*e+(l>>>0));let t=l&16777215,n=(l>>>24|e<<8)>>>0&16777215,i=e>>16&65535,r=t+n*6777216+i*6710656,c=n+i*8147497,o=i*2,s=1e7;r>=s&&(c+=Math.floor(r/s),r%=s),c>=s&&(o+=Math.floor(c/s),c%=s);function a(u,B){let w=u?String(u):"";return B?"0000000".slice(w.length)+w:w}return a(o,0)+a(c,o)+a(r,1)}function Ge(l,e){if(l>=0){for(;l>127;)e.push(l&127|128),l=l>>>7;e.push(l)}else{for(let t=0;t<9;t++)e.push(l&127|128),l=l>>7;e.push(1)}}function Pr(){let l=this.buf[this.pos++],e=l&127;if(!(l&128))return this.assertBounds(),e;if(l=this.buf[this.pos++],e|=(l&127)<<7,!(l&128))return this.assertBounds(),e;if(l=this.buf[this.pos++],e|=(l&127)<<14,!(l&128))return this.assertBounds(),e;if(l=this.buf[this.pos++],e|=(l&127)<<21,!(l&128))return this.assertBounds(),e;l=this.buf[this.pos++],e|=(l&15)<<28;for(let t=5;l&128&&t<10;t++)l=this.buf[this.pos++];if(l&128)throw new Error("invalid varint");return this.assertBounds(),e>>>0}var x;function ki(){let l=new DataView(new ArrayBuffer(8));x=globalThis.BigInt!==void 0&&typeof l.getBigInt64=="function"&&typeof l.getBigUint64=="function"&&typeof l.setBigInt64=="function"&&typeof l.setBigUint64=="function"?{MIN:BigInt("-9223372036854775808"),MAX:BigInt("9223372036854775807"),UMIN:BigInt("0"),UMAX:BigInt("18446744073709551615"),C:BigInt,V:l}:void 0}ki();function Ur(l){if(!l)throw new Error("BigInt unavailable, see https://github.com/timostamm/protobuf-ts/blob/v1.0.8/MANUAL.md#bigint-support")}var Er=/^-?[0-9]+$/,Se=4294967296,Ne=2147483648,Oe=class{constructor(e,t){this.lo=e|0,this.hi=t|0}isZero(){return this.lo==0&&this.hi==0}toNumber(){let e=this.hi*Se+(this.lo>>>0);if(!Number.isSafeInteger(e))throw new Error("cannot convert to safe number");return e}},O=class extends Oe{static from(e){if(x)switch(typeof e){case"string":if(e=="0")return this.ZERO;if(e=="")throw new Error("string is no integer");e=x.C(e);case"number":if(e===0)return this.ZERO;e=x.C(e);case"bigint":if(!e)return this.ZERO;if(ex.UMAX)throw new Error("ulong too large");return x.V.setBigUint64(0,e,!0),new O(x.V.getInt32(0,!0),x.V.getInt32(4,!0))}else switch(typeof e){case"string":if(e=="0")return this.ZERO;if(e=e.trim(),!Er.test(e))throw new Error("string is no integer");let[t,n,i]=ve(e);if(t)throw new Error("signed value for ulong");return new O(n,i);case"number":if(e==0)return this.ZERO;if(!Number.isSafeInteger(e))throw new Error("number is no integer");if(e<0)throw new Error("signed value for ulong");return new O(e,e/Se)}throw new Error("unknown value "+typeof e)}toString(){return x?this.toBigInt().toString():We(this.lo,this.hi)}toBigInt(){return Ur(x),x.V.setInt32(0,this.lo,!0),x.V.setInt32(4,this.hi,!0),x.V.getBigUint64(0,!0)}};O.ZERO=new O(0,0);var T=class extends Oe{static from(e){if(x)switch(typeof e){case"string":if(e=="0")return this.ZERO;if(e=="")throw new Error("string is no integer");e=x.C(e);case"number":if(e===0)return this.ZERO;e=x.C(e);case"bigint":if(!e)return this.ZERO;if(ex.MAX)throw new Error("signed long too large");return x.V.setBigInt64(0,e,!0),new T(x.V.getInt32(0,!0),x.V.getInt32(4,!0))}else switch(typeof e){case"string":if(e=="0")return this.ZERO;if(e=e.trim(),!Er.test(e))throw new Error("string is no integer");let[t,n,i]=ve(e);if(t){if(i>Ne||i==Ne&&n!=0)throw new Error("signed long too small")}else if(i>=Ne)throw new Error("signed long too large");let r=new T(n,i);return t?r.negate():r;case"number":if(e==0)return this.ZERO;if(!Number.isSafeInteger(e))throw new Error("number is no integer");return e>0?new T(e,e/Se):new T(-e,-e/Se).negate()}throw new Error("unknown value "+typeof e)}isNegative(){return(this.hi&Ne)!==0}negate(){let e=~this.hi,t=this.lo;return t?t=~t+1:e+=1,new T(t,e)}toString(){if(x)return this.toBigInt().toString();if(this.isNegative()){let e=this.negate();return"-"+We(e.lo,e.hi)}return We(this.lo,this.hi)}toBigInt(){return Ur(x),x.V.setInt32(0,this.lo,!0),x.V.setInt32(4,this.hi,!0),x.V.getBigInt64(0,!0)}};T.ZERO=new T(0,0);var Fr={readUnknownField:!0,readerFactory:l=>new Ke(l)};function Lr(l){return l?Object.assign(Object.assign({},Fr),l):Fr}var Ke=class{constructor(e,t){this.varint64=Or,this.uint32=Pr,this.buf=e,this.len=e.length,this.pos=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength),this.textDecoder=t??new TextDecoder("utf-8",{fatal:!0,ignoreBOM:!0})}tag(){let e=this.uint32(),t=e>>>3,n=e&7;if(t<=0||n<0||n>5)throw new Error("illegal tag: field no "+t+" wire type "+n);return[t,n]}skip(e){let t=this.pos;switch(e){case f.Varint:for(;this.buf[this.pos++]&128;);break;case f.Bit64:this.pos+=4;case f.Bit32:this.pos+=4;break;case f.LengthDelimited:let n=this.uint32();this.pos+=n;break;case f.StartGroup:let i;for(;(i=this.tag()[1])!==f.EndGroup;)this.skip(i);break;default:throw new Error("cant skip wire type "+e)}return this.assertBounds(),this.buf.subarray(t,this.pos)}assertBounds(){if(this.pos>this.len)throw new RangeError("premature EOF")}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)}int64(){return new T(...this.varint64())}uint64(){return new O(...this.varint64())}sint64(){let[e,t]=this.varint64(),n=-(e&1);return e=(e>>>1|(t&1)<<31)^n,t=t>>>1^n,new T(e,t)}bool(){let[e,t]=this.varint64();return e!==0||t!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return new O(this.sfixed32(),this.sfixed32())}sfixed64(){return new T(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let e=this.uint32(),t=this.pos;return this.pos+=e,this.assertBounds(),this.buf.subarray(t,t+e)}string(){return this.textDecoder.decode(this.bytes())}};var ha=g(h());var ua=g(h());function R(l,e){if(!l)throw new Error(e)}var Ri=34028234663852886e22,wi=-34028234663852886e22,Bi=4294967295,Ii=2147483647,Ti=-2147483648;function H(l){if(typeof l!="number")throw new Error("invalid int 32: "+typeof l);if(!Number.isInteger(l)||l>Ii||lBi||l<0)throw new Error("invalid uint 32: "+l)}function ee(l){if(typeof l!="number")throw new Error("invalid float 32: "+typeof l);if(Number.isFinite(l)&&(l>Ri||lnew He};function Dr(l){return l?Object.assign(Object.assign({},Ar),l):Ar}var He=class{constructor(e){this.stack=[],this.textEncoder=e??new TextEncoder,this.chunks=[],this.buf=[]}finish(){this.chunks.push(new Uint8Array(this.buf));let e=0;for(let i=0;i>>0)}raw(e){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(e),this}uint32(e){for(X(e);e>127;)this.buf.push(e&127|128),e=e>>>7;return this.buf.push(e),this}int32(e){return H(e),Ge(e,this.buf),this}bool(e){return this.buf.push(e?1:0),this}bytes(e){return this.uint32(e.byteLength),this.raw(e)}string(e){let t=this.textEncoder.encode(e);return this.uint32(t.byteLength),this.raw(t)}float(e){ee(e);let t=new Uint8Array(4);return new DataView(t.buffer).setFloat32(0,e,!0),this.raw(t)}double(e){let t=new Uint8Array(8);return new DataView(t.buffer).setFloat64(0,e,!0),this.raw(t)}fixed32(e){X(e);let t=new Uint8Array(4);return new DataView(t.buffer).setUint32(0,e,!0),this.raw(t)}sfixed32(e){H(e);let t=new Uint8Array(4);return new DataView(t.buffer).setInt32(0,e,!0),this.raw(t)}sint32(e){return H(e),e=(e<<1^e>>31)>>>0,Ge(e,this.buf),this}sfixed64(e){let t=new Uint8Array(8),n=new DataView(t.buffer),i=T.from(e);return n.setInt32(0,i.lo,!0),n.setInt32(4,i.hi,!0),this.raw(t)}fixed64(e){let t=new Uint8Array(8),n=new DataView(t.buffer),i=O.from(e);return n.setInt32(0,i.lo,!0),n.setInt32(4,i.hi,!0),this.raw(t)}int64(e){let t=T.from(e);return xe(t.lo,t.hi,this.buf),this}sint64(e){let t=T.from(e),n=t.hi>>31,i=t.lo<<1^n,r=(t.hi<<1|t.lo>>>31)^n;return xe(i,r,this.buf),this}uint64(e){let t=O.from(e);return xe(t.lo,t.hi,this.buf),this}};var ga=g(h()),$r={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0},jr={ignoreUnknownFields:!1};function Vr(l){return l?Object.assign(Object.assign({},jr),l):jr}function Mr(l){return l?Object.assign(Object.assign({},$r),l):$r}var ka=g(h()),Pe=Symbol.for("protobuf-ts/message-type");var Ao=g(h());var Ta=g(h());var wa=g(h());function _e(l){let e=!1,t=[];for(let n=0;n!i.includes(c))||!n&&i.some(c=>!r.known.includes(c)))return!1;if(t<1)return!0;for(let c of r.oneofs){let o=e[c];if(!Gr(o))return!1;if(o.oneofKind===void 0)continue;let s=this.fields.find(a=>a.localName===o.oneofKind);if(!s||!this.field(o[o.oneofKind],s,n,t))return!1}for(let c of this.fields)if(c.oneof===void 0&&!this.field(e[c.localName],c,n,t))return!1;return!0}field(e,t,n,i){let r=t.repeat;switch(t.kind){case"scalar":return e===void 0?t.opt:r?this.scalars(e,t.T,i,t.L):this.scalar(e,t.T,t.L);case"enum":return e===void 0?t.opt:r?this.scalars(e,p.INT32,i):this.scalar(e,p.INT32);case"message":return e===void 0?!0:r?this.messages(e,t.T(),n,i):this.message(e,t.T(),n,i);case"map":if(typeof e!="object"||e===null)return!1;if(i<2)return!0;if(!this.mapKeys(e,t.K,i))return!1;switch(t.V.kind){case"scalar":return this.scalars(Object.values(e),t.V.T,i,t.V.L);case"enum":return this.scalars(Object.values(e),p.INT32,i);case"message":return this.messages(Object.values(e),t.V.T(),n,i)}break}return!0}message(e,t,n,i){return n?t.isAssignable(e,i):t.is(e,i)}messages(e,t,n,i){if(!Array.isArray(e))return!1;if(i<2)return!0;if(n){for(let r=0;rparseInt(r)),t,n);case p.BOOL:return this.scalars(i.slice(0,n).map(r=>r=="true"?!0:r=="false"?!1:r),t,n);default:return this.scalars(i,t,n,L.STRING)}}};var Ma=g(h());var Ea=g(h());function D(l,e){switch(e){case L.BIGINT:return l.toBigInt();case L.NUMBER:return l.toNumber();default:return l.toString()}}var Ee=class{constructor(e){this.info=e}prepare(){var e;if(this.fMap===void 0){this.fMap={};let t=(e=this.info.fields)!==null&&e!==void 0?e:[];for(let n of t)this.fMap[n.name]=n,this.fMap[n.jsonName]=n,this.fMap[n.localName]=n}}assert(e,t,n){if(!e){let i=Be(n);throw(i=="number"||i=="boolean")&&(i=n.toString()),new Error(`Cannot parse JSON ${i} for ${this.info.typeName}#${t}`)}}read(e,t,n){this.prepare();let i=[];for(let[r,c]of Object.entries(e)){let o=this.fMap[r];if(!o){if(!n.ignoreUnknownFields)throw new Error(`Found unknown field while reading ${this.info.typeName} from JSON format. JSON key: ${r}`);continue}let s=o.localName,a;if(o.oneof){if(c===null&&(o.kind!=="enum"||o.T()[0]!=="google.protobuf.NullValue"))continue;if(i.includes(o.oneof))throw new Error(`Multiple members of the oneof group "${o.oneof}" of ${this.info.typeName} are present in JSON.`);i.push(o.oneof),a=t[o.oneof]={oneofKind:s}}else a=t;if(o.kind=="map"){if(c===null)continue;this.assert(Sr(c),o.name,c);let u=a[s];for(let[B,w]of Object.entries(c)){this.assert(w!==null,o.name+" map value",null);let b;switch(o.V.kind){case"message":b=o.V.T().internalJsonRead(w,n);break;case"enum":if(b=this.enum(o.V.T(),w,o.name,n.ignoreUnknownFields),b===!1)continue;break;case"scalar":b=this.scalar(w,o.V.T,o.V.L,o.name);break}this.assert(b!==void 0,o.name+" map value",w);let I=B;o.K==p.BOOL&&(I=I=="true"?!0:I=="false"?!1:I),I=this.scalar(I,o.K,L.STRING,o.name).toString(),u[I]=b}}else if(o.repeat){if(c===null)continue;this.assert(Array.isArray(c),o.name,c);let u=a[s];for(let B of c){this.assert(B!==null,o.name,null);let w;switch(o.kind){case"message":w=o.T().internalJsonRead(B,n);break;case"enum":if(w=this.enum(o.T(),B,o.name,n.ignoreUnknownFields),w===!1)continue;break;case"scalar":w=this.scalar(B,o.T,o.L,o.name);break}this.assert(w!==void 0,o.name,c),u.push(w)}}else switch(o.kind){case"message":if(c===null&&o.T().typeName!="google.protobuf.Value"){this.assert(o.oneof===void 0,o.name+" (oneof member)",null);continue}a[s]=o.T().internalJsonRead(c,n,a[s]);break;case"enum":let u=this.enum(o.T(),c,o.name,n.ignoreUnknownFields);if(u===!1)continue;a[s]=u;break;case"scalar":a[s]=this.scalar(c,o.T,o.L,o.name);break}}}enum(e,t,n,i){if(e[0]=="google.protobuf.NullValue"&&R(t===null||t==="NULL_VALUE",`Unable to parse field ${this.info.typeName}#${n}, enum ${e[0]} only accepts null.`),t===null)return 0;switch(typeof t){case"number":return R(Number.isInteger(t),`Unable to parse field ${this.info.typeName}#${n}, enum can only be integral number, got ${t}.`),t;case"string":let r=t;e[2]&&t.substring(0,e[2].length)===e[2]&&(r=t.substring(e[2].length));let c=e[1][r];return typeof c>"u"&&i?!1:(R(typeof c=="number",`Unable to parse field ${this.info.typeName}#${n}, enum ${e[0]} has no value for "${t}".`),c)}R(!1,`Unable to parse field ${this.info.typeName}#${n}, cannot parse enum value from ${typeof t}".`)}scalar(e,t,n,i){let r;try{switch(t){case p.DOUBLE:case p.FLOAT:if(e===null)return 0;if(e==="NaN")return Number.NaN;if(e==="Infinity")return Number.POSITIVE_INFINITY;if(e==="-Infinity")return Number.NEGATIVE_INFINITY;if(e===""){r="empty string";break}if(typeof e=="string"&&e.trim().length!==e.length){r="extra whitespace";break}if(typeof e!="string"&&typeof e!="number")break;let c=Number(e);if(Number.isNaN(c)){r="not a number";break}if(!Number.isFinite(c)){r="too large or small";break}return t==p.FLOAT&&ee(c),c;case p.INT32:case p.FIXED32:case p.SFIXED32:case p.SINT32:case p.UINT32:if(e===null)return 0;let o;if(typeof e=="number"?o=e:e===""?r="empty string":typeof e=="string"&&(e.trim().length!==e.length?r="extra whitespace":o=Number(e)),o===void 0)break;return t==p.UINT32?X(o):H(o),o;case p.INT64:case p.SFIXED64:case p.SINT64:if(e===null)return D(T.ZERO,n);if(typeof e!="number"&&typeof e!="string")break;return D(T.from(e),n);case p.FIXED64:case p.UINT64:if(e===null)return D(O.ZERO,n);if(typeof e!="number"&&typeof e!="string")break;return D(O.from(e),n);case p.BOOL:if(e===null)return!1;if(typeof e!="boolean")break;return e;case p.STRING:if(e===null)return"";if(typeof e!="string"){r="extra whitespace";break}try{encodeURIComponent(e)}catch(s){s="invalid UTF8";break}return e;case p.BYTES:if(e===null||e==="")return new Uint8Array(0);if(typeof e!="string")break;return Te(e)}}catch(c){r=c.message}this.assert(!1,i+(r?" - "+r:""),e)}};var Ja=g(h());var Fe=class{constructor(e){var t;this.fields=(t=e.fields)!==null&&t!==void 0?t:[]}write(e,t){let n={},i=e;for(let r of this.fields){if(!r.oneof){let a=this.field(r,i[r.localName],t);a!==void 0&&(n[t.useProtoFieldName?r.name:r.jsonName]=a);continue}let c=i[r.oneof];if(c.oneofKind!==r.localName)continue;let o=r.kind=="scalar"||r.kind=="enum"?Object.assign(Object.assign({},t),{emitDefaultValues:!0}):t,s=this.field(r,c[r.localName],o);R(s!==void 0),n[t.useProtoFieldName?r.name:r.jsonName]=s}return n}field(e,t,n){let i;if(e.kind=="map"){R(typeof t=="object"&&t!==null);let r={};switch(e.V.kind){case"scalar":for(let[s,a]of Object.entries(t)){let u=this.scalar(e.V.T,a,e.name,!1,!0);R(u!==void 0),r[s.toString()]=u}break;case"message":let c=e.V.T();for(let[s,a]of Object.entries(t)){let u=this.message(c,a,e.name,n);R(u!==void 0),r[s.toString()]=u}break;case"enum":let o=e.V.T();for(let[s,a]of Object.entries(t)){R(a===void 0||typeof a=="number");let u=this.enum(o,a,e.name,!1,!0,n.enumAsInteger);R(u!==void 0),r[s.toString()]=u}break}(n.emitDefaultValues||Object.keys(r).length>0)&&(i=r)}else if(e.repeat){R(Array.isArray(t));let r=[];switch(e.kind){case"scalar":for(let s=0;s0||n.emitDefaultValues)&&(i=r)}else switch(e.kind){case"scalar":i=this.scalar(e.T,t,e.name,e.opt,n.emitDefaultValues);break;case"enum":i=this.enum(e.T(),t,e.name,e.opt,n.emitDefaultValues,n.enumAsInteger);break;case"message":i=this.message(e.T(),t,e.name,n);break}return i}enum(e,t,n,i,r,c){if(e[0]=="google.protobuf.NullValue")return!r&&!i?void 0:null;if(t===void 0){R(i);return}if(!(t===0&&!r&&!i))return R(typeof t=="number"),R(Number.isInteger(t)),c||!e[1].hasOwnProperty(t)?t:e[2]?e[2]+e[1][t]:e[1][t]}message(e,t,n,i){return t===void 0?i.emitDefaultValues?null:void 0:e.internalJsonWrite(t,i)}scalar(e,t,n,i,r){if(t===void 0){R(i);return}let c=r||i;switch(e){case p.INT32:case p.SFIXED32:case p.SINT32:return t===0?c?0:void 0:(H(t),t);case p.FIXED32:case p.UINT32:return t===0?c?0:void 0:(X(t),t);case p.FLOAT:ee(t);case p.DOUBLE:return t===0?c?0:void 0:(R(typeof t=="number"),Number.isNaN(t)?"NaN":t===Number.POSITIVE_INFINITY?"Infinity":t===Number.NEGATIVE_INFINITY?"-Infinity":t);case p.STRING:return t===""?c?"":void 0:(R(typeof t=="string"),t);case p.BOOL:return t===!1?c?!1:void 0:(R(typeof t=="boolean"),t);case p.UINT64:case p.FIXED64:R(typeof t=="number"||typeof t=="string"||typeof t=="bigint");let o=O.from(t);return o.isZero()&&!c?void 0:o.toString();case p.INT64:case p.SFIXED64:case p.SINT64:R(typeof t=="number"||typeof t=="string"||typeof t=="bigint");let s=T.from(t);return s.isZero()&&!c?void 0:s.toString();case p.BYTES:return R(t instanceof Uint8Array),t.byteLength?Q(t):c?"":void 0}}};var io=g(h());var Za=g(h());function he(l,e=L.STRING){switch(l){case p.BOOL:return!1;case p.UINT64:case p.FIXED64:return D(O.ZERO,e);case p.INT64:case p.SFIXED64:case p.SINT64:return D(T.ZERO,e);case p.DOUBLE:case p.FLOAT:return 0;case p.BYTES:return new Uint8Array(0);case p.STRING:return"";default:return 0}}var Le=class{constructor(e){this.info=e}prepare(){var e;if(!this.fieldNoToField){let t=(e=this.info.fields)!==null&&e!==void 0?e:[];this.fieldNoToField=new Map(t.map(n=>[n.no,n]))}}read(e,t,n,i){this.prepare();let r=i===void 0?e.len:e.pos+i;for(;e.post.no-n.no)}}write(e,t,n){this.prepare();for(let r of this.fields){let c,o,s=r.repeat,a=r.localName;if(r.oneof){let u=e[r.oneof];if(u.oneofKind!==a)continue;c=u[a],o=!0}else c=e[a],o=!1;switch(r.kind){case"scalar":case"enum":let u=r.kind=="enum"?p.INT32:r.T;if(s)if(R(Array.isArray(c)),s==ye.PACKED)this.packed(t,u,r.no,c);else for(let B of c)this.scalar(t,u,r.no,B,!0);else c===void 0?R(r.opt):this.scalar(t,u,r.no,c,o||r.opt);break;case"message":if(s){R(Array.isArray(c));for(let B of c)this.message(t,n,r.T(),r.no,B)}else this.message(t,n,r.T(),r.no,c);break;case"map":R(typeof c=="object"&&c!==null);for(let[B,w]of Object.entries(c))this.mapEntry(t,n,r,B,w);break}}let i=n.writeUnknownFields;i!==!1&&(i===!0?d.onWrite:i)(this.info.typeName,e,t)}mapEntry(e,t,n,i,r){e.tag(n.no,f.LengthDelimited),e.fork();let c=i;switch(n.K){case p.INT32:case p.FIXED32:case p.UINT32:case p.SFIXED32:case p.SINT32:c=Number.parseInt(i);break;case p.BOOL:R(i=="true"||i=="false"),c=i=="true";break}switch(this.scalar(e,n.K,1,c,!0),n.V.kind){case"scalar":this.scalar(e,n.V.T,2,r,!0);break;case"enum":this.scalar(e,p.INT32,2,r,!0);break;case"message":this.message(e,t,n.V.T(),2,r);break}e.join()}message(e,t,n,i,r){r!==void 0&&(n.internalBinaryWrite(r,e.tag(i,f.LengthDelimited).fork(),t),e.join())}scalar(e,t,n,i,r){let[c,o,s]=this.scalarInfo(t,i);(!s||r)&&(e.tag(n,c),e[o](i))}packed(e,t,n,i){if(!i.length)return;R(t!==p.BYTES&&t!==p.STRING),e.tag(n,f.LengthDelimited),e.fork();let[,r]=this.scalarInfo(t);for(let c=0;cq}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return t.runs=[],e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posqe}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return t.serviceTrackingParams=[],e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posYe}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return t.service=0,t.params=[],e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.pos$e},{no:9,name:"content",kind:"message",T:()=>E},{no:10,name:"onResponseReceivedAction",kind:"message",T:()=>E}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.poset},{no:153515154,name:"elementRenderer",kind:"message",T:()=>ne},{no:49399797,name:"sectionListRenderer",kind:"message",T:()=>Y}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.postt}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return t.tabs=[],e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posnt}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posE}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posrt}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return t.sectionListSupportedRenderers=[],e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posz},{no:51845067,name:"shelfRenderer",kind:"message",T:()=>dt},{no:221496734,name:"musicDescriptionShelfRenderer",kind:"message",T:()=>ht}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.poste}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return t.richItemContents=[],e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posne}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posit}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posat},{no:2,name:"renderInfo",kind:"message",T:()=>ut}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posot}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posst}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.poslt}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posct}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posq},{no:2,name:"footerLabel",kind:"scalar",T:9}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return t.runs=[],t.footerLabel="",e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posft}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.pospt}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posyt}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.poste}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return t.richItemContents=[],e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posW},{no:10,name:"footer",kind:"message",T:()=>W}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.pos$t},{no:8,name:"onResponseReceivedAction",kind:"message",T:()=>E}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posjt}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posE}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posE},{no:7,name:"onResponseReceivedCommand",kind:"message",T:()=>Gt}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posz},{no:49399797,name:"appendContinuationItemsAction",kind:"message",T:()=>Y}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.pos_t}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return t.entries=[],e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posJt}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posXt}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posYt},{no:16,name:"adClientParams",kind:"message",T:()=>qt}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.poszt}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posie},{no:6,name:"iconItems",kind:"message",repeat:1,T:()=>ie}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return t.labelItems=[],t.iconItems=[],e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.poson}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.possn}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return t.rendererItems=[],e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posae},{no:117501096,name:"labelRender",kind:"message",T:()=>ae}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.pospn},{no:2,name:"playabilityStatus",kind:"message",T:()=>hn},{no:9,name:"playbackTracking",kind:"message",T:()=>bn},{no:10,name:"captions",kind:"message",T:()=>kn},{no:68,name:"adSlots",kind:"message",repeat:1,T:()=>Bn}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return t.adPlacements=[],t.adSlots=[],e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posyn}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posme},{no:11,name:"backgroundPlayerRender",kind:"message",T:()=>ge}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posmn}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posgn}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posP},{no:2,name:"videostatsDelayplayUrl",kind:"message",T:()=>P},{no:3,name:"videostatsWatchtimeUrl",kind:"message",T:()=>P},{no:4,name:"ptrackingUrl",kind:"message",T:()=>P},{no:5,name:"qoeUrl",kind:"message",T:()=>P},{no:13,name:"atrUrl",kind:"message",T:()=>P},{no:15,name:"videostatsEngageUrl",kind:"message",T:()=>P},{no:18,name:"pageadViewthroughconversion",kind:"message",T:()=>P}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posRn}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posbe},{no:2,name:"audioTracks",kind:"message",repeat:1,T:()=>wn},{no:3,name:"translationLanguages",kind:"message",repeat:1,T:()=>ke},{no:4,name:"defaultAudioTrackIndex",kind:"scalar",opt:!0,T:5},{no:6,name:"defaultCaptionTrackIndex",kind:"scalar",opt:!0,T:5}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return t.captionTracks=[],t.audioTracks=[],t.translationLanguages=[],e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posW},{no:3,name:"vssId",kind:"scalar",T:9},{no:4,name:"languageCode",kind:"scalar",T:9},{no:5,name:"kind",kind:"scalar",opt:!0,T:9},{no:6,name:"rtl",kind:"scalar",opt:!0,T:8},{no:7,name:"isTranslatable",kind:"scalar",T:8}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return t.baseUrl="",t.vssId="",t.languageCode="",t.isTranslatable=!1,e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posW}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return t.languageCode="",e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posIn}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.pos_},{no:7,name:"CollectionItems",kind:"message",jsonName:"CollectionItems",repeat:1,T:()=>_}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return t.settingItems=[],t.collectionItems=[],e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posMn},{no:66930374,name:"settingCategoryCollectionRenderer",kind:"message",T:()=>vn}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posW},{no:2,name:"backgroundPlayback",kind:"scalar",T:8},{no:3,name:"download",kind:"scalar",T:8},{no:5,name:"trackingParams",kind:"scalar",T:12},{no:9,name:"downloadQualitySelection",kind:"scalar",T:8},{no:10,name:"smartDownload",kind:"scalar",T:8},{no:14,name:"icon",kind:"message",T:()=>le}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return t.backgroundPlayback=!1,t.download=!1,t.trackingParams=new Uint8Array(0),t.downloadQualitySelection=!1,t.smartDownload=!1,e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posW},{no:3,name:"subSettings",kind:"message",repeat:1,T:()=>Re},{no:4,name:"categoryId",kind:"scalar",T:5},{no:5,name:"icon",kind:"message",T:()=>le}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return t.subSettings=[],t.categoryId=0,e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posGn}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posW},{no:3,name:"description",kind:"message",T:()=>W},{no:5,name:"enableServiceEndpoint",kind:"message",T:()=>se},{no:6,name:"disableServiceEndpoint",kind:"message",T:()=>se},{no:15,name:"itemId",kind:"scalar",T:5}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return t.itemId=0,e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posKn}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posHn}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.pos_n},{no:3,name:"boolValue",kind:"scalar",T:8}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return t.boolValue=!1,e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posZ}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return t.contents=[],e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posoe},{no:3,name:"next",kind:"message",T:()=>re}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posor}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.possr}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.poslr},{no:7,name:"hotConfigGroup",kind:"message",T:()=>cr},{no:4,name:"hot_hash_data",kind:"scalar",opt:!0,T:9},{no:5,name:"cold_hash_data",kind:"scalar",opt:!0,T:9}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posur}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posfr}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.pos(n[n.NONE=0]="NONE",n[n.GZIP=1]="GZIP",n[n.BROTLI=2]="BROTLI",n))(ti||{}),Rr=class extends m{constructor(){super("youtube.ump.encrypted.EncryptedInnertubeResponsePart",[{no:1,name:"encryptedContent",kind:"scalar",T:12},{no:2,name:"hmac",kind:"scalar",T:12},{no:3,name:"iv",kind:"scalar",T:12},{no:4,name:"compressionAlgorithm",kind:"enum",T:()=>["youtube.ump.encrypted.CompressionAlgorithm",ti]}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return t.encryptedContent=new Uint8Array(0),t.hmac=new Uint8Array(0),t.iv=new Uint8Array(0),t.compressionAlgorithm=0,e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.posZ}])}create(e){let t=globalThis.Object.create(this.messagePrototype);return t.contents=[],e!==void 0&&y(this,t,e),t}internalBinaryRead(e,t,n,i){let r=i??this.create(),c=e.pos+t;for(;e.pos{let n=t.captionTracks,i=t.audioTracks;if(Array.isArray(n)){let r={[e]:2,en:1},c=-1,o=0;for(let s=0;sc&&(c=u,o=s),a.isTranslatable=!0}if(c!==2){let s=be.create({baseUrl:n[o].baseUrl+`&tlang=${e}`,name:{runs:[{text:`@Enhance (${e})`}]},vssId:`.${e}`,languageCode:e});n.push(s)}if(Array.isArray(i)){let s=c===2?o:n.length-1;for(let a of i)a.captionTrackIndices?.includes(s)||a.captionTrackIndices.push(s),a.defaultCaptionTrackIndex=s,a.captionsInitialState=3}}return t.translationLanguages=Object.entries(Oi).map(([r,c])=>ke.create({languageCode:r,languageName:{runs:[{text:c}]}})),!0})}function Br(l,e){Ni(l),Si(l),Pi(l,e)}function ni(l){if(l.length<1e3)return!1;let e=[112,97,103,101,97,100],t=l.length,n=e.length,i=new Int32Array(256).fill(n+1);for(let c=0;cni(t.data))??!1:!1}function Ei(l,e){let t=l.no;if(e.whiteNo.includes(t))return!1;if(e.blackNo.includes(t))return!0;let n=ni(l.data);return n?e.blackNo.push(t):e.whiteNo.push(t),e.dirty=!0,n}function Fi(l,e){let t=!1;return ce(l,"renderInfo",n=>{let i=n.renderInfo?.layoutRender?.eml?.split("|")?.[0]??"";if(e.whiteEml.includes(i))t=!1;else if(e.blackEml.includes(i)||/shorts(?!_pivot_item)/.test(i))t=!0;else{let r=n?.videoInfo?.videoContext?.videoContent;r&&(t=Ui(r),t?e.blackEml.push(i):e.whiteEml.push(i),e.dirty=!0)}return!0}),t}function Li(l,e){let t=d.list(l)[0];return t?Ei(t,e):Fi(l,e)}function Ir(l,e){let t=!1;return ce(l,"richItemContents",n=>{let i=n.richItemContents;if(!Array.isArray(i))return!1;for(let r=i.length-1;r>=0;r--)Li(i[r],e)&&(i.splice(r,1),t=!0)}),t}function Tr(l,{state:e}){return{bodyChanged:Ir(l,e.adCache),stateChanged:e.adCache.dirty}}function Ai(l,{params:e}){return Br(l,e.captionLang),{bodyChanged:!0,stateChanged:!1}}function Di(l){let e=!1,t=l.entries?.length??0;for(let n=t-1;n>=0;n--)l.entries[n].command?.reelWatchEndpoint?.adClientParams?.isAd&&(l.entries.splice(n,1),e=!0);return{bodyChanged:e,stateChanged:!1}}function $i(l,{params:e}){let t=["SPunlimited"];e.blockUpload&&t.push("FEuploads"),e.blockImmersive&&t.push("FEmusic_immersive"),e.blockShorts&&t.push("FEshorts");let n=!1;return ce(l,"rendererItems",i=>{for(let r=i.rendererItems.length-1;r>=0;r--){let c=i.rendererItems[r]?.iconRender?.browseId??i.rendererItems[r]?.labelRender?.browseId;c&&t.includes(c)&&(i.rendererItems.splice(r,1),n=!0)}}),{bodyChanged:n,stateChanged:!1}}function ji(l){return ce(l.settingItems,"categoryId",e=>{e.categoryId===10135&&e.subSettings.push(Re.create({settingBooleanRenderer:{itemId:0,enableServiceEndpoint:{setClientSettingEndpoint:{settingData:{clientSettingEnum:{item:151},boolValue:!0}}},disableServiceEndpoint:{setClientSettingEndpoint:{settingData:{clientSettingEnum:{item:151},boolValue:!1}}}}}))}),l.settingItems.push(_.create({backgroundPlayBackSettingRenderer:{backgroundPlayback:!0,download:!0,downloadQualitySelection:!0,smartDownload:!0,icon:{iconType:1093}}})),{bodyChanged:!0,stateChanged:!1}}function Vi(l,{params:e,state:t}){for(let n of l.contents)n.player&&Br(n.player,e.captionLang),n.next&&Ir(n.next,t.adCache);return{bodyChanged:l.contents.length>0,stateChanged:t.adCache.dirty}}function ri(l,{state:e,platformKey:t}){let n=l.responseContext?.globalConfigGroup?.hotConfigGroup?.mediaHotConfig?.onesieHotConfig;if(!n)return{bodyChanged:!1,stateChanged:!1};let i=n.clientKey,r=n.encryptKey;if(!i?.length||!r?.length)return console.log("\u5F02\u5E38\uFF1AhotConfig \u672A\u5305\u542B\u5B8C\u6574\u7684 onesie key"),{bodyChanged:!1,stateChanged:!1};let c=Q(i),o=Q(r),s=e.config[t];return s?.clientKey===c&&s?.encryptKey===o?{bodyChanged:!1,stateChanged:!1}:(e.config[t]={clientKey:c,encryptKey:o},{bodyChanged:!1,stateChanged:!0})}var Mi=[{path:"browse",msgType:qr,handler:Tr},{path:"next",msgType:re,handler:Tr},{path:"player",msgType:oe,handler:Ai},{path:"search",msgType:Yr,handler:Tr},{path:"reel_watch_sequence",msgType:zr,handler:Di},{path:"guide",msgType:Zr,handler:$i},{path:"get_setting",msgType:Qr,handler:ji},{path:"get_watch",msgType:ei,handler:Vi},{path:"config",msgType:kr,handler:ri},{path:"log_event",msgType:kr,handler:ri}];function ii(l){let e=Mi.find(r=>l.url.includes(r.path));if(!e)return null;if(l.bodyBytes==null)return{action:"exit",state:l.state,changed:!1};let t=e.msgType.fromBinary(l.bodyBytes),{bodyChanged:n,stateChanged:i}=e.handler(t,{params:l.params,state:l.state,platformKey:l.platformKey});return{action:n?"body":"exit",bodyBytes:n?e.msgType.toBinary(t):void 0,state:l.state,changed:i}}var uc=g(h(),1);var rc=g(h(),1);var ue=class{_times=new Map;name;isDebug;className;request;response;constructor(e,t,n){this.name=e??"",this.isDebug=n?.debug??!1,e&&this.debug(`${e} Start`),this.className=t??"",this.init()}static getInstance(e,t){let n="Surge";return typeof $loon<"u"?n="Loon":typeof $task<"u"&&(n="QuanX"),ue.instances[n]||(ue.instances[n]=ue.classNames[n](e,n,t)),ue.instances[n]}createProxy(e){return new Proxy(e,{get:this.getFn,set:this.setFn})}getFn(e,t,n){return e[t]}setFn(e,t,n,i){return e[t]=n,!0}getJSON(e,t={}){let n=this.getVal(e);return n?JSON.parse(n):t}setJSON(e,t){this.setVal(JSON.stringify(e),t)}msg(e=this.name,t="",n="",i){}debug(e){this.isDebug&&(typeof e=="object"&&(e=JSON.stringify(e)),console.log(e))}log(e){typeof e=="object"&&(e=JSON.stringify(e)),console.log(e)}timeStart(e){this._times.set(e,Date.now())}timeEnd(e){if(this._times.has(e)){let t=this._times.get(e)??0,n=Date.now()-t;this.debug(`${e}: ${n}ms`),this._times.delete(e)}else this.debug(`Timer with label ${e} does not exist.`)}exit(){$done({})}reject(){$done()}decodeParams(e){return e}},K=ue;pe(K,"instances",{}),pe(K,"classNames",{QuanX:(e,t,n)=>new je(e,t,n),Surge:(e,t,n)=>new we(e,t,n),Loon:(e,t,n)=>new Cr(e,t,n)});var Ve=class extends K{getFn(e,t,n){let i=Ve.clientAdapter[t]||t;return super.getFn(e,i,n)}setFn(e,t,n,i){let r=Ve.clientAdapter[t]||t;return super.setFn(e,r,n,i)}init(){try{this.request=this.createProxy($request),this.response=this.createProxy($response)}catch(e){this.debug(e.toString())}}getVal(e){return $persistentStore.read(e)}setVal(e,t){$persistentStore.write(e,t)}msg(e=this.name,t="",n="",i){let r={};i&&(r={action:{"open-url":i}}),$notification.post(e,t,n,r)}async fetch(e){return await new Promise((t,n)=>{let{method:i,body:r,bodyBytes:c,...o}=e,s=c??r,a=s instanceof Uint8Array;$httpClient[i.toLowerCase()]({...o,body:s,"binary-mode":a},(u,B,w)=>{u&&n(u);let b=a?"bodyBytes":"body";t({status:B.status??B.statusCode,headers:B.headers,[b]:w})})})}done(e){let t=e.response??e;t.bodyBytes&&(t.body=t.bodyBytes,delete t.bodyBytes),$done(e.response?{response:t}:t)}decodeParams(e){return typeof $argument=="string"&&!$argument.includes("{{{")&&Object.assign(e,JSON.parse($argument)),e}},we=Ve;pe(we,"clientAdapter",{bodyBytes:"body"});var G=class extends K{static transferBodyBytes(e,t){return e instanceof ArrayBuffer?t==="Uint8Array"?new Uint8Array(e):e:e instanceof Uint8Array&&t==="ArrayBuffer"?e.buffer.slice(e.byteOffset,e.byteLength+e.byteOffset):e}init(){try{this.request=this.createProxy($request),this.response=this.createProxy($response)}catch(e){this.debug(e.toString())}}getFn(e,t,n){let i=G.clientAdapter[t]||t,r=super.getFn(e,i,n);return t==="bodyBytes"&&(r=G.transferBodyBytes(r,"Uint8Array")),r}setFn(e,t,n,i){let r=G.clientAdapter[t]||t,c=n;return t==="bodyBytes"&&(c=G.transferBodyBytes(c,"Uint8Array")),super.setFn(e,r,c,i)}getVal(e){return $prefs.valueForKey(e)}setVal(e,t){$prefs.setValueForKey(e,t)}msg(e=this.name,t="",n="",i){$notify(e,t,n,{"open-url":i??""})}async fetch(e){return await new Promise(t=>{let n={url:"",method:"GET"};for(let[i,r]of Object.entries(e))i==="id"?n.sessionIndex=r:i==="bodyBytes"?n.bodyBytes=G.transferBodyBytes(r,"ArrayBuffer"):n[i]=r;e.bodyBytes&&delete n.body,$task.fetch(n).then(i=>{let r={status:200,headers:{}};for(let[c,o]of Object.entries(i))c==="sessionIndex"?r.id=o:c==="bodyBytes"?r.bodyBytes=G.transferBodyBytes(o,"Uint8Array"):c==="statusCode"?r.status=o:r[c]=o;t(r)})})}done(e){let t=e.response??e,n={};for(let[i,r]of Object.entries(t))i==="status"?n.status=`HTTP/1.1 ${r}`:i==="bodyBytes"?n.bodyBytes=G.transferBodyBytes(r,"ArrayBuffer"):n[i]=r;$done(n)}},je=G;pe(je,"clientAdapter",{id:"sessionIndex",status:"statusCode"});var Cr=class extends we{decodeParams(e){if(typeof $argument<"u")for(let t of Object.keys(e)){let n=$argument?.[t];n!==void 0&&(e[t]=n)}return e}};var oc=g(h(),1),fe={config:"YouTubeConfig",advertiseInfo:"YouTubeAdvertiseInfo"},xr={music:"youtubeMusic",video:"youtube"};var F=K.getInstance("YouTube");function vi(){return(F.request.headers["user-agent"]??F.request.headers["User-Agent"]).includes("music")}function Wr(){return vi()?xr.music:xr.video}var pc=g(h(),1);function ai(){return F.decodeParams({captionLang:"off",blockUpload:!0,blockImmersive:!0,blockShorts:!1})}var gc=g(h(),1);var oi="1.0";function Gi(){return{whiteNo:[],blackNo:[],whiteEml:[],blackEml:["inline_injection_entrypoint_layout.eml"],dirty:!1}}function si(){let l=F.getJSON(fe.advertiseInfo);return l?.version!==oi?Gi():{whiteNo:l.whiteNo,blackNo:l.blackNo,whiteEml:l.whiteEml,blackEml:l.blackEml,dirty:!1}}function li(l){if(!l.dirty)return;let{whiteNo:e,blackNo:t,whiteEml:n,blackEml:i}=l,r={version:oi,whiteNo:e,blackNo:t,whiteEml:n,blackEml:i};F.setJSON(r,fe.advertiseInfo)}var wc=g(h(),1);function ci(){return F.getJSON(fe.config)??{}}function ui(l){F.debug(`saveKeyConfig: ${JSON.stringify(l)}`),F.setJSON(l,fe.config)}function Ki(){let l={adCache:si(),config:ci()},e=ii({url:F.request.url,bodyBytes:F.response.bodyBytes,state:l,params:ai(),platformKey:Wr()});if(e==null){F.msg("YouTube Enhance","\u811A\u672C\u9700\u8981\u66F4\u65B0","\u5916\u90E8\u8D44\u6E90 -> \u5168\u90E8\u66F4\u65B0"),F.exit();return}e.changed&&(li(e.state.adCache),ui(e.state.config)),e.action==="body"&&e.bodyBytes?F.done({bodyBytes:e.bodyBytes}):F.exit()}try{Ki()}catch(l){console.log(String(l)),F.exit()}})();